aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES385
-rw-r--r--COMPAT48
-rw-r--r--CWRU/changelog1487
-rw-r--r--CWRU/misc/sigs.c4
-rw-r--r--INSTALL4
-rw-r--r--MANIFEST44
-rw-r--r--Makefile.in35
-rw-r--r--NEWS96
-rw-r--r--POSIX87
-rw-r--r--README18
-rw-r--r--aclocal.m452
-rw-r--r--alias.c6
-rw-r--r--arrayfunc.c83
-rw-r--r--arrayfunc.h11
-rw-r--r--autom4te.cache/output.031473
-rw-r--r--autom4te.cache/requests67
-rw-r--r--autom4te.cache/traces.02515
-rw-r--r--bashhist.c19
-rw-r--r--bashline.c85
-rw-r--r--braces.c20
-rw-r--r--builtins/Makefile.in1
-rw-r--r--builtins/cd.def43
-rw-r--r--builtins/common.c6
-rw-r--r--builtins/common.h2
-rw-r--r--builtins/complete.def4
-rw-r--r--builtins/declare.def26
-rw-r--r--builtins/evalfile.c7
-rw-r--r--builtins/evalstring.c8
-rw-r--r--builtins/exec.def28
-rw-r--r--builtins/fc.def14
-rw-r--r--builtins/getopts.def4
-rw-r--r--builtins/hash.def9
-rw-r--r--builtins/help.def8
-rw-r--r--builtins/kill.def6
-rw-r--r--builtins/let.def2
-rw-r--r--builtins/mapfile.def29
-rw-r--r--builtins/mkbuiltins.c11
-rw-r--r--builtins/printf.def147
-rw-r--r--builtins/read.def22
-rw-r--r--builtins/set.def5
-rw-r--r--builtins/setattr.def8
-rw-r--r--builtins/shopt.def6
-rw-r--r--builtins/source.def7
-rw-r--r--builtins/test.def8
-rw-r--r--builtins/trap.def36
-rw-r--r--builtins/ulimit.def6
-rw-r--r--command.h5
-rw-r--r--config.h26
-rw-r--r--config.h.in26
-rwxr-xr-xconfigure886
-rw-r--r--configure.in21
-rw-r--r--configure.in.bash401145
-rw-r--r--configure.in.orig1145
-rw-r--r--configure.in.save1145
-rw-r--r--doc/FAQ126
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/bash.02358
-rw-r--r--doc/bash.1580
-rw-r--r--doc/bash.html597
-rw-r--r--doc/bash.pdfbin288296 -> 296259 bytes
-rw-r--r--doc/bash.ps11648
-rw-r--r--doc/bashref.dvibin663456 -> 680368 bytes
-rw-r--r--doc/bashref.html5315
-rw-r--r--doc/bashref.info1164
-rw-r--r--doc/bashref.pdfbin559434 -> 570072 bytes
-rw-r--r--doc/bashref.ps13391
-rw-r--r--doc/bashref.texi398
-rw-r--r--doc/builtins.0704
-rw-r--r--doc/builtins.ps3329
-rw-r--r--doc/rbash.04
-rw-r--r--doc/rbash.ps12
-rw-r--r--doc/version.texi12
-rw-r--r--examples/scripts/bash-hexdump.sh67
-rw-r--r--examples/scripts/timeout383
-rw-r--r--examples/startup-files/bashrc7
-rw-r--r--execute_cmd.c252
-rw-r--r--expr.c178
-rw-r--r--externs.h35
-rw-r--r--findcmd.c9
-rw-r--r--general.c26
-rw-r--r--general.h6
-rw-r--r--include/chartypes.h2
-rw-r--r--include/filecntl.h8
-rw-r--r--include/shmbchar.h353
-rw-r--r--include/shmbutil.h84
-rw-r--r--include/typemax.h15
-rw-r--r--input.c37
-rw-r--r--input.h1
-rw-r--r--jobs.c64
-rw-r--r--jobs.h5
-rw-r--r--lib/glob/Android.mk3
-rw-r--r--lib/glob/Makefile.in11
-rw-r--r--lib/glob/gmisc.c314
-rw-r--r--lib/glob/smatch.c16
-rw-r--r--lib/glob/xmbsrtowcs.c106
-rw-r--r--lib/malloc/Makefile.in1
-rw-r--r--lib/readline/Makefile.in11
-rw-r--r--lib/readline/bind.c28
-rw-r--r--lib/readline/callback.c9
-rw-r--r--lib/readline/complete.c260
-rw-r--r--lib/readline/doc/history.texi2
-rw-r--r--lib/readline/doc/hstech.texi6
-rw-r--r--lib/readline/doc/hsuser.texi13
-rw-r--r--lib/readline/doc/rlman.texi2
-rw-r--r--lib/readline/doc/rltech.texi21
-rw-r--r--lib/readline/doc/rluser.texi86
-rw-r--r--lib/readline/doc/rluserman.texi2
-rw-r--r--lib/readline/doc/version.texi12
-rw-r--r--lib/readline/funmap.c7
-rw-r--r--lib/readline/histexpand.c121
-rw-r--r--lib/readline/histfile.c17
-rw-r--r--lib/readline/history.c2
-rw-r--r--lib/readline/input.c14
-rw-r--r--lib/readline/isearch.c35
-rw-r--r--lib/readline/keymaps.c6
-rw-r--r--lib/readline/keymaps.h5
-rw-r--r--lib/readline/kill.c6
-rw-r--r--lib/readline/misc.c8
-rw-r--r--lib/readline/nls.c2
-rw-r--r--lib/readline/readline.c6
-rw-r--r--lib/readline/readline.h70
-rw-r--r--lib/readline/rlprivate.h35
-rw-r--r--lib/readline/rltty.c4
-rw-r--r--lib/readline/savestring.c6
-rw-r--r--lib/readline/search.c2
-rw-r--r--lib/readline/shell.c4
-rw-r--r--lib/readline/signals.c1
-rw-r--r--lib/readline/terminal.c6
-rw-r--r--lib/readline/text.c65
-rw-r--r--lib/readline/tilde.c4
-rw-r--r--lib/readline/util.c51
-rw-r--r--lib/readline/vi_mode.c558
-rw-r--r--lib/readline/xfree.c50
-rw-r--r--lib/readline/xmalloc.c10
-rw-r--r--lib/sh/Android.mk3
-rw-r--r--lib/sh/Makefile.in26
-rw-r--r--lib/sh/casemod.c7
-rw-r--r--lib/sh/dprintf.c70
-rw-r--r--lib/sh/eaccess.c25
-rw-r--r--lib/sh/fnxform.c4
-rw-r--r--lib/sh/fpurge.c96
-rw-r--r--lib/sh/oslib.c9
-rw-r--r--lib/sh/shmatch.c2
-rw-r--r--lib/sh/shmbchar.c92
-rw-r--r--lib/sh/shquote.c10
-rw-r--r--lib/sh/snprintf.c2
-rw-r--r--lib/sh/strchrnul.c144
-rw-r--r--lib/sh/strftime.c49
-rw-r--r--lib/sh/strtrans.c34
-rw-r--r--lib/sh/tmpfile.c2
-rw-r--r--lib/sh/unicode.c235
-rw-r--r--lib/sh/wcswidth.c46
-rw-r--r--lib/tilde/tilde.c4
-rw-r--r--locale.c2
-rw-r--r--nojobs.c5
-rw-r--r--parse.y273
-rw-r--r--parser-built102
-rw-r--r--parser.h12
-rw-r--r--patchlevel.h4
-rw-r--r--patchlevel.h.rej13
-rw-r--r--patchlevel.h~30
-rw-r--r--pathexp.c29
-rw-r--r--pcomplete.h1
-rw-r--r--pcomplib.c3
-rw-r--r--po/LINGUAS2
-rw-r--r--po/af.gmobin1231 -> 1231 bytes
-rw-r--r--po/af.po611
-rw-r--r--po/bash.pot611
-rw-r--r--po/bg.gmobin34844 -> 34844 bytes
-rw-r--r--po/bg.po611
-rw-r--r--po/ca.gmobin9819 -> 9819 bytes
-rw-r--r--po/ca.po611
-rw-r--r--po/cs.gmobin152764 -> 134220 bytes
-rw-r--r--po/cs.po799
-rw-r--r--po/de.gmobin45438 -> 45776 bytes
-rw-r--r--po/de.po774
-rw-r--r--po/en@boldquot.gmobin159145 -> 161163 bytes
-rw-r--r--po/en@boldquot.po679
-rw-r--r--po/en@quot.gmobin157609 -> 159611 bytes
-rw-r--r--po/en@quot.po679
-rw-r--r--po/eo.gmobin141873 -> 116790 bytes
-rw-r--r--po/eo.po626
-rw-r--r--po/es.gmobin151298 -> 133409 bytes
-rw-r--r--po/es.po772
-rw-r--r--po/et.gmobin12257 -> 12257 bytes
-rw-r--r--po/et.po611
-rw-r--r--po/fi.gmobin147540 -> 120517 bytes
-rw-r--r--po/fi.po626
-rw-r--r--po/fr.gmobin26542 -> 138545 bytes
-rw-r--r--po/fr.po3034
-rw-r--r--po/ga.gmobin62686 -> 62011 bytes
-rw-r--r--po/ga.po619
-rw-r--r--po/hu.gmobin9311 -> 134317 bytes
-rw-r--r--po/hu.po5505
-rw-r--r--po/id.gmobin149543 -> 131500 bytes
-rw-r--r--po/id.po763
-rw-r--r--po/ja.gmobin8183 -> 145905 bytes
-rw-r--r--po/ja.po3432
-rw-r--r--po/lt.gmobin30754 -> 30079 bytes
-rw-r--r--po/lt.po619
-rw-r--r--po/nl.gmobin150781 -> 131870 bytes
-rw-r--r--po/nl.po1068
-rw-r--r--po/pl.gmobin24983 -> 24983 bytes
-rw-r--r--po/pl.po613
-rw-r--r--po/pt_BR.gmobin9658 -> 9658 bytes
-rw-r--r--po/pt_BR.po611
-rw-r--r--po/ro.gmobin9415 -> 9415 bytes
-rw-r--r--po/ro.po611
-rw-r--r--po/ru.gmobin9142 -> 9142 bytes
-rw-r--r--po/ru.po611
-rw-r--r--po/sk.gmobin150575 -> 132621 bytes
-rw-r--r--po/sk.po789
-rw-r--r--po/sv.gmobin146044 -> 128852 bytes
-rw-r--r--po/sv.po783
-rw-r--r--po/tr.gmobin24589 -> 24589 bytes
-rw-r--r--po/tr.po613
-rw-r--r--po/uk.gmobin0 -> 138956 bytes
-rw-r--r--po/uk.po5571
-rw-r--r--po/vi.gmobin161257 -> 142862 bytes
-rw-r--r--po/vi.po777
-rw-r--r--po/zh_CN.gmobin0 -> 123267 bytes
-rw-r--r--po/zh_CN.po5316
-rw-r--r--po/zh_TW.gmobin5993 -> 5993 bytes
-rw-r--r--po/zh_TW.po611
-rw-r--r--print_cmd.c23
-rw-r--r--redir.c85
-rw-r--r--shell.c30
-rw-r--r--shell.h4
-rw-r--r--sig.c39
-rw-r--r--subst.c784
-rw-r--r--subst.h32
-rw-r--r--support/signames.c18
-rw-r--r--test.c9
-rw-r--r--tests/arith.right22
-rw-r--r--tests/arith.tests5
-rw-r--r--tests/arith3.sub45
-rw-r--r--tests/arith4.sub10
-rw-r--r--tests/array.right29
-rw-r--r--tests/array.tests2
-rw-r--r--tests/array10.sub52
-rw-r--r--tests/braces.right1
-rw-r--r--tests/braces.tests3
-rw-r--r--tests/builtins.right5
-rw-r--r--tests/builtins.tests3
-rw-r--r--tests/builtins3.sub14
-rw-r--r--tests/comsub-posix.right16
-rw-r--r--tests/comsub-posix.tests12
-rw-r--r--tests/comsub-posix2.sub16
-rw-r--r--tests/comsub-posix3.sub22
-rw-r--r--tests/errors.right6
-rw-r--r--tests/exec.right13
-rw-r--r--tests/exec9.sub20
-rw-r--r--tests/execscript12
-rw-r--r--tests/exp.right4
-rw-r--r--tests/exp.tests2
-rw-r--r--tests/exp4.sub10
-rw-r--r--tests/func.right13
-rw-r--r--tests/func.tests3
-rw-r--r--tests/func4.sub39
-rw-r--r--tests/histexp.tests2
-rw-r--r--tests/history.right4
-rw-r--r--tests/intl.right8
-rw-r--r--tests/intl.tests6
-rw-r--r--tests/intl2.sub11
-rw-r--r--tests/lastpipe.right10
-rw-r--r--tests/lastpipe.tests58
-rw-r--r--tests/lastpipe1.sub5
-rw-r--r--tests/mapfile.right80
-rw-r--r--tests/new-exp.right38
-rw-r--r--tests/new-exp.tests6
-rw-r--r--tests/new-exp8.sub95
-rw-r--r--tests/posixexp.right41
-rw-r--r--tests/posixexp.tests77
-rw-r--r--tests/posixexp1.sub30
-rw-r--r--tests/posixexp2.right40
-rw-r--r--tests/posixexp2.sub21
-rw-r--r--tests/posixexp2.tests47
-rw-r--r--tests/posixpipe.right41
-rw-r--r--tests/posixpipe.tests43
-rw-r--r--tests/printf.rightbin1510 -> 3079 bytes
-rw-r--r--tests/printf.tests5
-rw-r--r--tests/printf1.sub335
-rw-r--r--tests/printf3.sub53
-rw-r--r--tests/read.right2
-rw-r--r--tests/read5.sub3
-rw-r--r--tests/rsh.right2
-rw-r--r--tests/run-lastpipe2
-rw-r--r--tests/run-minimal2
-rw-r--r--tests/run-posixexp2
-rw-r--r--tests/run-posixexp22
-rw-r--r--tests/run-posixpipe2
-rw-r--r--tests/shopt.right6
-rw-r--r--tests/test.right8
-rw-r--r--tests/test.tests12
-rw-r--r--tests/trap.right1
-rw-r--r--tests/trap.tests1
-rw-r--r--tests/type.right16
-rw-r--r--tests/type.tests2
-rw-r--r--tests/type3.sub18
-rw-r--r--tests/vredir.right6
-rw-r--r--tests/vredir.tests2
-rw-r--r--tests/vredir6.sub14
-rw-r--r--trap.c74
-rw-r--r--trap.h10
-rw-r--r--unwind_prot.c33
-rw-r--r--variables.c147
-rw-r--r--variables.h8
-rw-r--r--version.c4
-rw-r--r--y.tab.c1460
-rw-r--r--y.tab.h102
310 files changed, 95563 insertions, 34390 deletions
diff --git a/CHANGES b/CHANGES
index 359e10d..84e1dbd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,388 @@
+This document details the changes between this version, bash-4.2-release,
+and the previous version, bash-4.2-rc2.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused some variables to be clobbered by a longjmp,
+ resulting in stack corruption.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-rc2,
+and the previous version, bash-4.2-rc1.
+
+1. Changes to Bash
+
+a. Changes to bash_directory_completion_hook so that it's assigned to the
+ readline rl_directory_rewrite_hook variable, which modifies the directory
+ name passed to opendir without modifying the directory name the user
+ typed.
+
+b. Fixed bug in select builtin that caused it to not terminate correctly if
+ the read timed out due to $TMOUT.
+
+c. Fixed a problem that resulted in non-repeatable sequences of random
+ numbers when RANDOM=0.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-rc1,
+and the previous version, bash-4.2-beta.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused some redirection errors to leak file descriptors.
+
+b. Fixed a bug that caused unary `+' and `-' arithmetic operators to have a
+ higher precedence than unary `!' and `~'.
+
+c. Fixed a bug that caused simple commands in a pipeline to affect the exit
+ status ($?) seen by subsequent pipeline commands.
+
+d. A number of cygwin-specific changes to avoid the use of text-mode files
+ and file access, and to make sure that \r is handled correctly.
+
+e. Fixed a bug that caused the read builtin to not return failure if an
+ attempt is made to assign to a readonly variable.
+
+f. Fixed a bug that caused some builtin usage messages to not be translated.
+
+g. Fixed a bug that caused the getopts builtin to not return failure if an
+ attempt is made to assign to a readonly variable. Now it returns 2.
+
+h. Fixed the cd and pwd builtins to return failure if PWD is readonly and
+ cannot be assigned to.
+
+i. Added code to check the return value of access(2) on Solaris systems,
+ since it returns success for executable tests (e.g., `test -x') when
+ run by root, even if the file permissions don't allow execution.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused directory names in words to be completed to not
+ be dequoted correctly.
+
+3. New Features in Bash
+
+4. New Features in Readline
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-beta,
+and the previous version, bash-4.2-alpha.
+
+1. Changes to Bash
+
+a. Fixed a bug that caused the \W prompt string escape to not add a closing
+ NULL.
+
+b. Fixed a bug that caused partially-quoted words that were not subject to
+ word splitting to retained quoted NULLs.
+
+c. Added considerable efficiency speedups when pattern matching in multibyte
+ locales by skipping multibyte character functions where possible.
+
+d. Added considerable speedups to variable expansion when in multibyte locales.
+
+e. Fixed a bug that caused the expansion of $* when there are no positional
+ parameters to cause the shell to dump core when used in a pattern
+ matching context.
+
+f. Fixed a bug that caused variable expansions preceding regular builtins to
+ not change the shell environment during their execution.
+
+2. Changes to Readline
+
+a. Fixed a bug that made an explicit argument of 0 to yank-last-arg behave
+ as if it were a negative argument.
+
+------------------------------------------------------------------------------
+This document details the changes between this version, bash-4.2-alpha,
+and the previous version, bash-4.1-release.
+
+1. Changes to Bash
+
+a. Fixed a bug in the parser when processing alias expansions containing
+ quoted newlines.
+
+b. Fixed a memory leak in associative array expansion.
+
+c. Fixed a bug that caused quoted here-strings to be requoted when printed.
+
+d. Fixed a bug in arithmetic expansion that caused the index in an array
+ expansion to be evaluated twice under certain circumstances.
+
+e. Fixed several bugs with the expansion and display of variables that have
+ been given attributes but not values and are technically unset.
+
+f. Fixed a bug that caused core dumps when using filename completion that
+ expands to a filename containing a globbing character.
+
+g. Fixed a bug that caused assignment statements preceding a special builtin
+ when running in Posix mode to not persist after the builtin completed
+ when the special builtin was executed in a shell function without any
+ local variables.
+
+h. Fixed a bug that caused a command to remain in the hash table even after
+ `hash command' did not find anything if there was already an existing
+ hashed pathname.
+
+i. Fixed several bugs caused by executing unsafe functions from a signal
+ handler in the cases where a signal handler is executed immediately
+ rather than setting a flag for later execution.
+
+j. Fixed a bug that caused some internal flag variables to be set
+ incorrectly if `read -t' timed out.
+
+k. Fixed a Posix compatibility issue by making sure that a backslash escaping
+ a `}' within a double-quoted ${...} parameter expansion is removed as part
+ of the parameter expansion.
+
+l. Fixed a bug that caused execution of a trap to overwrite PIPESTATUS.
+
+m. Fixed a bug that caused here documents to not be displayed correctly
+ when attached to commands inside compound commands.
+
+n. Fixed a bug that caused the printf builtin to use the wrong precision
+ when using the `*' modifier.
+
+o. Fixed a bug that caused an arriving SIGCHLD to interrupt output functions
+ like those invoked by echo or printf.
+
+p. Changed to use a more robust mechanism than eaccess(2) when test is
+ checking filenames for execution permission.
+
+q. Fixed a bug that caused spurious semicolons to be added into the command
+ history in certain cases.
+
+r. Fixed a bug that caused the shell to free non-allocated memory when
+ unsetting element 0 of an associative array after it was assigned
+ implicitly.
+
+s. Fixed a bug that could cause the shell to dump core if using the `v'
+ vi editing command on a multi-line command.
+
+t. Fixed a bug that left FIFOs opened by process substitutions open long
+ enough to potentially cause file descriptor exhaustion when running a
+ shell function or shell builtin.
+
+u. Fixed a bug that caused the history expansion functions to not recognize
+ process substitution or extended glob patterns as single words.
+
+v. Fixed a bug that caused restricted shells to set a restricted command's
+ exit status incorrectly.
+
+w. Fixed a bug that caused bash to ignore the wrong set of filenames when
+ completing a command using the `complete-filename' readline command.
+
+x. Fixed a bug that caused a -PID argument following a -s sig or -n sig to
+ not be interpreted as a signal specification.
+
+y. Changed posix-mode behavior of a parse error in a `.' script or `eval'
+ command to exit the shell under Posix-specified conditions. Previous
+ versions printed a warning.
+
+z. Fixed a bug in \W prompt expansion that resulted in incorrect expansion
+ in the event of overlapping strings.
+
+aa. Fixed a bug that caused the := parameter expansion operator to return the
+ wrong value as the result of the expansion.
+
+bb. When in Posix mode, a single quote is not treated specially in a
+ double-quoted ${...} expansion, unless the expansion operator is
+ # or % or the non-Posix `//', `^', and `,'. In particular, it does
+ not define a new quoting context. This is from Posix interpretation 221.
+
+cc. Fixed a bug that inadvertently allowed program names containing slashes
+ to be entered into the command hash table.
+
+dd. Fixed a bug that caused the select builtin to incorrectly compute the
+ display width of the arguments in the presence of multibyte characters.
+
+ee. Fixed a bug that caused bash to not change the xtrace file descriptor if
+ BASH_XTRACEFD was found in the shell environment at startup.
+
+ff. Fixed a memory leak in the pattern removal parameter expansion.
+
+gg. Fixed a bug that caused SIGINT to fail to interrupt a nested loop if the
+ loop was in a pipeline.
+
+hh. Fixed a problem in $(...) parsing that caused the parser to add an extra
+ space to a here-document delimiter if the first word contained a `/'.
+
+ii. Fixed a bug that caused functions defined with the `function' reserved
+ word to require braces around the function body.
+
+jj. Fixed a bug that caused bash to dump core when a variable expansion being
+ used as an array subscript failed.
+
+kk. Fixed a bug that caused bash to dump core if the case-modification
+ expansions were used on a variable with a null value.
+
+ll. Fixed a bug that caused partially-quoted strings to be split incorrectly
+ if a variable with a null value was expanded within double quotes.
+
+mm. The pattern substitution word expansion has been sped up dramatically
+ when running in a locale with multibyte characters.
+
+nn. Fixed a bug that caused history -a to not write the correct lines to
+ the history file if all the new lines in the history list were added
+ since the last time the history file was read or written.
+
+oo. Fixed a bug that caused completion of a word with an unclosed `` command
+ substitution to set the prompt incorrectly.
+
+pp. Fixed a bug that caused extended globbing patterns in $HISTIGNORE or
+ $GLOBIGNORE to be incorrectly scanned.
+
+qq. Fixed a bug caused by closing file descriptors 3-20 on shell startup. The
+ shell now sets them to close-on-exec.
+
+rr. Fixed a bug that caused the exit status of `exec file' to be set incorrectly
+ if `file' was a directory.
+
+ss. Fixed a bug in the `.' builtin to make a non-interactive posix-mode shell
+ exit if the file argument to `.' is not found. Prefixing exec with
+ `command' makes the shell not exit. Posix requires this behavior.
+
+tt. Fixed a bug that caused `sh -c 'command exec; exit 1' to hang.
+
+uu. Fixed a bug in $(...) command substitution parsing that caused the shell
+ to treat backslash-newline incorrectly when parsing a comment.
+
+vv. Fixed bug that caused brace expansion sequence generation to misbehave
+ when supplied integers greater than 2**31 - 1.
+
+ww. Fixed a bug that caused failure to save file descriptors for redirections
+ to corrupt shell file descriptors.
+
+xx. Fixed a bug that caused bash-forward-shellword to not correctly handle
+ quoted strings.
+
+2. Changes to Readline
+
+a. Fixed a bug that caused the unconverted filename to be added to the list of
+ completions when the application specified filename conversion functions.
+
+b. Fixed a bug that caused the wrong filename to be passed to opendir when the
+ application has specified a filename dequoting function.
+
+c. Fixed a bug when repeating a character search in vi mode in the case where
+ there was no search to repeat.
+
+d. When show-all-if-ambiguous is set, the completion routines no longer insert
+ a common match prefix that is shorter than the text being completed.
+
+e. The full set of vi editing commands may now be used in callback mode.
+
+f. Fixed a bug that caused readline to not update its idea of the terminal
+ dimensions while running in `no-echo' mode.
+
+h. Fixed a bug that caused readline to dump core if an application called
+ rl_prep_terminal without setting rl_instream.
+
+i. Fixed a bug that caused meta-prefixed characters bound to incremental
+ search forward or backward to not be recognized if they were typed
+ subsequently.
+
+j. The incremental search code treats key sequences that map to the same
+ functions as (default) ^G, ^W, and ^Y as equivalent to those characters.
+
+k. Fixed a bug in menu-complete that caused it to misbehave with large
+ negative argument.
+
+l. Fixed a bug that caused vi-mode yank-last-arg to ring the bell when invoked
+ at the end of the line.
+
+3. New Features in Bash
+
+a. `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+ leading #!.
+
+b. Subshells begun to execute command substitutions or run shell functions or
+ builtins in subshells do not reset trap strings until a new trap is
+ specified. This allows $(trap) to display the caller's traps and the
+ trap strings to persist until a new trap is set.
+
+c. `trap -p' will now show signals ignored at shell startup, though their
+ disposition still cannot be modified.
+
+d. $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e. declare/typeset has a new `-g' option, which creates variables in the
+ global scope even when run in a shell function.
+
+f. test/[/[[ have a new -v variable unary operator, which returns success if
+ `variable' has been set.
+
+g. Posix parsing changes to allow `! time command' and multiple consecutive
+ instances of `!' (which toggle) and `time' (which have no cumulative
+ effect).
+
+h. Posix change to allow `time' as a command by itself to print the elapsed
+ user, system, and real times for the shell and its children.
+
+j. $((...)) is always parsed as an arithmetic expansion first, instead of as
+ a potential nested command substitution, as Posix requires.
+
+k. A new FUNCNEST variable to allow the user to control the maximum shell
+ function nesting (recursive execution) level.
+
+l. The mapfile builtin now supplies a third argument to the callback command:
+ the line about to be assigned to the supplied array index.
+
+m. The printf builtin has a new %(fmt)T specifier, which allows time values
+ to use strftime-like formatting.
+
+n. There is a new `compat41' shell option.
+
+o. The cd builtin has a new Posix-mandated `-e' option.
+
+p. Negative subscripts to indexed arrays, previously errors, now are treated
+ as offsets from the maximum assigned index + 1.
+
+q. Negative length specifications in the ${var:offset:length} expansion,
+ previously errors, are now treated as offsets from the end of the variable.
+
+r. Parsing change to allow `time -p --'.
+
+s. Posix-mode parsing change to not recognize `time' as a keyword if the
+ following token begins with a `-'. This means no more Posix-mode
+ `time -p'. Posix interpretation 267.
+
+t. There is a new `lastpipe' shell option that runs the last command of a
+ pipeline in the current shell context. The lastpipe option has no
+ effect if job control is enabled.
+
+u. History expansion no longer expands the `$!' variable expansion.
+
+v. Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
+w. Non-interactive mode shells exit if -u is enabled and an attempt is made
+ to use an unset variable with the % or # expansions, the `//', `^', or
+ `,' expansions, or the parameter length expansion.
+
+x. Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+ fails, effectively searching the current directory. Posix-2008 change.
+
+4. New Features in Readline
+
+a. The history library does not try to write the history filename in the
+ current directory if $HOME is unset. This closes a potential security
+ problem if the application does not specify a history filename.
+
+b. New bindable variable `completion-display-width' to set the number of
+ columns used when displaying completions.
+
+c. New bindable variable `completion-case-map' to cause case-insensitive
+ completion to treat `-' and `_' as identical.
+
+d. There are new bindable vi-mode command names to avoid readline's case-
+ insensitive matching not allowing them to be bound separately.
+
+e. New bindable variable `menu-complete-display-prefix' causes the menu
+ completion code to display the common prefix of the possible completions
+ before cycling through the list, instead of after.
+
+------------------------------------------------------------------------------
This document details the changes between this version, bash-4.1-rc,
and the previous version, bash-4.1-beta.
diff --git a/COMPAT b/COMPAT
index 3210cca..5b63b9c 100644
--- a/COMPAT
+++ b/COMPAT
@@ -295,7 +295,8 @@ version and versions 2.0 and above.
37. Bash-4.0 now allows SIGCHLD to interrupt the wait builtin, as Posix
specifies, so the SIGCHLD trap is no longer always invoked once per
- exiting child if you are using `wait' to wait for all children.
+ exiting child if you are using `wait' to wait for all children. As
+ of bash-4.2, this is the status quo only when in posix mode.
38. Since bash-4.0 now follows Posix rules for finding the closing delimiter
of a $() command substitution, it will not behave as previous versions
@@ -330,35 +331,58 @@ version and versions 2.0 and above.
44. Bash-4.1 uses the current locale when comparing strings using the < and
> operators to the `[[' command. This can be reverted to the previous
- behavior by setting one of the `compatNN' shopt options.
+ behavior (ASCII collating and strcmp(3)) by setting one of the
+ `compatNN' shopt options, where NN is less than 41.
+
+45. Command substitutions now remove the caller's trap strings when trap is
+ run to set a new trap in the subshell. Previous to bash-4.2, the old
+ trap strings persisted even though the actual signal handlers were reset.
+
+46. When in Posix mode, a single quote is not treated specially in a
+ double-quoted ${...} expansion, unless the expansion operator is
+ # or % or the new `//', `^', or `,' expansions. In particular, it
+ does not define a new quoting context. This is from Posix interpretation
+ 221.
+
+47. Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
Shell Compatibility Level
=========================
Bash-4.0 introduced the concept of a `shell compatibility level', specified
-as a set of options to the shopt builtin (compat31, compat32, compat40 at
-this writing). There is only one current compatibility level -- each
-option is mutually exclusive. This list does not mention behavior that is
-standard for a particular version (e.g., setting compat32 means that quoting
-the rhs of the regexp matching operator quotes special regexp characters in
-the word, which is default behavior in bash-3.2 and above).
+as a set of options to the shopt builtin (compat31, compat32, compat40, and
+compat41 at this writing). There is only one current compatibility level --
+each option is mutually exclusive. This list does not mention behavior
+that is standard for a particular version (e.g., setting compat32 means that
+quoting the rhs of the regexp matching operator quotes special regexp
+characters in the word, which is default behavior in bash-3.2 and above).
compat31 set
- the < and > operators to the [[ command do not consider the current
- locale when comparing strings
+ locale when comparing strings; they use ASCII ordering
- quoting the rhs of the regexp matching operator (=~) has no
special effect
compat32 set
- the < and > operators to the [[ command do not consider the current
- locale when comparing strings
+ locale when comparing strings; they use ASCII ordering
compat40 set
- the < and > operators to the [[ command do not consider the current
- locale when comparing strings
+ locale when comparing strings; they use ASCII ordering
- interrupting a command list such as "a ; b ; c" causes the execution
- of the entire list to be aborted
+ of the entire list to be aborted (in versions before bash-4.0,
+ interrupting one command in a list caused the next to be executed)
+compat41 set
+ - interrupting a command list such as "a ; b ; c" causes the execution
+ of the entire list to be aborted (in versions before bash-4.0,
+ interrupting one command in a list caused the next to be executed)
+ - when in posix mode, single quotes in the `word' portion of a
+ double-quoted parameter expansion define a new quoting context and
+ are treated specially
-------------------------------------------------------------------------------
Copying and distribution of this file, with or without modification,
diff --git a/CWRU/changelog b/CWRU/changelog
index 085fdbd..bcc6657 100644
--- a/CWRU/changelog
+++ b/CWRU/changelog
@@ -6088,7 +6088,8 @@ lib/readline/complete.c
- new variable, rl_menu_completion_entry_function, generator for
rl_menu_complete
- new menu completion `browsing' implementation, with several
- improvements over the old code. Inspired by Sami
+ improvements over the old code. Inspired by Sami Pietila
+ <sami.pietila@gmail.com>
lib/readline/readline.h
- extern declaration for rl_menu_completion_entry_function
@@ -9324,3 +9325,1487 @@ doc/bash.1
<doko@debian.org>
[bash-4.1 frozen]
+
+ 12/31
+ -----
+[bash-4.1 released]
+
+ 1/5/2010
+ --------
+doc/bashref.texi
+ - document compat32 and compat40 shopt options. Omission pointed out
+ by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>
+
+ 1/6
+ ---
+lib/readline/complete.c
+ - use `convfn' (converted filename) instead of entry->d_name (filename
+ read from file system) when adding partial or full completions to
+ the command line. Bug and fix from Guillaume Outters
+ <guillaume.outters@free.fr>
+
+ 1/7
+ ---
+builtins/printf.def
+ - fix prototype in extern declaration for vsnprintf. Fix for bug
+ reported by Yann Rouillard <yann@pleiades.fr.eu.org>
+
+ 1/9
+ ---
+parse.y
+ - fix shell_getc to handle alias expansions containing quoted
+ newlines. Problems in bash-4.1 with aliases containing quoted
+ newlines in the middle of and at the end of their expansion.
+ Fix for bug reported by Jonathan Claggett
+ <jonathan@claggett.org>
+ - change mk_alexpansion to not append a space to an alias
+ expansion ending with a newline. Works with shell_getc
+
+ 1/11
+ ----
+lib/glob/Makefile.in
+ - add dependencies on shell.h and pathnames.h. From Mike Frysinger
+ <vapier@gentoo.org>
+
+ 1/15
+ ----
+doc/{bash.1,{bashref,version}.texi},lib/readine/doc/rluser.texi
+ - some typo fixes from Aharon Robbins <arnold@skeeve.com>
+ - added descriptions of ENV, COPROC, and MAPFILE variables
+ - added descriptions of READLINE_LINE and READLINE_POINT
+
+ 1/21
+ ----
+arrayfunc.c
+ - free `akey', the word-expanded index into the assoc array to avoid
+ mem leak in array_value_internal
+ - free index into assoc array in unbind_array_element
+ - change array_value_internal to take an additional argument: an
+ arrayind_t *. If not null, an index to an indexed array is
+ returned there. If not an indexed array or subscript is @ or
+ *, the value is unchanged
+
+ 1/22
+ ----
+builtins/ulimit.def
+ - include <ulimit.h> if we found it during configure and we don't
+ have resources. Fixes omission reported by Joachim Schmitz
+ <jojo@schmitz-digital.de>
+
+{configure,config.h}.in
+ - check for <ulimit.h>, define HAVE_ULIMIT_H if found
+
+lib/sh/oslib.c
+ - include <signal.h> for extern declaration for kill(2) if
+ HAVE_KILLPG not defined
+
+jobs.c
+ - if HAVE_KILLPG is not defined, add an extern prototype decl for
+ killpg()
+
+ 1/24
+ ----
+print_cmd.c
+ - when printing here-string redirections, don't quote the string. The
+ original quotes, if any, are still in place and don't need to be
+ requoted. Fixes bug reported by Arfrever Frehtes Taifersar Arahesis
+ <arfrever.fta@gmail.com>
+
+subst.c
+ - fix array_length_reference to return 0 for variables that have not
+ been assigned a value. Fixes bug reported by Mart Frauenlab
+ <mart.frauenlob@chello.at>, but is not backwards compatible
+
+arrayfunc.[ch]
+ - change array_value to take a new arrayind_t *indp parameter like
+ get_array_value; changed extern prototype declaration
+
+subst.c
+ - changed callers of array_value to add extra parameter
+
+expr.c
+ - change expr_streval to set a new `lvalue' parameter with information
+ about the string being evaluated: string, value, array index (if
+ any), variable evaluated (if set).
+ - saving and restoring current context now saves and restores the
+ current `lvalue'
+ - new function expr_bind_array_element, binds an array element with an
+ already-computed index to a specified value
+ - anywhere we set the current token to a string (STR), save and set
+ the current lvalue
+ - change calls to expr_bind_variable to check whether or not the
+ current lvalue indicates an indexed array was evaluated, and, if so,
+ call expr_bind_array_element using the already-computed index
+ (curlval.ind). Fixes problems with dynamic variables (e.g., RANDOM)
+ in array indices with {pre,post}-{inc,dec}rement and op=
+ operators reported by <dennis@netstrata.com>
+
+ 1/25
+ ----
+expr.c
+ - fix subexpr() to initialize curlval and lastlval when resetting all
+ of the rest of the expression-parsing variables
+
+ 1/26
+ ----
+builtins/setattr.def
+ - in show_var_attributes, if the variable is not set (value == 0),
+ don't print `name=""', just print `name'. Pointed out by
+ Mart Frauenlab <mart.frauenlob@chello.at>
+
+arrayfunc.c
+ - fix array_keys to return NULL if the variable is not set or
+ invisible. Pointed out by Mart Frauenlab <mart.frauenlob@chello.at>
+ - change array_value_internal to return NULL for variable which has
+ not been set
+
+ 1/30
+ ----
+bashline.c
+ - in command_word_completion_function, don't call glob_pattern_p
+ on hint -- use the already-computed `globpat'. At this point,
+ hint might contain an already-dequoted globbing character, but
+ glob_matches will be NULL. Fixes bug reported by
+ coyote@wariat.org.pl
+
+ 2/5
+ ---
+builtins/exec.def
+ - set extern variable "exec_argv0" to the argument to -a
+
+shell.c
+ - if exec_argv0 is set, set dollar_vars[0] to it and set it to NULL,
+ assuming it was set by `exec -a'. `exec -a foo' now sets $0 to
+ foo in an executable shell script without a leading `#!' (fixes
+ longstanding bug)
+
+ 2/8
+ ---
+variables.c
+ - in push_func_var, if a variable is in a special builtin's temporary
+ environment and needs to be propagated because we're in Posix mode,
+ or we just need to propagate a variable, and we are executing in a
+ function without any local variables (so the function-local variable
+ context has no variable hash table), make sure we create a hash
+ table so we have a place to save the variable to be propagated.
+ Fixes bug reported by Crestez Dan Leonard <cdleonard@gmail.com>.
+
+ 2/18
+ ----
+builtins/hash.def
+ - change add_hashed_command to remove the command being looked up from
+ the hash table before trying to add it. That way, if it's not found,
+ there won't be anything remaining in the hash table
+
+ 2/26
+ ----
+trap.[ch]
+ - move IMPOSSIBLE_TRAP_HANDLER define to trap.h so other parts of the
+ shell can use it
+
+parse.y
+ - change yy_readline_get to use IMPOSSIBLE_TRAP_HANDER instead of NULL
+ as a sentinel value for the SIGINT signal handler
+ - make sure yy_readline_get resets interrupt_immediately to 0 after
+ calling readline() using the same criteria it used to set it to 1
+ before the call -- make the code symmetric. Suggested by Werner
+ Fink <werner@suse.de>
+
+builtins/read.def
+ - move assignment to `retval' before decrement of interrupt_immediately
+ and terminate_immediately and call to discard_unwind_frame
+ - move assign_vars label before decrement of interrupt_immediately and
+ terminate_immediately so those variables get reset appropriately
+ if read -t times out
+
+subst.h
+ - new define for Q_DOLBRACE, indicates double-quoted ${...}
+
+subst.c
+ - in parameter_brace_expand, before calling parameter_brace_expand_rhs,
+ add Q_DOLBRACE to `quoted' if we're within double quotes.
+ - in expand_word_internal, if the Q_DOLBRACE flag is set, remove a
+ backslash escaping a }. Result of a Posix discussion on the
+ austin-group list
+
+ 2/27
+ ----
+variables.c
+ - new functions to save and restore the PIPESTATUS variable's internal
+ array: save_pipestatus_array and restore_pipestatus_array
+
+variables.h
+ - new extern declarations for save_pipestatus_array and
+ restore_pipestatus_array
+
+trap.c
+ - in run_pending_traps, _run_trap_internal, and run_exit_trap, save
+ and restore $PIPESTATUS while traps are running. Fixes bug
+ reported by Florian Bruhin <me@the-compiler.org>
+
+parse.y
+ - use save_pipestatus_array and restore_pipestatus_array in
+ save_parser_state and restore_parser_state, respectively, replacing
+ inline code
+
+lib/readline/histfile.c
+ - fix callers of history_filename to be prepared to cope with it
+ returning NULL
+ - change history_filename to return NULL if $HOME is not set, rather
+ than trying to write the history file in the current directory.
+ This is the default directory, used only if the application does
+ not specify a history filename. Changed due to long-ago (unsent)
+ bug report from OpenBSD
+
+{Makefile,config.h,configure}.in,externs.h,lib/sh/{dprintf.c,Makefile.in}
+ - change fdprintf to dprintf, which is the Posix standard interface,
+ look for it with configure, replace it if not available
+
+ 2/28
+ ----
+command.h
+ - add new subshell flag, SUBSHELL_RESETTRAP. Indicates to the trap
+ builtin that the shell is executing a command substitution and
+ should free the trap strings we left unfreed by reset_signal_handlers()
+
+trap.c
+ - free_trap_string() and free_trap_strings() are now compiled in
+
+builtins/trap.def
+ - if changing a signal disposition and the SUBSHELL_RESETTRAP flag is
+ set in subshell_environment, free the trap strings left unfreed by
+ reset_signal_handlers
+
+subst.c
+ - in command_substitute, set the SUBSHELL_RESETTRAP flag. This change
+ is for Austin Group Posix interpretation 53
+ (http://austingroupbugs.net/view.php?id=53)
+
+ 3/7
+ ---
+lib/sh/{Makefile.in,strchrnul.c},Makefile.in
+ - implementation of strchrnul, from gnulib
+
+configure.in,config.h.in
+ - look for strchrnul and compile in version in lib/sh/strchrnul.c if
+ not available
+ - look for mbsnrtowcs and define HAVE_MBSNRTOWCS if available
+
+lib/sh/xmbsrtowcs.c
+ - new function, xdupmbstowcs2, fast version of xdupmbstowcs used when
+ mbsnrtowcs is available and the indices are not required. Called
+ from xdupmbstowcs as required. Initial patch from
+ <0xe2.0x9a.0x9b@gmail.com>
+
+ 3/22
+ ----
+print_cmd.c
+ - call print_deferred_heredocs virtually every time a recursive call
+ to make_command_string_internal is made so here documents get
+ printed correctly when they are attached to commands inside compound
+ commands such as for and while. Fixes bug reported by Mike
+ Frysinger <vapier@gentoo.org>
+
+ 3/25
+ ----
+builtins/printf.def
+ - fix have_precision case in PF macro to call printf with precision
+ instead of fieldwidth argument. Fixes bug reported by Rob Robason
+ <rob@robason.net>
+
+ 3/26
+ ----
+trap.[ch]
+ - new function, signal_is_hard_ignored, returns true if the shell
+ inherited SIG_IGN as a signal's disposition
+ - new function, set_original_signal (sig, handler), provides interface
+ for rest of shell to set original_signals[sig] = handler
+
+execute_cmd.c
+ - execute_disk_command needs to call reset_terminating_signals in the
+ child process before resetting traps with restore_original_signals
+
+builtins/trap.def
+ - call initialize_terminating_signals before calling display_traps for
+ trap -p or trap without any other arguments. Possible future use
+
+lib/readline/complete.c
+ - rl_filename_completion_function needs to call
+ rl_filename_dequoting_function with `dirname' (which has already
+ been tilde-expanded) instead of `users_dirname', because it calls
+ opendir with `dirname'. Fixes bug reported by Stefan H. Holek
+ <stefan@jarn.com>
+
+ 3/27
+ ----
+sig.c
+ - experimental change to set_signal_handler: when setting the SIGCHLD
+ handler, set the SA_RESTART flag so that interruptible system calls
+ get restarted after a child dies. Fixes bug reported by Tomas
+ Trnka <tomastrnka@gmx.com>, but needs further evaluation
+
+lib/sh/eaccess.c
+ - eaccess(2) apparently does only half the job: it does not check that
+ the permission bits on a file actually allow, for instance, execution.
+ Need to augment with a call to sh_stataccess if eaccess returns
+ success on FreeBSD. Fixes FreeBSD problem reported by Jonan Hattne
+ <johan.hattne@utsouthwestern.edu>
+
+ 3/28
+ ----
+parse.y,bashline.c,externs.h
+ - history_delimiting_chars now takes a const char * as an argument:
+ the line being added to the history. Changed callers
+
+parse.y
+ - bash_add_history should not add a semicolon separator if the current
+ history entry already ends in a newline. It can introduce syntax
+ errors (e.g., when it results in a null command before a close brace).
+ Fixes bug reported by Andreas Schwab <schwab@linux-m68k.org>
+
+parse.y
+ - history_delimiting_chars needs to return a newline instead of a
+ semicolon if it thinks the current line starts a here document
+ (if it contains `<<'). Also keeps track of the fact with a new
+ static variable, LAST_WAS_HEREDOC, so it can return the right
+ sequence of newlines later for the here-document body. Fixes bug
+ reported by Andreas Schwab <schwab@linux-m68k.org>
+
+ 3/29
+ ----
+lib/sh/eaccess.c
+ - if the system has faccessat, sh_eaccess will now use it in
+ preference to all other options
+
+ 3/30
+ ----
+subst.h
+ - new string_extract and extract_dollar_brace_string flag value:
+ SX_POSIXEXP, set if the shell is expanding one of the new Posix
+ pattern removal word expansions
+
+parser.h
+ - new definitions for "word expansion state", shared between parse.y
+ and subst.c
+
+subst.c
+ - include parser.h
+
+ 4/9
+ ---
+builtins/declare.def
+ - make sure declare_internal calls bind_assoc_variable with newly-
+ allocated memory for the key argument when using an implicit key
+ of "0". Bug report and fix from Andreas Schwab
+ <schwab@linux-m68k.org>
+
+ 4/14
+ ----
+lib/readline/input.c
+ - restructure the rl_event_hook loop in rl_read_key to call the
+ event hook after rl_gather_tyi() returns and rl_get_char has
+ a chance to collect the input. Previous behavior was to call
+ the event hook before attempting to read input. Problem
+ reported by Anant Shankar <anantshankar17@gmail.com>
+
+ 4/15
+ ----
+builtins/fc.def
+ - fc_builtin needs to check whether the calculation of last_hist
+ leaves hlist[last_hist] == 0, and keep decrementing it until it
+ leaves a non-null history entry or goes < 0. Currently only
+ does this if saved_command_line_count > 0, indicating we're
+ trying to edit a multi-line command. Fixes bug reported by
+ Roman Rakus <rrakus@redhat.com>
+
+ 4/17
+ ----
+subst.c
+ - new process substitution helper functions:
+ unlink_fifo - closes a single FD or FIFO
+ num_fifos - returns number of open FDs or active FIFOs
+ copy_fifo_list - returns a bitmap of open FDs or active FIFOs
+ by index into appropriate list (dev_fd_list or fifo_list)
+ close_new_fifos - take a bitmap saved by copy_fifo_list and
+ call unlink_fifo on any FD or FIFO open at the time of the
+ call that is not marked as active in list
+
+execute_cmd.c
+ - execute_builtin_or_function: use new framework to close process
+ substitution FDs or FIFOs created by a shell builtin or shell
+ function. Fixes bug reported by Charles Duffy <charles@dyfis.net>
+
+doc/{bash.1,bashref.texi}
+ - document 'C and "C constants for printf builtin
+
+ 4/22
+ ----
+lib/readline/complete.c
+ - new function to return screenwidth for use when displaying possible
+ matches: complete_get_screenwidth; changed uses of _rl_screenwidth
+ to use complete_get_screenwidth().
+ - change complete_get_screenwidth to query (readline-private)
+ _rl_completion_colums, $COLUMNS, then _rl_screenwidth in that order
+ - change rl_display_match_list to deal with limit < 0 (which implies
+ that cols == 0) when _rl_screenwidth > 0
+
+lib/readline/bind.c
+ - new bindable variable: completion-display-width, controls the
+ number of columns used when displaying completions with new
+ sv_compwidth function to call when value is set or unset
+
+lib/readline/doc/{readline.3,rltech.texi}
+ - documented completion-display-width variable
+
+ 4/23
+ ----
+execute_cmd.c
+ - change execute_in_subshell to reset trap handlers without freeing
+ the trap strings and set SUBSHELL_RESETTRAP. In line with Austin
+ Group interp #53 (trap in a subshell).
+ - ditto for execute_simple_command where it can be determined that
+ the shell is going to run a builtin or function in a subshell
+
+trap.c
+ - new function, get_all_original_signals, retrieves the original
+ signal disposition for all signals
+
+trap.h
+ - extern declaration for get_all_original_signals
+
+builtins/trap.def
+ - change showtrap to display signals that are "hard ignored" as
+ trap commands to ignore them, even though that trap command would
+ be a no-op. Partial fix for feature request from Siddhesh
+ Poyarekar <siddhesh.poyarekar@gmail.com>
+ - change trap_builtin to call get_all_original_signals before displaying
+ traps. This will show inherited ignored signals. Rest of feature
+ request from Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
+
+lib/readline/histexpand.c
+ - fix history_tokenize_word so that it understands $(...) and the
+ <(...) and >(...) expansions as a single word
+ - change history_tokenize_word so that it understands extended shell
+ globbing patterns as a single word. Code is very similar to
+ $(...) code above. Bug reported by Rajeev V. Pillai
+ <rajeevvp@gmail.com>
+
+ 4/24
+ ----
+lib/readline/vi_mode.c
+ - add checks to rl_vi_char_search to make sure we've already done a
+ search if the command is `;' or `,', and return immediately if we
+ have not. Fixes bug reported by Eric Ho <ericmho@shaw.ca>
+
+lib/readline/text.c
+ - make sure `dir' is in the valid range before searching in
+ _rl_char_search_internal. Range checks in the code depend on it
+ being non-zero
+
+ 5/3
+ ---
+lib/readline/complete.c
+ - in rl_complete_internal, if show-all-if-ambiguous or
+ show-all-if-unmodified are set (what_to_do == '!' or '@',
+ respectively), and the common match prefix is shorter than the
+ text being completed, inhibit inserting the match.
+ The guess is that replacing text with a shorter match will not
+ be wanted
+
+ 5/20
+ ----
+lib/sh/unicode.c
+ - new file, with unicode character conversion-related code. Will be
+ used to implement \u and \U escapes where appropriate, and for
+ other unicode-related functions in the future
+
+ 5/21
+ ----
+builtins/printf.def
+ - add code to handle \u and \U escapes in format strings and arguments
+ processed by the %b format specifier
+
+lib/sh/strtrans.c
+ - add code to handle \u and \U escapes as unicode characters, works for
+ both `echo -e' and $'...'
+
+doc/{bash.1,bashref.texi}
+ - document new \u and \U escape sequences for $'...' and echo (printf
+ defers to the system's man page or Posix)
+
+ 5/24
+ ----
+execute_cmd.c
+ - change execute_disk_command to return a status, instead of just
+ leaving it in `last_command_exit_value', since the parent's return
+ value is sometimes used (e.g., when a restricted shell refuses to
+ run a command with a `/'). Fixes bug reported by David Pitt
+ <David.Pitt@anz.com>
+
+ 5/25
+ ----
+bashline.c
+ - change bash completion functions to save and restore the value of
+ rl_ignore_some_completions_function, and set it to the bash default
+ of filename_completion_ignore where appropriate. Fixes bug
+ reported by Henning Bekel <h.bekel@googlemail.com>
+
+variables.c
+ - new convenience function: find_global_variable (name). Looks for
+ NAME in the global variables table, skipping any local and
+ temporary environment variables
+
+builtins/declare.def
+ - add new -g option to declare/typeset/local, forces variables to be
+ created or modified at the global scope when executing inside a
+ shell function. Requested by many, most recently by
+ konsolebox@gmail.com
+
+ 5/27
+ ----
+test.c
+ - added new `-v var' unary test operator; returns TRUE if var is set
+ (i.e., has been assigned a value). Works in both test builtin and
+ [[ conditional command
+
+doc/{bash.1,bashref.texi}
+ - documented new `-v var' unary conditional operator
+
+tests/test.tests
+ - added tests for new -v var operator
+
+builtins/kill.def
+ - change kill builtin so -PID (pgrp specification) following a
+ -s sig or -n sig option is not interpreted as a signal specification.
+ Fixes bug reported by Roman Rakus <rrakus@redhat.com>
+
+builtins/evalstring.c
+ - in parse_and_execute, if parse_command() returns non-zero,
+ indicating a parse error, exit the shell if the conditions require
+ a posix-mode non-interactive shell to abort (parse error in a `.'
+ script or eval string). Bash-4.1 only printed a warning. This is
+ from Austin Group interp 114
+
+doc/bashref.texi
+ - add note to the posix mode section of the texinfo manual noting
+ the changed behavior for `.' and `eval'
+
+parse.y
+ - change time_command_acceptable to allow TIME token to appear after
+ BANG token (to allow `! time foo', which is supposed to be valid)
+ - change pipeline_command production to allow multiple instances of
+ `!' (which toggle inverting the return status) and `time' (which
+ have no effect)
+
+execute_cmd.c
+ - In posix mode, `time' without a following pipeline prints the
+ elapsed user, system, and real time for the shell and its
+ children since the shell was invoked.
+ It's like `times' but obeys the setting of TIMEFORMAT. A future
+ revision of Posix will require this
+
+doc/{bashref.texi,bash.1}
+ - document new posix mode use of `time'
+
+parse.y
+ - add production to pipeline_command that permits `!' by itself to
+ be equivalent to `false' (and, with the changes above, permits
+ `! !' to be roughly equivalent to `true'). A future revision of
+ Posix will require this
+
+ 5/28
+ ----
+parse.y
+ - fix \W prompt expansion to use memmove instead of strcpy, since the
+ source and target strings overlap (though you think it wouldn't
+ matter, since the overlapping regions are never touched at the same
+ time). Fixes bug reported by Stéphane Jourdoi
+ <sjourdois@gmail.com>
+
+parse.y
+ - Posix interp 217 states that $(( must be parsed first as an
+ arithmetic expansion, so avoid attempting to parse it as a nested
+ command substitution. Fixes bug reported by several, most recently
+ <jwm@horde.net>
+
+subst.c
+ - change extract_delimited_string to process nested $( as a possible
+ command substitution, but only if already parsing an arithmetic
+ expansion. Rest of fix for Posix interp 217
+ - change parameter_brace_expand_rhs to make the := expansion operator
+ perform quote removal and both assign the result to the variable and
+ return it as the result of the expansion, rather than assign the
+ value after quote removal but return the value before quote removal.
+ Posix interp 221
+ - introduce new internal quoting flag: Q_DOLBRACE. Denotes a double-
+ quoted ${...} expansion. In this case, Posix interp 221 requires
+ that a backslash quoting an embedded `}' be removed, even though it's
+ not one of the characters marked as special inside double quotes.
+ Set in parameter_brace_expand, used by expand_word_internal.
+
+parse.y
+ - introduce new parsing state, P_DOLBRACE, set when parsing a ${...}
+ expansion
+ - set a "dolbrace operator state" in parse_matched_pair to decide
+ whether the lexer is reading the param, op, or word in
+ ${paramOPword}. Will be used to decide whether or not to treat
+ single quotes specially in a double-quoted "${...}
+
+ 5/29
+ ----
+parse.y
+ - change parse_matched_pair so that a single quote appearing in a
+ double-quoted ${...} expansion is not special unless the expansion
+ operator is `#[#]' or `%[%]'. Posix interp 221
+
+subst.c
+ - change string_extract_double_quoted so that a single quote appearing
+ in a double-quoted ${...} expansion is not special unless the
+ expansion operator is `#[#]' or `%[%]'. Posix interp 221
+
+doc/bashref.texi
+ - document posix-mode effects of Posix interp 221
+ - add section describing GNU parallel as requested by Stallman
+
+lib/readline/complete.c
+ - broke code that compares filenames read from the file system (and
+ possibly converted) to words being completed out into a separate
+ function: complete_fncmp
+ - augment complete_fncmp to treat hyphen and underscore as equivalent
+ when comparing filenames if _rl_completion_case_map is set
+
+lib/readline/rlprivate.h
+ - new extern declaration for _rl_completion_case_map
+
+lib/readline/util.c
+ - change _rl_strnicmp to return the difference between the characters,
+ like strcasecmp, and not modify the pointers it is passed
+ - change _rl_stricmp to not modify the pointers it is passed
+
+lib/readline/bind.c
+ - new bindable variable, "completion-case-map", toggles value of
+ _rl_completion_case_map
+
+lib/readline/doc/{rluser.texi,readline.3}
+ - document new bindable readline variable "completion-case-map"
+
+execute_cmd.c
+ - change execute_function to reset funcnest and jump back to top level
+ if funcnest exceeds funcnest_max
+ - use funcnest_max as a max function nesting level, if set to numeric
+ value greater than 0 (defaults to 0, so inactive)
+
+variables.c
+ - new variable FUNCNEST, controls funcnest_max value if set to numeric
+ value > 0
+sig.c
+ - reset funcnest to 0 when throw_to_top_level occurs
+
+doc/{bash.1,bashref.texi}
+ - document FUNCNEST variable and its effect on function execution
+
+lib/readline/funmap.c
+ - add new bindable command names to avoid case-insensitive matching
+ problems between, for instance, vi-fword and vi-fWord:
+
+ vi-forward-word
+ vi-forward-bigword
+ vi-backward-word
+ vi-backward-bigword
+ vi-end-word
+ vi-end-bigword
+
+ Suggested in a different form in 2006 (!) by Servatius Brandt
+ <servatius.brandt@arcor.de>
+
+builtins/mapfile.def
+ - run_callback now takes a new third argument: curline, the line
+ currently being read and about to be assigned
+ - the callback function/command now takes an additional argument:
+ the line to be assigned to the array index. Feature suggested by
+ Dennis Williamson <dennistwilliamson@gmail.com>
+
+doc/{bash.1,bashref.texi}
+ - document new additional `line' argument to mapfile callback
+
+ 5/30
+ ----
+builtins/printf.def
+ - add new %(fmt)T format specifier, where FMT is a strftime format.
+ Argument is number of seconds since the epoch, with -1 meaning
+ current time (roughly date +%s) and -2 meaning shell start time
+ (roughly $SECONDS, unless it's been assigned a value or unset).
+ Fieldwidth and precision are preserved, strftime result is printed
+ as with %[-][[fieldwidth][.[precision]]]s
+
+doc/{bash.1,bashref.texi}
+ - document new %(datefmt)T printf format specifier and special
+ arguments
+
+builtins/hash.def
+ - don't permit programs with slashes to be entered into the hash table
+ at all, even with the -p option. Inconsistency pointed out by
+ Jan Schampera <jan.schampera@web.de>
+
+builtins/shopt.def
+ - add `compat41' option in preparation for bash-4.2
+
+ 6/6
+ ---
+lib/readline/vi_mode.c
+ - finish restructuring rl_vi_domove and the functions that call it so
+ it works in callback mode, including numeric arguments. Requested
+ a long time ago by Bob Rossi
+
+lib/readline/callback.c
+ - arrange to call appropriate callback when readline state indicates
+ RL_STATE_VIMOTION, so vi motion commands like `cw' and `d2w' are
+ handled in callback mode
+
+lib/sh/wcswidth.c
+ - replacement wcswidth implementation
+
+aclocal.m4
+ - add REPLACE_FUNCS(wcswidth) to BASH_CHECK_MULTIBYTE
+
+execute_cmd.c
+ - fix select_query and print_index_and_element to compute correct
+ display width of select list elements in presence of multibyte
+ characters. Bug reported by Bernd Eggink <monoped@sudrala.de>
+
+builtins/cd.def
+ - add posix-mandated -e option; currently ignored in most circumstances
+
+doc/{bash.1,bashref.texi}
+ - document new `cd -e' option
+
+ 6/12
+ ----
+arrayfunc.c
+ - change array_value_internal to treat negative subscripts to indexed
+ arrays, offset from array_max_index(x) + 1, so foo[-1] is the last
+ element of $foo
+
+subst.c
+ - Change verify_substring_values to allow negative length specifications
+ when using string variables or array members. Negative lengths
+ mean to return characters from OFFSET until (${#var} - N) for
+ {var:offset:-N}. Feature requested by Richard Neill
+ <rn214@hermes.cam.ac.uk>
+
+doc/{bash.1,bashref.texi}
+ - document new behavior of negative subscripts to indexed arrays
+ - document new behavior of negative LENGTH in substring expansion
+
+configure.in
+ - change version to bash-4.2-devel
+
+variables.c
+ - make sure initialize_shell_variables calls sv_xtracefd if
+ BASH_XTRACEFD is inherited in the shell environment. Fixes but
+ reported by <jsunx1@bellsouth.net>
+
+ 6/13
+ ----
+lib/readline/complete.c
+ - change get_y_or_n to always return 1 when in callback mode, so we
+ don't do a blocking read. Have to wait until readline-7.0 to add
+ a state so we can use callbacks, since that will change public
+ interface
+
+ 6/17
+ ----
+subst.c
+ - fix memory leak in parameter_brace_expand: when performing pattern
+ removal with parameter_brace_remove_pattern, make sure `name' is
+ freed. Fixes bug reported by oyvindh@dhampir.no
+
+ 6/23
+ ----
+{parse.y,subst.c}
+ - make the ${param//pat/rep}, ${param^pat}, and ${param,pat} expansions
+ require single quotes and double quotes to match when within double
+ quotes. This way every expansion except the Posix ones behaves as
+ bash has always behaved
+
+subst.c
+ - change remove_upattern and remove_wpattern to return their first
+ argument if nothing matches, change callers to allocate memory
+ appropriately
+ - change remove_pattern to short-circuit and return copy of PARAM
+ if remove_wpattern returns its first argument (indicating no match)
+ rather than convert back to multibyte string, allocating new memory
+ twice and calling wcsrtombs
+
+ 6/24
+ ----
+execute_cmd.c
+ - add missing initializers for sh_coproc to eliminate a compiler
+ warning. Patch from Werner Fink <werner@suse.de>
+
+ 6/27
+ ----
+parse.y
+ - add `TIMEIGN' token to handle `time -p -- ...'. Pointed out by
+ Laszlo Ersek <lacos@caesar.elte.hu> on austin-group list
+
+ 6/28
+ ----
+jobs.c
+ - treat a shell with (subshell_environment&SUBSHELL_PIPE) != 0 like
+ a command substitution in wait_for and act like we received a
+ SIGINT if a job we're waiting for dies of SIGINT. Fixes bug
+ reported by Ilya Basin <basinilya@gmail.com>
+
+ 7/2
+ ---
+jobs.c
+ - if fork() fails in make_child, try to reap some dead children before
+ retrying
+
+execute_cmd.c
+ - change execute_pipeline to run the last command of a non-asynchronous
+ pipeline in the current shell environment if the `lastpipe' shell
+ option is enabled and job control is not active. Code from
+ Werner Fink <werner@suse.de>
+
+parse.y
+ - Posix says (issue 267) that time is not recognized as a keyword
+ if the next token begins with a `-'
+
+doc/{bash.1,bashref.texi}
+ - changed the descriptions of BASH_SOURCE, BASH_LINENO, and FUNCNAME
+ as proposed in Ubuntu bug 591677.
+ - document new `lastpipe' shell option that runs last command of a
+ pipeline in the current shell environment
+ - document new posix-mode behavior with `time -p'
+
+ 7/5
+ ---
+aclocal.m4
+ - new autoconf test WEXITSTATUS_OFFSET, bit offset in status word
+ returned by wait() of the process's exit status
+
+jobs.[ch]
+ - change stop_pipeline to return the actual index of the job just
+ created and added to the jobs table, instead of the current job
+ - job_exit_status and job_exit_signal are now global functions, with
+ extern declarations in jobs.h
+ - append_process: new utility function for use by the lastpipe code,
+ takes info, creates a PROCESS from them, and adds it to the end of
+ the passed job id's pipeline. lastpipe code uses it to add a dummy
+ process for the last command in the pipeline
+ - freeze_jobs_list: new utility function so rest of shell can freeze
+ the jobs list. Used by the lastpipe code
+
+execute_cmd.c
+ - changes to lastpipe code to make `pipefail' option, $PIPESTATUS, and
+ $? work correctly. Uses append_process and job_exit_status
+
+ 7/10
+ ----
+subst.c
+ - when performing pattern substitution word expansions, a `&' in the
+ replacement string is replaced by the text matched by the pattern.
+ The `&' can be quoted with a backslash to inhibit the expansion.
+ CURRENTLY DISABLED
+
+ 7/13
+ ----
+pcomplib.[ch]
+ - new member for struct compspec: lcommand. for future use
+
+ 7/15
+ ----
+parse.y
+ - fix problem in parse_comsub where extra space was added to here-doc
+ delimiter if the first word in the comsub contained a `/'. Fixes
+ bug reported by Alex Khesin <alexk@google.com>
+
+ 7/20
+ ----
+parse.y
+ - change reserved_word_acceptable to return success if the last two
+ tokens read were `function WORD'. Allows function definitions like
+ function good [[ -x foo ]];. Fixes bug reported by Linda Walsh
+ <bash@tlinx.org>
+
+doc/{bash.1,bashref.texi}
+ - change function definition meta-syntax to make it clearer, rather
+ than let the text note the optional portions
+
+ 7/24
+ ----
+bashhist.c
+ - change bash_history_inhibit_expansion() to suppress history expansion
+ for $! parameter expansion. Fixes debian bug #589745 submitted by
+ Frank Heckenbach <f.heckenbach@fh-soft.de>
+
+lib/readline/terminal.c
+ - change rl_resize_terminal to always fetch the new terminal size and
+ only force the redisplay if _rl_echoing_p is non-zero. Fixes bug
+ reported by Balazs Kezes <rlblaster@gmail.com>
+
+ 7/25
+ ----
+lib/readline/xfree.c
+ - new file, contains definition of xfree moved from xmalloc.c
+
+ 7/28
+ ----
+variables.c
+ - check suspect return values from bind_variable before trying to use
+ the returned SHELL_VAR *. Changes to: initialize_shell_variables,
+ bind_int_variable, FIND_OR_MAKE_VARIABLE. Fixes bug reported by
+ Roman Rakus <rrakus@redhat.com>
+
+ 7/31
+ ----
+lib/readline/rltty.c
+ - fix rl_prep_terminal and rl_deprep_terminal to use fileno(stdout)
+ if rl_instream is NULL. Fixes bug reported by Otto Allmendinger
+ otto.allmendinger@googlemail.com
+
+ 8/2
+ ---
+lib/sh/casemod.c
+ - if the passed string is NULL or empty, return it immediately. Fixes
+ bug reported by Dennis Williamson <dennistwilliamson@gmail.com>
+
+subst.c
+ - fix pat_subst to cope with the passed string being NULL
+
+arrayfunc.h
+ - added flag values for array_value_internal and its callers; converted
+ array_value_internal `allow_all' parameter into a general flags word
+ - get_array_value now takes a flags value
+ - changed array_value internal to use *indp as an index to use if the
+ AV_USEIND flag is set, rather than recomputing it
+
+subst.c
+ - get_var_and_type takes two new parameters: a flags word and an index
+ that represents an already-computed index for an array reference
+ (just indexed arrays so far). Index is used and passed to array_value
+ if flags includes AV_USEIND
+ - parameter_brace_expand_word takes a new argument: the already-
+ computed index; returns W_ARRAYIND if word expanded is being used
+ as an array index
+ - changed parameter_brace_casemod, parameter_brace_patsub,
+ parameter_brace_substring, parameter_brace_remove_pattern to take new
+ flags and index arguments from parameter_brace_expand_word. They
+ pass the new parameters along to get_var_and_type to use an
+ already-computed array index if necessary. Fixes bug where array
+ indexes are computed twice reported by Andrew Benton
+ <b3nton@gmail.com>
+
+doc/bash.1,lib/readline/doc/{history.3,hsuser.texi}
+ - modified description of history event designators to clarify that
+ all non-absolute event designators are relative to the current
+ position in the history list. Question raised by Frank
+ Heckenbach <f.heckenbach@fh-soft.de> as debian bash bug 590012
+
+ 8/5
+ ---
+subst.c
+ - remove code that does not add a quoted null when the input string
+ is partially quoted; subsequent word splitting may require it.
+ Fixes bug reported by Eric Blake <eblake@redhat.com>
+
+ 8/12
+ ----
+lib/glob/gmisc.c
+ - move match_pattern_wchar and match_pattern_char to new file in
+ glob library
+ - new functions: wmatchlen(pat, max) and umatchlen(pat, max), computes
+ number of characters PAT will match. Returns the number of chars
+ that will be matched or -1 if the match length is indeterminate
+ (i.e., contains a `*')
+
+subst.c
+ - use umatchlen/wmatchlen in match_upattern/match_wpattern to bound
+ the number of match attempts in large strings to (usually) one,
+ depending on match length. Fixes performance problems with
+ pattern substitution in large strings noted by Yi Yan
+ <yiyan97@hotmail.com>. Can be applied to remove_[uw]pattern also
+
+ 8/13
+ ----
+bashhist.c
+ - in maybe_append_history, change check for history_lines_this_session
+ so that we append the lines to the file if it's equal to the value
+ returned by where_history(). This means that without this change,
+ the history won't be appended if all the lines in the history list
+ were added in the current session since the last time the history
+ file was read or written. Fixes bug reported by Bruce Korb
+ <bruce.korb@gmail.com>
+
+shell.h,parse.y
+ - add prompt_string_pointer to the parser_state struct saved and
+ restored by {save,restore}_parser_state. Fixes both bugs exposed
+ by bash_completion and completion of open backquotes reported by
+ Egmont Koblinger <egmont@gmail.com>
+
+subst.h
+ - new flag for skip_to_delim: SD_EXTGLOB. Skip extended globbing
+ patterns while looking for ending delimiter
+
+subst.c
+ - when passed the SD_EXTGLOB flag, skip_to_delim skips over extended
+ globbing patterns (when extended_glob is set) while looking for a
+ character in the delimiter set
+
+pathexp.c
+ - split_ignorespec: new function to replace calls to extract_colon_unit
+ in setup_ignore_patterns. uses skip_to_delim with the SD_EXTGLOB
+ flag to skip over extended globbing patterns in variables like
+ HISTIGNORE and GLOBIGNORE. Fixes bug reported by Dimitar DIMITROV
+ <mitkofr@yahoo.fr> and Greg Wooledge <wooledg@eeg.ccf.org>
+
+ 8/28
+ ----
+lib/readline/rlprivate.h
+ - add members to search_cxt to save _rl_keymap
+ - new flag for isearch context: SF_CHGKMAP, set if we changed the
+ keymap while reading a character for the search string that
+ translated to a command
+
+lib/readline/isearch.c
+ - save current readline keymap in cxt->keymap and cxt->okeymap
+ in _rl_scxt_alloc
+ - in _rl_isearch_dispatch, only check for cxt->lastc as a member of
+ cxt->search_terminators if it's > 0 (i.e., not an isearch opcode)
+
+ 9/3
+ ---
+support/signames.c
+ - add Solaris SIGJVM1 and SIGJVM2. Update from Stefan Teleman
+ <stefan.teleman@oracle.com>
+
+shell.c
+ - instead of closing all fds 3-20 at shell startup, just set them to
+ be close-on-exec. Report from Rainer Müller<raimue@macports.org>
+
+lib/readline/isearch.c
+ - in _rl_isearch_dispatch, if the current character maps to ISKMAP,
+ move to the indicated keymap (using cxt->keymap) and go on to
+ read another character. Fixes problem reported by Davor
+ Cubranic <cubranic@stat.ubc.ca>
+ - in _rl_isearch_dispatch, after translating key to possible opcode,
+ restore _rl_keymap from cxt->okeymap if necessary
+ - in _rl_isearch_dispatch, use key sequences that map to default
+ functions that ^G, ^W, and ^Y map to as equivalent to those chars
+
+lib/readline/complete.c
+ - new variable, _rl_menu_complete_prefix_first, zero by default
+ - change menu_complete to display common prefix (matches[0]) first
+ before cycling through rest of match list if
+ _rl_menu_complete_prefix_first is non-zero. Suggested by Sami
+ Pietila <sami.pietila@gmail.com>
+
+lib/readline/bind.c
+ - new bindable readline variable, "menu-complete-display-prefix",
+ controls setting of _rl_menu_complete_prefix_first
+
+doc/{bash.1,bashref.texi},lib/readline/doc/{readline.3,rluser.texi}
+ - added description of menu-complete-display-prefix bindable
+ readline variable
+
+ 9/17
+ ----
+configure.in
+ - remove AM_PATH_LISPDIR call since we don't use that bash debugger
+ any more. Suggested by Mike Frysinger <vapier@gentoo.org>
+
+ 10/6
+ ----
+findcmd.c
+ - change executable_file to set errno to EISDIR if the passed name
+ is a directory
+
+builtins/exec.def
+ - change exec_builtin to report appropriate error message if the
+ file argument is a directory. Noted by Eric Blake <eblake@redhat.com>
+ in a message to austin-group
+
+builtins/source.def
+ - change source_builtin to make sure the shell exits if the file is
+ not found when in a non-interactive shell running in posix mode
+ and source_searches_cwd == 0 (as posix mode makes it by default).
+ Pointed out in http://thread.gmane.org/gmane.comp.shells.dash/291/focus=392
+ by Jilles Tjoelker <jilles@stack.nl>
+
+execute_cmd.c
+ - set executing_command_builtin in execute_builtin if the builtin is
+ command_builtin. Unwind-protected in execute_function_or_builtin
+ (like executing_builtin variable). Available for rest of shell
+
+builtins/{source.def,evalfile.c}
+ - make sure that non-interactive posix mode shells exit if the file
+ argument to `.' is not found only if they are not being executed
+ by the command builtin (executing_command_builtin == 0). This is
+ how `command' can cancel effects of special builtin exit properties
+ in the case of `dot file not found'
+
+ 10/13
+ -----
+lib/sh/strtrans.c
+ - pass \c through unchanged if not escaping for `echo -e' and they are
+ the final two characters in the string
+
+ 10/15
+ -----
+subst.c
+ - extract_dollar_brace_string: fix problem with single quotes
+ in unquoted ${...} for Posix compliance
+
+ 10/16
+ -----
+builtins/exec.def
+ - catch return value from shell_execve; don't print duplicate error
+ message if return value is EX_NOTFOUND. Make sure exit status
+ from exec is 127 if command is not found
+
+execute_cmd.c
+ - fix typo (`saved_redirects' should be `saved redirects') in
+ execute_function_or_builtin `command exec' case. Typo caused
+ too much of the unwind-protect stack to be discarded
+ - in same execute_function_or_builtin case, don't discard the
+ `saved redirects' frame unconditionally; only discard it if
+ saved_redirects is non-null in the `command exec' case. Fixes
+ sh -c 'command exec; exit 1' hanging bug uncovered by FreeBSD
+ sh test cases
+
+ 10/18
+ -----
+subst.c
+ - when in posix mode, shell should not exit if a variable assignment
+ error (e.g., assigning to readonly variable) occurs preceding a
+ command that is not a special builtin. Fixes bug uncovered by
+ FreeBSD sh test cases
+ - when in posix mode, the ${!?} and ${!#} expansions are not indirect
+ expansions, but posix word expansions involving the `!' variable
+
+parse.y
+ - fix parse_comsub so that it does not skip backslash-newline when
+ parsing a comment
+
+ 10/19
+ -----
+subst.c
+ - fix parameter_brace_expand so that an attempt to use the % or #
+ expansions on an unset variable with -u set will cause a non-
+ interactive shell to abort. Posix change
+ - fix parameter_brace_expand so that an attempt to use pattern
+ substitution or case modification expansions on an unset variable
+ with -u set will cause and unbound variable error and make a
+ non-interactive shell abort
+ - change parameter_brace_expand_length to return INTMAX_MIN if a
+ positional parameter is unset and -u is set
+ - if parameter_brace_expand_length returns INTMAX_MIN when -u is set,
+ treat it as an unbound variable error and make a non-interactive
+ shell abort. Posix change
+ - change parameter_brace_expand_length to return INTMAX_MIN if an
+ implicit reference to array[0] is made ${#array} and array[0] is
+ not set when -u is set
+
+ 10/20
+ -----
+builtins/cd.def
+ - Posix 2008 says that if no matching directories are found in $CDPATH,
+ use the directory name passed as an operand and go on. Posix change
+
+doc/bashref.texi
+ - change Posix mode section with latest additions and removals
+
+ 11/4
+ ----
+lib/readline/complete.c
+ - fix rl_menu_complete and rl_old_menu_complete to keep incrementing
+ match_list_index by match_list_size as long as it's < 0. Fixes
+ bug reported by jeenuv@gmail.com
+
+braces.c
+ - make mkseq() take intmax_t arguments for sequence start and end
+ and make sure it's passed intmax_t values. Fixes bug reported by
+ Pete Gregory <pg@bushlitt.org>
+
+sig.c
+ - if termsig_handler is called when terminate_immediately == 1,
+ assume we're being called as a signal handler and set
+ history_lines_this_session to 0 to inhibit history file being
+ written on shell exit. Fixes long-standing bug most recently
+ observed by Andreas Schwab <schwab@linux-m68k.org>
+
+ 11/5
+ ----
+redir.c
+ - add_undo_close_redirect now returns int, 0 on success, non-zero on
+ failure. Currently always succeeds
+ - new macro REDIRECTION_ERROR to make do_redirection_internal return
+ value of errno
+ - change do_redirection_internal to call REDIRECTION_ERROR after
+ saving file descriptor and make do_redirection_internal return error
+ if add_undo_redirect or add_undo_close redirect fails. This makes
+ failure to save a file descriptor a redirection error and the shell
+ behaves appropriately. Fixes bug reported by Eric Blake
+ <eblake@redhat.com>
+
+bashline.c
+ - modify bash_forward_shellword to correctly handle quoted strings,
+ especially if point is in a quoted string when function is invoked.
+ Fixes bug reported by Daniel Colascione <dan.colascione@gmail.com>
+
+configure.in
+ - change version to 4.2-alpha
+
+ 11/7
+ ----
+lib/readline/text.c
+ - in rl_insert, if we're not in the multibyte code path, don't try to
+ optimize and insert all of the available typeahead input if we're
+ reading input from a macro. Fixes bug reported by Andre Majorel
+ <aym-ung@teaser.fr>
+
+lib/readline/text.c
+ - break out multibyte guts of rl_forward_char into a separate function
+ _rl_forward_char_internal that does nothing but calculate the new
+ value of point
+ - change rl_forward_char to call _rl_forward_char_internal instead of
+ having equivalent code inline
+
+lib/readline/rlprivate.h
+ - new extern declaration for _rl_forward_char_internal
+
+lib/readline/vi_mode.c
+ - change _rl_vi_append_forward to call _rl_forward_char_internal to
+ set rl_point, instead of calling rl_forward_char. When at the end
+ of the line, rl_forward_char will ring the bell. Fixes debian
+ bash bug 601042, reported by Alan J. Greenberger <alanjg@ptd.net>
+
+ 11/14
+ -----
+subst.c
+ - fix match_upattern to use correct test to immediately break out of
+ loop (when potential match length is greater than number of chars
+ remaining in the string) in MATCH_ANY case
+
+ 11/15
+ -----
+subst.c
+ - include "typemax.h" to make sure we have a definition of INTMAX_MIN
+
+ 11/16
+ -----
+lib/sh/unicode.c
+ - make sure `localconv' isn't declared on machines without iconv
+ - add stub_charset for systems that don't have locale_charset: looks
+ up LC_CTYPE, returns everything after last `.', "UTF-8" if the
+ value is exactly "UTF-8", and "ASCII" otherwise
+
+ 11/20
+ -----
+lib/readline/vi_mode.c
+ - in rl_domove_motion_callback, make sure to use m->key instead of
+ key, which is not initialized and should not be used. Bug report
+ from Andreas Schwab <schwab@linux-m68k.org>
+ - in rl_vi_domove, make assignment to `m' explicit instead of
+ relying on evaluation order semantics, since the C standard leaves
+ them unspecified. Bug report from Andreas Schwab
+ <schwab@linux-m68k.org>
+
+ 11/21
+ -----
+lib/sh/shquote.c
+ - sh_single_quote and sh_double_quote now take a const char *
+ argument. Fixes problem pointed out by Joachim Schmitz
+ <jojo@schmitz-digital.de>
+
+externs.h
+ - change extern declarations for sh_single_quote and sh_double_quote
+
+lib/sh/strchrnul.c
+ - make sure that return value is cast to (char *) if we're using a
+ part of the passed (const char *) argument. Fixes problem pointed
+ out by Joachim Schmitz <jojo@schmitz-digital.de>
+
+lib/glob/gmisc.c
+ - fix a typo that mixed up defines for LPAREN and RPAREN. Bug and
+ fix from Andreas Schwab <schwab@linux-m68k.org>
+ - use WLPAREN and WRPAREN in multibyte character environments
+ - fixed typos using L'cc' in a non-wide-char environment
+
+lib/readline/complete.c
+ - fix rl_filename_completion_function to dequote users_dirname if
+ there is a filename dequoting function (as well as dirname), since
+ users_dirname gets tacked back onto the beginning of the possible
+ completions and then requoted. Bug reported by Andreas Schwab
+ <schwab@linux-m68k.org>
+
+ 11/22
+ -----
+lib/readline/parens.c
+ - the `blink-matching-paren' variable should default to off
+
+ 11/23
+ -----
+subst.h
+ - add extern declaration for close_new_fifos()
+
+lib/sh/fnxform.c
+ - fix curencoding to return the character past the `.', not a string
+ beginning with `.'
+
+lib/sh/unicode.c
+ - fix stub_charset to do the same cut-off at `@' as curencoding().
+ These two functions should be combined
+
+builtins/printf.def
+ - document new %(datefmt)T modifier in help text
+
+ 11/24
+ -----
+parse.y
+ - fix `W' case in decode_prompt_string: memmove was copying one too
+ few bytes and missed the closing NUL. Bug report from Tim Mooney
+ <Tim.Mooney@ndsu.edu>
+
+ 11/26
+ -----
+subst.c
+ - in expand_word_internal, don't add quoted nulls to partially-
+ quoted strings if the word will not be subjected to word splitting
+ later (which will remove the quoted null). Fixes bug reported by
+ Rocky Bernstein <rocky.bernstein@gmail.com>
+
+ 11/28
+ -----
+subst.c
+ - change multibyte case of match_pattern to revert to match_upattern
+ if neither the pattern nor the string has any multibyte characters
+
+alias.c
+ - fix tests of backslash-escaped characters in skipquotes, skipws,
+ rd_token to check for backslash at EOS and not go past the end.
+ Fixes debian bug 603696 reported by Tim Small <tim@buttersideup.com>
+
+include/shmbchar.h
+ - new file, mbchar.h from gnulib minus the <stdbool.h> include
+
+lib/sh/shmbchar.c
+ - new file, mbchar.c from gnulib with additions
+ - moved mbstrlen from subst.c to here, changed initialization of mbs
+ - change mbstrlen to use is_basic to avoid calls to mbrlen for ASCII
+ chars; code hints from gnulib
+ - don't copy mbs and mbsbak if we're not calling mbrlen
+
+ 11/29
+ -----
+lib/glob/smatch.c
+ - change xstrmatch to use internal_strmatch() if the pattern and
+ string don't have any multibyte characters
+
+ 11/30
+ -----
+include/shmbutil.h
+ - change ADVANCE_CHAR and ADVANCE_CHAR_P macros to use is_basic and
+ only call mbrlen and copy state and state_bak if is_basic returns
+ false (non-ASCII). Called all over the place.
+ - change rest of macros except BACKUP_CHAR and BACKUP_CHAR_P in the
+ same way
+
+ 12/2
+ ----
+subst.c
+ - audit all calls to string_list and make sure caller can handle a
+ NULL return value. Fixes bug reported by David Rochberg
+ <rochberg@google.com>
+
+general.h
+ - change sh_wassign_func_t to take an additional argument: an int
+ flags word
+
+subst.c
+ - change do_word_assignment to take an additional argument to match
+ wassign_func_t; change callers
+ - change call to (*assign_func) in expand_word_list_internal to match
+ new wassign_func_t prototype
+ - (*assign_func) passes 1 as additional arg if the simple command is
+ a builtin or function, in which case the assignment to the
+ temporary env should take effect
+
+variables.c
+ - change assign_in_env to take an additional argument to match
+ wassign_func_t; change callers
+ - move call to sv_ifs from dispose_temporary_env to
+ dispose_used_env_vars; we don't need to do it if called from
+ merge_temporary_env
+
+ 12/3
+ ----
+variables.c
+ - change dispose_temporary_env to maintain a list (tempvar_list) of
+ variables that need to be handled specially. If a variable that
+ gets freed by push_temp_var or propagate_temp_var is one of the
+ variables that the shell handles specially (IFS, LANG, etc.), it's
+ stored on the list. For each variable in this list,
+ dispose_temp_var calls stupidly_hack_special_variables.
+ - assign_in_env calls stupidly_hack_special_variables if flags arg
+ is non-zero, so variable assignments affect current shell
+ execution environment if a builtin or function is being executed.
+ Fixes bug reported by Bruno Haible <bruno@clisp.org>
+
+ 12/5
+ ----
+subst.c
+ - use mbsmbchar on both string and pattern in match_pattern instead
+ of strlen and mbstrlen; only go through the strings once
+
+ 12/6
+ ----
+lib/readline/kill.c
+ - in rl_yank_last_arg, only switch directions if the `count'
+ argument is < 0, not < 1. This makes explicit count arguments of
+ 0 work as expected. Fixes bug reported by Dennis Williamson
+ <dennistwilliamson@gmail.com>
+
+doc/bash.1,lib/readline/doc/{readline.3,rluser.texi}
+ - fix documentation for yank-last-arg to make it clear how the count
+ argument is set and how second and subsequent calls treat any
+ numeric argument
+
+doc/{bash.1,bashref.texi}
+ - slight changes to the description of test
+ - change \(bv to `|'; it seems that many `internationalized' versions
+ of groff don't render that as a vertical bar. Fixes Debian bug
+ 603805
+
+ 12/10
+ -----
+configure.in
+ - changed release status to 4.2-beta
+
+[bash-4.2-beta frozen]
+
+ 12/18
+ -----
+redir.c
+ - change REDIRECTION_ERROR macro to accept a third argument: an
+ additional file descriptor to close before returning and error (pass
+ -1 to do nothing)
+ - change calls to REDIRECTION_ERROR to close appropriate file
+ descriptors. Fixes bug reported by Andreas Schwab
+ <schwab@linux-m68k.org>
+ - make sure to close any file descriptors opened for REDIR_VARASSIGN
+ before returning an error
+
+ 12/19
+ -----
+expr.c
+ - move processing of unary `-' and `+' to exp1 from exp0 to avoid
+ precedence problems. Fixes bug reported by <12bric@gmail.com>
+
+ 12/21
+ -----
+lib/sh/unicode.c
+ - fixed reversed arguments to wctomb. Reported by Andreas Schwab
+ <schwab@linux-m68k.org>
diff --git a/CWRU/misc/sigs.c b/CWRU/misc/sigs.c
index 097ab31..bae93f8 100644
--- a/CWRU/misc/sigs.c
+++ b/CWRU/misc/sigs.c
@@ -1,6 +1,6 @@
/* sigs - print signal dispositions for a process */
-/* Copyright (C) 1990-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1990-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -21,7 +21,7 @@
#include <signal.h>
#include <stdio.h>
-extern char *sys_siglist[];
+extern const char * const sys_siglist[];
typedef void sighandler();
diff --git a/INSTALL b/INSTALL
index b6293fc..16fa685 100644
--- a/INSTALL
+++ b/INSTALL
@@ -376,8 +376,8 @@ does not provide the necessary support.
The Restricted Shell::, for a description of restricted mode.
`--enable-select'
- Include the `select' builtin, which allows the generation of simple
- menus (*note Conditional Constructs::).
+ Include the `select' compound command, which allows the generation
+ of simple menus (*note Conditional Constructs::).
`--enable-separate-helpfiles'
Use external files for the documentation displayed by the `help'
diff --git a/MANIFEST b/MANIFEST
index e42d7d7..11fd275 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -220,6 +220,7 @@ include/posixselect.h f
include/posixstat.h f
include/posixtime.h f
include/posixwait.h f
+include/shmbchar.h f
include/shmbutil.h f
include/shtty.h f
include/stdc.h f
@@ -234,6 +235,7 @@ lib/glob/strmatch.h f
lib/glob/glob.c f
lib/glob/glob.h f
lib/glob/glob_loop.c f
+lib/glob/gmisc.c f
lib/glob/xmbsrtowcs.c f
lib/glob/collsyms.h f
lib/glob/doc/Makefile f
@@ -315,6 +317,7 @@ lib/readline/funmap.c f
lib/readline/keymaps.c f
lib/readline/util.c f
lib/readline/terminal.c f
+lib/readline/xfree.c f
lib/readline/xmalloc.c f
lib/readline/search.c f
lib/readline/isearch.c f
@@ -382,8 +385,8 @@ lib/sh/Makefile.in f
lib/sh/casemod.c f
lib/sh/clktck.c f
lib/sh/clock.c f
+lib/sh/dprintf.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
@@ -409,12 +412,14 @@ lib/sh/pathphys.c f
lib/sh/rename.c f
lib/sh/setlinebuf.c f
lib/sh/shmatch.c f
+lib/sh/shmbchar.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/strcasestr.c f
+lib/sh/strchrnul.c f
lib/sh/strerror.c f
lib/sh/strftime.c f
lib/sh/stringlist.c f
@@ -435,8 +440,10 @@ lib/sh/timeval.c f
lib/sh/tmpfile.c f
lib/sh/uconvert.c f
lib/sh/ufuncs.c f
+lib/sh/unicode.c f
lib/sh/vprint.c f
lib/sh/wcsdup.c f
+lib/sh/wcswidth.c f
lib/sh/winsize.c f
lib/sh/zcatfd.c f
lib/sh/zgetline.c f
@@ -515,8 +522,12 @@ po/sv.gmo f
po/sv.po f
po/tr.gmo f
po/tr.po f
+po/uk.gmo f
+po/uk.po f
po/vi.gmo f
po/vi.po f
+po/zh_CN.gmo f
+po/zh_CN.po f
po/zh_TW.gmo f
po/zh_TW.po f
po/insert-header.sin f
@@ -685,6 +696,7 @@ examples/functions/which f
examples/functions/xalias.bash f
examples/functions/xfind.bash f
examples/scripts/adventure.sh f
+examples/scripts/bash-hexdump.sh f
examples/scripts/bcsh.sh f
examples/scripts/cat.sh f
examples/scripts/center f
@@ -742,6 +754,8 @@ tests/arith.tests f
tests/arith.right f
tests/arith1.sub f
tests/arith2.sub f
+tests/arith3.sub f
+tests/arith4.sub f
tests/array.tests f
tests/array.right f
tests/array1.sub f
@@ -753,6 +767,7 @@ tests/array6.sub f
tests/array7.sub f
tests/array8.sub f
tests/array9.sub f
+tests/array10.sub f
tests/array-at-star f
tests/array2.right f
tests/assoc.tests f
@@ -769,6 +784,7 @@ tests/builtins.tests f
tests/builtins.right f
tests/builtins1.sub f
tests/builtins2.sub f
+tests/builtins3.sub f
tests/source1.sub f
tests/source2.sub f
tests/source3.sub f
@@ -793,6 +809,8 @@ tests/comsub-eof.right f
tests/comsub-posix.tests f
tests/comsub-posix.right f
tests/comsub-posix1.sub f
+tests/comsub-posix2.sub f
+tests/comsub-posix3.sub f
tests/cond.tests f
tests/cond.right f
tests/cond-regexp.sub f
@@ -832,11 +850,13 @@ tests/exec5.sub f
tests/exec6.sub f
tests/exec7.sub f
tests/exec8.sub f
+tests/exec9.sub f
tests/exp.tests f
tests/exp.right f
tests/exp1.sub f
tests/exp2.sub f
tests/exp3.sub f
+tests/exp4.sub f
tests/extglob.tests f
tests/extglob.right f
tests/extglob1.sub f
@@ -849,6 +869,7 @@ tests/func.right f
tests/func1.sub f
tests/func2.sub f
tests/func3.sub f
+tests/func4.sub f
tests/getopts.tests f
tests/getopts.right f
tests/getopts1.sub f
@@ -885,6 +906,7 @@ tests/input-line.sub f
tests/input.right f
tests/intl.tests f
tests/intl1.sub f
+tests/intl2.sub f
tests/intl.right f
tests/iquote.tests f
tests/iquote.right f
@@ -896,6 +918,9 @@ tests/jobs2.sub f
tests/jobs3.sub f
tests/jobs4.sub f
tests/jobs.right f
+tests/lastpipe.right f
+tests/lastpipe.tests f
+tests/lastpipe1.sub f
tests/mapfile.data f
tests/mapfile.right f
tests/mapfile.tests f
@@ -910,6 +935,7 @@ tests/new-exp4.sub f
tests/new-exp5.sub f
tests/new-exp6.sub f
tests/new-exp7.sub f
+tests/new-exp8.sub f
tests/new-exp.right f
tests/nquote.tests f
tests/nquote.right f
@@ -926,13 +952,23 @@ tests/nquote5.tests f
tests/nquote5.right f
tests/posix2.tests f
tests/posix2.right f
+tests/posixexp.tests f
+tests/posixexp.right f
+tests/posixexp1.sub f
+tests/posixexp2.sub f
+tests/posixexp2.tests f
+tests/posixexp2.right f
tests/posixpat.tests f
tests/posixpat.right f
+tests/posixpipe.tests f
+tests/posixpipe.right f
tests/prec.right f
tests/precedence f
tests/printf.tests f
tests/printf.right f
+tests/printf1.sub f
tests/printf2.sub f
+tests/printf3.sub f
tests/quote.tests f
tests/quote.right f
tests/read.tests f
@@ -1005,6 +1041,7 @@ tests/run-intl f
tests/run-iquote f
tests/run-invert f
tests/run-jobs f
+tests/run-lastpipe f
tests/run-mapfile f
tests/run-more-exp f
tests/run-new-exp f
@@ -1015,7 +1052,10 @@ tests/run-nquote3 f
tests/run-nquote4 f
tests/run-nquote5 f
tests/run-posix2 f
+tests/run-posixexp f
+tests/run-posixexp2 f
tests/run-posixpat f
+tests/run-posixpipe f
tests/run-precedence f
tests/run-printf f
tests/run-quote f
@@ -1061,6 +1101,7 @@ tests/type.tests f
tests/type.right f
tests/type1.sub f
tests/type2.sub f
+tests/type3.sub f
tests/varenv.right f
tests/varenv.sh f
tests/varenv1.sub f
@@ -1074,6 +1115,7 @@ tests/vredir2.sub f
tests/vredir3.sub f
tests/vredir4.sub f
tests/vredir5.sub f
+tests/vredir6.sub f
tests/misc/dev-tcp.tests f
tests/misc/perf-script f
tests/misc/perftest f
diff --git a/Makefile.in b/Makefile.in
index f01d49c..9f9276d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,6 +1,6 @@
-# Makefile for bash-4.0, version 3.5
+# Makefile for bash-4.2, version 4.4
#
-# Copyright (C) 1996-2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2010 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -185,7 +185,7 @@ SH_ABSSRC = ${topdir}/${SH_LIBSRC}
SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
${SH_LIBSRC}/getenv.c ${SH_LIBSRC}/oslib.c \
- ${SH_LIBSRC}/setlinebuf.c \
+ ${SH_LIBSRC}/setlinebuf.c ${SH_LIBSRC}/strchrnul.c \
${SH_LIBSRC}/strcasecmp.c ${SH_LIBSRC}/strerror.c \
${SH_LIBSRC}/strtod.c ${SH_LIBSRC}/strtol.c \
${SH_LIBSRC}/strtoul.c ${SH_LIBSRC}/vprint.c \
@@ -212,9 +212,10 @@ SHLIB_SOURCE = ${SH_LIBSRC}/clktck.c ${SH_LIBSRC}/getcwd.c \
${SH_LIBSRC}/zmapfd.c ${SH_LIBSRC}/fpurge.c \
${SH_LIBSRC}/zgetline.c ${SH_LIBSRC}/mbscmp.c \
${SH_LIBSRC}/casemod.c ${SH_LIBSRC}/uconvert.c \
- ${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/fdprintf.c \
+ ${SH_LIBSRC}/ufuncs.c ${SH_LIBSRC}/dprintf.c \
${SH_LIBSRC}/input_avail.c ${SH_LIBSRC}/mbscasecmp.c \
- ${SH_LIBSRC}/fnxform.c
+ ${SH_LIBSRC}/fnxform.c ${SH_LIBSRC}/unicode.c \
+ ${SH_LIBSRC}/wcswidth.c ${SH_LIBSRC}/shmbchar.c
SHLIB_LIB = -lsh
SHLIB_LIBNAME = libsh.a
@@ -318,9 +319,11 @@ GLOB_DEP = $(GLOB_LIBRARY)
GLOB_SOURCE = $(GLOB_LIBSRC)/glob.c $(GLOB_LIBSRC)/strmatch.c \
$(GLOB_LIBSRC)/smatch.c $(GLOB_LIBSRC)/xmbsrtowcs.c \
$(GLOB_LIBSRC)/glob_loop.c $(GLOB_LIBSRC)/sm_loop.c \
+ $(GLOB_LIBSRC)/gmisc.c \
$(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h
GLOB_OBJ = $(GLOB_LIBDIR)/glob.o $(GLOB_LIBDIR)/strmatch.o \
- $(GLOB_LIBDIR)/smatch.o $(GLOB_LIBDIR)/xmbsrtowcs.o
+ $(GLOB_LIBDIR)/smatch.o $(GLOB_LIBDIR)/xmbsrtowcs.o \
+ $(GLOB_LIBDIR)/gmisc.o
# The source, object and documentation for the GNU Tilde library.
TILDE_LIBSRC = $(LIBSRC)/tilde
@@ -519,7 +522,7 @@ CREATED_SUPPORT = signames.h recho$(EXEEXT) zecho$(EXEEXT) printenv$(EXEEXT) \
mksyntax${EXEEXT} syntax.c $(VERSPROG) $(VERSOBJ) \
buildversion.o mksignames.o signames.o buildsignames.o
CREATED_CONFIGURE = config.h config.cache config.status config.log \
- stamp-h po/POTFILES
+ stamp-h po/POTFILES config.status.lineno
CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \
lib/readline/Makefile lib/glob/Makefile \
lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \
@@ -564,7 +567,7 @@ strip: $(Program) .made
lint:
${MAKE} ${MFLAGS} CFLAGS='${GCC_LINT_FLAGS}' .made
-version.h: $(SOURCES) config.h Makefile
+version.h: $(SOURCES) config.h Makefile patchlevel.h
$(SHELL) $(SUPPORT_SRC)mkversion.sh -b -S ${topdir} -s $(RELSTATUS) -d $(Version) -o newversion.h \
&& mv newversion.h version.h
@@ -969,8 +972,8 @@ mailcheck.o: execute_cmd.h mailcheck.h
make_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h bashansi.h
make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h
make_cmd.o: variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.h input.h externs.h
-make_cmd.o: jobs.h quit.h siglist.h syntax.h dispose_cmd.h
-make_cmd.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/ocache.h
+make_cmd.o: jobs.h quit.h siglist.h syntax.h dispose_cmd.h parser.h
+make_cmd.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h ${BASHINCDIR}/ocache.h
y.tab.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/memalloc.h
y.tab.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
y.tab.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
@@ -985,7 +988,7 @@ pathexp.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
pathexp.o: make_cmd.h subst.h sig.h pathnames.h externs.h
pathexp.o: pathexp.h flags.h
pathexp.o: $(GLOB_LIBSRC)/glob.h $(GLOB_LIBSRC)/strmatch.h
-pathexp.o: ${BASHINCDIR}/shmbutil.h
+pathexp.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
print_cmd.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
print_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
print_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
@@ -1022,12 +1025,12 @@ subst.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDI
subst.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
subst.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
subst.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
-subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h
+subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h parser.h
subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h
subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h
subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h
subst.o: ${BASHINCDIR}/chartypes.h
-subst.o: ${BASHINCDIR}/shmbutil.h
+subst.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
subst.o: ${DEFDIR}/builtext.h
test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h
@@ -1086,7 +1089,7 @@ arrayfunc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h
arrayfunc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h pathexp.h
arrayfunc.o: $(DEFSRC)/common.h
-arrayfunc.o: ${BASHINCDIR}/shmbutil.h
+arrayfunc.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
assoc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h
assoc.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h
assoc.o: command.h ${BASHINCDIR}/stdc.h error.h
@@ -1100,7 +1103,7 @@ braces.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h
braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h
braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h
-braces.o: ${BASHINCDIR}/shmbutil.h
+braces.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h
alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h
alias.o: pcomplete.h
@@ -1184,7 +1187,7 @@ jobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
mailcheck.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
make_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
-parse.y: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
+y.tab.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
pcomplib.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
print_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h
diff --git a/NEWS b/NEWS
index 8b1b7bc..028ba42 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,99 @@
+This is a terse description of the new features added to bash-4.2 since
+the release of bash-4.1. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+ leading #!.
+
+b. Subshells begun to execute command substitutions or run shell functions or
+ builtins in subshells do not reset trap strings until a new trap is
+ specified. This allows $(trap) to display the caller's traps and the
+ trap strings to persist until a new trap is set.
+
+c. `trap -p' will now show signals ignored at shell startup, though their
+ disposition still cannot be modified.
+
+d. $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e. declare/typeset has a new `-g' option, which creates variables in the
+ global scope even when run in a shell function.
+
+f. test/[/[[ have a new -v variable unary operator, which returns success if
+ `variable' has been set.
+
+g. Posix parsing changes to allow `! time command' and multiple consecutive
+ instances of `!' (which toggle) and `time' (which have no cumulative
+ effect).
+
+h. Posix change to allow `time' as a command by itself to print the elapsed
+ user, system, and real times for the shell and its children.
+
+j. $((...)) is always parsed as an arithmetic expansion first, instead of as
+ a potential nested command substitution, as Posix requires.
+
+k. A new FUNCNEST variable to allow the user to control the maximum shell
+ function nesting (recursive execution) level.
+
+l. The mapfile builtin now supplies a third argument to the callback command:
+ the line about to be assigned to the supplied array index.
+
+m. The printf builtin has a new %(fmt)T specifier, which allows time values
+ to use strftime-like formatting.
+
+n. There is a new `compat41' shell option.
+
+o. The cd builtin has a new Posix-mandated `-e' option.
+
+p. Negative subscripts to indexed arrays, previously errors, now are treated
+ as offsets from the maximum assigned index + 1.
+
+q. Negative length specifications in the ${var:offset:length} expansion,
+ previously errors, are now treated as offsets from the end of the variable.
+
+r. Parsing change to allow `time -p --'.
+
+s. Posix-mode parsing change to not recognize `time' as a keyword if the
+ following token begins with a `-'. This means no more Posix-mode
+ `time -p'. Posix interpretation 267.
+
+t. There is a new `lastpipe' shell option that runs the last command of a
+ pipeline in the current shell context. The lastpipe option has no
+ effect if job control is enabled.
+
+u. History expansion no longer expands the `$!' variable expansion.
+
+v. Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
+w. Non-interactive mode shells exit if -u is enabled and an attempt is made
+ to use an unset variable with the % or # expansions, the `//', `^', or
+ `,' expansions, or the parameter length expansion.
+
+x. Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+ fails, effectively searching the current directory. Posix-2008 change.
+
+2. New Features in Readline
+
+a. The history library does not try to write the history filename in the
+ current directory if $HOME is unset. This closes a potential security
+ problem if the application does not specify a history filename.
+
+b. New bindable variable `completion-display-width' to set the number of
+ columns used when displaying completions.
+
+c. New bindable variable `completion-case-map' to cause case-insensitive
+ completion to treat `-' and `_' as identical.
+
+d. There are new bindable vi-mode command names to avoid readline's case-
+ insensitive matching not allowing them to be bound separately.
+
+e. New bindable variable `menu-complete-display-prefix' causes the menu
+ completion code to display the common prefix of the possible completions
+ before cycling through the list, instead of after.
+
+-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-4.1 since
the release of bash-4.0. As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.
diff --git a/POSIX b/POSIX
index 6c57b87..406676e 100644
--- a/POSIX
+++ b/POSIX
@@ -55,116 +55,129 @@ The following list is what's changed when `POSIX mode' is in effect:
13. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
- 14. Redirection operators do not perform filename expansion on the word
+ 14. Non-interactive shells exit if there is a syntax error in a script
+ read with the `.' or `source' builtins, or in a string processed by
+ the `eval' builtin.
+
+ 15. Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
- 15. Redirection operators do not perform word splitting on the word in
+ 16. Redirection operators do not perform word splitting on the word in
the redirection.
- 16. Function names must be valid shell `name's. That is, they may not
+ 17. Function names must be valid shell `name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
- 17. POSIX special builtins are found before shell functions during
+ 18. POSIX special builtins are found before shell functions during
command lookup.
- 18. If a POSIX special builtin returns an error status, a
+ 19. The `time' reserved word may be used by itself as a command. When
+ used in this way, it displays timing statistics for the shell and
+ its completed children. The `TIMEFORMAT' variable controls the
+ format of the timing information.
+
+ 20. When parsing and expanding a ${...} expansion that appears within
+ double quotes, single quotes are no longer special and cannot be
+ used to quote a closing brace or other special character, unless
+ the operator is one of those defined to perform pattern removal.
+ In this case, they do not have to appear as matched pairs.
+
+ 21. The parser does not recognize `time' as a reserved word if the next
+ token begins with a `-'.
+
+ 22. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
- 19. If `CDPATH' is set, the `cd' builtin will not implicitly append
- the current directory to it. This means that `cd' will fail if no
- valid directory name can be constructed from any of the entries in
- `$CDPATH', even if the a directory with the same name as the name
- given as an argument to `cd' exists in the current directory.
-
- 20. A non-interactive shell exits with an error status if a variable
+ 23. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
- 21. A non-interactive shell exits with an error status if the iteration
+ 24. A non-interactive shell exists with an error status if a variable
+ assignment error occurs in an assignment statement preceding a
+ special builtin, but not with any other simple command.
+
+ 25. A non-interactive shell exits with an error status if the iteration
variable in a `for' statement or the selection variable in a
`select' statement is a readonly variable.
- 22. Process substitution is not available.
+ 26. Process substitution is not available.
- 23. Assignment statements preceding POSIX special builtins persist in
+ 27. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
- 24. Assignment statements preceding shell function calls persist in the
+ 28. Assignment statements preceding shell function calls persist in the
shell environment after the function returns, as if a POSIX
special builtin command had been executed.
- 25. The `export' and `readonly' builtin commands display their output
+ 29. The `export' and `readonly' builtin commands display their output
in the format required by POSIX.
- 26. The `trap' builtin displays signal names without the leading `SIG'.
+ 30. The `trap' builtin displays signal names without the leading `SIG'.
- 27. The `trap' builtin doesn't check the first argument for a possible
+ 31. The `trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they
should use `-' as the first argument.
- 28. The `.' and `source' builtins do not search the current directory
+ 32. The `.' and `source' builtins do not search the current directory
for the filename argument if it is not found by searching `PATH'.
- 29. Subshells spawned to execute command substitutions inherit the
+ 33. Subshells spawned to execute command substitutions inherit the
value of the `-e' option from the parent shell. When not in POSIX
mode, Bash clears the `-e' option in such subshells.
- 30. Alias expansion is always enabled, even in non-interactive shells.
+ 34. Alias expansion is always enabled, even in non-interactive shells.
- 31. When the `alias' builtin displays alias definitions, it does not
+ 35. When the `alias' builtin displays alias definitions, it does not
display them with a leading `alias ' unless the `-p' option is
supplied.
- 32. When the `set' builtin is invoked without options, it does not
+ 36. When the `set' builtin is invoked without options, it does not
display shell function names and definitions.
- 33. When the `set' builtin is invoked without options, it displays
+ 37. When the `set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
- 34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
+ 38. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from `$PWD' and the directory name supplied as an
argument does not refer to an existing directory, `cd' will fail
instead of falling back to PHYSICAL mode.
- 35. When the `pwd' builtin is supplied the `-P' option, it resets
- `$PWD' to a pathname containing no symlinks.
-
- 36. The `pwd' builtin verifies that the value it prints is the same as
+ 39. The `pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the `-P' option.
- 37. When listing the history, the `fc' builtin does not include an
+ 40. When listing the history, the `fc' builtin does not include an
indication of whether or not a history entry has been modified.
- 38. The default editor used by `fc' is `ed'.
+ 41. The default editor used by `fc' is `ed'.
- 39. The `type' and `command' builtins will not report a non-executable
+ 42. The `type' and `command' builtins will not report a non-executable
file as having been found, though the shell will attempt to
execute such a file if it is the only so-named file found in
`$PATH'.
- 40. The `vi' editing mode will invoke the `vi' editor directly when
+ 43. The `vi' editing mode will invoke the `vi' editor directly when
the `v' command is run, instead of checking `$VISUAL' and
`$EDITOR'.
- 41. When the `xpg_echo' option is enabled, Bash does not attempt to
+ 44. When the `xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to `echo' as options. Each argument is
displayed, after escape characters are converted.
- 42. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
+ 45. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
and `-f' options.
- 43. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
+ 46. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
interrupt the `wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
diff --git a/README b/README
index c5c7159..8d86c57 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
Introduction
============
-This is GNU Bash, version 4.1. Bash is the GNU Project's Bourne
-Again SHell, a complete implementation of the POSIX.2 shell spec,
+This is GNU Bash, version 4.2. Bash is the GNU Project's Bourne
+Again SHell, a complete implementation of the POSIX shell spec,
but also with interactive command line editing, job control on
architectures that support it, csh-like features such as history
substitution and brace expansion, and a slew of other features.
@@ -12,11 +12,11 @@ large Unix-style man page. The man page is the definitive description
of the shell's features.
See the file POSIX for a discussion of how the Bash defaults differ
-from the POSIX.2 spec and a description of the Bash `posix mode'.
+from the POSIX spec and a description of the Bash `posix mode'.
There are some user-visible incompatibilities between this version
-of Bash and previous widely-distributed versions, bash-3.2 and
-bash-4.0. For details, see the file COMPAT. The NEWS file tersely
+of Bash and previous widely-distributed versions, bash-4.0 and
+bash-4.1. For details, see the file COMPAT. The NEWS file tersely
lists features that are new in this release.
Bash is free software, distributed under the terms of the [GNU] General
@@ -27,10 +27,10 @@ see the file COPYING.
A number of frequently-asked questions are answered in the file
`doc/FAQ'.
-To compile Bash, try typing `./configure', then `make'. Bash
-auto-configures the build process, so no further intervention
-should be necessary. Bash builds with `gcc' by default if it is
-available. If you want to use `cc' instead, type
+To compile Bash, type `./configure', then `make'. Bash auto-configures
+the build process, so no further intervention should be necessary. Bash
+builds with `gcc' by default if it is available. If you want to use `cc'
+instead, type
CC=cc ./configure
diff --git a/aclocal.m4 b/aclocal.m4
index 10a4741..716a043 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1695,8 +1695,10 @@ AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN))
AC_CHECK_FUNC(mbscasecmp, AC_DEFINE(HAVE_MBSCMP))
AC_CHECK_FUNC(mbscmp, AC_DEFINE(HAVE_MBSCMP))
+AC_CHECK_FUNC(mbsnrtowcs, AC_DEFINE(HAVE_MBSNRTOWCS))
AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
+
AC_REPLACE_FUNCS(mbschr)
AC_CHECK_FUNC(wcrtomb, AC_DEFINE(HAVE_WCRTOMB))
@@ -1705,6 +1707,8 @@ AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP))
AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
AC_CHECK_FUNC(wctype, AC_DEFINE(HAVE_WCTYPE))
+AC_REPLACE_FUNCS(wcswidth)
+
dnl checks for both mbrtowc and mbstate_t
AC_FUNC_MBRTOWC
if test $ac_cv_func_mbrtowc = yes; then
@@ -4115,3 +4119,51 @@ main()
[Define if you have a standard-conformant vsnprintf function.])
fi
])
+
+AC_DEFUN(BASH_STRUCT_WEXITSTATUS_OFFSET,
+[AC_MSG_CHECKING(for offset of exit status in return status from wait)
+AC_CACHE_VAL(bash_cv_wexitstatus_offset,
+[AC_RUN_IFELSE([
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/wait.h>
+
+main(c, v)
+ int c;
+ char **v;
+{
+ pid_t pid, p;
+ int s, i, n;
+
+ s = 0;
+ pid = fork();
+ if (pid == 0)
+ exit (42);
+
+ /* wait for the process */
+ p = wait(&s);
+ if (p != pid)
+ exit (255);
+
+ /* crack s */
+ for (i = 0; i < (sizeof(s) - 8); i++)
+ {
+ n = (s >> i) & 0xff;
+ if (n == 42)
+ exit (i);
+ }
+
+ exit (254);
+}
+], bash_cv_wexitstatus_offset=0, bash_cv_wexitstatus_offset=$?,
+ [AC_MSG_WARN(cannot check WEXITSTATUS offset if cross compiling -- defaulting to 0)
+ bash_cv_wexitstatus_offset=0]
+)])
+if test "$bash_cv_wexitstatus_offset" -gt 32 ; then
+ AC_MSG_WARN(bad exit status from test program -- defaulting to 0)
+ bash_cv_wexitstatus_offset=0
+fi
+AC_MSG_RESULT($bash_cv_wexitstatus_offset)
+AC_DEFINE_UNQUOTED([WEXITSTATUS_OFFSET], [$bash_cv_wexitstatus_offset], [Offset of exit status in wait status word])
+])
diff --git a/alias.c b/alias.c
index 558665e..6c95376 100644
--- a/alias.c
+++ b/alias.c
@@ -319,6 +319,8 @@ skipquotes (string, start)
if (string[i] == '\\')
{
i++; /* skip backslash-quoted quote characters, too */
+ if (string[i] == 0)
+ break;
continue;
}
@@ -364,6 +366,8 @@ skipws (string, start)
if (string[i] == '\\')
{
peekc = string[i+1];
+ if (peekc == 0)
+ break;
if (ISLETTER (peekc))
backslash_quoted_word++; /* this is a backslash-quoted word */
else
@@ -429,6 +433,8 @@ rd_token (string, start)
if (string[i] == '\\')
{
i++; /* skip backslash-escaped character */
+ if (string[i] == 0)
+ break;
continue;
}
diff --git a/arrayfunc.c b/arrayfunc.c
index 218faf3..21eb4cd 100644
--- a/arrayfunc.c
+++ b/arrayfunc.c
@@ -1,6 +1,6 @@
/* arrayfunc.c -- High-level array functions used by other parts of the shell. */
-/* Copyright (C) 2001-2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -44,7 +44,7 @@ static SHELL_VAR *bind_array_var_internal __P((SHELL_VAR *, arrayind_t, char *,
static char *quote_assign __P((const char *));
static void quote_array_assignment_chars __P((WORD_LIST *));
-static char *array_value_internal __P((char *, int, int, int *));
+static char *array_value_internal __P((char *, int, int, int *, arrayind_t *));
/* Standard error message to use when encountering an invalid array subscript */
const char * const bash_badsub_errmsg = N_("bad array subscript");
@@ -658,6 +658,7 @@ unbind_array_element (var, sub)
return -1;
}
assoc_remove (assoc_cell (var), akey);
+ free (akey);
}
else
{
@@ -842,15 +843,31 @@ array_variable_part (s, subp, lenp)
return (var == 0 || invisible_p (var)) ? (SHELL_VAR *)0 : var;
}
+#define INDEX_ERROR() \
+ do \
+ { \
+ if (var) \
+ err_badarraysub (var->name); \
+ else \
+ { \
+ t[-1] = '\0'; \
+ err_badarraysub (s); \
+ t[-1] = '['; /* ] */\
+ } \
+ return ((char *)NULL); \
+ } \
+ while (0)
+
/* Return a string containing the elements in the array and subscript
described by S. If the subscript is * or @, obeys quoting rules akin
to the expansion of $* and $@ including double quoting. If RTYPE
is non-null it gets 1 if the array reference is name[*], 2 if the
reference is name[@], and 0 otherwise. */
static char *
-array_value_internal (s, quoted, allow_all, rtype)
+array_value_internal (s, quoted, flags, rtype, indp)
char *s;
- int quoted, allow_all, *rtype;
+ int quoted, flags, *rtype;
+ arrayind_t *indp;
{
int len;
arrayind_t ind;
@@ -876,12 +893,12 @@ array_value_internal (s, quoted, allow_all, rtype)
{
if (rtype)
*rtype = (t[0] == '*') ? 1 : 2;
- if (allow_all == 0)
+ if ((flags & AV_ALLOWALL) == 0)
{
err_badarraysub (s);
return ((char *)NULL);
}
- else if (var == 0 || value_cell (var) == 0)
+ else if (var == 0 || value_cell (var) == 0) /* XXX - check for invisible_p(var) ? */
return ((char *)NULL);
else if (array_p (var) == 0 && assoc_p (var) == 0)
l = add_string_to_list (value_cell (var), (WORD_LIST *)NULL);
@@ -915,20 +932,22 @@ array_value_internal (s, quoted, allow_all, rtype)
*rtype = 0;
if (var == 0 || array_p (var) || assoc_p (var) == 0)
{
- ind = array_expand_index (t, len);
- if (ind < 0)
+ if ((flags & AV_USEIND) == 0 || indp == 0)
{
-index_error:
- if (var)
- err_badarraysub (var->name);
- else
+ ind = array_expand_index (t, len);
+ if (ind < 0)
{
- t[-1] = '\0';
- err_badarraysub (s);
- t[-1] = '['; /* ] */
+ /* negative subscripts to indexed arrays count back from end */
+ if (var && array_p (var))
+ ind = array_max_index (array_cell (var)) + 1 + ind;
+ if (ind < 0)
+ INDEX_ERROR();
}
- return ((char *)NULL);
+ if (indp)
+ *indp = ind;
}
+ else if (indp)
+ ind = *indp;
}
else if (assoc_p (var))
{
@@ -936,15 +955,18 @@ index_error:
akey = expand_assignment_string_to_string (t, 0); /* [ */
t[len - 1] = ']';
if (akey == 0 || *akey == 0)
- goto index_error;
+ INDEX_ERROR();
}
- if (var == 0)
+ if (var == 0 || value_cell (var) == 0) /* XXX - check invisible_p(var) ? */
return ((char *)NULL);
if (array_p (var) == 0 && assoc_p (var) == 0)
return (ind == 0 ? value_cell (var) : (char *)NULL);
else if (assoc_p (var))
- retval = assoc_reference (assoc_cell (var), akey);
+ {
+ retval = assoc_reference (assoc_cell (var), akey);
+ free (akey);
+ }
else
retval = array_reference (array_cell (var), ind);
}
@@ -955,23 +977,25 @@ index_error:
/* Return a string containing the elements described by the array and
subscript contained in S, obeying quoting for subscripts * and @. */
char *
-array_value (s, quoted, rtype)
+array_value (s, quoted, flags, rtype, indp)
char *s;
- int quoted, *rtype;
+ int quoted, flags, *rtype;
+ arrayind_t *indp;
{
- return (array_value_internal (s, quoted, 1, rtype));
+ return (array_value_internal (s, quoted, flags|AV_ALLOWALL, rtype, indp));
}
/* Return the value of the array indexing expression S as a single string.
- If ALLOW_ALL is 0, do not allow `@' and `*' subscripts. This is used
- by other parts of the shell such as the arithmetic expression evaluator
- in expr.c. */
+ If (FLAGS & AV_ALLOWALL) is 0, do not allow `@' and `*' subscripts. This
+ is used by other parts of the shell such as the arithmetic expression
+ evaluator in expr.c. */
char *
-get_array_value (s, allow_all, rtype)
+get_array_value (s, flags, rtype, indp)
char *s;
- int allow_all, *rtype;
+ int flags, *rtype;
+ arrayind_t *indp;
{
- return (array_value_internal (s, 0, allow_all, rtype));
+ return (array_value_internal (s, 0, flags, rtype, indp));
}
char *
@@ -990,6 +1014,9 @@ array_keys (s, quoted)
if (var == 0 || ALL_ELEMENT_SUB (t[0]) == 0 || t[1] != ']')
return (char *)NULL;
+ if (var_isset (var) == 0 || invisible_p (var))
+ return (char *)NULL;
+
if (array_p (var) == 0 && assoc_p (var) == 0)
l = add_string_to_list ("0", (WORD_LIST *)NULL);
else if (assoc_p (var))
diff --git a/arrayfunc.h b/arrayfunc.h
index c12fc99..8363d16 100644
--- a/arrayfunc.h
+++ b/arrayfunc.h
@@ -1,6 +1,6 @@
/* arrayfunc.h -- declarations for miscellaneous array functions in arrayfunc.c */
-/* Copyright (C) 2001-2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -25,6 +25,11 @@
#if defined (ARRAY_VARS)
+/* Flags for array_value_internal and callers array_value/get_array_value */
+#define AV_ALLOWALL 0x001
+#define AV_QUOTED 0x002
+#define AV_USEIND 0x004
+
extern SHELL_VAR *convert_var_to_array __P((SHELL_VAR *));
extern SHELL_VAR *convert_var_to_assoc __P((SHELL_VAR *));
@@ -51,8 +56,8 @@ extern void print_assoc_assignment __P((SHELL_VAR *, int));
extern arrayind_t array_expand_index __P((char *, int));
extern int valid_array_reference __P((char *));
-extern char *array_value __P((char *, int, int *));
-extern char *get_array_value __P((char *, int, int *));
+extern char *array_value __P((char *, int, int, int *, arrayind_t *));
+extern char *get_array_value __P((char *, int, int *, arrayind_t *));
extern char *array_keys __P((char *, int));
diff --git a/autom4te.cache/output.0 b/autom4te.cache/output.0
new file mode 100644
index 0000000..5ddaaa6
--- /dev/null
+++ b/autom4te.cache/output.0
@@ -0,0 +1,31473 @@
+@%:@! /bin/sh
+@%:@ From configure.in for Bash 4.0, version 4.013.
+@%:@ Guess values for system-dependent variables and create Makefiles.
+@%:@ Generated by GNU Autoconf 2.63 for bash 4.0-release.
+@%:@
+@%:@ Report bugs to <bug-bash@gnu.org>.
+@%:@
+@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+@%:@ This configure script is free software; the Free Software Foundation
+@%:@ gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIB@&t@OBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='bash'
+PACKAGE_TARNAME='bash'
+PACKAGE_VERSION='4.0-release'
+PACKAGE_STRING='bash 4.0-release'
+PACKAGE_BUGREPORT='bug-bash@gnu.org'
+
+ac_unique_file="shell.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_header_list=
+ac_func_list=
+ac_subst_vars='LTLIBOBJS
+LOCAL_DEFS
+LOCAL_LDFLAGS
+LOCAL_CFLAGS
+LOCAL_LIBS
+MALLOC_DEBUG
+DEBUG
+RELSTATUS
+BASHVERS
+ARFLAGS
+BUILD_DIR
+incdir
+PROFILE_FLAGS
+SHOBJ_STATUS
+SHOBJ_LIBS
+SHOBJ_XLDFLAGS
+SHOBJ_LDFLAGS
+SHOBJ_LD
+SHOBJ_CFLAGS
+SHOBJ_CC
+JOBS_O
+TERMCAP_DEP
+TERMCAP_LIB
+SIGLIST_O
+LIBINTL_H
+INTL_INC
+INTL_DEP
+LIB@&t@OBJS
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+INTL_LIBTOOL_SUFFIX_PREFIX
+INTLOBJS
+GENCAT
+INSTOBJEXT
+DATADIRNAME
+CATOBJEXT
+USE_INCLUDED_LIBINTL
+BUILD_INCLUDED_LIBINTL
+INTLBISON
+LTLIBICONV
+LIBICONV
+GLIBC21
+ALLOCA
+MSGMERGE
+XGETTEXT
+GMSGFMT
+MSGFMT
+USE_NLS
+MKINSTALLDIRS
+SIZE
+MAKE_SHELL
+SET_MAKE
+YFLAGS
+YACC
+RANLIB
+AR
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+TILDE_LIB
+HIST_LIBDIR
+HISTORY_DEP
+HISTORY_LIB
+RL_INCLUDE
+RL_INCLUDEDIR
+RL_LIBDIR
+READLINE_DEP
+READLINE_LIB
+RL_MINOR
+RL_MAJOR
+RL_VERSION
+LDFLAGS_FOR_BUILD
+CPPFLAGS_FOR_BUILD
+CFLAGS_FOR_BUILD
+STATIC_LD
+CC_FOR_BUILD
+SIGNAMES_O
+SIGNAMES_H
+CROSS_COMPILE
+EGREP
+GREP
+CPP
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+HELPSTRINGS
+HELPINSTALL
+HELPDIRDEFINE
+HELPDIR
+MALLOC_DEP
+MALLOC_LDFLAGS
+MALLOC_LIBRARY
+MALLOC_LIB
+MALLOC_SRC
+MALLOC_TARGET
+PURIFY
+TESTSCRIPT
+DEBUGGER_START_FILE
+lispdir
+EMACS
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+with_lispdir
+with_afs
+with_bash_malloc
+with_curses
+with_gnu_malloc
+with_installed_readline
+with_purecov
+with_purify
+enable_minimal_config
+enable_alias
+enable_arith_for_command
+enable_array_variables
+enable_bang_history
+enable_brace_expansion
+enable_casemod_attributes
+enable_casemod_expansions
+enable_command_timing
+enable_cond_command
+enable_cond_regexp
+enable_coprocesses
+enable_debugger
+enable_directory_stack
+enable_disabled_builtins
+enable_dparen_arithmetic
+enable_extended_glob
+enable_help_builtin
+enable_history
+enable_job_control
+enable_multibyte
+enable_net_redirections
+enable_process_substitution
+enable_progcomp
+enable_prompt_string_decoding
+enable_readline
+enable_restricted
+enable_select
+enable_separate_helpfiles
+enable_single_help_strings
+enable_strict_posix_default
+enable_usg_echo_default
+enable_xpg_echo_default
+enable_mem_scramble
+enable_profiling
+enable_static_link
+enable_largefile
+enable_nls
+with_gnu_ld
+enable_rpath
+with_libiconv_prefix
+with_included_gettext
+with_libintl_prefix
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+DEBUGGER_START_FILE
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+YACC
+YFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
+ { (exit 1); exit 1; }; }
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures bash 4.0-release to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root @<:@DATAROOTDIR/doc/bash@:>@
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of bash 4.0-release:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-minimal-config a minimal sh-like configuration
+ --enable-alias enable shell aliases
+ --enable-arith-for-command
+ enable arithmetic for command
+ --enable-array-variables
+ include shell array variables
+ --enable-bang-history turn on csh-style history substitution
+ --enable-brace-expansion
+ include brace expansion
+ --enable-casemod-attributes
+ include case-modifying variable attributes
+ --enable-casemod-expansions
+ include case-modifying word expansions
+ --enable-command-timing enable the time reserved word and command timing
+ --enable-cond-command enable the conditional command
+ --enable-cond-regexp enable extended regular expression matching in
+ conditional commands
+ --enable-coprocesses enable coprocess support and the coproc reserved
+ word
+ --enable-debugger enable support for bash debugger
+ --enable-directory-stack
+ enable builtins pushd/popd/dirs
+ --enable-disabled-builtins
+ allow disabled builtins to still be invoked
+ --enable-dparen-arithmetic
+ include ((...)) command
+ --enable-extended-glob include ksh-style extended pattern matching
+ --enable-help-builtin include the help builtin
+ --enable-history turn on command history
+ --enable-job-control enable job control features
+ --enable-multibyte enable multibyte characters if OS supports them
+ --enable-net-redirections
+ enable /dev/tcp/host/port redirection
+ --enable-process-substitution
+ enable process substitution
+ --enable-progcomp enable programmable completion and the complete
+ builtin
+ --enable-prompt-string-decoding
+ turn on escape character decoding in prompts
+ --enable-readline turn on command line editing
+ --enable-restricted enable a restricted shell
+ --enable-select include select command
+ --enable-separate-helpfiles
+ use external files for help builtin documentation
+ --enable-single-help-strings
+ store help documentation as a single string to ease
+ translation
+ --enable-strict-posix-default
+ configure bash to be posix-conformant by default
+ --enable-usg-echo-default
+ a synonym for --enable-xpg-echo-default
+ --enable-xpg-echo-default
+ make the echo builtin expand escape sequences by
+ default
+ --enable-mem-scramble scramble memory on calls to malloc and free
+ --enable-profiling allow profiling with gprof
+ --enable-static-link link bash statically, for use as a root shell
+ --disable-largefile omit support for large files
+ --disable-nls do not use Native Language Support
+ --disable-rpath do not hardcode runtime library paths
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-lispdir override the default lisp directory
+ --with-afs if you are running AFS
+ --with-bash-malloc use the Bash version of malloc
+ --with-curses use the curses library instead of the termcap
+ library
+ --with-gnu-malloc synonym for --with-bash-malloc
+ --with-installed-readline
+ use a version of the readline library that is
+ already installed
+ --with-purecov configure to postprocess with pure coverage
+ --with-purify configure to postprocess with purify
+ --with-gnu-ld assume the C compiler uses GNU ld default=no
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --with-included-gettext use the GNU gettext library included here
+ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
+ --without-libintl-prefix don't search for libintl in includedir and libdir
+
+Some influential environment variables:
+ DEBUGGER_START_FILE
+ location of bash debugger initialization file
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ YACC The `Yet Another C Compiler' implementation to use. Defaults to
+ the first program found out of: `bison -y', `byacc', `yacc'.
+ YFLAGS The list of arguments that will be passed by default to $YACC.
+ This script will default YFLAGS to the empty string to avoid a
+ default value of `-d' given by some make applications.
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <bug-bash@gnu.org>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+bash configure 4.0-release
+generated by GNU Autoconf 2.63
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by bash $as_me 4.0-release, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+@%:@@%:@ --------- @%:@@%:@
+@%:@@%:@ Platform. @%:@@%:@
+@%:@@%:@ --------- @%:@@%:@
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ Core tests. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ---------------- @%:@@%:@
+@%:@@%:@ Cache variables. @%:@@%:@
+@%:@@%:@ ---------------- @%:@@%:@
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ----------------- @%:@@%:@
+@%:@@%:@ Output variables. @%:@@%:@
+@%:@@%:@ ----------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+@%:@@%:@ ------------------- @%:@@%:@
+@%:@@%:@ File substitutions. @%:@@%:@
+@%:@@%:@ ------------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ confdefs.h. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test -r "$ac_site_file"; then
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+ac_header_list="$ac_header_list sys/time.h"
+ac_header_list="$ac_header_list unistd.h"
+ac_func_list="$ac_func_list alarm"
+ac_func_list="$ac_func_list fpurge"
+ac_func_list="$ac_func_list __fpurge"
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+ac_aux_dir=
+for ac_dir in ./support "$srcdir"/./support; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&5
+$as_echo "$as_me: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+BASHVERS=4.0
+RELSTATUS=release
+
+case "$RELSTATUS" in
+alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
+*) DEBUG= MALLOC_DEBUG= ;;
+esac
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+{ $as_echo "$as_me:$LINENO: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+$as_echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:$LINENO: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+$as_echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+opt_bash_malloc=yes
+opt_purify=no
+opt_purecov=no
+opt_afs=no
+opt_curses=no
+opt_with_installed_readline=no
+
+#htmldir=
+
+case "${host_cpu}-${host_os}" in
+alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
+*[Cc]ray*-*) opt_bash_malloc=no ;; # Crays
+*-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
+sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
+sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
+#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
+#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
+*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
+*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
+*-macos*) opt_bash_malloc=no ;; # Apple MacOS X
+*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
+*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
+*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
+*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+esac
+
+# memory scrambling on free()
+case "${host_os}" in
+sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
+*) opt_memscramble=yes ;;
+esac
+
+
+@%:@ Check whether --with-lispdir was given.
+if test "${with_lispdir+set}" = set; then
+ withval=$with_lispdir; lispdir="$withval"
+ { $as_echo "$as_me:$LINENO: checking where .elc files should go" >&5
+$as_echo_n "checking where .elc files should go... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $lispdir" >&5
+$as_echo "$lispdir" >&6; }
+else
+
+ # If set to t, that means we are running in a shell under Emacs.
+ # If you have an Emacs named "t", then use the full path.
+ test x"$EMACS" = xt && EMACS=
+ for ac_prog in emacs xemacs
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_EMACS+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$EMACS"; then
+ ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_EMACS="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+EMACS=$ac_cv_prog_EMACS
+if test -n "$EMACS"; then
+ { $as_echo "$as_me:$LINENO: result: $EMACS" >&5
+$as_echo "$EMACS" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$EMACS" && break
+done
+test -n "$EMACS" || EMACS="no"
+
+ if test $EMACS != "no"; then
+ if test x${lispdir+set} != xset; then
+ { $as_echo "$as_me:$LINENO: checking where .elc files should go" >&5
+$as_echo_n "checking where .elc files should go... " >&6; }
+if test "${am_cv_lispdir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'`
+ if test -z "$am_cv_lispdir"; then
+ am_cv_lispdir='${datadir}/emacs/site-lisp'
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_lispdir" >&5
+$as_echo "$am_cv_lispdir" >&6; }
+ lispdir="$am_cv_lispdir"
+ fi
+ fi
+
+fi
+
+
+
+
+
+
+@%:@ Check whether --with-afs was given.
+if test "${with_afs+set}" = set; then
+ withval=$with_afs; opt_afs=$withval
+fi
+
+
+@%:@ Check whether --with-bash-malloc was given.
+if test "${with_bash_malloc+set}" = set; then
+ withval=$with_bash_malloc; opt_bash_malloc=$withval
+fi
+
+
+@%:@ Check whether --with-curses was given.
+if test "${with_curses+set}" = set; then
+ withval=$with_curses; opt_curses=$withval
+fi
+
+
+@%:@ Check whether --with-gnu-malloc was given.
+if test "${with_gnu_malloc+set}" = set; then
+ withval=$with_gnu_malloc; opt_bash_malloc=$withval
+fi
+
+
+@%:@ Check whether --with-installed-readline was given.
+if test "${with_installed_readline+set}" = set; then
+ withval=$with_installed_readline; opt_with_installed_readline=$withval
+fi
+
+
+@%:@ Check whether --with-purecov was given.
+if test "${with_purecov+set}" = set; then
+ withval=$with_purecov; opt_purecov=$withval
+fi
+
+
+@%:@ Check whether --with-purify was given.
+if test "${with_purify+set}" = set; then
+ withval=$with_purify; opt_purify=$withval
+fi
+
+
+if test "$opt_bash_malloc" = yes; then
+ MALLOC_TARGET=malloc
+ MALLOC_SRC=malloc.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define USING_BASH_MALLOC 1
+_ACEOF
+
+else
+ MALLOC_LIB=
+ MALLOC_LIBRARY=
+ MALLOC_LDFLAGS=
+ MALLOC_DEP=
+fi
+
+if test "$opt_purify" = yes; then
+ PURIFY="purify "
+ cat >>confdefs.h <<\_ACEOF
+@%:@define DISABLE_MALLOC_WRAPPERS 1
+_ACEOF
+
+else
+ PURIFY=
+fi
+
+if test "$opt_purecov" = yes; then
+ PURIFY="${PURIFY}purecov"
+fi
+
+if test "$opt_afs" = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define AFS 1
+_ACEOF
+
+fi
+
+if test "$opt_curses" = yes; then
+ prefer_curses=yes
+fi
+
+if test -z "${DEBUGGER_START_FILE}"; then
+ DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
+fi
+
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_extended_glob=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_xpg_echo=no
+opt_strict_posix=no
+opt_cond_command=yes
+opt_cond_regexp=yes
+opt_coproc=yes
+opt_arith_for_command=yes
+opt_net_redirs=yes
+opt_progcomp=yes
+opt_separate_help=no
+opt_multibyte=yes
+opt_debugger=yes
+opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
+
+opt_static_link=no
+opt_profiling=no
+
+@%:@ Check whether --enable-minimal-config was given.
+if test "${enable_minimal_config+set}" = set; then
+ enableval=$enable_minimal_config; opt_minimal_config=$enableval
+fi
+
+
+if test $opt_minimal_config = yes; then
+ opt_job_control=no opt_alias=no opt_readline=no
+ opt_history=no opt_bang_history=no opt_dirstack=no
+ opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+ opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+ opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+ opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
+ opt_net_redirs=no opt_progcomp=no opt_separate_help=no
+ opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+ opt_casemod_attrs=no opt_casemod_expansions=no
+fi
+
+@%:@ Check whether --enable-alias was given.
+if test "${enable_alias+set}" = set; then
+ enableval=$enable_alias; opt_alias=$enableval
+fi
+
+@%:@ Check whether --enable-arith-for-command was given.
+if test "${enable_arith_for_command+set}" = set; then
+ enableval=$enable_arith_for_command; opt_arith_for_command=$enableval
+fi
+
+@%:@ Check whether --enable-array-variables was given.
+if test "${enable_array_variables+set}" = set; then
+ enableval=$enable_array_variables; opt_array_variables=$enableval
+fi
+
+@%:@ Check whether --enable-bang-history was given.
+if test "${enable_bang_history+set}" = set; then
+ enableval=$enable_bang_history; opt_bang_history=$enableval
+fi
+
+@%:@ Check whether --enable-brace-expansion was given.
+if test "${enable_brace_expansion+set}" = set; then
+ enableval=$enable_brace_expansion; opt_brace_expansion=$enableval
+fi
+
+@%:@ Check whether --enable-casemod-attributes was given.
+if test "${enable_casemod_attributes+set}" = set; then
+ enableval=$enable_casemod_attributes; opt_casemod_attrs=$enableval
+fi
+
+@%:@ Check whether --enable-casemod-expansions was given.
+if test "${enable_casemod_expansions+set}" = set; then
+ enableval=$enable_casemod_expansions; opt_casemod_expansions=$enableval
+fi
+
+@%:@ Check whether --enable-command-timing was given.
+if test "${enable_command_timing+set}" = set; then
+ enableval=$enable_command_timing; opt_command_timing=$enableval
+fi
+
+@%:@ Check whether --enable-cond-command was given.
+if test "${enable_cond_command+set}" = set; then
+ enableval=$enable_cond_command; opt_cond_command=$enableval
+fi
+
+@%:@ Check whether --enable-cond-regexp was given.
+if test "${enable_cond_regexp+set}" = set; then
+ enableval=$enable_cond_regexp; opt_cond_regexp=$enableval
+fi
+
+@%:@ Check whether --enable-coprocesses was given.
+if test "${enable_coprocesses+set}" = set; then
+ enableval=$enable_coprocesses; opt_coproc=$enableval
+fi
+
+@%:@ Check whether --enable-debugger was given.
+if test "${enable_debugger+set}" = set; then
+ enableval=$enable_debugger; opt_debugger=$enableval
+fi
+
+@%:@ Check whether --enable-directory-stack was given.
+if test "${enable_directory_stack+set}" = set; then
+ enableval=$enable_directory_stack; opt_dirstack=$enableval
+fi
+
+@%:@ Check whether --enable-disabled-builtins was given.
+if test "${enable_disabled_builtins+set}" = set; then
+ enableval=$enable_disabled_builtins; opt_disabled_builtins=$enableval
+fi
+
+@%:@ Check whether --enable-dparen-arithmetic was given.
+if test "${enable_dparen_arithmetic+set}" = set; then
+ enableval=$enable_dparen_arithmetic; opt_dparen_arith=$enableval
+fi
+
+@%:@ Check whether --enable-extended-glob was given.
+if test "${enable_extended_glob+set}" = set; then
+ enableval=$enable_extended_glob; opt_extended_glob=$enableval
+fi
+
+@%:@ Check whether --enable-help-builtin was given.
+if test "${enable_help_builtin+set}" = set; then
+ enableval=$enable_help_builtin; opt_help=$enableval
+fi
+
+@%:@ Check whether --enable-history was given.
+if test "${enable_history+set}" = set; then
+ enableval=$enable_history; opt_history=$enableval
+fi
+
+@%:@ Check whether --enable-job-control was given.
+if test "${enable_job_control+set}" = set; then
+ enableval=$enable_job_control; opt_job_control=$enableval
+fi
+
+@%:@ Check whether --enable-multibyte was given.
+if test "${enable_multibyte+set}" = set; then
+ enableval=$enable_multibyte; opt_multibyte=$enableval
+fi
+
+@%:@ Check whether --enable-net-redirections was given.
+if test "${enable_net_redirections+set}" = set; then
+ enableval=$enable_net_redirections; opt_net_redirs=$enableval
+fi
+
+@%:@ Check whether --enable-process-substitution was given.
+if test "${enable_process_substitution+set}" = set; then
+ enableval=$enable_process_substitution; opt_process_subst=$enableval
+fi
+
+@%:@ Check whether --enable-progcomp was given.
+if test "${enable_progcomp+set}" = set; then
+ enableval=$enable_progcomp; opt_progcomp=$enableval
+fi
+
+@%:@ Check whether --enable-prompt-string-decoding was given.
+if test "${enable_prompt_string_decoding+set}" = set; then
+ enableval=$enable_prompt_string_decoding; opt_prompt_decoding=$enableval
+fi
+
+@%:@ Check whether --enable-readline was given.
+if test "${enable_readline+set}" = set; then
+ enableval=$enable_readline; opt_readline=$enableval
+fi
+
+@%:@ Check whether --enable-restricted was given.
+if test "${enable_restricted+set}" = set; then
+ enableval=$enable_restricted; opt_restricted=$enableval
+fi
+
+@%:@ Check whether --enable-select was given.
+if test "${enable_select+set}" = set; then
+ enableval=$enable_select; opt_select=$enableval
+fi
+
+@%:@ Check whether --enable-separate-helpfiles was given.
+if test "${enable_separate_helpfiles+set}" = set; then
+ enableval=$enable_separate_helpfiles; opt_separate_help=$enableval
+fi
+
+@%:@ Check whether --enable-single-help-strings was given.
+if test "${enable_single_help_strings+set}" = set; then
+ enableval=$enable_single_help_strings; opt_single_longdoc_strings=$enableval
+fi
+
+@%:@ Check whether --enable-strict-posix-default was given.
+if test "${enable_strict_posix_default+set}" = set; then
+ enableval=$enable_strict_posix_default; opt_strict_posix=$enableval
+fi
+
+@%:@ Check whether --enable-usg-echo-default was given.
+if test "${enable_usg_echo_default+set}" = set; then
+ enableval=$enable_usg_echo_default; opt_xpg_echo=$enableval
+fi
+
+@%:@ Check whether --enable-xpg-echo-default was given.
+if test "${enable_xpg_echo_default+set}" = set; then
+ enableval=$enable_xpg_echo_default; opt_xpg_echo=$enableval
+fi
+
+
+@%:@ Check whether --enable-mem-scramble was given.
+if test "${enable_mem_scramble+set}" = set; then
+ enableval=$enable_mem_scramble; opt_memscramble=$enableval
+fi
+
+@%:@ Check whether --enable-profiling was given.
+if test "${enable_profiling+set}" = set; then
+ enableval=$enable_profiling; opt_profiling=$enableval
+fi
+
+@%:@ Check whether --enable-static-link was given.
+if test "${enable_static_link+set}" = set; then
+ enableval=$enable_static_link; opt_static_link=$enableval
+fi
+
+
+
+
+if test $opt_alias = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define ALIAS 1
+_ACEOF
+
+fi
+if test $opt_dirstack = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define PUSHD_AND_POPD 1
+_ACEOF
+
+fi
+if test $opt_restricted = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define RESTRICTED_SHELL 1
+_ACEOF
+
+fi
+if test $opt_process_subst = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define PROCESS_SUBSTITUTION 1
+_ACEOF
+
+fi
+if test $opt_prompt_decoding = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define PROMPT_STRING_DECODE 1
+_ACEOF
+
+fi
+if test $opt_select = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define SELECT_COMMAND 1
+_ACEOF
+
+fi
+if test $opt_help = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HELP_BUILTIN 1
+_ACEOF
+
+fi
+if test $opt_array_variables = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define ARRAY_VARS 1
+_ACEOF
+
+fi
+if test $opt_dparen_arith = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define DPAREN_ARITHMETIC 1
+_ACEOF
+
+fi
+if test $opt_brace_expansion = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define BRACE_EXPANSION 1
+_ACEOF
+
+fi
+if test $opt_disabled_builtins = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define DISABLED_BUILTINS 1
+_ACEOF
+
+fi
+if test $opt_command_timing = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define COMMAND_TIMING 1
+_ACEOF
+
+fi
+if test $opt_xpg_echo = yes ; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define DEFAULT_ECHO_TO_XPG 1
+_ACEOF
+
+fi
+if test $opt_strict_posix = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define STRICT_POSIX 1
+_ACEOF
+
+fi
+if test $opt_extended_glob = yes ; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define EXTENDED_GLOB 1
+_ACEOF
+
+fi
+if test $opt_cond_command = yes ; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define COND_COMMAND 1
+_ACEOF
+
+fi
+if test $opt_cond_regexp = yes ; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define COND_REGEXP 1
+_ACEOF
+
+fi
+if test $opt_coproc = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define COPROCESS_SUPPORT 1
+_ACEOF
+
+fi
+if test $opt_arith_for_command = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define ARITH_FOR_COMMAND 1
+_ACEOF
+
+fi
+if test $opt_net_redirs = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define NETWORK_REDIRECTIONS 1
+_ACEOF
+
+fi
+if test $opt_progcomp = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define PROGRAMMABLE_COMPLETION 1
+_ACEOF
+
+fi
+if test $opt_multibyte = no; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define NO_MULTIBYTE_SUPPORT 1
+_ACEOF
+
+fi
+if test $opt_debugger = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define DEBUGGER 1
+_ACEOF
+
+fi
+if test $opt_casemod_attrs = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define CASEMOD_ATTRS 1
+_ACEOF
+
+fi
+if test $opt_casemod_expansions = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define CASEMOD_EXPANSIONS 1
+_ACEOF
+
+fi
+
+if test $opt_memscramble = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define MEMSCRAMBLE 1
+_ACEOF
+
+fi
+
+if test "$opt_minimal_config" = yes; then
+ TESTSCRIPT=run-minimal
+else
+ TESTSCRIPT=run-all
+fi
+
+HELPDIR= HELPDIRDEFINE= HELPINSTALL=
+if test "$opt_separate_help" != no; then
+ if test "$opt_separate_help" = "yes" ; then
+ HELPDIR='${datadir}/bash'
+ else
+ HELPDIR=$opt_separate_help
+ fi
+ HELPDIRDEFINE='-H ${HELPDIR}'
+ HELPINSTALL='install-help'
+fi
+HELPSTRINGS=
+if test "$opt_single_longdoc_strings" != "yes"; then
+ HELPSTRINGS='-S'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+echo ""
+echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
+echo ""
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $@%:@ != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler --version >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -v >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compiler -V >&5") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_compiler_gnu=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_g=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_prog_cc_c89=$ac_arg
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
+$as_echo_n "checking for strerror in -lcposix... " >&6; }
+if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcposix $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_cposix_strerror=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_cposix_strerror=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
+$as_echo "$ac_cv_lib_cposix_strerror" >&6; }
+if test "x$ac_cv_lib_cposix_strerror" = x""yes; then
+ LIBS="$LIBS -lcposix"
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@ifdef __STDC__
+@%:@ include <limits.h>
+@%:@else
+@%:@ include <assert.h>
+@%:@endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@ifdef __STDC__
+@%:@ include <limits.h>
+@%:@else
+@%:@ include <assert.h>
+@%:@endif
+ Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ # Broken: success on invalid input.
+continue
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+ :
+else
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ ac_count=`expr $ac_count + 1`
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stdc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then
+ :
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ if test "${ac_cv_header_minix_config_h+set}" = set; then
+ { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
+$as_echo_n "checking for minix/config.h... " >&6; }
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+$as_echo "$ac_cv_header_minix_config_h" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5
+$as_echo_n "checking minix/config.h usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <minix/config.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5
+$as_echo_n "checking minix/config.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <minix/config.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
+$as_echo_n "checking for minix/config.h... " >&6; }
+if test "${ac_cv_header_minix_config_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_header_minix_config_h=$ac_header_preproc
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+$as_echo "$ac_cv_header_minix_config_h" >&6; }
+
+fi
+if test "x$ac_cv_header_minix_config_h" = x""yes; then
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define _POSIX_SOURCE 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define _POSIX_1_SOURCE 2
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define _MINIX 1
+_ACEOF
+
+ fi
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_safe_to_define___extensions__=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_safe_to_define___extensions__=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ cat >>confdefs.h <<\_ACEOF
+@%:@define __EXTENSIONS__ 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define _ALL_SOURCE 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define _GNU_SOURCE 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define _POSIX_PTHREAD_SEMANTICS 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define _TANDEM_SOURCE 1
+_ACEOF
+
+
+
+@%:@ Check whether --enable-largefile was given.
+if test "${enable_largefile+set}" = set; then
+ enableval=$enable_largefile;
+fi
+
+if test "$enable_largefile" != no; then
+
+ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
+$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
+if test "${ac_cv_sys_largefile_CC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_sys_largefile_CC=no
+ if test "$GCC" != yes; then
+ ac_save_CC=$CC
+ while :; do
+ # IRIX 6.2 and later do not support large files by default,
+ # so use the C compiler's -n32 option if that helps.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ CC="$CC -n32"
+ rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_largefile_CC=' -n32'; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+ break
+ done
+ CC=$ac_save_CC
+ rm -f conftest.$ac_ext
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
+$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+ if test "$ac_cv_sys_largefile_CC" != no; then
+ CC=$CC$ac_cv_sys_largefile_CC
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test "${ac_cv_sys_file_offset_bits+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_file_offset_bits=no; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@define _FILE_OFFSET_BITS 64
+@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_file_offset_bits=64; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_file_offset_bits=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
+$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+case $ac_cv_sys_file_offset_bits in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+@%:@define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ if test $ac_cv_sys_file_offset_bits = unknown; then
+ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
+$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test "${ac_cv_sys_large_files+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_large_files=no; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@define _LARGE_FILES 1
+@%:@include <sys/types.h>
+ /* Check that off_t can represent 2**63 - 1 correctly.
+ We can't simply define LARGE_OFF_T to be 9223372036854775807,
+ since some C++ compilers masquerading as C compilers
+ incorrectly reject 9223372036854775807. */
+@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
+ && LARGE_OFF_T % 2147483647 == 1)
+ ? 1 : -1];
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_sys_large_files=1; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cv_sys_large_files=unknown
+ break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
+$as_echo "$ac_cv_sys_large_files" >&6; }
+case $ac_cv_sys_large_files in #(
+ no | unknown) ;;
+ *)
+cat >>confdefs.h <<_ACEOF
+@%:@define _LARGE_FILES $ac_cv_sys_large_files
+_ACEOF
+;;
+esac
+rm -rf conftest*
+ fi
+fi
+
+
+
+SIGNAMES_O=
+SIGNAMES_H=lsignames.h
+
+
+
+CROSS_COMPILE=
+if test "x$cross_compiling" = "xyes"; then
+ case "${host}" in
+ *-cygwin*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ *-mingw*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ i[3456]86-*-beos*)
+ cross_cache=${srcdir}/cross-build/x86-beos.cache
+ ;;
+ *) echo "configure: cross-compiling for $host is not supported" >&2
+ ;;
+ esac
+ if test -n "${cross_cache}" && test -r "${cross_cache}"; then
+ echo "loading cross-build cache file ${cross_cache}"
+ . ${cross_cache}
+ fi
+ unset cross_cache
+ SIGNAMES_O='signames.o'
+ CROSS_COMPILE='-DCROSS_COMPILING'
+
+fi
+
+
+
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+
+
+
+test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
+
+test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
+
+if test "$opt_profiling" = "yes"; then
+ PROFILE_FLAGS=-pg
+ case "$host_os" in
+ solaris2*) ;;
+ *) opt_static_link=yes ;;
+ esac
+ DEBUG= MALLOC_DEBUG=
+fi
+
+if test "$opt_static_link" = yes; then
+ # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
+ if test -n "$GCC" || test "$ac_cv_c_compiler_gnu" = "yes"; then
+ STATIC_LD="-static"
+ case "$host_os" in
+ solaris2*) ;;
+ *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
+ esac
+ fi
+fi
+
+if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
+fi
+
+test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
+
+
+
+
+
+
+
+
+
+
+if test $ac_cv_c_compiler_gnu = yes; then
+ { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
+$as_echo_n "checking whether $CC needs -traditional... " >&6; }
+if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sgtty.h>
+Autoconf TIOCGETP
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "$ac_pattern" >/dev/null 2>&1; then
+ ac_cv_prog_gcc_traditional=yes
+else
+ ac_cv_prog_gcc_traditional=no
+fi
+rm -f conftest*
+
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <termio.h>
+Autoconf TCGETA
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "$ac_pattern" >/dev/null 2>&1; then
+ ac_cv_prog_gcc_traditional=yes
+fi
+rm -f conftest*
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
+$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+fi
+
+
+
+if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
+then
+ # If the user specified --with-installed-readline=PREFIX and PREFIX
+ # is not `yes', set ac_cv_rl_prefix to PREFIX
+ test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
+
+
+if test "X$bash_cv_termcap_lib" = "X"; then
+_bash_needmsg=yes
+else
+{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
+$as_echo_n "checking which library has the termcap functions... " >&6; }
+_bash_needmsg=
+fi
+if test "${bash_cv_termcap_lib+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent" >&5
+$as_echo_n "checking for tgetent... " >&6; }
+if test "${ac_cv_func_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define tgetent to an innocuous variant, in case <limits.h> declares tgetent.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define tgetent innocuous_tgetent
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char tgetent (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef tgetent
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_tgetent || defined __stub___tgetent
+choke me
+#endif
+
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
+$as_echo "$ac_cv_func_tgetent" >&6; }
+if test "x$ac_cv_func_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libc
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
+$as_echo_n "checking for tgetent in -ltermcap... " >&6; }
+if test "${ac_cv_lib_termcap_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltermcap $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_termcap_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_termcap_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
+$as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
+if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libtermcap
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
+$as_echo_n "checking for tgetent in -ltinfo... " >&6; }
+if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltinfo $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_tinfo_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_tinfo_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
+$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
+if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libtinfo
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
+$as_echo_n "checking for tgetent in -lcurses... " >&6; }
+if test "${ac_cv_lib_curses_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_curses_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_curses_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
+$as_echo "$ac_cv_lib_curses_tgetent" >&6; }
+if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libcurses
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
+$as_echo_n "checking for tgetent in -lncurses... " >&6; }
+if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_ncurses_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_ncurses_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
+$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
+if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libncurses
+else
+ bash_cv_termcap_lib=gnutermcap
+fi
+
+fi
+
+fi
+
+fi
+
+fi
+
+fi
+
+if test "X$_bash_needmsg" = "Xyes"; then
+{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
+$as_echo_n "checking which library has the termcap functions... " >&6; }
+fi
+{ $as_echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5
+$as_echo "using $bash_cv_termcap_lib" >&6; }
+if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
+LDFLAGS="$LDFLAGS -L./lib/termcap"
+TERMCAP_LIB="./lib/termcap/libtermcap.a"
+TERMCAP_DEP="./lib/termcap/libtermcap.a"
+elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
+TERMCAP_LIB=-ltermcap
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libtinfo; then
+TERMCAP_LIB=-ltinfo
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libncurses; then
+TERMCAP_LIB=-lncurses
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libc; then
+TERMCAP_LIB=
+TERMCAP_DEP=
+else
+TERMCAP_LIB=-lcurses
+TERMCAP_DEP=
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking version of installed readline library" >&5
+$as_echo_n "checking version of installed readline library... " >&6; }
+
+# What a pain in the ass this is.
+
+# save cpp and ld options
+_save_CFLAGS="$CFLAGS"
+_save_LDFLAGS="$LDFLAGS"
+_save_LIBS="$LIBS"
+
+# Don't set ac_cv_rl_prefix if the caller has already assigned a value. This
+# allows the caller to do something like $_rl_prefix=$withval if the user
+# specifies --with-installed-readline=PREFIX as an argument to configure
+
+if test -z "$ac_cv_rl_prefix"; then
+test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
+fi
+
+eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
+eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
+
+LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
+CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
+LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
+
+if test "${ac_cv_rl_version+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_rl_version='4.2'
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <readline/readline.h>
+
+extern int rl_gnu_readline_p;
+
+main()
+{
+ FILE *fp;
+ fp = fopen("conftest.rlv", "w");
+ if (fp == 0)
+ exit(1);
+ if (rl_gnu_readline_p != 1)
+ fprintf(fp, "0.0\n");
+ else
+ fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
+ fclose(fp);
+ exit(0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_rl_version=`cat conftest.rlv`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_rl_version='0.0'
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+
+CFLAGS="$_save_CFLAGS"
+LDFLAGS="$_save_LDFLAGS"
+LIBS="$_save_LIBS"
+
+RL_MAJOR=0
+RL_MINOR=0
+
+# (
+case "$ac_cv_rl_version" in
+2*|3*|4*|5*|6*|7*|8*|9*)
+ RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
+ RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[a-zA-Z]*$::'`
+ ;;
+esac
+
+# (((
+case $RL_MAJOR in
+[0-9][0-9]) _RL_MAJOR=$RL_MAJOR ;;
+[0-9]) _RL_MAJOR=0$RL_MAJOR ;;
+*) _RL_MAJOR=00 ;;
+esac
+
+# (((
+case $RL_MINOR in
+[0-9][0-9]) _RL_MINOR=$RL_MINOR ;;
+[0-9]) _RL_MINOR=0$RL_MINOR ;;
+*) _RL_MINOR=00 ;;
+esac
+
+RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
+
+# Readline versions greater than 4.2 have these defines in readline.h
+
+if test $ac_cv_rl_version = '0.0' ; then
+ { $as_echo "$as_me:$LINENO: WARNING: Could not test version of installed readline library." >&5
+$as_echo "$as_me: WARNING: Could not test version of installed readline library." >&2;}
+elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
+ # set these for use by the caller
+ RL_PREFIX=$ac_cv_rl_prefix
+ RL_LIBDIR=$ac_cv_rl_libdir
+ RL_INCLUDEDIR=$ac_cv_rl_includedir
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_rl_version" >&5
+$as_echo "$ac_cv_rl_version" >&6; }
+else
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define RL_READLINE_VERSION $RL_VERSION
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define RL_VERSION_MAJOR $RL_MAJOR
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define RL_VERSION_MINOR $RL_MINOR
+_ACEOF
+
+
+
+
+
+
+# set these for use by the caller
+RL_PREFIX=$ac_cv_rl_prefix
+RL_LIBDIR=$ac_cv_rl_libdir
+RL_INCLUDEDIR=$ac_cv_rl_includedir
+
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_rl_version" >&5
+$as_echo "$ac_cv_rl_version" >&6; }
+
+fi
+
+
+ case "$ac_cv_rl_version" in
+ 5*|6*|7*|8*|9*) ;;
+ *) opt_with_installed_readline=no
+ { $as_echo "$as_me:$LINENO: WARNING: installed readline library is too old to be linked with bash" >&5
+$as_echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: using private bash version" >&5
+$as_echo "$as_me: WARNING: using private bash version" >&2;}
+ ;;
+ esac
+fi
+
+TILDE_LIB=-ltilde
+if test $opt_readline = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define READLINE 1
+_ACEOF
+
+ if test "$opt_with_installed_readline" != "no" ; then
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ READLINE_DEP=
+ READLINE_LIB=-lreadline
+ # section for OS versions that don't allow unresolved symbols
+ # to be compiled into dynamic libraries.
+ case "$host_os" in
+ cygwin*) TILDE_LIB= ;;
+ esac
+ else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_DEP='$(READLINE_LIBRARY)'
+ # section for OS versions that ship an older/broken version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[89]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+ *) READLINE_LIB=-lreadline ;;
+ esac
+ fi
+else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes || test $opt_bang_history = yes; then
+ if test $opt_history = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HISTORY 1
+_ACEOF
+
+ fi
+ if test $opt_bang_history = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define BANG_HISTORY 1
+_ACEOF
+
+ fi
+ if test "$opt_with_installed_readline" != "no"; then
+ HIST_LIBDIR=$RL_LIBDIR
+ HISTORY_DEP=
+ HISTORY_LIB=-lhistory
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # section for OS versions that ship an older version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[89]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+ *) HISTORY_LIB=-lhistory ;;
+ esac
+ fi
+else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_LIB= HISTORY_DEP=
+fi
+
+
+
+
+
+
+
+
+
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+# Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AR=""
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:$LINENO: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+test -n "$ARFLAGS" || ARFLAGS="cr"
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+for ac_prog in 'bison -y' byacc
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_YACC+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$YACC"; then
+ ac_cv_prog_YACC="$YACC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_YACC="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+YACC=$ac_cv_prog_YACC
+if test -n "$YACC"; then
+ { $as_echo "$as_me:$LINENO: result: $YACC" >&5
+$as_echo "$YACC" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$YACC" && break
+done
+test -n "$YACC" || YACC="yacc"
+
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+case "$host_os" in
+opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
+*) MAKE_SHELL=/bin/sh ;;
+esac
+
+
+if test x$SIZE = x; then
+ if test x$ac_tool_prefix = x; then
+ SIZE=size
+ else
+ SIZE=${ac_tool_prefix}size
+ save_IFS=$IFS ; IFS=:
+ size_found=0
+ for dir in $PATH; do
+ if test -x $dir/$SIZE ; then
+ size_found=1
+ break
+ fi
+ done
+ if test $size_found -eq 0; then
+ SIZE=:
+ fi
+ IFS=$save_IFS
+ fi
+fi
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define _GNU_SOURCE 1
+_ACEOF
+
+
+{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_const=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_const=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define const /**/
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if test "${ac_cv_c_inline+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_inline=$ac_kw
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+ ;;
+esac
+
+
+ { $as_echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are some -arch flags. Note that *ppc* also matches
+ # ppc64. This check is also rather less than ideal.
+ case "${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}" in #(
+ *-arch*ppc*|*-arch*i386*|*-arch*x86_64*) ac_cv_c_bigendian=universal;;
+ esac
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_bigendian=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_bigendian=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then
+ # Try to guess by grepping values from an object file.
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_bigendian=no
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_bigendian=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+ fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ cat >>confdefs.h <<\_ACEOF
+@%:@define WORDS_BIGENDIAN 1
+_ACEOF
+;; #(
+ no)
+ ;; #(
+ universal)
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define AC_APPLE_UNIVERSAL_BUILD 1
+_ACEOF
+
+ ;; #(
+ *)
+ { { $as_echo "$as_me:$LINENO: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+$as_echo "$as_me: error: unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+
+{ $as_echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5
+$as_echo_n "checking for preprocessor stringizing operator... " >&6; }
+if test "${ac_cv_c_stringize+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@define x(y) #y
+
+char *s = x(teststring);
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "@%:@teststring" >/dev/null 2>&1; then
+ ac_cv_c_stringize=no
+else
+ ac_cv_c_stringize=yes
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5
+$as_echo "$ac_cv_c_stringize" >&6; }
+if test $ac_cv_c_stringize = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRINGIZE 1
+_ACEOF
+
+fi
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for long double with more range or precision than double" >&5
+$as_echo_n "checking for long double with more range or precision than double... " >&6; }
+if test "${ac_cv_type_long_double_wider+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <float.h>
+ long double const a[] =
+ {
+ 0.0L, DBL_MIN, DBL_MAX, DBL_EPSILON,
+ LDBL_MIN, LDBL_MAX, LDBL_EPSILON
+ };
+ long double
+ f (long double x)
+ {
+ return ((x + (unsigned long int) 10) * (-1 / x) + a[0]
+ + (x ? f (x) : 'c'));
+ }
+
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !((0 < ((DBL_MAX_EXP < LDBL_MAX_EXP)
+ + (DBL_MANT_DIG < LDBL_MANT_DIG)
+ - (LDBL_MAX_EXP < DBL_MAX_EXP)
+ - (LDBL_MANT_DIG < DBL_MANT_DIG)))
+ && (int) LDBL_EPSILON == 0
+ )@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_long_double_wider=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_long_double_wider=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_long_double_wider" >&5
+$as_echo "$ac_cv_type_long_double_wider" >&6; }
+ if test $ac_cv_type_long_double_wider = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LONG_DOUBLE_WIDER 1
+_ACEOF
+
+ fi
+
+ ac_cv_c_long_double=$ac_cv_type_long_double_wider
+ if test $ac_cv_c_long_double = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LONG_DOUBLE 1
+_ACEOF
+
+ fi
+
+{ $as_echo "$as_me:$LINENO: checking for function prototypes" >&5
+$as_echo_n "checking for function prototypes... " >&6; }
+if test "$ac_cv_prog_cc_c89" != no; then
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define PROTOTYPES 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define __PROTOTYPES 1
+_ACEOF
+
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether char is unsigned" >&5
+$as_echo_n "checking whether char is unsigned... " >&6; }
+if test "${ac_cv_c_char_unsigned+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((char) -1) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_char_unsigned=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_char_unsigned=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5
+$as_echo "$ac_cv_c_char_unsigned" >&6; }
+if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define __CHAR_UNSIGNED__ 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for working volatile" >&5
+$as_echo_n "checking for working volatile... " >&6; }
+if test "${ac_cv_c_volatile+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+volatile int x;
+int * volatile y = (int *) 0;
+return !x && !y;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_volatile=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_c_volatile=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5
+$as_echo "$ac_cv_c_volatile" >&6; }
+if test $ac_cv_c_volatile = no; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define volatile /**/
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for C/C++ restrict keyword" >&5
+$as_echo_n "checking for C/C++ restrict keyword... " >&6; }
+if test "${ac_cv_c_restrict+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_restrict=no
+ # The order here caters to the fact that C++ does not require restrict.
+ for ac_kw in __restrict __restrict__ _Restrict restrict; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+typedef int * int_ptr;
+ int foo (int_ptr $ac_kw ip) {
+ return ip[0];
+ }
+int
+main ()
+{
+int s[1];
+ int * $ac_kw t = s;
+ t[0] = 0;
+ return foo(t)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_c_restrict=$ac_kw
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_restrict" != no && break
+ done
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_restrict" >&5
+$as_echo "$ac_cv_c_restrict" >&6; }
+
+
+ case $ac_cv_c_restrict in
+ restrict) ;;
+ no) cat >>confdefs.h <<\_ACEOF
+@%:@define restrict /**/
+_ACEOF
+ ;;
+ *) cat >>confdefs.h <<_ACEOF
+@%:@define restrict $ac_cv_c_restrict
+_ACEOF
+ ;;
+ esac
+
+
+
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ case "$ac_aux_dir" in
+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
+ esac
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ @%:@ Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:$LINENO: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ { $as_echo "$as_me:$LINENO: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ rm -f messages.po
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGMERGE+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ { $as_echo "$as_me:$LINENO: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "$GMSGFMT" != ":"; then
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+ { $as_echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
+$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; }
+ GMSGFMT=":"
+ fi
+ fi
+
+ if test "$XGETTEXT" != ":"; then
+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
+ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ { $as_echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5
+$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
+ XGETTEXT=":"
+ fi
+ rm -f messages.po
+ fi
+
+ ac_config_commands="$ac_config_commands default-1"
+
+
+{ $as_echo "$as_me:$LINENO: checking for off_t" >&5
+$as_echo_n "checking for off_t... " >&6; }
+if test "${ac_cv_type_off_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_off_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (off_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((off_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_off_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
+$as_echo "$ac_cv_type_off_t" >&6; }
+if test "x$ac_cv_type_off_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define off_t long int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
+$as_echo_n "checking for size_t... " >&6; }
+if test "${ac_cv_type_size_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_size_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (size_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((size_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_size_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+$as_echo "$ac_cv_type_size_t" >&6; }
+if test "x$ac_cv_type_size_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define size_t unsigned int
+_ACEOF
+
+fi
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_working_alloca_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_working_alloca_h=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ALLOCA_H 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_alloca_works=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_alloca_works=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ALLOCA 1
+_ACEOF
+
+else
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define C_ALLOCA 1
+_ACEOF
+
+
+{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if test "${ac_cv_os_cray+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "webecray" >/dev/null 2>&1; then
+ ac_cv_os_cray=yes
+else
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+ break
+fi
+
+ done
+fi
+
+{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_c_stack_direction=0
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+find_stack_direction ()
+{
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+ return find_stack_direction () < 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_stack_direction=1
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_stack_direction=-1
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+
+
+for ac_header in stdlib.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_func in getpagesize
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:$LINENO: checking for working mmap" >&5
+$as_echo_n "checking for working mmap... " >&6; }
+if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+/* malloc might have been renamed as rpl_malloc. */
+#undef malloc
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the file system buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propagated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+char *malloc ();
+#endif
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+/* Assume that all systems that can run configure have sys/param.h. */
+# ifndef HAVE_SYS_PARAM_H
+# define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+int
+main ()
+{
+ char *data, *data2, *data3;
+ int i, pagesize;
+ int fd;
+
+ pagesize = getpagesize ();
+
+ /* First, make a file with some known garbage in it. */
+ data = (char *) malloc (pagesize);
+ if (!data)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand ();
+ umask (0);
+ fd = creat ("conftest.mmap", 0600);
+ if (fd < 0)
+ return 1;
+ if (write (fd, data, pagesize) != pagesize)
+ return 1;
+ close (fd);
+
+ /* Next, try to mmap the file at a fixed address which already has
+ something else allocated at it. If we can, also make sure that
+ we see the same garbage. */
+ fd = open ("conftest.mmap", O_RDWR);
+ if (fd < 0)
+ return 1;
+ data2 = (char *) malloc (2 * pagesize);
+ if (!data2)
+ return 1;
+ data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+ if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ return 1;
+
+ /* Finally, make sure that changes to the mapped area do not
+ percolate back to the file as seen by read(). (This is a bug on
+ some variants of i386 svr4.0.) */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = (char *) malloc (pagesize);
+ if (!data3)
+ return 1;
+ if (read (fd, data3, pagesize) != pagesize)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ return 1;
+ close (fd);
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_mmap_fixed_mapped=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
+$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MMAP 1
+_ACEOF
+
+fi
+rm -f conftest.mmap
+
+
+ { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5
+$as_echo_n "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
+if test "${ac_cv_gnu_library_2_1+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "Lucky GNU user" >/dev/null 2>&1; then
+ ac_cv_gnu_library_2_1=yes
+else
+ ac_cv_gnu_library_2_1=no
+fi
+rm -f conftest*
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5
+$as_echo "$ac_cv_gnu_library_2_1" >&6; }
+
+ GLIBC21="$ac_cv_gnu_library_2_1"
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5
+$as_echo_n "checking whether integer division by zero raises SIGFPE... " >&6; }
+if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ if test "$cross_compiling" = yes; then
+
+ # Guess based on the CPU.
+ case "$host_cpu" in
+ alpha* | i3456786 | m68k | s390*)
+ gt_cv_int_divbyzero_sigfpe="guessing yes";;
+ *)
+ gt_cv_int_divbyzero_sigfpe="guessing no";;
+ esac
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <signal.h>
+
+static void
+#ifdef __cplusplus
+sigfpe_handler (int sig)
+#else
+sigfpe_handler (sig) int sig;
+#endif
+{
+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
+ exit (sig != SIGFPE);
+}
+
+int x = 1;
+int y = 0;
+int z;
+int nan;
+
+int main ()
+{
+ signal (SIGFPE, sigfpe_handler);
+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
+ signal (SIGTRAP, sigfpe_handler);
+#endif
+/* Linux/SPARC yields signal SIGILL. */
+#if defined (__sparc__) && defined (__linux__)
+ signal (SIGILL, sigfpe_handler);
+#endif
+
+ z = x / y;
+ nan = y / y;
+ exit (1);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ gt_cv_int_divbyzero_sigfpe=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gt_cv_int_divbyzero_sigfpe=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5
+$as_echo "$gt_cv_int_divbyzero_sigfpe" >&6; }
+ case "$gt_cv_int_divbyzero_sigfpe" in
+ *yes) value=1;;
+ *) value=0;;
+ esac
+
+cat >>confdefs.h <<_ACEOF
+@%:@define INTDIV0_RAISES_SIGFPE $value
+_ACEOF
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5
+$as_echo_n "checking for inttypes.h... " >&6; }
+if test "${jm_ac_cv_header_inttypes_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <inttypes.h>
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ jm_ac_cv_header_inttypes_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ jm_ac_cv_header_inttypes_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $jm_ac_cv_header_inttypes_h" >&5
+$as_echo "$jm_ac_cv_header_inttypes_h" >&6; }
+ if test $jm_ac_cv_header_inttypes_h = yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_INTTYPES_H_WITH_UINTMAX 1
+_ACEOF
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for stdint.h" >&5
+$as_echo_n "checking for stdint.h... " >&6; }
+if test "${jm_ac_cv_header_stdint_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <stdint.h>
+int
+main ()
+{
+uintmax_t i = (uintmax_t) -1;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ jm_ac_cv_header_stdint_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ jm_ac_cv_header_stdint_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $jm_ac_cv_header_stdint_h" >&5
+$as_echo "$jm_ac_cv_header_stdint_h" >&6; }
+ if test $jm_ac_cv_header_stdint_h = yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_STDINT_H_WITH_UINTMAX 1
+_ACEOF
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for unsigned long long" >&5
+$as_echo_n "checking for unsigned long long... " >&6; }
+if test "${ac_cv_type_unsigned_long_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+unsigned long long ull = 1; int i = 63;
+int
+main ()
+{
+unsigned long long ullmax = (unsigned long long) -1;
+ return ull << i | ull >> i | ullmax / ull | ullmax % ull;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_type_unsigned_long_long=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_unsigned_long_long=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
+$as_echo "$ac_cv_type_unsigned_long_long" >&6; }
+ if test $ac_cv_type_unsigned_long_long = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_UNSIGNED_LONG_LONG 1
+_ACEOF
+
+ fi
+
+
+
+
+ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
+
+ test $ac_cv_type_unsigned_long_long = yes \
+ && ac_type='unsigned long long' \
+ || ac_type='unsigned long'
+
+cat >>confdefs.h <<_ACEOF
+@%:@define uintmax_t $ac_type
+_ACEOF
+
+ else
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_UINTMAX_T 1
+_ACEOF
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5
+$as_echo_n "checking for inttypes.h... " >&6; }
+if test "${gt_cv_header_inttypes_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <inttypes.h>
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gt_cv_header_inttypes_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gt_cv_header_inttypes_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5
+$as_echo "$gt_cv_header_inttypes_h" >&6; }
+ if test $gt_cv_header_inttypes_h = yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_INTTYPES_H 1
+_ACEOF
+
+ fi
+
+
+
+ if test $gt_cv_header_inttypes_h = yes; then
+ { $as_echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5
+$as_echo_n "checking whether the inttypes.h PRIxNN macros are broken... " >&6; }
+if test "${gt_cv_inttypes_pri_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <inttypes.h>
+#ifdef PRId32
+char *p = PRId32;
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ gt_cv_inttypes_pri_broken=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gt_cv_inttypes_pri_broken=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5
+$as_echo "$gt_cv_inttypes_pri_broken" >&6; }
+ fi
+ if test "$gt_cv_inttypes_pri_broken" = yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PRI_MACROS_BROKEN 1
+_ACEOF
+
+ fi
+
+
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+
+
+@%:@ Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+$as_echo_n "checking for ld used by GCC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | [A-Za-z]:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the path of ld
+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${acl_cv_path_LD+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ test "$with_gnu_ld" != no && break
+ else
+ test "$with_gnu_ld" != yes && break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${acl_cv_prog_gnu_ld+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU ld's only accept -v.
+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
+ acl_cv_prog_gnu_ld=yes
+else
+ acl_cv_prog_gnu_ld=no
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if test "${acl_cv_rpath+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+ wl="$acl_cv_wl"
+ libext="$acl_cv_libext"
+ shlibext="$acl_cv_shlibext"
+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ hardcode_direct="$acl_cv_hardcode_direct"
+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ @%:@ Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then
+ enableval=$enable_rpath; :
+else
+ enable_rpath=yes
+fi
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+@%:@ Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then
+ withval=$with_libiconv_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+
+fi
+
+ LIBICONV=
+ LTLIBICONV=
+ INCICONV=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='iconv '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$hardcode_direct" = yes; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
+geteuid getgid getuid mempcpy munmap putenv setenv setlocale localeconv stpcpy \
+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
+__fsetlocking
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:$LINENO: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if test "${am_cv_func_iconv+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ am_cv_func_iconv=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <iconv.h>
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ICONV 1
+_ACEOF
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:$LINENO: checking for iconv declaration" >&5
+$as_echo_n "checking for iconv declaration... " >&6; }
+ if test "${am_cv_proto_iconv+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ am_cv_proto_iconv_arg1=""
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ am_cv_proto_iconv_arg1="const"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
+fi
+
+ am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ { $as_echo "$as_me:$LINENO: result: ${ac_t:-
+ }$am_cv_proto_iconv" >&5
+$as_echo "${ac_t:-
+ }$am_cv_proto_iconv" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ICONV_CONST $am_cv_proto_iconv_arg1
+_ACEOF
+
+ fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
+$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+if test "${am_cv_langinfo_codeset+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <langinfo.h>
+int
+main ()
+{
+char* cs = nl_langinfo(CODESET);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ am_cv_langinfo_codeset=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ am_cv_langinfo_codeset=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5
+$as_echo "$am_cv_langinfo_codeset" >&6; }
+ if test $am_cv_langinfo_codeset = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LANGINFO_CODESET 1
+_ACEOF
+
+ fi
+
+ if test $ac_cv_header_locale_h = yes; then
+
+ { $as_echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if test "${am_cv_val_LC_MESSAGES+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <locale.h>
+int
+main ()
+{
+return LC_MESSAGES
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ am_cv_val_LC_MESSAGES=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ am_cv_val_LC_MESSAGES=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
+$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
+ if test $am_cv_val_LC_MESSAGES = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LC_MESSAGES 1
+_ACEOF
+
+ fi
+
+ fi
+
+ for ac_prog in bison
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_INTLBISON+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$INTLBISON"; then
+ ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_INTLBISON="$ac_prog"
+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+INTLBISON=$ac_cv_prog_INTLBISON
+if test -n "$INTLBISON"; then
+ { $as_echo "$as_me:$LINENO: result: $INTLBISON" >&5
+$as_echo "$INTLBISON" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$INTLBISON" && break
+done
+
+ if test -z "$INTLBISON"; then
+ ac_verc_fail=yes
+ else
+ { $as_echo "$as_me:$LINENO: checking version of bison" >&5
+$as_echo_n "checking version of bison... " >&6; }
+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ esac
+ { $as_echo "$as_me:$LINENO: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
+ fi
+ if test $ac_verc_fail = yes; then
+ INTLBISON=:
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ @%:@ Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+ { $as_echo "$as_me:$LINENO: checking whether included gettext is requested" >&5
+$as_echo_n "checking whether included gettext is requested... " >&6; }
+
+@%:@ Check whether --with-included-gettext was given.
+if test "${with_included_gettext+set}" = set; then
+ withval=$with_included_gettext; nls_cv_force_use_gnu_gettext=$withval
+else
+ nls_cv_force_use_gnu_gettext=no
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5
+$as_echo "$nls_cv_force_use_gnu_gettext" >&6; }
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if test "${gt_cv_func_gnugettext2_libc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ gt_cv_func_gnugettext2_libc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gt_cv_func_gnugettext2_libc=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libc" >&5
+$as_echo "$gt_cv_func_gnugettext2_libc" >&6; }
+
+ if test "$gt_cv_func_gnugettext2_libc" != "yes"; then
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+@%:@ Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then
+ withval=$with_libintl_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/lib"
+ fi
+ fi
+
+fi
+
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ if test $use_additional = yes; then
+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
+ found_dir="$additional_libdir"
+ found_so="$additional_libdir/lib$name.$shlibext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ else
+ if test -f "$additional_libdir/lib$name.$libext"; then
+ found_dir="$additional_libdir"
+ found_a="$additional_libdir/lib$name.$libext"
+ if test -f "$additional_libdir/lib$name.la"; then
+ found_la="$additional_libdir/lib$name.la"
+ fi
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
+ found_dir="$dir"
+ found_so="$dir/lib$name.$shlibext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ else
+ if test -f "$dir/lib$name.$libext"; then
+ found_dir="$dir"
+ found_a="$dir/lib$name.$libext"
+ if test -f "$dir/lib$name.la"; then
+ found_la="$dir/lib$name.la"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$hardcode_direct" = yes; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */lib | */lib/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/lib"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/lib"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if test "${gt_cv_func_gnugettext2_libintl+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ gt_cv_func_gnugettext2_libintl=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ gt_cv_func_gnugettext2_libintl=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <libintl.h>
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias ();
+int
+main ()
+{
+bindtextdomain ("", "");
+return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ gt_cv_func_gnugettext2_libintl=yes
+
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libintl" >&5
+$as_echo "$gt_cv_func_gnugettext2_libintl" >&6; }
+ fi
+
+ if test "$gt_cv_func_gnugettext2_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext2_libintl" = "yes" \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="lib/intl/libintl.a $LIBICONV"
+ LTLIBINTL="lib/intl/libintl.a $LTLIBICONV"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ CATOBJEXT=.gmo
+ fi
+
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define ENABLE_NLS 1
+_ACEOF
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ if test "$USE_NLS" = "yes"; then
+ { $as_echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ { $as_echo "$as_me:$LINENO: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
+ { $as_echo "$as_me:$LINENO: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:$LINENO: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+ for element in $INCINTL; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+ fi
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_GETTEXT 1
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_DCGETTEXT 1
+_ACEOF
+
+ fi
+
+ POSUB=po
+ fi
+
+
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+
+
+
+
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ DATADIRNAME=share
+
+
+ INSTOBJEXT=.mo
+
+
+ GENCAT=gencat
+
+
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+
+
+ INTL_LIBTOOL_SUFFIX_PREFIX=
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_hdr>
+
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ eval "$as_ac_Header=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
+
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+ { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' dir; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_opendir=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
+int
+main ()
+{
+return opendir ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' x; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_search_opendir=$ac_res
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext
+ if test "${ac_cv_search_opendir+set}" = set; then
+ break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+ :
+else
+ ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
+if test "${ac_cv_header_time+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_time=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_time=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
+if test $ac_cv_header_time = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define TIME_WITH_SYS_TIME 1
+_ACEOF
+
+fi
+
+
+
+
+for ac_header in inttypes.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+ memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+ stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_header in sys/pte.h sys/stream.h sys/select.h sys/file.h \
+ sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+ sys/time.h sys/times.h sys/types.h sys/wait.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in netinet/in.h arpa/inet.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for sys/ptem.h" >&5
+$as_echo_n "checking for sys/ptem.h... " >&6; }
+if test "${ac_cv_header_sys_ptem_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if HAVE_SYS_STREAM_H
+# include <sys/stream.h>
+#endif
+
+
+@%:@include <sys/ptem.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_sys_ptem_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_sys_ptem_h=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_ptem_h" >&5
+$as_echo "$ac_cv_header_sys_ptem_h" >&6; }
+
+
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+{ $as_echo "$as_me:$LINENO: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_working_alloca_h=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_working_alloca_h=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ALLOCA_H 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# ifdef HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+ if (p) return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_alloca_works=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_alloca_works=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ALLOCA 1
+_ACEOF
+
+else
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble. Some versions do not even contain alloca or
+# contain a buggy version. If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define C_ALLOCA 1
+_ACEOF
+
+
+{ $as_echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if test "${ac_cv_os_cray+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "webecray" >/dev/null 2>&1; then
+ ac_cv_os_cray=yes
+else
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+ for ac_func in _getb67 GETB67 getb67; do
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+ break
+fi
+
+ done
+fi
+
+{ $as_echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_c_stack_direction=0
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+find_stack_direction ()
+{
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+ return find_stack_direction () < 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_stack_direction=1
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_stack_direction=-1
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5
+$as_echo_n "checking whether getpgrp requires zero arguments... " >&6; }
+if test "${ac_cv_func_getpgrp_void+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ # Use it with a single arg.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+getpgrp (0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_func_getpgrp_void=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_getpgrp_void=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5
+$as_echo "$ac_cv_func_getpgrp_void" >&6; }
+if test $ac_cv_func_getpgrp_void = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define GETPGRP_VOID 1
+_ACEOF
+
+fi
+
+if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_func_setvbuf_reversed=no
+fi
+
+
+
+for ac_func in vprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5
+$as_echo_n "checking for _doprnt... " >&6; }
+if test "${ac_cv_func__doprnt+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define _doprnt innocuous__doprnt
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char _doprnt (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef _doprnt
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char _doprnt ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub__doprnt || defined __stub____doprnt
+choke me
+#endif
+
+int
+main ()
+{
+return _doprnt ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func__doprnt=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func__doprnt=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
+$as_echo "$ac_cv_func__doprnt" >&6; }
+if test "x$ac_cv_func__doprnt" = x""yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_DOPRNT 1
+_ACEOF
+
+fi
+
+fi
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for working strcoll" >&5
+$as_echo_n "checking for working strcoll... " >&6; }
+if test "${ac_cv_func_strcoll_works+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_strcoll_works=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+return (strcoll ("abc", "def") >= 0 ||
+ strcoll ("ABC", "DEF") >= 0 ||
+ strcoll ("123", "456") >= 0)
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_strcoll_works=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_strcoll_works=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5
+$as_echo "$ac_cv_func_strcoll_works" >&6; }
+if test $ac_cv_func_strcoll_works = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRCOLL 1
+_ACEOF
+
+fi
+
+
+
+if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
+ MALLOC_TARGET=alloca
+ MALLOC_SRC=alloca.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+fi
+
+if test "$ac_cv_func_vprintf" = no; then
+ { $as_echo "$as_me:$LINENO: checking for declaration of vprintf in stdio.h" >&5
+$as_echo_n "checking for declaration of vprintf in stdio.h... " >&6; }
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "[int[ ]*vprintf[^a-zA-Z0-9]]" >/dev/null 2>&1; then
+ ac_cv_func_vprintf=yes
+fi
+rm -f conftest*
+
+ { $as_echo "$as_me:$LINENO: result: $ac_cv_func_vprintf" >&5
+$as_echo "$ac_cv_func_vprintf" >&6; }
+ if test $ac_cv_func_vprintf = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_VPRINTF 1
+_ACEOF
+
+ fi
+fi
+
+if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+ case " $LIB@&t@OBJS " in
+ *" vprint.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS vprint.$ac_objext"
+ ;;
+esac
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+$as_echo_n "checking return type of signal handlers... " >&6; }
+if test "${ac_cv_type_signal+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_signal=int
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_signal=void
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+$as_echo "$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for __setostype" >&5
+$as_echo_n "checking for __setostype... " >&6; }
+if test "${ac_cv_func___setostype+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define __setostype to an innocuous variant, in case <limits.h> declares __setostype.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define __setostype innocuous___setostype
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char __setostype (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef __setostype
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char __setostype ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub___setostype || defined __stub_____setostype
+choke me
+#endif
+
+int
+main ()
+{
+return __setostype ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func___setostype=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func___setostype=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
+$as_echo "$ac_cv_func___setostype" >&6; }
+if test "x$ac_cv_func___setostype" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_SETOSTYPE 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wait3" >&5
+$as_echo_n "checking for wait3... " >&6; }
+if test "${ac_cv_func_wait3+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wait3 to an innocuous variant, in case <limits.h> declares wait3.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wait3 innocuous_wait3
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wait3 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wait3
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wait3 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wait3 || defined __stub___wait3
+choke me
+#endif
+
+int
+main ()
+{
+return wait3 ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wait3=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wait3=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
+$as_echo "$ac_cv_func_wait3" >&6; }
+if test "x$ac_cv_func_wait3" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WAIT3 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for isinf" >&5
+$as_echo_n "checking for isinf... " >&6; }
+if test "${ac_cv_func_isinf+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define isinf to an innocuous variant, in case <limits.h> declares isinf.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define isinf innocuous_isinf
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char isinf (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef isinf
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char isinf ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_isinf || defined __stub___isinf
+choke me
+#endif
+
+int
+main ()
+{
+return isinf ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_isinf=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_isinf=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
+$as_echo "$ac_cv_func_isinf" >&6; }
+if test "x$ac_cv_func_isinf" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ISINF_IN_LIBC 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for isnan" >&5
+$as_echo_n "checking for isnan... " >&6; }
+if test "${ac_cv_func_isnan+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define isnan to an innocuous variant, in case <limits.h> declares isnan.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define isnan innocuous_isnan
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char isnan (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef isnan
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char isnan ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_isnan || defined __stub___isnan
+choke me
+#endif
+
+int
+main ()
+{
+return isnan ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_isnan=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_isnan=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_isnan" >&5
+$as_echo "$ac_cv_func_isnan" >&6; }
+if test "x$ac_cv_func_isnan" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_ISNAN_IN_LIBC 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for mkfifo" >&5
+$as_echo_n "checking for mkfifo... " >&6; }
+if test "${ac_cv_func_mkfifo+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mkfifo to an innocuous variant, in case <limits.h> declares mkfifo.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mkfifo innocuous_mkfifo
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mkfifo (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mkfifo
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mkfifo ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mkfifo || defined __stub___mkfifo
+choke me
+#endif
+
+int
+main ()
+{
+return mkfifo ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mkfifo=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mkfifo=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
+$as_echo "$ac_cv_func_mkfifo" >&6; }
+if test "x$ac_cv_func_mkfifo" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MKFIFO 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<\_ACEOF
+@%:@define MKFIFO_MISSING 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in dup2 eaccess fcntl getdtablesize getgroups gethostname \
+ getpagesize getpeername getrlimit getrusage gettimeofday \
+ kill killpg lstat readlink sbrk select setdtablesize \
+ setitimer tcgetpgrp uname ulimit waitpid
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+for ac_func in rename
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIB@&t@OBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+for ac_func in bcopy bzero confstr fnmatch \
+ getaddrinfo gethostbyname getservbyname getservent inet_aton \
+ memmove pathconf putenv raise regcomp regexec \
+ setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+ sysconf tcgetattr times ttyname tzset unsetenv
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+for ac_func in vsnprintf snprintf vasprintf asprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+for ac_func in isascii isblank isgraph isprint isspace isxdigit
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+for ac_func in getpwent getpwnam getpwuid
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+for ac_func in getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIB@&t@OBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+
+
+
+
+
+
+for ac_func in strtod strtol strtoul strtoll strtoull strtoimax strtoumax
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIB@&t@OBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+for ac_func in fdprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIB@&t@OBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether confstr is declared" >&5
+$as_echo_n "checking whether confstr is declared... " >&6; }
+if test "${ac_cv_have_decl_confstr+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef confstr
+ (void) confstr;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_confstr=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_confstr=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_confstr" >&5
+$as_echo "$ac_cv_have_decl_confstr" >&6; }
+if test "x$ac_cv_have_decl_confstr" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_CONFSTR 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_CONFSTR 0
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether printf is declared" >&5
+$as_echo_n "checking whether printf is declared... " >&6; }
+if test "${ac_cv_have_decl_printf+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef printf
+ (void) printf;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_printf=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_printf=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_printf" >&5
+$as_echo "$ac_cv_have_decl_printf" >&6; }
+if test "x$ac_cv_have_decl_printf" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_PRINTF 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_PRINTF 0
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether sbrk is declared" >&5
+$as_echo_n "checking whether sbrk is declared... " >&6; }
+if test "${ac_cv_have_decl_sbrk+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef sbrk
+ (void) sbrk;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_sbrk=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_sbrk=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sbrk" >&5
+$as_echo "$ac_cv_have_decl_sbrk" >&6; }
+if test "x$ac_cv_have_decl_sbrk" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SBRK 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SBRK 0
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether setregid is declared" >&5
+$as_echo_n "checking whether setregid is declared... " >&6; }
+if test "${ac_cv_have_decl_setregid+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef setregid
+ (void) setregid;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_setregid=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_setregid=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_setregid" >&5
+$as_echo "$ac_cv_have_decl_setregid" >&6; }
+if test "x$ac_cv_have_decl_setregid" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SETREGID 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SETREGID 0
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether strcpy is declared" >&5
+$as_echo_n "checking whether strcpy is declared... " >&6; }
+if test "${ac_cv_have_decl_strcpy+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef strcpy
+ (void) strcpy;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_strcpy=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_strcpy=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strcpy" >&5
+$as_echo "$ac_cv_have_decl_strcpy" >&6; }
+if test "x$ac_cv_have_decl_strcpy" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRCPY 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRCPY 0
+_ACEOF
+
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether strsignal is declared" >&5
+$as_echo_n "checking whether strsignal is declared... " >&6; }
+if test "${ac_cv_have_decl_strsignal+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef strsignal
+ (void) strsignal;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_strsignal=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_strsignal=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5
+$as_echo "$ac_cv_have_decl_strsignal" >&6; }
+if test "x$ac_cv_have_decl_strsignal" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRSIGNAL 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRSIGNAL 0
+_ACEOF
+
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether strtold is declared" >&5
+$as_echo_n "checking whether strtold is declared... " >&6; }
+if test "${ac_cv_have_decl_strtold+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+#ifndef strtold
+ (void) strtold;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_strtold=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_strtold=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
+$as_echo "$ac_cv_have_decl_strtold" >&6; }
+if test "x$ac_cv_have_decl_strtold" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRTOLD 1
+_ACEOF
+
+
+ { $as_echo "$as_me:$LINENO: checking for broken strtold" >&5
+$as_echo_n "checking for broken strtold... " >&6; }
+ if test "${bash_cv_strtold_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdlib.h>
+int
+main ()
+{
+int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_strtold_broken=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_strtold_broken=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+fi
+
+ { $as_echo "$as_me:$LINENO: result: $bash_cv_strtold_broken" >&5
+$as_echo "$bash_cv_strtold_broken" >&6; }
+ if test "$bash_cv_strtold_broken" = "yes" ; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define STRTOLD_BROKEN 1
+_ACEOF
+
+ fi
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_STRTOLD 0
+_ACEOF
+
+
+fi
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtoimax" >&5
+$as_echo_n "checking for declaration of strtoimax... " >&6; }
+if test "${bash_cv_decl_strtoimax+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtoimax;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtoimax=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtoimax=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtoimax" >&5
+$as_echo "$bash_cv_decl_strtoimax" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtoimax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtoimax = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtol" >&5
+$as_echo_n "checking for declaration of strtol... " >&6; }
+if test "${bash_cv_decl_strtol+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtol;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtol=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtol=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtol" >&5
+$as_echo "$bash_cv_decl_strtol" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtol | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtol = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtoll" >&5
+$as_echo_n "checking for declaration of strtoll... " >&6; }
+if test "${bash_cv_decl_strtoll+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtoll;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtoll=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtoll=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtoll" >&5
+$as_echo "$bash_cv_decl_strtoll" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtoll | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtoll = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtoul" >&5
+$as_echo_n "checking for declaration of strtoul... " >&6; }
+if test "${bash_cv_decl_strtoul+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtoul;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtoul=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtoul=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtoul" >&5
+$as_echo "$bash_cv_decl_strtoul" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtoul | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtoul = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtoull" >&5
+$as_echo_n "checking for declaration of strtoull... " >&6; }
+if test "${bash_cv_decl_strtoull+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtoull;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtoull=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtoull=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtoull" >&5
+$as_echo "$bash_cv_decl_strtoull" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtoull | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtoull = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for declaration of strtoumax" >&5
+$as_echo_n "checking for declaration of strtoumax... " >&6; }
+if test "${bash_cv_decl_strtoumax+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+
+int
+main ()
+{
+return !strtoumax;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_decl_strtoumax=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_strtoumax=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_strtoumax" >&5
+$as_echo "$bash_cv_decl_strtoumax" >&6; }
+bash_tr_func=HAVE_DECL_`echo strtoumax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_strtoumax = yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 1
+_ACEOF
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define $bash_tr_func 0
+_ACEOF
+
+fi
+
+
+
+
+
+
+for ac_header in $ac_header_list
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+
+
+
+for ac_func in $ac_func_list
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for working mktime" >&5
+$as_echo_n "checking for working mktime... " >&6; }
+if test "${ac_cv_func_working_mktime+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_working_mktime=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Test program from Paul Eggert and Tony Leneis. */
+#ifdef TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+# else
+# include <time.h>
+# endif
+#endif
+
+#include <limits.h>
+#include <stdlib.h>
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#ifndef HAVE_ALARM
+# define alarm(X) /* empty */
+#endif
+
+/* Work around redefinition to rpl_putenv by other config tests. */
+#undef putenv
+
+static time_t time_t_max;
+static time_t time_t_min;
+
+/* Values we'll use to set the TZ environment variable. */
+static char *tz_strings[] = {
+ (char *) 0, "TZ=GMT0", "TZ=JST-9",
+ "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
+};
+#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
+
+/* Return 0 if mktime fails to convert a date in the spring-forward gap.
+ Based on a problem report from Andreas Jaeger. */
+static int
+spring_forward_gap ()
+{
+ /* glibc (up to about 1998-10-07) failed this test. */
+ struct tm tm;
+
+ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
+ instead of "TZ=America/Vancouver" in order to detect the bug even
+ on systems that don't support the Olson extension, or don't have the
+ full zoneinfo tables installed. */
+ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
+
+ tm.tm_year = 98;
+ tm.tm_mon = 3;
+ tm.tm_mday = 5;
+ tm.tm_hour = 2;
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+ return mktime (&tm) != (time_t) -1;
+}
+
+static int
+mktime_test1 (now)
+ time_t now;
+{
+ struct tm *lt;
+ return ! (lt = localtime (&now)) || mktime (lt) == now;
+}
+
+static int
+mktime_test (now)
+ time_t now;
+{
+ return (mktime_test1 (now)
+ && mktime_test1 ((time_t) (time_t_max - now))
+ && mktime_test1 ((time_t) (time_t_min + now)));
+}
+
+static int
+irix_6_4_bug ()
+{
+ /* Based on code from Ariel Faigon. */
+ struct tm tm;
+ tm.tm_year = 96;
+ tm.tm_mon = 3;
+ tm.tm_mday = 0;
+ tm.tm_hour = 0;
+ tm.tm_min = 0;
+ tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+ mktime (&tm);
+ return tm.tm_mon == 2 && tm.tm_mday == 31;
+}
+
+static int
+bigtime_test (j)
+ int j;
+{
+ struct tm tm;
+ time_t now;
+ tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
+ now = mktime (&tm);
+ if (now != (time_t) -1)
+ {
+ struct tm *lt = localtime (&now);
+ if (! (lt
+ && lt->tm_year == tm.tm_year
+ && lt->tm_mon == tm.tm_mon
+ && lt->tm_mday == tm.tm_mday
+ && lt->tm_hour == tm.tm_hour
+ && lt->tm_min == tm.tm_min
+ && lt->tm_sec == tm.tm_sec
+ && lt->tm_yday == tm.tm_yday
+ && lt->tm_wday == tm.tm_wday
+ && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
+ == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
+ return 0;
+ }
+ return 1;
+}
+
+static int
+year_2050_test ()
+{
+ /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
+ ignoring leap seconds. */
+ unsigned long int answer = 2527315200UL;
+
+ struct tm tm;
+ time_t t;
+ tm.tm_year = 2050 - 1900;
+ tm.tm_mon = 2 - 1;
+ tm.tm_mday = 1;
+ tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
+ tm.tm_isdst = -1;
+
+ /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
+ instead of "TZ=America/Vancouver" in order to detect the bug even
+ on systems that don't support the Olson extension, or don't have the
+ full zoneinfo tables installed. */
+ putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
+
+ t = mktime (&tm);
+
+ /* Check that the result is either a failure, or close enough
+ to the correct answer that we can assume the discrepancy is
+ due to leap seconds. */
+ return (t == (time_t) -1
+ || (0 < t && answer - 120 <= t && t <= answer + 120));
+}
+
+int
+main ()
+{
+ time_t t, delta;
+ int i, j;
+
+ /* This test makes some buggy mktime implementations loop.
+ Give up after 60 seconds; a mktime slower than that
+ isn't worth using anyway. */
+ alarm (60);
+
+ for (;;)
+ {
+ t = (time_t_max << 1) + 1;
+ if (t <= time_t_max)
+ break;
+ time_t_max = t;
+ }
+ time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
+
+ delta = time_t_max / 997; /* a suitable prime number */
+ for (i = 0; i < N_STRINGS; i++)
+ {
+ if (tz_strings[i])
+ putenv (tz_strings[i]);
+
+ for (t = 0; t <= time_t_max - delta; t += delta)
+ if (! mktime_test (t))
+ return 1;
+ if (! (mktime_test ((time_t) 1)
+ && mktime_test ((time_t) (60 * 60))
+ && mktime_test ((time_t) (60 * 60 * 24))))
+ return 1;
+
+ for (j = 1; ; j <<= 1)
+ if (! bigtime_test (j))
+ return 1;
+ else if (INT_MAX / 2 < j)
+ break;
+ if (! bigtime_test (INT_MAX))
+ return 1;
+ }
+ return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_working_mktime=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_working_mktime=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_working_mktime" >&5
+$as_echo "$ac_cv_func_working_mktime" >&6; }
+if test $ac_cv_func_working_mktime = no; then
+ case " $LIB@&t@OBJS " in
+ *" mktime.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS mktime.$ac_objext"
+ ;;
+esac
+
+fi
+
+
+
+
+
+
+
+
+for ac_header in argz.h errno.h fcntl.h malloc.h stdio_ext.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+for ac_header in stdlib.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_func in getpagesize
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+{ $as_echo "$as_me:$LINENO: checking for working mmap" >&5
+$as_echo_n "checking for working mmap... " >&6; }
+if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_func_mmap_fixed_mapped=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+/* malloc might have been renamed as rpl_malloc. */
+#undef malloc
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the file system buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propagated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+
+#include <fcntl.h>
+#include <sys/mman.h>
+
+#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H
+char *malloc ();
+#endif
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+/* Assume that all systems that can run configure have sys/param.h. */
+# ifndef HAVE_SYS_PARAM_H
+# define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+int
+main ()
+{
+ char *data, *data2, *data3;
+ int i, pagesize;
+ int fd;
+
+ pagesize = getpagesize ();
+
+ /* First, make a file with some known garbage in it. */
+ data = (char *) malloc (pagesize);
+ if (!data)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand ();
+ umask (0);
+ fd = creat ("conftest.mmap", 0600);
+ if (fd < 0)
+ return 1;
+ if (write (fd, data, pagesize) != pagesize)
+ return 1;
+ close (fd);
+
+ /* Next, try to mmap the file at a fixed address which already has
+ something else allocated at it. If we can, also make sure that
+ we see the same garbage. */
+ fd = open ("conftest.mmap", O_RDWR);
+ if (fd < 0)
+ return 1;
+ data2 = (char *) malloc (2 * pagesize);
+ if (!data2)
+ return 1;
+ data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1);
+ if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ return 1;
+
+ /* Finally, make sure that changes to the mapped area do not
+ percolate back to the file as seen by read(). (This is a bug on
+ some variants of i386 svr4.0.) */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = (char *) malloc (pagesize);
+ if (!data3)
+ return 1;
+ if (read (fd, data3, pagesize) != pagesize)
+ return 1;
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ return 1;
+ close (fd);
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_mmap_fixed_mapped=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_func_mmap_fixed_mapped=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
+$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; }
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MMAP 1
+_ACEOF
+
+fi
+rm -f conftest.mmap
+
+
+
+
+
+
+
+
+
+
+for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
+ munmap stpcpy strcspn strdup
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+INTL_DEP= INTL_INC= LIBINTL_H=
+if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
+ INTL_DEP='${INTL_LIBDIR}/libintl.a'
+ INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
+ LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+fi
+
+
+
+
+
+
+
+for ac_header in wctype.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in wchar.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+for ac_header in langinfo.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+@%:@include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_header_compiler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then
+ ac_header_preproc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+ yes:no: )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+ ( cat <<\_ASBOX
+@%:@@%:@ ------------------------------- @%:@@%:@
+@%:@@%:@ Report this to bug-bash@gnu.org @%:@@%:@
+@%:@@%:@ ------------------------------- @%:@@%:@
+_ASBOX
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for mbrlen" >&5
+$as_echo_n "checking for mbrlen... " >&6; }
+if test "${ac_cv_func_mbrlen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mbrlen to an innocuous variant, in case <limits.h> declares mbrlen.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mbrlen innocuous_mbrlen
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mbrlen (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mbrlen
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mbrlen ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mbrlen || defined __stub___mbrlen
+choke me
+#endif
+
+int
+main ()
+{
+return mbrlen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbrlen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbrlen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
+$as_echo "$ac_cv_func_mbrlen" >&6; }
+if test "x$ac_cv_func_mbrlen" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MBRLEN 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for mbscmp" >&5
+$as_echo_n "checking for mbscmp... " >&6; }
+if test "${ac_cv_func_mbscmp+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mbscmp to an innocuous variant, in case <limits.h> declares mbscmp.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mbscmp innocuous_mbscmp
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mbscmp (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mbscmp
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mbscmp ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mbscmp || defined __stub___mbscmp
+choke me
+#endif
+
+int
+main ()
+{
+return mbscmp ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbscmp=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbscmp=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbscmp" >&5
+$as_echo "$ac_cv_func_mbscmp" >&6; }
+if test "x$ac_cv_func_mbscmp" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MBSCMP 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for mbsrtowcs" >&5
+$as_echo_n "checking for mbsrtowcs... " >&6; }
+if test "${ac_cv_func_mbsrtowcs+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mbsrtowcs to an innocuous variant, in case <limits.h> declares mbsrtowcs.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mbsrtowcs innocuous_mbsrtowcs
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mbsrtowcs (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mbsrtowcs
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mbsrtowcs ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mbsrtowcs || defined __stub___mbsrtowcs
+choke me
+#endif
+
+int
+main ()
+{
+return mbsrtowcs ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbsrtowcs=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbsrtowcs=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
+$as_echo "$ac_cv_func_mbsrtowcs" >&6; }
+if test "x$ac_cv_func_mbsrtowcs" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MBSRTOWCS 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for wcrtomb" >&5
+$as_echo_n "checking for wcrtomb... " >&6; }
+if test "${ac_cv_func_wcrtomb+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wcrtomb to an innocuous variant, in case <limits.h> declares wcrtomb.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wcrtomb innocuous_wcrtomb
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wcrtomb (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wcrtomb
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wcrtomb ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wcrtomb || defined __stub___wcrtomb
+choke me
+#endif
+
+int
+main ()
+{
+return wcrtomb ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wcrtomb=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wcrtomb=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcrtomb" >&5
+$as_echo "$ac_cv_func_wcrtomb" >&6; }
+if test "x$ac_cv_func_wcrtomb" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCRTOMB 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wcscoll" >&5
+$as_echo_n "checking for wcscoll... " >&6; }
+if test "${ac_cv_func_wcscoll+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wcscoll to an innocuous variant, in case <limits.h> declares wcscoll.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wcscoll innocuous_wcscoll
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wcscoll (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wcscoll
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wcscoll ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wcscoll || defined __stub___wcscoll
+choke me
+#endif
+
+int
+main ()
+{
+return wcscoll ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wcscoll=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wcscoll=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcscoll" >&5
+$as_echo "$ac_cv_func_wcscoll" >&6; }
+if test "x$ac_cv_func_wcscoll" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCSCOLL 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wcsdup" >&5
+$as_echo_n "checking for wcsdup... " >&6; }
+if test "${ac_cv_func_wcsdup+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wcsdup to an innocuous variant, in case <limits.h> declares wcsdup.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wcsdup innocuous_wcsdup
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wcsdup (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wcsdup
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wcsdup ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wcsdup || defined __stub___wcsdup
+choke me
+#endif
+
+int
+main ()
+{
+return wcsdup ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wcsdup=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wcsdup=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
+$as_echo "$ac_cv_func_wcsdup" >&6; }
+if test "x$ac_cv_func_wcsdup" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCSDUP 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wcwidth" >&5
+$as_echo_n "checking for wcwidth... " >&6; }
+if test "${ac_cv_func_wcwidth+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wcwidth to an innocuous variant, in case <limits.h> declares wcwidth.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wcwidth innocuous_wcwidth
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wcwidth (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wcwidth
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wcwidth ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wcwidth || defined __stub___wcwidth
+choke me
+#endif
+
+int
+main ()
+{
+return wcwidth ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wcwidth=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wcwidth=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
+$as_echo "$ac_cv_func_wcwidth" >&6; }
+if test "x$ac_cv_func_wcwidth" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCWIDTH 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wctype" >&5
+$as_echo_n "checking for wctype... " >&6; }
+if test "${ac_cv_func_wctype+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define wctype to an innocuous variant, in case <limits.h> declares wctype.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define wctype innocuous_wctype
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char wctype (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef wctype
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char wctype ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_wctype || defined __stub___wctype
+choke me
+#endif
+
+int
+main ()
+{
+return wctype ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_wctype=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_wctype=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_wctype" >&5
+$as_echo "$ac_cv_func_wctype" >&6; }
+if test "x$ac_cv_func_wctype" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCTYPE 1
+_ACEOF
+
+fi
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5
+$as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; }
+if test "${ac_cv_func_mbrtowc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+@%:@include <wchar.h>
+int
+main ()
+{
+wchar_t wc;
+ char const s[] = "";
+ size_t n = 1;
+ mbstate_t state;
+ return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbrtowc=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbrtowc=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
+$as_echo "$ac_cv_func_mbrtowc" >&6; }
+ if test $ac_cv_func_mbrtowc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MBRTOWC 1
+_ACEOF
+
+ fi
+
+if test $ac_cv_func_mbrtowc = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_MBSTATE_T 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+for ac_func in iswlower iswupper towlower towupper iswctype
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+{ $as_echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
+$as_echo_n "checking for nl_langinfo and CODESET... " >&6; }
+if test "${bash_cv_langinfo_codeset+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <langinfo.h>
+int
+main ()
+{
+char* cs = nl_langinfo(CODESET);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_langinfo_codeset=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_langinfo_codeset=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_langinfo_codeset" >&5
+$as_echo "$bash_cv_langinfo_codeset" >&6; }
+if test $bash_cv_langinfo_codeset = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LANGINFO_CODESET 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wchar_t in wchar.h" >&5
+$as_echo_n "checking for wchar_t in wchar.h... " >&6; }
+if test "${bash_cv_type_wchar_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <wchar.h>
+
+int
+main ()
+{
+
+ wchar_t foo;
+ foo = 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_type_wchar_t=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_type_wchar_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wchar_t" >&5
+$as_echo "$bash_cv_type_wchar_t" >&6; }
+if test $bash_cv_type_wchar_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCHAR_T 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wctype_t in wctype.h" >&5
+$as_echo_n "checking for wctype_t in wctype.h... " >&6; }
+if test "${bash_cv_type_wctype_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <wctype.h>
+int
+main ()
+{
+
+ wctype_t foo;
+ foo = 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_type_wctype_t=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_type_wctype_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wctype_t" >&5
+$as_echo "$bash_cv_type_wctype_t" >&6; }
+if test $bash_cv_type_wctype_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WCTYPE_T 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for wint_t in wctype.h" >&5
+$as_echo_n "checking for wint_t in wctype.h... " >&6; }
+if test "${bash_cv_type_wint_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <wctype.h>
+int
+main ()
+{
+
+ wint_t foo;
+ foo = 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_type_wint_t=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_type_wint_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_wint_t" >&5
+$as_echo "$bash_cv_type_wint_t" >&6; }
+if test $bash_cv_type_wint_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_WINT_T 1
+_ACEOF
+
+fi
+
+
+
+if test "$opt_static_link" != yes; then
+
+{ $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_dl_dlopen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_dl_dlopen=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_LIBDL 1
+_ACEOF
+
+ LIBS="-ldl $LIBS"
+
+fi
+
+
+
+
+for ac_func in dlopen dlclose dlsym
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether sys_siglist is declared" >&5
+$as_echo_n "checking whether sys_siglist is declared... " >&6; }
+if test "${ac_cv_have_decl_sys_siglist+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+
+int
+main ()
+{
+#ifndef sys_siglist
+ (void) sys_siglist;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_sys_siglist=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_sys_siglist=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5
+$as_echo "$ac_cv_have_decl_sys_siglist" >&6; }
+if test "x$ac_cv_have_decl_sys_siglist" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SYS_SIGLIST 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_SYS_SIGLIST 0
+_ACEOF
+
+
+fi
+
+
+
+
+if test "$ac_cv_func_inet_aton" != 'yes'; then
+
+{ $as_echo "$as_me:$LINENO: checking for inet_aton" >&5
+$as_echo_n "checking for inet_aton... " >&6; }
+if test "${bash_cv_func_inet_aton+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+struct in_addr ap;
+int
+main ()
+{
+ inet_aton("127.0.0.1", &ap);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_func_inet_aton=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_func_inet_aton=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_inet_aton" >&5
+$as_echo "$bash_cv_func_inet_aton" >&6; }
+if test $bash_cv_func_inet_aton = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_INET_ATON 1
+_ACEOF
+
+else
+ case " $LIB@&t@OBJS " in
+ *" inet_aton.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS inet_aton.$ac_objext"
+ ;;
+esac
+
+fi
+
+fi
+
+case "$host_os" in
+irix4*)
+{ $as_echo "$as_me:$LINENO: checking for getpwent in -lsun" >&5
+$as_echo_n "checking for getpwent in -lsun... " >&6; }
+if test "${ac_cv_lib_sun_getpwent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsun $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char getpwent ();
+int
+main ()
+{
+return getpwent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_sun_getpwent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_sun_getpwent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_sun_getpwent" >&5
+$as_echo "$ac_cv_lib_sun_getpwent" >&6; }
+if test "x$ac_cv_lib_sun_getpwent" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_LIBSUN 1
+_ACEOF
+
+ LIBS="-lsun $LIBS"
+
+fi
+ ;;
+esac
+
+if test "$ac_cv_func_getpeername" = no; then
+
+if test "X$bash_cv_have_socklib" = "X"; then
+_bash_needmsg=
+else
+{ $as_echo "$as_me:$LINENO: checking for socket library" >&5
+$as_echo_n "checking for socket library... " >&6; }
+_bash_needmsg=yes
+fi
+if test "${bash_cv_have_socklib+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ { $as_echo "$as_me:$LINENO: checking for getpeername in -lsocket" >&5
+$as_echo_n "checking for getpeername in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_getpeername+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket -lnsl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char getpeername ();
+int
+main ()
+{
+return getpeername ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_socket_getpeername=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_socket_getpeername=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_getpeername" >&5
+$as_echo "$ac_cv_lib_socket_getpeername" >&6; }
+if test "x$ac_cv_lib_socket_getpeername" = x""yes; then
+ bash_cv_have_socklib=yes
+else
+ bash_cv_have_socklib=no
+fi
+
+fi
+
+if test "X$_bash_needmsg" = Xyes; then
+ { $as_echo "$as_me:$LINENO: result: $bash_cv_have_socklib" >&5
+$as_echo "$bash_cv_have_socklib" >&6; }
+ _bash_needmsg=
+fi
+if test $bash_cv_have_socklib = yes; then
+ # check for libnsl, add it to LIBS if present
+ if test "X$bash_cv_have_libnsl" = "X"; then
+ _bash_needmsg=
+ else
+ { $as_echo "$as_me:$LINENO: checking for libnsl" >&5
+$as_echo_n "checking for libnsl... " >&6; }
+ _bash_needmsg=yes
+ fi
+ if test "${bash_cv_have_libnsl+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ { $as_echo "$as_me:$LINENO: checking for t_open in -lnsl" >&5
+$as_echo_n "checking for t_open in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_t_open+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char t_open ();
+int
+main ()
+{
+return t_open ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_nsl_t_open=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_nsl_t_open=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_t_open" >&5
+$as_echo "$ac_cv_lib_nsl_t_open" >&6; }
+if test "x$ac_cv_lib_nsl_t_open" = x""yes; then
+ bash_cv_have_libnsl=yes
+else
+ bash_cv_have_libnsl=no
+fi
+
+fi
+
+ if test "X$_bash_needmsg" = Xyes; then
+ { $as_echo "$as_me:$LINENO: result: $bash_cv_have_libnsl" >&5
+$as_echo "$bash_cv_have_libnsl" >&6; }
+ _bash_needmsg=
+ fi
+ if test $bash_cv_have_libnsl = yes; then
+ LIBS="-lsocket -lnsl $LIBS"
+ else
+ LIBS="-lsocket $LIBS"
+ fi
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LIBSOCKET 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_GETPEERNAME 1
+_ACEOF
+
+fi
+
+fi
+if test "$ac_cv_func_gethostbyname" = no; then
+ if test "X$bash_cv_have_gethostbyname" = "X"; then
+_bash_needmsg=yes
+else
+{ $as_echo "$as_me:$LINENO: checking for gethostbyname in socket library" >&5
+$as_echo_n "checking for gethostbyname in socket library... " >&6; }
+_bash_needmsg=
+fi
+if test "${bash_cv_have_gethostbyname+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <netdb.h>
+int
+main ()
+{
+ struct hostent *hp;
+ hp = gethostbyname("localhost");
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_have_gethostbyname=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_have_gethostbyname=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+if test "X$_bash_needmsg" = Xyes; then
+ { $as_echo "$as_me:$LINENO: checking for gethostbyname in socket library" >&5
+$as_echo_n "checking for gethostbyname in socket library... " >&6; }
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_have_gethostbyname" >&5
+$as_echo "$bash_cv_have_gethostbyname" >&6; }
+if test "$bash_cv_have_gethostbyname" = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_GETHOSTBYNAME 1
+_ACEOF
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
+$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+if test "${ac_cv_type_uid_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "uid_t" >/dev/null 2>&1; then
+ ac_cv_type_uid_t=yes
+else
+ ac_cv_type_uid_t=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
+$as_echo "$ac_cv_type_uid_t" >&6; }
+if test $ac_cv_type_uid_t = no; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define uid_t int
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define gid_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5
+$as_echo_n "checking type of array argument to getgroups... " >&6; }
+if test "${ac_cv_type_getgroups+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_type_getgroups=cross
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Thanks to Mike Rendell for this test. */
+$ac_includes_default
+#define NGID 256
+#undef MAX
+#define MAX(x, y) ((x) > (y) ? (x) : (y))
+
+int
+main ()
+{
+ gid_t gidset[NGID];
+ int i, n;
+ union { gid_t gval; long int lval; } val;
+
+ val.lval = -1;
+ for (i = 0; i < NGID; i++)
+ gidset[i] = val.gval;
+ n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
+ gidset);
+ /* Exit non-zero if getgroups seems to require an array of ints. This
+ happens when gid_t is short int but getgroups modifies an array
+ of ints. */
+ return n > 0 && gidset[n] != val.gval;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_getgroups=gid_t
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_type_getgroups=int
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+if test $ac_cv_type_getgroups = cross; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <unistd.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then
+ ac_cv_type_getgroups=gid_t
+else
+ ac_cv_type_getgroups=int
+fi
+rm -f conftest*
+
+fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5
+$as_echo "$ac_cv_type_getgroups" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define GETGROUPS_T $ac_cv_type_getgroups
+_ACEOF
+
+
+{ $as_echo "$as_me:$LINENO: checking for off_t" >&5
+$as_echo_n "checking for off_t... " >&6; }
+if test "${ac_cv_type_off_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_off_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (off_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((off_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_off_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
+$as_echo "$ac_cv_type_off_t" >&6; }
+if test "x$ac_cv_type_off_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define off_t long int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5
+$as_echo_n "checking for mode_t... " >&6; }
+if test "${ac_cv_type_mode_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_mode_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (mode_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((mode_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_mode_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
+$as_echo "$ac_cv_type_mode_t" >&6; }
+if test "x$ac_cv_type_mode_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define mode_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
+$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
+if test "${ac_cv_type_uid_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "uid_t" >/dev/null 2>&1; then
+ ac_cv_type_uid_t=yes
+else
+ ac_cv_type_uid_t=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
+$as_echo "$ac_cv_type_uid_t" >&6; }
+if test $ac_cv_type_uid_t = no; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define uid_t int
+_ACEOF
+
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define gid_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5
+$as_echo_n "checking for pid_t... " >&6; }
+if test "${ac_cv_type_pid_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_pid_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (pid_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((pid_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_pid_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+$as_echo "$ac_cv_type_pid_t" >&6; }
+if test "x$ac_cv_type_pid_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define pid_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
+$as_echo_n "checking for size_t... " >&6; }
+if test "${ac_cv_type_size_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_size_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (size_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((size_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_size_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+$as_echo "$ac_cv_type_size_t" >&6; }
+if test "x$ac_cv_type_size_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define size_t unsigned int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for ssize_t" >&5
+$as_echo_n "checking for ssize_t... " >&6; }
+if test "${ac_cv_type_ssize_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_ssize_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (ssize_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ssize_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ssize_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+$as_echo "$ac_cv_type_ssize_t" >&6; }
+if test "x$ac_cv_type_ssize_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ssize_t int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for time_t" >&5
+$as_echo_n "checking for time_t... " >&6; }
+if test "${ac_cv_type_time_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_time_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (time_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((time_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_time_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5
+$as_echo "$ac_cv_type_time_t" >&6; }
+if test "x$ac_cv_type_time_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define time_t long
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for long long" >&5
+$as_echo_n "checking for long long... " >&6; }
+if test "${bash_cv_type_long_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+long long ll = 1; int i = 63;
+int
+main ()
+{
+
+long long llm = (long long) -1;
+return ll << i | ll >> i | llm / ll | llm % ll;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_type_long_long='long long'
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_type_long_long='long'
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_long_long" >&5
+$as_echo "$bash_cv_type_long_long" >&6; }
+if test "$bash_cv_type_long_long" = 'long long'; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LONG_LONG 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for unsigned long long" >&5
+$as_echo_n "checking for unsigned long long... " >&6; }
+if test "${bash_cv_type_unsigned_long_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+unsigned long long ull = 1; int i = 63;
+int
+main ()
+{
+
+unsigned long long ullmax = (unsigned long long) -1;
+return ull << i | ull >> i | ullmax / ull | ullmax % ull;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_type_unsigned_long_long='unsigned long long'
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_type_unsigned_long_long='unsigned long'
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_unsigned_long_long" >&5
+$as_echo "$bash_cv_type_unsigned_long_long" >&6; }
+if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_UNSIGNED_LONG_LONG 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+$as_echo_n "checking return type of signal handlers... " >&6; }
+if test "${ac_cv_type_signal+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <signal.h>
+
+int
+main ()
+{
+return *(signal (0, 0)) (0) == 1;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_type_signal=int
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_signal=void
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+$as_echo "$ac_cv_type_signal" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+@%:@define RETSIGTYPE $ac_cv_type_signal
+_ACEOF
+
+
+{ $as_echo "$as_me:$LINENO: checking for sig_atomic_t in signal.h" >&5
+$as_echo_n "checking for sig_atomic_t in signal.h... " >&6; }
+if test "${ac_cv_have_sig_atomic_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <signal.h>
+
+int
+main ()
+{
+ sig_atomic_t x;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_have_sig_atomic_t=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_sig_atomic_t=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_sig_atomic_t" >&5
+$as_echo "$ac_cv_have_sig_atomic_t" >&6; }
+if test "$ac_cv_have_sig_atomic_t" = "no"
+then
+ { $as_echo "$as_me:$LINENO: checking for sig_atomic_t" >&5
+$as_echo_n "checking for sig_atomic_t... " >&6; }
+if test "${ac_cv_type_sig_atomic_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_sig_atomic_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (sig_atomic_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((sig_atomic_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_sig_atomic_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_sig_atomic_t" >&5
+$as_echo "$ac_cv_type_sig_atomic_t" >&6; }
+if test "x$ac_cv_type_sig_atomic_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define sig_atomic_t int
+_ACEOF
+
+fi
+
+fi
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of char" >&5
+$as_echo_n "checking size of char... " >&6; }
+if test "${ac_cv_sizeof_char+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_char=$ac_lo;;
+'') if test "$ac_cv_type_char" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (char)); }
+static unsigned long int ulongval () { return (long int) (sizeof (char)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (char))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (char))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (char))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_char=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_char" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
+$as_echo "$ac_cv_sizeof_char" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_CHAR $ac_cv_sizeof_char
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if test "${ac_cv_sizeof_short+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (short))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (short))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (short))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (short))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_short=$ac_lo;;
+'') if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_short=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (short)); }
+static unsigned long int ulongval () { return (long int) (sizeof (short)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (short))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (short))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (short))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_short=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (short)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_short=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if test "${ac_cv_sizeof_int+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (int))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (int))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (int))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (int))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_int=$ac_lo;;
+'') if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_int=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (int)); }
+static unsigned long int ulongval () { return (long int) (sizeof (int)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (int))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (int))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (int))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_int=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (int)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if test "${ac_cv_sizeof_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long=$ac_lo;;
+'') if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (long)); }
+static unsigned long int ulongval () { return (long int) (sizeof (long)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (long))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (long))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (long))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_long=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of char *" >&5
+$as_echo_n "checking size of char *... " >&6; }
+if test "${ac_cv_sizeof_char_p+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char *))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char *))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char *))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (char *))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_char_p=$ac_lo;;
+'') if test "$ac_cv_type_char_p" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char_p=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (char *)); }
+static unsigned long int ulongval () { return (long int) (sizeof (char *)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (char *))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (char *))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (char *))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_char_p=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_char_p" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (char *)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_char_p=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5
+$as_echo "$ac_cv_sizeof_char_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of double" >&5
+$as_echo_n "checking size of double... " >&6; }
+if test "${ac_cv_sizeof_double+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (double))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (double))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (double))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (double))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (double))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_double=$ac_lo;;
+'') if test "$ac_cv_type_double" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (double)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_double=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (double)); }
+static unsigned long int ulongval () { return (long int) (sizeof (double)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (double))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (double))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (double))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_double=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_double" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (double)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (double)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_double=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
+$as_echo "$ac_cv_sizeof_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_DOUBLE $ac_cv_sizeof_double
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if test "${ac_cv_sizeof_long_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long long))) >= 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long long))) < 0)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long long))) >= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array @<:@1 - 2 * !(((long int) (sizeof (long long))) <= $ac_mid)@:>@;
+test_array @<:@0@:>@ = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_long_long=$ac_lo;;
+'') if test "$ac_cv_type_long_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long_long=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (long long)); }
+static unsigned long int ulongval () { return (long int) (sizeof (long long)); }
+@%:@include <stdio.h>
+@%:@include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (long long))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (long long))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (long long))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_long_long=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_long_long" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (long long)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (long long)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_long_long=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+_ACEOF
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for u_int" >&5
+$as_echo_n "checking for u_int... " >&6; }
+if test "${ac_cv_type_u_int+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_int=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_int))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_int)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_int=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_int" >&5
+$as_echo "$ac_cv_type_u_int" >&6; }
+if test "x$ac_cv_type_u_int" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_int unsigned int
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for u_long" >&5
+$as_echo_n "checking for u_long... " >&6; }
+if test "${ac_cv_type_u_long+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_long=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_long))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_long)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_long=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_long" >&5
+$as_echo "$ac_cv_type_u_long" >&6; }
+if test "x$ac_cv_type_u_long" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_long unsigned long
+_ACEOF
+
+fi
+
+
+
+if test "$ac_cv_sizeof_short" = 2; then
+ { $as_echo "$as_me:$LINENO: checking for bits16_t" >&5
+$as_echo_n "checking for bits16_t... " >&6; }
+if test "${ac_cv_type_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
+$as_echo "$ac_cv_type_bits16_t" >&6; }
+if test "x$ac_cv_type_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits16_t short
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_char" = 2; then
+ { $as_echo "$as_me:$LINENO: checking for bits16_t" >&5
+$as_echo_n "checking for bits16_t... " >&6; }
+if test "${ac_cv_type_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
+$as_echo "$ac_cv_type_bits16_t" >&6; }
+if test "x$ac_cv_type_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits16_t char
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for bits16_t" >&5
+$as_echo_n "checking for bits16_t... " >&6; }
+if test "${ac_cv_type_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
+$as_echo "$ac_cv_type_bits16_t" >&6; }
+if test "x$ac_cv_type_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits16_t short
+_ACEOF
+
+fi
+
+fi
+
+
+if test "$ac_cv_sizeof_short" = 2; then
+ { $as_echo "$as_me:$LINENO: checking for u_bits16_t" >&5
+$as_echo_n "checking for u_bits16_t... " >&6; }
+if test "${ac_cv_type_u_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
+$as_echo "$ac_cv_type_u_bits16_t" >&6; }
+if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits16_t unsigned short
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_char" = 2; then
+ { $as_echo "$as_me:$LINENO: checking for u_bits16_t" >&5
+$as_echo_n "checking for u_bits16_t... " >&6; }
+if test "${ac_cv_type_u_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
+$as_echo "$ac_cv_type_u_bits16_t" >&6; }
+if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits16_t unsigned char
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for u_bits16_t" >&5
+$as_echo_n "checking for u_bits16_t... " >&6; }
+if test "${ac_cv_type_u_bits16_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits16_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits16_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
+$as_echo "$ac_cv_type_u_bits16_t" >&6; }
+if test "x$ac_cv_type_u_bits16_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits16_t unsigned short
+_ACEOF
+
+fi
+
+fi
+
+
+if test "$ac_cv_sizeof_int" = 4; then
+ { $as_echo "$as_me:$LINENO: checking for bits32_t" >&5
+$as_echo_n "checking for bits32_t... " >&6; }
+if test "${ac_cv_type_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
+$as_echo "$ac_cv_type_bits32_t" >&6; }
+if test "x$ac_cv_type_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits32_t int
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_long" = 4; then
+ { $as_echo "$as_me:$LINENO: checking for bits32_t" >&5
+$as_echo_n "checking for bits32_t... " >&6; }
+if test "${ac_cv_type_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
+$as_echo "$ac_cv_type_bits32_t" >&6; }
+if test "x$ac_cv_type_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits32_t long
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for bits32_t" >&5
+$as_echo_n "checking for bits32_t... " >&6; }
+if test "${ac_cv_type_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
+$as_echo "$ac_cv_type_bits32_t" >&6; }
+if test "x$ac_cv_type_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits32_t int
+_ACEOF
+
+fi
+
+fi
+
+
+if test "$ac_cv_sizeof_int" = 4; then
+ { $as_echo "$as_me:$LINENO: checking for u_bits32_t" >&5
+$as_echo_n "checking for u_bits32_t... " >&6; }
+if test "${ac_cv_type_u_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
+$as_echo "$ac_cv_type_u_bits32_t" >&6; }
+if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits32_t unsigned int
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_long" = 4; then
+ { $as_echo "$as_me:$LINENO: checking for u_bits32_t" >&5
+$as_echo_n "checking for u_bits32_t... " >&6; }
+if test "${ac_cv_type_u_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
+$as_echo "$ac_cv_type_u_bits32_t" >&6; }
+if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits32_t unsigned long
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for u_bits32_t" >&5
+$as_echo_n "checking for u_bits32_t... " >&6; }
+if test "${ac_cv_type_u_bits32_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_u_bits32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (u_bits32_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((u_bits32_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_u_bits32_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
+$as_echo "$ac_cv_type_u_bits32_t" >&6; }
+if test "x$ac_cv_type_u_bits32_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define u_bits32_t unsigned int
+_ACEOF
+
+fi
+
+fi
+
+
+if test "$ac_cv_sizeof_char_p" = 8; then
+ { $as_echo "$as_me:$LINENO: checking for bits64_t" >&5
+$as_echo_n "checking for bits64_t... " >&6; }
+if test "${ac_cv_type_bits64_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits64_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits64_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits64_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits64_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
+$as_echo "$ac_cv_type_bits64_t" >&6; }
+if test "x$ac_cv_type_bits64_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits64_t char *
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_double" = 8; then
+ { $as_echo "$as_me:$LINENO: checking for bits64_t" >&5
+$as_echo_n "checking for bits64_t... " >&6; }
+if test "${ac_cv_type_bits64_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits64_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits64_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits64_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits64_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
+$as_echo "$ac_cv_type_bits64_t" >&6; }
+if test "x$ac_cv_type_bits64_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits64_t double
+_ACEOF
+
+fi
+
+elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then
+ { $as_echo "$as_me:$LINENO: checking for bits64_t" >&5
+$as_echo_n "checking for bits64_t... " >&6; }
+if test "${ac_cv_type_bits64_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits64_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits64_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits64_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits64_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
+$as_echo "$ac_cv_type_bits64_t" >&6; }
+if test "x$ac_cv_type_bits64_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits64_t long long
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_long" = 8; then
+ { $as_echo "$as_me:$LINENO: checking for bits64_t" >&5
+$as_echo_n "checking for bits64_t... " >&6; }
+if test "${ac_cv_type_bits64_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits64_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits64_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits64_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits64_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
+$as_echo "$ac_cv_type_bits64_t" >&6; }
+if test "x$ac_cv_type_bits64_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits64_t long
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for bits64_t" >&5
+$as_echo_n "checking for bits64_t... " >&6; }
+if test "${ac_cv_type_bits64_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_bits64_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (bits64_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((bits64_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_bits64_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
+$as_echo "$ac_cv_type_bits64_t" >&6; }
+if test "x$ac_cv_type_bits64_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define bits64_t double
+_ACEOF
+
+fi
+
+fi
+
+
+
+if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then
+ { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
+$as_echo_n "checking for ptrdiff_t... " >&6; }
+if test "${ac_cv_type_ptrdiff_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_ptrdiff_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (ptrdiff_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ptrdiff_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ptrdiff_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
+$as_echo "$ac_cv_type_ptrdiff_t" >&6; }
+if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ptrdiff_t int
+_ACEOF
+
+fi
+
+elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then
+ { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
+$as_echo_n "checking for ptrdiff_t... " >&6; }
+if test "${ac_cv_type_ptrdiff_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_ptrdiff_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (ptrdiff_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ptrdiff_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ptrdiff_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
+$as_echo "$ac_cv_type_ptrdiff_t" >&6; }
+if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ptrdiff_t long
+_ACEOF
+
+fi
+
+elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then
+ { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
+$as_echo_n "checking for ptrdiff_t... " >&6; }
+if test "${ac_cv_type_ptrdiff_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_ptrdiff_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (ptrdiff_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ptrdiff_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ptrdiff_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
+$as_echo "$ac_cv_type_ptrdiff_t" >&6; }
+if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ptrdiff_t long long
+_ACEOF
+
+fi
+
+else
+ { $as_echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
+$as_echo_n "checking for ptrdiff_t... " >&6; }
+if test "${ac_cv_type_ptrdiff_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_type_ptrdiff_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (ptrdiff_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ptrdiff_t)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_type_ptrdiff_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
+$as_echo "$ac_cv_type_ptrdiff_t" >&6; }
+if test "x$ac_cv_type_ptrdiff_t" = x""yes; then
+ :
+else
+
+cat >>confdefs.h <<_ACEOF
+@%:@define ptrdiff_t int
+_ACEOF
+
+fi
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5
+$as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
+if test "${ac_cv_header_stat_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#if defined S_ISBLK && defined S_IFDIR
+extern char c1[S_ISBLK (S_IFDIR) ? -1 : 1];
+#endif
+
+#if defined S_ISBLK && defined S_IFCHR
+extern char c2[S_ISBLK (S_IFCHR) ? -1 : 1];
+#endif
+
+#if defined S_ISLNK && defined S_IFREG
+extern char c3[S_ISLNK (S_IFREG) ? -1 : 1];
+#endif
+
+#if defined S_ISSOCK && defined S_IFREG
+extern char c4[S_ISSOCK (S_IFREG) ? -1 : 1];
+#endif
+
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_header_stat_broken=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_header_stat_broken=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5
+$as_echo "$ac_cv_header_stat_broken" >&6; }
+if test $ac_cv_header_stat_broken = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define STAT_MACROS_BROKEN 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether @%:@! works in shell scripts" >&5
+$as_echo_n "checking whether @%:@! works in shell scripts... " >&6; }
+if test "${ac_cv_sys_interpreter+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ echo '#! /bin/cat
+exit 69
+' >conftest
+chmod u+x conftest
+(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null 2>&1)
+if test $? -ne 69; then
+ ac_cv_sys_interpreter=yes
+else
+ ac_cv_sys_interpreter=no
+fi
+rm -f conftest
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_interpreter" >&5
+$as_echo "$ac_cv_sys_interpreter" >&6; }
+interpval=$ac_cv_sys_interpreter
+
+if test $ac_cv_sys_interpreter = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_HASH_BANG_EXEC 1
+_ACEOF
+
+fi
+
+if test "$ac_cv_func_lstat" = "no"; then
+{ $as_echo "$as_me:$LINENO: checking for lstat" >&5
+$as_echo_n "checking for lstat... " >&6; }
+if test "${bash_cv_func_lstat+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int
+main ()
+{
+ lstat(".",(struct stat *)0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_func_lstat=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_func_lstat=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_lstat" >&5
+$as_echo "$bash_cv_func_lstat" >&6; }
+if test $bash_cv_func_lstat = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_LSTAT 1
+_ACEOF
+
+fi
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether the ctype macros accept non-ascii characters" >&5
+$as_echo_n "checking whether the ctype macros accept non-ascii characters... " >&6; }
+if test "${bash_cv_func_ctype_nonascii+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&2;}
+ bash_cv_func_ctype_nonascii=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef HAVE_LOCALE_H
+#include <locale.h>
+#endif
+#include <stdio.h>
+#include <ctype.h>
+
+main(c, v)
+int c;
+char *v[];
+{
+ char *deflocale;
+ unsigned char x;
+ int r1, r2;
+
+#ifdef HAVE_SETLOCALE
+ /* We take a shot here. If that locale is not known, try the
+ system default. We try this one because '\342' (226) is
+ known to be a printable character in that locale. */
+ deflocale = setlocale(LC_ALL, "en_US.ISO8859-1");
+ if (deflocale == 0)
+ deflocale = setlocale(LC_ALL, "");
+#endif
+
+ x = '\342';
+ r1 = isprint(x);
+ x -= 128;
+ r2 = isprint(x);
+ exit (r1 == 0 || r2 == 0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_func_ctype_nonascii=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_func_ctype_nonascii=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_ctype_nonascii" >&5
+$as_echo "$bash_cv_func_ctype_nonascii" >&6; }
+if test $bash_cv_func_ctype_nonascii = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define CTYPE_NON_ASCII 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking if dup2 fails to clear the close-on-exec flag" >&5
+$as_echo_n "checking if dup2 fails to clear the close-on-exec flag... " >&6; }
+if test "${bash_cv_dup2_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&2;}
+ bash_cv_dup2_broken=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <fcntl.h>
+main()
+{
+ int fd1, fd2, fl;
+ fd1 = open("/dev/null", 2);
+ if (fcntl(fd1, 2, 1) < 0)
+ exit(1);
+ fd2 = dup2(fd1, 1);
+ if (fd2 < 0)
+ exit(2);
+ fl = fcntl(fd2, 1, 0);
+ /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
+ exit(fl != 1);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_dup2_broken=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_dup2_broken=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dup2_broken" >&5
+$as_echo "$bash_cv_dup2_broken" >&6; }
+if test $bash_cv_dup2_broken = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define DUP2_BROKEN 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether pgrps need synchronization" >&5
+$as_echo_n "checking whether pgrps need synchronization... " >&6; }
+if test "${bash_cv_pgrp_pipe+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&2;}
+ bash_cv_pgrp_pipe=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+main()
+{
+# ifdef GETPGRP_VOID
+# define getpgID() getpgrp()
+# else
+# define getpgID() getpgrp(0)
+# define setpgid(x,y) setpgrp(x,y)
+# endif
+ int pid1, pid2, fds[2];
+ int status;
+ char ok;
+
+ switch (pid1 = fork()) {
+ case -1:
+ exit(1);
+ case 0:
+ setpgid(0, getpid());
+ exit(0);
+ }
+ setpgid(pid1, pid1);
+
+ sleep(2); /* let first child die */
+
+ if (pipe(fds) < 0)
+ exit(2);
+
+ switch (pid2 = fork()) {
+ case -1:
+ exit(3);
+ case 0:
+ setpgid(0, pid1);
+ ok = getpgID() == pid1;
+ write(fds[1], &ok, 1);
+ exit(0);
+ }
+ setpgid(pid2, pid1);
+
+ close(fds[1]);
+ if (read(fds[0], &ok, 1) != 1)
+ exit(4);
+ wait(&status);
+ wait(&status);
+ exit(ok ? 0 : 5);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_pgrp_pipe=no
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_pgrp_pipe=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_pgrp_pipe" >&5
+$as_echo "$bash_cv_pgrp_pipe" >&6; }
+if test $bash_cv_pgrp_pipe = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define PGRP_PIPE 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for type of signal functions" >&5
+$as_echo_n "checking for type of signal functions... " >&6; }
+if test "${bash_cv_signal_vintage+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <signal.h>
+int
+main ()
+{
+
+ sigset_t ss;
+ struct sigaction sa;
+ sigemptyset(&ss); sigsuspend(&ss);
+ sigaction(SIGINT, &sa, (struct sigaction *) 0);
+ sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_signal_vintage=posix
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <signal.h>
+int
+main ()
+{
+
+ int mask = sigmask(SIGINT);
+ sigsetmask(mask); sigblock(mask); sigpause(mask);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_signal_vintage=4.2bsd
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+ #include <signal.h>
+ RETSIGTYPE foo() { }
+int
+main ()
+{
+
+ int mask = sigmask(SIGINT);
+ sigset(SIGINT, foo); sigrelse(SIGINT);
+ sighold(SIGINT); sigpause(SIGINT);
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_signal_vintage=svr3
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_signal_vintage=v7
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_signal_vintage" >&5
+$as_echo "$bash_cv_signal_vintage" >&6; }
+if test "$bash_cv_signal_vintage" = posix; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_POSIX_SIGNALS 1
+_ACEOF
+
+elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_BSD_SIGNALS 1
+_ACEOF
+
+elif test "$bash_cv_signal_vintage" = svr3; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_USG_SIGHOLD 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for sys_errlist and sys_nerr" >&5
+$as_echo_n "checking for sys_errlist and sys_nerr... " >&6; }
+if test "${bash_cv_sys_errlist+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <errno.h>
+int
+main ()
+{
+extern char *sys_errlist[];
+ extern int sys_nerr;
+ char *msg = sys_errlist[sys_nerr - 1];
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_sys_errlist=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_sys_errlist=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_sys_errlist" >&5
+$as_echo "$bash_cv_sys_errlist" >&6; }
+if test $bash_cv_sys_errlist = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_SYS_ERRLIST 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for sys_siglist in system C library" >&5
+$as_echo_n "checking for sys_siglist in system C library... " >&6; }
+if test "${bash_cv_sys_siglist+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&2;}
+ bash_cv_sys_siglist=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#if !HAVE_DECL_SYS_SIGLIST
+extern char *sys_siglist[];
+#endif
+main()
+{
+char *msg = sys_siglist[2];
+exit(msg == 0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_sys_siglist=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_sys_siglist=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_sys_siglist" >&5
+$as_echo "$bash_cv_sys_siglist" >&6; }
+if test $bash_cv_sys_siglist = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_SYS_SIGLIST 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for _sys_siglist in signal.h or unistd.h" >&5
+$as_echo_n "checking for _sys_siglist in signal.h or unistd.h... " >&6; }
+if test "${bash_cv_decl_under_sys_siglist+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+int
+main ()
+{
+ char *msg = _sys_siglist[2];
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_decl_under_sys_siglist=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_decl_under_sys_siglist=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_decl_under_sys_siglist" >&5
+$as_echo "$bash_cv_decl_under_sys_siglist" >&6; }
+if test $bash_cv_decl_under_sys_siglist = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define UNDER_SYS_SIGLIST_DECLARED 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for _sys_siglist in system C library" >&5
+$as_echo_n "checking for _sys_siglist in system C library... " >&6; }
+if test "${bash_cv_under_sys_siglist+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&2;}
+ bash_cv_under_sys_siglist=no
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef UNDER_SYS_SIGLIST_DECLARED
+extern char *_sys_siglist[];
+#endif
+main()
+{
+char *msg = (char *)_sys_siglist[2];
+exit(msg == 0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_under_sys_siglist=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_under_sys_siglist=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_under_sys_siglist" >&5
+$as_echo "$bash_cv_under_sys_siglist" >&6; }
+if test $bash_cv_under_sys_siglist = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_UNDER_SYS_SIGLIST 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether signal handlers are of type void" >&5
+$as_echo_n "checking whether signal handlers are of type void... " >&6; }
+if test "${bash_cv_void_sighandler+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+void (*signal ()) ();
+int
+main ()
+{
+int i;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_void_sighandler=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_void_sighandler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_void_sighandler" >&5
+$as_echo "$bash_cv_void_sighandler" >&6; }
+if test $bash_cv_void_sighandler = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define VOID_SIGHANDLER 1
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for clock_t" >&5
+$as_echo_n "checking for clock_t... " >&6; }
+if test "${bash_cv_type_clock_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <sys/times.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "clock_t" >/dev/null 2>&1; then
+ bash_cv_type_clock_t=yes
+else
+ bash_cv_type_clock_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_clock_t" >&5
+$as_echo "$bash_cv_type_clock_t" >&6; }
+
+if test $bash_cv_type_clock_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define clock_t long
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for sigset_t" >&5
+$as_echo_n "checking for sigset_t... " >&6; }
+if test "${bash_cv_type_sigset_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <signal.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sigset_t" >/dev/null 2>&1; then
+ bash_cv_type_sigset_t=yes
+else
+ bash_cv_type_sigset_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_sigset_t" >&5
+$as_echo "$bash_cv_type_sigset_t" >&6; }
+
+if test $bash_cv_type_sigset_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define sigset_t int
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for quad_t" >&5
+$as_echo_n "checking for quad_t... " >&6; }
+if test "${bash_cv_type_quad_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "quad_t" >/dev/null 2>&1; then
+ bash_cv_type_quad_t=yes
+else
+ bash_cv_type_quad_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_quad_t" >&5
+$as_echo "$bash_cv_type_quad_t" >&6; }
+if test $bash_cv_type_quad_t = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_QUAD_T 1
+_ACEOF
+
+ fi
+if test $bash_cv_type_quad_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define quad_t long
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for intmax_t" >&5
+$as_echo_n "checking for intmax_t... " >&6; }
+if test "${bash_cv_type_intmax_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "intmax_t" >/dev/null 2>&1; then
+ bash_cv_type_intmax_t=yes
+else
+ bash_cv_type_intmax_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_intmax_t" >&5
+$as_echo "$bash_cv_type_intmax_t" >&6; }
+
+if test $bash_cv_type_intmax_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define intmax_t $bash_cv_type_long_long
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for uintmax_t" >&5
+$as_echo_n "checking for uintmax_t... " >&6; }
+if test "${bash_cv_type_uintmax_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "uintmax_t" >/dev/null 2>&1; then
+ bash_cv_type_uintmax_t=yes
+else
+ bash_cv_type_uintmax_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_uintmax_t" >&5
+$as_echo "$bash_cv_type_uintmax_t" >&6; }
+
+if test $bash_cv_type_uintmax_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define uintmax_t $bash_cv_type_unsigned_long_long
+_ACEOF
+
+fi
+
+if test "$ac_cv_header_sys_socket_h" = "yes"; then
+
+
+{ $as_echo "$as_me:$LINENO: checking for socklen_t" >&5
+$as_echo_n "checking for socklen_t... " >&6; }
+if test "${bash_cv_type_socklen_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+#include <sys/socket.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "socklen_t" >/dev/null 2>&1; then
+ bash_cv_type_socklen_t=yes
+else
+ bash_cv_type_socklen_t=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_socklen_t" >&5
+$as_echo "$bash_cv_type_socklen_t" >&6; }
+if test $bash_cv_type_socklen_t = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_SOCKLEN_T 1
+_ACEOF
+
+ fi
+if test $bash_cv_type_socklen_t = no; then
+ cat >>confdefs.h <<_ACEOF
+@%:@define socklen_t int
+_ACEOF
+
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: checking for size and type of struct rlimit fields" >&5
+$as_echo_n "checking for size and type of struct rlimit fields... " >&6; }
+if test "${bash_cv_type_rlimit+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/resource.h>
+int
+main ()
+{
+rlim_t xxx;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_type_rlimit=rlim_t
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&5
+$as_echo "$as_me: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&2;}
+ bash_cv_type_rlimit=long
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+main()
+{
+#ifdef HAVE_QUAD_T
+ struct rlimit rl;
+ if (sizeof(rl.rlim_cur) == sizeof(quad_t))
+ exit(0);
+#endif
+ exit(1);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_type_rlimit=quad_t
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_type_rlimit=long
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_type_rlimit" >&5
+$as_echo "$bash_cv_type_rlimit" >&6; }
+if test $bash_cv_type_rlimit = quad_t; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define RLIMTYPE quad_t
+_ACEOF
+
+elif test $bash_cv_type_rlimit = rlim_t; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define RLIMTYPE rlim_t
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct termios.c_line" >&5
+$as_echo_n "checking for struct termios.c_line... " >&6; }
+if test "${ac_cv_member_struct_termios_c_line+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <termios.h>
+
+
+int
+main ()
+{
+static struct termios ac_aggr;
+if (ac_aggr.c_line)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_termios_c_line=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <termios.h>
+
+
+int
+main ()
+{
+static struct termios ac_aggr;
+if (sizeof ac_aggr.c_line)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_termios_c_line=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_termios_c_line=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termios_c_line" >&5
+$as_echo "$ac_cv_member_struct_termios_c_line" >&6; }
+if test "x$ac_cv_member_struct_termios_c_line" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define TERMIOS_LDISC 1
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct termio.c_line" >&5
+$as_echo_n "checking for struct termio.c_line... " >&6; }
+if test "${ac_cv_member_struct_termio_c_line+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <termio.h>
+
+
+int
+main ()
+{
+static struct termio ac_aggr;
+if (ac_aggr.c_line)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_termio_c_line=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <termio.h>
+
+
+int
+main ()
+{
+static struct termio ac_aggr;
+if (sizeof ac_aggr.c_line)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_termio_c_line=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_termio_c_line=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_termio_c_line" >&5
+$as_echo "$ac_cv_member_struct_termio_c_line" >&6; }
+if test "x$ac_cv_member_struct_termio_c_line" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define TERMIO_LDISC 1
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct dirent.d_ino" >&5
+$as_echo_n "checking for struct dirent.d_ino... " >&6; }
+if test "${bash_cv_dirent_has_dino+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+
+int
+main ()
+{
+
+struct dirent d; int z; z = d.d_ino;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_dirent_has_dino=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_dirent_has_dino=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dirent_has_dino" >&5
+$as_echo "$bash_cv_dirent_has_dino" >&6; }
+if test $bash_cv_dirent_has_dino = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRUCT_DIRENT_D_INO 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct dirent.d_fileno" >&5
+$as_echo_n "checking for struct dirent.d_fileno... " >&6; }
+if test "${bash_cv_dirent_has_d_fileno+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+
+int
+main ()
+{
+
+struct dirent d; int z; z = d.d_fileno;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_dirent_has_d_fileno=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_dirent_has_d_fileno=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dirent_has_d_fileno" >&5
+$as_echo "$bash_cv_dirent_has_d_fileno" >&6; }
+if test $bash_cv_dirent_has_d_fileno = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRUCT_DIRENT_D_FILENO 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for struct dirent.d_namlen" >&5
+$as_echo_n "checking for struct dirent.d_namlen... " >&6; }
+if test "${bash_cv_dirent_has_d_namlen+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+
+int
+main ()
+{
+
+struct dirent d; int z; z = d.d_namlen;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_dirent_has_d_namlen=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_dirent_has_d_namlen=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dirent_has_d_namlen" >&5
+$as_echo "$bash_cv_dirent_has_d_namlen" >&6; }
+if test $bash_cv_dirent_has_d_namlen = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRUCT_DIRENT_D_NAMLEN 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct winsize in sys/ioctl.h and termios.h" >&5
+$as_echo_n "checking for struct winsize in sys/ioctl.h and termios.h... " >&6; }
+if test "${bash_cv_struct_winsize_header+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/ioctl.h>
+int
+main ()
+{
+struct winsize x;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_struct_winsize_header=ioctl_h
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <termios.h>
+int
+main ()
+{
+struct winsize x;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_struct_winsize_header=termios_h
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_struct_winsize_header=other
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+if test $bash_cv_struct_winsize_header = ioctl_h; then
+ { $as_echo "$as_me:$LINENO: result: sys/ioctl.h" >&5
+$as_echo "sys/ioctl.h" >&6; }
+ cat >>confdefs.h <<\_ACEOF
+@%:@define STRUCT_WINSIZE_IN_SYS_IOCTL 1
+_ACEOF
+
+elif test $bash_cv_struct_winsize_header = termios_h; then
+ { $as_echo "$as_me:$LINENO: result: termios.h" >&5
+$as_echo "termios.h" >&6; }
+ cat >>confdefs.h <<\_ACEOF
+@%:@define STRUCT_WINSIZE_IN_TERMIOS 1
+_ACEOF
+
+else
+ { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct timeval in sys/time.h and time.h" >&5
+$as_echo_n "checking for struct timeval in sys/time.h and time.h... " >&6; }
+if test "${bash_cv_struct_timeval+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/time.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "struct timeval" >/dev/null 2>&1; then
+ bash_cv_struct_timeval=yes
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "struct timeval" >/dev/null 2>&1; then
+ bash_cv_struct_timeval=yes
+else
+ bash_cv_struct_timeval=no
+fi
+rm -f conftest*
+
+fi
+rm -f conftest*
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_struct_timeval" >&5
+$as_echo "$bash_cv_struct_timeval" >&6; }
+if test $bash_cv_struct_timeval = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_TIMEVAL 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5
+$as_echo_n "checking for struct stat.st_blocks... " >&6; }
+if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static struct stat ac_aggr;
+if (ac_aggr.st_blocks)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_stat_st_blocks=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static struct stat ac_aggr;
+if (sizeof ac_aggr.st_blocks)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_stat_st_blocks=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_stat_st_blocks=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5
+$as_echo "$ac_cv_member_struct_stat_st_blocks" >&6; }
+if test "x$ac_cv_member_struct_stat_st_blocks" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_STRUCT_STAT_ST_BLOCKS 1
+_ACEOF
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
+$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
+if test "${ac_cv_struct_tm+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <time.h>
+
+int
+main ()
+{
+struct tm tm;
+ int *p = &tm.tm_sec;
+ return !p;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_struct_tm=time.h
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_struct_tm=sys/time.h
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
+$as_echo "$ac_cv_struct_tm" >&6; }
+if test $ac_cv_struct_tm = sys/time.h; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define TM_IN_SYS_TIME 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
+$as_echo_n "checking for struct tm.tm_zone... " >&6; }
+if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_cv_struct_tm>
+
+
+int
+main ()
+{
+static struct tm ac_aggr;
+if (ac_aggr.tm_zone)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_tm_tm_zone=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <$ac_cv_struct_tm>
+
+
+int
+main ()
+{
+static struct tm ac_aggr;
+if (sizeof ac_aggr.tm_zone)
+return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_member_struct_tm_tm_zone=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_member_struct_tm_tm_zone=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
+$as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
+if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_STRUCT_TM_TM_ZONE 1
+_ACEOF
+
+
+fi
+
+if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_TM_ZONE 1
+_ACEOF
+
+else
+ { $as_echo "$as_me:$LINENO: checking whether tzname is declared" >&5
+$as_echo_n "checking whether tzname is declared... " >&6; }
+if test "${ac_cv_have_decl_tzname+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+
+int
+main ()
+{
+#ifndef tzname
+ (void) tzname;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_tzname=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_tzname=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
+$as_echo "$ac_cv_have_decl_tzname" >&6; }
+if test "x$ac_cv_have_decl_tzname" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_TZNAME 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_TZNAME 0
+_ACEOF
+
+
+fi
+
+
+ { $as_echo "$as_me:$LINENO: checking for tzname" >&5
+$as_echo_n "checking for tzname... " >&6; }
+if test "${ac_cv_var_tzname+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+#if !HAVE_DECL_TZNAME
+extern char *tzname[];
+#endif
+
+int
+main ()
+{
+return tzname[0][0];
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_var_tzname=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_var_tzname=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
+$as_echo "$ac_cv_var_tzname" >&6; }
+ if test $ac_cv_var_tzname = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_TZNAME 1
+_ACEOF
+
+ fi
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for struct timezone in sys/time.h and time.h" >&5
+$as_echo_n "checking for struct timezone in sys/time.h and time.h... " >&6; }
+if test "${bash_cv_struct_timezone+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/time.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "struct timezone" >/dev/null 2>&1; then
+ bash_cv_struct_timezone=yes
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <time.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "struct timezone" >/dev/null 2>&1; then
+ bash_cv_struct_timezone=yes
+else
+ bash_cv_struct_timezone=no
+fi
+rm -f conftest*
+
+fi
+rm -f conftest*
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_struct_timezone" >&5
+$as_echo "$bash_cv_struct_timezone" >&6; }
+if test $bash_cv_struct_timezone = yes; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRUCT_TIMEZONE 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for the existence of strsignal" >&5
+$as_echo_n "checking for the existence of strsignal... " >&6; }
+if test "${bash_cv_have_strsignal+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <signal.h>
+int
+main ()
+{
+char *s = (char *)strsignal(2);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_have_strsignal=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_have_strsignal=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_have_strsignal" >&5
+$as_echo "$bash_cv_have_strsignal" >&6; }
+if test $bash_cv_have_strsignal = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STRSIGNAL 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking if opendir() opens non-directories" >&5
+$as_echo_n "checking if opendir() opens non-directories... " >&6; }
+if test "${bash_cv_opendir_not_robust+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&2;}
+ bash_cv_opendir_not_robust=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+main()
+{
+DIR *dir;
+int fd, err;
+err = mkdir("bash-aclocal", 0700);
+if (err < 0) {
+ perror("mkdir");
+ exit(1);
+}
+unlink("bash-aclocal/not_a_directory");
+fd = open("bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
+write(fd, "\n", 1);
+close(fd);
+dir = opendir("bash-aclocal/not_a_directory");
+unlink("bash-aclocal/not_a_directory");
+rmdir("bash-aclocal");
+exit (dir == 0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_opendir_not_robust=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_opendir_not_robust=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_opendir_not_robust" >&5
+$as_echo "$bash_cv_opendir_not_robust" >&6; }
+if test $bash_cv_opendir_not_robust = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define OPENDIR_NOT_ROBUST 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether ulimit can substitute for getdtablesize" >&5
+$as_echo_n "checking whether ulimit can substitute for getdtablesize... " >&6; }
+if test "${bash_cv_ulimit_maxfds+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&2;}
+ bash_cv_ulimit_maxfds=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+main()
+{
+long maxfds = ulimit(4, 0L);
+exit (maxfds == -1L);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_ulimit_maxfds=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_ulimit_maxfds=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
+$as_echo "$bash_cv_ulimit_maxfds" >&6; }
+if test $bash_cv_ulimit_maxfds = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define ULIMIT_MAXFDS 1
+_ACEOF
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: checking whether fpurge is declared" >&5
+$as_echo_n "checking whether fpurge is declared... " >&6; }
+if test "${ac_cv_have_decl_fpurge+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <stdio.h>
+
+int
+main ()
+{
+#ifndef fpurge
+ (void) fpurge;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_cv_have_decl_fpurge=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_have_decl_fpurge=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fpurge" >&5
+$as_echo "$ac_cv_have_decl_fpurge" >&6; }
+if test "x$ac_cv_have_decl_fpurge" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_FPURGE 1
+_ACEOF
+
+
+else
+ cat >>confdefs.h <<_ACEOF
+@%:@define HAVE_DECL_FPURGE 0
+_ACEOF
+
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking to see if getenv can be redefined" >&5
+$as_echo_n "checking to see if getenv can be redefined... " >&6; }
+if test "${bash_cv_getenv_redef+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&5
+$as_echo "$as_me: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&2;}
+ bash_cv_getenv_redef=yes
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+char *
+getenv (name)
+#if defined (__linux__) || defined (__bsdi__) || defined (convex)
+ const char *name;
+#else
+ char const *name;
+#endif /* !__linux__ && !__bsdi__ && !convex */
+{
+return "42";
+}
+main()
+{
+char *s;
+/* The next allows this program to run, but does not allow bash to link
+ when it redefines getenv. I'm not really interested in figuring out
+ why not. */
+#if defined (NeXT)
+exit(1);
+#endif
+s = getenv("ABCDE");
+exit(s == 0); /* force optimizer to leave getenv in */
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_getenv_redef=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_getenv_redef=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_getenv_redef" >&5
+$as_echo "$bash_cv_getenv_redef" >&6; }
+if test $bash_cv_getenv_redef = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define CAN_REDEFINE_GETENV 1
+_ACEOF
+
+fi
+
+if test "$ac_cv_func_getcwd" = "yes"; then
+{ $as_echo "$as_me:$LINENO: checking if getcwd() will dynamically allocate memory with 0 size" >&5
+$as_echo_n "checking if getcwd() will dynamically allocate memory with 0 size... " >&6; }
+if test "${bash_cv_getcwd_malloc+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no" >&2;}
+ bash_cv_getcwd_malloc=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+main()
+{
+ char *xpwd;
+ xpwd = getcwd(0, 0);
+ exit (xpwd == 0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_getcwd_malloc=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_getcwd_malloc=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_getcwd_malloc" >&5
+$as_echo "$bash_cv_getcwd_malloc" >&6; }
+if test $bash_cv_getcwd_malloc = no; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define GETCWD_BROKEN 1
+_ACEOF
+
+case " $LIB@&t@OBJS " in
+ *" getcwd.$ac_objext "* ) ;;
+ *) LIB@&t@OBJS="$LIB@&t@OBJS getcwd.$ac_objext"
+ ;;
+esac
+
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5
+$as_echo_n "checking for presence of POSIX-style sigsetjmp/siglongjmp... " >&6; }
+if test "${bash_cv_func_sigsetjmp+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5
+$as_echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;}
+ bash_cv_func_sigsetjmp=missing
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <sys/types.h>
+#include <signal.h>
+#include <setjmp.h>
+
+main()
+{
+#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
+exit (1);
+#else
+
+int code;
+sigset_t set, oset;
+sigjmp_buf xx;
+
+/* get the mask */
+sigemptyset(&set);
+sigemptyset(&oset);
+sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set);
+sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset);
+
+/* save it */
+code = sigsetjmp(xx, 1);
+if (code)
+ exit(0); /* could get sigmask and compare to oset here. */
+
+/* change it */
+sigaddset(&set, SIGINT);
+sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
+
+/* and siglongjmp */
+siglongjmp(xx, 10);
+exit(1);
+#endif
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_func_sigsetjmp=present
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_func_sigsetjmp=missing
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_sigsetjmp" >&5
+$as_echo "$bash_cv_func_sigsetjmp" >&6; }
+if test $bash_cv_func_sigsetjmp = present; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_POSIX_SIGSETJMP 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether or not strcoll and strcmp differ" >&5
+$as_echo_n "checking whether or not strcoll and strcmp differ... " >&6; }
+if test "${bash_cv_func_strcoll_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;}
+ bash_cv_func_strcoll_broken=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#if defined (HAVE_LOCALE_H)
+#include <locale.h>
+#endif
+
+main(c, v)
+int c;
+char *v[];
+{
+ int r1, r2;
+ char *deflocale, *defcoll;
+
+#ifdef HAVE_SETLOCALE
+ deflocale = setlocale(LC_ALL, "");
+ defcoll = setlocale(LC_COLLATE, "");
+#endif
+
+#ifdef HAVE_STRCOLL
+ /* These two values are taken from tests/glob-test. */
+ r1 = strcoll("abd", "aXd");
+#else
+ r1 = 0;
+#endif
+ r2 = strcmp("abd", "aXd");
+
+ /* These two should both be greater than 0. It is permissible for
+ a system to return different values, as long as the sign is the
+ same. */
+
+ /* Exit with 1 (failure) if these two values are both > 0, since
+ this tests whether strcoll(3) is broken with respect to strcmp(3)
+ in the default locale. */
+ exit (r1 > 0 && r2 > 0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_func_strcoll_broken=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_func_strcoll_broken=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_func_strcoll_broken" >&5
+$as_echo "$bash_cv_func_strcoll_broken" >&6; }
+if test $bash_cv_func_strcoll_broken = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define STRCOLL_BROKEN 1
+_ACEOF
+
+fi
+
+
+
+if test "$ac_cv_func_putenv" = "yes"; then
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for standard-conformant putenv declaration" >&5
+$as_echo_n "checking for standard-conformant putenv declaration... " >&6; }
+if test "${bash_cv_std_putenv+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+#ifdef PROTOTYPES
+extern int putenv (char *);
+#else
+extern int putenv ();
+#endif
+
+int
+main ()
+{
+return (putenv == 0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_std_putenv=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_std_putenv=no
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_std_putenv" >&5
+$as_echo "$bash_cv_std_putenv" >&6; }
+if test $bash_cv_std_putenv = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STD_PUTENV 1
+_ACEOF
+
+fi
+
+else
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STD_PUTENV 1
+_ACEOF
+
+fi
+if test "$ac_cv_func_unsetenv" = "yes"; then
+
+
+
+{ $as_echo "$as_me:$LINENO: checking for standard-conformant unsetenv declaration" >&5
+$as_echo_n "checking for standard-conformant unsetenv declaration... " >&6; }
+if test "${bash_cv_std_unsetenv+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+#ifdef PROTOTYPES
+extern int unsetenv (const char *);
+#else
+extern int unsetenv ();
+#endif
+
+int
+main ()
+{
+return (unsetenv == 0);
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ bash_cv_std_unsetenv=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_std_unsetenv=no
+
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_std_unsetenv" >&5
+$as_echo "$bash_cv_std_unsetenv" >&6; }
+if test $bash_cv_std_unsetenv = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STD_UNSETENV 1
+_ACEOF
+
+fi
+
+else
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_STD_UNSETENV 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for printf floating point output in hex notation" >&5
+$as_echo_n "checking for printf floating point output in hex notation... " >&6; }
+if test "${bash_cv_printf_a_format+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check printf if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check printf if cross compiling -- defaulting to no" >&2;}
+ bash_cv_printf_a_format=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <stdio.h>
+#include <string.h>
+
+int
+main()
+{
+ double y = 0.0;
+ char abuf[1024];
+
+ sprintf(abuf, "%A", y);
+ exit(strchr(abuf, 'P') == (char *)0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_printf_a_format=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_printf_a_format=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_printf_a_format" >&5
+$as_echo "$bash_cv_printf_a_format" >&6; }
+if test $bash_cv_printf_a_format = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_PRINTF_A_FORMAT 1
+_ACEOF
+
+fi
+
+
+
+
+{ $as_echo "$as_me:$LINENO: checking if signal handlers must be reinstalled when invoked" >&5
+$as_echo_n "checking if signal handlers must be reinstalled when invoked... " >&6; }
+if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;}
+ bash_cv_must_reinstall_sighandlers=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+typedef RETSIGTYPE sigfunc();
+
+int nsigint;
+
+#ifdef HAVE_POSIX_SIGNALS
+sigfunc *
+set_signal_handler(sig, handler)
+ int sig;
+ sigfunc *handler;
+{
+ struct sigaction act, oact;
+ act.sa_handler = handler;
+ act.sa_flags = 0;
+ sigemptyset (&act.sa_mask);
+ sigemptyset (&oact.sa_mask);
+ sigaction (sig, &act, &oact);
+ return (oact.sa_handler);
+}
+#else
+#define set_signal_handler(s, h) signal(s, h)
+#endif
+
+RETSIGTYPE
+sigint(s)
+int s;
+{
+ nsigint++;
+}
+
+main()
+{
+ nsigint = 0;
+ set_signal_handler(SIGINT, sigint);
+ kill((int)getpid(), SIGINT);
+ kill((int)getpid(), SIGINT);
+ exit(nsigint != 2);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_must_reinstall_sighandlers=no
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_must_reinstall_sighandlers=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_must_reinstall_sighandlers" >&5
+$as_echo "$bash_cv_must_reinstall_sighandlers" >&6; }
+if test $bash_cv_must_reinstall_sighandlers = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define MUST_REINSTALL_SIGHANDLERS 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for presence of necessary job control definitions" >&5
+$as_echo_n "checking for presence of necessary job control definitions... " >&6; }
+if test "${bash_cv_job_control_missing+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&5
+$as_echo "$as_me: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&2;}
+ bash_cv_job_control_missing=missing
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <signal.h>
+
+/* Add more tests in here as appropriate. */
+main()
+{
+/* signal type */
+#if !defined (HAVE_POSIX_SIGNALS) && !defined (HAVE_BSD_SIGNALS)
+exit(1);
+#endif
+
+/* signals and tty control. */
+#if !defined (SIGTSTP) || !defined (SIGSTOP) || !defined (SIGCONT)
+exit (1);
+#endif
+
+/* process control */
+#if !defined (WNOHANG) || !defined (WUNTRACED)
+exit(1);
+#endif
+
+/* Posix systems have tcgetpgrp and waitpid. */
+#if defined (_POSIX_VERSION) && !defined (HAVE_TCGETPGRP)
+exit(1);
+#endif
+
+#if defined (_POSIX_VERSION) && !defined (HAVE_WAITPID)
+exit(1);
+#endif
+
+/* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
+#if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
+exit(1);
+#endif
+
+exit(0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_job_control_missing=present
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_job_control_missing=missing
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_job_control_missing" >&5
+$as_echo "$bash_cv_job_control_missing" >&6; }
+if test $bash_cv_job_control_missing = missing; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define JOB_CONTROL_MISSING 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for presence of named pipes" >&5
+$as_echo_n "checking for presence of named pipes... " >&6; }
+if test "${bash_cv_sys_named_pipes+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&5
+$as_echo "$as_me: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&2;}
+ bash_cv_sys_named_pipes=missing
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+/* Add more tests in here as appropriate. */
+main()
+{
+int fd, err;
+
+#if defined (HAVE_MKFIFO)
+exit (0);
+#endif
+
+#if !defined (S_IFIFO) && (defined (_POSIX_VERSION) && !defined (S_ISFIFO))
+exit (1);
+#endif
+
+#if defined (NeXT)
+exit (1);
+#endif
+err = mkdir("bash-aclocal", 0700);
+if (err < 0) {
+ perror ("mkdir");
+ exit(1);
+}
+fd = mknod ("bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
+if (fd == -1) {
+ rmdir ("bash-aclocal");
+ exit (1);
+}
+close(fd);
+unlink ("bash-aclocal/sh-np-autoconf");
+rmdir ("bash-aclocal");
+exit(0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_sys_named_pipes=present
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_sys_named_pipes=missing
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_sys_named_pipes" >&5
+$as_echo "$bash_cv_sys_named_pipes" >&6; }
+if test $bash_cv_sys_named_pipes = missing; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define NAMED_PIPES_MISSING 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking whether termios.h defines TIOCGWINSZ" >&5
+$as_echo_n "checking whether termios.h defines TIOCGWINSZ... " >&6; }
+if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <termios.h>
+#ifdef TIOCGWINSZ
+ yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then
+ ac_cv_sys_tiocgwinsz_in_termios_h=yes
+else
+ ac_cv_sys_tiocgwinsz_in_termios_h=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5
+$as_echo "$ac_cv_sys_tiocgwinsz_in_termios_h" >&6; }
+
+if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then
+ { $as_echo "$as_me:$LINENO: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5
+$as_echo_n "checking whether sys/ioctl.h defines TIOCGWINSZ... " >&6; }
+if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#ifdef TIOCGWINSZ
+ yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "yes" >/dev/null 2>&1; then
+ ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes
+else
+ ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5
+$as_echo "$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6; }
+
+ if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+@%:@define GWINSZ_IN_SYS_IOCTL 1
+_ACEOF
+
+ fi
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for TIOCSTAT in sys/ioctl.h" >&5
+$as_echo_n "checking for TIOCSTAT in sys/ioctl.h... " >&6; }
+if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/ioctl.h>
+int
+main ()
+{
+int x = TIOCSTAT;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_tiocstat_in_ioctl=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_tiocstat_in_ioctl=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_tiocstat_in_ioctl" >&5
+$as_echo "$bash_cv_tiocstat_in_ioctl" >&6; }
+if test $bash_cv_tiocstat_in_ioctl = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define TIOCSTAT_IN_SYS_IOCTL 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for FIONREAD in sys/ioctl.h" >&5
+$as_echo_n "checking for FIONREAD in sys/ioctl.h... " >&6; }
+if test "${bash_cv_fionread_in_ioctl+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+#include <sys/ioctl.h>
+int
+main ()
+{
+int x = FIONREAD;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_fionread_in_ioctl=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_fionread_in_ioctl=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_fionread_in_ioctl" >&5
+$as_echo "$bash_cv_fionread_in_ioctl" >&6; }
+if test $bash_cv_fionread_in_ioctl = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define FIONREAD_IN_SYS_IOCTL 1
+_ACEOF
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether WCONTINUED flag to waitpid is unavailable or available but broken" >&5
+$as_echo_n "checking whether WCONTINUED flag to waitpid is unavailable or available but broken... " >&6; }
+if test "${bash_cv_wcontinued_broken+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check WCONTINUED if cross compiling -- defaulting to no" >&5
+$as_echo "$as_me: WARNING: cannot check WCONTINUED if cross compiling -- defaulting to no" >&2;}
+ bash_cv_wcontinued_broken=no
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <errno.h>
+
+#ifndef errno
+extern int errno;
+#endif
+main()
+{
+ int x;
+
+ x = waitpid(-1, (int *)0, WNOHANG|WCONTINUED);
+ if (x == -1 && errno == EINVAL)
+ exit (1);
+ else
+ exit (0);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_wcontinued_broken=no
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_wcontinued_broken=yes
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_wcontinued_broken" >&5
+$as_echo "$bash_cv_wcontinued_broken" >&6; }
+if test $bash_cv_wcontinued_broken = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define WCONTINUED_BROKEN 1
+_ACEOF
+
+fi
+
+
+{ $as_echo "$as_me:$LINENO: checking for speed_t in sys/types.h" >&5
+$as_echo_n "checking for speed_t in sys/types.h... " >&6; }
+if test "${bash_cv_speed_t_in_sys_types+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+#include <sys/types.h>
+int
+main ()
+{
+speed_t x;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_speed_t_in_sys_types=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_speed_t_in_sys_types=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_speed_t_in_sys_types" >&5
+$as_echo "$bash_cv_speed_t_in_sys_types" >&6; }
+if test $bash_cv_speed_t_in_sys_types = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define SPEED_T_IN_SYS_TYPES 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether getpw functions are declared in pwd.h" >&5
+$as_echo_n "checking whether getpw functions are declared in pwd.h... " >&6; }
+if test "${bash_cv_getpw_declared+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#include <pwd.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "getpwuid" >/dev/null 2>&1; then
+ bash_cv_getpw_declared=yes
+else
+ bash_cv_getpw_declared=no
+fi
+rm -f conftest*
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_getpw_declared" >&5
+$as_echo "$bash_cv_getpw_declared" >&6; }
+if test $bash_cv_getpw_declared = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_GETPW_DECLS 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for unusable real-time signals due to large values" >&5
+$as_echo_n "checking for unusable real-time signals due to large values... " >&6; }
+if test "${bash_cv_unusable_rtsigs+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&5
+$as_echo "$as_me: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&2;}
+ bash_cv_unusable_rtsigs=yes
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <signal.h>
+
+#ifndef NSIG
+# define NSIG 64
+#endif
+
+main ()
+{
+ int n_sigs = 2 * NSIG;
+#ifdef SIGRTMIN
+ int rtmin = SIGRTMIN;
+#else
+ int rtmin = 0;
+#endif
+
+ exit(rtmin < n_sigs);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_unusable_rtsigs=yes
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_unusable_rtsigs=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_unusable_rtsigs" >&5
+$as_echo "$bash_cv_unusable_rtsigs" >&6; }
+if test $bash_cv_unusable_rtsigs = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define UNUSABLE_RT_SIGNALS 1
+_ACEOF
+
+fi
+
+
+
+
+
+if test "$bash_cv_sys_siglist" = no && test "$bash_cv_under_sys_siglist" = no && test "$bash_cv_have_strsignal" = no; then
+ SIGLIST_O=siglist.o
+else
+ SIGLIST_O=
+fi
+
+
+
+case "$host_os" in
+hpux*) { $as_echo "$as_me:$LINENO: checking whether $host_os needs _KERNEL for RLIMIT defines" >&5
+$as_echo_n "checking whether $host_os needs _KERNEL for RLIMIT defines... " >&6; }
+if test "${bash_cv_kernel_rlimit+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#include <sys/resource.h>
+
+int
+main ()
+{
+
+ int f;
+ f = RLIMIT_DATA;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_kernel_rlimit=no
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <sys/types.h>
+#define _KERNEL
+#include <sys/resource.h>
+#undef _KERNEL
+
+int
+main ()
+{
+
+ int f;
+ f = RLIMIT_DATA;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ bash_cv_kernel_rlimit=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ bash_cv_kernel_rlimit=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_kernel_rlimit" >&5
+$as_echo "$bash_cv_kernel_rlimit" >&6; }
+if test $bash_cv_kernel_rlimit = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define RLIMIT_NEEDS_KERNEL 1
+_ACEOF
+
+fi
+ ;;
+esac
+
+if test "$opt_readline" = yes; then
+case "$host_os" in
+aix*) prefer_curses=yes ;;
+esac
+
+if test "X$bash_cv_termcap_lib" = "X"; then
+_bash_needmsg=yes
+else
+{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
+$as_echo_n "checking which library has the termcap functions... " >&6; }
+_bash_needmsg=
+fi
+if test "${bash_cv_termcap_lib+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent" >&5
+$as_echo_n "checking for tgetent... " >&6; }
+if test "${ac_cv_func_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define tgetent to an innocuous variant, in case <limits.h> declares tgetent.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define tgetent innocuous_tgetent
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char tgetent (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef tgetent
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_tgetent || defined __stub___tgetent
+choke me
+#endif
+
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
+$as_echo "$ac_cv_func_tgetent" >&6; }
+if test "x$ac_cv_func_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libc
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
+$as_echo_n "checking for tgetent in -ltermcap... " >&6; }
+if test "${ac_cv_lib_termcap_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltermcap $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_termcap_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_termcap_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
+$as_echo "$ac_cv_lib_termcap_tgetent" >&6; }
+if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libtermcap
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
+$as_echo_n "checking for tgetent in -ltinfo... " >&6; }
+if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltinfo $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_tinfo_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_tinfo_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
+$as_echo "$ac_cv_lib_tinfo_tgetent" >&6; }
+if test "x$ac_cv_lib_tinfo_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libtinfo
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
+$as_echo_n "checking for tgetent in -lcurses... " >&6; }
+if test "${ac_cv_lib_curses_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_curses_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_curses_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
+$as_echo "$ac_cv_lib_curses_tgetent" >&6; }
+if test "x$ac_cv_lib_curses_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libcurses
+else
+ { $as_echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
+$as_echo_n "checking for tgetent in -lncurses... " >&6; }
+if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lncurses $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char tgetent ();
+int
+main ()
+{
+return tgetent ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_lib_ncurses_tgetent=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_lib_ncurses_tgetent=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
+$as_echo "$ac_cv_lib_ncurses_tgetent" >&6; }
+if test "x$ac_cv_lib_ncurses_tgetent" = x""yes; then
+ bash_cv_termcap_lib=libncurses
+else
+ bash_cv_termcap_lib=gnutermcap
+fi
+
+fi
+
+fi
+
+fi
+
+fi
+
+fi
+
+if test "X$_bash_needmsg" = "Xyes"; then
+{ $as_echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
+$as_echo_n "checking which library has the termcap functions... " >&6; }
+fi
+{ $as_echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5
+$as_echo "using $bash_cv_termcap_lib" >&6; }
+if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
+LDFLAGS="$LDFLAGS -L./lib/termcap"
+TERMCAP_LIB="./lib/termcap/libtermcap.a"
+TERMCAP_DEP="./lib/termcap/libtermcap.a"
+elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
+TERMCAP_LIB=-ltermcap
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libtinfo; then
+TERMCAP_LIB=-ltinfo
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libncurses; then
+TERMCAP_LIB=-lncurses
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libc; then
+TERMCAP_LIB=
+TERMCAP_DEP=
+else
+TERMCAP_LIB=-lcurses
+TERMCAP_DEP=
+fi
+
+fi
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether /dev/fd is available" >&5
+$as_echo_n "checking whether /dev/fd is available... " >&6; }
+if test "${bash_cv_dev_fd+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ bash_cv_dev_fd=""
+if test -d /dev/fd && (exec test -r /dev/fd/0 < /dev/null) ; then
+# check for systems like FreeBSD 5 that only provide /dev/fd/[012]
+ if (exec test -r /dev/fd/3 3</dev/null) ; then
+ bash_cv_dev_fd=standard
+ else
+ bash_cv_dev_fd=absent
+ fi
+fi
+if test -z "$bash_cv_dev_fd" ; then
+ if test -d /proc/self/fd && (exec test -r /proc/self/fd/0 < /dev/null) ; then
+ bash_cv_dev_fd=whacky
+ else
+ bash_cv_dev_fd=absent
+ fi
+fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dev_fd" >&5
+$as_echo "$bash_cv_dev_fd" >&6; }
+if test $bash_cv_dev_fd = "standard"; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_DEV_FD 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define DEV_FD_PREFIX "/dev/fd/"
+_ACEOF
+
+elif test $bash_cv_dev_fd = "whacky"; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_DEV_FD 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define DEV_FD_PREFIX "/proc/self/fd/"
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether /dev/stdin stdout stderr are available" >&5
+$as_echo_n "checking whether /dev/stdin stdout stderr are available... " >&6; }
+if test "${bash_cv_dev_stdin+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -d /dev/fd && (exec test -r /dev/stdin < /dev/null) ; then
+ bash_cv_dev_stdin=present
+ elif test -d /proc/self/fd && (exec test -r /dev/stdin < /dev/null) ; then
+ bash_cv_dev_stdin=present
+ else
+ bash_cv_dev_stdin=absent
+ fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_dev_stdin" >&5
+$as_echo "$bash_cv_dev_stdin" >&6; }
+if test $bash_cv_dev_stdin = "present"; then
+ cat >>confdefs.h <<\_ACEOF
+@%:@define HAVE_DEV_STDIN 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for default mail directory" >&5
+$as_echo_n "checking for default mail directory... " >&6; }
+if test "${bash_cv_mail_dir+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test -d /var/mail; then
+ bash_cv_mail_dir=/var/mail
+ elif test -d /var/spool/mail; then
+ bash_cv_mail_dir=/var/spool/mail
+ elif test -d /usr/mail; then
+ bash_cv_mail_dir=/usr/mail
+ elif test -d /usr/spool/mail; then
+ bash_cv_mail_dir=/usr/spool/mail
+ else
+ bash_cv_mail_dir=unknown
+ fi
+
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_mail_dir" >&5
+$as_echo "$bash_cv_mail_dir" >&6; }
+cat >>confdefs.h <<_ACEOF
+@%:@define DEFAULT_MAIL_DIRECTORY "$bash_cv_mail_dir"
+_ACEOF
+
+
+
+if test "$bash_cv_job_control_missing" = missing; then
+ opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+cat >>confdefs.h <<\_ACEOF
+@%:@define JOB_CONTROL 1
+_ACEOF
+
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+
+
+
+LOCAL_DEFS=-DSHELL
+
+
+case "${host_os}" in
+sysv4.2*) cat >>confdefs.h <<\_ACEOF
+@%:@define SVR4_2 1
+_ACEOF
+
+ cat >>confdefs.h <<\_ACEOF
+@%:@define SVR4 1
+_ACEOF
+ ;;
+sysv4*) cat >>confdefs.h <<\_ACEOF
+@%:@define SVR4 1
+_ACEOF
+ ;;
+sysv5*) cat >>confdefs.h <<\_ACEOF
+@%:@define SVR5 1
+_ACEOF
+ ;;
+hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
+hpux*) LOCAL_CFLAGS=-DHPUX ;;
+dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*) LOCAL_CFLAGS=-Disc386 ;;
+rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
+darwin*) LOCAL_CFLAGS=-DMACOSX ;;
+sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
+solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
+solaris2.8*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.9*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ case "`uname -r`" in
+ 2.[456789]*|3*) cat >>confdefs.h <<\_ACEOF
+@%:@define PGRP_PIPE 1
+_ACEOF
+ ;;
+ esac ;;
+*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+powerux*) LOCAL_LIBS="-lgen" ;;
+cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
+esac
+
+case "${host_os}-${CC}" in
+aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
+aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
+bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
+esac
+
+case "${host_os}" in
+freebsd[3-9]*)
+ if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
+ LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ fi ;;
+freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
+esac
+
+#
+# Shared object configuration section. These values are generated by
+# ${srcdir}/support/shobj-conf
+#
+if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
+then
+ { $as_echo "$as_me:$LINENO: checking shared object configuration for loadable builtins" >&5
+$as_echo_n "checking shared object configuration for loadable builtins... " >&6; }
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
+
+
+
+
+
+
+
+ { $as_echo "$as_me:$LINENO: result: $SHOBJ_STATUS" >&5
+$as_echo "$SHOBJ_STATUS" >&6; }
+fi
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.) ;;
+*) for d in doc tests support lib examples; do # dirs
+ test -d $d || mkdir $d
+ done
+ for ld in readline glob tilde malloc sh termcap; do # libdirs
+ test -d lib/$ld || mkdir lib/$ld
+ done
+ test -d examples/loadables || mkdir examples/loadables # loadable builtins
+ test -d examples/loadables/perl || mkdir examples/loadables/perl
+ ;;
+esac
+
+BUILD_DIR=`pwd`
+case "$BUILD_DIR" in
+*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
+*) ;;
+esac
+
+if test -z "$localedir"; then
+ localedir='${datarootdir}/locale'
+fi
+if test -z "$datarootdir"; then
+ datarootdir='${prefix}/share'
+fi
+
+
+
+
+
+
+# Some versions of autoconf don't substitute these automatically
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#AC_SUBST(ALLOCA_SOURCE)
+#AC_SUBST(ALLOCA_OBJECT)
+
+ac_config_files="$ac_config_files Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile lib/intl/Makefile lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in examples/loadables/Makefile examples/loadables/perl/Makefile"
+
+ac_config_commands="$ac_config_commands default"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIB@&t@OBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -p'
+ fi
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by bash $as_me 4.0-release, which was
+generated by GNU Autoconf 2.63. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTION]... [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_version="\\
+bash config.status 4.0-release
+configured by $0, generated by GNU Autoconf 2.63,
+ with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
+@%:@@%:@ Running $as_me. @%:@@%:@
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
+ # from automake.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "builtins/Makefile") CONFIG_FILES="$CONFIG_FILES builtins/Makefile" ;;
+ "lib/readline/Makefile") CONFIG_FILES="$CONFIG_FILES lib/readline/Makefile" ;;
+ "lib/glob/Makefile") CONFIG_FILES="$CONFIG_FILES lib/glob/Makefile" ;;
+ "lib/intl/Makefile") CONFIG_FILES="$CONFIG_FILES lib/intl/Makefile" ;;
+ "lib/malloc/Makefile") CONFIG_FILES="$CONFIG_FILES lib/malloc/Makefile" ;;
+ "lib/sh/Makefile") CONFIG_FILES="$CONFIG_FILES lib/sh/Makefile" ;;
+ "lib/termcap/Makefile") CONFIG_FILES="$CONFIG_FILES lib/termcap/Makefile" ;;
+ "lib/tilde/Makefile") CONFIG_FILES="$CONFIG_FILES lib/tilde/Makefile" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "support/Makefile") CONFIG_FILES="$CONFIG_FILES support/Makefile" ;;
+ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+ "examples/loadables/Makefile") CONFIG_FILES="$CONFIG_FILES examples/loadables/Makefile" ;;
+ "examples/loadables/perl/Makefile") CONFIG_FILES="$CONFIG_FILES examples/loadables/perl/Makefile" ;;
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+
+ *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ $as_echo "$as_me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=' '
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+ { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_t"; then
+ break
+ elif $ac_last_try; then
+ { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+ { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ ac_file_inputs="$ac_file_inputs '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; } ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out" && rm -f "$tmp/out";;
+ *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+ esac \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+ } >"$tmp/config.h" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$tmp/config.h" "$ac_file" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ ;;
+
+ :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "default-1":C)
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assigment from automake.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ GMOFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done ;;
+ "default":C)
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+ ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/autom4te.cache/requests b/autom4te.cache/requests
new file mode 100644
index 0000000..4a5e08c
--- /dev/null
+++ b/autom4te.cache/requests
@@ -0,0 +1,67 @@
+# This file was generated.
+# It contains the lists of macros which have been traced.
+# It can be safely removed.
+
+@request = (
+ bless( [
+ '0',
+ 1,
+ [
+ '/sw/share/autoconf'
+ ],
+ [
+ '/sw/share/autoconf/autoconf/autoconf.m4f',
+ 'aclocal.m4',
+ 'configure.in'
+ ],
+ {
+ '_LT_AC_TAGCONFIG' => 1,
+ 'AM_PROG_F77_C_O' => 1,
+ 'AC_INIT' => 1,
+ 'm4_pattern_forbid' => 1,
+ '_AM_COND_IF' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_FC_SRCEXT' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'LT_CONFIG_LTDL_DIR' => 1,
+ 'AC_REQUIRE_AUX_FILE' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'm4_sinclude' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+ '_m4_warn' => 1,
+ 'AM_PROG_CXX_C_O' => 1,
+ '_AM_COND_ENDIF' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'include' => 1,
+ 'LT_INIT' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AM_PROG_FC_C_O' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
+ 'AC_FC_FREEFORM' => 1,
+ 'AH_OUTPUT' => 1,
+ '_AM_SUBST_NOTMAKE' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'sinclude' => 1,
+ 'm4_pattern_allow' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'm4_include' => 1,
+ '_AM_COND_ELSE' => 1,
+ 'AC_SUBST_TRACE' => 1
+ }
+ ], 'Autom4te::Request' )
+ );
+
diff --git a/autom4te.cache/traces.0 b/autom4te.cache/traces.0
new file mode 100644
index 0000000..c0da51e
--- /dev/null
+++ b/autom4te.cache/traces.0
@@ -0,0 +1,2515 @@
+m4trace:configure.in:29: -1- AC_INIT([bash], [4.0-release], [bug-bash@gnu.org])
+m4trace:configure.in:29: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.in:29: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.in:29: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.in:29: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.in:29: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.in:29: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.in:29: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.in:29: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([SHELL])
+m4trace:configure.in:29: -1- m4_pattern_allow([^SHELL$])
+m4trace:configure.in:29: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PATH_SEPARATOR$])
+m4trace:configure.in:29: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PACKAGE_NAME])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:29: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:29: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:29: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PACKAGE_STRING])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:29: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:29: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([exec_prefix])
+m4trace:configure.in:29: -1- m4_pattern_allow([^exec_prefix$])
+m4trace:configure.in:29: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([prefix])
+m4trace:configure.in:29: -1- m4_pattern_allow([^prefix$])
+m4trace:configure.in:29: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([program_transform_name])
+m4trace:configure.in:29: -1- m4_pattern_allow([^program_transform_name$])
+m4trace:configure.in:29: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([bindir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^bindir$])
+m4trace:configure.in:29: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([sbindir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^sbindir$])
+m4trace:configure.in:29: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([libexecdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^libexecdir$])
+m4trace:configure.in:29: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:29: -1- AC_SUBST([datadir], ['${datarootdir}'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([datadir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^datadir$])
+m4trace:configure.in:29: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([sysconfdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^sysconfdir$])
+m4trace:configure.in:29: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([sharedstatedir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^sharedstatedir$])
+m4trace:configure.in:29: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([localstatedir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^localstatedir$])
+m4trace:configure.in:29: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([includedir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^includedir$])
+m4trace:configure.in:29: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([oldincludedir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^oldincludedir$])
+m4trace:configure.in:29: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
+ ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
+ ['${datarootdir}/doc/${PACKAGE}'])])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([docdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^docdir$])
+m4trace:configure.in:29: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([infodir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^infodir$])
+m4trace:configure.in:29: -1- AC_SUBST([htmldir], ['${docdir}'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:29: -1- AC_SUBST([dvidir], ['${docdir}'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([dvidir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^dvidir$])
+m4trace:configure.in:29: -1- AC_SUBST([pdfdir], ['${docdir}'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([pdfdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^pdfdir$])
+m4trace:configure.in:29: -1- AC_SUBST([psdir], ['${docdir}'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([psdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^psdir$])
+m4trace:configure.in:29: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([libdir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^libdir$])
+m4trace:configure.in:29: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:29: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([mandir])
+m4trace:configure.in:29: -1- m4_pattern_allow([^mandir$])
+m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:29: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:29: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:29: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:29: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.in:29: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:29: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.in:29: -1- AC_SUBST([DEFS])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([DEFS])
+m4trace:configure.in:29: -1- m4_pattern_allow([^DEFS$])
+m4trace:configure.in:29: -1- AC_SUBST([ECHO_C])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([ECHO_C])
+m4trace:configure.in:29: -1- m4_pattern_allow([^ECHO_C$])
+m4trace:configure.in:29: -1- AC_SUBST([ECHO_N])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([ECHO_N])
+m4trace:configure.in:29: -1- m4_pattern_allow([^ECHO_N$])
+m4trace:configure.in:29: -1- AC_SUBST([ECHO_T])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([ECHO_T])
+m4trace:configure.in:29: -1- m4_pattern_allow([^ECHO_T$])
+m4trace:configure.in:29: -1- AC_SUBST([LIBS])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:29: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:29: -1- AC_SUBST([build_alias])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([build_alias])
+m4trace:configure.in:29: -1- m4_pattern_allow([^build_alias$])
+m4trace:configure.in:29: -1- AC_SUBST([host_alias])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([host_alias])
+m4trace:configure.in:29: -1- m4_pattern_allow([^host_alias$])
+m4trace:configure.in:29: -1- AC_SUBST([target_alias])
+m4trace:configure.in:29: -1- AC_SUBST_TRACE([target_alias])
+m4trace:configure.in:29: -1- m4_pattern_allow([^target_alias$])
+m4trace:configure.in:36: -1- AC_CONFIG_AUX_DIR([./support])
+m4trace:configure.in:37: -1- AC_CONFIG_HEADERS([config.h])
+m4trace:configure.in:51: -1- AC_CANONICAL_HOST
+m4trace:configure.in:51: -1- AC_CANONICAL_BUILD
+m4trace:configure.in:51: -1- AC_REQUIRE_AUX_FILE([config.sub])
+m4trace:configure.in:51: -1- AC_REQUIRE_AUX_FILE([config.guess])
+m4trace:configure.in:51: -1- AC_SUBST([build], [$ac_cv_build])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([build])
+m4trace:configure.in:51: -1- m4_pattern_allow([^build$])
+m4trace:configure.in:51: -1- AC_SUBST([build_cpu], [$[1]])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([build_cpu])
+m4trace:configure.in:51: -1- m4_pattern_allow([^build_cpu$])
+m4trace:configure.in:51: -1- AC_SUBST([build_vendor], [$[2]])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([build_vendor])
+m4trace:configure.in:51: -1- m4_pattern_allow([^build_vendor$])
+m4trace:configure.in:51: -1- AC_SUBST([build_os])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([build_os])
+m4trace:configure.in:51: -1- m4_pattern_allow([^build_os$])
+m4trace:configure.in:51: -1- AC_SUBST([host], [$ac_cv_host])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([host])
+m4trace:configure.in:51: -1- m4_pattern_allow([^host$])
+m4trace:configure.in:51: -1- AC_SUBST([host_cpu], [$[1]])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:51: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:51: -1- AC_SUBST([host_vendor], [$[2]])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:51: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:51: -1- AC_SUBST([host_os])
+m4trace:configure.in:51: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:51: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:101: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+aclocal.m4:1959: AM_PATH_LISPDIR is expanded from...
+configure.in:101: the top level])
+m4trace:configure.in:101: -1- AC_SUBST([EMACS])
+m4trace:configure.in:101: -1- AC_SUBST_TRACE([EMACS])
+m4trace:configure.in:101: -1- m4_pattern_allow([^EMACS$])
+m4trace:configure.in:101: -1- AC_SUBST([lispdir])
+m4trace:configure.in:101: -1- AC_SUBST_TRACE([lispdir])
+m4trace:configure.in:101: -1- m4_pattern_allow([^lispdir$])
+m4trace:configure.in:102: -1- AC_SUBST([DEBUGGER_START_FILE])
+m4trace:configure.in:102: -1- AC_SUBST_TRACE([DEBUGGER_START_FILE])
+m4trace:configure.in:102: -1- m4_pattern_allow([^DEBUGGER_START_FILE$])
+m4trace:configure.in:106: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:106: the top level])
+m4trace:configure.in:107: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:107: the top level])
+m4trace:configure.in:108: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:108: the top level])
+m4trace:configure.in:109: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:109: the top level])
+m4trace:configure.in:110: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:110: the top level])
+m4trace:configure.in:111: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:111: the top level])
+m4trace:configure.in:112: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:112: the top level])
+m4trace:configure.in:123: -1- AC_DEFINE_TRACE_LITERAL([USING_BASH_MALLOC])
+m4trace:configure.in:123: -1- m4_pattern_allow([^USING_BASH_MALLOC$])
+m4trace:configure.in:133: -1- AC_DEFINE_TRACE_LITERAL([DISABLE_MALLOC_WRAPPERS])
+m4trace:configure.in:133: -1- m4_pattern_allow([^DISABLE_MALLOC_WRAPPERS$])
+m4trace:configure.in:143: -1- AC_DEFINE_TRACE_LITERAL([AFS])
+m4trace:configure.in:143: -1- m4_pattern_allow([^AFS$])
+m4trace:configure.in:194: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:194: the top level])
+m4trace:configure.in:210: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:210: the top level])
+m4trace:configure.in:211: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:211: the top level])
+m4trace:configure.in:212: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:212: the top level])
+m4trace:configure.in:213: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:213: the top level])
+m4trace:configure.in:214: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:214: the top level])
+m4trace:configure.in:215: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:215: the top level])
+m4trace:configure.in:216: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:216: the top level])
+m4trace:configure.in:217: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:217: the top level])
+m4trace:configure.in:218: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:218: the top level])
+m4trace:configure.in:219: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:219: the top level])
+m4trace:configure.in:220: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:220: the top level])
+m4trace:configure.in:221: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:221: the top level])
+m4trace:configure.in:222: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:222: the top level])
+m4trace:configure.in:223: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:223: the top level])
+m4trace:configure.in:224: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:224: the top level])
+m4trace:configure.in:225: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:225: the top level])
+m4trace:configure.in:226: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:226: the top level])
+m4trace:configure.in:227: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:227: the top level])
+m4trace:configure.in:228: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:228: the top level])
+m4trace:configure.in:229: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:229: the top level])
+m4trace:configure.in:230: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:230: the top level])
+m4trace:configure.in:231: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:231: the top level])
+m4trace:configure.in:232: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:232: the top level])
+m4trace:configure.in:233: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:233: the top level])
+m4trace:configure.in:234: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:234: the top level])
+m4trace:configure.in:235: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:235: the top level])
+m4trace:configure.in:236: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:236: the top level])
+m4trace:configure.in:237: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:237: the top level])
+m4trace:configure.in:238: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:238: the top level])
+m4trace:configure.in:239: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:239: the top level])
+m4trace:configure.in:240: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:240: the top level])
+m4trace:configure.in:241: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:241: the top level])
+m4trace:configure.in:244: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:244: the top level])
+m4trace:configure.in:245: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:245: the top level])
+m4trace:configure.in:246: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
+configure.in:246: the top level])
+m4trace:configure.in:255: -1- AC_DEFINE_TRACE_LITERAL([ALIAS])
+m4trace:configure.in:255: -1- m4_pattern_allow([^ALIAS$])
+m4trace:configure.in:258: -1- AC_DEFINE_TRACE_LITERAL([PUSHD_AND_POPD])
+m4trace:configure.in:258: -1- m4_pattern_allow([^PUSHD_AND_POPD$])
+m4trace:configure.in:261: -1- AC_DEFINE_TRACE_LITERAL([RESTRICTED_SHELL])
+m4trace:configure.in:261: -1- m4_pattern_allow([^RESTRICTED_SHELL$])
+m4trace:configure.in:264: -1- AC_DEFINE_TRACE_LITERAL([PROCESS_SUBSTITUTION])
+m4trace:configure.in:264: -1- m4_pattern_allow([^PROCESS_SUBSTITUTION$])
+m4trace:configure.in:267: -1- AC_DEFINE_TRACE_LITERAL([PROMPT_STRING_DECODE])
+m4trace:configure.in:267: -1- m4_pattern_allow([^PROMPT_STRING_DECODE$])
+m4trace:configure.in:270: -1- AC_DEFINE_TRACE_LITERAL([SELECT_COMMAND])
+m4trace:configure.in:270: -1- m4_pattern_allow([^SELECT_COMMAND$])
+m4trace:configure.in:273: -1- AC_DEFINE_TRACE_LITERAL([HELP_BUILTIN])
+m4trace:configure.in:273: -1- m4_pattern_allow([^HELP_BUILTIN$])
+m4trace:configure.in:276: -1- AC_DEFINE_TRACE_LITERAL([ARRAY_VARS])
+m4trace:configure.in:276: -1- m4_pattern_allow([^ARRAY_VARS$])
+m4trace:configure.in:279: -1- AC_DEFINE_TRACE_LITERAL([DPAREN_ARITHMETIC])
+m4trace:configure.in:279: -1- m4_pattern_allow([^DPAREN_ARITHMETIC$])
+m4trace:configure.in:282: -1- AC_DEFINE_TRACE_LITERAL([BRACE_EXPANSION])
+m4trace:configure.in:282: -1- m4_pattern_allow([^BRACE_EXPANSION$])
+m4trace:configure.in:285: -1- AC_DEFINE_TRACE_LITERAL([DISABLED_BUILTINS])
+m4trace:configure.in:285: -1- m4_pattern_allow([^DISABLED_BUILTINS$])
+m4trace:configure.in:288: -1- AC_DEFINE_TRACE_LITERAL([COMMAND_TIMING])
+m4trace:configure.in:288: -1- m4_pattern_allow([^COMMAND_TIMING$])
+m4trace:configure.in:291: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_ECHO_TO_XPG])
+m4trace:configure.in:291: -1- m4_pattern_allow([^DEFAULT_ECHO_TO_XPG$])
+m4trace:configure.in:294: -1- AC_DEFINE_TRACE_LITERAL([STRICT_POSIX])
+m4trace:configure.in:294: -1- m4_pattern_allow([^STRICT_POSIX$])
+m4trace:configure.in:297: -1- AC_DEFINE_TRACE_LITERAL([EXTENDED_GLOB])
+m4trace:configure.in:297: -1- m4_pattern_allow([^EXTENDED_GLOB$])
+m4trace:configure.in:300: -1- AC_DEFINE_TRACE_LITERAL([COND_COMMAND])
+m4trace:configure.in:300: -1- m4_pattern_allow([^COND_COMMAND$])
+m4trace:configure.in:303: -1- AC_DEFINE_TRACE_LITERAL([COND_REGEXP])
+m4trace:configure.in:303: -1- m4_pattern_allow([^COND_REGEXP$])
+m4trace:configure.in:306: -1- AC_DEFINE_TRACE_LITERAL([COPROCESS_SUPPORT])
+m4trace:configure.in:306: -1- m4_pattern_allow([^COPROCESS_SUPPORT$])
+m4trace:configure.in:309: -1- AC_DEFINE_TRACE_LITERAL([ARITH_FOR_COMMAND])
+m4trace:configure.in:309: -1- m4_pattern_allow([^ARITH_FOR_COMMAND$])
+m4trace:configure.in:312: -1- AC_DEFINE_TRACE_LITERAL([NETWORK_REDIRECTIONS])
+m4trace:configure.in:312: -1- m4_pattern_allow([^NETWORK_REDIRECTIONS$])
+m4trace:configure.in:315: -1- AC_DEFINE_TRACE_LITERAL([PROGRAMMABLE_COMPLETION])
+m4trace:configure.in:315: -1- m4_pattern_allow([^PROGRAMMABLE_COMPLETION$])
+m4trace:configure.in:318: -1- AC_DEFINE_TRACE_LITERAL([NO_MULTIBYTE_SUPPORT])
+m4trace:configure.in:318: -1- m4_pattern_allow([^NO_MULTIBYTE_SUPPORT$])
+m4trace:configure.in:321: -1- AC_DEFINE_TRACE_LITERAL([DEBUGGER])
+m4trace:configure.in:321: -1- m4_pattern_allow([^DEBUGGER$])
+m4trace:configure.in:324: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_ATTRS])
+m4trace:configure.in:324: -1- m4_pattern_allow([^CASEMOD_ATTRS$])
+m4trace:configure.in:327: -1- AC_DEFINE_TRACE_LITERAL([CASEMOD_EXPANSIONS])
+m4trace:configure.in:327: -1- m4_pattern_allow([^CASEMOD_EXPANSIONS$])
+m4trace:configure.in:331: -1- AC_DEFINE_TRACE_LITERAL([MEMSCRAMBLE])
+m4trace:configure.in:331: -1- m4_pattern_allow([^MEMSCRAMBLE$])
+m4trace:configure.in:356: -1- AC_SUBST([TESTSCRIPT])
+m4trace:configure.in:356: -1- AC_SUBST_TRACE([TESTSCRIPT])
+m4trace:configure.in:356: -1- m4_pattern_allow([^TESTSCRIPT$])
+m4trace:configure.in:357: -1- AC_SUBST([PURIFY])
+m4trace:configure.in:357: -1- AC_SUBST_TRACE([PURIFY])
+m4trace:configure.in:357: -1- m4_pattern_allow([^PURIFY$])
+m4trace:configure.in:358: -1- AC_SUBST([MALLOC_TARGET])
+m4trace:configure.in:358: -1- AC_SUBST_TRACE([MALLOC_TARGET])
+m4trace:configure.in:358: -1- m4_pattern_allow([^MALLOC_TARGET$])
+m4trace:configure.in:359: -1- AC_SUBST([MALLOC_SRC])
+m4trace:configure.in:359: -1- AC_SUBST_TRACE([MALLOC_SRC])
+m4trace:configure.in:359: -1- m4_pattern_allow([^MALLOC_SRC$])
+m4trace:configure.in:361: -1- AC_SUBST([MALLOC_LIB])
+m4trace:configure.in:361: -1- AC_SUBST_TRACE([MALLOC_LIB])
+m4trace:configure.in:361: -1- m4_pattern_allow([^MALLOC_LIB$])
+m4trace:configure.in:362: -1- AC_SUBST([MALLOC_LIBRARY])
+m4trace:configure.in:362: -1- AC_SUBST_TRACE([MALLOC_LIBRARY])
+m4trace:configure.in:362: -1- m4_pattern_allow([^MALLOC_LIBRARY$])
+m4trace:configure.in:363: -1- AC_SUBST([MALLOC_LDFLAGS])
+m4trace:configure.in:363: -1- AC_SUBST_TRACE([MALLOC_LDFLAGS])
+m4trace:configure.in:363: -1- m4_pattern_allow([^MALLOC_LDFLAGS$])
+m4trace:configure.in:364: -1- AC_SUBST([MALLOC_DEP])
+m4trace:configure.in:364: -1- AC_SUBST_TRACE([MALLOC_DEP])
+m4trace:configure.in:364: -1- m4_pattern_allow([^MALLOC_DEP$])
+m4trace:configure.in:366: -1- AC_SUBST([htmldir])
+m4trace:configure.in:366: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:366: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:368: -1- AC_SUBST([HELPDIR])
+m4trace:configure.in:368: -1- AC_SUBST_TRACE([HELPDIR])
+m4trace:configure.in:368: -1- m4_pattern_allow([^HELPDIR$])
+m4trace:configure.in:369: -1- AC_SUBST([HELPDIRDEFINE])
+m4trace:configure.in:369: -1- AC_SUBST_TRACE([HELPDIRDEFINE])
+m4trace:configure.in:369: -1- m4_pattern_allow([^HELPDIRDEFINE$])
+m4trace:configure.in:370: -1- AC_SUBST([HELPINSTALL])
+m4trace:configure.in:370: -1- AC_SUBST_TRACE([HELPINSTALL])
+m4trace:configure.in:370: -1- m4_pattern_allow([^HELPINSTALL$])
+m4trace:configure.in:371: -1- AC_SUBST([HELPSTRINGS])
+m4trace:configure.in:371: -1- AC_SUBST_TRACE([HELPSTRINGS])
+m4trace:configure.in:371: -1- m4_pattern_allow([^HELPSTRINGS$])
+m4trace:configure.in:380: -1- AC_SUBST([CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:380: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:380: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:380: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:380: -1- AC_SUBST([LIBS])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:380: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:380: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:380: -1- AC_SUBST([CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:380: -1- AC_SUBST([CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:380: -1- AC_SUBST([CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:380: -1- AC_SUBST([CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:380: -1- AC_SUBST([ac_ct_CC])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([ac_ct_CC])
+m4trace:configure.in:380: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:380: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([EXEEXT])
+m4trace:configure.in:380: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:380: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
+m4trace:configure.in:380: -1- AC_SUBST_TRACE([OBJEXT])
+m4trace:configure.in:380: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:384: -1- _m4_warn([obsolete], [The macro `AC_MINIX' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/specific.m4:459: AC_MINIX is expanded from...
+configure.in:384: the top level])
+m4trace:configure.in:384: -1- AC_SUBST([CPP])
+m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:384: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:384: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:384: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:384: -1- AC_SUBST([CPP])
+m4trace:configure.in:384: -1- AC_SUBST_TRACE([CPP])
+m4trace:configure.in:384: -1- m4_pattern_allow([^CPP$])
+m4trace:configure.in:384: -1- AC_SUBST([GREP])
+m4trace:configure.in:384: -1- AC_SUBST_TRACE([GREP])
+m4trace:configure.in:384: -1- m4_pattern_allow([^GREP$])
+m4trace:configure.in:384: -1- AC_SUBST([EGREP])
+m4trace:configure.in:384: -1- AC_SUBST_TRACE([EGREP])
+m4trace:configure.in:384: -1- m4_pattern_allow([^EGREP$])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
+m4trace:configure.in:384: -1- m4_pattern_allow([^STDC_HEADERS$])
+m4trace:configure.in:384: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H])
+m4trace:configure.in:384: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_SOURCE$])
+m4trace:configure.in:384: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
+#undef _POSIX_SOURCE])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
+m4trace:configure.in:384: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_MINIX$])
+m4trace:configure.in:384: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
+#undef _MINIX])
+m4trace:configure.in:384: -1- AH_OUTPUT([USE_SYSTEM_EXTENSIONS], [/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([__EXTENSIONS__])
+m4trace:configure.in:384: -1- m4_pattern_allow([^__EXTENSIONS__$])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_ALL_SOURCE])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_ALL_SOURCE$])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_PTHREAD_SEMANTICS])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_POSIX_PTHREAD_SEMANTICS$])
+m4trace:configure.in:384: -1- AC_DEFINE_TRACE_LITERAL([_TANDEM_SOURCE])
+m4trace:configure.in:384: -1- m4_pattern_allow([^_TANDEM_SOURCE$])
+m4trace:configure.in:386: -1- AC_DEFINE_TRACE_LITERAL([_FILE_OFFSET_BITS])
+m4trace:configure.in:386: -1- m4_pattern_allow([^_FILE_OFFSET_BITS$])
+m4trace:configure.in:386: -1- AH_OUTPUT([_FILE_OFFSET_BITS], [/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS])
+m4trace:configure.in:386: -1- AC_DEFINE_TRACE_LITERAL([_LARGE_FILES])
+m4trace:configure.in:386: -1- m4_pattern_allow([^_LARGE_FILES$])
+m4trace:configure.in:386: -1- AH_OUTPUT([_LARGE_FILES], [/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES])
+m4trace:configure.in:423: -1- AC_SUBST([CROSS_COMPILE])
+m4trace:configure.in:423: -1- AC_SUBST_TRACE([CROSS_COMPILE])
+m4trace:configure.in:423: -1- m4_pattern_allow([^CROSS_COMPILE$])
+m4trace:configure.in:425: -1- AC_SUBST([SIGNAMES_H])
+m4trace:configure.in:425: -1- AC_SUBST_TRACE([SIGNAMES_H])
+m4trace:configure.in:425: -1- m4_pattern_allow([^SIGNAMES_H$])
+m4trace:configure.in:426: -1- AC_SUBST([SIGNAMES_O])
+m4trace:configure.in:426: -1- AC_SUBST_TRACE([SIGNAMES_O])
+m4trace:configure.in:426: -1- m4_pattern_allow([^SIGNAMES_O$])
+m4trace:configure.in:435: -1- AC_SUBST([CC_FOR_BUILD])
+m4trace:configure.in:435: -1- AC_SUBST_TRACE([CC_FOR_BUILD])
+m4trace:configure.in:435: -1- m4_pattern_allow([^CC_FOR_BUILD$])
+m4trace:configure.in:458: -1- _m4_warn([obsolete], [The macro `ac_cv_prog_gcc' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/c.m4:538: ac_cv_prog_gcc is expanded from...
+configure.in:458: the top level])
+m4trace:configure.in:477: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:477: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:477: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:478: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:478: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:478: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:479: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:479: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:479: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:480: -1- AC_SUBST([STATIC_LD])
+m4trace:configure.in:480: -1- AC_SUBST_TRACE([STATIC_LD])
+m4trace:configure.in:480: -1- m4_pattern_allow([^STATIC_LD$])
+m4trace:configure.in:482: -1- AC_SUBST([CFLAGS_FOR_BUILD])
+m4trace:configure.in:482: -1- AC_SUBST_TRACE([CFLAGS_FOR_BUILD])
+m4trace:configure.in:482: -1- m4_pattern_allow([^CFLAGS_FOR_BUILD$])
+m4trace:configure.in:483: -1- AC_SUBST([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:483: -1- AC_SUBST_TRACE([CPPFLAGS_FOR_BUILD])
+m4trace:configure.in:483: -1- m4_pattern_allow([^CPPFLAGS_FOR_BUILD$])
+m4trace:configure.in:484: -1- AC_SUBST([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:484: -1- AC_SUBST_TRACE([LDFLAGS_FOR_BUILD])
+m4trace:configure.in:484: -1- m4_pattern_allow([^LDFLAGS_FOR_BUILD$])
+m4trace:configure.in:498: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1763: RL_LIB_READLINE_VERSION is expanded from...
+configure.in:498: the top level])
+m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_READLINE_VERSION])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_READLINE_VERSION$])
+m4trace:configure.in:498: -1- AH_OUTPUT([RL_READLINE_VERSION], [/* encoded version of the installed readline library */
+#undef RL_READLINE_VERSION])
+m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MAJOR])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION_MAJOR$])
+m4trace:configure.in:498: -1- AH_OUTPUT([RL_VERSION_MAJOR], [/* major version of installed readline library */
+#undef RL_VERSION_MAJOR])
+m4trace:configure.in:498: -1- AC_DEFINE_TRACE_LITERAL([RL_VERSION_MINOR])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION_MINOR$])
+m4trace:configure.in:498: -1- AH_OUTPUT([RL_VERSION_MINOR], [/* minor version of installed readline library */
+#undef RL_VERSION_MINOR])
+m4trace:configure.in:498: -1- AC_SUBST([RL_VERSION])
+m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_VERSION])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_VERSION$])
+m4trace:configure.in:498: -1- AC_SUBST([RL_MAJOR])
+m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_MAJOR])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_MAJOR$])
+m4trace:configure.in:498: -1- AC_SUBST([RL_MINOR])
+m4trace:configure.in:498: -1- AC_SUBST_TRACE([RL_MINOR])
+m4trace:configure.in:498: -1- m4_pattern_allow([^RL_MINOR$])
+m4trace:configure.in:511: -1- AC_DEFINE_TRACE_LITERAL([READLINE])
+m4trace:configure.in:511: -1- m4_pattern_allow([^READLINE$])
+m4trace:configure.in:546: -1- AC_DEFINE_TRACE_LITERAL([HISTORY])
+m4trace:configure.in:546: -1- m4_pattern_allow([^HISTORY$])
+m4trace:configure.in:549: -1- AC_DEFINE_TRACE_LITERAL([BANG_HISTORY])
+m4trace:configure.in:549: -1- m4_pattern_allow([^BANG_HISTORY$])
+m4trace:configure.in:579: -1- AC_SUBST([READLINE_LIB])
+m4trace:configure.in:579: -1- AC_SUBST_TRACE([READLINE_LIB])
+m4trace:configure.in:579: -1- m4_pattern_allow([^READLINE_LIB$])
+m4trace:configure.in:580: -1- AC_SUBST([READLINE_DEP])
+m4trace:configure.in:580: -1- AC_SUBST_TRACE([READLINE_DEP])
+m4trace:configure.in:580: -1- m4_pattern_allow([^READLINE_DEP$])
+m4trace:configure.in:581: -1- AC_SUBST([RL_LIBDIR])
+m4trace:configure.in:581: -1- AC_SUBST_TRACE([RL_LIBDIR])
+m4trace:configure.in:581: -1- m4_pattern_allow([^RL_LIBDIR$])
+m4trace:configure.in:582: -1- AC_SUBST([RL_INCLUDEDIR])
+m4trace:configure.in:582: -1- AC_SUBST_TRACE([RL_INCLUDEDIR])
+m4trace:configure.in:582: -1- m4_pattern_allow([^RL_INCLUDEDIR$])
+m4trace:configure.in:583: -1- AC_SUBST([RL_INCLUDE])
+m4trace:configure.in:583: -1- AC_SUBST_TRACE([RL_INCLUDE])
+m4trace:configure.in:583: -1- m4_pattern_allow([^RL_INCLUDE$])
+m4trace:configure.in:584: -1- AC_SUBST([HISTORY_LIB])
+m4trace:configure.in:584: -1- AC_SUBST_TRACE([HISTORY_LIB])
+m4trace:configure.in:584: -1- m4_pattern_allow([^HISTORY_LIB$])
+m4trace:configure.in:585: -1- AC_SUBST([HISTORY_DEP])
+m4trace:configure.in:585: -1- AC_SUBST_TRACE([HISTORY_DEP])
+m4trace:configure.in:585: -1- m4_pattern_allow([^HISTORY_DEP$])
+m4trace:configure.in:586: -1- AC_SUBST([HIST_LIBDIR])
+m4trace:configure.in:586: -1- AC_SUBST_TRACE([HIST_LIBDIR])
+m4trace:configure.in:586: -1- m4_pattern_allow([^HIST_LIBDIR$])
+m4trace:configure.in:587: -1- AC_SUBST([TILDE_LIB])
+m4trace:configure.in:587: -1- AC_SUBST_TRACE([TILDE_LIB])
+m4trace:configure.in:587: -1- m4_pattern_allow([^TILDE_LIB$])
+m4trace:configure.in:592: -1- AC_REQUIRE_AUX_FILE([install-sh])
+m4trace:configure.in:592: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
+m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
+m4trace:configure.in:592: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
+m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
+m4trace:configure.in:592: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.in:592: -1- AC_SUBST_TRACE([INSTALL_DATA])
+m4trace:configure.in:592: -1- m4_pattern_allow([^INSTALL_DATA$])
+m4trace:configure.in:593: -1- AC_SUBST([AR])
+m4trace:configure.in:593: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:593: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:597: -1- AC_SUBST([RANLIB])
+m4trace:configure.in:597: -1- AC_SUBST_TRACE([RANLIB])
+m4trace:configure.in:597: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:598: -1- AC_SUBST([YACC])
+m4trace:configure.in:598: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:598: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:598: -1- AC_SUBST([YACC])
+m4trace:configure.in:598: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:598: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:598: -1- AC_SUBST([YFLAGS])
+m4trace:configure.in:598: -1- AC_SUBST_TRACE([YFLAGS])
+m4trace:configure.in:598: -1- m4_pattern_allow([^YFLAGS$])
+m4trace:configure.in:599: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.in:599: -1- AC_SUBST_TRACE([SET_MAKE])
+m4trace:configure.in:599: -1- m4_pattern_allow([^SET_MAKE$])
+m4trace:configure.in:605: -1- AC_SUBST([MAKE_SHELL])
+m4trace:configure.in:605: -1- AC_SUBST_TRACE([MAKE_SHELL])
+m4trace:configure.in:605: -1- m4_pattern_allow([^MAKE_SHELL$])
+m4trace:configure.in:627: -1- AC_SUBST([SIZE])
+m4trace:configure.in:627: -1- AC_SUBST_TRACE([SIZE])
+m4trace:configure.in:627: -1- m4_pattern_allow([^SIZE$])
+m4trace:configure.in:630: -1- AC_DEFINE_TRACE_LITERAL([_GNU_SOURCE])
+m4trace:configure.in:630: -1- m4_pattern_allow([^_GNU_SOURCE$])
+m4trace:configure.in:633: -1- AC_DEFINE_TRACE_LITERAL([const])
+m4trace:configure.in:633: -1- m4_pattern_allow([^const$])
+m4trace:configure.in:633: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
+#undef const])
+m4trace:configure.in:634: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
+ calls it, or to nothing if \'inline\' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif])
+m4trace:configure.in:635: -1- AH_OUTPUT([WORDS_BIGENDIAN], [/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif])
+m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([WORDS_BIGENDIAN])
+m4trace:configure.in:635: -1- m4_pattern_allow([^WORDS_BIGENDIAN$])
+m4trace:configure.in:635: -1- AC_DEFINE_TRACE_LITERAL([AC_APPLE_UNIVERSAL_BUILD])
+m4trace:configure.in:635: -1- m4_pattern_allow([^AC_APPLE_UNIVERSAL_BUILD$])
+m4trace:configure.in:635: -1- AH_OUTPUT([AC_APPLE_UNIVERSAL_BUILD], [/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD])
+m4trace:configure.in:636: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRINGIZE])
+m4trace:configure.in:636: -1- m4_pattern_allow([^HAVE_STRINGIZE$])
+m4trace:configure.in:636: -1- AH_OUTPUT([HAVE_STRINGIZE], [/* Define to 1 if cpp supports the ANSI @%:@ stringizing operator. */
+#undef HAVE_STRINGIZE])
+m4trace:configure.in:637: -1- _m4_warn([obsolete], [The macro `AC_C_LONG_DOUBLE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/types.m4:455: AC_C_LONG_DOUBLE is expanded from...
+configure.in:637: the top level])
+m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE_WIDER])
+m4trace:configure.in:637: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE_WIDER$])
+m4trace:configure.in:637: -1- AH_OUTPUT([HAVE_LONG_DOUBLE_WIDER], [/* Define to 1 if the type `long double\' works and has more range or precision
+ than `double\'. */
+#undef HAVE_LONG_DOUBLE_WIDER])
+m4trace:configure.in:637: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_DOUBLE])
+m4trace:configure.in:637: -1- m4_pattern_allow([^HAVE_LONG_DOUBLE$])
+m4trace:configure.in:637: -1- AH_OUTPUT([HAVE_LONG_DOUBLE], [/* Define to 1 if the type `long double\' works and has more range or precision
+ than `double\'. */
+#undef HAVE_LONG_DOUBLE])
+m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
+m4trace:configure.in:638: -1- m4_pattern_allow([^PROTOTYPES$])
+m4trace:configure.in:638: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
+#undef PROTOTYPES])
+m4trace:configure.in:638: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
+m4trace:configure.in:638: -1- m4_pattern_allow([^__PROTOTYPES$])
+m4trace:configure.in:638: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
+#undef __PROTOTYPES])
+m4trace:configure.in:639: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+# undef __CHAR_UNSIGNED__
+#endif])
+m4trace:configure.in:639: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
+m4trace:configure.in:639: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
+m4trace:configure.in:640: -1- AC_DEFINE_TRACE_LITERAL([volatile])
+m4trace:configure.in:640: -1- m4_pattern_allow([^volatile$])
+m4trace:configure.in:640: -1- AH_OUTPUT([volatile], [/* Define to empty if the keyword `volatile\' does not work. Warning: valid
+ code using `volatile\' can become incorrect without. Disable with care. */
+#undef volatile])
+m4trace:configure.in:641: -1- AH_OUTPUT([restrict], [/* Define to the equivalent of the C99 \'restrict\' keyword, or to
+ nothing if this is not supported. Do not define if restrict is
+ supported directly. */
+#undef restrict
+/* Work around a bug in Sun C++: it does not support _Restrict, even
+ though the corresponding Sun C compiler does, which causes
+ "#define restrict _Restrict" in the previous line. Perhaps some future
+ version of Sun C++ will work with _Restrict; if so, it\'ll probably
+ define __RESTRICT, just as Sun C does. */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+#endif])
+m4trace:configure.in:641: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.in:641: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.in:641: -1- AC_DEFINE_TRACE_LITERAL([restrict])
+m4trace:configure.in:641: -1- m4_pattern_allow([^restrict$])
+m4trace:configure.in:644: -1- AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+m4trace:configure.in:644: -1- AC_SUBST([MKINSTALLDIRS])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([MKINSTALLDIRS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^MKINSTALLDIRS$])
+m4trace:configure.in:644: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:644: -1- AC_SUBST([MSGFMT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([MSGFMT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^MSGFMT$])
+m4trace:configure.in:644: -1- AC_SUBST([GMSGFMT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([GMSGFMT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^GMSGFMT$])
+m4trace:configure.in:644: -1- AC_SUBST([XGETTEXT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([XGETTEXT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^XGETTEXT$])
+m4trace:configure.in:644: -1- AC_SUBST([MSGMERGE])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([MSGMERGE])
+m4trace:configure.in:644: -1- m4_pattern_allow([^MSGMERGE$])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/status.m4:1022: AC_OUTPUT_COMMANDS is expanded from...
+aclocal.m4:3664: AM_PO_SUBDIRS is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:644: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:644: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+#undef off_t])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:644: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:644: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+#undef size_t])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+#undef HAVE_ALLOCA])
+m4trace:configure.in:644: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:644: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:644: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:644: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:644: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+#undef C_ALLOCA])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:644: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:644: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c\' support on those systems.
+ */
+#undef CRAY_STACKSEG_END])
+m4trace:configure.in:644: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+@%:@undef STACK_DIRECTION])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:644: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+#undef HAVE_GETPAGESIZE])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+#undef HAVE_MMAP])
+m4trace:configure.in:644: -1- AC_SUBST([GLIBC21])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([GLIBC21])
+m4trace:configure.in:644: -1- m4_pattern_allow([^GLIBC21$])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2570: gt_INTDIV0 is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([INTDIV0_RAISES_SIGFPE])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INTDIV0_RAISES_SIGFPE$])
+m4trace:configure.in:644: -1- AH_OUTPUT([INTDIV0_RAISES_SIGFPE], [/* Define if integer division by zero raises signal SIGFPE. */
+#undef INTDIV0_RAISES_SIGFPE])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2672: jm_AC_HEADER_INTTYPES_H is expanded from...
+aclocal.m4:3973: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H_WITH_UINTMAX])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_INTTYPES_H_WITH_UINTMAX$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_INTTYPES_H_WITH_UINTMAX], [/* Define if <inttypes.h> exists, doesn\'t clash with <sys/types.h>, and
+ declares uintmax_t. */
+#undef HAVE_INTTYPES_H_WITH_UINTMAX])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:3943: jm_AC_HEADER_STDINT_H is expanded from...
+aclocal.m4:3973: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDINT_H_WITH_UINTMAX])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_STDINT_H_WITH_UINTMAX$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDINT_H_WITH_UINTMAX], [/* Define if <stdint.h> exists, doesn\'t clash with <sys/types.h>, and declares
+ uintmax_t. */
+#undef HAVE_STDINT_H_WITH_UINTMAX])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:4000: jm_AC_TYPE_UNSIGNED_LONG_LONG is expanded from...
+aclocal.m4:3973: jm_AC_TYPE_UINTMAX_T is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNSIGNED_LONG_LONG], [/* Define if you have the unsigned long long type. */
+#undef HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:644: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:644: -1- AH_OUTPUT([uintmax_t], [/* Define to unsigned long or unsigned long long if <stdint.h> and
+ <inttypes.h> don\'t define. */
+#undef uintmax_t])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UINTMAX_T])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_UINTMAX_T$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UINTMAX_T], [/* Define if you have the \'uintmax_t\' type in <stdint.h> or <inttypes.h>. */
+#undef HAVE_UINTMAX_T])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2645: gt_HEADER_INTTYPES_H is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INTTYPES_H])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_INTTYPES_H$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define if <inttypes.h> exists and doesn\'t clash with <sys/types.h>. */
+#undef HAVE_INTTYPES_H])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2700: gt_INTTYPES_PRI is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([PRI_MACROS_BROKEN])
+m4trace:configure.in:644: -1- m4_pattern_allow([^PRI_MACROS_BROKEN$])
+m4trace:configure.in:644: -1- AH_OUTPUT([PRI_MACROS_BROKEN], [/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
+#undef PRI_MACROS_BROKEN])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_NL_TYPES_H], [/* Define to 1 if you have the <nl_types.h> header file. */
+#undef HAVE_NL_TYPES_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_FEOF_UNLOCKED], [/* Define to 1 if you have the `feof_unlocked\' function. */
+#undef HAVE_FEOF_UNLOCKED])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_FGETS_UNLOCKED], [/* Define to 1 if you have the `fgets_unlocked\' function. */
+#undef HAVE_FGETS_UNLOCKED])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETC_UNLOCKED], [/* Define to 1 if you have the `getc_unlocked\' function. */
+#undef HAVE_GETC_UNLOCKED])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+#undef HAVE_GETCWD])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETEGID], [/* Define to 1 if you have the `getegid\' function. */
+#undef HAVE_GETEGID])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETEUID], [/* Define to 1 if you have the `geteuid\' function. */
+#undef HAVE_GETEUID])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETGID], [/* Define to 1 if you have the `getgid\' function. */
+#undef HAVE_GETGID])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
+#undef HAVE_GETUID])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+#undef HAVE_MEMPCPY])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+#undef HAVE_MUNMAP])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+#undef HAVE_PUTENV])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+#undef HAVE_SETENV])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+#undef HAVE_SETLOCALE])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LOCALECONV], [/* Define to 1 if you have the `localeconv\' function. */
+#undef HAVE_LOCALECONV])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+#undef HAVE_STPCPY])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+#undef HAVE_STRCASECMP])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+#undef HAVE_STRDUP])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+#undef HAVE_STRTOUL])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_TSEARCH], [/* Define to 1 if you have the `tsearch\' function. */
+#undef HAVE_TSEARCH])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+#undef HAVE___ARGZ_COUNT])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+#undef HAVE___ARGZ_STRINGIFY])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+#undef HAVE___ARGZ_NEXT])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE___FSETLOCKING], [/* Define to 1 if you have the `__fsetlocking\' function. */
+#undef HAVE___FSETLOCKING])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2478: AM_ICONV_LINK is expanded from...
+aclocal.m4:2533: AM_ICONV is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2478: AM_ICONV_LINK is expanded from...
+aclocal.m4:2533: AM_ICONV is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ICONV])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_ICONV$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_ICONV], [/* Define if you have the iconv() function. */
+#undef HAVE_ICONV])
+m4trace:configure.in:644: -1- AC_SUBST([LIBICONV])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([LIBICONV])
+m4trace:configure.in:644: -1- m4_pattern_allow([^LIBICONV$])
+m4trace:configure.in:644: -1- AC_SUBST([LTLIBICONV])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([LTLIBICONV])
+m4trace:configure.in:644: -1- m4_pattern_allow([^LTLIBICONV$])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:2533: AM_ICONV is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([ICONV_CONST])
+m4trace:configure.in:644: -1- m4_pattern_allow([^ICONV_CONST$])
+m4trace:configure.in:644: -1- AH_OUTPUT([ICONV_CONST], [/* Define as const if the declaration of iconv() needs const. */
+#undef ICONV_CONST])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1997: AM_LANGINFO_CODESET is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LANGINFO_CODESET], [/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2767: AM_LC_MESSAGES is expanded from...
+aclocal.m4:2356: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LC_MESSAGES])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_LC_MESSAGES$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_LC_MESSAGES], [/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES])
+m4trace:configure.in:644: -1- AC_SUBST([INTLBISON])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLBISON])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INTLBISON$])
+m4trace:configure.in:644: -1- AC_SUBST([USE_NLS])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_NLS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^USE_NLS$])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:2068: AM_GNU_GETTEXT is expanded from...
+configure.in:644: the top level])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NLS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^ENABLE_NLS$])
+m4trace:configure.in:644: -1- AH_OUTPUT([ENABLE_NLS], [/* Define to 1 if translation of program messages to the user\'s native
+ language is requested. */
+#undef ENABLE_NLS])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETTEXT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_GETTEXT$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_GETTEXT], [/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT])
+m4trace:configure.in:644: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DCGETTEXT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^HAVE_DCGETTEXT$])
+m4trace:configure.in:644: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT])
+m4trace:configure.in:644: -1- AC_SUBST([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([BUILD_INCLUDED_LIBINTL])
+m4trace:configure.in:644: -1- m4_pattern_allow([^BUILD_INCLUDED_LIBINTL$])
+m4trace:configure.in:644: -1- AC_SUBST([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([USE_INCLUDED_LIBINTL])
+m4trace:configure.in:644: -1- m4_pattern_allow([^USE_INCLUDED_LIBINTL$])
+m4trace:configure.in:644: -1- AC_SUBST([CATOBJEXT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([CATOBJEXT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^CATOBJEXT$])
+m4trace:configure.in:644: -1- AC_SUBST([DATADIRNAME])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([DATADIRNAME])
+m4trace:configure.in:644: -1- m4_pattern_allow([^DATADIRNAME$])
+m4trace:configure.in:644: -1- AC_SUBST([INSTOBJEXT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([INSTOBJEXT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INSTOBJEXT$])
+m4trace:configure.in:644: -1- AC_SUBST([GENCAT])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([GENCAT])
+m4trace:configure.in:644: -1- m4_pattern_allow([^GENCAT$])
+m4trace:configure.in:644: -1- AC_SUBST([INTLOBJS])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLOBJS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INTLOBJS$])
+m4trace:configure.in:644: -1- AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTL_LIBTOOL_SUFFIX_PREFIX])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INTL_LIBTOOL_SUFFIX_PREFIX$])
+m4trace:configure.in:644: -1- AC_SUBST([INTLLIBS])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([INTLLIBS])
+m4trace:configure.in:644: -1- m4_pattern_allow([^INTLLIBS$])
+m4trace:configure.in:644: -1- AC_SUBST([LIBINTL])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([LIBINTL])
+m4trace:configure.in:644: -1- m4_pattern_allow([^LIBINTL$])
+m4trace:configure.in:644: -1- AC_SUBST([LTLIBINTL])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([LTLIBINTL])
+m4trace:configure.in:644: -1- m4_pattern_allow([^LTLIBINTL$])
+m4trace:configure.in:644: -1- AC_SUBST([POSUB])
+m4trace:configure.in:644: -1- AC_SUBST_TRACE([POSUB])
+m4trace:configure.in:644: -1- m4_pattern_allow([^POSUB$])
+m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
+ */
+#undef HAVE_DIRENT_H])
+m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
+ */
+#undef HAVE_SYS_NDIR_H])
+m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
+ */
+#undef HAVE_SYS_DIR_H])
+m4trace:configure.in:647: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
+#undef HAVE_NDIR_H])
+m4trace:configure.in:648: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
+m4trace:configure.in:648: -1- m4_pattern_allow([^TIME_WITH_SYS_TIME$])
+m4trace:configure.in:648: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME])
+m4trace:configure.in:650: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
+#undef HAVE_STDARG_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
+#undef HAVE_VARARGS_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_LOCALE_H], [/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMCAP_H], [/* Define to 1 if you have the <termcap.h> header file. */
+#undef HAVE_TERMCAP_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMIO_H], [/* Define to 1 if you have the <termio.h> header file. */
+#undef HAVE_TERMIO_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
+#undef HAVE_TERMIOS_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDDEF_H], [/* Define to 1 if you have the <stddef.h> header file. */
+#undef HAVE_STDDEF_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_NETDB_H], [/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_GRP_H], [/* Define to 1 if you have the <grp.h> header file. */
+#undef HAVE_GRP_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H])
+m4trace:configure.in:652: -1- AH_OUTPUT([HAVE_REGEX_H], [/* Define to 1 if you have the <regex.h> header file. */
+#undef HAVE_REGEX_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_PTE_H], [/* Define to 1 if you have the <sys/pte.h> header file. */
+#undef HAVE_SYS_PTE_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_STREAM_H], [/* Define to 1 if you have the <sys/stream.h> header file. */
+#undef HAVE_SYS_STREAM_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_FILE_H], [/* Define to 1 if you have the <sys/file.h> header file. */
+#undef HAVE_SYS_FILE_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
+#undef HAVE_SYS_RESOURCE_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_TIMES_H], [/* Define to 1 if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H])
+m4trace:configure.in:655: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have the <sys/wait.h> header file. */
+#undef HAVE_SYS_WAIT_H])
+m4trace:configure.in:658: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H])
+m4trace:configure.in:658: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H])
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
+m4trace:configure.in:669: -1- m4_pattern_allow([^HAVE_ALLOCA_H$])
+m4trace:configure.in:669: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+ */
+#undef HAVE_ALLOCA_H])
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
+m4trace:configure.in:669: -1- m4_pattern_allow([^HAVE_ALLOCA$])
+m4trace:configure.in:669: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
+#undef HAVE_ALLOCA])
+m4trace:configure.in:669: -1- AC_LIBSOURCE([alloca.c])
+m4trace:configure.in:669: -1- AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])
+m4trace:configure.in:669: -1- AC_SUBST_TRACE([ALLOCA])
+m4trace:configure.in:669: -1- m4_pattern_allow([^ALLOCA$])
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
+m4trace:configure.in:669: -1- m4_pattern_allow([^C_ALLOCA$])
+m4trace:configure.in:669: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
+#undef C_ALLOCA])
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
+m4trace:configure.in:669: -1- m4_pattern_allow([^CRAY_STACKSEG_END$])
+m4trace:configure.in:669: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
+ systems. This function is required for `alloca.c\' support on those systems.
+ */
+#undef CRAY_STACKSEG_END])
+m4trace:configure.in:669: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at runtime.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown */
+@%:@undef STACK_DIRECTION])
+m4trace:configure.in:669: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
+m4trace:configure.in:669: -1- m4_pattern_allow([^STACK_DIRECTION$])
+m4trace:configure.in:670: -1- AC_DEFINE_TRACE_LITERAL([GETPGRP_VOID])
+m4trace:configure.in:670: -1- m4_pattern_allow([^GETPGRP_VOID$])
+m4trace:configure.in:670: -1- AH_OUTPUT([GETPGRP_VOID], [/* Define to 1 if the `getpgrp\' function requires zero arguments. */
+#undef GETPGRP_VOID])
+m4trace:configure.in:671: -1- _m4_warn([obsolete], [The macro `AC_FUNC_SETVBUF_REVERSED' is obsolete. Remove it and all references to SETVBUF_REVERSED.], [../../lib/autoconf/functions.m4:1680: AC_FUNC_SETVBUF_REVERSED is expanded from...
+configure.in:671: the top level])
+m4trace:configure.in:672: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
+#undef HAVE_VPRINTF])
+m4trace:configure.in:672: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
+m4trace:configure.in:672: -1- m4_pattern_allow([^HAVE_DOPRNT$])
+m4trace:configure.in:672: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
+#undef HAVE_DOPRNT])
+m4trace:configure.in:673: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRCOLL])
+m4trace:configure.in:673: -1- m4_pattern_allow([^HAVE_STRCOLL$])
+m4trace:configure.in:673: -1- AH_OUTPUT([HAVE_STRCOLL], [/* Define to 1 if you have the `strcoll\' function and it is properly defined.
+ */
+#undef HAVE_STRCOLL])
+m4trace:configure.in:694: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VPRINTF])
+m4trace:configure.in:694: -1- m4_pattern_allow([^HAVE_VPRINTF$])
+m4trace:configure.in:699: -1- AC_LIBSOURCE([vprint.c])
+m4trace:configure.in:699: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS vprint.$ac_objext"])
+m4trace:configure.in:699: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:699: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:703: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/types.m4:699: AC_TYPE_SIGNAL is expanded from...
+configure.in:703: the top level])
+m4trace:configure.in:703: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:703: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:703: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+#undef RETSIGTYPE])
+m4trace:configure.in:706: -2- AC_DEFINE_TRACE_LITERAL([HAVE_SETOSTYPE])
+m4trace:configure.in:706: -2- m4_pattern_allow([^HAVE_SETOSTYPE$])
+m4trace:configure.in:707: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
+m4trace:configure.in:707: -2- m4_pattern_allow([^HAVE_WAIT3$])
+m4trace:configure.in:708: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISINF_IN_LIBC])
+m4trace:configure.in:708: -2- m4_pattern_allow([^HAVE_ISINF_IN_LIBC$])
+m4trace:configure.in:709: -2- AC_DEFINE_TRACE_LITERAL([HAVE_ISNAN_IN_LIBC])
+m4trace:configure.in:709: -2- m4_pattern_allow([^HAVE_ISNAN_IN_LIBC$])
+m4trace:configure.in:712: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MKFIFO])
+m4trace:configure.in:712: -2- m4_pattern_allow([^HAVE_MKFIFO$])
+m4trace:configure.in:712: -2- AC_DEFINE_TRACE_LITERAL([MKFIFO_MISSING])
+m4trace:configure.in:712: -2- m4_pattern_allow([^MKFIFO_MISSING$])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
+#undef HAVE_DUP2])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_EACCESS], [/* Define to 1 if you have the `eaccess\' function. */
+#undef HAVE_EACCESS])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_FCNTL], [/* Define to 1 if you have the `fcntl\' function. */
+#undef HAVE_FCNTL])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETDTABLESIZE], [/* Define to 1 if you have the `getdtablesize\' function. */
+#undef HAVE_GETDTABLESIZE])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETGROUPS], [/* Define to 1 if you have the `getgroups\' function. */
+#undef HAVE_GETGROUPS])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETHOSTNAME], [/* Define to 1 if you have the `gethostname\' function. */
+#undef HAVE_GETHOSTNAME])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+#undef HAVE_GETPAGESIZE])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETPEERNAME], [/* Define to 1 if you have the `getpeername\' function. */
+#undef HAVE_GETPEERNAME])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
+#undef HAVE_GETRLIMIT])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETRUSAGE], [/* Define to 1 if you have the `getrusage\' function. */
+#undef HAVE_GETRUSAGE])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
+#undef HAVE_GETTIMEOFDAY])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_KILL], [/* Define to 1 if you have the `kill\' function. */
+#undef HAVE_KILL])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_KILLPG], [/* Define to 1 if you have the `killpg\' function. */
+#undef HAVE_KILLPG])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
+#undef HAVE_LSTAT])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_READLINK], [/* Define to 1 if you have the `readlink\' function. */
+#undef HAVE_READLINK])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SBRK], [/* Define to 1 if you have the `sbrk\' function. */
+#undef HAVE_SBRK])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
+#undef HAVE_SELECT])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SETDTABLESIZE], [/* Define to 1 if you have the `setdtablesize\' function. */
+#undef HAVE_SETDTABLESIZE])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_SETITIMER], [/* Define to 1 if you have the `setitimer\' function. */
+#undef HAVE_SETITIMER])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_TCGETPGRP], [/* Define to 1 if you have the `tcgetpgrp\' function. */
+#undef HAVE_TCGETPGRP])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_UNAME], [/* Define to 1 if you have the `uname\' function. */
+#undef HAVE_UNAME])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_ULIMIT], [/* Define to 1 if you have the `ulimit\' function. */
+#undef HAVE_ULIMIT])
+m4trace:configure.in:715: -1- AH_OUTPUT([HAVE_WAITPID], [/* Define to 1 if you have the `waitpid\' function. */
+#undef HAVE_WAITPID])
+m4trace:configure.in:719: -1- AC_LIBSOURCE([rename.c])
+m4trace:configure.in:719: -1- AH_OUTPUT([HAVE_RENAME], [/* Define to 1 if you have the `rename\' function. */
+#undef HAVE_RENAME])
+m4trace:configure.in:719: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:719: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:719: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_BCOPY], [/* Define to 1 if you have the `bcopy\' function. */
+#undef HAVE_BCOPY])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_BZERO], [/* Define to 1 if you have the `bzero\' function. */
+#undef HAVE_BZERO])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_CONFSTR], [/* Define to 1 if you have the `confstr\' function. */
+#undef HAVE_CONFSTR])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_FNMATCH], [/* Define to 1 if you have the `fnmatch\' function. */
+#undef HAVE_FNMATCH])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETADDRINFO], [/* Define to 1 if you have the `getaddrinfo\' function. */
+#undef HAVE_GETADDRINFO])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
+#undef HAVE_GETHOSTBYNAME])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETSERVBYNAME], [/* Define to 1 if you have the `getservbyname\' function. */
+#undef HAVE_GETSERVBYNAME])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_GETSERVENT], [/* Define to 1 if you have the `getservent\' function. */
+#undef HAVE_GETSERVENT])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
+#undef HAVE_INET_ATON])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */
+#undef HAVE_MEMMOVE])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
+#undef HAVE_PATHCONF])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
+#undef HAVE_PUTENV])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_RAISE], [/* Define to 1 if you have the `raise\' function. */
+#undef HAVE_RAISE])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_REGCOMP], [/* Define to 1 if you have the `regcomp\' function. */
+#undef HAVE_REGCOMP])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_REGEXEC], [/* Define to 1 if you have the `regexec\' function. */
+#undef HAVE_REGEXEC])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETENV], [/* Define to 1 if you have the `setenv\' function. */
+#undef HAVE_SETENV])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETLINEBUF], [/* Define to 1 if you have the `setlinebuf\' function. */
+#undef HAVE_SETLINEBUF])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETLOCALE], [/* Define to 1 if you have the `setlocale\' function. */
+#undef HAVE_SETLOCALE])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SETVBUF], [/* Define to 1 if you have the `setvbuf\' function. */
+#undef HAVE_SETVBUF])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SIGINTERRUPT], [/* Define to 1 if you have the `siginterrupt\' function. */
+#undef HAVE_SIGINTERRUPT])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
+#undef HAVE_STRCHR])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_SYSCONF], [/* Define to 1 if you have the `sysconf\' function. */
+#undef HAVE_SYSCONF])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TCGETATTR], [/* Define to 1 if you have the `tcgetattr\' function. */
+#undef HAVE_TCGETATTR])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TIMES], [/* Define to 1 if you have the `times\' function. */
+#undef HAVE_TIMES])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TTYNAME], [/* Define to 1 if you have the `ttyname\' function. */
+#undef HAVE_TTYNAME])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_TZSET], [/* Define to 1 if you have the `tzset\' function. */
+#undef HAVE_TZSET])
+m4trace:configure.in:722: -1- AH_OUTPUT([HAVE_UNSETENV], [/* Define to 1 if you have the `unsetenv\' function. */
+#undef HAVE_UNSETENV])
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_VSNPRINTF], [/* Define to 1 if you have the `vsnprintf\' function. */
+#undef HAVE_VSNPRINTF])
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_SNPRINTF], [/* Define to 1 if you have the `snprintf\' function. */
+#undef HAVE_SNPRINTF])
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_VASPRINTF], [/* Define to 1 if you have the `vasprintf\' function. */
+#undef HAVE_VASPRINTF])
+m4trace:configure.in:728: -1- AH_OUTPUT([HAVE_ASPRINTF], [/* Define to 1 if you have the `asprintf\' function. */
+#undef HAVE_ASPRINTF])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISASCII], [/* Define to 1 if you have the `isascii\' function. */
+#undef HAVE_ISASCII])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISBLANK], [/* Define to 1 if you have the `isblank\' function. */
+#undef HAVE_ISBLANK])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISGRAPH], [/* Define to 1 if you have the `isgraph\' function. */
+#undef HAVE_ISGRAPH])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISPRINT], [/* Define to 1 if you have the `isprint\' function. */
+#undef HAVE_ISPRINT])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISSPACE], [/* Define to 1 if you have the `isspace\' function. */
+#undef HAVE_ISSPACE])
+m4trace:configure.in:729: -1- AH_OUTPUT([HAVE_ISXDIGIT], [/* Define to 1 if you have the `isxdigit\' function. */
+#undef HAVE_ISXDIGIT])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWENT], [/* Define to 1 if you have the `getpwent\' function. */
+#undef HAVE_GETPWENT])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWNAM], [/* Define to 1 if you have the `getpwnam\' function. */
+#undef HAVE_GETPWNAM])
+m4trace:configure.in:730: -1- AH_OUTPUT([HAVE_GETPWUID], [/* Define to 1 if you have the `getpwuid\' function. */
+#undef HAVE_GETPWUID])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([memset.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strcasecmp.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strerror.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strftime.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strnlen.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strpbrk.c])
+m4trace:configure.in:731: -1- AC_LIBSOURCE([strstr.c])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
+#undef HAVE_GETCWD])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
+#undef HAVE_MEMSET])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */
+#undef HAVE_STRCASECMP])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
+#undef HAVE_STRERROR])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
+#undef HAVE_STRFTIME])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRNLEN], [/* Define to 1 if you have the `strnlen\' function. */
+#undef HAVE_STRNLEN])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRPBRK], [/* Define to 1 if you have the `strpbrk\' function. */
+#undef HAVE_STRPBRK])
+m4trace:configure.in:731: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
+#undef HAVE_STRSTR])
+m4trace:configure.in:731: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:731: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:731: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtod.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtol.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtoul.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtoll.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtoull.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtoimax.c])
+m4trace:configure.in:732: -1- AC_LIBSOURCE([strtoumax.c])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
+#undef HAVE_STRTOD])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
+#undef HAVE_STRTOL])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
+#undef HAVE_STRTOUL])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOLL], [/* Define to 1 if you have the `strtoll\' function. */
+#undef HAVE_STRTOLL])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOULL], [/* Define to 1 if you have the `strtoull\' function. */
+#undef HAVE_STRTOULL])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOIMAX], [/* Define to 1 if you have the `strtoimax\' function. */
+#undef HAVE_STRTOIMAX])
+m4trace:configure.in:732: -1- AH_OUTPUT([HAVE_STRTOUMAX], [/* Define to 1 if you have the `strtoumax\' function. */
+#undef HAVE_STRTOUMAX])
+m4trace:configure.in:732: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:732: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:732: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:733: -1- AC_LIBSOURCE([fdprintf.c])
+m4trace:configure.in:733: -1- AH_OUTPUT([HAVE_FDPRINTF], [/* Define to 1 if you have the `fdprintf\' function. */
+#undef HAVE_FDPRINTF])
+m4trace:configure.in:733: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS $ac_func.$ac_objext"])
+m4trace:configure.in:733: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:733: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:735: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:735: -1- AH_OUTPUT([HAVE_DECL_CONFSTR], [/* Define to 1 if you have the declaration of `confstr\', and to 0 if you
+ don\'t. */
+#undef HAVE_DECL_CONFSTR])
+m4trace:configure.in:735: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_CONFSTR])
+m4trace:configure.in:735: -1- m4_pattern_allow([^HAVE_DECL_CONFSTR$])
+m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:736: -1- AH_OUTPUT([HAVE_DECL_PRINTF], [/* Define to 1 if you have the declaration of `printf\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_PRINTF])
+m4trace:configure.in:736: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_PRINTF])
+m4trace:configure.in:736: -1- m4_pattern_allow([^HAVE_DECL_PRINTF$])
+m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:737: -1- AH_OUTPUT([HAVE_DECL_SBRK], [/* Define to 1 if you have the declaration of `sbrk\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_SBRK])
+m4trace:configure.in:737: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SBRK])
+m4trace:configure.in:737: -1- m4_pattern_allow([^HAVE_DECL_SBRK$])
+m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:738: -1- AH_OUTPUT([HAVE_DECL_SETREGID], [/* Define to 1 if you have the declaration of `setregid\', and to 0 if you
+ don\'t. */
+#undef HAVE_DECL_SETREGID])
+m4trace:configure.in:738: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SETREGID])
+m4trace:configure.in:738: -1- m4_pattern_allow([^HAVE_DECL_SETREGID$])
+m4trace:configure.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:739: -1- AH_OUTPUT([HAVE_DECL_STRCPY], [/* Define to 1 if you have the declaration of `strcpy\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_STRCPY])
+m4trace:configure.in:739: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRCPY])
+m4trace:configure.in:739: -1- m4_pattern_allow([^HAVE_DECL_STRCPY$])
+m4trace:configure.in:740: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:740: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:740: -1- AH_OUTPUT([HAVE_DECL_STRSIGNAL], [/* Define to 1 if you have the declaration of `strsignal\', and to 0 if you
+ don\'t. */
+#undef HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:740: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRSIGNAL])
+m4trace:configure.in:740: -1- m4_pattern_allow([^HAVE_DECL_STRSIGNAL$])
+m4trace:configure.in:743: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:743: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:743: -1- AH_OUTPUT([HAVE_DECL_STRTOLD], [/* Define to 1 if you have the declaration of `strtold\', and to 0 if you
+ don\'t. */
+#undef HAVE_DECL_STRTOLD])
+m4trace:configure.in:743: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2644: AC_CHECK_DECL is expanded from...
+../../lib/autoconf/general.m4:2666: AC_CHECK_DECLS is expanded from...
+configure.in:743: the top level])
+m4trace:configure.in:743: -1- AC_DEFINE_TRACE_LITERAL([STRTOLD_BROKEN])
+m4trace:configure.in:743: -1- m4_pattern_allow([^STRTOLD_BROKEN$])
+m4trace:configure.in:743: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_STRTOLD])
+m4trace:configure.in:743: -1- m4_pattern_allow([^HAVE_DECL_STRTOLD$])
+m4trace:configure.in:760: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:760: the top level])
+m4trace:configure.in:761: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:761: the top level])
+m4trace:configure.in:762: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:762: the top level])
+m4trace:configure.in:763: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:763: the top level])
+m4trace:configure.in:764: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:764: the top level])
+m4trace:configure.in:765: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:100: BASH_CHECK_DECL is expanded from...
+configure.in:765: the top level])
+m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H])
+m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:767: -1- AH_OUTPUT([HAVE_ALARM], [/* Define to 1 if you have the `alarm\' function. */
+#undef HAVE_ALARM])
+m4trace:configure.in:767: -1- AC_LIBSOURCE([mktime.c])
+m4trace:configure.in:767: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS mktime.$ac_objext"])
+m4trace:configure.in:767: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:767: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:774: -1- AH_OUTPUT([HAVE_ARGZ_H], [/* Define to 1 if you have the <argz.h> header file. */
+#undef HAVE_ARGZ_H])
+m4trace:configure.in:774: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H])
+m4trace:configure.in:774: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H])
+m4trace:configure.in:774: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
+#undef HAVE_MALLOC_H])
+m4trace:configure.in:774: -1- AH_OUTPUT([HAVE_STDIO_EXT_H], [/* Define to 1 if you have the <stdio_ext.h> header file. */
+#undef HAVE_STDIO_EXT_H])
+m4trace:configure.in:777: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H])
+m4trace:configure.in:777: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H])
+m4trace:configure.in:777: -1- AH_OUTPUT([HAVE_GETPAGESIZE], [/* Define to 1 if you have the `getpagesize\' function. */
+#undef HAVE_GETPAGESIZE])
+m4trace:configure.in:777: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MMAP])
+m4trace:configure.in:777: -1- m4_pattern_allow([^HAVE_MMAP$])
+m4trace:configure.in:777: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have a working `mmap\' system call. */
+#undef HAVE_MMAP])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_COUNT], [/* Define to 1 if you have the `__argz_count\' function. */
+#undef HAVE___ARGZ_COUNT])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_NEXT], [/* Define to 1 if you have the `__argz_next\' function. */
+#undef HAVE___ARGZ_NEXT])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE___ARGZ_STRINGIFY], [/* Define to 1 if you have the `__argz_stringify\' function. */
+#undef HAVE___ARGZ_STRINGIFY])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_DCGETTEXT], [/* Define to 1 if you have the `dcgettext\' function. */
+#undef HAVE_DCGETTEXT])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_MEMPCPY], [/* Define to 1 if you have the `mempcpy\' function. */
+#undef HAVE_MEMPCPY])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
+#undef HAVE_MUNMAP])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STPCPY], [/* Define to 1 if you have the `stpcpy\' function. */
+#undef HAVE_STPCPY])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STRCSPN], [/* Define to 1 if you have the `strcspn\' function. */
+#undef HAVE_STRCSPN])
+m4trace:configure.in:778: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
+#undef HAVE_STRDUP])
+m4trace:configure.in:787: -1- AC_SUBST([INTL_DEP])
+m4trace:configure.in:787: -1- AC_SUBST_TRACE([INTL_DEP])
+m4trace:configure.in:787: -1- m4_pattern_allow([^INTL_DEP$])
+m4trace:configure.in:788: -1- AC_SUBST([INTL_INC])
+m4trace:configure.in:788: -1- AC_SUBST_TRACE([INTL_INC])
+m4trace:configure.in:788: -1- m4_pattern_allow([^INTL_INC$])
+m4trace:configure.in:789: -1- AC_SUBST([LIBINTL_H])
+m4trace:configure.in:789: -1- AC_SUBST_TRACE([LIBINTL_H])
+m4trace:configure.in:789: -1- m4_pattern_allow([^LIBINTL_H$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_WCTYPE_H], [/* Define to 1 if you have the <wctype.h> header file. */
+#undef HAVE_WCTYPE_H])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_WCHAR_H], [/* Define to 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
+#undef HAVE_LANGINFO_H])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBRLEN])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_MBRLEN$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSCMP])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_MBSCMP$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_MBSRTOWCS])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_MBSRTOWCS$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCRTOMB])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_WCRTOMB$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSCOLL])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_WCSCOLL$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCSDUP])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_WCSDUP$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCWIDTH])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_WCWIDTH$])
+m4trace:configure.in:795: -2- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE])
+m4trace:configure.in:795: -2- m4_pattern_allow([^HAVE_WCTYPE$])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBRTOWC])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_MBRTOWC$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_MBRTOWC], [/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+#undef HAVE_MBRTOWC])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MBSTATE_T])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_MBSTATE_T$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_ISWLOWER], [/* Define to 1 if you have the `iswlower\' function. */
+#undef HAVE_ISWLOWER])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_ISWUPPER], [/* Define to 1 if you have the `iswupper\' function. */
+#undef HAVE_ISWUPPER])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_TOWLOWER], [/* Define to 1 if you have the `towlower\' function. */
+#undef HAVE_TOWLOWER])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_TOWUPPER], [/* Define to 1 if you have the `towupper\' function. */
+#undef HAVE_TOWUPPER])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_ISWCTYPE], [/* Define to 1 if you have the `iswctype\' function. */
+#undef HAVE_ISWCTYPE])
+m4trace:configure.in:795: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1686: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:795: the top level])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LANGINFO_CODESET])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_LANGINFO_CODESET$])
+m4trace:configure.in:795: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1686: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:795: the top level])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCHAR_T])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_WCHAR_T$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_WCHAR_T], [/* systems should define this type here */
+#undef HAVE_WCHAR_T])
+m4trace:configure.in:795: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1686: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:795: the top level])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WCTYPE_T])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_WCTYPE_T$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_WCTYPE_T], [/* systems should define this type here */
+#undef HAVE_WCTYPE_T])
+m4trace:configure.in:795: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:1686: BASH_CHECK_MULTIBYTE is expanded from...
+configure.in:795: the top level])
+m4trace:configure.in:795: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WINT_T])
+m4trace:configure.in:795: -1- m4_pattern_allow([^HAVE_WINT_T$])
+m4trace:configure.in:795: -1- AH_OUTPUT([HAVE_WINT_T], [/* systems should define this type here */
+#undef HAVE_WINT_T])
+m4trace:configure.in:799: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
+#undef HAVE_LIBDL])
+m4trace:configure.in:799: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
+m4trace:configure.in:799: -1- m4_pattern_allow([^HAVE_LIBDL$])
+m4trace:configure.in:800: -1- AH_OUTPUT([HAVE_DLOPEN], [/* Define to 1 if you have the `dlopen\' function. */
+#undef HAVE_DLOPEN])
+m4trace:configure.in:800: -1- AH_OUTPUT([HAVE_DLCLOSE], [/* Define to 1 if you have the `dlclose\' function. */
+#undef HAVE_DLCLOSE])
+m4trace:configure.in:800: -1- AH_OUTPUT([HAVE_DLSYM], [/* Define to 1 if you have the `dlsym\' function. */
+#undef HAVE_DLSYM])
+m4trace:configure.in:804: -1- _m4_warn([obsolete], [The macro `AC_DECL_SYS_SIGLIST' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/specific.m4:63: AC_DECL_SYS_SIGLIST is expanded from...
+configure.in:804: the top level])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:804: -1- AH_OUTPUT([HAVE_DECL_SYS_SIGLIST], [/* Define to 1 if you have the declaration of `sys_siglist\', and to 0 if you
+ don\'t. */
+#undef HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:804: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_SYS_SIGLIST])
+m4trace:configure.in:804: -1- m4_pattern_allow([^HAVE_DECL_SYS_SIGLIST$])
+m4trace:configure.in:808: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:560: BASH_FUNC_INET_ATON is expanded from...
+configure.in:808: the top level])
+m4trace:configure.in:808: -1- AC_DEFINE_TRACE_LITERAL([HAVE_INET_ATON])
+m4trace:configure.in:808: -1- m4_pattern_allow([^HAVE_INET_ATON$])
+m4trace:configure.in:808: -1- AC_LIBSOURCE([inet_aton.c])
+m4trace:configure.in:808: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS inet_aton.$ac_objext"])
+m4trace:configure.in:808: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:808: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:814: -1- AH_OUTPUT([HAVE_LIBSUN], [/* Define to 1 if you have the `sun\' library (-lsun). */
+#undef HAVE_LIBSUN])
+m4trace:configure.in:814: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSUN])
+m4trace:configure.in:814: -1- m4_pattern_allow([^HAVE_LIBSUN$])
+m4trace:configure.in:819: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
+m4trace:configure.in:819: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
+m4trace:configure.in:819: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPEERNAME])
+m4trace:configure.in:819: -1- m4_pattern_allow([^HAVE_GETPEERNAME$])
+m4trace:configure.in:823: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:729: BASH_FUNC_GETHOSTBYNAME is expanded from...
+configure.in:823: the top level])
+m4trace:configure.in:823: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETHOSTBYNAME])
+m4trace:configure.in:823: -1- m4_pattern_allow([^HAVE_GETHOSTBYNAME$])
+m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:827: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:827: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+#undef uid_t])
+m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:827: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:827: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+#undef gid_t])
+m4trace:configure.in:827: -1- AC_DEFINE_TRACE_LITERAL([GETGROUPS_T])
+m4trace:configure.in:827: -1- m4_pattern_allow([^GETGROUPS_T$])
+m4trace:configure.in:827: -1- AH_OUTPUT([GETGROUPS_T], [/* Define to the type of elements in the array set by `getgroups\'. Usually
+ this is either `int\' or `gid_t\'. */
+#undef GETGROUPS_T])
+m4trace:configure.in:828: -1- AC_DEFINE_TRACE_LITERAL([off_t])
+m4trace:configure.in:828: -1- m4_pattern_allow([^off_t$])
+m4trace:configure.in:828: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
+#undef off_t])
+m4trace:configure.in:829: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
+m4trace:configure.in:829: -1- m4_pattern_allow([^mode_t$])
+m4trace:configure.in:829: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef mode_t])
+m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([uid_t])
+m4trace:configure.in:830: -1- m4_pattern_allow([^uid_t$])
+m4trace:configure.in:830: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+#undef uid_t])
+m4trace:configure.in:830: -1- AC_DEFINE_TRACE_LITERAL([gid_t])
+m4trace:configure.in:830: -1- m4_pattern_allow([^gid_t$])
+m4trace:configure.in:830: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if <sys/types.h> doesn\'t define. */
+#undef gid_t])
+m4trace:configure.in:831: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
+m4trace:configure.in:831: -1- m4_pattern_allow([^pid_t$])
+m4trace:configure.in:831: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef pid_t])
+m4trace:configure.in:832: -1- AC_DEFINE_TRACE_LITERAL([size_t])
+m4trace:configure.in:832: -1- m4_pattern_allow([^size_t$])
+m4trace:configure.in:832: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+#undef size_t])
+m4trace:configure.in:833: -1- AC_DEFINE_TRACE_LITERAL([ssize_t])
+m4trace:configure.in:833: -1- m4_pattern_allow([^ssize_t$])
+m4trace:configure.in:833: -1- AH_OUTPUT([ssize_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef ssize_t])
+m4trace:configure.in:834: -1- AC_DEFINE_TRACE_LITERAL([time_t])
+m4trace:configure.in:834: -1- m4_pattern_allow([^time_t$])
+m4trace:configure.in:834: -1- AH_OUTPUT([time_t], [/* Define to `long\' if <sys/types.h> does not define. */
+#undef time_t])
+m4trace:configure.in:836: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:469: BASH_TYPE_LONG_LONG is expanded from...
+configure.in:836: the top level])
+m4trace:configure.in:836: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG])
+m4trace:configure.in:836: -1- m4_pattern_allow([^HAVE_LONG_LONG$])
+m4trace:configure.in:837: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:483: BASH_TYPE_UNSIGNED_LONG_LONG is expanded from...
+configure.in:837: the top level])
+m4trace:configure.in:837: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNSIGNED_LONG_LONG])
+m4trace:configure.in:837: -1- m4_pattern_allow([^HAVE_UNSIGNED_LONG_LONG$])
+m4trace:configure.in:839: -1- _m4_warn([obsolete], [The macro `AC_TYPE_SIGNAL' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/types.m4:699: AC_TYPE_SIGNAL is expanded from...
+configure.in:839: the top level])
+m4trace:configure.in:839: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
+m4trace:configure.in:839: -1- m4_pattern_allow([^RETSIGTYPE$])
+m4trace:configure.in:839: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
+#undef RETSIGTYPE])
+m4trace:configure.in:840: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:534: BASH_TYPE_SIG_ATOMIC_T is expanded from...
+configure.in:840: the top level])
+m4trace:configure.in:840: -1- AC_DEFINE_TRACE_LITERAL([sig_atomic_t])
+m4trace:configure.in:840: -1- m4_pattern_allow([^sig_atomic_t$])
+m4trace:configure.in:840: -1- AH_OUTPUT([sig_atomic_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef sig_atomic_t])
+m4trace:configure.in:842: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR])
+m4trace:configure.in:842: -1- m4_pattern_allow([^SIZEOF_CHAR$])
+m4trace:configure.in:842: -1- AH_OUTPUT([SIZEOF_CHAR], [/* The size of `char\', as computed by sizeof. */
+#undef SIZEOF_CHAR])
+m4trace:configure.in:843: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_SHORT])
+m4trace:configure.in:843: -1- m4_pattern_allow([^SIZEOF_SHORT$])
+m4trace:configure.in:843: -1- AH_OUTPUT([SIZEOF_SHORT], [/* The size of `short\', as computed by sizeof. */
+#undef SIZEOF_SHORT])
+m4trace:configure.in:844: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_INT])
+m4trace:configure.in:844: -1- m4_pattern_allow([^SIZEOF_INT$])
+m4trace:configure.in:844: -1- AH_OUTPUT([SIZEOF_INT], [/* The size of `int\', as computed by sizeof. */
+#undef SIZEOF_INT])
+m4trace:configure.in:845: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
+m4trace:configure.in:845: -1- m4_pattern_allow([^SIZEOF_LONG$])
+m4trace:configure.in:845: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
+#undef SIZEOF_LONG])
+m4trace:configure.in:846: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_CHAR_P])
+m4trace:configure.in:846: -1- m4_pattern_allow([^SIZEOF_CHAR_P$])
+m4trace:configure.in:846: -1- AH_OUTPUT([SIZEOF_CHAR_P], [/* The size of `char *\', as computed by sizeof. */
+#undef SIZEOF_CHAR_P])
+m4trace:configure.in:847: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_DOUBLE])
+m4trace:configure.in:847: -1- m4_pattern_allow([^SIZEOF_DOUBLE$])
+m4trace:configure.in:847: -1- AH_OUTPUT([SIZEOF_DOUBLE], [/* The size of `double\', as computed by sizeof. */
+#undef SIZEOF_DOUBLE])
+m4trace:configure.in:848: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG_LONG])
+m4trace:configure.in:848: -1- m4_pattern_allow([^SIZEOF_LONG_LONG$])
+m4trace:configure.in:848: -1- AH_OUTPUT([SIZEOF_LONG_LONG], [/* The size of `long long\', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG])
+m4trace:configure.in:850: -1- AC_DEFINE_TRACE_LITERAL([u_int])
+m4trace:configure.in:850: -1- m4_pattern_allow([^u_int$])
+m4trace:configure.in:850: -1- AH_OUTPUT([u_int], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+#undef u_int])
+m4trace:configure.in:851: -1- AC_DEFINE_TRACE_LITERAL([u_long])
+m4trace:configure.in:851: -1- m4_pattern_allow([^u_long$])
+m4trace:configure.in:851: -1- AH_OUTPUT([u_long], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+#undef u_long])
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+#undef bits16_t])
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits16_t], [/* Define to `char\' if <sys/types.h> does not define. */
+#undef bits16_t])
+m4trace:configure.in:853: -1- AC_DEFINE_TRACE_LITERAL([bits16_t])
+m4trace:configure.in:853: -1- m4_pattern_allow([^bits16_t$])
+m4trace:configure.in:853: -1- AH_OUTPUT([bits16_t], [/* Define to `short\' if <sys/types.h> does not define. */
+#undef bits16_t])
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+#undef u_bits16_t])
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned char\' if <sys/types.h> does not define. */
+#undef u_bits16_t])
+m4trace:configure.in:854: -1- AC_DEFINE_TRACE_LITERAL([u_bits16_t])
+m4trace:configure.in:854: -1- m4_pattern_allow([^u_bits16_t$])
+m4trace:configure.in:854: -1- AH_OUTPUT([u_bits16_t], [/* Define to `unsigned short\' if <sys/types.h> does not define. */
+#undef u_bits16_t])
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef bits32_t])
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits32_t], [/* Define to `long\' if <sys/types.h> does not define. */
+#undef bits32_t])
+m4trace:configure.in:855: -1- AC_DEFINE_TRACE_LITERAL([bits32_t])
+m4trace:configure.in:855: -1- m4_pattern_allow([^bits32_t$])
+m4trace:configure.in:855: -1- AH_OUTPUT([bits32_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef bits32_t])
+m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:856: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:856: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+#undef u_bits32_t])
+m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:856: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:856: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned long\' if <sys/types.h> does not define. */
+#undef u_bits32_t])
+m4trace:configure.in:856: -1- AC_DEFINE_TRACE_LITERAL([u_bits32_t])
+m4trace:configure.in:856: -1- m4_pattern_allow([^u_bits32_t$])
+m4trace:configure.in:856: -1- AH_OUTPUT([u_bits32_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
+#undef u_bits32_t])
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([bits64_t], [/* Define to `char *\' if <sys/types.h> does not define. */
+#undef bits64_t])
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+#undef bits64_t])
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([bits64_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+#undef bits64_t])
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([bits64_t], [/* Define to `long\' if <sys/types.h> does not define. */
+#undef bits64_t])
+m4trace:configure.in:857: -1- AC_DEFINE_TRACE_LITERAL([bits64_t])
+m4trace:configure.in:857: -1- m4_pattern_allow([^bits64_t$])
+m4trace:configure.in:857: -1- AH_OUTPUT([bits64_t], [/* Define to `double\' if <sys/types.h> does not define. */
+#undef bits64_t])
+m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:859: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:859: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef ptrdiff_t])
+m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:859: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:859: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long\' if <sys/types.h> does not define. */
+#undef ptrdiff_t])
+m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:859: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:859: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `long long\' if <sys/types.h> does not define. */
+#undef ptrdiff_t])
+m4trace:configure.in:859: -1- AC_DEFINE_TRACE_LITERAL([ptrdiff_t])
+m4trace:configure.in:859: -1- m4_pattern_allow([^ptrdiff_t$])
+m4trace:configure.in:859: -1- AH_OUTPUT([ptrdiff_t], [/* Define to `int\' if <sys/types.h> does not define. */
+#undef ptrdiff_t])
+m4trace:configure.in:862: -1- AC_DEFINE_TRACE_LITERAL([STAT_MACROS_BROKEN])
+m4trace:configure.in:862: -1- m4_pattern_allow([^STAT_MACROS_BROKEN$])
+m4trace:configure.in:862: -1- AH_OUTPUT([STAT_MACROS_BROKEN], [/* Define to 1 if the `S_IS*\' macros in <sys/stat.h> do not work properly. */
+#undef STAT_MACROS_BROKEN])
+m4trace:configure.in:867: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HASH_BANG_EXEC])
+m4trace:configure.in:867: -1- m4_pattern_allow([^HAVE_HASH_BANG_EXEC$])
+m4trace:configure.in:872: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:546: BASH_FUNC_LSTAT is expanded from...
+configure.in:872: the top level])
+m4trace:configure.in:872: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LSTAT])
+m4trace:configure.in:872: -1- m4_pattern_allow([^HAVE_LSTAT$])
+m4trace:configure.in:876: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1877: BASH_FUNC_CTYPE_NONASCII is expanded from...
+configure.in:876: the top level])
+m4trace:configure.in:876: -1- AC_DEFINE_TRACE_LITERAL([CTYPE_NON_ASCII])
+m4trace:configure.in:876: -1- m4_pattern_allow([^CTYPE_NON_ASCII$])
+m4trace:configure.in:877: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:267: BASH_FUNC_DUP2_CLOEXEC_CHECK is expanded from...
+configure.in:877: the top level])
+m4trace:configure.in:877: -1- AC_DEFINE_TRACE_LITERAL([DUP2_BROKEN])
+m4trace:configure.in:877: -1- m4_pattern_allow([^DUP2_BROKEN$])
+m4trace:configure.in:878: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1232: BASH_SYS_PGRP_SYNC is expanded from...
+configure.in:878: the top level])
+m4trace:configure.in:878: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:878: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1192: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:879: the top level])
+m4trace:configure.in:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1192: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:879: the top level])
+m4trace:configure.in:879: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2518: AC_LINK_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1192: BASH_SYS_SIGNAL_VINTAGE is expanded from...
+configure.in:879: the top level])
+m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGNALS])
+m4trace:configure.in:879: -1- m4_pattern_allow([^HAVE_POSIX_SIGNALS$])
+m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BSD_SIGNALS])
+m4trace:configure.in:879: -1- m4_pattern_allow([^HAVE_BSD_SIGNALS$])
+m4trace:configure.in:879: -1- AC_DEFINE_TRACE_LITERAL([HAVE_USG_SIGHOLD])
+m4trace:configure.in:879: -1- m4_pattern_allow([^HAVE_USG_SIGHOLD$])
+m4trace:configure.in:882: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:250: BASH_SYS_ERRLIST is expanded from...
+configure.in:882: the top level])
+m4trace:configure.in:882: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_ERRLIST])
+m4trace:configure.in:882: -1- m4_pattern_allow([^HAVE_SYS_ERRLIST$])
+m4trace:configure.in:883: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:208: BASH_SYS_SIGLIST is expanded from...
+configure.in:883: the top level])
+m4trace:configure.in:883: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_SIGLIST])
+m4trace:configure.in:883: -1- m4_pattern_allow([^HAVE_SYS_SIGLIST$])
+m4trace:configure.in:884: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:164: BASH_DECL_UNDER_SYS_SIGLIST is expanded from...
+aclocal.m4:181: BASH_UNDER_SYS_SIGLIST is expanded from...
+configure.in:884: the top level])
+m4trace:configure.in:884: -1- AC_DEFINE_TRACE_LITERAL([UNDER_SYS_SIGLIST_DECLARED])
+m4trace:configure.in:884: -1- m4_pattern_allow([^UNDER_SYS_SIGLIST_DECLARED$])
+m4trace:configure.in:884: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:181: BASH_UNDER_SYS_SIGLIST is expanded from...
+configure.in:884: the top level])
+m4trace:configure.in:884: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UNDER_SYS_SIGLIST])
+m4trace:configure.in:884: -1- m4_pattern_allow([^HAVE_UNDER_SYS_SIGLIST$])
+m4trace:configure.in:887: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:363: BASH_TYPE_SIGHANDLER is expanded from...
+configure.in:887: the top level])
+m4trace:configure.in:887: -1- AC_DEFINE_TRACE_LITERAL([VOID_SIGHANDLER])
+m4trace:configure.in:887: -1- m4_pattern_allow([^VOID_SIGHANDLER$])
+m4trace:configure.in:888: -1- AC_DEFINE_TRACE_LITERAL([clock_t])
+m4trace:configure.in:888: -1- m4_pattern_allow([^clock_t$])
+m4trace:configure.in:889: -1- AC_DEFINE_TRACE_LITERAL([sigset_t])
+m4trace:configure.in:889: -1- m4_pattern_allow([^sigset_t$])
+m4trace:configure.in:890: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QUAD_T])
+m4trace:configure.in:890: -1- m4_pattern_allow([^HAVE_QUAD_T$])
+m4trace:configure.in:890: -1- AC_DEFINE_TRACE_LITERAL([quad_t])
+m4trace:configure.in:890: -1- m4_pattern_allow([^quad_t$])
+m4trace:configure.in:891: -1- AC_DEFINE_TRACE_LITERAL([intmax_t])
+m4trace:configure.in:891: -1- m4_pattern_allow([^intmax_t$])
+m4trace:configure.in:892: -1- AC_DEFINE_TRACE_LITERAL([uintmax_t])
+m4trace:configure.in:892: -1- m4_pattern_allow([^uintmax_t$])
+m4trace:configure.in:894: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
+m4trace:configure.in:894: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
+m4trace:configure.in:894: -1- AC_DEFINE_TRACE_LITERAL([socklen_t])
+m4trace:configure.in:894: -1- m4_pattern_allow([^socklen_t$])
+m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:504: BASH_TYPE_RLIMIT is expanded from...
+configure.in:896: the top level])
+m4trace:configure.in:896: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:504: BASH_TYPE_RLIMIT is expanded from...
+configure.in:896: the top level])
+m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:896: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:896: -1- AC_DEFINE_TRACE_LITERAL([RLIMTYPE])
+m4trace:configure.in:896: -1- m4_pattern_allow([^RLIMTYPE$])
+m4trace:configure.in:899: -2- AC_DEFINE_TRACE_LITERAL([TERMIOS_LDISC])
+m4trace:configure.in:899: -2- m4_pattern_allow([^TERMIOS_LDISC$])
+m4trace:configure.in:900: -2- AC_DEFINE_TRACE_LITERAL([TERMIO_LDISC])
+m4trace:configure.in:900: -2- m4_pattern_allow([^TERMIO_LDISC$])
+m4trace:configure.in:901: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1039: BASH_STRUCT_DIRENT_D_INO is expanded from...
+configure.in:901: the top level])
+m4trace:configure.in:901: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_INO])
+m4trace:configure.in:901: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_INO$])
+m4trace:configure.in:902: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1072: BASH_STRUCT_DIRENT_D_FILENO is expanded from...
+configure.in:902: the top level])
+m4trace:configure.in:902: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_FILENO])
+m4trace:configure.in:902: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_FILENO$])
+m4trace:configure.in:903: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1105: BASH_STRUCT_DIRENT_D_NAMLEN is expanded from...
+configure.in:903: the top level])
+m4trace:configure.in:903: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_DIRENT_D_NAMLEN])
+m4trace:configure.in:903: -1- m4_pattern_allow([^HAVE_STRUCT_DIRENT_D_NAMLEN$])
+m4trace:configure.in:904: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1170: BASH_STRUCT_WINSIZE is expanded from...
+configure.in:904: the top level])
+m4trace:configure.in:904: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1170: BASH_STRUCT_WINSIZE is expanded from...
+configure.in:904: the top level])
+m4trace:configure.in:904: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_SYS_IOCTL])
+m4trace:configure.in:904: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_SYS_IOCTL$])
+m4trace:configure.in:904: -1- AC_DEFINE_TRACE_LITERAL([STRUCT_WINSIZE_IN_TERMIOS])
+m4trace:configure.in:904: -1- m4_pattern_allow([^STRUCT_WINSIZE_IN_TERMIOS$])
+m4trace:configure.in:905: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TIMEVAL])
+m4trace:configure.in:905: -1- m4_pattern_allow([^HAVE_TIMEVAL$])
+m4trace:configure.in:906: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.in:906: -1- m4_pattern_allow([^HAVE_STRUCT_STAT_ST_BLOCKS$])
+m4trace:configure.in:906: -1- AH_OUTPUT([HAVE_STRUCT_STAT_ST_BLOCKS], [/* Define to 1 if `st_blocks\' is member of `struct stat\'. */
+#undef HAVE_STRUCT_STAT_ST_BLOCKS])
+m4trace:configure.in:907: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
+m4trace:configure.in:907: -1- m4_pattern_allow([^TM_IN_SYS_TIME$])
+m4trace:configure.in:907: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
+#undef TM_IN_SYS_TIME])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_STRUCT_TM_TM_ZONE$])
+m4trace:configure.in:908: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
+#undef HAVE_STRUCT_TM_TM_ZONE])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_TM_ZONE$])
+m4trace:configure.in:908: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
+ `HAVE_STRUCT_TM_TM_ZONE\' instead. */
+#undef HAVE_TM_ZONE])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:908: -1- AH_OUTPUT([HAVE_DECL_TZNAME], [/* Define to 1 if you have the declaration of `tzname\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_TZNAME])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_TZNAME])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_DECL_TZNAME$])
+m4trace:configure.in:908: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
+m4trace:configure.in:908: -1- m4_pattern_allow([^HAVE_TZNAME$])
+m4trace:configure.in:908: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
+ `tzname\'. */
+#undef HAVE_TZNAME])
+m4trace:configure.in:909: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TIMEZONE])
+m4trace:configure.in:909: -1- m4_pattern_allow([^HAVE_STRUCT_TIMEZONE$])
+m4trace:configure.in:912: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:296: BASH_FUNC_STRSIGNAL is expanded from...
+configure.in:912: the top level])
+m4trace:configure.in:912: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRSIGNAL])
+m4trace:configure.in:912: -1- m4_pattern_allow([^HAVE_STRSIGNAL$])
+m4trace:configure.in:913: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:310: BASH_FUNC_OPENDIR_CHECK is expanded from...
+configure.in:913: the top level])
+m4trace:configure.in:913: -1- AC_DEFINE_TRACE_LITERAL([OPENDIR_NOT_ROBUST])
+m4trace:configure.in:913: -1- m4_pattern_allow([^OPENDIR_NOT_ROBUST$])
+m4trace:configure.in:914: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:680: BASH_FUNC_ULIMIT_MAXFDS is expanded from...
+configure.in:914: the top level])
+m4trace:configure.in:914: -1- AC_DEFINE_TRACE_LITERAL([ULIMIT_MAXFDS])
+m4trace:configure.in:914: -1- m4_pattern_allow([^ULIMIT_MAXFDS$])
+m4trace:configure.in:915: -1- AH_OUTPUT([HAVE_FPURGE], [/* Define to 1 if you have the `fpurge\' function. */
+#undef HAVE_FPURGE])
+m4trace:configure.in:915: -1- AH_OUTPUT([HAVE___FPURGE], [/* Define to 1 if you have the `__fpurge\' function. */
+#undef HAVE___FPURGE])
+m4trace:configure.in:915: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:915: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:915: -1- AH_OUTPUT([HAVE_DECL_FPURGE], [/* Define to 1 if you have the declaration of `fpurge\', and to 0 if you don\'t.
+ */
+#undef HAVE_DECL_FPURGE])
+m4trace:configure.in:915: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DECL_FPURGE])
+m4trace:configure.in:915: -1- m4_pattern_allow([^HAVE_DECL_FPURGE$])
+m4trace:configure.in:916: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:576: BASH_FUNC_GETENV is expanded from...
+configure.in:916: the top level])
+m4trace:configure.in:916: -1- AC_DEFINE_TRACE_LITERAL([CAN_REDEFINE_GETENV])
+m4trace:configure.in:916: -1- m4_pattern_allow([^CAN_REDEFINE_GETENV$])
+m4trace:configure.in:918: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:699: BASH_FUNC_GETCWD is expanded from...
+configure.in:918: the top level])
+m4trace:configure.in:918: -1- AC_DEFINE_TRACE_LITERAL([GETCWD_BROKEN])
+m4trace:configure.in:918: -1- m4_pattern_allow([^GETCWD_BROKEN$])
+m4trace:configure.in:918: -1- AC_LIBSOURCE([getcwd.c])
+m4trace:configure.in:918: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS getcwd.$ac_objext"])
+m4trace:configure.in:918: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:918: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:920: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:775: BASH_FUNC_POSIX_SETJMP is expanded from...
+configure.in:920: the top level])
+m4trace:configure.in:920: -1- AC_DEFINE_TRACE_LITERAL([HAVE_POSIX_SIGSETJMP])
+m4trace:configure.in:920: -1- m4_pattern_allow([^HAVE_POSIX_SIGSETJMP$])
+m4trace:configure.in:921: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:826: BASH_FUNC_STRCOLL is expanded from...
+configure.in:921: the top level])
+m4trace:configure.in:921: -1- AC_DEFINE_TRACE_LITERAL([STRCOLL_BROKEN])
+m4trace:configure.in:921: -1- m4_pattern_allow([^STRCOLL_BROKEN$])
+m4trace:configure.in:927: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:621: BASH_FUNC_STD_PUTENV is expanded from...
+configure.in:927: the top level])
+m4trace:configure.in:927: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:927: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:929: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_PUTENV])
+m4trace:configure.in:929: -1- m4_pattern_allow([^HAVE_STD_PUTENV$])
+m4trace:configure.in:932: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2527: AC_TRY_LINK is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
+aclocal.m4:651: BASH_FUNC_STD_UNSETENV is expanded from...
+configure.in:932: the top level])
+m4trace:configure.in:932: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:932: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:934: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_UNSETENV])
+m4trace:configure.in:934: -1- m4_pattern_allow([^HAVE_STD_UNSETENV$])
+m4trace:configure.in:937: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:875: BASH_FUNC_PRINTF_A_FORMAT is expanded from...
+configure.in:937: the top level])
+m4trace:configure.in:937: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PRINTF_A_FORMAT])
+m4trace:configure.in:937: -1- m4_pattern_allow([^HAVE_PRINTF_A_FORMAT$])
+m4trace:configure.in:940: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1294: BASH_SYS_REINSTALL_SIGHANDLERS is expanded from...
+configure.in:940: the top level])
+m4trace:configure.in:940: -1- AC_DEFINE_TRACE_LITERAL([MUST_REINSTALL_SIGHANDLERS])
+m4trace:configure.in:940: -1- m4_pattern_allow([^MUST_REINSTALL_SIGHANDLERS$])
+m4trace:configure.in:941: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1353: BASH_SYS_JOB_CONTROL_MISSING is expanded from...
+configure.in:941: the top level])
+m4trace:configure.in:941: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL_MISSING])
+m4trace:configure.in:941: -1- m4_pattern_allow([^JOB_CONTROL_MISSING$])
+m4trace:configure.in:942: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1412: BASH_SYS_NAMED_PIPES is expanded from...
+configure.in:942: the top level])
+m4trace:configure.in:942: -1- AC_DEFINE_TRACE_LITERAL([NAMED_PIPES_MISSING])
+m4trace:configure.in:942: -1- m4_pattern_allow([^NAMED_PIPES_MISSING$])
+m4trace:configure.in:945: -1- AC_DEFINE_TRACE_LITERAL([GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.in:945: -1- m4_pattern_allow([^GWINSZ_IN_SYS_IOCTL$])
+m4trace:configure.in:945: -1- AH_OUTPUT([GWINSZ_IN_SYS_IOCTL], [/* Define to 1 if `TIOCGWINSZ\' requires <sys/ioctl.h>. */
+#undef GWINSZ_IN_SYS_IOCTL])
+m4trace:configure.in:946: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1493: BASH_HAVE_TIOCSTAT is expanded from...
+configure.in:946: the top level])
+m4trace:configure.in:946: -1- AC_DEFINE_TRACE_LITERAL([TIOCSTAT_IN_SYS_IOCTL])
+m4trace:configure.in:946: -1- m4_pattern_allow([^TIOCSTAT_IN_SYS_IOCTL$])
+m4trace:configure.in:947: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1505: BASH_HAVE_FIONREAD is expanded from...
+configure.in:947: the top level])
+m4trace:configure.in:947: -1- AC_DEFINE_TRACE_LITERAL([FIONREAD_IN_SYS_IOCTL])
+m4trace:configure.in:947: -1- m4_pattern_allow([^FIONREAD_IN_SYS_IOCTL$])
+m4trace:configure.in:949: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1921: BASH_CHECK_WCONTINUED is expanded from...
+configure.in:949: the top level])
+m4trace:configure.in:949: -1- AC_DEFINE_TRACE_LITERAL([WCONTINUED_BROKEN])
+m4trace:configure.in:949: -1- m4_pattern_allow([^WCONTINUED_BROKEN$])
+m4trace:configure.in:952: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1523: BASH_CHECK_SPEED_T is expanded from...
+configure.in:952: the top level])
+m4trace:configure.in:952: -1- AC_DEFINE_TRACE_LITERAL([SPEED_T_IN_SYS_TYPES])
+m4trace:configure.in:952: -1- m4_pattern_allow([^SPEED_T_IN_SYS_TYPES$])
+m4trace:configure.in:953: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GETPW_DECLS])
+m4trace:configure.in:953: -1- m4_pattern_allow([^HAVE_GETPW_DECLS$])
+m4trace:configure.in:954: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2592: AC_TRY_RUN is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1650: BASH_CHECK_RTSIGS is expanded from...
+configure.in:954: the top level])
+m4trace:configure.in:954: -1- AC_DEFINE_TRACE_LITERAL([UNUSABLE_RT_SIGNALS])
+m4trace:configure.in:954: -1- m4_pattern_allow([^UNUSABLE_RT_SIGNALS$])
+m4trace:configure.in:955: -1- AC_SUBST([SIGLIST_O])
+m4trace:configure.in:955: -1- AC_SUBST_TRACE([SIGLIST_O])
+m4trace:configure.in:955: -1- m4_pattern_allow([^SIGLIST_O$])
+m4trace:configure.in:959: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1602: BASH_CHECK_KERNEL_RLIMIT is expanded from...
+configure.in:959: the top level])
+m4trace:configure.in:959: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
+You should run autoupdate.], [../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:2462: AC_COMPILE_IFELSE is expanded from...
+../../lib/autoconf/general.m4:2470: AC_TRY_COMPILE is expanded from...
+../../lib/m4sugar/m4sh.m4:505: AS_IF is expanded from...
+../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
+aclocal.m4:1602: BASH_CHECK_KERNEL_RLIMIT is expanded from...
+configure.in:959: the top level])
+m4trace:configure.in:959: -1- AC_DEFINE_TRACE_LITERAL([RLIMIT_NEEDS_KERNEL])
+m4trace:configure.in:959: -1- m4_pattern_allow([^RLIMIT_NEEDS_KERNEL$])
+m4trace:configure.in:969: -1- AC_SUBST([TERMCAP_LIB])
+m4trace:configure.in:969: -1- AC_SUBST_TRACE([TERMCAP_LIB])
+m4trace:configure.in:969: -1- m4_pattern_allow([^TERMCAP_LIB$])
+m4trace:configure.in:970: -1- AC_SUBST([TERMCAP_DEP])
+m4trace:configure.in:970: -1- AC_SUBST_TRACE([TERMCAP_DEP])
+m4trace:configure.in:970: -1- m4_pattern_allow([^TERMCAP_DEP$])
+m4trace:configure.in:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:972: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:972: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:972: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:972: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_FD])
+m4trace:configure.in:972: -1- m4_pattern_allow([^HAVE_DEV_FD$])
+m4trace:configure.in:972: -1- AC_DEFINE_TRACE_LITERAL([DEV_FD_PREFIX])
+m4trace:configure.in:972: -1- m4_pattern_allow([^DEV_FD_PREFIX$])
+m4trace:configure.in:973: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_STDIN])
+m4trace:configure.in:973: -1- m4_pattern_allow([^HAVE_DEV_STDIN$])
+m4trace:configure.in:974: -1- AC_DEFINE_TRACE_LITERAL([DEFAULT_MAIL_DIRECTORY])
+m4trace:configure.in:974: -1- m4_pattern_allow([^DEFAULT_MAIL_DIRECTORY$])
+m4trace:configure.in:981: -1- AC_DEFINE_TRACE_LITERAL([JOB_CONTROL])
+m4trace:configure.in:981: -1- m4_pattern_allow([^JOB_CONTROL$])
+m4trace:configure.in:987: -1- AC_SUBST([JOBS_O])
+m4trace:configure.in:987: -1- AC_SUBST_TRACE([JOBS_O])
+m4trace:configure.in:987: -1- m4_pattern_allow([^JOBS_O$])
+m4trace:configure.in:1000: -1- AC_DEFINE_TRACE_LITERAL([SVR4_2])
+m4trace:configure.in:1000: -1- m4_pattern_allow([^SVR4_2$])
+m4trace:configure.in:1001: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:1001: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1002: -1- AC_DEFINE_TRACE_LITERAL([SVR4])
+m4trace:configure.in:1002: -1- m4_pattern_allow([^SVR4$])
+m4trace:configure.in:1003: -1- AC_DEFINE_TRACE_LITERAL([SVR5])
+m4trace:configure.in:1003: -1- m4_pattern_allow([^SVR5$])
+m4trace:configure.in:1022: -1- AC_DEFINE_TRACE_LITERAL([PGRP_PIPE])
+m4trace:configure.in:1022: -1- m4_pattern_allow([^PGRP_PIPE$])
+m4trace:configure.in:1069: -1- AC_SUBST([SHOBJ_CC])
+m4trace:configure.in:1069: -1- AC_SUBST_TRACE([SHOBJ_CC])
+m4trace:configure.in:1069: -1- m4_pattern_allow([^SHOBJ_CC$])
+m4trace:configure.in:1070: -1- AC_SUBST([SHOBJ_CFLAGS])
+m4trace:configure.in:1070: -1- AC_SUBST_TRACE([SHOBJ_CFLAGS])
+m4trace:configure.in:1070: -1- m4_pattern_allow([^SHOBJ_CFLAGS$])
+m4trace:configure.in:1071: -1- AC_SUBST([SHOBJ_LD])
+m4trace:configure.in:1071: -1- AC_SUBST_TRACE([SHOBJ_LD])
+m4trace:configure.in:1071: -1- m4_pattern_allow([^SHOBJ_LD$])
+m4trace:configure.in:1072: -1- AC_SUBST([SHOBJ_LDFLAGS])
+m4trace:configure.in:1072: -1- AC_SUBST_TRACE([SHOBJ_LDFLAGS])
+m4trace:configure.in:1072: -1- m4_pattern_allow([^SHOBJ_LDFLAGS$])
+m4trace:configure.in:1073: -1- AC_SUBST([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1073: -1- AC_SUBST_TRACE([SHOBJ_XLDFLAGS])
+m4trace:configure.in:1073: -1- m4_pattern_allow([^SHOBJ_XLDFLAGS$])
+m4trace:configure.in:1074: -1- AC_SUBST([SHOBJ_LIBS])
+m4trace:configure.in:1074: -1- AC_SUBST_TRACE([SHOBJ_LIBS])
+m4trace:configure.in:1074: -1- m4_pattern_allow([^SHOBJ_LIBS$])
+m4trace:configure.in:1075: -1- AC_SUBST([SHOBJ_STATUS])
+m4trace:configure.in:1075: -1- AC_SUBST_TRACE([SHOBJ_STATUS])
+m4trace:configure.in:1075: -1- m4_pattern_allow([^SHOBJ_STATUS$])
+m4trace:configure.in:1107: -1- AC_SUBST([PROFILE_FLAGS])
+m4trace:configure.in:1107: -1- AC_SUBST_TRACE([PROFILE_FLAGS])
+m4trace:configure.in:1107: -1- m4_pattern_allow([^PROFILE_FLAGS$])
+m4trace:configure.in:1109: -1- AC_SUBST([incdir])
+m4trace:configure.in:1109: -1- AC_SUBST_TRACE([incdir])
+m4trace:configure.in:1109: -1- m4_pattern_allow([^incdir$])
+m4trace:configure.in:1110: -1- AC_SUBST([BUILD_DIR])
+m4trace:configure.in:1110: -1- AC_SUBST_TRACE([BUILD_DIR])
+m4trace:configure.in:1110: -1- m4_pattern_allow([^BUILD_DIR$])
+m4trace:configure.in:1113: -1- AC_SUBST([datarootdir])
+m4trace:configure.in:1113: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:1113: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:1114: -1- AC_SUBST([localedir])
+m4trace:configure.in:1114: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:1114: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:1116: -1- AC_SUBST([YACC])
+m4trace:configure.in:1116: -1- AC_SUBST_TRACE([YACC])
+m4trace:configure.in:1116: -1- m4_pattern_allow([^YACC$])
+m4trace:configure.in:1117: -1- AC_SUBST([AR])
+m4trace:configure.in:1117: -1- AC_SUBST_TRACE([AR])
+m4trace:configure.in:1117: -1- m4_pattern_allow([^AR$])
+m4trace:configure.in:1118: -1- AC_SUBST([ARFLAGS])
+m4trace:configure.in:1118: -1- AC_SUBST_TRACE([ARFLAGS])
+m4trace:configure.in:1118: -1- m4_pattern_allow([^ARFLAGS$])
+m4trace:configure.in:1120: -1- AC_SUBST([BASHVERS])
+m4trace:configure.in:1120: -1- AC_SUBST_TRACE([BASHVERS])
+m4trace:configure.in:1120: -1- m4_pattern_allow([^BASHVERS$])
+m4trace:configure.in:1121: -1- AC_SUBST([RELSTATUS])
+m4trace:configure.in:1121: -1- AC_SUBST_TRACE([RELSTATUS])
+m4trace:configure.in:1121: -1- m4_pattern_allow([^RELSTATUS$])
+m4trace:configure.in:1122: -1- AC_SUBST([DEBUG])
+m4trace:configure.in:1122: -1- AC_SUBST_TRACE([DEBUG])
+m4trace:configure.in:1122: -1- m4_pattern_allow([^DEBUG$])
+m4trace:configure.in:1123: -1- AC_SUBST([MALLOC_DEBUG])
+m4trace:configure.in:1123: -1- AC_SUBST_TRACE([MALLOC_DEBUG])
+m4trace:configure.in:1123: -1- m4_pattern_allow([^MALLOC_DEBUG$])
+m4trace:configure.in:1125: -1- AC_SUBST([host_cpu])
+m4trace:configure.in:1125: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:1125: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:1126: -1- AC_SUBST([host_vendor])
+m4trace:configure.in:1126: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:1126: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:1127: -1- AC_SUBST([host_os])
+m4trace:configure.in:1127: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:1127: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:1129: -1- AC_SUBST([LOCAL_LIBS])
+m4trace:configure.in:1129: -1- AC_SUBST_TRACE([LOCAL_LIBS])
+m4trace:configure.in:1129: -1- m4_pattern_allow([^LOCAL_LIBS$])
+m4trace:configure.in:1130: -1- AC_SUBST([LOCAL_CFLAGS])
+m4trace:configure.in:1130: -1- AC_SUBST_TRACE([LOCAL_CFLAGS])
+m4trace:configure.in:1130: -1- m4_pattern_allow([^LOCAL_CFLAGS$])
+m4trace:configure.in:1131: -1- AC_SUBST([LOCAL_LDFLAGS])
+m4trace:configure.in:1131: -1- AC_SUBST_TRACE([LOCAL_LDFLAGS])
+m4trace:configure.in:1131: -1- m4_pattern_allow([^LOCAL_LDFLAGS$])
+m4trace:configure.in:1132: -1- AC_SUBST([LOCAL_DEFS])
+m4trace:configure.in:1132: -1- AC_SUBST_TRACE([LOCAL_DEFS])
+m4trace:configure.in:1132: -1- m4_pattern_allow([^LOCAL_DEFS$])
+m4trace:configure.in:1137: -1- AC_CONFIG_FILES([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+ lib/intl/Makefile \
+ lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
+ lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
+ examples/loadables/Makefile examples/loadables/perl/Makefile])
+m4trace:configure.in:1137: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+You should run autoupdate.], [])
+m4trace:configure.in:1137: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
+m4trace:configure.in:1137: -1- m4_pattern_allow([^LIB@&t@OBJS$])
+m4trace:configure.in:1137: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:1137: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([top_build_prefix])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([abs_top_builddir])
+m4trace:configure.in:1137: -1- AC_SUBST_TRACE([INSTALL])
diff --git a/bashhist.c b/bashhist.c
index a80968f..7240a5b 100644
--- a/bashhist.c
+++ b/bashhist.c
@@ -1,6 +1,6 @@
/* bashhist.c -- bash interface to the GNU history library. */
-/* Copyright (C) 1993-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -184,6 +184,7 @@ int dont_save_function_defs;
extern int current_command_line_count;
extern struct dstack dstack;
+extern int parser_state;
static int bash_history_inhibit_expansion __P((char *, int));
#if defined (READLINE)
@@ -212,6 +213,9 @@ bash_history_inhibit_expansion (string, i)
else if (i > 1 && string[i - 1] == '{' && string[i - 2] == '$' &&
member ('}', string + i + 1))
return (1);
+ /* The shell uses $! as a defined parameter expansion. */
+ else if (i > 1 && string[i - 1] == '$' && string[i] == '!')
+ return (1);
#if defined (EXTENDED_GLOB)
else if (extended_glob && i > 1 && string[i+1] == '(' && member (')', string + i + 2))
return (1);
@@ -355,7 +359,7 @@ save_history ()
the history file. */
using_history ();
- if (history_lines_this_session < where_history () || force_append_history)
+ if (history_lines_this_session <= where_history () || force_append_history)
append_history (history_lines_this_session, hf);
else
write_history (hf);
@@ -372,7 +376,7 @@ maybe_append_history (filename)
struct stat buf;
result = EXECUTION_SUCCESS;
- if (history_lines_this_session && (history_lines_this_session < where_history ()))
+ if (history_lines_this_session && (history_lines_this_session <= where_history ()))
{
/* If the filename was supplied, then create it if necessary. */
if (stat (filename, &buf) == -1 && errno == ENOENT)
@@ -731,7 +735,7 @@ bash_add_history (line)
add_it = 1;
if (command_oriented_history && current_command_line_count > 1)
{
- chars_to_add = literal_history ? "\n" : history_delimiting_chars ();
+ chars_to_add = literal_history ? "\n" : history_delimiting_chars (line);
using_history ();
current = previous_history ();
@@ -751,6 +755,13 @@ bash_add_history (line)
chars_to_add = "";
}
+ /* If we're not in some kind of quoted construct, the current history
+ entry ends with a newline, and we're going to add a semicolon,
+ don't. In some cases, it results in a syntax error (e.g., before
+ a close brace), and it should not be needed. */
+ if (dstack.delimiter_depth == 0 && current->line[curlen - 1] == '\n' && *chars_to_add == ';')
+ chars_to_add++;
+
new_line = (char *)xmalloc (1
+ curlen
+ strlen (line)
diff --git a/bashline.c b/bashline.c
index 53ae281..94287d8 100644
--- a/bashline.c
+++ b/bashline.c
@@ -1,6 +1,6 @@
/* bashline.c -- Bash's interface to the readline library. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2011 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -175,7 +175,8 @@ static char **prog_complete_matches;
extern int hist_verify;
#endif
-extern int current_command_line_count, last_command_exit_value;
+extern int current_command_line_count, saved_command_line_count;
+extern int last_command_exit_value;
extern int array_needs_making;
extern int posixly_correct, no_symbolic_links;
extern char *current_prompt_string, *ps1_prompt;
@@ -500,7 +501,7 @@ initialize_readline ()
/* Tell the completer that we might want to follow symbolic links or
do other expansion on directory names. */
- rl_directory_completion_hook = bash_directory_completion_hook;
+ rl_directory_rewrite_hook = bash_directory_completion_hook;
rl_filename_rewrite_hook = bash_filename_rewrite_hook;
@@ -528,11 +529,8 @@ initialize_readline ()
enable_hostname_completion (perform_hostname_completion);
/* characters that need to be quoted when appearing in filenames. */
-#if 0
- rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{"; /*}*/
-#else
rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/
-#endif
+
rl_filename_quoting_function = bash_quote_filename;
rl_filename_dequoting_function = bash_dequote_filename;
rl_char_is_quoted_p = char_is_quoted;
@@ -566,7 +564,7 @@ bashline_reset ()
tilde_initialize ();
rl_attempted_completion_function = attempt_shell_completion;
rl_completion_entry_function = NULL;
- rl_directory_completion_hook = bash_directory_completion_hook;
+ rl_directory_rewrite_hook = bash_directory_completion_hook;
rl_ignore_some_completions_function = filename_completion_ignore;
}
@@ -862,10 +860,11 @@ edit_and_execute_command (count, c, editing_mode, edit_command)
char *edit_command;
{
char *command, *metaval;
- int r, cclc, rrs, metaflag;
+ int r, rrs, metaflag;
+ sh_parser_state_t ps;
rrs = rl_readline_state;
- cclc = current_command_line_count;
+ saved_command_line_count = current_command_line_count;
/* Accept the current line. */
rl_newline (1, c);
@@ -881,6 +880,8 @@ edit_and_execute_command (count, c, editing_mode, edit_command)
then call fc to operate on it. We have to add a dummy command to
the end of the history because fc ignores the last command (assumes
it's supposed to deal with the command before the `fc'). */
+ /* This breaks down when using command-oriented history and are not
+ finished with the command, so we should not ignore the last command */
using_history ();
bash_add_history (rl_line_buffer);
bash_add_history ("");
@@ -897,11 +898,13 @@ edit_and_execute_command (count, c, editing_mode, edit_command)
yet. */
if (rl_deprep_term_function)
(*rl_deprep_term_function) ();
+ save_parser_state (&ps);
r = parse_and_execute (command, (editing_mode == VI_EDITING_MODE) ? "v" : "C-xC-e", SEVAL_NOHIST);
+ restore_parser_state (&ps);
if (rl_prep_term_function)
(*rl_prep_term_function) (metaflag);
- current_command_line_count = cclc;
+ current_command_line_count = saved_command_line_count;
/* Now erase the contents of the current line and undo the effects of the
rl_accept_line() above. We don't even want to make the text we just
@@ -990,6 +993,20 @@ bash_forward_shellword (count, key)
return 0;
}
+ /* Are we in a quoted string? If we are, move to the end of the quoted
+ string and continue the outer loop. We only want quoted strings, not
+ backslash-escaped characters, but char_is_quoted doesn't
+ differentiate. */
+ if (char_is_quoted (rl_line_buffer, p) && p > 0 && rl_line_buffer[p-1] != '\\')
+ {
+ do
+ ADVANCE_CHAR (rl_line_buffer, slen, p);
+ while (p < rl_end && char_is_quoted (rl_line_buffer, p));
+ count--;
+ continue;
+ }
+
+ /* Rest of code assumes we are not in a quoted string. */
/* Move forward until we hit a non-metacharacter. */
while (p < rl_end && (c = rl_line_buffer[p]) && WORDDELIM (c))
{
@@ -1397,12 +1414,12 @@ bash_default_completion (text, start, end, qc, compflags)
/* If the word starts in `~', and there is no slash in the word, then
try completing this word as a username. */
- if (matches ==0 && *text == '~' && mbschr (text, '/') == 0)
+ if (matches == 0 && *text == '~' && mbschr (text, '/') == 0)
matches = rl_completion_matches (text, rl_username_completion_function);
/* Another one. Why not? If the word starts in '@', then look through
the world of known hostnames for completion first. */
- if (!matches && perform_hostname_completion && *text == '@')
+ if (matches == 0 && perform_hostname_completion && *text == '@')
matches = rl_completion_matches (text, hostname_completion_function);
/* And last, (but not least) if this word is in a command position, then
@@ -2648,8 +2665,7 @@ bash_directory_expansion (dirname)
if (rl_directory_rewrite_hook)
(*rl_directory_rewrite_hook) (&d);
-
- if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d))
+ else if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d))
{
free (*dirname);
*dirname = d;
@@ -2678,7 +2694,9 @@ bash_filename_rewrite_hook (fname, fnlen)
}
/* Handle symbolic link references and other directory name
- expansions while hacking completion. */
+ expansions while hacking completion. This should return 1 if it modifies
+ the DIRNAME argument, 0 otherwise. It should make sure not to modify
+ DIRNAME if it returns 0. */
static int
bash_directory_completion_hook (dirname)
char **dirname;
@@ -2735,6 +2753,7 @@ bash_directory_completion_hook (dirname)
{
/* Dequote the filename even if we don't expand it. */
new_dirname = bash_dequote_filename (local_dirname, rl_completion_quote_character);
+ return_value = STREQ (local_dirname, new_dirname) == 0;
free (local_dirname);
local_dirname = *dirname = new_dirname;
}
@@ -2758,14 +2777,14 @@ bash_directory_completion_hook (dirname)
free (temp1);
temp1 = temp2;
temp2 = sh_canonpath (temp1, PATH_CHECKDOTDOT|PATH_CHECKEXISTS);
- return_value = temp2 != 0;
+ return_value |= temp2 != 0;
}
}
/* If we can't canonicalize, bail. */
if (temp2 == 0)
{
free (temp1);
- return 1;
+ return return_value;
}
len1 = strlen (temp1);
if (temp1[len1 - 1] == '/')
@@ -2778,10 +2797,12 @@ bash_directory_completion_hook (dirname)
temp2[len2 + 1] = '\0';
}
}
+ return_value |= STREQ (local_dirname, temp2) == 0;
free (local_dirname);
*dirname = temp2;
free (temp1);
}
+
return (return_value);
}
@@ -2870,12 +2891,15 @@ dynamic_complete_history (count, key)
int r;
rl_compentry_func_t *orig_func;
rl_completion_func_t *orig_attempt_func;
+ rl_compignore_func_t *orig_ignore_func;
orig_func = rl_completion_entry_function;
orig_attempt_func = rl_attempted_completion_function;
+ orig_ignore_func = rl_ignore_some_completions_function;
rl_completion_entry_function = history_completion_generator;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
/* XXX - use rl_completion_mode here? */
if (rl_last_func == dynamic_complete_history)
@@ -2885,6 +2909,8 @@ dynamic_complete_history (count, key)
rl_completion_entry_function = orig_func;
rl_attempted_completion_function = orig_attempt_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
+
return r;
}
@@ -2895,14 +2921,17 @@ bash_dabbrev_expand (count, key)
int r, orig_suppress, orig_sort;
rl_compentry_func_t *orig_func;
rl_completion_func_t *orig_attempt_func;
+ rl_compignore_func_t *orig_ignore_func;
orig_func = rl_menu_completion_entry_function;
orig_attempt_func = rl_attempted_completion_function;
+ orig_ignore_func = rl_ignore_some_completions_function;
orig_suppress = rl_completion_suppress_append;
orig_sort = rl_sort_completion_matches;
rl_menu_completion_entry_function = history_completion_generator;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
rl_filename_completion_desired = 0;
rl_completion_suppress_append = 1;
rl_sort_completion_matches = 0;
@@ -2917,6 +2946,7 @@ bash_dabbrev_expand (count, key)
rl_last_func = bash_dabbrev_expand;
rl_menu_completion_entry_function = orig_func;
rl_attempted_completion_function = orig_attempt_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
rl_completion_suppress_append = orig_suppress;
rl_sort_completion_matches = orig_sort;
@@ -2966,23 +2996,27 @@ bash_complete_filename_internal (what_to_do)
rl_compentry_func_t *orig_func;
rl_completion_func_t *orig_attempt_func;
rl_icppfunc_t *orig_dir_func;
+ rl_compignore_func_t *orig_ignore_func;
/*const*/ char *orig_rl_completer_word_break_characters;
int r;
orig_func = rl_completion_entry_function;
orig_attempt_func = rl_attempted_completion_function;
- orig_dir_func = rl_directory_completion_hook;
+ orig_dir_func = rl_directory_rewrite_hook;
+ orig_ignore_func = rl_ignore_some_completions_function;
orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
rl_completion_entry_function = rl_filename_completion_function;
rl_attempted_completion_function = (rl_completion_func_t *)NULL;
- rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
+ rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
+ rl_ignore_some_completions_function = filename_completion_ignore;
rl_completer_word_break_characters = " \t\n\"\'";
r = rl_complete_internal (what_to_do);
rl_completion_entry_function = orig_func;
rl_attempted_completion_function = orig_attempt_func;
- rl_directory_completion_hook = orig_dir_func;
+ rl_directory_rewrite_hook = orig_dir_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
return r;
@@ -3160,17 +3194,21 @@ bash_specific_completion (what_to_do, generator)
{
rl_compentry_func_t *orig_func;
rl_completion_func_t *orig_attempt_func;
+ rl_compignore_func_t *orig_ignore_func;
int r;
orig_func = rl_completion_entry_function;
orig_attempt_func = rl_attempted_completion_function;
+ orig_ignore_func = rl_ignore_some_completions_function;
rl_completion_entry_function = generator;
rl_attempted_completion_function = NULL;
+ rl_ignore_some_completions_function = orig_ignore_func;
r = rl_complete_internal (what_to_do);
rl_completion_entry_function = orig_func;
rl_attempted_completion_function = orig_attempt_func;
+ rl_ignore_some_completions_function = orig_ignore_func;
return r;
}
@@ -3421,7 +3459,10 @@ static int
putx(c)
int c;
{
- return putc (c, rl_outstream);
+ int x;
+
+ x = putc (c, rl_outstream);
+ return (x);
}
static int
diff --git a/braces.c b/braces.c
index 45abe45..2febed7 100644
--- a/braces.c
+++ b/braces.c
@@ -63,7 +63,7 @@ static const int brace_arg_separator = ',';
static int brace_gobbler __P((char *, size_t, int *, int));
static char **expand_amble __P((char *, size_t, int));
static char **expand_seqterm __P((char *, size_t));
-static char **mkseq __P((int, int, int, int, int));
+static char **mkseq __P((intmax_t, intmax_t, int, int, int));
static char **array_concat __P((char **, char **));
#else
static int brace_gobbler ();
@@ -307,13 +307,15 @@ expand_amble (text, tlen, flags)
static char **
mkseq (start, end, incr, type, width)
- int start, end, incr, type, width;
+ intmax_t start, end;
+ int incr, type, width;
{
- int n, i;
+ intmax_t n;
+ int i;
char **result, *t;
- n = abs (end - start) + 1;
- result = strvec_create (n + 1);
+ i = abs (end - start) + 1;
+ result = strvec_create (i + 1);
if (incr == 0)
incr = 1;
@@ -335,8 +337,9 @@ mkseq (start, end, incr, type, width)
result[i++] = itos (n);
else if (type == ST_ZINT)
{
- int len;
- len = asprintf (&t, "%0*d", width, n);
+ int len, arg;
+ arg = n;
+ len = asprintf (&t, "%0*d", width, arg);
result[i++] = t;
}
else
@@ -362,7 +365,8 @@ expand_seqterm (text, tlen)
size_t tlen;
{
char *t, *lhs, *rhs;
- int i, lhs_t, rhs_t, lhs_v, rhs_v, incr, lhs_l, rhs_l, width;
+ int i, lhs_t, rhs_t, incr, lhs_l, rhs_l, width;
+ intmax_t lhs_v, rhs_v;
intmax_t tl, tr;
char **result, *ep, *oep;
diff --git a/builtins/Makefile.in b/builtins/Makefile.in
index 42f8cb8..3d8bad4 100644
--- a/builtins/Makefile.in
+++ b/builtins/Makefile.in
@@ -334,6 +334,7 @@ evalstring.o: $(topdir)/externs.h $(topdir)/jobs.h $(topdir)/builtins.h
evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h
evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h
evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h
+#evalstring.o: $(topdir)/y.tab.h
getopt.o: ../config.h $(BASHINCDIR)/memalloc.h
getopt.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/bashjmp.h $(topdir)/command.h
getopt.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/error.h $(topdir)/variables.h $(topdir)/conftypes.h
diff --git a/builtins/cd.def b/builtins/cd.def
index d53b258..b1aae26 100644
--- a/builtins/cd.def
+++ b/builtins/cd.def
@@ -1,7 +1,7 @@
This file is cd.def, from which is created cd.c. It implements the
builtins "cd" and "pwd" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -58,7 +58,7 @@ extern int array_needs_making;
extern const char * const bash_getcwd_errstr;
static int bindpwd __P((int));
-static void setpwd __P((char *));
+static int setpwd __P((char *));
static char *resetpwd __P((char *));
static int change_to_directory __P((char *, int));
@@ -67,9 +67,11 @@ int cdspelling = 0;
int cdable_vars;
+static int eflag; /* file scope so bindpwd() can see it */
+
$BUILTIN cd
$FUNCTION cd_builtin
-$SHORT_DOC cd [-L|-P] [dir]
+$SHORT_DOC cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
@@ -88,15 +90,18 @@ Options:
-L force symbolic links to be followed
-P use the physical directory structure without following symbolic
links
+ -e if the -P option is supplied, and the current working directory
+ cannot be determined successfully, exit with a non-zero status
The default is to follow symbolic links, as if `-L' were specified.
Exit Status:
-Returns 0 if the directory is changed; non-zero otherwise.
+Returns 0 if the directory is changed, and if $PWD is set successfully when
+-P is used; non-zero otherwise.
$END
/* Just set $PWD, don't change OLDPWD. Used by `pwd -P' in posix mode. */
-static void
+static int
setpwd (dirname)
char *dirname;
{
@@ -105,11 +110,14 @@ setpwd (dirname)
old_anm = array_needs_making;
tvar = bind_variable ("PWD", dirname ? dirname : "", 0);
- if (old_anm == 0 && array_needs_making && exported_p (tvar))
+ if (tvar && readonly_p (tvar))
+ return EXECUTION_FAILURE;
+ if (tvar && old_anm == 0 && array_needs_making && exported_p (tvar))
{
update_export_env_inplace ("PWD=", 4, dirname ? dirname : "");
array_needs_making = 0;
}
+ return EXECUTION_SUCCESS;
}
static int
@@ -131,13 +139,19 @@ bindpwd (no_symlinks)
pwdvar = get_string_value ("PWD");
tvar = bind_variable ("OLDPWD", pwdvar, 0);
+ if (tvar && readonly_p (tvar))
+ r = EXECUTION_FAILURE;
+
if (old_anm == 0 && array_needs_making && exported_p (tvar))
{
update_export_env_inplace ("OLDPWD=", 7, pwdvar);
array_needs_making = 0;
}
- setpwd (dirname);
+ if (setpwd (dirname) == EXECUTION_FAILURE)
+ r = EXECUTION_FAILURE;
+ if (dirname == 0 && eflag)
+ r = EXECUTION_FAILURE;
if (dirname && dirname != the_current_working_directory)
free (dirname);
@@ -162,7 +176,7 @@ resetpwd (caller)
#define LCD_DOVARS 0x001
#define LCD_DOSPELL 0x002
#define LCD_PRINTPATH 0x004
-#define LCD_FREEDIRNAME 0x010
+#define LCD_FREEDIRNAME 0x008
/* This builtin is ultimately the way that all user-visible commands should
change the current working directory. It is called by cd_to_string (),
@@ -183,6 +197,7 @@ cd_builtin (list)
}
#endif /* RESTRICTED_SHELL */
+ eflag = 0;
no_symlinks = no_symbolic_links;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "LP")) != -1)
@@ -195,6 +210,9 @@ cd_builtin (list)
case 'L':
no_symlinks = 0;
break;
+ case 'e':
+ eflag = 1;
+ break;
default:
builtin_usage ();
return (EXECUTION_FAILURE);
@@ -204,6 +222,8 @@ cd_builtin (list)
lflag = (cdable_vars ? LCD_DOVARS : 0) |
((interactive && cdspelling) ? LCD_DOSPELL : 0);
+ if (eflag && no_symlinks == 0)
+ eflag = 0;
if (list == 0)
{
@@ -270,6 +290,7 @@ cd_builtin (list)
free (temp);
}
+#if 0 /* changed for bash-4.2 Posix cd description steps 5-6 */
/* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
try the current directory, so we just punt now with an error
message if POSIXLY_CORRECT is non-zero. The check for cdpath[0]
@@ -280,6 +301,7 @@ cd_builtin (list)
builtin_error ("%s: %s", dirname, strerror (ENOENT));
return (EXECUTION_FAILURE);
}
+#endif
}
else
dirname = list->word->word;
@@ -389,13 +411,14 @@ pwd_builtin (list)
if (directory)
{
+ opt = EXECUTION_SUCCESS;
printf ("%s\n", directory);
/* This is dumb but posix-mandated. */
if (posixly_correct && pflag)
- setpwd (directory);
+ opt = setpwd (directory);
if (directory != the_current_working_directory)
free (directory);
- return (sh_chkwrite (EXECUTION_SUCCESS));
+ return (sh_chkwrite (opt));
}
else
return (EXECUTION_FAILURE);
diff --git a/builtins/common.c b/builtins/common.c
index 03d0d82..83f65d8 100644
--- a/builtins/common.c
+++ b/builtins/common.c
@@ -1,6 +1,6 @@
/* common.c - utility functions for all builtins */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -151,7 +151,7 @@ builtin_usage ()
{
if (this_command_name && *this_command_name)
fprintf (stderr, _("%s: usage: "), this_command_name);
- fprintf (stderr, "%s\n", current_builtin->short_doc);
+ fprintf (stderr, "%s\n", _(current_builtin->short_doc));
fflush (stderr);
}
@@ -367,7 +367,7 @@ make_builtin_argv (list, ip)
return argv;
}
-/* Remember LIST in $0 ... $9, and REST_OF_ARGS. If DESTRUCTIVE is
+/* Remember LIST in $1 ... $9, and REST_OF_ARGS. If DESTRUCTIVE is
non-zero, then discard whatever the existing arguments are, else
only discard the ones that are to be replaced. */
void
diff --git a/builtins/common.h b/builtins/common.h
index efbb078..caeefea 100644
--- a/builtins/common.h
+++ b/builtins/common.h
@@ -1,6 +1,6 @@
/* common.h -- extern declarations for functions defined in common.c. */
-/* Copyright (C) 1993-2004 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
diff --git a/builtins/complete.def b/builtins/complete.def
index 2267794..b9f0a13 100644
--- a/builtins/complete.def
+++ b/builtins/complete.def
@@ -1,7 +1,7 @@
This file is complete.def, from which is created complete.c.
It implements the builtins "complete", "compgen", and "compopt" in Bash.
-Copyright (C) 1999-2009 Free Software Foundation, Inc.
+Copyright (C) 1999-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -753,7 +753,7 @@ $SHORT_DOC compopt [-o|+o option] [-DE] [name ...]
Modify or display completion options.
Modify the completion options for each NAME, or, if no NAMEs are supplied,
-the completion currently begin executed. If no OPTIONs are givenm, print
+the completion currently being executed. If no OPTIONs are given, print
the completion options for each NAME or the current completion specification.
Options:
diff --git a/builtins/declare.def b/builtins/declare.def
index a0ce605..41c5ee3 100644
--- a/builtins/declare.def
+++ b/builtins/declare.def
@@ -1,7 +1,7 @@
This file is declare.def, from which is created declare.c.
It implements the builtins "declare" and "local" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -22,7 +22,7 @@ $PRODUCES declare.c
$BUILTIN declare
$FUNCTION declare_builtin
-$SHORT_DOC declare [-aAfFilrtux] [-p] [name[=value] ...]
+$SHORT_DOC declare [-aAfFgilrtux] [-p] [name[=value] ...]
Set variable values and attributes.
Declare variables and give them attributes. If no NAMEs are given,
@@ -32,6 +32,8 @@ Options:
-f restrict action or display to function names and definitions
-F restrict display to function names only (plus line number and
source file when debugging)
+ -g create global variables when used in a shell function; otherwise
+ ignored
-p display the attributes and value of each NAME
Options which set attributes:
@@ -50,7 +52,7 @@ Variables with the integer attribute have arithmetic evaluation (see
the `let' command) performed when the variable is assigned a value.
When used in a function, `declare' makes NAMEs local, as with the `local'
-command.
+command. The `-g' option suppresses this behavior.
Exit Status:
Returns success unless an invalid option is supplied or an error occurs.
@@ -58,7 +60,7 @@ $END
$BUILTIN typeset
$FUNCTION declare_builtin
-$SHORT_DOC typeset [-aAfFilrtux] [-p] name[=value] ...
+$SHORT_DOC typeset [-aAfFgilrtux] [-p] name[=value] ...
Set variable values and attributes.
Obsolete. See `help declare'.
@@ -125,9 +127,9 @@ local_builtin (list)
}
#if defined (ARRAY_VARS)
-# define DECLARE_OPTS "+acfilprtuxAF"
+# define DECLARE_OPTS "+acfgilprtuxAF"
#else
-# define DECLARE_OPTS "+cfilprtuxF"
+# define DECLARE_OPTS "+cfgilprtuxF"
#endif
/* The workhorse function. */
@@ -137,12 +139,12 @@ declare_internal (list, local_var)
int local_var;
{
int flags_on, flags_off, *flags;
- int any_failed, assign_error, pflag, nodefs, opt;
+ int any_failed, assign_error, pflag, nodefs, opt, mkglobal;
char *t, *subscript_start;
SHELL_VAR *var;
FUNCTION_DEF *shell_fn;
- flags_on = flags_off = any_failed = assign_error = pflag = nodefs = 0;
+ flags_on = flags_off = any_failed = assign_error = pflag = nodefs = mkglobal = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, DECLARE_OPTS)) != EOF)
{
@@ -177,6 +179,10 @@ declare_internal (list, local_var)
case 'f':
*flags |= att_function;
break;
+ case 'g':
+ if (flags == &flags_on)
+ mkglobal = 1;
+ break;
case 'i':
*flags |= att_integer;
break;
@@ -328,7 +334,7 @@ declare_internal (list, local_var)
/* XXX - this has consequences when we're making a local copy of a
variable that was in the temporary environment. Watch out
for this. */
- if (variable_context && ((flags_on & att_function) == 0))
+ if (variable_context && mkglobal == 0 && ((flags_on & att_function) == 0))
{
#if defined (ARRAY_VARS)
if (flags_on & att_assoc)
@@ -410,7 +416,7 @@ declare_internal (list, local_var)
{
/* Non-null if we just created or fetched a local variable. */
if (var == 0)
- var = find_variable (name);
+ var = mkglobal ? find_global_variable (name) : find_variable (name);
if (var == 0)
{
diff --git a/builtins/evalfile.c b/builtins/evalfile.c
index 972d039..4d69acb 100644
--- a/builtins/evalfile.c
+++ b/builtins/evalfile.c
@@ -70,6 +70,7 @@ extern int posixly_correct;
extern int indirection_level, subshell_environment;
extern int return_catch_flag, return_catch_value;
extern int last_command_exit_value;
+extern int executing_command_builtin;
/* How many `levels' of sourced files we have. */
int sourcelevel = 0;
@@ -148,10 +149,6 @@ file_error_and_exit:
return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1);
}
-#if defined (__CYGWIN__) && defined (O_TEXT)
- setmode (fd, O_TEXT);
-#endif
-
if (S_ISREG (finfo.st_mode) && file_size <= SSIZE_MAX)
{
string = (char *)xmalloc (1 + file_size);
@@ -342,7 +339,7 @@ source_file (filename, sflags)
if (sflags)
flags |= FEVAL_NOPUSHARGS;
/* POSIX shells exit if non-interactive and file error. */
- if (posixly_correct && !interactive_shell)
+ if (posixly_correct && interactive_shell == 0 && executing_command_builtin == 0)
flags |= FEVAL_LONGJMP;
rval = _evalfile (filename, flags);
diff --git a/builtins/evalstring.c b/builtins/evalstring.c
index 40abe00..333a56e 100644
--- a/builtins/evalstring.c
+++ b/builtins/evalstring.c
@@ -1,6 +1,6 @@
-/* evalstring.c - evaluate a string as one or more shell commands.
+/* evalstring.c - evaluate a string as one or more shell commands. */
-/* Copyright (C) 1996-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -331,13 +331,9 @@ parse_and_execute (string, from_file, flags)
(this_shell_builtin == source_builtin || this_shell_builtin == eval_builtin) &&
last_command_exit_value == EX_BADSYNTAX && posixly_correct)
{
-#if 0 /* XXX - for bash-4.2 */
should_jump_to_top_level = 1;
code = ERREXIT;
last_command_exit_value = EX_BADUSAGE;
-#else
- internal_warning (_("syntax errors in . or eval will cause future versions of the shell to abort as Posix requires"));
-#endif
}
/* Since we are shell compatible, syntax errors in a script
diff --git a/builtins/exec.def b/builtins/exec.def
index 0837a98..5d1e625 100644
--- a/builtins/exec.def
+++ b/builtins/exec.def
@@ -1,7 +1,7 @@
This file is exec.def, from which is created exec.c.
It implements the builtin "exec" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -76,6 +76,7 @@ extern int errno;
extern int subshell_environment;
extern REDIRECT *redirection_undo_list;
+extern char *exec_argv0;
int no_exit_on_failed_exec;
@@ -102,7 +103,7 @@ exec_builtin (list)
char *argv0, *command, **args, **env, *newname, *com2;
cleanenv = login = 0;
- argv0 = (char *)NULL;
+ exec_argv0 = argv0 = (char *)NULL;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "cla:")) != -1)
@@ -147,8 +148,20 @@ exec_builtin (list)
if (command == 0)
{
- sh_notfound (args[0]);
- exit_value = EX_NOTFOUND; /* As per Posix.2, 3.14.6 */
+ if (file_isdir (args[0]))
+ {
+#if defined (EISDIR)
+ builtin_error (_("%s: cannot execute: %s"), args[0], strerror (EISDIR));
+#else
+ builtin_error (_("%s: cannot execute: %s"), args[0], strerror (errno));
+#endif
+ exit_value = EX_NOEXEC;
+ }
+ else
+ {
+ sh_notfound (args[0]);
+ exit_value = EX_NOTFOUND; /* As per Posix.2, 3.14.6 */
+ }
goto failed_exec;
}
@@ -164,6 +177,7 @@ exec_builtin (list)
{
free (args[0]);
args[0] = login ? mkdashname (argv0) : savestring (argv0);
+ exec_argv0 = savestring (args[0]);
}
else if (login)
{
@@ -198,7 +212,7 @@ exec_builtin (list)
end_job_control ();
#endif /* JOB_CONTROL */
- shell_execve (command, args, env);
+ exit_value = shell_execve (command, args, env);
/* We have to set this to NULL because shell_execve has called realloc()
to stuff more items at the front of the array, which may have caused
@@ -207,7 +221,9 @@ exec_builtin (list)
if (cleanenv == 0)
adjust_shell_level (1);
- if (executable_file (command) == 0)
+ if (exit_value == EX_NOTFOUND) /* no duplicate error message */
+ goto failed_exec;
+ else if (executable_file (command) == 0)
{
builtin_error (_("%s: cannot execute: %s"), command, strerror (errno));
exit_value = EX_NOEXEC; /* As per Posix.2, 3.14.6 */
diff --git a/builtins/fc.def b/builtins/fc.def
index a378d9d..257029d 100644
--- a/builtins/fc.def
+++ b/builtins/fc.def
@@ -1,7 +1,7 @@
This file is fc.def, from which is created fc.c.
It implements the builtin "fc" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -85,7 +85,7 @@ $END
extern int errno;
#endif /* !errno */
-extern int current_command_line_count;
+extern int current_command_line_count, saved_command_line_count;
extern int literal_history;
extern int posixly_correct;
extern int subshell_environment, interactive_shell;
@@ -303,6 +303,16 @@ fc_builtin (list)
rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);
last_hist = i - rh - hist_last_line_added;
+ /* XXX */
+ if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0)
+ while (last_hist >= 0 && hlist[last_hist] == 0)
+ last_hist--;
+ if (last_hist < 0)
+ {
+ sh_erange ((char *)NULL, _("history specification"));
+ return (EXECUTION_FAILURE);
+ }
+
if (list)
{
histbeg = fc_gethnum (list->word->word, hlist);
diff --git a/builtins/getopts.def b/builtins/getopts.def
index c077c8e..1d2a68a 100644
--- a/builtins/getopts.def
+++ b/builtins/getopts.def
@@ -108,7 +108,9 @@ getopts_bind_variable (name, value)
if (legal_identifier (name))
{
v = bind_variable (name, value, 0);
- return (v && (readonly_p (v) == 0)) ? EXECUTION_SUCCESS : EXECUTION_FAILURE;
+ if (v && (readonly_p (v) || noassign_p (v)))
+ return (EX_MISCERROR);
+ return (v ? EXECUTION_SUCCESS : EXECUTION_FAILURE);
}
else
{
diff --git a/builtins/hash.def b/builtins/hash.def
index 7a8aced..6724ad1 100644
--- a/builtins/hash.def
+++ b/builtins/hash.def
@@ -1,7 +1,7 @@
This file is hash.def, from which is created hash.c.
It implements the builtin "hash" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -159,7 +159,9 @@ hash_builtin (list)
{
/* Add, remove or rehash the specified commands. */
w = list->word->word;
- if (pathname)
+ if (absolute_program (w))
+ continue;
+ else if (pathname)
{
if (is_directory (pathname))
{
@@ -173,8 +175,6 @@ hash_builtin (list)
else
phash_insert (w, pathname, 0, 0);
}
- else if (absolute_program (w))
- continue;
else if (delete)
{
if (phash_remove (w))
@@ -202,6 +202,7 @@ add_hashed_command (w, quiet)
rv = 0;
if (find_function (w) == 0 && find_shell_builtin (w) == 0)
{
+ phash_remove (w);
full_path = find_user_command (w);
if (full_path && executable_file (full_path))
phash_insert (w, full_path, dot_found_in_search, 0);
diff --git a/builtins/help.def b/builtins/help.def
index f857af9..8fb0e2b 100644
--- a/builtins/help.def
+++ b/builtins/help.def
@@ -155,7 +155,7 @@ help_builtin (list)
continue;
}
- printf ("%s: %s\n", name, shell_builtins[i].short_doc);
+ printf ("%s: %s\n", name, _(shell_builtins[i].short_doc));
if (sflag == 0)
show_longdoc (i);
@@ -288,7 +288,7 @@ show_manpage (name, i)
/* SYNOPSIS */
printf ("SYNOPSIS\n");
- printf ("%*s%s\n\n", BASE_INDENT, " ", shell_builtins[i].short_doc);
+ printf ("%*s%s\n\n", BASE_INDENT, " ", _(shell_builtins[i].short_doc));
/* DESCRIPTION */
printf ("DESCRIPTION\n");
@@ -360,7 +360,7 @@ A star (*) next to a name means that the command is disabled.\n\
/* first column */
blurb[0] = (shell_builtins[i].flags & BUILTIN_ENABLED) ? ' ' : '*';
- strncpy (blurb + 1, shell_builtins[i].short_doc, width - 2);
+ strncpy (blurb + 1, _(shell_builtins[i].short_doc), width - 2);
blurb[width - 2] = '>'; /* indicate truncation */
blurb[width - 1] = '\0';
printf ("%s", blurb);
@@ -376,7 +376,7 @@ A star (*) next to a name means that the command is disabled.\n\
/* second column */
blurb[0] = (shell_builtins[i+height].flags & BUILTIN_ENABLED) ? ' ' : '*';
- strncpy (blurb + 1, shell_builtins[i+height].short_doc, width - 3);
+ strncpy (blurb + 1, _(shell_builtins[i+height].short_doc), width - 3);
blurb[width - 3] = '>'; /* indicate truncation */
blurb[width - 2] = '\0';
printf ("%s\n", blurb);
diff --git a/builtins/kill.def b/builtins/kill.def
index 18c3667..adf022c 100644
--- a/builtins/kill.def
+++ b/builtins/kill.def
@@ -1,7 +1,7 @@
This file is kill.def, from which is created kill.c.
It implements the builtin "kill" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -121,9 +121,7 @@ kill_builtin (list)
else
sig = decode_signal (sigspec, dflags);
list = list->next;
-#if 0
- saw_signal++; /* XXX - for bash-4.2 */
-#endif
+ saw_signal++;
}
else
{
diff --git a/builtins/let.def b/builtins/let.def
index 2601fb9..811534e 100644
--- a/builtins/let.def
+++ b/builtins/let.def
@@ -61,7 +61,7 @@ parentheses are evaluated first and may override the precedence
rules above.
Exit Status:
-If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise..
+If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.
$END
#include <config.h>
diff --git a/builtins/mapfile.def b/builtins/mapfile.def
index 0946de3..ec1e32e 100644
--- a/builtins/mapfile.def
+++ b/builtins/mapfile.def
@@ -2,7 +2,7 @@ This file is mapfile.def, from which is created mapfile.c.
It implements the builtin "mapfile" in Bash.
Copyright (C) 2005-2006 Rocky Bernstein for Free Software Foundation, Inc.
-Copyright (C) 2008,2009 Free Software Foundation, Inc.
+Copyright (C) 2008-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -44,7 +44,8 @@ Arguments:
If -C is supplied without -c, the default quantum is 5000. When
CALLBACK is evaluated, it is supplied the index of the next array
-element to be assigned as an additional argument.
+element to be assigned and the line to be assigned to that element
+as additional arguments.
If not supplied with an explicit origin, mapfile will clear ARRAY before
assigning to it.
@@ -88,7 +89,10 @@ extern int errno;
#if defined (ARRAY_VARS)
+static int run_callback __P((const char *, unsigned int, const char *));
+
#define DEFAULT_ARRAY_NAME "MAPFILE"
+#define DEFAULT_VARIABLE_NAME "MAPLINE" /* not used right now */
/* The value specifying how frequently `mapfile' calls the callback. */
#define DEFAULT_QUANTUM 5000
@@ -98,18 +102,20 @@ extern int errno;
#define MAPF_CHOP 0x02
static int
-run_callback(callback, current_index)
+run_callback (callback, curindex, curline)
const char *callback;
- unsigned int current_index;
+ unsigned int curindex;
+ const char *curline;
{
unsigned int execlen;
- char *execstr;
+ char *execstr, *qline;
int flags;
- execlen = strlen (callback) + 10;
- /* 1 for space between %s and %d,
+ qline = sh_single_quote (curline);
+ execlen = strlen (callback) + strlen (qline) + 10;
+ /* 1 for each space between %s and %d,
another 1 for the last nul char for C string. */
- execlen += 2;
+ execlen += 3;
execstr = xmalloc (execlen);
flags = SEVAL_NOHIST;
@@ -117,8 +123,9 @@ run_callback(callback, current_index)
if (interactive)
flags |= SEVAL_INTERACT;
#endif
- snprintf (execstr, execlen, "%s %d", callback, current_index);
- return parse_and_execute(execstr, NULL, flags);
+ snprintf (execstr, execlen, "%s %d %s", callback, curindex, qline);
+ free (qline);
+ return parse_and_execute (execstr, NULL, flags);
}
static void
@@ -202,7 +209,7 @@ mapfile (fd, line_count_goal, origin, nskip, callback_quantum, callback, array_n
/* Has a callback been registered and if so is it time to call it? */
if (callback && line_count && (line_count % callback_quantum) == 0)
{
- run_callback (callback, array_index);
+ run_callback (callback, array_index, line);
/* Reset the buffer for bash own stream. */
if (unbuffered_read == 0)
diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
index cdd45e4..cdfdfb1 100644
--- a/builtins/mkbuiltins.c
+++ b/builtins/mkbuiltins.c
@@ -1,7 +1,7 @@
/* mkbuiltins.c - Create builtins.c, builtext.h, and builtdoc.c from
a single source file called builtins.def. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -1127,7 +1127,7 @@ char *structfile_header[] = {
};
char *structfile_footer[] = {
- " { (char *)0x0, (sh_builtin_func_t *)0x0, 0, (char **)0x0, (char *)0x0 }",
+ " { (char *)0x0, (sh_builtin_func_t *)0x0, 0, (char **)0x0, (char *)0x0, (char *)0x0 }",
"};",
"",
"struct builtin *shell_builtins = static_shell_builtins;",
@@ -1380,7 +1380,7 @@ write_documentation (stream, documentation, indentation, flags)
{
register int i, j;
register char *line;
- int string_array, texinfo, base_indent, last_cpp, filename_p;
+ int string_array, texinfo, base_indent, filename_p;
if (stream == 0)
return;
@@ -1407,7 +1407,7 @@ write_documentation (stream, documentation, indentation, flags)
base_indent = (string_array && single_longdoc_strings && filename_p == 0) ? BASE_INDENT : 0;
- for (i = last_cpp = 0, texinfo = (flags & TEXINFO); line = documentation[i]; i++)
+ for (i = 0, texinfo = (flags & TEXINFO); line = documentation[i]; i++)
{
/* Allow #ifdef's to be written out verbatim, but don't put them into
separate help files. */
@@ -1415,11 +1415,8 @@ write_documentation (stream, documentation, indentation, flags)
{
if (string_array && filename_p == 0 && single_longdoc_strings == 0)
fprintf (stream, "%s\n", line);
- last_cpp = 1;
continue;
}
- else
- last_cpp = 0;
/* prefix with N_( for gettext */
if (string_array && single_longdoc_strings == 0)
diff --git a/builtins/printf.def b/builtins/printf.def
index 277566f..7892cb5 100644
--- a/builtins/printf.def
+++ b/builtins/printf.def
@@ -1,7 +1,7 @@
This file is printf.def, from which is created printf.c.
It implements the builtin "printf" in Bash.
-Copyright (C) 1997-2009 Free Software Foundation, Inc.
+Copyright (C) 1997-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -40,6 +40,8 @@ and printf(3), printf interprets:
%b expand backslash escape sequences in the corresponding argument
%q quote the argument in a way that can be reused as shell input
+ %(fmt)T output the date-time string resulting from using FMT as a format
+ string for strftime(3)
Exit Status:
Returns success unless an invalid option is given or a write or assignment
@@ -72,9 +74,12 @@ $END
# include <inttypes.h>
#endif
+#include "posixtime.h"
#include "../bashansi.h"
#include "../bashintl.h"
+#define NEED_STRFTIME_DECL
+
#include "../shell.h"
#include "shmbutil.h"
#include "stdc.h"
@@ -167,6 +172,8 @@ extern int errno;
#define SKIP1 "#'-+ 0"
#define LENMODS "hjlLtz"
+extern time_t shell_start_time;
+
#if !HAVE_ASPRINTF
extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
#endif
@@ -177,7 +184,7 @@ extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__(
static void printf_erange __P((char *));
static int printstr __P((char *, char *, int, int, int));
-static int tescape __P((char *, char *, int *));
+static int tescape __P((char *, char *, int *, int *));
static char *bexpand __P((char *, int, int *, int *));
static char *vbadd __P((char *, int));
static int vbprintf __P((const char *, ...)) __attribute__((__format__ (printf, 1, 2)));
@@ -224,6 +231,10 @@ printf_builtin (list)
int ch, fieldwidth, precision;
int have_fieldwidth, have_precision;
char convch, thisch, nextch, *format, *modstart, *fmt, *start;
+#if defined (HANDLE_MULTIBYTE)
+ char mbch[25]; /* 25 > MB_LEN_MAX, plus can handle 4-byte UTF-8 and large Unicode characters*/
+ int mbind, mblen;
+#endif
conversion_error = 0;
retval = EXECUTION_SUCCESS;
@@ -301,8 +312,17 @@ printf_builtin (list)
fmt++;
/* A NULL third argument to tescape means to bypass the
special processing for arguments to %b. */
- fmt += tescape (fmt, &nextch, (int *)NULL);
+#if defined (HANDLE_MULTIBYTE)
+ /* Accommodate possible use of \u or \U, which can result in
+ multibyte characters */
+ memset (mbch, '\0', sizeof (mbch));
+ fmt += tescape (fmt, mbch, &mblen, (int *)NULL);
+ for (mbind = 0; mbind < mblen; mbind++)
+ PC (mbch[mbind]);
+#else
+ fmt += tescape (fmt, &nextch, (int *)NULL, (int *)NULL);
PC (nextch);
+#endif
fmt--; /* for loop will increment it for us again */
continue;
}
@@ -401,6 +421,70 @@ printf_builtin (list)
break;
}
+ case '(':
+ {
+ char *timefmt, timebuf[128], *t;
+ int n;
+ intmax_t arg;
+ time_t secs;
+ struct tm *tm;
+
+ modstart[1] = nextch; /* restore char after left paren */
+ timefmt = xmalloc (strlen (fmt) + 3);
+ fmt++; /* skip over left paren */
+ for (t = timefmt, n = 1; *fmt; )
+ {
+ if (*fmt == '(')
+ n++;
+ else if (*fmt == ')')
+ n--;
+ if (n == 0)
+ break;
+ *t++ = *fmt++;
+ }
+ *t = '\0';
+ if (*++fmt != 'T')
+ {
+ builtin_warning (_("`%c': invalid time format specification"), *fmt);
+ fmt = start;
+ free (timefmt);
+ PC (*fmt);
+ continue;
+ }
+ if (timefmt[0] == '\0')
+ {
+ timefmt[0] = '%';
+ timefmt[1] = 'X'; /* locale-specific current time - should we use `+'? */
+ timefmt[2] = '\0';
+ }
+ /* argument is seconds since the epoch with special -1 and -2 */
+ arg = getintmax ();
+ if (arg == -1)
+ secs = NOW; /* roughly date +%s */
+ else if (arg == -2)
+ secs = shell_start_time; /* roughly $SECONDS */
+ else
+ secs = arg;
+ tm = localtime (&secs);
+ n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
+ free (timefmt);
+ if (n == 0)
+ timebuf[0] = '\0';
+ else
+ timebuf[sizeof(timebuf) - 1] = '\0';
+ /* convert to %s format that preserves fieldwidth and precision */
+ modstart[0] = 's';
+ modstart[1] = '\0';
+ n = printstr (start, timebuf, strlen (timebuf), fieldwidth, precision); /* XXX - %s for now */
+ if (n < 0)
+ {
+ sh_wrerror ();
+ clearerr (stdout);
+ PRETURN (EXECUTION_FAILURE);
+ }
+ break;
+ }
+
case 'n':
{
char *var;
@@ -699,15 +783,18 @@ printstr (fmt, string, len, fieldwidth, precision)
do the \c short-circuiting, and \c is treated as an unrecognized escape
sequence; we also bypass the other processing specific to %b arguments. */
static int
-tescape (estart, cp, sawc)
+tescape (estart, cp, lenp, sawc)
char *estart;
char *cp;
- int *sawc;
+ int *lenp, *sawc;
{
register char *p;
int temp, c, evalue;
+ unsigned long uvalue;
p = estart;
+ if (lenp)
+ *lenp = 1;
switch (c = *p++)
{
@@ -743,14 +830,10 @@ tescape (estart, cp, sawc)
*cp = evalue & 0xFF;
break;
- /* And, as another extension, we allow \xNNN, where each N is a
+ /* And, as another extension, we allow \xNN, where each N is a
hex digit. */
case 'x':
-#if 0
- for (evalue = 0; ISXDIGIT ((unsigned char)*p); p++)
-#else
for (temp = 2, evalue = 0; ISXDIGIT ((unsigned char)*p) && temp--; p++)
-#endif
evalue = (evalue * 16) + HEXVALUE (*p);
if (p == estart + 1)
{
@@ -761,6 +844,30 @@ tescape (estart, cp, sawc)
*cp = evalue & 0xFF;
break;
+#if defined (HANDLE_MULTIBYTE)
+ case 'u':
+ case 'U':
+ temp = (c == 'u') ? 4 : 8; /* \uNNNN \UNNNNNNNN */
+ for (uvalue = 0; ISXDIGIT ((unsigned char)*p) && temp--; p++)
+ uvalue = (uvalue * 16) + HEXVALUE (*p);
+ if (p == estart + 1)
+ {
+ builtin_error (_("missing unicode digit for \\%c"), c);
+ *cp = '\\';
+ return 0;
+ }
+ if (uvalue <= UCHAR_MAX)
+ *cp = uvalue;
+ else
+ {
+ temp = u32cconv (uvalue, cp);
+ cp[temp] = '\0';
+ if (lenp)
+ *lenp = temp;
+ }
+ break;
+#endif
+
case '\\': /* \\ -> \ */
*cp = c;
break;
@@ -799,12 +906,12 @@ bexpand (string, len, sawc, lenp)
{
int temp;
char *ret, *r, *s, c;
+#if defined (HANDLE_MULTIBYTE)
+ char mbch[25];
+ int mbind, mblen;
+#endif
-#if 0
- if (string == 0 || *string == '\0')
-#else
if (string == 0 || len == 0)
-#endif
{
if (sawc)
*sawc = 0;
@@ -823,7 +930,12 @@ bexpand (string, len, sawc, lenp)
continue;
}
temp = 0;
- s += tescape (s, &c, &temp);
+#if defined (HANDLE_MULTIBYTE)
+ memset (mbch, '\0', sizeof (mbch));
+ s += tescape (s, mbch, &mblen, &temp);
+#else
+ s += tescape (s, &c, (int *)NULL, &temp);
+#endif
if (temp)
{
if (sawc)
@@ -831,7 +943,12 @@ bexpand (string, len, sawc, lenp)
break;
}
+#if defined (HANDLE_MULTIBYTE)
+ for (mbind = 0; mbind < mblen; mbind++)
+ *r++ = mbch[mbind];
+#else
*r++ = c;
+#endif
}
*r = '\0';
diff --git a/builtins/read.def b/builtins/read.def
index 20860be..c4a668a 100644
--- a/builtins/read.def
+++ b/builtins/read.def
@@ -1,7 +1,7 @@
This file is read.def, from which is created read.c.
It implements the builtin "read" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -793,11 +793,16 @@ assign_vars:
}
else
var = bind_read_variable (list->word->word, input_string);
- stupidly_hack_special_variables (list->word->word);
- FREE (tofree);
if (var)
- VUNSETATTR (var, att_invisible);
+ {
+ stupidly_hack_special_variables (list->word->word);
+ VUNSETATTR (var, att_invisible);
+ }
+ else
+ retval = EXECUTION_FAILURE;
+
+ FREE (tofree);
xfree (orig_input_string);
return (retval);
@@ -807,14 +812,17 @@ static SHELL_VAR *
bind_read_variable (name, value)
char *name, *value;
{
+ SHELL_VAR *v;
#if defined (ARRAY_VARS)
if (valid_array_reference (name) == 0)
- return (bind_variable (name, value, 0));
+ v = bind_variable (name, value, 0);
else
- return (assign_array_element (name, value, 0));
+ v = assign_array_element (name, value, 0);
#else /* !ARRAY_VARS */
- return bind_variable (name, value, 0);
+ v = bind_variable (name, value, 0);
#endif /* !ARRAY_VARS */
+ return (v == 0 ? v
+ : ((readonly_p (v) || noassign_p (v)) ? (SHELL_VAR *)NULL : v));
}
#if defined (HANDLE_MULTIBYTE)
diff --git a/builtins/set.def b/builtins/set.def
index 5e550cb..6e69eb6 100644
--- a/builtins/set.def
+++ b/builtins/set.def
@@ -59,7 +59,7 @@ extern int no_line_editing;
$BUILTIN set
$FUNCTION set_builtin
-$SHORT_DOC set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
+$SHORT_DOC set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
Set or unset values of shell options and positional parameters.
Change the value of shell attributes and positional parameters, or
@@ -138,6 +138,9 @@ Options:
-P If set, do not follow symbolic links when executing commands
such as cd which change the current directory.
-T If set, the DEBUG trap is inherited by shell functions.
+ -- Assign any remaining arguments to the positional parameters.
+ If there are no remaining arguments, the positional parameters
+ are unset.
- Assign any remaining arguments to the positional parameters.
The -x and -v options are turned off.
diff --git a/builtins/setattr.def b/builtins/setattr.def
index 8b4cdf7..b3ca317 100644
--- a/builtins/setattr.def
+++ b/builtins/setattr.def
@@ -1,7 +1,7 @@
This file is setattr.def, from which is created setattr.c.
It implements the builtins "export" and "readonly", in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -82,7 +82,7 @@ export_builtin (list)
$BUILTIN readonly
$FUNCTION readonly_builtin
-$SHORT_DOC readonly [-af] [name[=value] ...] or readonly -p
+$SHORT_DOC readonly [-aAf] [name[=value] ...] or readonly -p
Mark shell variables as unchangeable.
Mark each NAME as read-only; the values of these NAMEs may not be
@@ -433,11 +433,11 @@ show_var_attributes (var, pattr, nodefs)
printf ("%s\n", var->name);
else if (function_p (var))
printf ("%s\n", named_function_string (var->name, function_cell (var), FUNC_MULTILINE|FUNC_EXTERNAL));
- else if (invisible_p (var))
+ else if (invisible_p (var) || var_isset (var) == 0)
printf ("%s\n", var->name);
else
{
- x = sh_double_quote (var_isset (var) ? value_cell (var) : "");
+ x = sh_double_quote (value_cell (var));
printf ("%s=%s\n", var->name, x);
free (x);
}
diff --git a/builtins/shopt.def b/builtins/shopt.def
index 68c7245..27685aa 100644
--- a/builtins/shopt.def
+++ b/builtins/shopt.def
@@ -1,7 +1,7 @@
This file is shopt.def, from which is created shopt.c.
It implements the Bash `shopt' builtin.
-Copyright (C) 1994-2009 Free Software Foundation, Inc.
+Copyright (C) 1994-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -84,6 +84,7 @@ extern int gnu_error_format;
extern int check_jobs_at_exit;
extern int autocd;
extern int glob_star;
+extern int lastpipe_opt;
#if defined (EXTENDED_GLOB)
extern int extended_glob;
@@ -124,6 +125,7 @@ static int shopt_login_shell;
static int shopt_compat31;
static int shopt_compat32;
static int shopt_compat40;
+static int shopt_compat41;
typedef int shopt_set_func_t __P((char *, int));
@@ -146,6 +148,7 @@ static struct {
{ "compat31", &shopt_compat31, set_compatibility_level },
{ "compat32", &shopt_compat32, set_compatibility_level },
{ "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
#if defined (READLINE)
{ "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL },
#endif
@@ -175,6 +178,7 @@ static struct {
#endif
{ "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
{ "interactive_comments", &interactive_comments, set_shellopts_after_change },
+ { "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
#if defined (HISTORY)
{ "lithist", &literal_history, (shopt_set_func_t *)NULL },
#endif
diff --git a/builtins/source.def b/builtins/source.def
index 72627db..71908b8 100644
--- a/builtins/source.def
+++ b/builtins/source.def
@@ -80,6 +80,8 @@ extern int errno;
#endif /* !errno */
extern int posixly_correct;
+extern int last_command_exit_value;
+extern int executing_command_builtin;
static void maybe_pop_dollar_vars __P((void));
@@ -151,6 +153,11 @@ source_builtin (list)
if (source_searches_cwd == 0)
{
builtin_error (_("%s: file not found"), list->word->word);
+ if (posixly_correct && interactive_shell == 0 && executing_command_builtin == 0)
+ {
+ last_command_exit_value = 1;
+ jump_to_top_level (EXITPROG);
+ }
return (EXECUTION_FAILURE);
}
else
diff --git a/builtins/test.def b/builtins/test.def
index 4adff93..1ebc818 100644
--- a/builtins/test.def
+++ b/builtins/test.def
@@ -1,7 +1,7 @@
This file is test.def, from which is created test.c.
It implements the builtin "test" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -28,7 +28,10 @@ Evaluate conditional expression.
Exits with a status of 0 (true) or 1 (false) depending on
the evaluation of EXPR. Expressions may be unary or binary. Unary
expressions are often used to examine the status of a file. There
-are string operators as well, and numeric comparison operators.
+are string operators and numeric comparison operators as well.
+
+The behavior of test depends on the number of arguments. Read the
+bash manual page for the complete specification.
File operators:
@@ -80,6 +83,7 @@ String operators:
Other operators:
-o OPTION True if the shell option OPTION is enabled.
+ -v VAR True if the shell variable VAR is set
! EXPR True if expr is false.
EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.
EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.
diff --git a/builtins/trap.def b/builtins/trap.def
index a8da71d..2119f5b 100644
--- a/builtins/trap.def
+++ b/builtins/trap.def
@@ -1,7 +1,7 @@
This file is trap.def, from which is created trap.c.
It implements the builtin "trap" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -35,7 +35,11 @@ value. If ARG is the null string each SIGNAL_SPEC is ignored by the
shell and by the commands it invokes.
If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. If
-a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command.
+a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. If
+a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or a
+script run by the . or source builtins finishes executing. A SIGNAL_SPEC
+of ERR means to execute ARG each time a command's failure would cause the
+shell to exit when the -e option is enabled.
If no arguments are supplied, trap prints the list of commands associated
with each signal.
@@ -93,7 +97,7 @@ static int display_traps __P((WORD_LIST *));
#define REVERT 1 /* Revert to this signals original value. */
#define IGNORE 2 /* Ignore this signal. */
-extern int posixly_correct;
+extern int posixly_correct, subshell_environment;
int
trap_builtin (list)
@@ -103,6 +107,7 @@ trap_builtin (list)
list_signal_names = display = 0;
result = EXECUTION_SUCCESS;
+
reset_internal_getopt ();
while ((opt = internal_getopt (list, "lp")) != -1)
{
@@ -126,7 +131,11 @@ trap_builtin (list)
if (list_signal_names)
return (sh_chkwrite (display_signal_list ((WORD_LIST *)NULL, 1)));
else if (display || list == 0)
- return (sh_chkwrite (display_traps (list)));
+ {
+ initialize_terminating_signals ();
+ get_all_original_signals ();
+ return (sh_chkwrite (display_traps (list)));
+ }
else
{
char *first_arg;
@@ -163,6 +172,16 @@ trap_builtin (list)
operation = REVERT;
}
+ /* If we're in a command substitution, we haven't freed the trap strings
+ (though we reset the signal handlers). If we're setting a trap to
+ handle a signal here, free the rest of the trap strings since they
+ don't apply any more. */
+ if (subshell_environment & SUBSHELL_RESETTRAP)
+ {
+ free_trap_strings ();
+ subshell_environment &= ~SUBSHELL_RESETTRAP;
+ }
+
while (list)
{
sig = decode_signal (list->word->word, opt);
@@ -188,6 +207,8 @@ trap_builtin (list)
switch (sig)
{
case SIGINT:
+ /* XXX - should we do this if original disposition
+ was SIG_IGN? */
if (interactive)
set_signal_handler (SIGINT, sigint_sighandler);
else
@@ -229,10 +250,13 @@ showtrap (i)
char *t, *p, *sn;
p = trap_list[i];
- if (p == (char *)DEFAULT_SIG)
+ if (p == (char *)DEFAULT_SIG && signal_is_hard_ignored (i) == 0)
return;
+ else if (signal_is_hard_ignored (i))
+ t = (char *)NULL;
+ else
+ t = (p == (char *)IGNORE_SIG) ? (char *)NULL : sh_single_quote (p);
- t = (p == (char *)IGNORE_SIG) ? (char *)NULL : sh_single_quote (p);
sn = signal_name (i);
/* Make sure that signals whose names are unknown (for whatever reason)
are printed as signal numbers. */
diff --git a/builtins/ulimit.def b/builtins/ulimit.def
index 7c1e256..03cbe8a 100644
--- a/builtins/ulimit.def
+++ b/builtins/ulimit.def
@@ -1,7 +1,7 @@
This file is ulimit.def, from which is created ulimit.c.
It implements the builtin "ulimit" in Bash.
-Copyright (C) 1987-2009 Free Software Foundation, Inc.
+Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -118,6 +118,10 @@ extern int errno;
# undef HAVE_RESOURCE
#endif
+#if !defined (HAVE_RESOURCE) && defined (HAVE_ULIMIT_H)
+# include <ulimit.h>
+#endif
+
#if !defined (RLIMTYPE)
# define RLIMTYPE long
# define string_to_rlimtype(s) strtol(s, (char **)NULL, 10)
diff --git a/command.h b/command.h
index 4707812..5d62046 100644
--- a/command.h
+++ b/command.h
@@ -1,7 +1,7 @@
/* command.h -- The structures used internally to represent commands, and
the extern declarations of the functions used to create them. */
-/* Copyright (C) 1993-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -96,6 +96,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define W_NOPROCSUB 0x100000 /* don't perform process substitution */
#define W_HASCTLESC 0x200000 /* word contains literal CTLESC characters */
#define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */
+#define W_ARRAYIND 0x800000 /* word is an array index being expanded */
/* Possible values for subshell_environment */
#define SUBSHELL_ASYNC 0x01 /* subshell caused by `command &' */
@@ -105,6 +106,7 @@ enum command_type { cm_for, cm_case, cm_while, cm_if, cm_simple, cm_select,
#define SUBSHELL_PIPE 0x10 /* subshell from a pipeline element */
#define SUBSHELL_PROCSUB 0x20 /* subshell caused by <(command) or >(command) */
#define SUBSHELL_COPROC 0x40 /* subshell from a coproc pipeline */
+#define SUBSHELL_RESETTRAP 0x80 /* subshell needs to reset trap strings on first call to trap */
/* A structure which represents a word. */
typedef struct word_desc {
@@ -168,6 +170,7 @@ typedef struct element {
#define CMD_STDIN_REDIR 0x400 /* async command needs implicit </dev/null */
#define CMD_COMMAND_BUILTIN 0x0800 /* command executed by `command' builtin */
#define CMD_COPROC_SUBSHELL 0x1000
+#define CMD_LASTPIPE 0x2000
/* What a command looks like. */
typedef struct command {
diff --git a/config.h b/config.h
index dcdc9d1..624fb5a 100644
--- a/config.h
+++ b/config.h
@@ -216,6 +216,9 @@
/* The number of bytes in a double (hopefully 8). */
#define SIZEOF_DOUBLE 8
+/* The number of bytes in an `intmax_t'. */
+#define SIZEOF_INTMAX_T 8
+
/* The number of bytes in a `long long', if we have one. */
#define SIZEOF_LONG_LONG 8
@@ -416,6 +419,8 @@
#define HAVE_STRUCT_TIMEZONE 1
+#define WEXITSTATUS_OFFSET 8
+
/* Characteristics of definitions in the system header files. */
#define HAVE_GETPW_DECLS 1
@@ -547,18 +552,21 @@
/* Define if you don't have vprintf but do have _doprnt. */
/* #undef HAVE_DOPRNT */
+/* Define if you have the dprintf function. */
+#define HAVE_DPRINTF 1
+
/* Define if you have the dup2 function. */
#define HAVE_DUP2 1
/* Define if you have the eaccess function. */
/* #undef HAVE_EACCESS */
+/* Define if you have the faccessat function. */
+/* #undef HAVE_FACCESSAT */
+
/* Define if you have the fcntl function. */
#define HAVE_FCNTL 1
-/* Define if you have the fdprintf function. */
-/* #undef HAVE_FDPRINTF */
-
/* Define if you have the fpurge/__fpurge function. */
#define HAVE_FPURGE 1
/* #undef HAVE___FPURGE */
@@ -681,6 +689,9 @@
/* Define if you have the mbscmp function. */
/* #undef HAVE_MBSCMP */
+/* Define if you have the mbsnrtowcs function. */
+/* #undef HAVE_MBSNRTOWCS */
+
/* Define if you have the mbsrtowcs function. */
#define HAVE_MBSRTOWCS 1
@@ -763,6 +774,9 @@
/* Define if you have the strchr function. */
#define HAVE_STRCHR 1
+/* Define if you have the strchrnul function. */
+/* #undef HAVE_STRCHRNUL */
+
/* Define if you have the strcoll function. */
#define HAVE_STRCOLL 1
@@ -868,6 +882,9 @@
/* Define if you have the wctype function. */
#define HAVE_WCTYPE 1
+/* Define if you have the wcswidth function. */
+#define HAVE_WCSWIDTH 1
+
/* Define if you have the wcwidth function. */
#define HAVE_WCWIDTH 1
@@ -994,6 +1011,9 @@
#define HAVE_TERMIO_H 1
#endif
+/* Define if you have the <ulimit.h> header file. */
+#define HAVE_ULIMIT_H 1
+
/* Define if you have the <termios.h> header file. */
#define HAVE_TERMIOS_H 1
diff --git a/config.h.in b/config.h.in
index 07352dd..6b1fc4a 100644
--- a/config.h.in
+++ b/config.h.in
@@ -215,6 +215,9 @@
/* The number of bytes in a double (hopefully 8). */
#undef SIZEOF_DOUBLE
+/* The number of bytes in an `intmax_t'. */
+#undef SIZEOF_INTMAX_T
+
/* The number of bytes in a `long long', if we have one. */
#undef SIZEOF_LONG_LONG
@@ -415,6 +418,8 @@
#undef HAVE_STRUCT_TIMEZONE
+#undef WEXITSTATUS_OFFSET
+
/* Characteristics of definitions in the system header files. */
#undef HAVE_GETPW_DECLS
@@ -546,18 +551,21 @@
/* Define if you don't have vprintf but do have _doprnt. */
#undef HAVE_DOPRNT
+/* Define if you have the dprintf function. */
+#undef HAVE_DPRINTF
+
/* Define if you have the dup2 function. */
#undef HAVE_DUP2
/* Define if you have the eaccess function. */
#undef HAVE_EACCESS
+/* Define if you have the faccessat function. */
+#undef HAVE_FACCESSAT
+
/* Define if you have the fcntl function. */
#undef HAVE_FCNTL
-/* Define if you have the fdprintf function. */
-#undef HAVE_FDPRINTF
-
/* Define if you have the fpurge/__fpurge function. */
#undef HAVE_FPURGE
#undef HAVE___FPURGE
@@ -680,6 +688,9 @@
/* Define if you have the mbscmp function. */
#undef HAVE_MBSCMP
+/* Define if you have the mbsnrtowcs function. */
+#undef HAVE_MBSNRTOWCS
+
/* Define if you have the mbsrtowcs function. */
#undef HAVE_MBSRTOWCS
@@ -762,6 +773,9 @@
/* Define if you have the strchr function. */
#undef HAVE_STRCHR
+/* Define if you have the strchrnul function. */
+#undef HAVE_STRCHRNUL
+
/* Define if you have the strcoll function. */
#undef HAVE_STRCOLL
@@ -867,6 +881,9 @@
/* Define if you have the wctype function. */
#undef HAVE_WCTYPE
+/* Define if you have the wcswidth function. */
+#undef HAVE_WCSWIDTH
+
/* Define if you have the wcwidth function. */
#undef HAVE_WCWIDTH
@@ -994,6 +1011,9 @@
/* Define if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
+/* Define if you have the <ulimit.h> header file. */
+#undef HAVE_ULIMIT_H
+
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
diff --git a/configure b/configure
index 875bbbf..7ec72fe 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.in for Bash 4.1, version 4.019.
+# From configure.in for Bash 4.2, version 4.037.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for bash 4.1-release.
+# Generated by GNU Autoconf 2.63 for bash 4.2-release.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='4.1-release'
-PACKAGE_STRING='bash 4.1-release'
+PACKAGE_VERSION='4.2-release'
+PACKAGE_STRING='bash 4.2-release'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
ac_unique_file="shell.h"
@@ -744,8 +744,6 @@ MALLOC_TARGET
PURIFY
TESTSCRIPT
DEBUGGER_START_FILE
-lispdir
-EMACS
host_os
host_vendor
host_cpu
@@ -794,7 +792,6 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
-with_lispdir
with_afs
with_bash_malloc
with_curses
@@ -844,6 +841,7 @@ enable_nls
with_gnu_ld
enable_rpath
with_libiconv_prefix
+enable_nls
with_included_gettext
with_libintl_prefix
'
@@ -857,6 +855,7 @@ LDFLAGS
LIBS
CPPFLAGS
CPP
+CPPFLAGS
YACC
YFLAGS'
@@ -1411,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bash 4.1-release to adapt to many kinds of systems.
+\`configure' configures bash 4.2-release to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1476,7 +1475,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bash 4.1-release:";;
+ short | recursive ) echo "Configuration of bash 4.2-release:";;
esac
cat <<\_ACEOF
@@ -1551,7 +1550,6 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-lispdir override the default lisp directory
--with-afs if you are running AFS
--with-bash-malloc use the Bash version of malloc
--with-curses use the curses library instead of the termcap
@@ -1652,7 +1650,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bash configure 4.1-release
+bash configure 4.2-release
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1666,7 +1664,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bash $as_me 4.1-release, which was
+It was created by bash $as_me 4.2-release, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2079,7 +2077,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers="$ac_config_headers config.h"
-BASHVERS=4.1
+BASHVERS=4.2
RELSTATUS=release
case "$RELSTATUS" in
@@ -2213,85 +2211,6 @@ sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
esac
-# Check whether --with-lispdir was given.
-if test "${with_lispdir+set}" = set; then
- withval=$with_lispdir; lispdir="$withval"
- { $as_echo "$as_me:$LINENO: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
- { $as_echo "$as_me:$LINENO: result: $lispdir" >&5
-$as_echo "$lispdir" >&6; }
-else
-
- # If set to t, that means we are running in a shell under Emacs.
- # If you have an Emacs named "t", then use the full path.
- test x"$EMACS" = xt && EMACS=
- for ac_prog in emacs xemacs
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_EMACS+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- if test -n "$EMACS"; then
- ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_EMACS="$ac_prog"
- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-EMACS=$ac_cv_prog_EMACS
-if test -n "$EMACS"; then
- { $as_echo "$as_me:$LINENO: result: $EMACS" >&5
-$as_echo "$EMACS" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$EMACS" && break
-done
-test -n "$EMACS" || EMACS="no"
-
- if test $EMACS != "no"; then
- if test x${lispdir+set} != xset; then
- { $as_echo "$as_me:$LINENO: checking where .elc files should go" >&5
-$as_echo_n "checking where .elc files should go... " >&6; }
-if test "${am_cv_lispdir+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'`
- if test -z "$am_cv_lispdir"; then
- am_cv_lispdir='${datadir}/emacs/site-lisp'
- fi
-
-fi
-{ $as_echo "$as_me:$LINENO: result: $am_cv_lispdir" >&5
-$as_echo "$am_cv_lispdir" >&6; }
- lispdir="$am_cv_lispdir"
- fi
- fi
-
-fi
-
-
-
-
# Check whether --with-afs was given.
@@ -11504,10 +11423,11 @@ done
+
for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
- syslog.h
+ syslog.h ulimit.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
@@ -13576,7 +13496,8 @@ done
-for ac_func in bcopy bzero confstr fnmatch \
+
+for ac_func in bcopy bzero confstr faccessat fnmatch \
getaddrinfo gethostbyname getservbyname getservent inet_aton \
memmove pathconf putenv raise regcomp regexec \
setenv setlinebuf setlocale setvbuf siginterrupt strchr \
@@ -14333,7 +14254,116 @@ done
-for ac_func in fdprintf
+for ac_func in dprintf
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIBOBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+for ac_func in strchrnul
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
@@ -17445,6 +17475,98 @@ _ACEOF
fi
+{ $as_echo "$as_me:$LINENO: checking for mbsnrtowcs" >&5
+$as_echo_n "checking for mbsnrtowcs... " >&6; }
+if test "${ac_cv_func_mbsnrtowcs+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define mbsnrtowcs to an innocuous variant, in case <limits.h> declares mbsnrtowcs.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define mbsnrtowcs innocuous_mbsnrtowcs
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mbsnrtowcs (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef mbsnrtowcs
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mbsnrtowcs ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_mbsnrtowcs || defined __stub___mbsnrtowcs
+choke me
+#endif
+
+int
+main ()
+{
+return mbsnrtowcs ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ ac_cv_func_mbsnrtowcs=yes
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_cv_func_mbsnrtowcs=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbsnrtowcs" >&5
+$as_echo "$ac_cv_func_mbsnrtowcs" >&6; }
+if test "x$ac_cv_func_mbsnrtowcs" = x""yes; then
+ cat >>confdefs.h <<\_ACEOF
+#define HAVE_MBSNRTOWCS 1
+_ACEOF
+
+fi
+
{ $as_echo "$as_me:$LINENO: checking for mbsrtowcs" >&5
$as_echo_n "checking for mbsrtowcs... " >&6; }
if test "${ac_cv_func_mbsrtowcs+set}" = set; then
@@ -17539,6 +17661,7 @@ fi
+
for ac_func in mbschr
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -18110,6 +18233,116 @@ fi
+for ac_func in wcswidth
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ $as_test_x conftest$ac_exeext
+ }; then
+ eval "$as_ac_var=yes"
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+ $as_echo "$as_val"'`
+ if test "x$as_val" = x""yes; then
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+ case " $LIBOBJS " in
+ *" $ac_func.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext"
+ ;;
+esac
+
+fi
+done
+
+
+
+
{ $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5
$as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; }
if test "${ac_cv_func_mbrtowc+set}" = set; then
@@ -26862,6 +27095,366 @@ _ACEOF
fi
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:$LINENO: checking size of intmax_t" >&5
+$as_echo_n "checking size of intmax_t... " >&6; }
+if test "${ac_cv_sizeof_intmax_t+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (intmax_t))) >= 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (intmax_t))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr $ac_mid + 1`
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (intmax_t))) < 0)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (intmax_t))) >= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_lo=$ac_mid; break
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(((long int) (sizeof (intmax_t))) <= $ac_mid)];
+test_array [0] = 0
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ ac_hi=$ac_mid
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) ac_cv_sizeof_intmax_t=$ac_lo;;
+'') if test "$ac_cv_type_intmax_t" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (intmax_t)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (intmax_t)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_intmax_t=0
+ fi ;;
+esac
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+$ac_includes_default
+static long int longval () { return (long int) (sizeof (intmax_t)); }
+static unsigned long int ulongval () { return (long int) (sizeof (intmax_t)); }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (((long int) (sizeof (intmax_t))) < 0)
+ {
+ long int i = longval ();
+ if (i != ((long int) (sizeof (intmax_t))))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ((long int) (sizeof (intmax_t))))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_sizeof_intmax_t=`cat conftest.val`
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+if test "$ac_cv_type_intmax_t" = yes; then
+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (intmax_t)
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot compute sizeof (intmax_t)
+See \`config.log' for more details." >&2;}
+ { (exit 77); exit 77; }; }; }
+ else
+ ac_cv_sizeof_intmax_t=0
+ fi
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_intmax_t" >&5
+$as_echo "$ac_cv_sizeof_intmax_t" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INTMAX_T $ac_cv_sizeof_intmax_t
+_ACEOF
+
+
+
{ $as_echo "$as_me:$LINENO: checking for struct termios.c_line" >&5
$as_echo_n "checking for struct termios.c_line... " >&6; }
@@ -27965,6 +28558,105 @@ _ACEOF
fi
+{ $as_echo "$as_me:$LINENO: checking for offset of exit status in return status from wait" >&5
+$as_echo_n "checking for offset of exit status in return status from wait... " >&6; }
+if test "${bash_cv_wexitstatus_offset+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then
+ { $as_echo "$as_me:$LINENO: WARNING: cannot check WEXITSTATUS offset if cross compiling -- defaulting to 0" >&5
+$as_echo "$as_me: WARNING: cannot check WEXITSTATUS offset if cross compiling -- defaulting to 0" >&2;}
+ bash_cv_wexitstatus_offset=0
+
+else
+ cat >conftest.$ac_ext <<_ACEOF
+
+#include <stdlib.h>
+#include <unistd.h>
+
+#include <sys/wait.h>
+
+main(c, v)
+ int c;
+ char **v;
+{
+ pid_t pid, p;
+ int s, i, n;
+
+ s = 0;
+ pid = fork();
+ if (pid == 0)
+ exit (42);
+
+ /* wait for the process */
+ p = wait(&s);
+ if (p != pid)
+ exit (255);
+
+ /* crack s */
+ for (i = 0; i < (sizeof(s) - 8); i++)
+ {
+ n = (s >> i) & 0xff;
+ if (n == 42)
+ exit (i);
+ }
+
+ exit (254);
+}
+
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+ { (case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ bash_cv_wexitstatus_offset=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+bash_cv_wexitstatus_offset=$?
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+if test "$bash_cv_wexitstatus_offset" -gt 32 ; then
+ { $as_echo "$as_me:$LINENO: WARNING: bad exit status from test program -- defaulting to 0" >&5
+$as_echo "$as_me: WARNING: bad exit status from test program -- defaulting to 0" >&2;}
+ bash_cv_wexitstatus_offset=0
+fi
+{ $as_echo "$as_me:$LINENO: result: $bash_cv_wexitstatus_offset" >&5
+$as_echo "$bash_cv_wexitstatus_offset" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define WEXITSTATUS_OFFSET $bash_cv_wexitstatus_offset
+_ACEOF
+
+
+
{ $as_echo "$as_me:$LINENO: checking for the existence of strsignal" >&5
$as_echo_n "checking for the existence of strsignal... " >&6; }
if test "${bash_cv_have_strsignal+set}" = set; then
@@ -31170,7 +31862,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bash $as_me 4.1-release, which was
+This file was extended by bash $as_me 4.2-release, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -31233,7 +31925,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-bash config.status 4.1-release
+bash config.status 4.2-release
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.in b/configure.in
index 843bd70..d7e0998 100644
--- a/configure.in
+++ b/configure.in
@@ -1,11 +1,11 @@
dnl
-dnl Configure script for bash-4.1
+dnl Configure script for bash-4.2
dnl
dnl report bugs to chet@po.cwru.edu
dnl
dnl Process this file with autoconf to produce a configure script.
-# Copyright (C) 1987-2009 Free Software Foundation, Inc.
+# Copyright (C) 1987-2011 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
@@ -21,9 +21,9 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_REVISION([for Bash 4.1, version 4.019])dnl
+AC_REVISION([for Bash 4.2, version 4.037])dnl
-define(bashvers, 4.1)
+define(bashvers, 4.2)
define(relstatus, release)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -98,7 +98,7 @@ esac
dnl
dnl macros for the bash debugger
dnl
-AM_PATH_LISPDIR
+dnl AM_PATH_LISPDIR
AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
dnl arguments to configure
@@ -659,7 +659,7 @@ BASH_HEADER_INTTYPES
AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h \
- syslog.h)
+ syslog.h ulimit.h)
AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
sys/resource.h sys/param.h sys/socket.h sys/stat.h \
sys/time.h sys/times.h sys/types.h sys/wait.h)
@@ -727,7 +727,7 @@ AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
AC_REPLACE_FUNCS(rename)
dnl checks for c library functions
-AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
+AC_CHECK_FUNCS(bcopy bzero confstr faccessat fnmatch \
getaddrinfo gethostbyname getservbyname getservent inet_aton \
memmove pathconf putenv raise regcomp regexec \
setenv setlinebuf setlocale setvbuf siginterrupt strchr \
@@ -739,7 +739,8 @@ AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
AC_REPLACE_FUNCS(getcwd memset)
AC_REPLACE_FUNCS(strcasecmp strcasestr strerror strftime strnlen strpbrk strstr)
AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
-AC_REPLACE_FUNCS(fdprintf)
+AC_REPLACE_FUNCS(dprintf)
+AC_REPLACE_FUNCS(strchrnul)
AC_CHECK_DECLS([confstr])
AC_CHECK_DECLS([printf])
@@ -904,6 +905,8 @@ BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
fi
BASH_TYPE_RLIMIT
+AC_CHECK_SIZEOF(intmax_t, 8)
+
dnl presence and contents of structures used by system calls
BASH_STRUCT_TERMIOS_LDISC
BASH_STRUCT_TERMIO_LDISC
@@ -917,6 +920,8 @@ AC_STRUCT_TM
AC_STRUCT_TIMEZONE
BASH_STRUCT_TIMEZONE
+BASH_STRUCT_WEXITSTATUS_OFFSET
+
dnl presence and behavior of C library functions
BASH_FUNC_STRSIGNAL
BASH_FUNC_OPENDIR_CHECK
diff --git a/configure.in.bash40 b/configure.in.bash40
new file mode 100644
index 0000000..0fd2bf7
--- /dev/null
+++ b/configure.in.bash40
@@ -0,0 +1,1145 @@
+dnl
+dnl Configure script for bash-4.0
+dnl
+dnl report bugs to chet@po.cwru.edu
+dnl
+dnl Process this file with autoconf to produce a configure script.
+
+# Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+AC_REVISION([for Bash 4.0, version 4.013])dnl
+
+define(bashvers, 4.0)
+define(relstatus, release)
+
+AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
+
+dnl make sure we are using a recent autoconf version
+AC_PREREQ(2.50)
+
+AC_CONFIG_SRCDIR(shell.h)
+dnl where to find install.sh, config.sub, and config.guess
+AC_CONFIG_AUX_DIR(./support)
+AC_CONFIG_HEADERS(config.h)
+
+dnl checks for version info
+BASHVERS=bashvers
+RELSTATUS=relstatus
+
+dnl defaults for debug settings
+case "$RELSTATUS" in
+alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
+*) DEBUG= MALLOC_DEBUG= ;;
+esac
+
+dnl canonicalize the host and os so we can do some tricky things before
+dnl parsing options
+AC_CANONICAL_HOST
+
+dnl configure defaults
+opt_bash_malloc=yes
+opt_purify=no
+opt_purecov=no
+opt_afs=no
+opt_curses=no
+opt_with_installed_readline=no
+
+#htmldir=
+
+dnl some systems should be configured without the bash malloc by default
+dnl and some need a special compiler or loader
+dnl look in the NOTES file for more
+case "${host_cpu}-${host_os}" in
+alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
+*[[Cc]]ray*-*) opt_bash_malloc=no ;; # Crays
+*-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
+sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
+sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
+#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
+#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
+*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
+*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
+*-macos*) opt_bash_malloc=no ;; # Apple MacOS X
+*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
+*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
+*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
+*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+esac
+
+# memory scrambling on free()
+case "${host_os}" in
+sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
+*) opt_memscramble=yes ;;
+esac
+
+dnl
+dnl macros for the bash debugger
+dnl
+AM_PATH_LISPDIR
+AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
+
+dnl arguments to configure
+dnl packages
+AC_ARG_WITH(afs, AC_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
+AC_ARG_WITH(bash-malloc, AC_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
+AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
+AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
+AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
+
+if test "$opt_bash_malloc" = yes; then
+ MALLOC_TARGET=malloc
+ MALLOC_SRC=malloc.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+
+ AC_DEFINE(USING_BASH_MALLOC)
+else
+ MALLOC_LIB=
+ MALLOC_LIBRARY=
+ MALLOC_LDFLAGS=
+ MALLOC_DEP=
+fi
+
+if test "$opt_purify" = yes; then
+ PURIFY="purify "
+ AC_DEFINE(DISABLE_MALLOC_WRAPPERS)
+else
+ PURIFY=
+fi
+
+if test "$opt_purecov" = yes; then
+ PURIFY="${PURIFY}purecov"
+fi
+
+if test "$opt_afs" = yes; then
+ AC_DEFINE(AFS)
+fi
+
+if test "$opt_curses" = yes; then
+ prefer_curses=yes
+fi
+
+if test -z "${DEBUGGER_START_FILE}"; then
+ DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
+fi
+
+dnl optional shell features in config.h.in
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_extended_glob=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_xpg_echo=no
+opt_strict_posix=no
+opt_cond_command=yes
+opt_cond_regexp=yes
+opt_coproc=yes
+opt_arith_for_command=yes
+opt_net_redirs=yes
+opt_progcomp=yes
+opt_separate_help=no
+opt_multibyte=yes
+opt_debugger=yes
+opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
+
+dnl options that affect how bash is compiled and linked
+opt_static_link=no
+opt_profiling=no
+
+dnl argument parsing for optional features
+AC_ARG_ENABLE(minimal-config, AC_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
+
+dnl a minimal configuration turns everything off, but features can be
+dnl added individually
+if test $opt_minimal_config = yes; then
+ opt_job_control=no opt_alias=no opt_readline=no
+ opt_history=no opt_bang_history=no opt_dirstack=no
+ opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+ opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+ opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+ opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
+ opt_net_redirs=no opt_progcomp=no opt_separate_help=no
+ opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+ opt_casemod_attrs=no opt_casemod_expansions=no
+fi
+
+AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
+AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
+AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
+AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
+AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(casemod-attributes, AC_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
+AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
+AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
+AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
+AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
+AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
+AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
+AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
+AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
+AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
+AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
+AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
+AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
+AC_ARG_ENABLE(net-redirections, AC_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
+AC_ARG_ENABLE(process-substitution, AC_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
+AC_ARG_ENABLE(progcomp, AC_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
+AC_ARG_ENABLE(prompt-string-decoding, AC_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
+AC_ARG_ENABLE(readline, AC_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
+AC_ARG_ENABLE(restricted, AC_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
+AC_ARG_ENABLE(select, AC_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
+AC_ARG_ENABLE(separate-helpfiles, AC_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
+AC_ARG_ENABLE(single-help-strings, AC_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
+AC_ARG_ENABLE(strict-posix-default, AC_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
+AC_ARG_ENABLE(usg-echo-default, AC_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
+AC_ARG_ENABLE(xpg-echo-default, AC_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
+
+dnl options that alter how bash is compiled and linked
+AC_ARG_ENABLE(mem-scramble, AC_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
+AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
+AC_ARG_ENABLE(static-link, AC_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
+
+dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
+
+dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
+dnl to be run before we can check the version of an already-installed readline
+dnl library
+
+if test $opt_alias = yes; then
+AC_DEFINE(ALIAS)
+fi
+if test $opt_dirstack = yes; then
+AC_DEFINE(PUSHD_AND_POPD)
+fi
+if test $opt_restricted = yes; then
+AC_DEFINE(RESTRICTED_SHELL)
+fi
+if test $opt_process_subst = yes; then
+AC_DEFINE(PROCESS_SUBSTITUTION)
+fi
+if test $opt_prompt_decoding = yes; then
+AC_DEFINE(PROMPT_STRING_DECODE)
+fi
+if test $opt_select = yes; then
+AC_DEFINE(SELECT_COMMAND)
+fi
+if test $opt_help = yes; then
+AC_DEFINE(HELP_BUILTIN)
+fi
+if test $opt_array_variables = yes; then
+AC_DEFINE(ARRAY_VARS)
+fi
+if test $opt_dparen_arith = yes; then
+AC_DEFINE(DPAREN_ARITHMETIC)
+fi
+if test $opt_brace_expansion = yes; then
+AC_DEFINE(BRACE_EXPANSION)
+fi
+if test $opt_disabled_builtins = yes; then
+AC_DEFINE(DISABLED_BUILTINS)
+fi
+if test $opt_command_timing = yes; then
+AC_DEFINE(COMMAND_TIMING)
+fi
+if test $opt_xpg_echo = yes ; then
+AC_DEFINE(DEFAULT_ECHO_TO_XPG)
+fi
+if test $opt_strict_posix = yes; then
+AC_DEFINE(STRICT_POSIX)
+fi
+if test $opt_extended_glob = yes ; then
+AC_DEFINE(EXTENDED_GLOB)
+fi
+if test $opt_cond_command = yes ; then
+AC_DEFINE(COND_COMMAND)
+fi
+if test $opt_cond_regexp = yes ; then
+AC_DEFINE(COND_REGEXP)
+fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
+if test $opt_arith_for_command = yes; then
+AC_DEFINE(ARITH_FOR_COMMAND)
+fi
+if test $opt_net_redirs = yes; then
+AC_DEFINE(NETWORK_REDIRECTIONS)
+fi
+if test $opt_progcomp = yes; then
+AC_DEFINE(PROGRAMMABLE_COMPLETION)
+fi
+if test $opt_multibyte = no; then
+AC_DEFINE(NO_MULTIBYTE_SUPPORT)
+fi
+if test $opt_debugger = yes; then
+AC_DEFINE(DEBUGGER)
+fi
+if test $opt_casemod_attrs = yes; then
+AC_DEFINE(CASEMOD_ATTRS)
+fi
+if test $opt_casemod_expansions = yes; then
+AC_DEFINE(CASEMOD_EXPANSIONS)
+fi
+
+if test $opt_memscramble = yes; then
+AC_DEFINE(MEMSCRAMBLE)
+fi
+
+if test "$opt_minimal_config" = yes; then
+ TESTSCRIPT=run-minimal
+else
+ TESTSCRIPT=run-all
+fi
+
+HELPDIR= HELPDIRDEFINE= HELPINSTALL=
+if test "$opt_separate_help" != no; then
+ if test "$opt_separate_help" = "yes" ; then
+ HELPDIR='${datadir}/bash'
+ else
+ HELPDIR=$opt_separate_help
+ fi
+ HELPDIRDEFINE='-H ${HELPDIR}'
+ HELPINSTALL='install-help'
+fi
+HELPSTRINGS=
+if test "$opt_single_longdoc_strings" != "yes"; then
+ HELPSTRINGS='-S'
+fi
+
+dnl now substitute in the values generated by arguments
+AC_SUBST(TESTSCRIPT)
+AC_SUBST(PURIFY)
+AC_SUBST(MALLOC_TARGET)
+AC_SUBST(MALLOC_SRC)
+
+AC_SUBST(MALLOC_LIB)
+AC_SUBST(MALLOC_LIBRARY)
+AC_SUBST(MALLOC_LDFLAGS)
+AC_SUBST(MALLOC_DEP)
+
+AC_SUBST(htmldir)
+
+AC_SUBST(HELPDIR)
+AC_SUBST(HELPDIRDEFINE)
+AC_SUBST(HELPINSTALL)
+AC_SUBST(HELPSTRINGS)
+
+echo ""
+echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
+echo ""
+
+dnl compilation checks
+dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
+dnl different environment
+AC_PROG_CC
+
+dnl test for Unix variants
+AC_ISC_POSIX
+AC_MINIX
+
+AC_SYS_LARGEFILE
+
+dnl BEGIN changes for cross-building (currently cygwin, minGW, and
+dnl (obsolete) BeOS)
+
+SIGNAMES_O=
+SIGNAMES_H=lsignames.h
+
+dnl load up the cross-building cache file -- add more cases and cache
+dnl files as necessary
+
+dnl Note that host and target machine are the same, and different than the
+dnl build machine.
+dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
+
+CROSS_COMPILE=
+if test "x$cross_compiling" = "xyes"; then
+ case "${host}" in
+ *-cygwin*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ *-mingw*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ i[[3456]]86-*-beos*)
+ cross_cache=${srcdir}/cross-build/x86-beos.cache
+ ;;
+ *) echo "configure: cross-compiling for $host is not supported" >&2
+ ;;
+ esac
+ if test -n "${cross_cache}" && test -r "${cross_cache}"; then
+ echo "loading cross-build cache file ${cross_cache}"
+ . ${cross_cache}
+ fi
+ unset cross_cache
+ SIGNAMES_O='signames.o'
+ CROSS_COMPILE='-DCROSS_COMPILING'
+ AC_SUBST(CROSS_COMPILE)
+fi
+AC_SUBST(SIGNAMES_H)
+AC_SUBST(SIGNAMES_O)
+
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+
+dnl END changes for cross-building
+
+dnl We want these before the checks, so the checks can modify their values.
+test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
+
+dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
+test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
+
+dnl handle options that alter how bash is compiled and linked
+dnl these must come after the test for cc/gcc
+if test "$opt_profiling" = "yes"; then
+ PROFILE_FLAGS=-pg
+ case "$host_os" in
+ solaris2*) ;;
+ *) opt_static_link=yes ;;
+ esac
+ DEBUG= MALLOC_DEBUG=
+fi
+
+if test "$opt_static_link" = yes; then
+ # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
+ if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
+ STATIC_LD="-static"
+ case "$host_os" in
+ solaris2*) ;;
+ *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
+ esac
+ fi
+fi
+
+if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
+fi
+
+test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(STATIC_LD)
+
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CPPFLAGS_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+
+AC_PROG_GCC_TRADITIONAL
+
+dnl BEGIN READLINE and HISTORY LIBRARY SECTION
+dnl prepare to allow bash to be linked against an already-installed readline
+
+dnl first test that the readline version is new enough to link bash against
+if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
+then
+ # If the user specified --with-installed-readline=PREFIX and PREFIX
+ # is not `yes', set ac_cv_rl_prefix to PREFIX
+ test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
+
+ RL_LIB_READLINE_VERSION
+
+ case "$ac_cv_rl_version" in
+ 5*|6*|7*|8*|9*) ;;
+ *) opt_with_installed_readline=no
+ AC_MSG_WARN(installed readline library is too old to be linked with bash)
+ AC_MSG_WARN(using private bash version)
+ ;;
+ esac
+fi
+
+TILDE_LIB=-ltilde
+if test $opt_readline = yes; then
+ AC_DEFINE(READLINE)
+ if test "$opt_with_installed_readline" != "no" ; then
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ READLINE_DEP=
+ READLINE_LIB=-lreadline
+ # section for OS versions that don't allow unresolved symbols
+ # to be compiled into dynamic libraries.
+ case "$host_os" in
+ cygwin*) TILDE_LIB= ;;
+ esac
+ else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_DEP='$(READLINE_LIBRARY)'
+ # section for OS versions that ship an older/broken version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+ *) READLINE_LIB=-lreadline ;;
+ esac
+ fi
+else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes || test $opt_bang_history = yes; then
+ if test $opt_history = yes; then
+ AC_DEFINE(HISTORY)
+ fi
+ if test $opt_bang_history = yes; then
+ AC_DEFINE(BANG_HISTORY)
+ fi
+ if test "$opt_with_installed_readline" != "no"; then
+ HIST_LIBDIR=$RL_LIBDIR
+ HISTORY_DEP=
+ HISTORY_LIB=-lhistory
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # section for OS versions that ship an older version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+ *) HISTORY_LIB=-lhistory ;;
+ esac
+ fi
+else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_LIB= HISTORY_DEP=
+fi
+AC_SUBST(READLINE_LIB)
+AC_SUBST(READLINE_DEP)
+AC_SUBST(RL_LIBDIR)
+AC_SUBST(RL_INCLUDEDIR)
+AC_SUBST(RL_INCLUDE)
+AC_SUBST(HISTORY_LIB)
+AC_SUBST(HISTORY_DEP)
+AC_SUBST(HIST_LIBDIR)
+AC_SUBST(TILDE_LIB)
+
+dnl END READLINE and HISTORY LIBRARY SECTION
+
+dnl programs needed by the build and install process
+AC_PROG_INSTALL
+AC_CHECK_PROG(AR, ar, , ar)
+dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
+dnl This allows people to set it when running configure or make
+test -n "$ARFLAGS" || ARFLAGS="cr"
+AC_PROG_RANLIB
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+case "$host_os" in
+opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
+*) MAKE_SHELL=/bin/sh ;;
+esac
+AC_SUBST(MAKE_SHELL)
+
+dnl this is similar to the expanded AC_PROG_RANLIB
+if test x$SIZE = x; then
+ if test x$ac_tool_prefix = x; then
+ SIZE=size
+ else
+ SIZE=${ac_tool_prefix}size
+ save_IFS=$IFS ; IFS=:
+ size_found=0
+ for dir in $PATH; do
+ if test -x $dir/$SIZE ; then
+ size_found=1
+ break
+ fi
+ done
+ if test $size_found -eq 0; then
+ SIZE=:
+ fi
+ IFS=$save_IFS
+ fi
+fi
+AC_SUBST(SIZE)
+
+dnl Turn on any extensions available in the GNU C library.
+AC_DEFINE(_GNU_SOURCE, 1)
+
+dnl C compiler characteristics
+AC_C_CONST
+AC_C_INLINE
+AC_C_BIGENDIAN
+AC_C_STRINGIZE
+AC_C_LONG_DOUBLE
+AC_C_PROTOTYPES
+AC_C_CHAR_UNSIGNED
+AC_C_VOLATILE
+AC_C_RESTRICT
+
+dnl initialize GNU gettext
+AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+
+dnl header files
+AC_HEADER_DIRENT
+AC_HEADER_TIME
+
+BASH_HEADER_INTTYPES
+
+AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+ memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+ stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
+AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
+ sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+ sys/time.h sys/times.h sys/types.h sys/wait.h)
+AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
+
+dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
+dnl exists
+AC_CHECK_HEADER(sys/ptem.h, , ,[[
+#if HAVE_SYS_STREAM_H
+# include <sys/stream.h>
+#endif
+]])
+
+dnl special checks for libc functions
+AC_FUNC_ALLOCA
+AC_FUNC_GETPGRP
+AC_FUNC_SETVBUF_REVERSED
+AC_FUNC_VPRINTF
+AC_FUNC_STRCOLL
+
+dnl if we're not using the bash malloc but require the C alloca, set things
+dnl up to build a libmalloc.a containing only alloca.o
+
+if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
+ MALLOC_TARGET=alloca
+ MALLOC_SRC=alloca.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+fi
+
+dnl if vprintf is not in libc, see if it's defined in stdio.h
+if test "$ac_cv_func_vprintf" = no; then
+ AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
+ AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
+ AC_MSG_RESULT($ac_cv_func_vprintf)
+ if test $ac_cv_func_vprintf = yes; then
+ AC_DEFINE(HAVE_VPRINTF)
+ fi
+fi
+
+if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+ AC_LIBOBJ(vprint)
+fi
+
+dnl signal stuff
+AC_TYPE_SIGNAL
+
+dnl checks for certain version-specific system calls and libc functions
+AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
+AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
+AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF_IN_LIBC))
+AC_CHECK_FUNC(isnan, AC_DEFINE(HAVE_ISNAN_IN_LIBC))
+
+dnl checks for missing libc functions
+AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
+
+dnl checks for system calls
+AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
+ getpagesize getpeername getrlimit getrusage gettimeofday \
+ kill killpg lstat readlink sbrk select setdtablesize \
+ setitimer tcgetpgrp uname ulimit waitpid)
+AC_REPLACE_FUNCS(rename)
+
+dnl checks for c library functions
+AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
+ getaddrinfo gethostbyname getservbyname getservent inet_aton \
+ memmove pathconf putenv raise regcomp regexec \
+ setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+ sysconf tcgetattr times ttyname tzset unsetenv)
+
+AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
+AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
+AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
+AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
+AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
+AC_REPLACE_FUNCS(fdprintf)
+
+AC_CHECK_DECLS([confstr])
+AC_CHECK_DECLS([printf])
+AC_CHECK_DECLS([sbrk])
+AC_CHECK_DECLS([setregid])
+AC_CHECK_DECLS([strcpy])
+AC_CHECK_DECLS([strsignal])
+
+dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
+AC_CHECK_DECLS([strtold], [
+ AC_MSG_CHECKING([for broken strtold])
+ AC_CACHE_VAL(bash_cv_strtold_broken,
+ [AC_TRY_COMPILE(
+ [#include <stdlib.h>],
+ [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
+ bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
+ [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
+ ]
+ )
+ AC_MSG_RESULT($bash_cv_strtold_broken)
+ if test "$bash_cv_strtold_broken" = "yes" ; then
+ AC_DEFINE(STRTOLD_BROKEN)
+ fi
+])
+
+
+BASH_CHECK_DECL(strtoimax)
+BASH_CHECK_DECL(strtol)
+BASH_CHECK_DECL(strtoll)
+BASH_CHECK_DECL(strtoul)
+BASH_CHECK_DECL(strtoull)
+BASH_CHECK_DECL(strtoumax)
+
+AC_FUNC_MKTIME
+
+dnl
+dnl Checks for lib/intl and related code (uses some of the output from
+dnl AM_GNU_GETTEXT)
+dnl
+
+AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
+
+dnl AC_FUNC_MALLOC
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
+ munmap stpcpy strcspn strdup])
+
+INTL_DEP= INTL_INC= LIBINTL_H=
+if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
+ INTL_DEP='${INTL_LIBDIR}/libintl.a'
+ INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
+ LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+fi
+AC_SUBST(INTL_DEP)
+AC_SUBST(INTL_INC)
+AC_SUBST(LIBINTL_H)
+
+dnl
+dnl End of checks needed by files in lib/intl
+dnl
+
+BASH_CHECK_MULTIBYTE
+
+dnl checks for the dynamic loading library functions in libc and libdl
+if test "$opt_static_link" != yes; then
+AC_CHECK_LIB(dl, dlopen)
+AC_CHECK_FUNCS(dlopen dlclose dlsym)
+fi
+
+dnl this defines HAVE_DECL_SYS_SIGLIST
+AC_DECL_SYS_SIGLIST
+
+dnl network functions -- check for inet_aton again
+if test "$ac_cv_func_inet_aton" != 'yes'; then
+BASH_FUNC_INET_ATON
+fi
+
+dnl libraries
+dnl this is reportedly no longer necessary for irix[56].?
+case "$host_os" in
+irix4*) AC_CHECK_LIB(sun, getpwent) ;;
+esac
+
+dnl check for getpeername in the socket library only if it's not in libc
+if test "$ac_cv_func_getpeername" = no; then
+ BASH_CHECK_LIB_SOCKET
+fi
+dnl check for gethostbyname in socket libraries if it's not in libc
+if test "$ac_cv_func_gethostbyname" = no; then
+ BASH_FUNC_GETHOSTBYNAME
+fi
+
+dnl system types
+AC_TYPE_GETGROUPS
+AC_TYPE_OFF_T
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(ssize_t, int)
+AC_CHECK_TYPE(time_t, long)
+
+BASH_TYPE_LONG_LONG
+BASH_TYPE_UNSIGNED_LONG_LONG
+
+AC_TYPE_SIGNAL
+BASH_TYPE_SIG_ATOMIC_T
+
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(char *, 4)
+AC_CHECK_SIZEOF(double, 8)
+AC_CHECK_SIZEOF([long long], 8)
+
+AC_CHECK_TYPE(u_int, [unsigned int])
+AC_CHECK_TYPE(u_long, [unsigned long])
+
+BASH_TYPE_BITS16_T
+BASH_TYPE_U_BITS16_T
+BASH_TYPE_BITS32_T
+BASH_TYPE_U_BITS32_T
+BASH_TYPE_BITS64_T
+
+BASH_TYPE_PTRDIFF_T
+
+dnl structures
+AC_HEADER_STAT
+
+dnl system services
+AC_SYS_INTERPRETER
+if test $ac_cv_sys_interpreter = yes; then
+AC_DEFINE(HAVE_HASH_BANG_EXEC)
+fi
+
+dnl Miscellaneous Bash tests
+if test "$ac_cv_func_lstat" = "no"; then
+BASH_FUNC_LSTAT
+fi
+
+dnl behavior of system calls and library functions
+BASH_FUNC_CTYPE_NONASCII
+BASH_FUNC_DUP2_CLOEXEC_CHECK
+BASH_SYS_PGRP_SYNC
+BASH_SYS_SIGNAL_VINTAGE
+
+dnl checking for the presence of certain library symbols
+BASH_SYS_ERRLIST
+BASH_SYS_SIGLIST
+BASH_UNDER_SYS_SIGLIST
+
+dnl various system types
+BASH_TYPE_SIGHANDLER
+BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
+BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
+BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
+BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
+if test "$ac_cv_header_sys_socket_h" = "yes"; then
+BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
+fi
+BASH_TYPE_RLIMIT
+
+dnl presence and contents of structures used by system calls
+BASH_STRUCT_TERMIOS_LDISC
+BASH_STRUCT_TERMIO_LDISC
+BASH_STRUCT_DIRENT_D_INO
+BASH_STRUCT_DIRENT_D_FILENO
+BASH_STRUCT_DIRENT_D_NAMLEN
+BASH_STRUCT_WINSIZE
+BASH_STRUCT_TIMEVAL
+AC_CHECK_MEMBERS([struct stat.st_blocks])
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+BASH_STRUCT_TIMEZONE
+
+dnl presence and behavior of C library functions
+BASH_FUNC_STRSIGNAL
+BASH_FUNC_OPENDIR_CHECK
+BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_FPURGE
+BASH_FUNC_GETENV
+if test "$ac_cv_func_getcwd" = "yes"; then
+BASH_FUNC_GETCWD
+fi
+BASH_FUNC_POSIX_SETJMP
+BASH_FUNC_STRCOLL
+
+dnl If putenv or unsetenv is not present, set the right define so the
+dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
+
+if test "$ac_cv_func_putenv" = "yes"; then
+BASH_FUNC_STD_PUTENV
+else
+AC_DEFINE(HAVE_STD_PUTENV)
+fi
+if test "$ac_cv_func_unsetenv" = "yes"; then
+BASH_FUNC_STD_UNSETENV
+else
+AC_DEFINE(HAVE_STD_UNSETENV)
+fi
+
+BASH_FUNC_PRINTF_A_FORMAT
+
+dnl presence and behavior of OS functions
+BASH_SYS_REINSTALL_SIGHANDLERS
+BASH_SYS_JOB_CONTROL_MISSING
+BASH_SYS_NAMED_PIPES
+
+dnl presence of certain CPP defines
+AC_HEADER_TIOCGWINSZ
+BASH_HAVE_TIOCSTAT
+BASH_HAVE_FIONREAD
+
+BASH_CHECK_WCONTINUED
+
+dnl miscellaneous
+BASH_CHECK_SPEED_T
+BASH_CHECK_GETPW_FUNCS
+BASH_CHECK_RTSIGS
+BASH_CHECK_SYS_SIGLIST
+
+dnl special checks
+case "$host_os" in
+hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
+esac
+
+if test "$opt_readline" = yes; then
+dnl yuck
+case "$host_os" in
+aix*) prefer_curses=yes ;;
+esac
+BASH_CHECK_LIB_TERMCAP
+fi
+AC_SUBST(TERMCAP_LIB)
+AC_SUBST(TERMCAP_DEP)
+
+BASH_CHECK_DEV_FD
+BASH_CHECK_DEV_STDIN
+BASH_SYS_DEFAULT_MAIL_DIR
+
+if test "$bash_cv_job_control_missing" = missing; then
+ opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+AC_DEFINE(JOB_CONTROL)
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+AC_SUBST(JOBS_O)
+
+dnl Defines that we want to propagate to the Makefiles in subdirectories,
+dnl like glob and readline
+
+LOCAL_DEFS=-DSHELL
+
+dnl use this section to possibly define more cpp variables, specify local
+dnl libraries, and specify any additional local cc or ld flags
+dnl
+dnl this should really go away someday
+
+case "${host_os}" in
+sysv4.2*) AC_DEFINE(SVR4_2)
+ AC_DEFINE(SVR4) ;;
+sysv4*) AC_DEFINE(SVR4) ;;
+sysv5*) AC_DEFINE(SVR5) ;;
+hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
+hpux*) LOCAL_CFLAGS=-DHPUX ;;
+dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*) LOCAL_CFLAGS=-Disc386 ;;
+rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
+darwin*) LOCAL_CFLAGS=-DMACOSX ;;
+sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
+solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
+solaris2.8*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.9*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ case "`uname -r`" in
+ 2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
+ esac ;;
+*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+powerux*) LOCAL_LIBS="-lgen" ;;
+cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
+esac
+
+dnl Stanza for OS/compiler pair-specific flags
+case "${host_os}-${CC}" in
+aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
+aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
+bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
+esac
+
+dnl FreeBSD-3.x can have either a.out or ELF
+case "${host_os}" in
+freebsd[[3-9]]*)
+ if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
+ LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ fi ;;
+freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
+esac
+
+#
+# Shared object configuration section. These values are generated by
+# ${srcdir}/support/shobj-conf
+#
+if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
+then
+ AC_MSG_CHECKING(shared object configuration for loadable builtins)
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
+ AC_SUBST(SHOBJ_CC)
+ AC_SUBST(SHOBJ_CFLAGS)
+ AC_SUBST(SHOBJ_LD)
+ AC_SUBST(SHOBJ_LDFLAGS)
+ AC_SUBST(SHOBJ_XLDFLAGS)
+ AC_SUBST(SHOBJ_LIBS)
+ AC_SUBST(SHOBJ_STATUS)
+ AC_MSG_RESULT($SHOBJ_STATUS)
+fi
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.) ;;
+*) for d in doc tests support lib examples; do # dirs
+ test -d $d || mkdir $d
+ done
+ for ld in readline glob tilde malloc sh termcap; do # libdirs
+ test -d lib/$ld || mkdir lib/$ld
+ done
+ test -d examples/loadables || mkdir examples/loadables # loadable builtins
+ test -d examples/loadables/perl || mkdir examples/loadables/perl
+ ;;
+esac
+
+BUILD_DIR=`pwd`
+case "$BUILD_DIR" in
+*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
+*) ;;
+esac
+
+if test -z "$localedir"; then
+ localedir='${datarootdir}/locale'
+fi
+if test -z "$datarootdir"; then
+ datarootdir='${prefix}/share'
+fi
+
+AC_SUBST(PROFILE_FLAGS)
+
+AC_SUBST(incdir)
+AC_SUBST(BUILD_DIR)
+
+# Some versions of autoconf don't substitute these automatically
+AC_SUBST(datarootdir)
+AC_SUBST(localedir)
+
+AC_SUBST(YACC)
+AC_SUBST(AR)
+AC_SUBST(ARFLAGS)
+
+AC_SUBST(BASHVERS)
+AC_SUBST(RELSTATUS)
+AC_SUBST(DEBUG)
+AC_SUBST(MALLOC_DEBUG)
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_vendor)
+AC_SUBST(host_os)
+
+AC_SUBST(LOCAL_LIBS)
+AC_SUBST(LOCAL_CFLAGS)
+AC_SUBST(LOCAL_LDFLAGS)
+AC_SUBST(LOCAL_DEFS)
+
+#AC_SUBST(ALLOCA_SOURCE)
+#AC_SUBST(ALLOCA_OBJECT)
+
+AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+ lib/intl/Makefile \
+ lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
+ lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
+ examples/loadables/Makefile examples/loadables/perl/Makefile],
+[
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+])
diff --git a/configure.in.orig b/configure.in.orig
new file mode 100644
index 0000000..6f3012e
--- /dev/null
+++ b/configure.in.orig
@@ -0,0 +1,1145 @@
+dnl
+dnl Configure script for bash-4.0
+dnl
+dnl report bugs to chet@po.cwru.edu
+dnl
+dnl Process this file with autoconf to produce a configure script.
+
+# Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+AC_REVISION([for Bash 4.0, version 4.013])dnl
+
+define(bashvers, 4.0)
+define(relstatus, release)
+
+AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
+
+dnl make sure we are using a recent autoconf version
+AC_PREREQ(2.50)
+
+AC_CONFIG_SRCDIR(shell.h)
+dnl where to find install.sh, config.sub, and config.guess
+AC_CONFIG_AUX_DIR(./support)
+AC_CONFIG_HEADERS(config.h)
+
+dnl checks for version info
+BASHVERS=bashvers
+RELSTATUS=relstatus
+
+dnl defaults for debug settings
+case "$RELSTATUS" in
+alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
+*) DEBUG= MALLOC_DEBUG= ;;
+esac
+
+dnl canonicalize the host and os so we can do some tricky things before
+dnl parsing options
+AC_CANONICAL_HOST
+
+dnl configure defaults
+opt_bash_malloc=yes
+opt_purify=no
+opt_purecov=no
+opt_afs=no
+opt_curses=no
+opt_with_installed_readline=no
+
+#htmldir=
+
+dnl some systems should be configured without the bash malloc by default
+dnl and some need a special compiler or loader
+dnl look in the NOTES file for more
+case "${host_cpu}-${host_os}" in
+alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
+*[[Cc]]ray*-*) opt_bash_malloc=no ;; # Crays
+*-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
+sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
+sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
+#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
+#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
+*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
+*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
+*-macos*) opt_bash_malloc=no ;; # Apple MacOS X
+*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
+*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
+*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
+*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+esac
+
+# memory scrambling on free()
+case "${host_os}" in
+sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
+*) opt_memscramble=yes ;;
+esac
+
+dnl
+dnl macros for the bash debugger
+dnl
+AM_PATH_LISPDIR
+AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
+
+dnl arguments to configure
+dnl packages
+AC_ARG_WITH(afs, AC_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
+AC_ARG_WITH(bash-malloc, AC_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
+AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
+AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
+AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
+
+if test "$opt_bash_malloc" = yes; then
+ MALLOC_TARGET=malloc
+ MALLOC_SRC=malloc.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+
+ AC_DEFINE(USING_BASH_MALLOC)
+else
+ MALLOC_LIB=
+ MALLOC_LIBRARY=
+ MALLOC_LDFLAGS=
+ MALLOC_DEP=
+fi
+
+if test "$opt_purify" = yes; then
+ PURIFY="purify "
+ AC_DEFINE(DISABLE_MALLOC_WRAPPERS)
+else
+ PURIFY=
+fi
+
+if test "$opt_purecov" = yes; then
+ PURIFY="${PURIFY}purecov"
+fi
+
+if test "$opt_afs" = yes; then
+ AC_DEFINE(AFS)
+fi
+
+if test "$opt_curses" = yes; then
+ prefer_curses=yes
+fi
+
+if test -z "${DEBUGGER_START_FILE}"; then
+ DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
+fi
+
+dnl optional shell features in config.h.in
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_extended_glob=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_xpg_echo=no
+opt_strict_posix=no
+opt_cond_command=yes
+opt_cond_regexp=yes
+opt_coproc=yes
+opt_arith_for_command=yes
+opt_net_redirs=yes
+opt_progcomp=yes
+opt_separate_help=no
+opt_multibyte=yes
+opt_debugger=yes
+opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
+
+dnl options that affect how bash is compiled and linked
+opt_static_link=no
+opt_profiling=no
+
+dnl argument parsing for optional features
+AC_ARG_ENABLE(minimal-config, AC_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
+
+dnl a minimal configuration turns everything off, but features can be
+dnl added individually
+if test $opt_minimal_config = yes; then
+ opt_job_control=no opt_alias=no opt_readline=no
+ opt_history=no opt_bang_history=no opt_dirstack=no
+ opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+ opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+ opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+ opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
+ opt_net_redirs=no opt_progcomp=no opt_separate_help=no
+ opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+ opt_casemod_attrs=no opt_casemod_expansions=no
+fi
+
+AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
+AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
+AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
+AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
+AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(casemod-attributes, AC_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
+AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
+AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
+AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
+AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
+AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
+AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
+AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
+AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
+AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
+AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
+AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
+AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
+AC_ARG_ENABLE(net-redirections, AC_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
+AC_ARG_ENABLE(process-substitution, AC_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
+AC_ARG_ENABLE(progcomp, AC_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
+AC_ARG_ENABLE(prompt-string-decoding, AC_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
+AC_ARG_ENABLE(readline, AC_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
+AC_ARG_ENABLE(restricted, AC_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
+AC_ARG_ENABLE(select, AC_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
+AC_ARG_ENABLE(separate-helpfiles, AC_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
+AC_ARG_ENABLE(single-help-strings, AC_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
+AC_ARG_ENABLE(strict-posix-default, AC_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
+AC_ARG_ENABLE(usg-echo-default, AC_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
+AC_ARG_ENABLE(xpg-echo-default, AC_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
+
+dnl options that alter how bash is compiled and linked
+AC_ARG_ENABLE(mem-scramble, AC_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
+AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
+AC_ARG_ENABLE(static-link, AC_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
+
+dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
+
+dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
+dnl to be run before we can check the version of an already-installed readline
+dnl library
+
+if test $opt_alias = yes; then
+AC_DEFINE(ALIAS)
+fi
+if test $opt_dirstack = yes; then
+AC_DEFINE(PUSHD_AND_POPD)
+fi
+if test $opt_restricted = yes; then
+AC_DEFINE(RESTRICTED_SHELL)
+fi
+if test $opt_process_subst = yes; then
+AC_DEFINE(PROCESS_SUBSTITUTION)
+fi
+if test $opt_prompt_decoding = yes; then
+AC_DEFINE(PROMPT_STRING_DECODE)
+fi
+if test $opt_select = yes; then
+AC_DEFINE(SELECT_COMMAND)
+fi
+if test $opt_help = yes; then
+AC_DEFINE(HELP_BUILTIN)
+fi
+if test $opt_array_variables = yes; then
+AC_DEFINE(ARRAY_VARS)
+fi
+if test $opt_dparen_arith = yes; then
+AC_DEFINE(DPAREN_ARITHMETIC)
+fi
+if test $opt_brace_expansion = yes; then
+AC_DEFINE(BRACE_EXPANSION)
+fi
+if test $opt_disabled_builtins = yes; then
+AC_DEFINE(DISABLED_BUILTINS)
+fi
+if test $opt_command_timing = yes; then
+AC_DEFINE(COMMAND_TIMING)
+fi
+if test $opt_xpg_echo = yes ; then
+AC_DEFINE(DEFAULT_ECHO_TO_XPG)
+fi
+if test $opt_strict_posix = yes; then
+AC_DEFINE(STRICT_POSIX)
+fi
+if test $opt_extended_glob = yes ; then
+AC_DEFINE(EXTENDED_GLOB)
+fi
+if test $opt_cond_command = yes ; then
+AC_DEFINE(COND_COMMAND)
+fi
+if test $opt_cond_regexp = yes ; then
+AC_DEFINE(COND_REGEXP)
+fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
+if test $opt_arith_for_command = yes; then
+AC_DEFINE(ARITH_FOR_COMMAND)
+fi
+if test $opt_net_redirs = yes; then
+AC_DEFINE(NETWORK_REDIRECTIONS)
+fi
+if test $opt_progcomp = yes; then
+AC_DEFINE(PROGRAMMABLE_COMPLETION)
+fi
+if test $opt_multibyte = no; then
+AC_DEFINE(NO_MULTIBYTE_SUPPORT)
+fi
+if test $opt_debugger = yes; then
+AC_DEFINE(DEBUGGER)
+fi
+if test $opt_casemod_attrs = yes; then
+AC_DEFINE(CASEMOD_ATTRS)
+fi
+if test $opt_casemod_expansions = yes; then
+AC_DEFINE(CASEMOD_EXPANSIONS)
+fi
+
+if test $opt_memscramble = yes; then
+AC_DEFINE(MEMSCRAMBLE)
+fi
+
+if test "$opt_minimal_config" = yes; then
+ TESTSCRIPT=run-minimal
+else
+ TESTSCRIPT=run-all
+fi
+
+HELPDIR= HELPDIRDEFINE= HELPINSTALL=
+if test "$opt_separate_help" != no; then
+ if test "$opt_separate_help" = "yes" ; then
+ HELPDIR='${datadir}/bash'
+ else
+ HELPDIR=$opt_separate_help
+ fi
+ HELPDIRDEFINE='-H ${HELPDIR}'
+ HELPINSTALL='install-help'
+fi
+HELPSTRINGS=
+if test "$opt_single_longdoc_strings" != "yes"; then
+ HELPSTRINGS='-S'
+fi
+
+dnl now substitute in the values generated by arguments
+AC_SUBST(TESTSCRIPT)
+AC_SUBST(PURIFY)
+AC_SUBST(MALLOC_TARGET)
+AC_SUBST(MALLOC_SRC)
+
+AC_SUBST(MALLOC_LIB)
+AC_SUBST(MALLOC_LIBRARY)
+AC_SUBST(MALLOC_LDFLAGS)
+AC_SUBST(MALLOC_DEP)
+
+AC_SUBST(htmldir)
+
+AC_SUBST(HELPDIR)
+AC_SUBST(HELPDIRDEFINE)
+AC_SUBST(HELPINSTALL)
+AC_SUBST(HELPSTRINGS)
+
+echo ""
+echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
+echo ""
+
+dnl compilation checks
+dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
+dnl different environment
+AC_PROG_CC
+
+dnl test for Unix variants
+AC_ISC_POSIX
+AC_MINIX
+
+AC_SYS_LARGEFILE
+
+dnl BEGIN changes for cross-building (currently cygwin, minGW, and
+dnl (obsolete) BeOS)
+
+SIGNAMES_O=
+SIGNAMES_H=lsignames.h
+
+dnl load up the cross-building cache file -- add more cases and cache
+dnl files as necessary
+
+dnl Note that host and target machine are the same, and different than the
+dnl build machine.
+dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
+
+CROSS_COMPILE=
+if test "x$cross_compiling" = "xyes"; then
+ case "${host}" in
+ *-cygwin*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ *-mingw*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ i[[3456]]86-*-beos*)
+ cross_cache=${srcdir}/cross-build/x86-beos.cache
+ ;;
+ *) echo "configure: cross-compiling for $host is not supported" >&2
+ ;;
+ esac
+ if test -n "${cross_cache}" && test -r "${cross_cache}"; then
+ echo "loading cross-build cache file ${cross_cache}"
+ . ${cross_cache}
+ fi
+ unset cross_cache
+ SIGNAMES_O='signames.o'
+ CROSS_COMPILE='-DCROSS_COMPILING'
+ AC_SUBST(CROSS_COMPILE)
+fi
+AC_SUBST(SIGNAMES_H)
+AC_SUBST(SIGNAMES_O)
+
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+
+dnl END changes for cross-building
+
+dnl We want these before the checks, so the checks can modify their values.
+test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
+
+dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
+test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
+
+dnl handle options that alter how bash is compiled and linked
+dnl these must come after the test for cc/gcc
+if test "$opt_profiling" = "yes"; then
+ PROFILE_FLAGS=-pg
+ case "$host_os" in
+ solaris2*) ;;
+ *) opt_static_link=yes ;;
+ esac
+ DEBUG= MALLOC_DEBUG=
+fi
+
+if test "$opt_static_link" = yes; then
+ # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
+ if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
+ STATIC_LD="-static"
+ case "$host_os" in
+ solaris2*) ;;
+ *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
+ esac
+ fi
+fi
+
+if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
+fi
+
+test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(STATIC_LD)
+
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CPPFLAGS_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+
+AC_PROG_GCC_TRADITIONAL
+
+dnl BEGIN READLINE and HISTORY LIBRARY SECTION
+dnl prepare to allow bash to be linked against an already-installed readline
+
+dnl first test that the readline version is new enough to link bash against
+if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
+then
+ # If the user specified --with-installed-readline=PREFIX and PREFIX
+ # is not `yes', set ac_cv_rl_prefix to PREFIX
+ test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
+
+ RL_LIB_READLINE_VERSION
+
+ case "$ac_cv_rl_version" in
+ 5*|6*|7*|8*|9*) ;;
+ *) opt_with_installed_readline=no
+ AC_MSG_WARN(installed readline library is too old to be linked with bash)
+ AC_MSG_WARN(using private bash version)
+ ;;
+ esac
+fi
+
+TILDE_LIB=-ltilde
+if test $opt_readline = yes; then
+ AC_DEFINE(READLINE)
+ if test "$opt_with_installed_readline" != "no" ; then
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ READLINE_DEP=
+ READLINE_LIB=-lreadline
+ # section for OS versions that don't allow unresolved symbols
+ # to be compiled into dynamic libraries.
+ case "$host_os" in
+ cygwin*) TILDE_LIB= ;;
+ esac
+ else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_DEP='$(READLINE_LIBRARY)'
+ # section for OS versions that ship an older/broken version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+ *) READLINE_LIB=-lreadline ;;
+ esac
+ fi
+else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes || test $opt_bang_history = yes; then
+ if test $opt_history = yes; then
+ AC_DEFINE(HISTORY)
+ fi
+ if test $opt_bang_history = yes; then
+ AC_DEFINE(BANG_HISTORY)
+ fi
+ if test "$opt_with_installed_readline" != "no"; then
+ HIST_LIBDIR=$RL_LIBDIR
+ HISTORY_DEP=
+ HISTORY_LIB=-lhistory
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # section for OS versions that ship an older version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+ *) HISTORY_LIB=-lhistory ;;
+ esac
+ fi
+else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_LIB= HISTORY_DEP=
+fi
+AC_SUBST(READLINE_LIB)
+AC_SUBST(READLINE_DEP)
+AC_SUBST(RL_LIBDIR)
+AC_SUBST(RL_INCLUDEDIR)
+AC_SUBST(RL_INCLUDE)
+AC_SUBST(HISTORY_LIB)
+AC_SUBST(HISTORY_DEP)
+AC_SUBST(HIST_LIBDIR)
+AC_SUBST(TILDE_LIB)
+
+dnl END READLINE and HISTORY LIBRARY SECTION
+
+dnl programs needed by the build and install process
+AC_PROG_INSTALL
+AC_CHECK_PROG(AR, ar, , ar)
+dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
+dnl This allows people to set it when running configure or make
+test -n "$ARFLAGS" || ARFLAGS="cr"
+AC_PROG_RANLIB
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+case "$host_os" in
+opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
+*) MAKE_SHELL=/bin/sh ;;
+esac
+AC_SUBST(MAKE_SHELL)
+
+dnl this is similar to the expanded AC_PROG_RANLIB
+if test x$SIZE = x; then
+ if test x$ac_tool_prefix = x; then
+ SIZE=size
+ else
+ SIZE=${ac_tool_prefix}size
+ save_IFS=$IFS ; IFS=:
+ size_found=0
+ for dir in $PATH; do
+ if test -x $dir/$SIZE ; then
+ size_found=1
+ break
+ fi
+ done
+ if test $size_found -eq 0; then
+ SIZE=:
+ fi
+ IFS=$save_IFS
+ fi
+fi
+AC_SUBST(SIZE)
+
+dnl Turn on any extensions available in the GNU C library.
+AC_DEFINE(_GNU_SOURCE, 1)
+
+dnl C compiler characteristics
+AC_C_CONST
+AC_C_INLINE
+AC_C_BIGENDIAN
+AC_C_STRINGIZE
+AC_C_LONG_DOUBLE
+AC_C_PROTOTYPES
+AC_C_CHAR_UNSIGNED
+AC_C_VOLATILE
+AC_C_RESTRICT
+
+dnl initialize GNU gettext
+AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+
+dnl header files
+AC_HEADER_DIRENT
+AC_HEADER_TIME
+
+BASH_HEADER_INTTYPES
+
+AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+ memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+ stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
+AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
+ sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+ sys/time.h sys/times.h sys/types.h sys/wait.h)
+AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
+
+dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
+dnl exists
+AC_CHECK_HEADER(sys/ptem.h, , ,[[
+#if HAVE_SYS_STREAM_H
+# include <sys/stream.h>
+#endif
+]])
+
+dnl special checks for libc functions
+AC_FUNC_ALLOCA
+AC_FUNC_GETPGRP
+AC_FUNC_SETVBUF_REVERSED
+AC_FUNC_VPRINTF
+AC_FUNC_STRCOLL
+
+dnl if we're not using the bash malloc but require the C alloca, set things
+dnl up to build a libmalloc.a containing only alloca.o
+
+if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
+ MALLOC_TARGET=alloca
+ MALLOC_SRC=alloca.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+fi
+
+dnl if vprintf is not in libc, see if it's defined in stdio.h
+if test "$ac_cv_func_vprintf" = no; then
+ AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
+ AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
+ AC_MSG_RESULT($ac_cv_func_vprintf)
+ if test $ac_cv_func_vprintf = yes; then
+ AC_DEFINE(HAVE_VPRINTF)
+ fi
+fi
+
+if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+ AC_LIBOBJ(vprint)
+fi
+
+dnl signal stuff
+AC_TYPE_SIGNAL
+
+dnl checks for certain version-specific system calls and libc functions
+AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
+AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
+AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF_IN_LIBC))
+AC_CHECK_FUNC(isnan, AC_DEFINE(HAVE_ISNAN_IN_LIBC))
+
+dnl checks for missing libc functions
+AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
+
+dnl checks for system calls
+AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
+ getpagesize getpeername getrlimit getrusage gettimeofday \
+ kill killpg lstat readlink sbrk select setdtablesize \
+ setitimer tcgetpgrp uname ulimit waitpid)
+AC_REPLACE_FUNCS(rename)
+
+dnl checks for c library functions
+AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
+ getaddrinfo gethostbyname getservbyname getservent inet_aton \
+ memmove pathconf putenv raise regcomp regexec \
+ setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+ sysconf tcgetattr times ttyname tzset unsetenv)
+
+AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
+AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
+AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
+AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
+AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
+AC_REPLACE_FUNCS(fdprintf)
+
+AC_CHECK_DECLS([confstr])
+AC_CHECK_DECLS([printf])
+AC_CHECK_DECLS([sbrk])
+AC_CHECK_DECLS([setregid])
+AC_CHECK_DECLS([strcpy])
+AC_CHECK_DECLS([strsignal])
+
+dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
+AC_CHECK_DECLS([strtold], [
+ AC_MSG_CHECKING([for broken strtold])
+ AC_CACHE_VAL(bash_cv_strtold_broken,
+ [AC_TRY_COMPILE(
+ [#include <stdlib.h>],
+ [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
+ bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
+ [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
+ ]
+ )
+ AC_MSG_RESULT($bash_cv_strtold_broken)
+ if test "$bash_cv_strtold_broken" = "yes" ; then
+ AC_DEFINE(STRTOLD_BROKEN)
+ fi
+])
+
+
+BASH_CHECK_DECL(strtoimax)
+BASH_CHECK_DECL(strtol)
+BASH_CHECK_DECL(strtoll)
+BASH_CHECK_DECL(strtoul)
+BASH_CHECK_DECL(strtoull)
+BASH_CHECK_DECL(strtoumax)
+
+AC_FUNC_MKTIME
+
+dnl
+dnl Checks for lib/intl and related code (uses some of the output from
+dnl AM_GNU_GETTEXT)
+dnl
+
+AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
+
+dnl AC_FUNC_MALLOC
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
+ munmap stpcpy strcspn strdup])
+
+INTL_DEP= INTL_INC= LIBINTL_H=
+if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
+ INTL_DEP='${INTL_LIBDIR}/libintl.a'
+ INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
+ LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+fi
+AC_SUBST(INTL_DEP)
+AC_SUBST(INTL_INC)
+AC_SUBST(LIBINTL_H)
+
+dnl
+dnl End of checks needed by files in lib/intl
+dnl
+
+BASH_CHECK_MULTIBYTE
+
+dnl checks for the dynamic loading library functions in libc and libdl
+if test "$opt_static_link" != yes; then
+AC_CHECK_LIB(dl, dlopen)
+AC_CHECK_FUNCS(dlopen dlclose dlsym)
+fi
+
+dnl this defines HAVE_DECL_SYS_SIGLIST
+AC_DECL_SYS_SIGLIST
+
+dnl network functions -- check for inet_aton again
+if test "$ac_cv_func_inet_aton" != 'yes'; then
+BASH_FUNC_INET_ATON
+fi
+
+dnl libraries
+dnl this is reportedly no longer necessary for irix[56].?
+case "$host_os" in
+irix4*) AC_CHECK_LIB(sun, getpwent) ;;
+esac
+
+dnl check for getpeername in the socket library only if it's not in libc
+if test "$ac_cv_func_getpeername" = no; then
+ BASH_CHECK_LIB_SOCKET
+fi
+dnl check for gethostbyname in socket libraries if it's not in libc
+if test "$ac_cv_func_gethostbyname" = no; then
+ BASH_FUNC_GETHOSTBYNAME
+fi
+
+dnl system types
+AC_TYPE_GETGROUPS
+AC_TYPE_OFF_T
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(ssize_t, int)
+AC_CHECK_TYPE(time_t, long)
+
+BASH_TYPE_LONG_LONG
+BASH_TYPE_UNSIGNED_LONG_LONG
+
+AC_TYPE_SIGNAL
+BASH_TYPE_SIG_ATOMIC_T
+
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(char *, 4)
+AC_CHECK_SIZEOF(double, 8)
+AC_CHECK_SIZEOF([long long], 8)
+
+AC_CHECK_TYPE(u_int, [unsigned int])
+AC_CHECK_TYPE(u_long, [unsigned long])
+
+BASH_TYPE_BITS16_T
+BASH_TYPE_U_BITS16_T
+BASH_TYPE_BITS32_T
+BASH_TYPE_U_BITS32_T
+BASH_TYPE_BITS64_T
+
+BASH_TYPE_PTRDIFF_T
+
+dnl structures
+AC_HEADER_STAT
+
+dnl system services
+AC_SYS_INTERPRETER
+if test $ac_cv_sys_interpreter = yes; then
+AC_DEFINE(HAVE_HASH_BANG_EXEC)
+fi
+
+dnl Miscellaneous Bash tests
+if test "$ac_cv_func_lstat" = "no"; then
+BASH_FUNC_LSTAT
+fi
+
+dnl behavior of system calls and library functions
+BASH_FUNC_CTYPE_NONASCII
+BASH_FUNC_DUP2_CLOEXEC_CHECK
+BASH_SYS_PGRP_SYNC
+BASH_SYS_SIGNAL_VINTAGE
+
+dnl checking for the presence of certain library symbols
+BASH_SYS_ERRLIST
+BASH_SYS_SIGLIST
+BASH_UNDER_SYS_SIGLIST
+
+dnl various system types
+BASH_TYPE_SIGHANDLER
+BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
+BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
+BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
+BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
+if test "$ac_cv_header_sys_socket_h" = "yes"; then
+BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
+fi
+BASH_TYPE_RLIMIT
+
+dnl presence and contents of structures used by system calls
+BASH_STRUCT_TERMIOS_LDISC
+BASH_STRUCT_TERMIO_LDISC
+BASH_STRUCT_DIRENT_D_INO
+BASH_STRUCT_DIRENT_D_FILENO
+BASH_STRUCT_DIRENT_D_NAMLEN
+BASH_STRUCT_WINSIZE
+BASH_STRUCT_TIMEVAL
+AC_CHECK_MEMBERS([struct stat.st_blocks])
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+BASH_STRUCT_TIMEZONE
+
+dnl presence and behavior of C library functions
+BASH_FUNC_STRSIGNAL
+BASH_FUNC_OPENDIR_CHECK
+BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_FPURGE
+BASH_FUNC_GETENV
+if test "$ac_cv_func_getcwd" = "yes"; then
+BASH_FUNC_GETCWD
+fi
+BASH_FUNC_POSIX_SETJMP
+BASH_FUNC_STRCOLL
+
+dnl If putenv or unsetenv is not present, set the right define so the
+dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
+
+if test "$ac_cv_func_putenv" = "yes"; then
+BASH_FUNC_STD_PUTENV
+else
+AC_DEFINE(HAVE_STD_PUTENV)
+fi
+if test "$ac_cv_func_unsetenv" = "yes"; then
+BASH_FUNC_STD_UNSETENV
+else
+AC_DEFINE(HAVE_STD_UNSETENV)
+fi
+
+BASH_FUNC_PRINTF_A_FORMAT
+
+dnl presence and behavior of OS functions
+BASH_SYS_REINSTALL_SIGHANDLERS
+BASH_SYS_JOB_CONTROL_MISSING
+BASH_SYS_NAMED_PIPES
+
+dnl presence of certain CPP defines
+AC_HEADER_TIOCGWINSZ
+BASH_HAVE_TIOCSTAT
+BASH_HAVE_FIONREAD
+
+BASH_CHECK_WCONTINUED
+
+dnl miscellaneous
+BASH_CHECK_SPEED_T
+BASH_CHECK_GETPW_FUNCS
+BASH_CHECK_RTSIGS
+BASH_CHECK_SYS_SIGLIST
+
+dnl special checks
+case "$host_os" in
+hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
+esac
+
+if test "$opt_readline" = yes; then
+dnl yuck
+case "$host_os" in
+aix*) prefer_curses=yes ;;
+esac
+BASH_CHECK_LIB_TERMCAP
+fi
+AC_SUBST(TERMCAP_LIB)
+AC_SUBST(TERMCAP_DEP)
+
+BASH_CHECK_DEV_FD
+BASH_CHECK_DEV_STDIN
+BASH_SYS_DEFAULT_MAIL_DIR
+
+if test "$bash_cv_job_control_missing" = missing; then
+ opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+AC_DEFINE(JOB_CONTROL)
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+AC_SUBST(JOBS_O)
+
+dnl Defines that we want to propagate to the Makefiles in subdirectories,
+dnl like glob and readline
+
+LOCAL_DEFS=-DSHELL
+
+dnl use this section to possibly define more cpp variables, specify local
+dnl libraries, and specify any additional local cc or ld flags
+dnl
+dnl this should really go away someday
+
+case "${host_os}" in
+sysv4.2*) AC_DEFINE(SVR4_2)
+ AC_DEFINE(SVR4) ;;
+sysv4*) AC_DEFINE(SVR4) ;;
+sysv5*) AC_DEFINE(SVR5) ;;
+hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
+hpux*) LOCAL_CFLAGS=-DHPUX ;;
+dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*) LOCAL_CFLAGS=-Disc386 ;;
+rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
+darwin*) LOCAL_CFLAGS=-DMACOSX ;;
+sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
+solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
+solaris2.8*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.9*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ case "`uname -r`" in
+ 2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
+ esac ;;
+*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+powerux*) LOCAL_LIBS="-lgen" ;;
+cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
+esac
+
+dnl Stanza for OS/compiler pair-specific flags
+case "${host_os}-${CC}" in
+aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
+aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
+bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
+esac
+
+dnl FreeBSD-3.x can have either a.out or ELF
+case "${host_os}" in
+freebsd[[3-9]]*)
+ if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
+ LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ fi ;;
+freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
+esac
+
+#
+# Shared object configuration section. These values are generated by
+# ${srcdir}/support/shobj-conf
+#
+if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
+then
+ AC_MSG_CHECKING(shared object configuration for loadable builtins)
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
+ AC_SUBST(SHOBJ_CC)
+ AC_SUBST(SHOBJ_CFLAGS)
+ AC_SUBST(SHOBJ_LD)
+ AC_SUBST(SHOBJ_LDFLAGS)
+ AC_SUBST(SHOBJ_XLDFLAGS)
+ AC_SUBST(SHOBJ_LIBS)
+ AC_SUBST(SHOBJ_STATUS)
+ AC_MSG_RESULT($SHOBJ_STATUS)
+fi
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.) ;;
+*) for d in doc tests support lib examples; do # dirs
+ test -d $d || mkdir $d
+ done
+ for ld in readline glob tilde malloc sh termcap; do # libdirs
+ test -d lib/$ld || mkdir lib/$ld
+ done
+ test -d examples/loadables || mkdir examples/loadables # loadable builtins
+ test -d examples/loadables/perl || mkdir examples/loadables/perl
+ ;;
+esac
+
+BUILD_DIR=`pwd`
+case "$BUILD_DIR" in
+*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
+*) ;;
+esac
+
+if test -z "$localedir"; then
+ localedir='${datarootdir}/locale'
+fi
+if test -z "$datarootdir"; then
+ datarootdir='${prefix}/share'
+fi
+
+AC_SUBST(PROFILE_FLAGS)
+
+AC_SUBST(incdir)
+AC_SUBST(BUILD_DIR)
+
+# Some versions of autoconf don't substitute these automatically
+AC_SUBST(datarootdir)
+AC_SUBST(localedir)
+
+AC_SUBST(YACC)
+AC_SUBST(AR)
+AC_SUBST(ARFLAGS)
+
+AC_SUBST(BASHVERS)
+AC_SUBST(RELSTATUS)
+AC_SUBST(DEBUG)
+AC_SUBST(MALLOC_DEBUG)
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_vendor)
+AC_SUBST(host_os)
+
+AC_SUBST(LOCAL_LIBS)
+AC_SUBST(LOCAL_CFLAGS)
+AC_SUBST(LOCAL_LDFLAGS)
+AC_SUBST(LOCAL_DEFS)
+
+#AC_SUBST(ALLOCA_SOURCE)
+#AC_SUBST(ALLOCA_OBJECT)
+
+AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+ lib/intl/Makefile \
+ lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
+ lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
+ examples/loadables/Makefile examples/loadables/perl/Makefile],
+[
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+])
diff --git a/configure.in.save b/configure.in.save
new file mode 100644
index 0000000..6f3012e
--- /dev/null
+++ b/configure.in.save
@@ -0,0 +1,1145 @@
+dnl
+dnl Configure script for bash-4.0
+dnl
+dnl report bugs to chet@po.cwru.edu
+dnl
+dnl Process this file with autoconf to produce a configure script.
+
+# Copyright (C) 1987-2009 Free Software Foundation, Inc.
+
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+AC_REVISION([for Bash 4.0, version 4.013])dnl
+
+define(bashvers, 4.0)
+define(relstatus, release)
+
+AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
+
+dnl make sure we are using a recent autoconf version
+AC_PREREQ(2.50)
+
+AC_CONFIG_SRCDIR(shell.h)
+dnl where to find install.sh, config.sub, and config.guess
+AC_CONFIG_AUX_DIR(./support)
+AC_CONFIG_HEADERS(config.h)
+
+dnl checks for version info
+BASHVERS=bashvers
+RELSTATUS=relstatus
+
+dnl defaults for debug settings
+case "$RELSTATUS" in
+alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
+*) DEBUG= MALLOC_DEBUG= ;;
+esac
+
+dnl canonicalize the host and os so we can do some tricky things before
+dnl parsing options
+AC_CANONICAL_HOST
+
+dnl configure defaults
+opt_bash_malloc=yes
+opt_purify=no
+opt_purecov=no
+opt_afs=no
+opt_curses=no
+opt_with_installed_readline=no
+
+#htmldir=
+
+dnl some systems should be configured without the bash malloc by default
+dnl and some need a special compiler or loader
+dnl look in the NOTES file for more
+case "${host_cpu}-${host_os}" in
+alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
+*[[Cc]]ray*-*) opt_bash_malloc=no ;; # Crays
+*-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
+sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
+sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
+mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
+m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
+sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
+#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
+#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
+*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
+*-aix*) opt_bash_malloc=no ;; # AIX machines
+*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
+*-macos*) opt_bash_malloc=no ;; # Apple MacOS X
+*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
+*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
+*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
+*-qnx*) opt_bash_malloc=no ;; # QNX 4.2, QNX 6.x
+*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
+*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
+*-beos*) opt_bash_malloc=no ;; # they say it's suitable
+*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
+*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
+esac
+
+# memory scrambling on free()
+case "${host_os}" in
+sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
+*) opt_memscramble=yes ;;
+esac
+
+dnl
+dnl macros for the bash debugger
+dnl
+AM_PATH_LISPDIR
+AC_ARG_VAR(DEBUGGER_START_FILE, [location of bash debugger initialization file])
+
+dnl arguments to configure
+dnl packages
+AC_ARG_WITH(afs, AC_HELP_STRING([--with-afs], [if you are running AFS]), opt_afs=$withval)
+AC_ARG_WITH(bash-malloc, AC_HELP_STRING([--with-bash-malloc], [use the Bash version of malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
+AC_ARG_WITH(gnu-malloc, AC_HELP_STRING([--with-gnu-malloc], [synonym for --with-bash-malloc]), opt_bash_malloc=$withval)
+AC_ARG_WITH(installed-readline, AC_HELP_STRING([--with-installed-readline], [use a version of the readline library that is already installed]), opt_with_installed_readline=$withval)
+AC_ARG_WITH(purecov, AC_HELP_STRING([--with-purecov], [configure to postprocess with pure coverage]), opt_purecov=$withval)
+AC_ARG_WITH(purify, AC_HELP_STRING([--with-purify], [configure to postprocess with purify]), opt_purify=$withval)
+
+if test "$opt_bash_malloc" = yes; then
+ MALLOC_TARGET=malloc
+ MALLOC_SRC=malloc.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+
+ AC_DEFINE(USING_BASH_MALLOC)
+else
+ MALLOC_LIB=
+ MALLOC_LIBRARY=
+ MALLOC_LDFLAGS=
+ MALLOC_DEP=
+fi
+
+if test "$opt_purify" = yes; then
+ PURIFY="purify "
+ AC_DEFINE(DISABLE_MALLOC_WRAPPERS)
+else
+ PURIFY=
+fi
+
+if test "$opt_purecov" = yes; then
+ PURIFY="${PURIFY}purecov"
+fi
+
+if test "$opt_afs" = yes; then
+ AC_DEFINE(AFS)
+fi
+
+if test "$opt_curses" = yes; then
+ prefer_curses=yes
+fi
+
+if test -z "${DEBUGGER_START_FILE}"; then
+ DEBUGGER_START_FILE='${datadir}/bashdb/bashdb-main.inc'
+fi
+
+dnl optional shell features in config.h.in
+opt_minimal_config=no
+
+opt_job_control=yes
+opt_alias=yes
+opt_readline=yes
+opt_history=yes
+opt_bang_history=yes
+opt_dirstack=yes
+opt_restricted=yes
+opt_process_subst=yes
+opt_prompt_decoding=yes
+opt_select=yes
+opt_help=yes
+opt_array_variables=yes
+opt_dparen_arith=yes
+opt_extended_glob=yes
+opt_brace_expansion=yes
+opt_disabled_builtins=no
+opt_command_timing=yes
+opt_xpg_echo=no
+opt_strict_posix=no
+opt_cond_command=yes
+opt_cond_regexp=yes
+opt_coproc=yes
+opt_arith_for_command=yes
+opt_net_redirs=yes
+opt_progcomp=yes
+opt_separate_help=no
+opt_multibyte=yes
+opt_debugger=yes
+opt_single_longdoc_strings=yes
+opt_casemod_attrs=yes
+opt_casemod_expansions=yes
+
+dnl options that affect how bash is compiled and linked
+opt_static_link=no
+opt_profiling=no
+
+dnl argument parsing for optional features
+AC_ARG_ENABLE(minimal-config, AC_HELP_STRING([--enable-minimal-config], [a minimal sh-like configuration]), opt_minimal_config=$enableval)
+
+dnl a minimal configuration turns everything off, but features can be
+dnl added individually
+if test $opt_minimal_config = yes; then
+ opt_job_control=no opt_alias=no opt_readline=no
+ opt_history=no opt_bang_history=no opt_dirstack=no
+ opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
+ opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
+ opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
+ opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
+ opt_net_redirs=no opt_progcomp=no opt_separate_help=no
+ opt_multibyte=yes opt_cond_regexp=no opt_coproc=no
+ opt_casemod_attrs=no opt_casemod_expansions=no
+fi
+
+AC_ARG_ENABLE(alias, AC_HELP_STRING([--enable-alias], [enable shell aliases]), opt_alias=$enableval)
+AC_ARG_ENABLE(arith-for-command, AC_HELP_STRING([--enable-arith-for-command], [enable arithmetic for command]), opt_arith_for_command=$enableval)
+AC_ARG_ENABLE(array-variables, AC_HELP_STRING([--enable-array-variables], [include shell array variables]), opt_array_variables=$enableval)
+AC_ARG_ENABLE(bang-history, AC_HELP_STRING([--enable-bang-history], [turn on csh-style history substitution]), opt_bang_history=$enableval)
+AC_ARG_ENABLE(brace-expansion, AC_HELP_STRING([--enable-brace-expansion], [include brace expansion]), opt_brace_expansion=$enableval)
+AC_ARG_ENABLE(casemod-attributes, AC_HELP_STRING([--enable-casemod-attributes], [include case-modifying variable attributes]), opt_casemod_attrs=$enableval)
+AC_ARG_ENABLE(casemod-expansions, AC_HELP_STRING([--enable-casemod-expansions], [include case-modifying word expansions]), opt_casemod_expansions=$enableval)
+AC_ARG_ENABLE(command-timing, AC_HELP_STRING([--enable-command-timing], [enable the time reserved word and command timing]), opt_command_timing=$enableval)
+AC_ARG_ENABLE(cond-command, AC_HELP_STRING([--enable-cond-command], [enable the conditional command]), opt_cond_command=$enableval)
+AC_ARG_ENABLE(cond-regexp, AC_HELP_STRING([--enable-cond-regexp], [enable extended regular expression matching in conditional commands]), opt_cond_regexp=$enableval)
+AC_ARG_ENABLE(coprocesses, AC_HELP_STRING([--enable-coprocesses], [enable coprocess support and the coproc reserved word]), opt_coproc=$enableval)
+AC_ARG_ENABLE(debugger, AC_HELP_STRING([--enable-debugger], [enable support for bash debugger]), opt_debugger=$enableval)
+AC_ARG_ENABLE(directory-stack, AC_HELP_STRING([--enable-directory-stack], [enable builtins pushd/popd/dirs]), opt_dirstack=$enableval)
+AC_ARG_ENABLE(disabled-builtins, AC_HELP_STRING([--enable-disabled-builtins], [allow disabled builtins to still be invoked]), opt_disabled_builtins=$enableval)
+AC_ARG_ENABLE(dparen-arithmetic, AC_HELP_STRING([--enable-dparen-arithmetic], [include ((...)) command]), opt_dparen_arith=$enableval)
+AC_ARG_ENABLE(extended-glob, AC_HELP_STRING([--enable-extended-glob], [include ksh-style extended pattern matching]), opt_extended_glob=$enableval)
+AC_ARG_ENABLE(help-builtin, AC_HELP_STRING([--enable-help-builtin], [include the help builtin]), opt_help=$enableval)
+AC_ARG_ENABLE(history, AC_HELP_STRING([--enable-history], [turn on command history]), opt_history=$enableval)
+AC_ARG_ENABLE(job-control, AC_HELP_STRING([--enable-job-control], [enable job control features]), opt_job_control=$enableval)
+AC_ARG_ENABLE(multibyte, AC_HELP_STRING([--enable-multibyte], [enable multibyte characters if OS supports them]), opt_multibyte=$enableval)
+AC_ARG_ENABLE(net-redirections, AC_HELP_STRING([--enable-net-redirections], [enable /dev/tcp/host/port redirection]), opt_net_redirs=$enableval)
+AC_ARG_ENABLE(process-substitution, AC_HELP_STRING([--enable-process-substitution], [enable process substitution]), opt_process_subst=$enableval)
+AC_ARG_ENABLE(progcomp, AC_HELP_STRING([--enable-progcomp], [enable programmable completion and the complete builtin]), opt_progcomp=$enableval)
+AC_ARG_ENABLE(prompt-string-decoding, AC_HELP_STRING([--enable-prompt-string-decoding], [turn on escape character decoding in prompts]), opt_prompt_decoding=$enableval)
+AC_ARG_ENABLE(readline, AC_HELP_STRING([--enable-readline], [turn on command line editing]), opt_readline=$enableval)
+AC_ARG_ENABLE(restricted, AC_HELP_STRING([--enable-restricted], [enable a restricted shell]), opt_restricted=$enableval)
+AC_ARG_ENABLE(select, AC_HELP_STRING([--enable-select], [include select command]), opt_select=$enableval)
+AC_ARG_ENABLE(separate-helpfiles, AC_HELP_STRING([--enable-separate-helpfiles], [use external files for help builtin documentation]), opt_separate_help=$enableval)
+AC_ARG_ENABLE(single-help-strings, AC_HELP_STRING([--enable-single-help-strings], [store help documentation as a single string to ease translation]), opt_single_longdoc_strings=$enableval)
+AC_ARG_ENABLE(strict-posix-default, AC_HELP_STRING([--enable-strict-posix-default], [configure bash to be posix-conformant by default]), opt_strict_posix=$enableval)
+AC_ARG_ENABLE(usg-echo-default, AC_HELP_STRING([--enable-usg-echo-default], [a synonym for --enable-xpg-echo-default]), opt_xpg_echo=$enableval)
+AC_ARG_ENABLE(xpg-echo-default, AC_HELP_STRING([--enable-xpg-echo-default], [make the echo builtin expand escape sequences by default]), opt_xpg_echo=$enableval)
+
+dnl options that alter how bash is compiled and linked
+AC_ARG_ENABLE(mem-scramble, AC_HELP_STRING([--enable-mem-scramble], [scramble memory on calls to malloc and free]), opt_memscramble=$enableval)
+AC_ARG_ENABLE(profiling, AC_HELP_STRING([--enable-profiling], [allow profiling with gprof]), opt_profiling=$enableval)
+AC_ARG_ENABLE(static-link, AC_HELP_STRING([--enable-static-link], [link bash statically, for use as a root shell]), opt_static_link=$enableval)
+
+dnl opt_job_control is handled later, after BASH_JOB_CONTROL_MISSING runs
+
+dnl opt_readline and opt_history are handled later, because AC_PROG_CC needs
+dnl to be run before we can check the version of an already-installed readline
+dnl library
+
+if test $opt_alias = yes; then
+AC_DEFINE(ALIAS)
+fi
+if test $opt_dirstack = yes; then
+AC_DEFINE(PUSHD_AND_POPD)
+fi
+if test $opt_restricted = yes; then
+AC_DEFINE(RESTRICTED_SHELL)
+fi
+if test $opt_process_subst = yes; then
+AC_DEFINE(PROCESS_SUBSTITUTION)
+fi
+if test $opt_prompt_decoding = yes; then
+AC_DEFINE(PROMPT_STRING_DECODE)
+fi
+if test $opt_select = yes; then
+AC_DEFINE(SELECT_COMMAND)
+fi
+if test $opt_help = yes; then
+AC_DEFINE(HELP_BUILTIN)
+fi
+if test $opt_array_variables = yes; then
+AC_DEFINE(ARRAY_VARS)
+fi
+if test $opt_dparen_arith = yes; then
+AC_DEFINE(DPAREN_ARITHMETIC)
+fi
+if test $opt_brace_expansion = yes; then
+AC_DEFINE(BRACE_EXPANSION)
+fi
+if test $opt_disabled_builtins = yes; then
+AC_DEFINE(DISABLED_BUILTINS)
+fi
+if test $opt_command_timing = yes; then
+AC_DEFINE(COMMAND_TIMING)
+fi
+if test $opt_xpg_echo = yes ; then
+AC_DEFINE(DEFAULT_ECHO_TO_XPG)
+fi
+if test $opt_strict_posix = yes; then
+AC_DEFINE(STRICT_POSIX)
+fi
+if test $opt_extended_glob = yes ; then
+AC_DEFINE(EXTENDED_GLOB)
+fi
+if test $opt_cond_command = yes ; then
+AC_DEFINE(COND_COMMAND)
+fi
+if test $opt_cond_regexp = yes ; then
+AC_DEFINE(COND_REGEXP)
+fi
+if test $opt_coproc = yes; then
+AC_DEFINE(COPROCESS_SUPPORT)
+fi
+if test $opt_arith_for_command = yes; then
+AC_DEFINE(ARITH_FOR_COMMAND)
+fi
+if test $opt_net_redirs = yes; then
+AC_DEFINE(NETWORK_REDIRECTIONS)
+fi
+if test $opt_progcomp = yes; then
+AC_DEFINE(PROGRAMMABLE_COMPLETION)
+fi
+if test $opt_multibyte = no; then
+AC_DEFINE(NO_MULTIBYTE_SUPPORT)
+fi
+if test $opt_debugger = yes; then
+AC_DEFINE(DEBUGGER)
+fi
+if test $opt_casemod_attrs = yes; then
+AC_DEFINE(CASEMOD_ATTRS)
+fi
+if test $opt_casemod_expansions = yes; then
+AC_DEFINE(CASEMOD_EXPANSIONS)
+fi
+
+if test $opt_memscramble = yes; then
+AC_DEFINE(MEMSCRAMBLE)
+fi
+
+if test "$opt_minimal_config" = yes; then
+ TESTSCRIPT=run-minimal
+else
+ TESTSCRIPT=run-all
+fi
+
+HELPDIR= HELPDIRDEFINE= HELPINSTALL=
+if test "$opt_separate_help" != no; then
+ if test "$opt_separate_help" = "yes" ; then
+ HELPDIR='${datadir}/bash'
+ else
+ HELPDIR=$opt_separate_help
+ fi
+ HELPDIRDEFINE='-H ${HELPDIR}'
+ HELPINSTALL='install-help'
+fi
+HELPSTRINGS=
+if test "$opt_single_longdoc_strings" != "yes"; then
+ HELPSTRINGS='-S'
+fi
+
+dnl now substitute in the values generated by arguments
+AC_SUBST(TESTSCRIPT)
+AC_SUBST(PURIFY)
+AC_SUBST(MALLOC_TARGET)
+AC_SUBST(MALLOC_SRC)
+
+AC_SUBST(MALLOC_LIB)
+AC_SUBST(MALLOC_LIBRARY)
+AC_SUBST(MALLOC_LDFLAGS)
+AC_SUBST(MALLOC_DEP)
+
+AC_SUBST(htmldir)
+
+AC_SUBST(HELPDIR)
+AC_SUBST(HELPDIRDEFINE)
+AC_SUBST(HELPINSTALL)
+AC_SUBST(HELPSTRINGS)
+
+echo ""
+echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
+echo ""
+
+dnl compilation checks
+dnl AC_PROG_CC sets $cross_compiling to `yes' if cross-compiling for a
+dnl different environment
+AC_PROG_CC
+
+dnl test for Unix variants
+AC_ISC_POSIX
+AC_MINIX
+
+AC_SYS_LARGEFILE
+
+dnl BEGIN changes for cross-building (currently cygwin, minGW, and
+dnl (obsolete) BeOS)
+
+SIGNAMES_O=
+SIGNAMES_H=lsignames.h
+
+dnl load up the cross-building cache file -- add more cases and cache
+dnl files as necessary
+
+dnl Note that host and target machine are the same, and different than the
+dnl build machine.
+dnl Set SIGNAMES_H based on whether or not we're cross-compiling.
+
+CROSS_COMPILE=
+if test "x$cross_compiling" = "xyes"; then
+ case "${host}" in
+ *-cygwin*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ *-mingw*)
+ cross_cache=${srcdir}/cross-build/cygwin32.cache
+ ;;
+ i[[3456]]86-*-beos*)
+ cross_cache=${srcdir}/cross-build/x86-beos.cache
+ ;;
+ *) echo "configure: cross-compiling for $host is not supported" >&2
+ ;;
+ esac
+ if test -n "${cross_cache}" && test -r "${cross_cache}"; then
+ echo "loading cross-build cache file ${cross_cache}"
+ . ${cross_cache}
+ fi
+ unset cross_cache
+ SIGNAMES_O='signames.o'
+ CROSS_COMPILE='-DCROSS_COMPILING'
+ AC_SUBST(CROSS_COMPILE)
+fi
+AC_SUBST(SIGNAMES_H)
+AC_SUBST(SIGNAMES_O)
+
+if test -z "$CC_FOR_BUILD"; then
+ if test "x$cross_compiling" = "xno"; then
+ CC_FOR_BUILD='$(CC)'
+ else
+ CC_FOR_BUILD=gcc
+ fi
+fi
+AC_SUBST(CC_FOR_BUILD)
+
+dnl END changes for cross-building
+
+dnl We want these before the checks, so the checks can modify their values.
+test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
+
+dnl If we're using gcc and the user hasn't specified CFLAGS, add -O2 to CFLAGS.
+test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
+
+dnl handle options that alter how bash is compiled and linked
+dnl these must come after the test for cc/gcc
+if test "$opt_profiling" = "yes"; then
+ PROFILE_FLAGS=-pg
+ case "$host_os" in
+ solaris2*) ;;
+ *) opt_static_link=yes ;;
+ esac
+ DEBUG= MALLOC_DEBUG=
+fi
+
+if test "$opt_static_link" = yes; then
+ # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
+ if test -n "$GCC" || test "$ac_cv_prog_gcc" = "yes"; then
+ STATIC_LD="-static"
+ case "$host_os" in
+ solaris2*) ;;
+ *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
+ esac
+ fi
+fi
+
+if test "X$cross_compiling" = "Xno"; then
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
+else
+ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
+fi
+
+test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+AC_SUBST(STATIC_LD)
+
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CPPFLAGS_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
+
+AC_PROG_GCC_TRADITIONAL
+
+dnl BEGIN READLINE and HISTORY LIBRARY SECTION
+dnl prepare to allow bash to be linked against an already-installed readline
+
+dnl first test that the readline version is new enough to link bash against
+if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
+then
+ # If the user specified --with-installed-readline=PREFIX and PREFIX
+ # is not `yes', set ac_cv_rl_prefix to PREFIX
+ test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
+
+ RL_LIB_READLINE_VERSION
+
+ case "$ac_cv_rl_version" in
+ 5*|6*|7*|8*|9*) ;;
+ *) opt_with_installed_readline=no
+ AC_MSG_WARN(installed readline library is too old to be linked with bash)
+ AC_MSG_WARN(using private bash version)
+ ;;
+ esac
+fi
+
+TILDE_LIB=-ltilde
+if test $opt_readline = yes; then
+ AC_DEFINE(READLINE)
+ if test "$opt_with_installed_readline" != "no" ; then
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ READLINE_DEP=
+ READLINE_LIB=-lreadline
+ # section for OS versions that don't allow unresolved symbols
+ # to be compiled into dynamic libraries.
+ case "$host_os" in
+ cygwin*) TILDE_LIB= ;;
+ esac
+ else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_DEP='$(READLINE_LIBRARY)'
+ # section for OS versions that ship an older/broken version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
+ *) READLINE_LIB=-lreadline ;;
+ esac
+ fi
+else
+ RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ READLINE_LIB= READLINE_DEP=
+fi
+if test $opt_history = yes || test $opt_bang_history = yes; then
+ if test $opt_history = yes; then
+ AC_DEFINE(HISTORY)
+ fi
+ if test $opt_bang_history = yes; then
+ AC_DEFINE(BANG_HISTORY)
+ fi
+ if test "$opt_with_installed_readline" != "no"; then
+ HIST_LIBDIR=$RL_LIBDIR
+ HISTORY_DEP=
+ HISTORY_LIB=-lhistory
+ case "$opt_with_installed_readline" in
+ yes) RL_INCLUDE= ;;
+ *) case "$RL_INCLUDEDIR" in
+ /usr/include) ;;
+ *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
+ esac
+ ;;
+ esac
+ else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_DEP='$(HISTORY_LIBRARY)'
+ # section for OS versions that ship an older version of
+ # readline as a standard dynamic library and don't allow a
+ # static version specified as -llibname to override the
+ # dynamic version
+ case "${host_os}" in
+ darwin[[89]]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
+ *) HISTORY_LIB=-lhistory ;;
+ esac
+ fi
+else
+ HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
+ HISTORY_LIB= HISTORY_DEP=
+fi
+AC_SUBST(READLINE_LIB)
+AC_SUBST(READLINE_DEP)
+AC_SUBST(RL_LIBDIR)
+AC_SUBST(RL_INCLUDEDIR)
+AC_SUBST(RL_INCLUDE)
+AC_SUBST(HISTORY_LIB)
+AC_SUBST(HISTORY_DEP)
+AC_SUBST(HIST_LIBDIR)
+AC_SUBST(TILDE_LIB)
+
+dnl END READLINE and HISTORY LIBRARY SECTION
+
+dnl programs needed by the build and install process
+AC_PROG_INSTALL
+AC_CHECK_PROG(AR, ar, , ar)
+dnl Set default for ARFLAGS, since autoconf does not have a macro for it.
+dnl This allows people to set it when running configure or make
+test -n "$ARFLAGS" || ARFLAGS="cr"
+AC_PROG_RANLIB
+AC_PROG_YACC
+AC_PROG_MAKE_SET
+
+case "$host_os" in
+opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
+*) MAKE_SHELL=/bin/sh ;;
+esac
+AC_SUBST(MAKE_SHELL)
+
+dnl this is similar to the expanded AC_PROG_RANLIB
+if test x$SIZE = x; then
+ if test x$ac_tool_prefix = x; then
+ SIZE=size
+ else
+ SIZE=${ac_tool_prefix}size
+ save_IFS=$IFS ; IFS=:
+ size_found=0
+ for dir in $PATH; do
+ if test -x $dir/$SIZE ; then
+ size_found=1
+ break
+ fi
+ done
+ if test $size_found -eq 0; then
+ SIZE=:
+ fi
+ IFS=$save_IFS
+ fi
+fi
+AC_SUBST(SIZE)
+
+dnl Turn on any extensions available in the GNU C library.
+AC_DEFINE(_GNU_SOURCE, 1)
+
+dnl C compiler characteristics
+AC_C_CONST
+AC_C_INLINE
+AC_C_BIGENDIAN
+AC_C_STRINGIZE
+AC_C_LONG_DOUBLE
+AC_C_PROTOTYPES
+AC_C_CHAR_UNSIGNED
+AC_C_VOLATILE
+AC_C_RESTRICT
+
+dnl initialize GNU gettext
+AM_GNU_GETTEXT([no-libtool], [need-ngettext], [lib/intl])
+
+dnl header files
+AC_HEADER_DIRENT
+AC_HEADER_TIME
+
+BASH_HEADER_INTTYPES
+
+AC_CHECK_HEADERS(unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
+ memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
+ stddef.h stdint.h netdb.h pwd.h grp.h strings.h regex.h)
+AC_CHECK_HEADERS(sys/pte.h sys/stream.h sys/select.h sys/file.h \
+ sys/resource.h sys/param.h sys/socket.h sys/stat.h \
+ sys/time.h sys/times.h sys/types.h sys/wait.h)
+AC_CHECK_HEADERS(netinet/in.h arpa/inet.h)
+
+dnl sys/ptem.h requires definitions from sys/stream.h on systems where it
+dnl exists
+AC_CHECK_HEADER(sys/ptem.h, , ,[[
+#if HAVE_SYS_STREAM_H
+# include <sys/stream.h>
+#endif
+]])
+
+dnl special checks for libc functions
+AC_FUNC_ALLOCA
+AC_FUNC_GETPGRP
+AC_FUNC_SETVBUF_REVERSED
+AC_FUNC_VPRINTF
+AC_FUNC_STRCOLL
+
+dnl if we're not using the bash malloc but require the C alloca, set things
+dnl up to build a libmalloc.a containing only alloca.o
+
+if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
+ MALLOC_TARGET=alloca
+ MALLOC_SRC=alloca.c
+
+ MALLOC_LIB='-lmalloc'
+ MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
+ MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
+ MALLOC_DEP='$(MALLOC_LIBRARY)'
+fi
+
+dnl if vprintf is not in libc, see if it's defined in stdio.h
+if test "$ac_cv_func_vprintf" = no; then
+ AC_MSG_CHECKING(for declaration of vprintf in stdio.h)
+ AC_EGREP_HEADER([[int[ ]*vprintf[^a-zA-Z0-9]]],stdio.h,ac_cv_func_vprintf=yes)
+ AC_MSG_RESULT($ac_cv_func_vprintf)
+ if test $ac_cv_func_vprintf = yes; then
+ AC_DEFINE(HAVE_VPRINTF)
+ fi
+fi
+
+if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
+ AC_LIBOBJ(vprint)
+fi
+
+dnl signal stuff
+AC_TYPE_SIGNAL
+
+dnl checks for certain version-specific system calls and libc functions
+AC_CHECK_FUNC(__setostype, AC_DEFINE(HAVE_SETOSTYPE))
+AC_CHECK_FUNC(wait3, AC_DEFINE(HAVE_WAIT3))
+AC_CHECK_FUNC(isinf, AC_DEFINE(HAVE_ISINF_IN_LIBC))
+AC_CHECK_FUNC(isnan, AC_DEFINE(HAVE_ISNAN_IN_LIBC))
+
+dnl checks for missing libc functions
+AC_CHECK_FUNC(mkfifo,AC_DEFINE(HAVE_MKFIFO),AC_DEFINE(MKFIFO_MISSING))
+
+dnl checks for system calls
+AC_CHECK_FUNCS(dup2 eaccess fcntl getdtablesize getgroups gethostname \
+ getpagesize getpeername getrlimit getrusage gettimeofday \
+ kill killpg lstat readlink sbrk select setdtablesize \
+ setitimer tcgetpgrp uname ulimit waitpid)
+AC_REPLACE_FUNCS(rename)
+
+dnl checks for c library functions
+AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
+ getaddrinfo gethostbyname getservbyname getservent inet_aton \
+ memmove pathconf putenv raise regcomp regexec \
+ setenv setlinebuf setlocale setvbuf siginterrupt strchr \
+ sysconf tcgetattr times ttyname tzset unsetenv)
+
+AC_CHECK_FUNCS(vsnprintf snprintf vasprintf asprintf)
+AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
+AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
+AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
+AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
+AC_REPLACE_FUNCS(fdprintf)
+
+AC_CHECK_DECLS([confstr])
+AC_CHECK_DECLS([printf])
+AC_CHECK_DECLS([sbrk])
+AC_CHECK_DECLS([setregid])
+AC_CHECK_DECLS([strcpy])
+AC_CHECK_DECLS([strsignal])
+
+dnl Extra test to detect the horribly broken HP/UX 11.00 strtold(3)
+AC_CHECK_DECLS([strtold], [
+ AC_MSG_CHECKING([for broken strtold])
+ AC_CACHE_VAL(bash_cv_strtold_broken,
+ [AC_TRY_COMPILE(
+ [#include <stdlib.h>],
+ [int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}],
+ bash_cv_strtold_broken=no, bash_cv_strtold_broken=yes,
+ [AC_MSG_WARN(cannot check for broken strtold if cross-compiling, defaulting to no)])
+ ]
+ )
+ AC_MSG_RESULT($bash_cv_strtold_broken)
+ if test "$bash_cv_strtold_broken" = "yes" ; then
+ AC_DEFINE(STRTOLD_BROKEN)
+ fi
+])
+
+
+BASH_CHECK_DECL(strtoimax)
+BASH_CHECK_DECL(strtol)
+BASH_CHECK_DECL(strtoll)
+BASH_CHECK_DECL(strtoul)
+BASH_CHECK_DECL(strtoull)
+BASH_CHECK_DECL(strtoumax)
+
+AC_FUNC_MKTIME
+
+dnl
+dnl Checks for lib/intl and related code (uses some of the output from
+dnl AM_GNU_GETTEXT)
+dnl
+
+AC_CHECK_HEADERS([argz.h errno.h fcntl.h malloc.h stdio_ext.h])
+
+dnl AC_FUNC_MALLOC
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([__argz_count __argz_next __argz_stringify dcgettext mempcpy \
+ munmap stpcpy strcspn strdup])
+
+INTL_DEP= INTL_INC= LIBINTL_H=
+if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
+ INTL_DEP='${INTL_LIBDIR}/libintl.a'
+ INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
+ LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
+fi
+AC_SUBST(INTL_DEP)
+AC_SUBST(INTL_INC)
+AC_SUBST(LIBINTL_H)
+
+dnl
+dnl End of checks needed by files in lib/intl
+dnl
+
+BASH_CHECK_MULTIBYTE
+
+dnl checks for the dynamic loading library functions in libc and libdl
+if test "$opt_static_link" != yes; then
+AC_CHECK_LIB(dl, dlopen)
+AC_CHECK_FUNCS(dlopen dlclose dlsym)
+fi
+
+dnl this defines HAVE_DECL_SYS_SIGLIST
+AC_DECL_SYS_SIGLIST
+
+dnl network functions -- check for inet_aton again
+if test "$ac_cv_func_inet_aton" != 'yes'; then
+BASH_FUNC_INET_ATON
+fi
+
+dnl libraries
+dnl this is reportedly no longer necessary for irix[56].?
+case "$host_os" in
+irix4*) AC_CHECK_LIB(sun, getpwent) ;;
+esac
+
+dnl check for getpeername in the socket library only if it's not in libc
+if test "$ac_cv_func_getpeername" = no; then
+ BASH_CHECK_LIB_SOCKET
+fi
+dnl check for gethostbyname in socket libraries if it's not in libc
+if test "$ac_cv_func_gethostbyname" = no; then
+ BASH_FUNC_GETHOSTBYNAME
+fi
+
+dnl system types
+AC_TYPE_GETGROUPS
+AC_TYPE_OFF_T
+AC_TYPE_MODE_T
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_TYPE(ssize_t, int)
+AC_CHECK_TYPE(time_t, long)
+
+BASH_TYPE_LONG_LONG
+BASH_TYPE_UNSIGNED_LONG_LONG
+
+AC_TYPE_SIGNAL
+BASH_TYPE_SIG_ATOMIC_T
+
+AC_CHECK_SIZEOF(char, 1)
+AC_CHECK_SIZEOF(short, 2)
+AC_CHECK_SIZEOF(int, 4)
+AC_CHECK_SIZEOF(long, 4)
+AC_CHECK_SIZEOF(char *, 4)
+AC_CHECK_SIZEOF(double, 8)
+AC_CHECK_SIZEOF([long long], 8)
+
+AC_CHECK_TYPE(u_int, [unsigned int])
+AC_CHECK_TYPE(u_long, [unsigned long])
+
+BASH_TYPE_BITS16_T
+BASH_TYPE_U_BITS16_T
+BASH_TYPE_BITS32_T
+BASH_TYPE_U_BITS32_T
+BASH_TYPE_BITS64_T
+
+BASH_TYPE_PTRDIFF_T
+
+dnl structures
+AC_HEADER_STAT
+
+dnl system services
+AC_SYS_INTERPRETER
+if test $ac_cv_sys_interpreter = yes; then
+AC_DEFINE(HAVE_HASH_BANG_EXEC)
+fi
+
+dnl Miscellaneous Bash tests
+if test "$ac_cv_func_lstat" = "no"; then
+BASH_FUNC_LSTAT
+fi
+
+dnl behavior of system calls and library functions
+BASH_FUNC_CTYPE_NONASCII
+BASH_FUNC_DUP2_CLOEXEC_CHECK
+BASH_SYS_PGRP_SYNC
+BASH_SYS_SIGNAL_VINTAGE
+
+dnl checking for the presence of certain library symbols
+BASH_SYS_ERRLIST
+BASH_SYS_SIGLIST
+BASH_UNDER_SYS_SIGLIST
+
+dnl various system types
+BASH_TYPE_SIGHANDLER
+BASH_CHECK_TYPE(clock_t, [#include <sys/times.h>], long)
+BASH_CHECK_TYPE(sigset_t, [#include <signal.h>], int)
+BASH_CHECK_TYPE(quad_t, , long, HAVE_QUAD_T)
+BASH_CHECK_TYPE(intmax_t, , $bash_cv_type_long_long)
+BASH_CHECK_TYPE(uintmax_t, , $bash_cv_type_unsigned_long_long)
+if test "$ac_cv_header_sys_socket_h" = "yes"; then
+BASH_CHECK_TYPE(socklen_t, [#include <sys/socket.h>], int, HAVE_SOCKLEN_T)
+fi
+BASH_TYPE_RLIMIT
+
+dnl presence and contents of structures used by system calls
+BASH_STRUCT_TERMIOS_LDISC
+BASH_STRUCT_TERMIO_LDISC
+BASH_STRUCT_DIRENT_D_INO
+BASH_STRUCT_DIRENT_D_FILENO
+BASH_STRUCT_DIRENT_D_NAMLEN
+BASH_STRUCT_WINSIZE
+BASH_STRUCT_TIMEVAL
+AC_CHECK_MEMBERS([struct stat.st_blocks])
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+BASH_STRUCT_TIMEZONE
+
+dnl presence and behavior of C library functions
+BASH_FUNC_STRSIGNAL
+BASH_FUNC_OPENDIR_CHECK
+BASH_FUNC_ULIMIT_MAXFDS
+BASH_FUNC_FPURGE
+BASH_FUNC_GETENV
+if test "$ac_cv_func_getcwd" = "yes"; then
+BASH_FUNC_GETCWD
+fi
+BASH_FUNC_POSIX_SETJMP
+BASH_FUNC_STRCOLL
+
+dnl If putenv or unsetenv is not present, set the right define so the
+dnl prototype and declaration in lib/sh/getenv.c will be standard-conformant
+
+if test "$ac_cv_func_putenv" = "yes"; then
+BASH_FUNC_STD_PUTENV
+else
+AC_DEFINE(HAVE_STD_PUTENV)
+fi
+if test "$ac_cv_func_unsetenv" = "yes"; then
+BASH_FUNC_STD_UNSETENV
+else
+AC_DEFINE(HAVE_STD_UNSETENV)
+fi
+
+BASH_FUNC_PRINTF_A_FORMAT
+
+dnl presence and behavior of OS functions
+BASH_SYS_REINSTALL_SIGHANDLERS
+BASH_SYS_JOB_CONTROL_MISSING
+BASH_SYS_NAMED_PIPES
+
+dnl presence of certain CPP defines
+AC_HEADER_TIOCGWINSZ
+BASH_HAVE_TIOCSTAT
+BASH_HAVE_FIONREAD
+
+BASH_CHECK_WCONTINUED
+
+dnl miscellaneous
+BASH_CHECK_SPEED_T
+BASH_CHECK_GETPW_FUNCS
+BASH_CHECK_RTSIGS
+BASH_CHECK_SYS_SIGLIST
+
+dnl special checks
+case "$host_os" in
+hpux*) BASH_CHECK_KERNEL_RLIMIT ;;
+esac
+
+if test "$opt_readline" = yes; then
+dnl yuck
+case "$host_os" in
+aix*) prefer_curses=yes ;;
+esac
+BASH_CHECK_LIB_TERMCAP
+fi
+AC_SUBST(TERMCAP_LIB)
+AC_SUBST(TERMCAP_DEP)
+
+BASH_CHECK_DEV_FD
+BASH_CHECK_DEV_STDIN
+BASH_SYS_DEFAULT_MAIL_DIR
+
+if test "$bash_cv_job_control_missing" = missing; then
+ opt_job_control=no
+fi
+
+if test "$opt_job_control" = yes; then
+AC_DEFINE(JOB_CONTROL)
+JOBS_O=jobs.o
+else
+JOBS_O=nojobs.o
+fi
+
+AC_SUBST(JOBS_O)
+
+dnl Defines that we want to propagate to the Makefiles in subdirectories,
+dnl like glob and readline
+
+LOCAL_DEFS=-DSHELL
+
+dnl use this section to possibly define more cpp variables, specify local
+dnl libraries, and specify any additional local cc or ld flags
+dnl
+dnl this should really go away someday
+
+case "${host_os}" in
+sysv4.2*) AC_DEFINE(SVR4_2)
+ AC_DEFINE(SVR4) ;;
+sysv4*) AC_DEFINE(SVR4) ;;
+sysv5*) AC_DEFINE(SVR5) ;;
+hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
+hpux*) LOCAL_CFLAGS=-DHPUX ;;
+dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
+isc*) LOCAL_CFLAGS=-Disc386 ;;
+rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
+darwin*) LOCAL_CFLAGS=-DMACOSX ;;
+sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
+sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
+sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
+sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
+solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
+solaris2.8*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.9*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2.10*) LOCAL_CFLAGS=-DSOLARIS ;;
+solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
+lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ case "`uname -r`" in
+ 2.[[456789]]*|3*) AC_DEFINE(PGRP_PIPE) ;;
+ esac ;;
+*qnx6*) LOCAL_CFLAGS="-Dqnx -Dqnx6" LOCAL_LIBS="-lncurses" ;;
+*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
+powerux*) LOCAL_LIBS="-lgen" ;;
+cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
+opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
+esac
+
+dnl Stanza for OS/compiler pair-specific flags
+case "${host_os}-${CC}" in
+aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
+aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
+bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
+esac
+
+dnl FreeBSD-3.x can have either a.out or ELF
+case "${host_os}" in
+freebsd[[3-9]]*)
+ if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
+ LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+ fi ;;
+freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+dragonfly*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
+esac
+
+case "$host_cpu" in
+*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
+esac
+
+case "$host_cpu-$host_os" in
+ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
+esac
+
+case "$host_cpu-$host_vendor-$host_os" in
+m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
+mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
+esac
+
+#
+# Shared object configuration section. These values are generated by
+# ${srcdir}/support/shobj-conf
+#
+if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
+then
+ AC_MSG_CHECKING(shared object configuration for loadable builtins)
+ eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
+ AC_SUBST(SHOBJ_CC)
+ AC_SUBST(SHOBJ_CFLAGS)
+ AC_SUBST(SHOBJ_LD)
+ AC_SUBST(SHOBJ_LDFLAGS)
+ AC_SUBST(SHOBJ_XLDFLAGS)
+ AC_SUBST(SHOBJ_LIBS)
+ AC_SUBST(SHOBJ_STATUS)
+ AC_MSG_RESULT($SHOBJ_STATUS)
+fi
+
+# try to create a directory tree if the source is elsewhere
+# this should be packaged into a script accessible via ${srcdir}/support
+case "$srcdir" in
+.) ;;
+*) for d in doc tests support lib examples; do # dirs
+ test -d $d || mkdir $d
+ done
+ for ld in readline glob tilde malloc sh termcap; do # libdirs
+ test -d lib/$ld || mkdir lib/$ld
+ done
+ test -d examples/loadables || mkdir examples/loadables # loadable builtins
+ test -d examples/loadables/perl || mkdir examples/loadables/perl
+ ;;
+esac
+
+BUILD_DIR=`pwd`
+case "$BUILD_DIR" in
+*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
+*) ;;
+esac
+
+if test -z "$localedir"; then
+ localedir='${datarootdir}/locale'
+fi
+if test -z "$datarootdir"; then
+ datarootdir='${prefix}/share'
+fi
+
+AC_SUBST(PROFILE_FLAGS)
+
+AC_SUBST(incdir)
+AC_SUBST(BUILD_DIR)
+
+# Some versions of autoconf don't substitute these automatically
+AC_SUBST(datarootdir)
+AC_SUBST(localedir)
+
+AC_SUBST(YACC)
+AC_SUBST(AR)
+AC_SUBST(ARFLAGS)
+
+AC_SUBST(BASHVERS)
+AC_SUBST(RELSTATUS)
+AC_SUBST(DEBUG)
+AC_SUBST(MALLOC_DEBUG)
+
+AC_SUBST(host_cpu)
+AC_SUBST(host_vendor)
+AC_SUBST(host_os)
+
+AC_SUBST(LOCAL_LIBS)
+AC_SUBST(LOCAL_CFLAGS)
+AC_SUBST(LOCAL_LDFLAGS)
+AC_SUBST(LOCAL_DEFS)
+
+#AC_SUBST(ALLOCA_SOURCE)
+#AC_SUBST(ALLOCA_OBJECT)
+
+AC_OUTPUT([Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile \
+ lib/intl/Makefile \
+ lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile \
+ lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in \
+ examples/loadables/Makefile examples/loadables/perl/Makefile],
+[
+# Makefile uses this timestamp file to record whether config.h is up to date.
+echo timestamp > stamp-h
+])
diff --git a/doc/FAQ b/doc/FAQ
index bef8106..33ca3d3 100644
--- a/doc/FAQ
+++ b/doc/FAQ
@@ -1,4 +1,4 @@
-This is the Bash FAQ, version 4.11, for Bash version 4.1.
+This is the Bash FAQ, version 4.12, for Bash version 4.2.
This document contains a set of frequently-asked questions concerning
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
@@ -36,8 +36,8 @@ A10) What is the bash `posix mode'?
Section B: The latest version
-B1) What's new in version 4.1?
-B2) Are there any user-visible incompatibilities between bash-4.1 and
+B1) What's new in version 4.2?
+B2) Are there any user-visible incompatibilities between bash-4.2 and
previous bash versions?
Section C: Differences from other Unix shells
@@ -144,26 +144,26 @@ of Case Western Reserve University.
A2) What's the latest version?
-The latest version is 4.1, first made available on 31 December, 2009.
+The latest version is 4.2, first made available on 14 February, 2011.
A3) Where can I get it?
Bash is the GNU project's shell, and so is available from the
master GNU archive site, ftp.gnu.org, and its mirrors. The
latest version is also available for FTP from ftp.cwru.edu.
-The following URLs tell how to get version 4.1:
+The following URLs tell how to get version 4.2:
-ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1.tar.gz
-ftp://ftp.cwru.edu/pub/bash/bash-4.1.tar.gz
+ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-4.2.tar.gz
Formatted versions of the documentation are available with the URLs:
-ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.1.tar.gz
-ftp://ftp.cwru.edu/pub/bash/bash-doc-4.1.tar.gz
+ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.2.tar.gz
+ftp://ftp.cwru.edu/pub/bash/bash-doc-4.2.tar.gz
Any patches for the current version are available with the URL:
-ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/
+ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
A4) On what machines will bash run?
@@ -219,7 +219,7 @@ Mark began to work with bash-2.05, but I don't know the current status.
Bash-3.0 compiles and runs with no modifications under Microsoft's Services
for Unix (SFU), once known as Interix. I do not anticipate any problems
-with building bash-4.1, but will gladly accept any patches that are needed.
+with building bash-4.2, but will gladly accept any patches that are needed.
A6) How can I build bash with gcc?
@@ -388,14 +388,88 @@ They are also listed in a section in the Bash Reference Manual
Section B: The latest version
-B1) What's new in version 4.1?
+B1) What's new in version 4.2?
-Bash-4.1 is the first revision to the fourth major release of bash.
+Bash-4.2 is the second revision to the fourth major release of bash.
-Bash-4.1 contains the following new features (see the manual page for
-complete descriptions and the CHANGES and NEWS files in the bash-4.1
+Bash-4.2 contains the following new features (see the manual page for
+complete descriptions and the CHANGES and NEWS files in the bash-4.2
distribution):
+o `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+ leading #!.
+
+o Subshells begun to execute command substitutions or run shell functions or
+ builtins in subshells do not reset trap strings until a new trap is
+ specified. This allows $(trap) to display the caller's traps and the
+ trap strings to persist until a new trap is set.
+
+o `trap -p' will now show signals ignored at shell startup, though their
+ disposition still cannot be modified.
+
+o $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+o declare/typeset has a new `-g' option, which creates variables in the
+ global scope even when run in a shell function.
+
+o test/[/[[ have a new -v variable unary operator, which returns success if
+ `variable' has been set.
+
+o Posix parsing changes to allow `! time command' and multiple consecutive
+ instances of `!' (which toggle) and `time' (which have no cumulative
+ effect).
+
+o Posix change to allow `time' as a command by itself to print the elapsed
+ user, system, and real times for the shell and its children.
+
+o $((...)) is always parsed as an arithmetic expansion first, instead of as
+ a potential nested command substitution, as Posix requires.
+
+o A new FUNCNEST variable to allow the user to control the maximum shell
+ function nesting (recursive execution) level.
+
+o The mapfile builtin now supplies a third argument to the callback command:
+ the line about to be assigned to the supplied array index.
+
+o The printf builtin has as new %(fmt)T specifier, which allows time values
+ to use strftime-like formatting.
+
+o There is a new `compat41' shell option.
+
+o The cd builtin has a new Posix-mandated `-e' option.
+
+o Negative subscripts to indexed arrays, previously errors, now are treated
+ as offsets from the maximum assigned index + 1.
+
+o Negative length specifications in the ${var:offset:length} expansion,
+ previously errors, are now treated as offsets from the end of the variable.
+
+o Parsing change to allow `time -p --'.
+
+o Posix-mode parsing change to not recognize `time' as a keyword if the
+ following token begins with a `-'. This means no more Posix-mode
+ `time -p'. Posix interpretation 267.
+
+o There is a new `lastpipe' shell option that runs the last command of a
+ pipeline in the current shell context. The lastpipe option has no
+ effect if job control is enabled.
+
+o History expansion no longer expands the `$!' variable expansion.
+
+o Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
+o Non-interactive mode shells exit if -u is enabled an an attempt is made
+ to use an unset variable with the % or # expansions, the `//', `^', or
+ `,' expansions, or the parameter length expansion.
+
+o Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+ fails, effectively searching the current directory. Posix-2008 change.
+
+A short feature history dating back to Bash-2.0:
+
+Bash-4.1 contained the following new features:
+
o Here-documents within $(...) command substitutions may once more be
delimited by the closing right paren, instead of requiring a newline.
@@ -502,8 +576,6 @@ o New bindable readline variable: enable-meta-key. Controls whether or not
readline sends the smm/rmm sequences if the terminal indicates it has a
meta key that enables eight-bit characters.
-A short feature history dating from Bash-2.0:
-
Bash-4.0 contained the following new features:
o When using substring expansion on the positional parameters, a starting
@@ -901,14 +973,14 @@ grammar tighter and smaller (66 reduce-reduce conflicts gone)
lots of code now smaller and faster
test suite greatly expanded
-B2) Are there any user-visible incompatibilities between bash-4.1 and
+B2) Are there any user-visible incompatibilities between bash-4.2 and
previous bash versions?
-There are a few incompatibilities between version 4.1 and previous
+There are a few incompatibilities between version 4.2 and previous
versions. They are detailed in the file COMPAT in the bash distribution.
That file is not meant to be all-encompassing; send mail to
bash-maintainers@gnu.org (or bug-bash@gnu.org if you would like
-community discussion) if if you find something that's not mentioned there.
+community discussion) if you find something that's not mentioned there.
Section C: Differences from other Unix shells
@@ -1118,7 +1190,7 @@ C3) Which new features in ksh-93 are not in bash, and which are?
This list is current through ksh93t+ (05/05/2009)
-New things in ksh-93 not in bash-4.1:
+New things in ksh-93 not in bash-4.2:
floating point arithmetic and variables
math library functions
${!name[sub]} name of subscript for associative array
@@ -1140,7 +1212,7 @@ New things in ksh-93 not in bash-4.1:
`fc' has been renamed to `hist'
`.' can execute shell functions
getopts -a
- printf %B, %H, %P, %R, %T, %Z modifiers, output base for %d, `=' flag
+ printf %B, %H, %P, %R, %Z modifiers, output base for %d, `=' flag
read -n/-N differ/-v
set -o showme/-o multiline (bash default)
`sleep' and `getconf' builtins (bash has loadable versions)
@@ -1148,16 +1220,14 @@ New things in ksh-93 not in bash-4.1:
[[ -R name ]] (checks whether or not name is a nameref)
typeset -C/-S/-T/-X/-h/-s
experimental `type' definitions (a la typedef) using typeset
- negative subscripts for indexed array variables
array expansions ${array[sub1..sub2]} and ${!array[sub1..sub2]}
associative array assignments using `;' as element separator
command substitution $(n<#) expands to current byte offset for fd N
new '${ ' form of command substitution, executed in current shell
new >;/<>;/<#pat/<##pat/<#/># redirections
brace expansion printf-like formats
- [[ -v var ]] operators (checks whether or not var is set)
-New things in ksh-93 present in bash-4.1:
+New things in ksh-93 present in bash-4.2:
associative arrays
[n]<&word- and [n]>&word- redirections (combination dup and close)
for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
@@ -1165,6 +1235,7 @@ New things in ksh-93 present in bash-4.1:
expansions: ${!param}, ${param:offset[:len]}, ${param/pat[/str]},
${!param*}
compound array assignment
+ negative subscripts for indexed array variables
the `!' reserved word
loadable builtins -- but ksh uses `builtin' while bash uses `enable'
new $'...' and $"..." quoting
@@ -1174,6 +1245,7 @@ New things in ksh-93 present in bash-4.1:
`command', `builtin', `disown' builtins
echo -e
exec -c/-a
+ printf %T modifier
read -A (bash uses read -a)
read -t/-d
trap -p
@@ -1193,6 +1265,7 @@ New things in ksh-93 present in bash-4.1:
negative offsets in ${param:offset:length}
redirection operators preceded with {varname} to store fd number in varname
DEBUG can force skipping following command
+ [[ -v var ]] operator (checks whether or not var is set)
Section D: Why does bash do some things differently than other Unix shells?
@@ -1778,7 +1851,8 @@ compat40 set
- the < and > operators to the [[ command do not consider the current
locale when comparing strings
- interrupting a command list such as "a ; b ; c" causes the execution
- of the entire list to be aborted
+ of the entire list to be aborted (in versions before bash-4.0,
+ interrupting one command in a list caused the next to be executed)
Section F: Things to watch out for on certain Unix versions
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 3e0e68b..493985b 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -161,7 +161,7 @@ html: ${HTMLFILES}
pdf: ${PDFFILES}
bashref.dvi: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
- ${SET_TEXINPUTS} $(TEXI2DVI) $(srcdir)/bashref.texi
+ ${SET_TEXINPUTS} $(TEXI2DVI) $(srcdir)/bashref.texi || { ${RM} $@ ; exit 1; }
bashref.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER)
$(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi
diff --git a/doc/bash.0 b/doc/bash.0
index 675cd2f..86d8b70 100644
--- a/doc/bash.0
+++ b/doc/bash.0
@@ -9,7 +9,7 @@ SSYYNNOOPPSSIISS
bbaasshh [options] [file]
CCOOPPYYRRIIGGHHTT
- Bash is Copyright (C) 1989-2009 by the Free Software Foundation, Inc.
+ Bash is Copyright (C) 1989-2010 by the Free Software Foundation, Inc.
DDEESSCCRRIIPPTTIIOONN
BBaasshh is an sshh-compatible command language interpreter that executes
@@ -21,82 +21,81 @@ DDEESSCCRRIIPPTTIIOONN
1003.1). BBaasshh can be configured to be POSIX-conformant by default.
OOPPTTIIOONNSS
- In addition to the single-character shell options documented in the
- description of the sseett builtin command, bbaasshh interprets the following
- options when it is invoked:
+ All of the single-character shell options documented in the descrip-
+ tion of the sseett builtin command can be used as options when the shell
+ is invoked. In addition, bbaasshh interprets the following options when it
+ is invoked:
- --cc _s_t_r_i_n_g If the --cc option is present, then commands are read from
- _s_t_r_i_n_g. If there are arguments after the _s_t_r_i_n_g, they are
+ --cc _s_t_r_i_n_g If the --cc option is present, then commands are read from
+ _s_t_r_i_n_g. If there are arguments after the _s_t_r_i_n_g, they are
assigned to the positional parameters, starting with $$00.
--ii If the --ii option is present, the shell is _i_n_t_e_r_a_c_t_i_v_e.
--ll Make bbaasshh act as if it had been invoked as a login shell (see
IINNVVOOCCAATTIIOONN below).
- --rr If the --rr option is present, the shell becomes _r_e_s_t_r_i_c_t_e_d
+ --rr If the --rr option is present, the shell becomes _r_e_s_t_r_i_c_t_e_d
(see RREESSTTRRIICCTTEEDD SSHHEELLLL below).
- --ss If the --ss option is present, or if no arguments remain after
- option processing, then commands are read from the standard
- input. This option allows the positional parameters to be
+ --ss If the --ss option is present, or if no arguments remain after
+ option processing, then commands are read from the standard
+ input. This option allows the positional parameters to be
set when invoking an interactive shell.
- --DD A list of all double-quoted strings preceded by $$ is printed
- on the standard output. These are the strings that are sub-
+ --DD A list of all double-quoted strings preceded by $$ is printed
+ on the standard output. These are the strings that are sub-
ject to language translation when the current locale is not CC
- or PPOOSSIIXX. This implies the --nn option; no commands will be
+ or PPOOSSIIXX. This implies the --nn option; no commands will be
executed.
[[--++]]OO [[_s_h_o_p_t___o_p_t_i_o_n]]
- _s_h_o_p_t___o_p_t_i_o_n is one of the shell options accepted by the
- sshhoopptt builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). If
+ _s_h_o_p_t___o_p_t_i_o_n is one of the shell options accepted by the
+ sshhoopptt builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). If
_s_h_o_p_t___o_p_t_i_o_n is present, --OO sets the value of that option; ++OO
- unsets it. If _s_h_o_p_t___o_p_t_i_o_n is not supplied, the names and
- values of the shell options accepted by sshhoopptt are printed on
- the standard output. If the invocation option is ++OO, the
- output is displayed in a format that may be reused as input.
- ---- A ---- signals the end of options and disables further option
- processing. Any arguments after the ---- are treated as file-
+ unsets it. If _s_h_o_p_t___o_p_t_i_o_n is not supplied, the names and
+ values of the shell options accepted by sshhoopptt are printed on
+ the standard output. If the invocation option is ++OO, the
+ output is displayed in a format that may be reused as input.
+ ---- A ---- signals the end of options and disables further option
+ processing. Any arguments after the ---- are treated as file-
names and arguments. An argument of -- is equivalent to ----.
- BBaasshh also interprets a number of multi-character options. These
- options must appear on the command line before the single-character
+ BBaasshh also interprets a number of multi-character options. These
+ options must appear on the command line before the single-character
options to be recognized.
----ddeebbuuggggeerr
Arrange for the debugger profile to be executed before the shell
- starts. Turns on extended debugging mode (see the description
- of the eexxttddeebbuugg option to the sshhoopptt builtin below) and shell
- function tracing (see the description of the --oo ffuunnccttrraaccee option
- to the sseett builtin below).
+ starts. Turns on extended debugging mode (see the description
+ of the eexxttddeebbuugg option to the sshhoopptt builtin below).
----dduummpp--ppoo--ssttrriinnggss
- Equivalent to --DD, but the output is in the GNU _g_e_t_t_e_x_t ppoo (por-
+ Equivalent to --DD, but the output is in the GNU _g_e_t_t_e_x_t ppoo (por-
table object) file format.
----dduummpp--ssttrriinnggss
Equivalent to --DD.
- ----hheellpp Display a usage message on standard output and exit success-
+ ----hheellpp Display a usage message on standard output and exit success-
fully.
----iinniitt--ffiillee _f_i_l_e
----rrccffiillee _f_i_l_e
Execute commands from _f_i_l_e instead of the standard personal ini-
- tialization file _~_/_._b_a_s_h_r_c if the shell is interactive (see
+ tialization file _~_/_._b_a_s_h_r_c if the shell is interactive (see
IINNVVOOCCAATTIIOONN below).
----llooggiinn
Equivalent to --ll.
----nnooeeddiittiinngg
- Do not use the GNU rreeaaddlliinnee library to read command lines when
+ Do not use the GNU rreeaaddlliinnee library to read command lines when
the shell is interactive.
----nnoopprrooffiillee
- Do not read either the system-wide startup file _/_e_t_c_/_p_r_o_f_i_l_e or
- any of the personal initialization files _~_/_._b_a_s_h___p_r_o_f_i_l_e,
- _~_/_._b_a_s_h___l_o_g_i_n, or _~_/_._p_r_o_f_i_l_e. By default, bbaasshh reads these
- files when it is invoked as a login shell (see IINNVVOOCCAATTIIOONN
+ Do not read either the system-wide startup file _/_e_t_c_/_p_r_o_f_i_l_e or
+ any of the personal initialization files _~_/_._b_a_s_h___p_r_o_f_i_l_e,
+ _~_/_._b_a_s_h___l_o_g_i_n, or _~_/_._p_r_o_f_i_l_e. By default, bbaasshh reads these
+ files when it is invoked as a login shell (see IINNVVOOCCAATTIIOONN
below).
----nnoorrcc Do not read and execute the personal initialization file
- _~_/_._b_a_s_h_r_c if the shell is interactive. This option is on by
+ _~_/_._b_a_s_h_r_c if the shell is interactive. This option is on by
default if the shell is invoked as sshh.
----ppoossiixx
- Change the behavior of bbaasshh where the default operation differs
+ Change the behavior of bbaasshh where the default operation differs
from the POSIX standard to match the standard (_p_o_s_i_x _m_o_d_e).
----rreessttrriicctteedd
@@ -106,113 +105,113 @@ OOPPTTIIOONNSS
Equivalent to --vv.
----vveerrssiioonn
- Show version information for this instance of bbaasshh on the stan-
+ Show version information for this instance of bbaasshh on the stan-
dard output and exit successfully.
AARRGGUUMMEENNTTSS
If arguments remain after option processing, and neither the --cc nor the
- --ss option has been supplied, the first argument is assumed to be the
- name of a file containing shell commands. If bbaasshh is invoked in this
- fashion, $$00 is set to the name of the file, and the positional parame-
- ters are set to the remaining arguments. BBaasshh reads and executes com-
- mands from this file, then exits. BBaasshh's exit status is the exit sta-
- tus of the last command executed in the script. If no commands are
- executed, the exit status is 0. An attempt is first made to open the
+ --ss option has been supplied, the first argument is assumed to be the
+ name of a file containing shell commands. If bbaasshh is invoked in this
+ fashion, $$00 is set to the name of the file, and the positional parame-
+ ters are set to the remaining arguments. BBaasshh reads and executes com-
+ mands from this file, then exits. BBaasshh's exit status is the exit sta-
+ tus of the last command executed in the script. If no commands are
+ executed, the exit status is 0. An attempt is first made to open the
file in the current directory, and, if no file is found, then the shell
searches the directories in PPAATTHH for the script.
IINNVVOOCCAATTIIOONN
- A _l_o_g_i_n _s_h_e_l_l is one whose first character of argument zero is a --, or
+ A _l_o_g_i_n _s_h_e_l_l is one whose first character of argument zero is a --, or
one started with the ----llooggiinn option.
- An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments and
+ An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments and
without the --cc option whose standard input and error are both connected
- to terminals (as determined by _i_s_a_t_t_y(3)), or one started with the --ii
- option. PPSS11 is set and $$-- includes ii if bbaasshh is interactive, allowing
+ to terminals (as determined by _i_s_a_t_t_y(3)), or one started with the --ii
+ option. PPSS11 is set and $$-- includes ii if bbaasshh is interactive, allowing
a shell script or a startup file to test this state.
- The following paragraphs describe how bbaasshh executes its startup files.
- If any of the files exist but cannot be read, bbaasshh reports an error.
+ The following paragraphs describe how bbaasshh executes its startup files.
+ If any of the files exist but cannot be read, bbaasshh reports an error.
Tildes are expanded in file names as described below under TTiillddee EExxppaann--
ssiioonn in the EEXXPPAANNSSIIOONN section.
- When bbaasshh is invoked as an interactive login shell, or as a non-inter-
- active shell with the ----llooggiinn option, it first reads and executes com-
- mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
+ When bbaasshh is invoked as an interactive login shell, or as a non-inter-
+ active shell with the ----llooggiinn option, it first reads and executes com-
+ mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
that file, it looks for _~_/_._b_a_s_h___p_r_o_f_i_l_e, _~_/_._b_a_s_h___l_o_g_i_n, and _~_/_._p_r_o_f_i_l_e,
- in that order, and reads and executes commands from the first one that
- exists and is readable. The ----nnoopprrooffiillee option may be used when the
+ in that order, and reads and executes commands from the first one that
+ exists and is readable. The ----nnoopprrooffiillee option may be used when the
shell is started to inhibit this behavior.
- When a login shell exits, bbaasshh reads and executes commands from the
+ When a login shell exits, bbaasshh reads and executes commands from the
file _~_/_._b_a_s_h___l_o_g_o_u_t, if it exists.
- When an interactive shell that is not a login shell is started, bbaasshh
- reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. This
- may be inhibited by using the ----nnoorrcc option. The ----rrccffiillee _f_i_l_e option
- will force bbaasshh to read and execute commands from _f_i_l_e instead of
+ When an interactive shell that is not a login shell is started, bbaasshh
+ reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. This
+ may be inhibited by using the ----nnoorrcc option. The ----rrccffiillee _f_i_l_e option
+ will force bbaasshh to read and execute commands from _f_i_l_e instead of
_~_/_._b_a_s_h_r_c.
- When bbaasshh is started non-interactively, to run a shell script, for
+ When bbaasshh is started non-interactively, to run a shell script, for
example, it looks for the variable BBAASSHH__EENNVV in the environment, expands
- its value if it appears there, and uses the expanded value as the name
- of a file to read and execute. BBaasshh behaves as if the following com-
+ its value if it appears there, and uses the expanded value as the name
+ of a file to read and execute. BBaasshh behaves as if the following com-
mand were executed:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
- but the value of the PPAATTHH variable is not used to search for the file
+ but the value of the PPAATTHH variable is not used to search for the file
name.
- If bbaasshh is invoked with the name sshh, it tries to mimic the startup
- behavior of historical versions of sshh as closely as possible, while
- conforming to the POSIX standard as well. When invoked as an interac-
- tive login shell, or a non-interactive shell with the ----llooggiinn option,
- it first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and
- _~_/_._p_r_o_f_i_l_e, in that order. The ----nnoopprrooffiillee option may be used to
- inhibit this behavior. When invoked as an interactive shell with the
- name sshh, bbaasshh looks for the variable EENNVV, expands its value if it is
- defined, and uses the expanded value as the name of a file to read and
+ If bbaasshh is invoked with the name sshh, it tries to mimic the startup
+ behavior of historical versions of sshh as closely as possible, while
+ conforming to the POSIX standard as well. When invoked as an interac-
+ tive login shell, or a non-interactive shell with the ----llooggiinn option,
+ it first attempts to read and execute commands from _/_e_t_c_/_p_r_o_f_i_l_e and
+ _~_/_._p_r_o_f_i_l_e, in that order. The ----nnoopprrooffiillee option may be used to
+ inhibit this behavior. When invoked as an interactive shell with the
+ name sshh, bbaasshh looks for the variable EENNVV, expands its value if it is
+ defined, and uses the expanded value as the name of a file to read and
execute. Since a shell invoked as sshh does not attempt to read and exe-
- cute commands from any other startup files, the ----rrccffiillee option has no
- effect. A non-interactive shell invoked with the name sshh does not
- attempt to read any other startup files. When invoked as sshh, bbaasshh
+ cute commands from any other startup files, the ----rrccffiillee option has no
+ effect. A non-interactive shell invoked with the name sshh does not
+ attempt to read any other startup files. When invoked as sshh, bbaasshh
enters _p_o_s_i_x mode after the startup files are read.
- When bbaasshh is started in _p_o_s_i_x mode, as with the ----ppoossiixx command line
+ When bbaasshh is started in _p_o_s_i_x mode, as with the ----ppoossiixx command line
option, it follows the POSIX standard for startup files. In this mode,
- interactive shells expand the EENNVV variable and commands are read and
- executed from the file whose name is the expanded value. No other
+ interactive shells expand the EENNVV variable and commands are read and
+ executed from the file whose name is the expanded value. No other
startup files are read.
BBaasshh attempts to determine when it is being run with its standard input
- connected to a a network connection, as if by the remote shell daemon,
- usually _r_s_h_d, or the secure shell daemon _s_s_h_d. If bbaasshh determines it
- is being run in this fashion, it reads and executes commands from
- _~_/_._b_a_s_h_r_c, if that file exists and is readable. It will not do this if
- invoked as sshh. The ----nnoorrcc option may be used to inhibit this behavior,
- and the ----rrccffiillee option may be used to force another file to be read,
- but _r_s_h_d does not generally invoke the shell with those options or
- allow them to be specified.
+ connected to a network connection, as when executed by the remote shell
+ daemon, usually _r_s_h_d, or the secure shell daemon _s_s_h_d. If bbaasshh deter-
+ mines it is being run in this fashion, it reads and executes commands
+ from _~_/_._b_a_s_h_r_c, if that file exists and is readable. It will not do
+ this if invoked as sshh. The ----nnoorrcc option may be used to inhibit this
+ behavior, and the ----rrccffiillee option may be used to force another file to
+ be read, but _r_s_h_d does not generally invoke the shell with those
+ options or allow them to be specified.
If the shell is started with the effective user (group) id not equal to
the real user (group) id, and the --pp option is not supplied, no startup
files are read, shell functions are not inherited from the environment,
- the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
- appear in the environment, are ignored, and the effective user id is
- set to the real user id. If the --pp option is supplied at invocation,
- the startup behavior is the same, but the effective user id is not
+ the SSHHEELLLLOOPPTTSS, BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they
+ appear in the environment, are ignored, and the effective user id is
+ set to the real user id. If the --pp option is supplied at invocation,
+ the startup behavior is the same, but the effective user id is not
reset.
DDEEFFIINNIITTIIOONNSS
- The following definitions are used throughout the rest of this docu-
+ The following definitions are used throughout the rest of this docu-
ment.
bbllaannkk A space or tab.
- wwoorrdd A sequence of characters considered as a single unit by the
+ wwoorrdd A sequence of characters considered as a single unit by the
shell. Also known as a ttookkeenn.
- nnaammee A _w_o_r_d consisting only of alphanumeric characters and under-
- scores, and beginning with an alphabetic character or an under-
+ nnaammee A _w_o_r_d consisting only of alphanumeric characters and under-
+ scores, and beginning with an alphabetic character or an under-
score. Also referred to as an iiddeennttiiffiieerr.
mmeettaacchhaarraacctteerr
- A character that, when unquoted, separates words. One of the
+ A character that, when unquoted, separates words. One of the
following:
|| && ;; (( )) << >> ssppaaccee ttaabb
ccoonnttrrooll ooppeerraattoorr
@@ -223,52 +222,59 @@ DDEEFFIINNIITTIIOONNSS
RREESSEERRVVEEDD WWOORRDDSS
_R_e_s_e_r_v_e_d _w_o_r_d_s are words that have a special meaning to the shell. The
following words are recognized as reserved when unquoted and either the
- first word of a simple command (see SSHHEELLLL GGRRAAMMMMAARR below) or the third
+ first word of a simple command (see SSHHEELLLL GGRRAAMMMMAARR below) or the third
word of a ccaassee or ffoorr command:
- !! ccaassee ddoo ddoonnee eelliiff eellssee eessaacc ffii ffoorr ffuunnccttiioonn iiff iinn sseelleecctt tthheenn uunnttiill
+ !! ccaassee ddoo ddoonnee eelliiff eellssee eessaacc ffii ffoorr ffuunnccttiioonn iiff iinn sseelleecctt tthheenn uunnttiill
wwhhiillee {{ }} ttiimmee [[[[ ]]]]
SSHHEELLLL GGRRAAMMMMAARR
SSiimmppllee CCoommmmaannddss
- A _s_i_m_p_l_e _c_o_m_m_a_n_d is a sequence of optional variable assignments fol-
- lowed by bbllaannkk-separated words and redirections, and terminated by a
+ A _s_i_m_p_l_e _c_o_m_m_a_n_d is a sequence of optional variable assignments fol-
+ lowed by bbllaannkk-separated words and redirections, and terminated by a
_c_o_n_t_r_o_l _o_p_e_r_a_t_o_r. The first word specifies the command to be executed,
- and is passed as argument zero. The remaining words are passed as
+ and is passed as argument zero. The remaining words are passed as
arguments to the invoked command.
- The return value of a _s_i_m_p_l_e _c_o_m_m_a_n_d is its exit status, or 128+_n if
+ The return value of a _s_i_m_p_l_e _c_o_m_m_a_n_d is its exit status, or 128+_n if
the command is terminated by signal _n.
PPiippeelliinneess
- A _p_i_p_e_l_i_n_e is a sequence of one or more commands separated by one of
+ A _p_i_p_e_l_i_n_e is a sequence of one or more commands separated by one of
the control operators || or ||&&. The format for a pipeline is:
[ttiimmee [--pp]] [ ! ] _c_o_m_m_a_n_d [ [|||||&&] _c_o_m_m_a_n_d_2 ... ]
- The standard output of _c_o_m_m_a_n_d is connected via a pipe to the standard
- input of _c_o_m_m_a_n_d_2. This connection is performed before any redirec-
+ The standard output of _c_o_m_m_a_n_d is connected via a pipe to the standard
+ input of _c_o_m_m_a_n_d_2. This connection is performed before any redirec-
tions specified by the command (see RREEDDIIRREECCTTIIOONN below). If ||&& is used,
the standard error of _c_o_m_m_a_n_d is connected to _c_o_m_m_a_n_d_2's standard input
- through the pipe; it is shorthand for 22>>&&11 ||. This implicit redirect-
+ through the pipe; it is shorthand for 22>>&&11 ||. This implicit redirect-
ion of the standard error is performed after any redirections specified
by the command.
The return status of a pipeline is the exit status of the last command,
- unless the ppiippeeffaaiill option is enabled. If ppiippeeffaaiill is enabled, the
- pipeline's return status is the value of the last (rightmost) command
- to exit with a non-zero status, or zero if all commands exit success-
+ unless the ppiippeeffaaiill option is enabled. If ppiippeeffaaiill is enabled, the
+ pipeline's return status is the value of the last (rightmost) command
+ to exit with a non-zero status, or zero if all commands exit success-
fully. If the reserved word !! precedes a pipeline, the exit status of
- that pipeline is the logical negation of the exit status as described
- above. The shell waits for all commands in the pipeline to terminate
+ that pipeline is the logical negation of the exit status as described
+ above. The shell waits for all commands in the pipeline to terminate
before returning a value.
- If the ttiimmee reserved word precedes a pipeline, the elapsed as well as
- user and system time consumed by its execution are reported when the
- pipeline terminates. The --pp option changes the output format to that
- specified by POSIX. The TTIIMMEEFFOORRMMAATT variable may be set to a format
- string that specifies how the timing information should be displayed;
- see the description of TTIIMMEEFFOORRMMAATT under SShheellll VVaarriiaabblleess below.
+ If the ttiimmee reserved word precedes a pipeline, the elapsed as well as
+ user and system time consumed by its execution are reported when the
+ pipeline terminates. The --pp option changes the output format to that
+ specified by POSIX. When the shell is in _p_o_s_i_x _m_o_d_e, it does not rec-
+ ognize ttiimmee as a reserved word if the next token begins with a `-'.
+ The TTIIMMEEFFOORRMMAATT variable may be set to a format string that specifies
+ how the timing information should be displayed; see the description of
+ TTIIMMEEFFOORRMMAATT under SShheellll VVaarriiaabblleess below.
+
+ When the shell is in _p_o_s_i_x _m_o_d_e, ttiimmee may be followed by a newline. In
+ this case, the shell displays the total user and system time consumed
+ by the shell and its children. The TTIIMMEEFFOORRMMAATT variable may be used to
+ specify the format of the time information.
Each command in a pipeline is executed as a separate process (i.e., in
a subshell).
@@ -345,7 +351,7 @@ SSHHEELLLL GGRRAAMMMMAARR
tional operators such as --ff must be unquoted to be recognized as
primaries.
- When used with [[[[, The << and >> operators sort lexicographically
+ When used with [[[[, the << and >> operators sort lexicographically
using the current locale.
When the ==== and !!== operators are used, the string to the right
@@ -458,117 +464,119 @@ SSHHEELLLL GGRRAAMMMMAARR
tus of the last command executed, or zero if no condition tested
true.
- wwhhiillee _l_i_s_t; ddoo _l_i_s_t; ddoonnee
- uunnttiill _l_i_s_t; ddoo _l_i_s_t; ddoonnee
- The wwhhiillee command continuously executes the ddoo _l_i_s_t as long as
- the last command in _l_i_s_t returns an exit status of zero. The
- uunnttiill command is identical to the wwhhiillee command, except that the
- test is negated; the ddoo _l_i_s_t is executed as long as the last
- command in _l_i_s_t returns a non-zero exit status. The exit status
- of the wwhhiillee and uunnttiill commands is the exit status of the last
- ddoo _l_i_s_t command executed, or zero if none was executed.
+ wwhhiillee _l_i_s_t_-_1; ddoo _l_i_s_t_-_2; ddoonnee
+ uunnttiill _l_i_s_t_-_1; ddoo _l_i_s_t_-_2; ddoonnee
+ The wwhhiillee command continuously executes the list _l_i_s_t_-_2 as long
+ as the last command in the list _l_i_s_t_-_1 returns an exit status of
+ zero. The uunnttiill command is identical to the wwhhiillee command,
+ except that the test is negated; _l_i_s_t_-_2 is executed as long as
+ the last command in _l_i_s_t_-_1 returns a non-zero exit status. The
+ exit status of the wwhhiillee and uunnttiill commands is the exit status
+ of the last command executed in _l_i_s_t_-_2, or zero if none was exe-
+ cuted.
CCoopprroocceesssseess
A _c_o_p_r_o_c_e_s_s is a shell command preceded by the ccoopprroocc reserved word. A
- coprocess is executed asynchronously in a subshell, as if the command
- had been terminated with the && control operator, with a two-way pipe
+ coprocess is executed asynchronously in a subshell, as if the command
+ had been terminated with the && control operator, with a two-way pipe
established between the executing shell and the coprocess.
The format for a coprocess is:
ccoopprroocc [_N_A_M_E] _c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n_s]
- This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the
+ This creates a coprocess named _N_A_M_E. If _N_A_M_E is not supplied, the
default name is _C_O_P_R_O_C. _N_A_M_E must not be supplied if _c_o_m_m_a_n_d is a _s_i_m_-
_p_l_e _c_o_m_m_a_n_d (see above); otherwise, it is interpreted as the first word
- of the simple command. When the coproc is executed, the shell creates
- an array variable (see AArrrraayyss below) named _N_A_M_E in the context of the
- executing shell. The standard output of _c_o_m_m_a_n_d is connected via a
- pipe to a file descriptor in the executing shell, and that file
- descriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is
- connected via a pipe to a file descriptor in the executing shell, and
- that file descriptor is assigned to _N_A_M_E[1]. This pipe is established
- before any redirections specified by the command (see RREEDDIIRREECCTTIIOONN
- below). The file descriptors can be utilized as arguments to shell
- commands and redirections using standard word expansions. The process
- id of the shell spawned to execute the coprocess is available as the
- value of the variable _N_A_M_E_PID. The wwaaiitt builtin command may be used
+ of the simple command. When the coproc is executed, the shell creates
+ an array variable (see AArrrraayyss below) named _N_A_M_E in the context of the
+ executing shell. The standard output of _c_o_m_m_a_n_d is connected via a
+ pipe to a file descriptor in the executing shell, and that file
+ descriptor is assigned to _N_A_M_E[0]. The standard input of _c_o_m_m_a_n_d is
+ connected via a pipe to a file descriptor in the executing shell, and
+ that file descriptor is assigned to _N_A_M_E[1]. This pipe is established
+ before any redirections specified by the command (see RREEDDIIRREECCTTIIOONN
+ below). The file descriptors can be utilized as arguments to shell
+ commands and redirections using standard word expansions. The process
+ ID of the shell spawned to execute the coprocess is available as the
+ value of the variable _N_A_M_E_PID. The wwaaiitt builtin command may be used
to wait for the coprocess to terminate.
The return status of a coprocess is the exit status of _c_o_m_m_a_n_d.
SShheellll FFuunnccttiioonn DDeeffiinniittiioonnss
- A shell function is an object that is called like a simple command and
- executes a compound command with a new set of positional parameters.
+ A shell function is an object that is called like a simple command and
+ executes a compound command with a new set of positional parameters.
Shell functions are declared as follows:
- [ ffuunnccttiioonn ] _n_a_m_e () _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n]
- This defines a function named _n_a_m_e. The reserved word ffuunnccttiioonn
- is optional. If the ffuunnccttiioonn reserved word is supplied, the
- parentheses are optional. The _b_o_d_y of the function is the com-
- pound command _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d (see CCoommppoouunndd CCoommmmaannddss above).
- That command is usually a _l_i_s_t of commands between { and }, but
- may be any command listed under CCoommppoouunndd CCoommmmaannddss above. _c_o_m_-
+ _n_a_m_e () _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n]
+ ffuunnccttiioonn _n_a_m_e [()] _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d [_r_e_d_i_r_e_c_t_i_o_n]
+ This defines a function named _n_a_m_e. The reserved word ffuunnccttiioonn
+ is optional. If the ffuunnccttiioonn reserved word is supplied, the
+ parentheses are optional. The _b_o_d_y of the function is the com-
+ pound command _c_o_m_p_o_u_n_d_-_c_o_m_m_a_n_d (see CCoommppoouunndd CCoommmmaannddss above).
+ That command is usually a _l_i_s_t of commands between { and }, but
+ may be any command listed under CCoommppoouunndd CCoommmmaannddss above. _c_o_m_-
_p_o_u_n_d_-_c_o_m_m_a_n_d is executed whenever _n_a_m_e is specified as the name
- of a simple command. Any redirections (see RREEDDIIRREECCTTIIOONN below)
- specified when a function is defined are performed when the
- function is executed. The exit status of a function definition
+ of a simple command. Any redirections (see RREEDDIIRREECCTTIIOONN below)
+ specified when a function is defined are performed when the
+ function is executed. The exit status of a function definition
is zero unless a syntax error occurs or a readonly function with
the same name already exists. When executed, the exit status of
- a function is the exit status of the last command executed in
+ a function is the exit status of the last command executed in
the body. (See FFUUNNCCTTIIOONNSS below.)
CCOOMMMMEENNTTSS
In a non-interactive shell, or an interactive shell in which the iinntteerr--
- aaccttiivvee__ccoommmmeennttss option to the sshhoopptt builtin is enabled (see SSHHEELLLL
- BBUUIILLTTIINN CCOOMMMMAANNDDSS below), a word beginning with ## causes that word and
- all remaining characters on that line to be ignored. An interactive
- shell without the iinntteerraaccttiivvee__ccoommmmeennttss option enabled does not allow
+ aaccttiivvee__ccoommmmeennttss option to the sshhoopptt builtin is enabled (see SSHHEELLLL
+ BBUUIILLTTIINN CCOOMMMMAANNDDSS below), a word beginning with ## causes that word and
+ all remaining characters on that line to be ignored. An interactive
+ shell without the iinntteerraaccttiivvee__ccoommmmeennttss option enabled does not allow
comments. The iinntteerraaccttiivvee__ccoommmmeennttss option is on by default in interac-
tive shells.
QQUUOOTTIINNGG
- _Q_u_o_t_i_n_g is used to remove the special meaning of certain characters or
- words to the shell. Quoting can be used to disable special treatment
+ _Q_u_o_t_i_n_g is used to remove the special meaning of certain characters or
+ words to the shell. Quoting can be used to disable special treatment
for special characters, to prevent reserved words from being recognized
as such, and to prevent parameter expansion.
- Each of the _m_e_t_a_c_h_a_r_a_c_t_e_r_s listed above under DDEEFFIINNIITTIIOONNSS has special
+ Each of the _m_e_t_a_c_h_a_r_a_c_t_e_r_s listed above under DDEEFFIINNIITTIIOONNSS has special
meaning to the shell and must be quoted if it is to represent itself.
- When the command history expansion facilities are being used (see HHIISS--
+ When the command history expansion facilities are being used (see HHIISS--
TTOORRYY EEXXPPAANNSSIIOONN below), the _h_i_s_t_o_r_y _e_x_p_a_n_s_i_o_n character, usually !!, must
be quoted to prevent history expansion.
- There are three quoting mechanisms: the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r, single
+ There are three quoting mechanisms: the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r, single
quotes, and double quotes.
- A non-quoted backslash (\\) is the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r. It preserves the
+ A non-quoted backslash (\\) is the _e_s_c_a_p_e _c_h_a_r_a_c_t_e_r. It preserves the
literal value of the next character that follows, with the exception of
- <newline>. If a \\<newline> pair appears, and the backslash is not
- itself quoted, the \\<newline> is treated as a line continuation (that
+ <newline>. If a \\<newline> pair appears, and the backslash is not
+ itself quoted, the \\<newline> is treated as a line continuation (that
is, it is removed from the input stream and effectively ignored).
- Enclosing characters in single quotes preserves the literal value of
+ Enclosing characters in single quotes preserves the literal value of
each character within the quotes. A single quote may not occur between
single quotes, even when preceded by a backslash.
- Enclosing characters in double quotes preserves the literal value of
- all characters within the quotes, with the exception of $$, ``, \\, and,
- when history expansion is enabled, !!. The characters $$ and `` retain
- their special meaning within double quotes. The backslash retains its
- special meaning only when followed by one of the following characters:
- $$, ``, "", \\, or <<nneewwlliinnee>>. A double quote may be quoted within double
+ Enclosing characters in double quotes preserves the literal value of
+ all characters within the quotes, with the exception of $$, ``, \\, and,
+ when history expansion is enabled, !!. The characters $$ and `` retain
+ their special meaning within double quotes. The backslash retains its
+ special meaning only when followed by one of the following characters:
+ $$, ``, "", \\, or <<nneewwlliinnee>>. A double quote may be quoted within double
quotes by preceding it with a backslash. If enabled, history expansion
- will be performed unless an !! appearing in double quotes is escaped
+ will be performed unless an !! appearing in double quotes is escaped
using a backslash. The backslash preceding the !! is not removed.
- The special parameters ** and @@ have special meaning when in double
+ The special parameters ** and @@ have special meaning when in double
quotes (see PPAARRAAMMEETTEERRSS below).
Words of the form $$'_s_t_r_i_n_g' are treated specially. The word expands to
- _s_t_r_i_n_g, with backslash-escaped characters replaced as specified by the
- ANSI C standard. Backslash escape sequences, if present, are decoded
+ _s_t_r_i_n_g, with backslash-escaped characters replaced as specified by the
+ ANSI C standard. Backslash escape sequences, if present, are decoded
as follows:
\\aa alert (bell)
\\bb backspace
@@ -582,178 +590,182 @@ QQUUOOTTIINNGG
\\\\ backslash
\\'' single quote
\\"" double quote
- \\_n_n_n the eight-bit character whose value is the octal value
+ \\_n_n_n the eight-bit character whose value is the octal value
_n_n_n (one to three digits)
- \\xx_H_H the eight-bit character whose value is the hexadecimal
+ \\xx_H_H the eight-bit character whose value is the hexadecimal
value _H_H (one or two hex digits)
+ \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H (one to four hex digits)
+ \\UU_H_H_H_H_H_H_H_H
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits)
\\cc_x a control-_x character
- The expanded result is single-quoted, as if the dollar sign had not
+ The expanded result is single-quoted, as if the dollar sign had not
been present.
A double-quoted string preceded by a dollar sign ($$"_s_t_r_i_n_g") will cause
- the string to be translated according to the current locale. If the
- current locale is CC or PPOOSSIIXX, the dollar sign is ignored. If the
+ the string to be translated according to the current locale. If the
+ current locale is CC or PPOOSSIIXX, the dollar sign is ignored. If the
string is translated and replaced, the replacement is double-quoted.
PPAARRAAMMEETTEERRSS
- A _p_a_r_a_m_e_t_e_r is an entity that stores values. It can be a _n_a_m_e, a num-
+ A _p_a_r_a_m_e_t_e_r is an entity that stores values. It can be a _n_a_m_e, a num-
ber, or one of the special characters listed below under SSppeecciiaall PPaarraamm--
- eetteerrss. A _v_a_r_i_a_b_l_e is a parameter denoted by a _n_a_m_e. A variable has a
- _v_a_l_u_e and zero or more _a_t_t_r_i_b_u_t_e_s. Attributes are assigned using the
- ddeeccllaarree builtin command (see ddeeccllaarree below in SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS).
+ eetteerrss. A _v_a_r_i_a_b_l_e is a parameter denoted by a _n_a_m_e. A variable has a
+ _v_a_l_u_e and zero or more _a_t_t_r_i_b_u_t_e_s. Attributes are assigned using the
+ ddeeccllaarree builtin command (see ddeeccllaarree below in SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS).
A parameter is set if it has been assigned a value. The null string is
- a valid value. Once a variable is set, it may be unset only by using
+ a valid value. Once a variable is set, it may be unset only by using
the uunnsseett builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
A _v_a_r_i_a_b_l_e may be assigned to by a statement of the form
_n_a_m_e=[_v_a_l_u_e]
- If _v_a_l_u_e is not given, the variable is assigned the null string. All
- _v_a_l_u_e_s undergo tilde expansion, parameter and variable expansion, com-
- mand substitution, arithmetic expansion, and quote removal (see EEXXPPAANN--
+ If _v_a_l_u_e is not given, the variable is assigned the null string. All
+ _v_a_l_u_e_s undergo tilde expansion, parameter and variable expansion, com-
+ mand substitution, arithmetic expansion, and quote removal (see EEXXPPAANN--
SSIIOONN below). If the variable has its iinntteeggeerr attribute set, then _v_a_l_u_e
is evaluated as an arithmetic expression even if the $((...)) expansion
- is not used (see AArriitthhmmeettiicc EExxppaannssiioonn below). Word splitting is not
- performed, with the exception of ""$$@@"" as explained below under SSppeecciiaall
- PPaarraammeetteerrss. Pathname expansion is not performed. Assignment state-
- ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett,
+ is not used (see AArriitthhmmeettiicc EExxppaannssiioonn below). Word splitting is not
+ performed, with the exception of ""$$@@"" as explained below under SSppeecciiaall
+ PPaarraammeetteerrss. Pathname expansion is not performed. Assignment state-
+ ments may also appear as arguments to the aalliiaass, ddeeccllaarree, ttyyppeesseett,
eexxppoorrtt, rreeaaddoonnllyy, and llooccaall builtin commands.
- In the context where an assignment statement is assigning a value to a
+ In the context where an assignment statement is assigning a value to a
shell variable or array index, the += operator can be used to append to
or add to the variable's previous value. When += is applied to a vari-
- able for which the integer attribute has been set, _v_a_l_u_e is evaluated
- as an arithmetic expression and added to the variable's current value,
+ able for which the _i_n_t_e_g_e_r attribute has been set, _v_a_l_u_e is evaluated
+ as an arithmetic expression and added to the variable's current value,
which is also evaluated. When += is applied to an array variable using
- compound assignment (see AArrrraayyss below), the variable's value is not
+ compound assignment (see AArrrraayyss below), the variable's value is not
unset (as it is when using =), and new values are appended to the array
- beginning at one greater than the array's maximum index (for indexed
+ beginning at one greater than the array's maximum index (for indexed
arrays) or added as additional key-value pairs in an associative array.
- When applied to a string-valued variable, _v_a_l_u_e is expanded and
+ When applied to a string-valued variable, _v_a_l_u_e is expanded and
appended to the variable's value.
PPoossiittiioonnaall PPaarraammeetteerrss
- A _p_o_s_i_t_i_o_n_a_l _p_a_r_a_m_e_t_e_r is a parameter denoted by one or more digits,
+ A _p_o_s_i_t_i_o_n_a_l _p_a_r_a_m_e_t_e_r is a parameter denoted by one or more digits,
other than the single digit 0. Positional parameters are assigned from
- the shell's arguments when it is invoked, and may be reassigned using
- the sseett builtin command. Positional parameters may not be assigned to
- with assignment statements. The positional parameters are temporarily
+ the shell's arguments when it is invoked, and may be reassigned using
+ the sseett builtin command. Positional parameters may not be assigned to
+ with assignment statements. The positional parameters are temporarily
replaced when a shell function is executed (see FFUUNNCCTTIIOONNSS below).
- When a positional parameter consisting of more than a single digit is
+ When a positional parameter consisting of more than a single digit is
expanded, it must be enclosed in braces (see EEXXPPAANNSSIIOONN below).
SSppeecciiaall PPaarraammeetteerrss
- The shell treats several parameters specially. These parameters may
+ The shell treats several parameters specially. These parameters may
only be referenced; assignment to them is not allowed.
- ** Expands to the positional parameters, starting from one. When
- the expansion occurs within double quotes, it expands to a sin-
+ ** Expands to the positional parameters, starting from one. When
+ the expansion occurs within double quotes, it expands to a sin-
gle word with the value of each parameter separated by the first
character of the IIFFSS special variable. That is, "$$**" is equiva-
lent to "$$11_c$$22_c......", where _c is the first character of the value
- of the IIFFSS variable. If IIFFSS is unset, the parameters are sepa-
- rated by spaces. If IIFFSS is null, the parameters are joined
+ of the IIFFSS variable. If IIFFSS is unset, the parameters are sepa-
+ rated by spaces. If IIFFSS is null, the parameters are joined
without intervening separators.
- @@ Expands to the positional parameters, starting from one. When
+ @@ Expands to the positional parameters, starting from one. When
the expansion occurs within double quotes, each parameter
expands to a separate word. That is, "$$@@" is equivalent to "$$11"
- "$$22" ... If the double-quoted expansion occurs within a word,
- the expansion of the first parameter is joined with the begin-
- ning part of the original word, and the expansion of the last
- parameter is joined with the last part of the original word.
- When there are no positional parameters, "$$@@" and $$@@ expand to
+ "$$22" ... If the double-quoted expansion occurs within a word,
+ the expansion of the first parameter is joined with the begin-
+ ning part of the original word, and the expansion of the last
+ parameter is joined with the last part of the original word.
+ When there are no positional parameters, "$$@@" and $$@@ expand to
nothing (i.e., they are removed).
## Expands to the number of positional parameters in decimal.
- ?? Expands to the exit status of the most recently executed fore-
+ ?? Expands to the exit status of the most recently executed fore-
ground pipeline.
- -- Expands to the current option flags as specified upon invoca-
- tion, by the sseett builtin command, or those set by the shell
+ -- Expands to the current option flags as specified upon invoca-
+ tion, by the sseett builtin command, or those set by the shell
itself (such as the --ii option).
- $$ Expands to the process ID of the shell. In a () subshell, it
- expands to the process ID of the current shell, not the sub-
+ $$ Expands to the process ID of the shell. In a () subshell, it
+ expands to the process ID of the current shell, not the sub-
shell.
- !! Expands to the process ID of the most recently executed back-
+ !! Expands to the process ID of the most recently executed back-
ground (asynchronous) command.
- 00 Expands to the name of the shell or shell script. This is set
+ 00 Expands to the name of the shell or shell script. This is set
at shell initialization. If bbaasshh is invoked with a file of com-
- mands, $$00 is set to the name of that file. If bbaasshh is started
- with the --cc option, then $$00 is set to the first argument after
- the string to be executed, if one is present. Otherwise, it is
- set to the file name used to invoke bbaasshh, as given by argument
+ mands, $$00 is set to the name of that file. If bbaasshh is started
+ with the --cc option, then $$00 is set to the first argument after
+ the string to be executed, if one is present. Otherwise, it is
+ set to the file name used to invoke bbaasshh, as given by argument
zero.
- __ At shell startup, set to the absolute pathname used to invoke
- the shell or shell script being executed as passed in the envi-
- ronment or argument list. Subsequently, expands to the last
- argument to the previous command, after expansion. Also set to
- the full pathname used to invoke each command executed and
+ __ At shell startup, set to the absolute pathname used to invoke
+ the shell or shell script being executed as passed in the envi-
+ ronment or argument list. Subsequently, expands to the last
+ argument to the previous command, after expansion. Also set to
+ the full pathname used to invoke each command executed and
placed in the environment exported to that command. When check-
- ing mail, this parameter holds the name of the mail file cur-
+ ing mail, this parameter holds the name of the mail file cur-
rently being checked.
SShheellll VVaarriiaabblleess
The following variables are set by the shell:
- BBAASSHH Expands to the full file name used to invoke this instance of
+ BBAASSHH Expands to the full file name used to invoke this instance of
bbaasshh.
BBAASSHHOOPPTTSS
- A colon-separated list of enabled shell options. Each word in
- the list is a valid argument for the --ss option to the sshhoopptt
+ A colon-separated list of enabled shell options. Each word in
+ the list is a valid argument for the --ss option to the sshhoopptt
builtin command (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The options
- appearing in BBAASSHHOOPPTTSS are those reported as _o_n by sshhoopptt. If
- this variable is in the environment when bbaasshh starts up, each
- shell option in the list will be enabled before reading any
+ appearing in BBAASSHHOOPPTTSS are those reported as _o_n by sshhoopptt. If
+ this variable is in the environment when bbaasshh starts up, each
+ shell option in the list will be enabled before reading any
startup files. This variable is read-only.
BBAASSHHPPIIDD
- Expands to the process id of the current bbaasshh process. This
- differs from $$$$ under certain circumstances, such as subshells
+ Expands to the process ID of the current bbaasshh process. This
+ differs from $$$$ under certain circumstances, such as subshells
that do not require bbaasshh to be re-initialized.
BBAASSHH__AALLIIAASSEESS
- An associative array variable whose members correspond to the
- internal list of aliases as maintained by the aalliiaass builtin Ele-
- ments added to this array appear in the alias list; unsetting
- array elements cause aliases to be removed from the alias list.
+ An associative array variable whose members correspond to the
+ internal list of aliases as maintained by the aalliiaass builtin.
+ Elements added to this array appear in the alias list; unsetting
+ array elements cause aliases to be removed from the alias list.
BBAASSHH__AARRGGCC
- An array variable whose values are the number of parameters in
+ An array variable whose values are the number of parameters in
each frame of the current bbaasshh execution call stack. The number
- of parameters to the current subroutine (shell function or
- script executed with .. or ssoouurrccee) is at the top of the stack.
- When a subroutine is executed, the number of parameters passed
+ of parameters to the current subroutine (shell function or
+ script executed with .. or ssoouurrccee) is at the top of the stack.
+ When a subroutine is executed, the number of parameters passed
is pushed onto BBAASSHH__AARRGGCC. The shell sets BBAASSHH__AARRGGCC only when in
- extended debugging mode (see the description of the eexxttddeebbuugg
+ extended debugging mode (see the description of the eexxttddeebbuugg
option to the sshhoopptt builtin below)
BBAASSHH__AARRGGVV
- An array variable containing all of the parameters in the cur-
+ An array variable containing all of the parameters in the cur-
rent bbaasshh execution call stack. The final parameter of the last
- subroutine call is at the top of the stack; the first parameter
+ subroutine call is at the top of the stack; the first parameter
of the initial call is at the bottom. When a subroutine is exe-
- cuted, the parameters supplied are pushed onto BBAASSHH__AARRGGVV. The
- shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see
- the description of the eexxttddeebbuugg option to the sshhoopptt builtin
+ cuted, the parameters supplied are pushed onto BBAASSHH__AARRGGVV. The
+ shell sets BBAASSHH__AARRGGVV only when in extended debugging mode (see
+ the description of the eexxttddeebbuugg option to the sshhoopptt builtin
below)
BBAASSHH__CCMMDDSS
- An associative array variable whose members correspond to the
- internal hash table of commands as maintained by the hhaasshh
+ An associative array variable whose members correspond to the
+ internal hash table of commands as maintained by the hhaasshh
builtin. Elements added to this array appear in the hash table;
- unsetting array elements cause commands to be removed from the
+ unsetting array elements cause commands to be removed from the
hash table.
BBAASSHH__CCOOMMMMAANNDD
- The command currently being executed or about to be executed,
+ The command currently being executed or about to be executed,
unless the shell is executing a command as the result of a trap,
- in which case it is the command executing at the time of the
+ in which case it is the command executing at the time of the
trap.
BBAASSHH__EEXXEECCUUTTIIOONN__SSTTRRIINNGG
The command argument to the --cc invocation option.
BBAASSHH__LLIINNEENNOO
- An array variable whose members are the line numbers in source
- files corresponding to each member of FFUUNNCCNNAAMMEE.
- $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}} is the line number in the source file where
- $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called (or $${{BBAASSHH__LLIINNEENNOO[[_$_i_-_1]]}} if refer-
- enced within another shell function). The corresponding source
- file name is $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}}. Use LLIINNEENNOO to obtain the cur-
- rent line number.
+ An array variable whose members are the line numbers in source
+ files where each corresponding member of FFUUNNCCNNAAMMEE was invoked.
+ $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}} is the line number in the source file
+ ($${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}}) where $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called (or
+ $${{BBAASSHH__LLIINNEENNOO[[_$_i_-_1]]}} if referenced within another shell func-
+ tion). Use LLIINNEENNOO to obtain the current line number.
BBAASSHH__RREEMMAATTCCHH
An array variable whose members are assigned by the ==~~ binary
operator to the [[[[ conditional command. The element with index
@@ -762,30 +774,33 @@ PPAARRAAMMEETTEERRSS
string matching the _nth parenthesized subexpression. This vari-
able is read-only.
BBAASSHH__SSOOUURRCCEE
- An array variable whose members are the source filenames corre-
- sponding to the elements in the FFUUNNCCNNAAMMEE array variable.
+ An array variable whose members are the source filenames where
+ the corresponding shell function names in the FFUUNNCCNNAAMMEE array
+ variable are defined. The shell function $${{FFUUNNCCNNAAMMEE[[_$_i]]}} is
+ defined in the file $${{BBAASSHH__SSOOUURRCCEE[[_$_i]]}} and called from
+ $${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}}.
BBAASSHH__SSUUBBSSHHEELLLL
- Incremented by one each time a subshell or subshell environment
+ Incremented by one each time a subshell or subshell environment
is spawned. The initial value is 0.
BBAASSHH__VVEERRSSIINNFFOO
A readonly array variable whose members hold version information
- for this instance of bbaasshh. The values assigned to the array
+ for this instance of bbaasshh. The values assigned to the array
members are as follows:
- BBAASSHH__VVEERRSSIINNFFOO[[0]] The major version number (the _r_e_l_e_a_s_e).
- BBAASSHH__VVEERRSSIINNFFOO[[1]] The minor version number (the _v_e_r_s_i_o_n).
+ BBAASSHH__VVEERRSSIINNFFOO[[0]] The major version number (the _r_e_l_e_a_s_e).
+ BBAASSHH__VVEERRSSIINNFFOO[[1]] The minor version number (the _v_e_r_s_i_o_n).
BBAASSHH__VVEERRSSIINNFFOO[[2]] The patch level.
BBAASSHH__VVEERRSSIINNFFOO[[3]] The build version.
BBAASSHH__VVEERRSSIINNFFOO[[4]] The release status (e.g., _b_e_t_a_1).
BBAASSHH__VVEERRSSIINNFFOO[[5]] The value of MMAACCHHTTYYPPEE.
BBAASSHH__VVEERRSSIIOONN
- Expands to a string describing the version of this instance of
+ Expands to a string describing the version of this instance of
bbaasshh.
CCOOMMPP__CCWWOORRDD
- An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current
+ An index into $${{CCOOMMPP__WWOORRDDSS}} of the word containing the current
cursor position. This variable is available only in shell func-
- tions invoked by the programmable completion facilities (see
+ tions invoked by the programmable completion facilities (see
PPrrooggrraammmmaabbllee CCoommpplleettiioonn below).
CCOOMMPP__KKEEYY
@@ -793,98 +808,115 @@ PPAARRAAMMEETTEERRSS
rent completion function.
CCOOMMPP__LLIINNEE
- The current command line. This variable is available only in
- shell functions and external commands invoked by the pro-
- grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
+ The current command line. This variable is available only in
+ shell functions and external commands invoked by the pro-
+ grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
below).
CCOOMMPP__PPOOIINNTT
- The index of the current cursor position relative to the begin-
- ning of the current command. If the current cursor position is
+ The index of the current cursor position relative to the begin-
+ ning of the current command. If the current cursor position is
at the end of the current command, the value of this variable is
- equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in
- shell functions and external commands invoked by the pro-
- grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
+ equal to $${{##CCOOMMPP__LLIINNEE}}. This variable is available only in
+ shell functions and external commands invoked by the pro-
+ grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
below).
CCOOMMPP__TTYYPPEE
- Set to an integer value corresponding to the type of completion
- attempted that caused a completion function to be called: _T_A_B,
- for normal completion, _?, for listing completions after succes-
- sive tabs, _!, for listing alternatives on partial word comple-
- tion, _@, to list completions if the word is not unmodified, or
- _%, for menu completion. This variable is available only in
- shell functions and external commands invoked by the pro-
- grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
+ Set to an integer value corresponding to the type of completion
+ attempted that caused a completion function to be called: _T_A_B,
+ for normal completion, _?, for listing completions after succes-
+ sive tabs, _!, for listing alternatives on partial word comple-
+ tion, _@, to list completions if the word is not unmodified, or
+ _%, for menu completion. This variable is available only in
+ shell functions and external commands invoked by the pro-
+ grammable completion facilities (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn
below).
CCOOMMPP__WWOORRDDBBRREEAAKKSS
- The set of characters that the rreeaaddlliinnee library treats as word
- separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS
- is unset, it loses its special properties, even if it is subse-
+ The set of characters that the rreeaaddlliinnee library treats as word
+ separators when performing word completion. If CCOOMMPP__WWOORRDDBBRREEAAKKSS
+ is unset, it loses its special properties, even if it is subse-
quently reset.
CCOOMMPP__WWOORRDDSS
- An array variable (see AArrrraayyss below) consisting of the individ-
- ual words in the current command line. The line is split into
- words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as
+ An array variable (see AArrrraayyss below) consisting of the individ-
+ ual words in the current command line. The line is split into
+ words as rreeaaddlliinnee would split it, using CCOOMMPP__WWOORRDDBBRREEAAKKSS as
described above. This variable is available only in shell func-
- tions invoked by the programmable completion facilities (see
+ tions invoked by the programmable completion facilities (see
PPrrooggrraammmmaabbllee CCoommpplleettiioonn below).
+ CCOOPPRROOCC An array variable (see AArrrraayyss below) created to hold the file
+ descriptors for output from and input to an unnamed coprocess
+ (see CCoopprroocceesssseess above).
+
DDIIRRSSTTAACCKK
An array variable (see AArrrraayyss below) containing the current con-
- tents of the directory stack. Directories appear in the stack
- in the order they are displayed by the ddiirrss builtin. Assigning
+ tents of the directory stack. Directories appear in the stack
+ in the order they are displayed by the ddiirrss builtin. Assigning
to members of this array variable may be used to modify directo-
- ries already in the stack, but the ppuusshhdd and ppooppdd builtins must
+ ries already in the stack, but the ppuusshhdd and ppooppdd builtins must
be used to add and remove directories. Assignment to this vari-
- able will not change the current directory. If DDIIRRSSTTAACCKK is
- unset, it loses its special properties, even if it is subse-
+ able will not change the current directory. If DDIIRRSSTTAACCKK is
+ unset, it loses its special properties, even if it is subse-
quently reset.
- EEUUIIDD Expands to the effective user ID of the current user, initial-
+ EEUUIIDD Expands to the effective user ID of the current user, initial-
ized at shell startup. This variable is readonly.
FFUUNNCCNNAAMMEE
- An array variable containing the names of all shell functions
+ An array variable containing the names of all shell functions
currently in the execution call stack. The element with index 0
is the name of any currently-executing shell function. The bot-
- tom-most element is "main". This variable exists only when a
- shell function is executing. Assignments to FFUUNNCCNNAAMMEE have no
- effect and return an error status. If FFUUNNCCNNAAMMEE is unset, it
- loses its special properties, even if it is subsequently reset.
-
- GGRROOUUPPSS An array variable containing the list of groups of which the
- current user is a member. Assignments to GGRROOUUPPSS have no effect
- and return an error status. If GGRROOUUPPSS is unset, it loses its
+ tom-most element (the one with the highest index) is "main".
+ This variable exists only when a shell function is executing.
+ Assignments to FFUUNNCCNNAAMMEE have no effect and return an error sta-
+ tus. If FFUUNNCCNNAAMMEE is unset, it loses its special properties,
+ even if it is subsequently reset.
+
+ This variable can be used with BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE.
+ Each element of FFUUNNCCNNAAMMEE has corresponding elements in
+ BBAASSHH__LLIINNEENNOO and BBAASSHH__SSOOUURRCCEE to describe the call stack. For
+ instance, $${{FFUUNNCCNNAAMMEE[[_$_i]]}} was called from the file
+ $${{BBAASSHH__SSOOUURRCCEE[[_$_i_+_1]]}} at line number $${{BBAASSHH__LLIINNEENNOO[[_$_i]]}}. The
+ ccaalllleerr builtin displays the current call stack using this infor-
+ mation.
+
+ GGRROOUUPPSS An array variable containing the list of groups of which the
+ current user is a member. Assignments to GGRROOUUPPSS have no effect
+ and return an error status. If GGRROOUUPPSS is unset, it loses its
special properties, even if it is subsequently reset.
HHIISSTTCCMMDD
The history number, or index in the history list, of the current
- command. If HHIISSTTCCMMDD is unset, it loses its special properties,
+ command. If HHIISSTTCCMMDD is unset, it loses its special properties,
even if it is subsequently reset.
HHOOSSTTNNAAMMEE
Automatically set to the name of the current host.
HHOOSSTTTTYYPPEE
- Automatically set to a string that uniquely describes the type
- of machine on which bbaasshh is executing. The default is system-
+ Automatically set to a string that uniquely describes the type
+ of machine on which bbaasshh is executing. The default is system-
dependent.
- LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a
- decimal number representing the current sequential line number
- (starting with 1) within a script or function. When not in a
- script or function, the value substituted is not guaranteed to
+ LLIINNEENNOO Each time this parameter is referenced, the shell substitutes a
+ decimal number representing the current sequential line number
+ (starting with 1) within a script or function. When not in a
+ script or function, the value substituted is not guaranteed to
be meaningful. If LLIINNEENNOO is unset, it loses its special proper-
ties, even if it is subsequently reset.
MMAACCHHTTYYPPEE
- Automatically set to a string that fully describes the system
- type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_-
+ Automatically set to a string that fully describes the system
+ type on which bbaasshh is executing, in the standard GNU _c_p_u_-_c_o_m_-
_p_a_n_y_-_s_y_s_t_e_m format. The default is system-dependent.
+ MMAAPPFFIILLEE
+ An array variable (see AArrrraayyss below) created to hold the text
+ read by the mmaappffiillee builtin when no variable name is supplied.
+
OOLLDDPPWWDD The previous working directory as set by the ccdd command.
OOPPTTAARRGG The value of the last option argument processed by the ggeettooppttss
@@ -913,6 +945,14 @@ PPAARRAAMMEETTEERRSS
it loses its special properties, even if it is subsequently
reset.
+ RREEAADDLLIINNEE__LLIINNEE
+ The contents of the rreeaaddlliinnee line buffer, for use with "bind -x"
+ (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
+
+ RREEAADDLLIINNEE__PPOOIINNTT
+ The position of the insertion point in the rreeaaddlliinnee line buffer,
+ for use with "bind -x" (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
+
RREEPPLLYY Set to the line of input read by the rreeaadd builtin command when
no arguments are supplied.
@@ -948,144 +988,151 @@ PPAARRAAMMEETTEERRSS
subjected to parameter expansion, command substitution, and
arithmetic expansion before being interpreted as a file name.
PPAATTHH is not used to search for the resultant file name.
- CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated
- list of directories in which the shell looks for destination
- directories specified by the ccdd command. A sample value is
- ".:~:/usr".
BBAASSHH__XXTTRRAACCEEFFDD
- If set to an integer corresponding to a valid file descriptor,
- bbaasshh will write the trace output generated when _s_e_t _-_x is
- enabled to that file descriptor. The file descriptor is closed
- when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting
- BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace
- output to be sent to the standard error. Note that setting
+ If set to an integer corresponding to a valid file descriptor,
+ bbaasshh will write the trace output generated when _s_e_t _-_x is
+ enabled to that file descriptor. The file descriptor is closed
+ when BBAASSHH__XXTTRRAACCEEFFDD is unset or assigned a new value. Unsetting
+ BBAASSHH__XXTTRRAACCEEFFDD or assigning it the empty string causes the trace
+ output to be sent to the standard error. Note that setting
BBAASSHH__XXTTRRAACCEEFFDD to 2 (the standard error file descriptor) and then
unsetting it will result in the standard error being closed.
+ CCDDPPAATTHH The search path for the ccdd command. This is a colon-separated
+ list of directories in which the shell looks for destination
+ directories specified by the ccdd command. A sample value is
+ ".:~:/usr".
CCOOLLUUMMNNSS
- Used by the sseelleecctt builtin command to determine the terminal
+ Used by the sseelleecctt compound command to determine the terminal
width when printing selection lists. Automatically set upon
- receipt of a SIGWINCH.
+ receipt of a SSIIGGWWIINNCCHH.
CCOOMMPPRREEPPLLYY
An array variable from which bbaasshh reads the possible completions
generated by a shell function invoked by the programmable com-
pletion facility (see PPrrooggrraammmmaabbllee CCoommpplleettiioonn below).
EEMMAACCSS If bbaasshh finds this variable in the environment when the shell
starts with value "t", it assumes that the shell is running in
- an emacs shell buffer and disables line editing.
+ an Emacs shell buffer and disables line editing.
+ EENNVV Similar to BBAASSHH__EENNVV; used when the shell is invoked in POSIX
+ mode.
FFCCEEDDIITT The default editor for the ffcc builtin command.
FFIIGGNNOORREE
- A colon-separated list of suffixes to ignore when performing
+ A colon-separated list of suffixes to ignore when performing
filename completion (see RREEAADDLLIINNEE below). A filename whose suf-
- fix matches one of the entries in FFIIGGNNOORREE is excluded from the
+ fix matches one of the entries in FFIIGGNNOORREE is excluded from the
list of matched filenames. A sample value is ".o:~".
+ FFUUNNCCNNEESSTT
+ If set to a numeric value greater than 0, defines a maximum
+ function nesting level. Function invocations that exceed this
+ nesting level will cause the current command to abort.
GGLLOOBBIIGGNNOORREE
A colon-separated list of patterns defining the set of filenames
to be ignored by pathname expansion. If a filename matched by a
- pathname expansion pattern also matches one of the patterns in
+ pathname expansion pattern also matches one of the patterns in
GGLLOOBBIIGGNNOORREE, it is removed from the list of matches.
HHIISSTTCCOONNTTRROOLL
- A colon-separated list of values controlling how commands are
- saved on the history list. If the list of values includes
- _i_g_n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not
- saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines
+ A colon-separated list of values controlling how commands are
+ saved on the history list. If the list of values includes
+ _i_g_n_o_r_e_s_p_a_c_e, lines which begin with a ssppaaccee character are not
+ saved in the history list. A value of _i_g_n_o_r_e_d_u_p_s causes lines
matching the previous history entry to not be saved. A value of
_i_g_n_o_r_e_b_o_t_h is shorthand for _i_g_n_o_r_e_s_p_a_c_e and _i_g_n_o_r_e_d_u_p_s. A value
of _e_r_a_s_e_d_u_p_s causes all previous lines matching the current line
- to be removed from the history list before that line is saved.
- Any value not in the above list is ignored. If HHIISSTTCCOONNTTRROOLL is
- unset, or does not include a valid value, all lines read by the
+ to be removed from the history list before that line is saved.
+ Any value not in the above list is ignored. If HHIISSTTCCOONNTTRROOLL is
+ unset, or does not include a valid value, all lines read by the
shell parser are saved on the history list, subject to the value
- of HHIISSTTIIGGNNOORREE. The second and subsequent lines of a multi-line
- compound command are not tested, and are added to the history
+ of HHIISSTTIIGGNNOORREE. The second and subsequent lines of a multi-line
+ compound command are not tested, and are added to the history
regardless of the value of HHIISSTTCCOONNTTRROOLL.
HHIISSTTFFIILLEE
The name of the file in which command history is saved (see HHIISS--
- TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset,
- the command history is not saved when an interactive shell
+ TTOORRYY below). The default value is _~_/_._b_a_s_h___h_i_s_t_o_r_y. If unset,
+ the command history is not saved when an interactive shell
exits.
HHIISSTTFFIILLEESSIIZZEE
The maximum number of lines contained in the history file. When
- this variable is assigned a value, the history file is trun-
- cated, if necessary, by removing the oldest entries, to contain
- no more than that number of lines. The default value is 500.
+ this variable is assigned a value, the history file is trun-
+ cated, if necessary, by removing the oldest entries, to contain
+ no more than that number of lines. The default value is 500.
The history file is also truncated to this size after writing it
when an interactive shell exits.
HHIISSTTIIGGNNOORREE
- A colon-separated list of patterns used to decide which command
- lines should be saved on the history list. Each pattern is
- anchored at the beginning of the line and must match the com-
- plete line (no implicit `**' is appended). Each pattern is
- tested against the line after the checks specified by HHIISSTTCCOONN--
- TTRROOLL are applied. In addition to the normal shell pattern
+ A colon-separated list of patterns used to decide which command
+ lines should be saved on the history list. Each pattern is
+ anchored at the beginning of the line and must match the com-
+ plete line (no implicit `**' is appended). Each pattern is
+ tested against the line after the checks specified by HHIISSTTCCOONN--
+ TTRROOLL are applied. In addition to the normal shell pattern
matching characters, `&&' matches the previous history line. `&&'
- may be escaped using a backslash; the backslash is removed
+ may be escaped using a backslash; the backslash is removed
before attempting a match. The second and subsequent lines of a
multi-line compound command are not tested, and are added to the
history regardless of the value of HHIISSTTIIGGNNOORREE.
HHIISSTTSSIIZZEE
- The number of commands to remember in the command history (see
+ The number of commands to remember in the command history (see
HHIISSTTOORRYY below). The default value is 500.
HHIISSTTTTIIMMEEFFOORRMMAATT
- If this variable is set and not null, its value is used as a
+ If this variable is set and not null, its value is used as a
format string for _s_t_r_f_t_i_m_e(3) to print the time stamp associated
- with each history entry displayed by the hhiissttoorryy builtin. If
- this variable is set, time stamps are written to the history
- file so they may be preserved across shell sessions. This uses
- the history comment character to distinguish timestamps from
+ with each history entry displayed by the hhiissttoorryy builtin. If
+ this variable is set, time stamps are written to the history
+ file so they may be preserved across shell sessions. This uses
+ the history comment character to distinguish timestamps from
other history lines.
HHOOMMEE The home directory of the current user; the default argument for
the ccdd builtin command. The value of this variable is also used
when performing tilde expansion.
HHOOSSTTFFIILLEE
- Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s
+ Contains the name of a file in the same format as _/_e_t_c_/_h_o_s_t_s
that should be read when the shell needs to complete a hostname.
- The list of possible hostname completions may be changed while
- the shell is running; the next time hostname completion is
- attempted after the value is changed, bbaasshh adds the contents of
- the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has
- no value, or does not name a readable file, bbaasshh attempts to
- read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple-
+ The list of possible hostname completions may be changed while
+ the shell is running; the next time hostname completion is
+ attempted after the value is changed, bbaasshh adds the contents of
+ the new file to the existing list. If HHOOSSTTFFIILLEE is set, but has
+ no value, or does not name a readable file, bbaasshh attempts to
+ read _/_e_t_c_/_h_o_s_t_s to obtain the list of possible hostname comple-
tions. When HHOOSSTTFFIILLEE is unset, the hostname list is cleared.
- IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting
- after expansion and to split lines into words with the rreeaadd
+ IIFFSS The _I_n_t_e_r_n_a_l _F_i_e_l_d _S_e_p_a_r_a_t_o_r that is used for word splitting
+ after expansion and to split lines into words with the rreeaadd
builtin command. The default value is ``<space><tab><new-
line>''.
IIGGNNOORREEEEOOFF
Controls the action of an interactive shell on receipt of an EEOOFF
character as the sole input. If set, the value is the number of
- consecutive EEOOFF characters which must be typed as the first
- characters on an input line before bbaasshh exits. If the variable
- exists but does not have a numeric value, or has no value, the
- default value is 10. If it does not exist, EEOOFF signifies the
+ consecutive EEOOFF characters which must be typed as the first
+ characters on an input line before bbaasshh exits. If the variable
+ exists but does not have a numeric value, or has no value, the
+ default value is 10. If it does not exist, EEOOFF signifies the
end of input to the shell.
IINNPPUUTTRRCC
- The filename for the rreeaaddlliinnee startup file, overriding the
+ The filename for the rreeaaddlliinnee startup file, overriding the
default of _~_/_._i_n_p_u_t_r_c (see RREEAADDLLIINNEE below).
- LLAANNGG Used to determine the locale category for any category not
+ LLAANNGG Used to determine the locale category for any category not
specifically selected with a variable starting with LLCC__.
- LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__
+ LLCC__AALLLL This variable overrides the value of LLAANNGG and any other LLCC__
variable specifying a locale category.
LLCC__CCOOLLLLAATTEE
- This variable determines the collation order used when sorting
- the results of pathname expansion, and determines the behavior
- of range expressions, equivalence classes, and collating
+ This variable determines the collation order used when sorting
+ the results of pathname expansion, and determines the behavior
+ of range expressions, equivalence classes, and collating
sequences within pathname expansion and pattern matching.
LLCC__CCTTYYPPEE
- This variable determines the interpretation of characters and
- the behavior of character classes within pathname expansion and
+ This variable determines the interpretation of characters and
+ the behavior of character classes within pathname expansion and
pattern matching.
LLCC__MMEESSSSAAGGEESS
- This variable determines the locale used to translate double-
+ This variable determines the locale used to translate double-
quoted strings preceded by a $$.
LLCC__NNUUMMEERRIICC
- This variable determines the locale category used for number
+ This variable determines the locale category used for number
formatting.
- LLIINNEESS Used by the sseelleecctt builtin command to determine the column
- length for printing selection lists. Automatically set upon
+ LLIINNEESS Used by the sseelleecctt compound command to determine the column
+ length for printing selection lists. Automatically set upon
receipt of a SSIIGGWWIINNCCHH.
- MMAAIILL If this parameter is set to a file name and the MMAAIILLPPAATTHH vari-
- able is not set, bbaasshh informs the user of the arrival of mail in
- the specified file.
+ MMAAIILL If this parameter is set to a file or directory name and the
+ MMAAIILLPPAATTHH variable is not set, bbaasshh informs the user of the
+ arrival of mail in the specified file or Maildir-format direc-
+ tory.
MMAAIILLCCHHEECCKK
Specifies how often (in seconds) bbaasshh checks for mail. The
default is 60 seconds. When it is time to check for mail, the
@@ -1181,8 +1228,8 @@ PPAARRAAMMEETTEERRSS
issuing the primary prompt. BBaasshh terminates after waiting for
that number of seconds if input does not arrive.
- TTMMPPDDIIRR If set, BBaasshh uses its value as the name of a directory in which
- BBaasshh creates temporary files for the shell's use.
+ TTMMPPDDIIRR If set, bbaasshh uses its value as the name of a directory in which
+ bbaasshh creates temporary files for the shell's use.
aauuttoo__rreessuummee
This variable controls how the shell interacts with the user and
@@ -1227,10 +1274,12 @@ PPAARRAAMMEETTEERRSS
An indexed array is created automatically if any variable is assigned
to using the syntax _n_a_m_e[_s_u_b_s_c_r_i_p_t]=_v_a_l_u_e. The _s_u_b_s_c_r_i_p_t is treated as
- an arithmetic expression that must evaluate to a number greater than or
- equal to zero. To explicitly declare an indexed array, use ddeeccllaarree --aa
- _n_a_m_e (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). ddeeccllaarree --aa _n_a_m_e[[_s_u_b_s_c_r_i_p_t]] is
- also accepted; the _s_u_b_s_c_r_i_p_t is ignored.
+ an arithmetic expression that must evaluate to a number. If _s_u_b_s_c_r_i_p_t
+ evaluates to a number less than zero, it is used as an offset from one
+ greater than the array's maximum index (so a subcript of -1 refers to
+ the last element of the array). To explicitly declare an indexed
+ array, use ddeeccllaarree --aa _n_a_m_e (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). ddeeccllaarree
+ --aa _n_a_m_e[[_s_u_b_s_c_r_i_p_t]] is also accepted; the _s_u_b_s_c_r_i_p_t is ignored.
Associative arrays are created using ddeeccllaarree --AA _n_a_m_e.
@@ -1414,9 +1463,9 @@ EEXXPPAANNSSIIOONN
able; this variable is then expanded and that value is used in the rest
of the substitution, rather than the value of _p_a_r_a_m_e_t_e_r itself. This
is known as _i_n_d_i_r_e_c_t _e_x_p_a_n_s_i_o_n. The exceptions to this are the expan-
- sions of ${!_p_r_e_f_i_x*} and ${!!_n_a_m_e[_@]} described below. The exclamation
- point must immediately follow the left brace in order to introduce
- indirection.
+ sions of ${!!\\ffPPffIIpprreeffiixx**} and ${!!_n_a_m_e[_@]} described below. The excla-
+ mation point must immediately follow the left brace in order to intro-
+ duce indirection.
In each of the cases below, _w_o_r_d is subject to tilde expansion, parame-
ter expansion, command substitution, and arithmetic expansion.
@@ -1445,113 +1494,117 @@ EEXXPPAANNSSIIOONN
substituted, otherwise the expansion of _w_o_r_d is substituted.
${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t}
${_p_a_r_a_m_e_t_e_r::_o_f_f_s_e_t::_l_e_n_g_t_h}
- SSuubbssttrriinngg EExxppaannssiioonn.. Expands to up to _l_e_n_g_t_h characters of
+ SSuubbssttrriinngg EExxppaannssiioonn. Expands to up to _l_e_n_g_t_h characters of
_p_a_r_a_m_e_t_e_r starting at the character specified by _o_f_f_s_e_t. If
_l_e_n_g_t_h is omitted, expands to the substring of _p_a_r_a_m_e_t_e_r start-
ing at the character specified by _o_f_f_s_e_t. _l_e_n_g_t_h and _o_f_f_s_e_t are
- arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below).
- _l_e_n_g_t_h must evaluate to a number greater than or equal to zero.
- If _o_f_f_s_e_t evaluates to a number less than zero, the value is
- used as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If
- _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h positional parameters
- beginning at _o_f_f_s_e_t. If _p_a_r_a_m_e_t_e_r is an indexed array name sub-
- scripted by @ or *, the result is the _l_e_n_g_t_h members of the
- array beginning with ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}. A negative _o_f_f_s_e_t is
- taken relative to one greater than the maximum index of the
- specified array. Substring expansion applied to an associative
- array produces undefined results. Note that a negative offset
- must be separated from the colon by at least one space to avoid
- being confused with the :- expansion. Substring indexing is
- zero-based unless the positional parameters are used, in which
- case the indexing starts at 1 by default. If _o_f_f_s_e_t is 0, and
- the positional parameters are used, $$00 is prefixed to the list.
+ arithmetic expressions (see AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN below). If
+ _o_f_f_s_e_t evaluates to a number less than zero, the value is used
+ as an offset from the end of the value of _p_a_r_a_m_e_t_e_r. If _l_e_n_g_t_h
+ evaluates to a number less than zero, and _p_a_r_a_m_e_t_e_r is not @@ and
+ not an indexed or associative array, it is interpreted as an
+ offset from the end of the value of _p_a_r_a_m_e_t_e_r rather than a num-
+ ber of characters, and the expansion is the characters between
+ the two offsets. If _p_a_r_a_m_e_t_e_r is @@, the result is _l_e_n_g_t_h posi-
+ tional parameters beginning at _o_f_f_s_e_t. If _p_a_r_a_m_e_t_e_r is an
+ indexed array name subscripted by @ or *, the result is the
+ _l_e_n_g_t_h members of the array beginning with ${_p_a_r_a_m_e_t_e_r[_o_f_f_s_e_t]}.
+ A negative _o_f_f_s_e_t is taken relative to one greater than the max-
+ imum index of the specified array. Substring expansion applied
+ to an associative array produces undefined results. Note that a
+ negative offset must be separated from the colon by at least one
+ space to avoid being confused with the :- expansion. Substring
+ indexing is zero-based unless the positional parameters are
+ used, in which case the indexing starts at 1 by default. If
+ _o_f_f_s_e_t is 0, and the positional parameters are used, $$00 is pre-
+ fixed to the list.
${!!_p_r_e_f_i_x**}
${!!_p_r_e_f_i_x@@}
- NNaammeess mmaattcchhiinngg pprreeffiixx.. Expands to the names of variables whose
+ NNaammeess mmaattcchhiinngg pprreeffiixx. Expands to the names of variables whose
names begin with _p_r_e_f_i_x, separated by the first character of the
- IIFFSS special variable. When _@ is used and the expansion appears
- within double quotes, each variable name expands to a separate
+ IIFFSS special variable. When _@ is used and the expansion appears
+ within double quotes, each variable name expands to a separate
word.
${!!_n_a_m_e[_@]}
${!!_n_a_m_e[_*]}
- LLiisstt ooff aarrrraayy kkeeyyss.. If _n_a_m_e is an array variable, expands to
- the list of array indices (keys) assigned in _n_a_m_e. If _n_a_m_e is
- not an array, expands to 0 if _n_a_m_e is set and null otherwise.
- When _@ is used and the expansion appears within double quotes,
+ LLiisstt ooff aarrrraayy kkeeyyss. If _n_a_m_e is an array variable, expands to
+ the list of array indices (keys) assigned in _n_a_m_e. If _n_a_m_e is
+ not an array, expands to 0 if _n_a_m_e is set and null otherwise.
+ When _@ is used and the expansion appears within double quotes,
each key expands to a separate word.
${##_p_a_r_a_m_e_t_e_r}
- PPaarraammeetteerr lleennggtthh.. The length in characters of the value of
- _p_a_r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value
- substituted is the number of positional parameters. If _p_a_r_a_m_e_-
- _t_e_r is an array name subscripted by ** or @@, the value substi-
+ PPaarraammeetteerr lleennggtthh. The length in characters of the value of
+ _p_a_r_a_m_e_t_e_r is substituted. If _p_a_r_a_m_e_t_e_r is ** or @@, the value
+ substituted is the number of positional parameters. If _p_a_r_a_m_e_-
+ _t_e_r is an array name subscripted by ** or @@, the value substi-
tuted is the number of elements in the array.
${_p_a_r_a_m_e_t_e_r##_w_o_r_d}
${_p_a_r_a_m_e_t_e_r####_w_o_r_d}
- RReemmoovvee mmaattcchhiinngg pprreeffiixx ppaatttteerrnn.. The _w_o_r_d is expanded to produce
+ RReemmoovvee mmaattcchhiinngg pprreeffiixx ppaatttteerrnn. The _w_o_r_d is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
- the beginning of the value of _p_a_r_a_m_e_t_e_r, then the result of the
- expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest
- matching pattern (the ``##'' case) or the longest matching pat-
- tern (the ``####'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the
- pattern removal operation is applied to each positional parame-
+ the beginning of the value of _p_a_r_a_m_e_t_e_r, then the result of the
+ expansion is the expanded value of _p_a_r_a_m_e_t_e_r with the shortest
+ matching pattern (the ``##'' case) or the longest matching pat-
+ tern (the ``####'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@ or **, the
+ pattern removal operation is applied to each positional parame-
ter in turn, and the expansion is the resultant list. If _p_a_r_a_m_-
- _e_t_e_r is an array variable subscripted with @@ or **, the pattern
- removal operation is applied to each member of the array in
+ _e_t_e_r is an array variable subscripted with @@ or **, the pattern
+ removal operation is applied to each member of the array in
turn, and the expansion is the resultant list.
${_p_a_r_a_m_e_t_e_r%%_w_o_r_d}
${_p_a_r_a_m_e_t_e_r%%%%_w_o_r_d}
- RReemmoovvee mmaattcchhiinngg ssuuffffiixx ppaatttteerrnn.. The _w_o_r_d is expanded to produce
+ RReemmoovvee mmaattcchhiinngg ssuuffffiixx ppaatttteerrnn. The _w_o_r_d is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
- a trailing portion of the expanded value of _p_a_r_a_m_e_t_e_r, then the
- result of the expansion is the expanded value of _p_a_r_a_m_e_t_e_r with
- the shortest matching pattern (the ``%%'' case) or the longest
- matching pattern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@
- or **, the pattern removal operation is applied to each posi-
- tional parameter in turn, and the expansion is the resultant
- list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or
- **, the pattern removal operation is applied to each member of
+ a trailing portion of the expanded value of _p_a_r_a_m_e_t_e_r, then the
+ result of the expansion is the expanded value of _p_a_r_a_m_e_t_e_r with
+ the shortest matching pattern (the ``%%'' case) or the longest
+ matching pattern (the ``%%%%'' case) deleted. If _p_a_r_a_m_e_t_e_r is @@
+ or **, the pattern removal operation is applied to each posi-
+ tional parameter in turn, and the expansion is the resultant
+ list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted with @@ or
+ **, the pattern removal operation is applied to each member of
the array in turn, and the expansion is the resultant list.
${_p_a_r_a_m_e_t_e_r//_p_a_t_t_e_r_n//_s_t_r_i_n_g}
- PPaatttteerrnn ssuubbssttiittuuttiioonn.. The _p_a_t_t_e_r_n is expanded to produce a pat-
- tern just as in pathname expansion. _P_a_r_a_m_e_t_e_r is expanded and
- the longest match of _p_a_t_t_e_r_n against its value is replaced with
- _s_t_r_i_n_g. If _p_a_t_t_e_r_n begins with //, all matches of _p_a_t_t_e_r_n are
- replaced with _s_t_r_i_n_g. Normally only the first match is
+ PPaatttteerrnn ssuubbssttiittuuttiioonn. The _p_a_t_t_e_r_n is expanded to produce a pat-
+ tern just as in pathname expansion. _P_a_r_a_m_e_t_e_r is expanded and
+ the longest match of _p_a_t_t_e_r_n against its value is replaced with
+ _s_t_r_i_n_g. If _p_a_t_t_e_r_n begins with //, all matches of _p_a_t_t_e_r_n are
+ replaced with _s_t_r_i_n_g. Normally only the first match is
replaced. If _p_a_t_t_e_r_n begins with ##, it must match at the begin-
ning of the expanded value of _p_a_r_a_m_e_t_e_r. If _p_a_t_t_e_r_n begins with
- %%, it must match at the end of the expanded value of _p_a_r_a_m_e_t_e_r.
+ %%, it must match at the end of the expanded value of _p_a_r_a_m_e_t_e_r.
If _s_t_r_i_n_g is null, matches of _p_a_t_t_e_r_n are deleted and the // fol-
lowing _p_a_t_t_e_r_n may be omitted. If _p_a_r_a_m_e_t_e_r is @@ or **, the sub-
- stitution operation is applied to each positional parameter in
- turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is
- an array variable subscripted with @@ or **, the substitution
- operation is applied to each member of the array in turn, and
+ stitution operation is applied to each positional parameter in
+ turn, and the expansion is the resultant list. If _p_a_r_a_m_e_t_e_r is
+ an array variable subscripted with @@ or **, the substitution
+ operation is applied to each member of the array in turn, and
the expansion is the resultant list.
${_p_a_r_a_m_e_t_e_r^^_p_a_t_t_e_r_n}
${_p_a_r_a_m_e_t_e_r^^^^_p_a_t_t_e_r_n}
${_p_a_r_a_m_e_t_e_r,,_p_a_t_t_e_r_n}
${_p_a_r_a_m_e_t_e_r,,,,_p_a_t_t_e_r_n}
- CCaassee mmooddiiffiiccaattiioonn.. This expansion modifies the case of alpha-
- betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro-
- duce a pattern just as in pathname expansion. The ^^ operator
- converts lowercase letters matching _p_a_t_t_e_r_n to uppercase; the ,,
- operator converts matching uppercase letters to lowercase. The
- ^^^^ and ,,,, expansions convert each matched character in the
- expanded value; the ^^ and ,, expansions match and convert only
- the first character in the expanded value.. If _p_a_t_t_e_r_n is omit-
- ted, it is treated like a ??, which matches every character. If
- _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is applied
- to each positional parameter in turn, and the expansion is the
- resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted
- with @@ or **, the case modification operation is applied to each
- member of the array in turn, and the expansion is the resultant
+ CCaassee mmooddiiffiiccaattiioonn. This expansion modifies the case of alpha-
+ betic characters in _p_a_r_a_m_e_t_e_r. The _p_a_t_t_e_r_n is expanded to pro-
+ duce a pattern just as in pathname expansion. The ^^ operator
+ converts lowercase letters matching _p_a_t_t_e_r_n to uppercase; the ,,
+ operator converts matching uppercase letters to lowercase. The
+ ^^^^ and ,,,, expansions convert each matched character in the
+ expanded value; the ^^ and ,, expansions match and convert only
+ the first character in the expanded value. If _p_a_t_t_e_r_n is omit-
+ ted, it is treated like a ??, which matches every character. If
+ _p_a_r_a_m_e_t_e_r is @@ or **, the case modification operation is applied
+ to each positional parameter in turn, and the expansion is the
+ resultant list. If _p_a_r_a_m_e_t_e_r is an array variable subscripted
+ with @@ or **, the case modification operation is applied to each
+ member of the array in turn, and the expansion is the resultant
list.
CCoommmmaanndd SSuubbssttiittuuttiioonn
@@ -1564,160 +1617,162 @@ EEXXPPAANNSSIIOONN
``_c_o_m_m_a_n_d``
BBaasshh performs the expansion by executing _c_o_m_m_a_n_d and replacing the com-
- mand substitution with the standard output of the command, with any
+ mand substitution with the standard output of the command, with any
trailing newlines deleted. Embedded newlines are not deleted, but they
- may be removed during word splitting. The command substitution $$((ccaatt
+ may be removed during word splitting. The command substitution $$((ccaatt
_f_i_l_e)) can be replaced by the equivalent but faster $$((<< _f_i_l_e)).
- When the old-style backquote form of substitution is used, backslash
- retains its literal meaning except when followed by $$, ``, or \\. The
+ When the old-style backquote form of substitution is used, backslash
+ retains its literal meaning except when followed by $$, ``, or \\. The
first backquote not preceded by a backslash terminates the command sub-
- stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the
+ stitution. When using the $(_c_o_m_m_a_n_d) form, all characters between the
parentheses make up the command; none are treated specially.
Command substitutions may be nested. To nest when using the backquoted
form, escape the inner backquotes with backslashes.
- If the substitution appears within double quotes, word splitting and
+ If the substitution appears within double quotes, word splitting and
pathname expansion are not performed on the results.
AArriitthhmmeettiicc EExxppaannssiioonn
- Arithmetic expansion allows the evaluation of an arithmetic expression
- and the substitution of the result. The format for arithmetic expan-
+ Arithmetic expansion allows the evaluation of an arithmetic expression
+ and the substitution of the result. The format for arithmetic expan-
sion is:
$$((((_e_x_p_r_e_s_s_i_o_n))))
- The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a
- double quote inside the parentheses is not treated specially. All
+ The _e_x_p_r_e_s_s_i_o_n is treated as if it were within double quotes, but a
+ double quote inside the parentheses is not treated specially. All
tokens in the expression undergo parameter expansion, string expansion,
- command substitution, and quote removal. Arithmetic expansions may be
+ command substitution, and quote removal. Arithmetic expansions may be
nested.
- The evaluation is performed according to the rules listed below under
+ The evaluation is performed according to the rules listed below under
AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN. If _e_x_p_r_e_s_s_i_o_n is invalid, bbaasshh prints a message
indicating failure and no substitution occurs.
PPrroocceessss SSuubbssttiittuuttiioonn
- _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes
- (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form
- of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out-
+ _P_r_o_c_e_s_s _s_u_b_s_t_i_t_u_t_i_o_n is supported on systems that support named pipes
+ (_F_I_F_O_s) or the //ddeevv//ffdd method of naming open files. It takes the form
+ of <<((_l_i_s_t)) or >>((_l_i_s_t)). The process _l_i_s_t is run with its input or out-
put connected to a _F_I_F_O or some file in //ddeevv//ffdd. The name of this file
- is passed as an argument to the current command as the result of the
- expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro-
- vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as
+ is passed as an argument to the current command as the result of the
+ expansion. If the >>((_l_i_s_t)) form is used, writing to the file will pro-
+ vide input for _l_i_s_t. If the <<((_l_i_s_t)) form is used, the file passed as
an argument should be read to obtain the output of _l_i_s_t.
- When available, process substitution is performed simultaneously with
- parameter and variable expansion, command substitution, and arithmetic
+ When available, process substitution is performed simultaneously with
+ parameter and variable expansion, command substitution, and arithmetic
expansion.
WWoorrdd SSpplliittttiinngg
- The shell scans the results of parameter expansion, command substitu-
- tion, and arithmetic expansion that did not occur within double quotes
+ The shell scans the results of parameter expansion, command substitu-
+ tion, and arithmetic expansion that did not occur within double quotes
for _w_o_r_d _s_p_l_i_t_t_i_n_g.
- The shell treats each character of IIFFSS as a delimiter, and splits the
+ The shell treats each character of IIFFSS as a delimiter, and splits the
results of the other expansions into words on these characters. If IIFFSS
- is unset, or its value is exactly <<ssppaaccee>><<ttaabb>><<nneewwlliinnee>>, the default,
- then sequences of <<ssppaaccee>>, <<ttaabb>>, and <<nneewwlliinnee>> at the beginning and
- end of the results of the previous expansions are ignored, and any
- sequence of IIFFSS characters not at the beginning or end serves to
- delimit words. If IIFFSS has a value other than the default, then
+ is unset, or its value is exactly <<ssppaaccee>><<ttaabb>><<nneewwlliinnee>>, the default,
+ then sequences of <<ssppaaccee>>, <<ttaabb>>, and <<nneewwlliinnee>> at the beginning and
+ end of the results of the previous expansions are ignored, and any
+ sequence of IIFFSS characters not at the beginning or end serves to
+ delimit words. If IIFFSS has a value other than the default, then
sequences of the whitespace characters ssppaaccee and ttaabb are ignored at the
- beginning and end of the word, as long as the whitespace character is
- in the value of IIFFSS (an IIFFSS whitespace character). Any character in
- IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace
- characters, delimits a field. A sequence of IIFFSS whitespace characters
- is also treated as a delimiter. If the value of IIFFSS is null, no word
+ beginning and end of the word, as long as the whitespace character is
+ in the value of IIFFSS (an IIFFSS whitespace character). Any character in
+ IIFFSS that is not IIFFSS whitespace, along with any adjacent IIFFSS whitespace
+ characters, delimits a field. A sequence of IIFFSS whitespace characters
+ is also treated as a delimiter. If the value of IIFFSS is null, no word
splitting occurs.
- Explicit null arguments ("""" or '''') are retained. Unquoted implicit
+ Explicit null arguments ("""" or '''') are retained. Unquoted implicit
null arguments, resulting from the expansion of parameters that have no
- values, are removed. If a parameter with no value is expanded within
+ values, are removed. If a parameter with no value is expanded within
double quotes, a null argument results and is retained.
Note that if no expansion occurs, no splitting is performed.
PPaatthhnnaammee EExxppaannssiioonn
- After word splitting, unless the --ff option has been set, bbaasshh scans
- each word for the characters **, ??, and [[. If one of these characters
- appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an
- alphabetically sorted list of file names matching the pattern. If no
- matching file names are found, and the shell option nnuullllgglloobb is not
- enabled, the word is left unchanged. If the nnuullllgglloobb option is set,
- and no matches are found, the word is removed. If the ffaaiillgglloobb shell
- option is set, and no matches are found, an error message is printed
- and the command is not executed. If the shell option nnooccaasseegglloobb is
- enabled, the match is performed without regard to the case of alpha-
- betic characters. When a pattern is used for pathname expansion, the
- character ````..'''' at the start of a name or immediately following a
- slash must be matched explicitly, unless the shell option ddoottgglloobb is
- set. When matching a pathname, the slash character must always be
- matched explicitly. In other cases, the ````..'''' character is not
- treated specially. See the description of sshhoopptt below under SSHHEELLLL
- BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill--
+ After word splitting, unless the --ff option has been set, bbaasshh scans
+ each word for the characters **, ??, and [[. If one of these characters
+ appears, then the word is regarded as a _p_a_t_t_e_r_n, and replaced with an
+ alphabetically sorted list of file names matching the pattern. If no
+ matching file names are found, and the shell option nnuullllgglloobb is not
+ enabled, the word is left unchanged. If the nnuullllgglloobb option is set,
+ and no matches are found, the word is removed. If the ffaaiillgglloobb shell
+ option is set, and no matches are found, an error message is printed
+ and the command is not executed. If the shell option nnooccaasseegglloobb is
+ enabled, the match is performed without regard to the case of alpha-
+ betic characters. When a pattern is used for pathname expansion, the
+ character ````..'''' at the start of a name or immediately following a
+ slash must be matched explicitly, unless the shell option ddoottgglloobb is
+ set. When matching a pathname, the slash character must always be
+ matched explicitly. In other cases, the ````..'''' character is not
+ treated specially. See the description of sshhoopptt below under SSHHEELLLL
+ BBUUIILLTTIINN CCOOMMMMAANNDDSS for a description of the nnooccaasseegglloobb, nnuullllgglloobb, ffaaiill--
gglloobb, and ddoottgglloobb shell options.
- The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file
- names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file
- name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed
+ The GGLLOOBBIIGGNNOORREE shell variable may be used to restrict the set of file
+ names matching a _p_a_t_t_e_r_n. If GGLLOOBBIIGGNNOORREE is set, each matching file
+ name that also matches one of the patterns in GGLLOOBBIIGGNNOORREE is removed
from the list of matches. The file names ````..'''' and ````....'''' are always
- ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG--
- NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell
+ ignored when GGLLOOBBIIGGNNOORREE is set and not null. However, setting GGLLOOBBIIGG--
+ NNOORREE to a non-null value has the effect of enabling the ddoottgglloobb shell
option, so all other file names beginning with a ````..'''' will match. To
- get the old behavior of ignoring file names beginning with a ````..'''',
- make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is
+ get the old behavior of ignoring file names beginning with a ````..'''',
+ make ````..**'''' one of the patterns in GGLLOOBBIIGGNNOORREE. The ddoottgglloobb option is
disabled when GGLLOOBBIIGGNNOORREE is unset.
PPaatttteerrnn MMaattcchhiinngg
Any character that appears in a pattern, other than the special pattern
- characters described below, matches itself. The NUL character may not
- occur in a pattern. A backslash escapes the following character; the
- escaping backslash is discarded when matching. The special pattern
+ characters described below, matches itself. The NUL character may not
+ occur in a pattern. A backslash escapes the following character; the
+ escaping backslash is discarded when matching. The special pattern
characters must be quoted if they are to be matched literally.
The special pattern characters have the following meanings:
- ** Matches any string, including the null string. When the gglloobb--
- ssttaarr shell option is enabled, and ** is used in a pathname expan-
- sion context, two adjacent **s used as a single pattern will
- match all files and zero or more directories and subdirectories.
- If followed by a //, two adjacent **s will match only directories
- and subdirectories.
- ?? Matches any single character.
- [[......]] Matches any one of the enclosed characters. A pair of charac-
- ters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_s_i_o_n; any char-
- acter that sorts between those two characters, inclusive, using
- the current locale's collating sequence and character set, is
- matched. If the first character following the [[ is a !! or a ^^
- then any character not enclosed is matched. The sorting order
- of characters in range expressions is determined by the current
- locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if set.
- A -- may be matched by including it as the first or last charac-
- ter in the set. A ]] may be matched by including it as the first
- character in the set.
-
- Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using the
- syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following classes
- defined in the POSIX standard:
- aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt ppuunncctt
- ssppaaccee uuppppeerr wwoorrdd xxddiiggiitt
- A character class matches any character belonging to that class.
- The wwoorrdd character class matches letters, digits, and the char-
- acter _.
-
- Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified using the
- syntax [[==_c==]], which matches all characters with the same colla-
- tion weight (as defined by the current locale) as the character
- _c.
-
- Within [[ and ]], the syntax [[.._s_y_m_b_o_l..]] matches the collating sym-
- bol _s_y_m_b_o_l.
+ ** Matches any string, including the null string. When the
+ gglloobbssttaarr shell option is enabled, and ** is used in a
+ pathname expansion context, two adjacent **s used as a
+ single pattern will match all files and zero or more
+ directories and subdirectories. If followed by a //, two
+ adjacent **s will match only directories and subdirecto-
+ ries.
+ ?? Matches any single character.
+ [[......]] Matches any one of the enclosed characters. A pair of
+ characters separated by a hyphen denotes a _r_a_n_g_e _e_x_p_r_e_s_-
+ _s_i_o_n; any character that sorts between those two charac-
+ ters, inclusive, using the current locale's collating
+ sequence and character set, is matched. If the first
+ character following the [[ is a !! or a ^^ then any charac-
+ ter not enclosed is matched. The sorting order of char-
+ acters in range expressions is determined by the current
+ locale and the value of the LLCC__CCOOLLLLAATTEE shell variable, if
+ set. A -- may be matched by including it as the first or
+ last character in the set. A ]] may be matched by includ-
+ ing it as the first character in the set.
+
+ Within [[ and ]], _c_h_a_r_a_c_t_e_r _c_l_a_s_s_e_s can be specified using
+ the syntax [[::_c_l_a_s_s::]], where _c_l_a_s_s is one of the following
+ classes defined in the POSIX standard:
+ aallnnuumm aallpphhaa aasscciiii bbllaannkk ccnnttrrll ddiiggiitt ggrraapphh lloowweerr pprriinntt
+ ppuunncctt ssppaaccee uuppppeerr wwoorrdd xxddiiggiitt
+ A character class matches any character belonging to that
+ class. The wwoorrdd character class matches letters, digits,
+ and the character _.
+
+ Within [[ and ]], an _e_q_u_i_v_a_l_e_n_c_e _c_l_a_s_s can be specified
+ using the syntax [[==_c==]], which matches all characters with
+ the same collation weight (as defined by the current
+ locale) as the character _c.
+
+ Within [[ and ]], the syntax [[.._s_y_m_b_o_l..]] matches the collat-
+ ing symbol _s_y_m_b_o_l.
If the eexxttgglloobb shell option is enabled using the sshhoopptt builtin, several
- extended pattern matching operators are recognized. In the following
+ extended pattern matching operators are recognized. In the following
description, a _p_a_t_t_e_r_n_-_l_i_s_t is a list of one or more patterns separated
by a ||. Composite patterns may be formed using one or more of the fol-
lowing sub-patterns:
@@ -1735,55 +1790,55 @@ EEXXPPAANNSSIIOONN
QQuuoottee RReemmoovvaall
After the preceding expansions, all unquoted occurrences of the charac-
- ters \\, '', and "" that did not result from one of the above expansions
+ ters \\, '', and "" that did not result from one of the above expansions
are removed.
RREEDDIIRREECCTTIIOONN
- Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d
- using a special notation interpreted by the shell. Redirection may
- also be used to open and close files for the current shell execution
+ Before a command is executed, its input and output may be _r_e_d_i_r_e_c_t_e_d
+ using a special notation interpreted by the shell. Redirection may
+ also be used to open and close files for the current shell execution
environment. The following redirection operators may precede or appear
anywhere within a _s_i_m_p_l_e _c_o_m_m_a_n_d or may follow a _c_o_m_m_a_n_d. Redirections
are processed in the order they appear, from left to right.
- Each redirection that may be preceded by a file descriptor number may
+ Each redirection that may be preceded by a file descriptor number may
instead be preceded by a word of the form {_v_a_r_n_a_m_e}. In this case, for
each redirection operator except >&- and <&-, the shell will allocate a
- file descriptor greater than 10 and assign it to _v_a_r_n_a_m_e. If >&- or
- <&- is preceded by {_v_a_r_n_a_m_e}, the value of _v_a_r_n_a_m_e defines the file
+ file descriptor greater than 10 and assign it to _v_a_r_n_a_m_e. If >&- or
+ <&- is preceded by {_v_a_r_n_a_m_e}, the value of _v_a_r_n_a_m_e defines the file
descriptor to close.
- In the following descriptions, if the file descriptor number is omit-
- ted, and the first character of the redirection operator is <<, the re-
- direction refers to the standard input (file descriptor 0). If the
- first character of the redirection operator is >>, the redirection
+ In the following descriptions, if the file descriptor number is omit-
+ ted, and the first character of the redirection operator is <<, the re-
+ direction refers to the standard input (file descriptor 0). If the
+ first character of the redirection operator is >>, the redirection
refers to the standard output (file descriptor 1).
- The word following the redirection operator in the following descrip-
- tions, unless otherwise noted, is subjected to brace expansion, tilde
+ The word following the redirection operator in the following descrip-
+ tions, unless otherwise noted, is subjected to brace expansion, tilde
expansion, parameter expansion, command substitution, arithmetic expan-
- sion, quote removal, pathname expansion, and word splitting. If it
+ sion, quote removal, pathname expansion, and word splitting. If it
expands to more than one word, bbaasshh reports an error.
- Note that the order of redirections is significant. For example, the
+ Note that the order of redirections is significant. For example, the
command
ls >> dirlist 2>>&&1
- directs both standard output and standard error to the file _d_i_r_l_i_s_t,
+ directs both standard output and standard error to the file _d_i_r_l_i_s_t,
while the command
ls 2>>&&1 >> dirlist
- directs only the standard output to file _d_i_r_l_i_s_t, because the standard
- error was duplicated from the standard output before the standard out-
+ directs only the standard output to file _d_i_r_l_i_s_t, because the standard
+ error was duplicated from the standard output before the standard out-
put was redirected to _d_i_r_l_i_s_t.
BBaasshh handles several filenames specially when they are used in redirec-
tions, as described in the following table:
//ddeevv//ffdd//_f_d
- If _f_d is a valid integer, file descriptor _f_d is dupli-
+ If _f_d is a valid integer, file descriptor _f_d is dupli-
cated.
//ddeevv//ssttddiinn
File descriptor 0 is duplicated.
@@ -1793,22 +1848,22 @@ RREEDDIIRREECCTTIIOONN
File descriptor 2 is duplicated.
//ddeevv//ttccpp//_h_o_s_t//_p_o_r_t
If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t
- is an integer port number or service name, bbaasshh attempts
+ is an integer port number or service name, bbaasshh attempts
to open a TCP connection to the corresponding socket.
//ddeevv//uuddpp//_h_o_s_t//_p_o_r_t
If _h_o_s_t is a valid hostname or Internet address, and _p_o_r_t
- is an integer port number or service name, bbaasshh attempts
+ is an integer port number or service name, bbaasshh attempts
to open a UDP connection to the corresponding socket.
A failure to open or create a file causes the redirection to fail.
- Redirections using file descriptors greater than 9 should be used with
- care, as they may conflict with file descriptors the shell uses inter-
+ Redirections using file descriptors greater than 9 should be used with
+ care, as they may conflict with file descriptors the shell uses inter-
nally.
RReeddiirreeccttiinngg IInnppuutt
Redirection of input causes the file whose name results from the expan-
- sion of _w_o_r_d to be opened for reading on file descriptor _n, or the
+ sion of _w_o_r_d to be opened for reading on file descriptor _n, or the
standard input (file descriptor 0) if _n is not specified.
The general format for redirecting input is:
@@ -1816,27 +1871,27 @@ RREEDDIIRREECCTTIIOONN
[_n]<<_w_o_r_d
RReeddiirreeccttiinngg OOuuttppuutt
- Redirection of output causes the file whose name results from the
+ Redirection of output causes the file whose name results from the
expansion of _w_o_r_d to be opened for writing on file descriptor _n, or the
standard output (file descriptor 1) if _n is not specified. If the file
- does not exist it is created; if it does exist it is truncated to zero
+ does not exist it is created; if it does exist it is truncated to zero
size.
The general format for redirecting output is:
[_n]>>_w_o_r_d
- If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett
- builtin has been enabled, the redirection will fail if the file whose
- name results from the expansion of _w_o_r_d exists and is a regular file.
+ If the redirection operator is >>, and the nnoocclloobbbbeerr option to the sseett
+ builtin has been enabled, the redirection will fail if the file whose
+ name results from the expansion of _w_o_r_d exists and is a regular file.
If the redirection operator is >>||, or the redirection operator is >> and
the nnoocclloobbbbeerr option to the sseett builtin command is not enabled, the re-
direction is attempted even if the file named by _w_o_r_d exists.
AAppppeennddiinngg RReeddiirreecctteedd OOuuttppuutt
- Redirection of output in this fashion causes the file whose name
- results from the expansion of _w_o_r_d to be opened for appending on file
- descriptor _n, or the standard output (file descriptor 1) if _n is not
+ Redirection of output in this fashion causes the file whose name
+ results from the expansion of _w_o_r_d to be opened for appending on file
+ descriptor _n, or the standard output (file descriptor 1) if _n is not
specified. If the file does not exist it is created.
The general format for appending output is:
@@ -1845,11 +1900,11 @@ RREEDDIIRREECCTTIIOONN
RReeddiirreeccttiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr
- This construct allows both the standard output (file descriptor 1) and
- the standard error output (file descriptor 2) to be redirected to the
+ This construct allows both the standard output (file descriptor 1) and
+ the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of _w_o_r_d.
- There are two formats for redirecting standard output and standard
+ There are two formats for redirecting standard output and standard
error:
&&>>_w_o_r_d
@@ -1863,8 +1918,8 @@ RREEDDIIRREECCTTIIOONN
AAppppeennddiinngg SSttaannddaarrdd OOuuttppuutt aanndd SSttaannddaarrdd EErrrroorr
- This construct allows both the standard output (file descriptor 1) and
- the standard error output (file descriptor 2) to be appended to the
+ This construct allows both the standard output (file descriptor 1) and
+ the standard error output (file descriptor 2) to be appended to the
file whose name is the expansion of _w_o_r_d.
The format for appending standard output and standard error is:
@@ -1876,9 +1931,9 @@ RREEDDIIRREECCTTIIOONN
>>>>_w_o_r_d 2>>&&1
HHeerree DDooccuummeennttss
- This type of redirection instructs the shell to read input from the
+ This type of redirection instructs the shell to read input from the
current source until a line containing only _d_e_l_i_m_i_t_e_r (with no trailing
- blanks) is seen. All of the lines read up to that point are then used
+ blanks) is seen. All of the lines read up to that point are then used
as the standard input for a command.
The format of here-documents is:
@@ -1887,18 +1942,18 @@ RREEDDIIRREECCTTIIOONN
_h_e_r_e_-_d_o_c_u_m_e_n_t
_d_e_l_i_m_i_t_e_r
- No parameter expansion, command substitution, arithmetic expansion, or
+ No parameter expansion, command substitution, arithmetic expansion, or
pathname expansion is performed on _w_o_r_d. If any characters in _w_o_r_d are
- quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the
- lines in the here-document are not expanded. If _w_o_r_d is unquoted, all
- lines of the here-document are subjected to parameter expansion, com-
- mand substitution, and arithmetic expansion. In the latter case, the
- character sequence \\<<nneewwlliinnee>> is ignored, and \\ must be used to quote
+ quoted, the _d_e_l_i_m_i_t_e_r is the result of quote removal on _w_o_r_d, and the
+ lines in the here-document are not expanded. If _w_o_r_d is unquoted, all
+ lines of the here-document are subjected to parameter expansion, com-
+ mand substitution, and arithmetic expansion. In the latter case, the
+ character sequence \\<<nneewwlliinnee>> is ignored, and \\ must be used to quote
the characters \\, $$, and ``.
If the redirection operator is <<<<--, then all leading tab characters are
- stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This
- allows here-documents within shell scripts to be indented in a natural
+ stripped from input lines and the line containing _d_e_l_i_m_i_t_e_r. This
+ allows here-documents within shell scripts to be indented in a natural
fashion.
HHeerree SSttrriinnggss
@@ -1914,20 +1969,20 @@ RREEDDIIRREECCTTIIOONN
[_n]<<&&_w_o_r_d
is used to duplicate input file descriptors. If _w_o_r_d expands to one or
- more digits, the file descriptor denoted by _n is made to be a copy of
- that file descriptor. If the digits in _w_o_r_d do not specify a file
- descriptor open for input, a redirection error occurs. If _w_o_r_d evalu-
- ates to --, file descriptor _n is closed. If _n is not specified, the
+ more digits, the file descriptor denoted by _n is made to be a copy of
+ that file descriptor. If the digits in _w_o_r_d do not specify a file
+ descriptor open for input, a redirection error occurs. If _w_o_r_d evalu-
+ ates to --, file descriptor _n is closed. If _n is not specified, the
standard input (file descriptor 0) is used.
The operator
[_n]>>&&_w_o_r_d
- is used similarly to duplicate output file descriptors. If _n is not
- specified, the standard output (file descriptor 1) is used. If the
- digits in _w_o_r_d do not specify a file descriptor open for output, a re-
- direction error occurs. As a special case, if _n is omitted, and _w_o_r_d
+ is used similarly to duplicate output file descriptors. If _n is not
+ specified, the standard output (file descriptor 1) is used. If the
+ digits in _w_o_r_d do not specify a file descriptor open for output, a re-
+ direction error occurs. As a special case, if _n is omitted, and _w_o_r_d
does not expand to one or more digits, the standard output and standard
error are redirected as described previously.
@@ -1936,7 +1991,7 @@ RREEDDIIRREECCTTIIOONN
[_n]<<&&_d_i_g_i_t--
- moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard
+ moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard
input (file descriptor 0) if _n is not specified. _d_i_g_i_t is closed after
being duplicated to _n.
@@ -1944,7 +1999,7 @@ RREEDDIIRREECCTTIIOONN
[_n]>>&&_d_i_g_i_t--
- moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard
+ moves the file descriptor _d_i_g_i_t to file descriptor _n, or the standard
output (file descriptor 1) if _n is not specified.
OOppeenniinngg FFiillee DDeessccrriippttoorrss ffoorr RReeaaddiinngg aanndd WWrriittiinngg
@@ -1952,111 +2007,117 @@ RREEDDIIRREECCTTIIOONN
[_n]<<>>_w_o_r_d
- causes the file whose name is the expansion of _w_o_r_d to be opened for
- both reading and writing on file descriptor _n, or on file descriptor 0
+ causes the file whose name is the expansion of _w_o_r_d to be opened for
+ both reading and writing on file descriptor _n, or on file descriptor 0
if _n is not specified. If the file does not exist, it is created.
AALLIIAASSEESS
- _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as
- the first word of a simple command. The shell maintains a list of
- aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin
- commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each
- simple command, if unquoted, is checked to see if it has an alias. If
- so, that word is replaced by the text of the alias. The characters //,
- $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s or quoting characters
+ _A_l_i_a_s_e_s allow a string to be substituted for a word when it is used as
+ the first word of a simple command. The shell maintains a list of
+ aliases that may be set and unset with the aalliiaass and uunnaalliiaass builtin
+ commands (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). The first word of each
+ simple command, if unquoted, is checked to see if it has an alias. If
+ so, that word is replaced by the text of the alias. The characters //,
+ $$, ``, and == and any of the shell _m_e_t_a_c_h_a_r_a_c_t_e_r_s or quoting characters
listed above may not appear in an alias name. The replacement text may
- contain any valid shell input, including shell metacharacters. The
- first word of the replacement text is tested for aliases, but a word
- that is identical to an alias being expanded is not expanded a second
- time. This means that one may alias llss to llss --FF, for instance, and
- bbaasshh does not try to recursively expand the replacement text. If the
- last character of the alias value is a _b_l_a_n_k, then the next command
+ contain any valid shell input, including shell metacharacters. The
+ first word of the replacement text is tested for aliases, but a word
+ that is identical to an alias being expanded is not expanded a second
+ time. This means that one may alias llss to llss --FF, for instance, and
+ bbaasshh does not try to recursively expand the replacement text. If the
+ last character of the alias value is a _b_l_a_n_k, then the next command
word following the alias is also checked for alias expansion.
Aliases are created and listed with the aalliiaass command, and removed with
the uunnaalliiaass command.
- There is no mechanism for using arguments in the replacement text. If
- arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS
+ There is no mechanism for using arguments in the replacement text. If
+ arguments are needed, a shell function should be used (see FFUUNNCCTTIIOONNSS
below).
- Aliases are not expanded when the shell is not interactive, unless the
- eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of
+ Aliases are not expanded when the shell is not interactive, unless the
+ eexxppaanndd__aalliiaasseess shell option is set using sshhoopptt (see the description of
sshhoopptt under SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below).
- The rules concerning the definition and use of aliases are somewhat
- confusing. BBaasshh always reads at least one complete line of input
- before executing any of the commands on that line. Aliases are
- expanded when a command is read, not when it is executed. Therefore,
- an alias definition appearing on the same line as another command does
- not take effect until the next line of input is read. The commands
+ The rules concerning the definition and use of aliases are somewhat
+ confusing. BBaasshh always reads at least one complete line of input
+ before executing any of the commands on that line. Aliases are
+ expanded when a command is read, not when it is executed. Therefore,
+ an alias definition appearing on the same line as another command does
+ not take effect until the next line of input is read. The commands
following the alias definition on that line are not affected by the new
- alias. This behavior is also an issue when functions are executed.
- Aliases are expanded when a function definition is read, not when the
- function is executed, because a function definition is itself a com-
+ alias. This behavior is also an issue when functions are executed.
+ Aliases are expanded when a function definition is read, not when the
+ function is executed, because a function definition is itself a com-
pound command. As a consequence, aliases defined in a function are not
- available until after that function is executed. To be safe, always
- put alias definitions on a separate line, and do not use aalliiaass in com-
+ available until after that function is executed. To be safe, always
+ put alias definitions on a separate line, and do not use aalliiaass in com-
pound commands.
For almost every purpose, aliases are superseded by shell functions.
FFUUNNCCTTIIOONNSS
- A shell function, defined as described above under SSHHEELLLL GGRRAAMMMMAARR,
- stores a series of commands for later execution. When the name of a
- shell function is used as a simple command name, the list of commands
+ A shell function, defined as described above under SSHHEELLLL GGRRAAMMMMAARR,
+ stores a series of commands for later execution. When the name of a
+ shell function is used as a simple command name, the list of commands
associated with that function name is executed. Functions are executed
- in the context of the current shell; no new process is created to
- interpret them (contrast this with the execution of a shell script).
- When a function is executed, the arguments to the function become the
+ in the context of the current shell; no new process is created to
+ interpret them (contrast this with the execution of a shell script).
+ When a function is executed, the arguments to the function become the
positional parameters during its execution. The special parameter ## is
- updated to reflect the change. Special parameter 0 is unchanged. The
- first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func-
+ updated to reflect the change. Special parameter 00 is unchanged. The
+ first element of the FFUUNNCCNNAAMMEE variable is set to the name of the func-
tion while the function is executing.
- All other aspects of the shell execution environment are identical
+ All other aspects of the shell execution environment are identical
between a function and its caller with these exceptions: the DDEEBBUUGG and
- RREETTUURRNN traps (see the description of the ttrraapp builtin under SSHHEELLLL
- BBUUIILLTTIINN CCOOMMMMAANNDDSS below) are not inherited unless the function has been
- given the ttrraaccee attribute (see the description of the ddeeccllaarree builtin
- below) or the --oo ffuunnccttrraaccee shell option has been enabled with the sseett
- builtin (in which case all functions inherit the DDEEBBUUGG and RREETTUURRNN
- traps), and the EERRRR trap is not inherited unless the --oo eerrrrttrraaccee shell
+ RREETTUURRNN traps (see the description of the ttrraapp builtin under SSHHEELLLL
+ BBUUIILLTTIINN CCOOMMMMAANNDDSS below) are not inherited unless the function has been
+ given the ttrraaccee attribute (see the description of the ddeeccllaarree builtin
+ below) or the --oo ffuunnccttrraaccee shell option has been enabled with the sseett
+ builtin (in which case all functions inherit the DDEEBBUUGG and RREETTUURRNN
+ traps), and the EERRRR trap is not inherited unless the --oo eerrrrttrraaccee shell
option has been enabled.
- Variables local to the function may be declared with the llooccaall builtin
+ Variables local to the function may be declared with the llooccaall builtin
command. Ordinarily, variables and their values are shared between the
function and its caller.
- If the builtin command rreettuurrnn is executed in a function, the function
- completes and execution resumes with the next command after the func-
- tion call. Any command associated with the RREETTUURRNN trap is executed
+ The FFUUNNCCNNEESSTT variable, if set to a numeric value greater than 0,
+ defines a maximum function nesting level. Function invocations that
+ exceed the limit cause the entire command to abort.
+
+ If the builtin command rreettuurrnn is executed in a function, the function
+ completes and execution resumes with the next command after the func-
+ tion call. Any command associated with the RREETTUURRNN trap is executed
before execution resumes. When a function completes, the values of the
- positional parameters and the special parameter ## are restored to the
+ positional parameters and the special parameter ## are restored to the
values they had prior to the function's execution.
- Function names and definitions may be listed with the --ff option to the
+ Function names and definitions may be listed with the --ff option to the
ddeeccllaarree or ttyyppeesseett builtin commands. The --FF option to ddeeccllaarree or ttyyppee--
- sseett will list the function names only (and optionally the source file
- and line number, if the eexxttddeebbuugg shell option is enabled). Functions
- may be exported so that subshells automatically have them defined with
- the --ff option to the eexxppoorrtt builtin. A function definition may be
- deleted using the --ff option to the uunnsseett builtin. Note that shell
+ sseett will list the function names only (and optionally the source file
+ and line number, if the eexxttddeebbuugg shell option is enabled). Functions
+ may be exported so that subshells automatically have them defined with
+ the --ff option to the eexxppoorrtt builtin. A function definition may be
+ deleted using the --ff option to the uunnsseett builtin. Note that shell
functions and variables with the same name may result in multiple iden-
- tically-named entries in the environment passed to the shell's chil-
+ tically-named entries in the environment passed to the shell's chil-
dren. Care should be taken in cases where this may cause a problem.
- Functions may be recursive. No limit is imposed on the number of
+ Functions may be recursive. The FFUUNNCCNNEESSTT variable may be used to limit
+ the depth of the function call stack and restrict the number of func-
+ tion invocations. By default, no limit is imposed on the number of
recursive calls.
AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN
- The shell allows arithmetic expressions to be evaluated, under certain
- circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc
- EExxppaannssiioonn). Evaluation is done in fixed-width integers with no check
- for overflow, though division by 0 is trapped and flagged as an error.
- The operators and their precedence, associativity, and values are the
- same as in the C language. The following list of operators is grouped
- into levels of equal-precedence operators. The levels are listed in
+ The shell allows arithmetic expressions to be evaluated, under certain
+ circumstances (see the lleett and ddeeccllaarree builtin commands and AArriitthhmmeettiicc
+ EExxppaannssiioonn). Evaluation is done in fixed-width integers with no check
+ for overflow, though division by 0 is trapped and flagged as an error.
+ The operators and their precedence, associativity, and values are the
+ same as in the C language. The following list of operators is grouped
+ into levels of equal-precedence operators. The levels are listed in
order of decreasing precedence.
_i_d++++ _i_d----
@@ -2084,47 +2145,47 @@ AARRIITTHHMMEETTIICC EEVVAALLUUAATTIIOONN
_e_x_p_r_1 ,, _e_x_p_r_2
comma
- Shell variables are allowed as operands; parameter expansion is per-
+ Shell variables are allowed as operands; parameter expansion is per-
formed before the expression is evaluated. Within an expression, shell
- variables may also be referenced by name without using the parameter
- expansion syntax. A shell variable that is null or unset evaluates to
+ variables may also be referenced by name without using the parameter
+ expansion syntax. A shell variable that is null or unset evaluates to
0 when referenced by name without using the parameter expansion syntax.
- The value of a variable is evaluated as an arithmetic expression when
- it is referenced, or when a variable which has been given the _i_n_t_e_g_e_r
+ The value of a variable is evaluated as an arithmetic expression when
+ it is referenced, or when a variable which has been given the _i_n_t_e_g_e_r
attribute using ddeeccllaarree --ii is assigned a value. A null value evaluates
- to 0. A shell variable need not have its integer attribute turned on
+ to 0. A shell variable need not have its _i_n_t_e_g_e_r attribute turned on
to be used in an expression.
Constants with a leading 0 are interpreted as octal numbers. A leading
- 0x or 0X denotes hexadecimal. Otherwise, numbers take the form
- [_b_a_s_e_#]n, where _b_a_s_e is a decimal number between 2 and 64 representing
- the arithmetic base, and _n is a number in that base. If _b_a_s_e_# is omit-
- ted, then base 10 is used. The digits greater than 9 are represented
- by the lowercase letters, the uppercase letters, @, and _, in that
- order. If _b_a_s_e is less than or equal to 36, lowercase and uppercase
- letters may be used interchangeably to represent numbers between 10 and
- 35.
-
- Operators are evaluated in order of precedence. Sub-expressions in
- parentheses are evaluated first and may override the precedence rules
+ 0x or 0X denotes hexadecimal. Otherwise, numbers take the form
+ [_b_a_s_e_#]n, where the optional _b_a_s_e is a decimal number between 2 and 64
+ representing the arithmetic base, and _n is a number in that base. If
+ _b_a_s_e_# is omitted, then base 10 is used. The digits greater than 9 are
+ represented by the lowercase letters, the uppercase letters, @, and _,
+ in that order. If _b_a_s_e is less than or equal to 36, lowercase and
+ uppercase letters may be used interchangeably to represent numbers
+ between 10 and 35.
+
+ Operators are evaluated in order of precedence. Sub-expressions in
+ parentheses are evaluated first and may override the precedence rules
above.
CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS
- Conditional expressions are used by the [[[[ compound command and the
- tteesstt and [[ builtin commands to test file attributes and perform string
- and arithmetic comparisons. Expressions are formed from the following
- unary or binary primaries. If any _f_i_l_e argument to one of the pri-
+ Conditional expressions are used by the [[[[ compound command and the
+ tteesstt and [[ builtin commands to test file attributes and perform string
+ and arithmetic comparisons. Expressions are formed from the following
+ unary or binary primaries. If any _f_i_l_e argument to one of the pri-
maries is of the form _/_d_e_v_/_f_d_/_n, then file descriptor _n is checked. If
- the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n,
- _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively,
+ the _f_i_l_e argument to one of the primaries is one of _/_d_e_v_/_s_t_d_i_n,
+ _/_d_e_v_/_s_t_d_o_u_t, or _/_d_e_v_/_s_t_d_e_r_r, file descriptor 0, 1, or 2, respectively,
is checked.
Unless otherwise specified, primaries that operate on files follow sym-
bolic links and operate on the target of the link, rather than the link
itself.
- When used with [[[[, The << and >> operators sort lexicographically using
- the current locale.
+ When used with [[[[, the << and >> operators sort lexicographically using
+ the current locale. The tteesstt command sorts using ASCII ordering.
--aa _f_i_l_e
True if _f_i_l_e exists.
@@ -2157,30 +2218,33 @@ CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS
True if _f_i_l_e exists and is writable.
--xx _f_i_l_e
True if _f_i_l_e exists and is executable.
- --OO _f_i_l_e
- True if _f_i_l_e exists and is owned by the effective user id.
--GG _f_i_l_e
True if _f_i_l_e exists and is owned by the effective group id.
--LL _f_i_l_e
True if _f_i_l_e exists and is a symbolic link.
- --SS _f_i_l_e
- True if _f_i_l_e exists and is a socket.
--NN _f_i_l_e
- True if _f_i_l_e exists and has been modified since it was last
+ True if _f_i_l_e exists and has been modified since it was last
read.
+ --OO _f_i_l_e
+ True if _f_i_l_e exists and is owned by the effective user id.
+ --SS _f_i_l_e
+ True if _f_i_l_e exists and is a socket.
+ _f_i_l_e_1 --eeff _f_i_l_e_2
+ True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num-
+ bers.
_f_i_l_e_1 -nntt _f_i_l_e_2
True if _f_i_l_e_1 is newer (according to modification date) than
_f_i_l_e_2, or if _f_i_l_e_1 exists and _f_i_l_e_2 does not.
_f_i_l_e_1 -oott _f_i_l_e_2
True if _f_i_l_e_1 is older than _f_i_l_e_2, or if _f_i_l_e_2 exists and _f_i_l_e_1
does not.
- _f_i_l_e_1 --eeff _f_i_l_e_2
- True if _f_i_l_e_1 and _f_i_l_e_2 refer to the same device and inode num-
- bers.
--oo _o_p_t_n_a_m_e
- True if shell option _o_p_t_n_a_m_e is enabled. See the list of
- options under the description of the --oo option to the sseett
+ True if the shell option _o_p_t_n_a_m_e is enabled. See the list of
+ options under the description of the --oo option to the sseett
builtin below.
+ --vv _v_a_r_n_a_m_e
+ True if the shell variable _v_a_r_n_a_m_e is set (has been assigned a
+ value).
--zz _s_t_r_i_n_g
True if the length of _s_t_r_i_n_g is zero.
_s_t_r_i_n_g
@@ -2354,7 +2418,7 @@ CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENN
ronment cannot affect the shell's execution environment.
Subshells spawned to execute command substitutions inherit the value of
- the --ee option from the parent shell. When not in posix mode, Bash
+ the --ee option from the parent shell. When not in _p_o_s_i_x mode, bbaasshh
clears the --ee option in such subshells.
If a command is followed by a && and job control is not active, the
@@ -2593,7 +2657,7 @@ RREEAADDLLIINNEE
This is the library that handles reading input when using an interac-
tive shell, unless the ----nnooeeddiittiinngg option is given at shell invocation.
Line editing is also used when using the --ee option to the rreeaadd builtin.
- By default, the line editing commands are similar to those of emacs. A
+ 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 --oo eemmaaccss or --oo vvii options to the sseett
builtin (see SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS below). To turn off line editing
@@ -2601,7 +2665,7 @@ RREEAADDLLIINNEE
sseett builtin.
RReeaaddlliinnee NNoottaattiioonn
- In this section, the emacs-style notation is used to denote keystrokes.
+ In this section, the Emacs-style notation is used to denote keystrokes.
Control keys are denoted by C-_k_e_y, e.g., C-n means Control-N. Simi-
larly, _m_e_t_a keys are denoted by M-_k_e_y, so M-x means Meta-X. (On key-
boards without a _m_e_t_a key, M-_x means ESC _x, i.e., press the Escape key
@@ -2771,7 +2835,7 @@ RREEAADDLLIINNEE
mapped to sseellff--iinnsseerrtt.
eeddiittiinngg--mmooddee ((eemmaaccss))
Controls whether readline begins with a set of key bindings sim-
- ilar to _e_m_a_c_s or _v_i. eeddiittiinngg--mmooddee can be set to either eemmaaccss or
+ ilar to _E_m_a_c_s or _v_i. eeddiittiinngg--mmooddee can be set to either eemmaaccss or
vvii.
eecchhoo--ccoonnttrrooll--cchhaarraacctteerrss ((OOnn))
When set to OOnn, on operating systems that indicate they support
@@ -2786,10 +2850,10 @@ RREEAADDLLIINNEE
key the terminal claims to support when it is called. On many
terminals, the meta key is used to send eight-bit characters.
eexxppaanndd--ttiillddee ((OOffff))
- If set to oonn, tilde expansion is performed when readline
+ If set to OOnn, tilde expansion is performed when readline
attempts word completion.
hhiissttoorryy--pprreesseerrvvee--ppooiinntt ((OOffff))
- If set to oonn, the history code attempts to place point at the
+ If set to OOnn, the history code attempts to place point at the
same location on each history line retrieved with pprreevviioouuss--hhiiss--
ttoorryy or nneexxtt--hhiissttoorryy.
hhiissttoorryy--ssiizzee ((00))
@@ -2829,8 +2893,12 @@ RREEAADDLLIINNEE
mmaattcchh--hhiiddddeenn--ffiilleess ((OOnn))
This variable, when set to OOnn, 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.
+ filename completion. If set to OOffff, the leading `.' must be
+ supplied by the user in the filename to be completed.
+ mmeennuu--ccoommpplleettee--ddiissppllaayy--pprreeffiixx ((OOffff))
+ If set to OOnn, menu completion displays the common prefix of the
+ list of possible completions (which may be empty) before cycling
+ through the list.
oouuttppuutt--mmeettaa ((OOffff))
If set to OOnn, readline will display characters with the eighth
bit set directly rather than as a meta-prefixed escape sequence.
@@ -2842,18 +2910,18 @@ RREEAADDLLIINNEE
sorted horizontally in alphabetical order, rather than down the
screen.
rreevveerrtt--aallll--aatt--nneewwlliinnee ((OOffff))
- If set to oonn, readline will undo all changes to history lines
+ If set to OOnn, readline will undo all changes to history lines
before returning when aacccceepptt--lliinnee is executed. By default, his-
tory lines may be modified and retain individual undo lists
across calls to rreeaaddlliinnee.
sshhooww--aallll--iiff--aammbbiigguuoouuss ((OOffff))
This alters the default behavior of the completion functions.
- If set to oonn, words which have more than one possible completion
+ If set to OOnn, words which have more than one possible completion
cause the matches to be listed immediately instead of ringing
the bell.
sshhooww--aallll--iiff--uunnmmooddiiffiieedd ((OOffff))
This alters the default behavior of the completion functions in
- a fashion similar to sshhooww--aallll--iiff--aammbbiigguuoouuss. If set to oonn, words
+ a fashion similar to sshhooww--aallll--iiff--aammbbiigguuoouuss. If set to OOnn, 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
@@ -2904,7 +2972,7 @@ RREEAADDLLIINNEE
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:
+ bbaasshh:
$$iiff Bash
# Quote the current or previous word
@@ -3043,12 +3111,16 @@ RREEAADDLLIINNEE
"!_n" history expansion had been specified.
yyaannkk--llaasstt--aarrgg ((MM--..,, MM--__))
Insert the last argument to the previous command (the last word
- of the previous history entry). With an argument, behave
+ of the previous history entry). With a numeric argument, behave
exactly like yyaannkk--nntthh--aarrgg. Successive calls to yyaannkk--llaasstt--aarrgg
- 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
- had been specified.
+ move back through the history list, inserting the last word (or
+ the word specified by the argument to the first call) of each
+ line in turn. Any numeric argument supplied to these successive
+ calls determines the direction to move through the history. A
+ negative argument switches the direction through the history
+ (back or forward). The history expansion facilities are used to
+ extract the last argument, as if the "!$" history expansion had
+ been specified.
sshheellll--eexxppaanndd--lliinnee ((MM--CC--ee))
Expand the line as the shell does. This performs alias and his-
tory expansion as well as all of the shell word expansions. See
@@ -3214,9 +3286,9 @@ RREEAADDLLIINNEE
moves _n 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 TTAABB, but is unbound by
- default.cc
- mmeennuu--ccoommpplleettee--kkrrdd
- Identicwwal to mmeennuu--ccoommpplleettee, but moves backward through the list
+ default.
+ mmeennuu--ccoommpplleettee--bbaacckkwwaarrdd
+ Identical to mmeennuu--ccoommpplleettee, but moves backward through the list
of possible completions, as if mmeennuu--ccoommpplleettee had been given a
negative argument. This command is unbound by default.
ddeelleettee--cchhaarr--oorr--lliisstt
@@ -3314,7 +3386,7 @@ RREEAADDLLIINNEE
A character is read and point is moved to the previous occur-
rence of that character. A negative count searches for subse-
quent occurrences.
- sskkiipp--ccssii--sseeqquueennccee (())
+ sskkiipp--ccssii--sseeqquueennccee
Read enough characters to consume a multi-key sequence such as
those defined for keys like Home and End. Such sequences begin
with a Control Sequence Indicator (CSI), usually ESC-[. If this
@@ -3381,7 +3453,7 @@ RREEAADDLLIINNEE
word is a full pathname, a compspec for the full pathname is searched
for first. If no compspec is found for the full pathname, an attempt
is made to find a compspec for the portion following the final slash.
- If those searches to not result in a compspec, any compspec defined
+ If those searches do not result in a compspec, any compspec defined
with the --DD option to ccoommpplleettee is used as the default.
Once a compspec has been found, it is used to generate the list of
@@ -3476,8 +3548,8 @@ RREEAADDLLIINNEE
changes the compspec associated with the command on which completion is
being attempted (supplied as the first argument when the function is
executed), programmable completion restarts from the beginning, with an
- attempt to find a compspec for that command. This allows a set of com-
- pletions to be built dynamically as completion is attempted, rather
+ attempt to find a new compspec for that command. This allows a set of
+ completions to be built dynamically as completion is attempted, rather
than being loaded all at once.
For instance, assuming that there is a library of compspecs, each kept
@@ -3593,24 +3665,26 @@ HHIISSTTOORRYY EEXXPPAANNSSIIOONN
EEvveenntt DDeessiiggnnaattoorrss
An event designator is a reference to a command line entry in the his-
- tory list.
+ tory list. Unless the reference is absolute, events are relative to
+ the current position in the history list.
- !! Start a history substitution, except when followed by a bbllaannkk,
- newline, carriage return, = or ( (when the eexxttgglloobb shell option
+ !! Start a history substitution, except when followed by a bbllaannkk,
+ newline, carriage return, = or ( (when the eexxttgglloobb shell option
is enabled using the sshhoopptt builtin).
!!_n Refer to command line _n.
- !!--_n Refer to the current command line minus _n.
+ !!--_n Refer to the current command minus _n.
!!!! Refer to the previous command. This is a synonym for `!-1'.
!!_s_t_r_i_n_g
- Refer to the most recent command starting with _s_t_r_i_n_g.
+ Refer to the most recent command preceding the current position
+ in the history list starting with _s_t_r_i_n_g.
!!??_s_t_r_i_n_g[[??]]
- Refer to the most recent command containing _s_t_r_i_n_g. The trail-
- ing ?? may be omitted if _s_t_r_i_n_g is followed immediately by a new-
- line.
+ Refer to the most recent command preceding the current postition
+ in the history list containing _s_t_r_i_n_g. The trailing ?? may be
+ omitted if _s_t_r_i_n_g is followed immediately by a newline.
^^_s_t_r_i_n_g_1^^_s_t_r_i_n_g_2^^
- Quick substitution. Repeat the last command, replacing _s_t_r_i_n_g_1
- with _s_t_r_i_n_g_2. Equivalent to ``!!:s/_s_t_r_i_n_g_1/_s_t_r_i_n_g_2/'' (see MMoodd--
- iiffiieerrss below).
+ Quick substitution. Repeat the previous command, replacing
+ _s_t_r_i_n_g_1 with _s_t_r_i_n_g_2. Equivalent to ``!!:s/_s_t_r_i_n_g_1/_s_t_r_i_n_g_2/''
+ (see MMooddiiffiieerrss below).
!!## The entire command line typed so far.
WWoorrdd DDeessiiggnnaattoorrss
@@ -3785,7 +3859,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
ccaalllleerr [_e_x_p_r]
Returns the context of any active subroutine call (a shell func-
- tion or a script executed with the .. or ssoouurrccee builtins. With-
+ tion or a script executed with the .. or ssoouurrccee builtins). With-
out _e_x_p_r, ccaalllleerr displays the line number and source filename of
the current subroutine call. If a non-negative integer is sup-
plied as _e_x_p_r, ccaalllleerr displays the line number, subroutine name,
@@ -3796,7 +3870,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
routine call or _e_x_p_r does not correspond to a valid position in
the call stack.
- ccdd [--LL||--PP] [_d_i_r]
+ ccdd [--LL|[--PP [--ee]]] [_d_i_r]
Change the current directory to _d_i_r. The variable HHOOMMEE is the
default _d_i_r. The variable CCDDPPAATTHH defines the search path for
the directory containing _d_i_r. Alternative directory names in
@@ -3806,104 +3880,107 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
option says to use the physical directory structure instead of
following symbolic links (see also the --PP option to the sseett
builtin command); the --LL option forces symbolic links to be fol-
- lowed. An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non-
- empty directory name from CCDDPPAATTHH is used, or if -- 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-
+ lowed. If the --ee option is supplied with --PP, and the current
+ working directory cannot be successfully determined after a suc-
+ cessful directory change, ccdd will return an unsuccessful status.
+ An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non-empty
+ directory name from CCDDPPAATTHH is used, or if -- is the first argu-
+ ment, and the directory change is successful, the absolute path-
+ name of the new working directory is written to the standard
+ output. The return value is true if the directory was success-
fully changed; false otherwise.
ccoommmmaanndd [--ppVVvv] _c_o_m_m_a_n_d [_a_r_g ...]
- Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function
- lookup. Only builtin commands or commands found in the PPAATTHH are
- executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is
- performed using a default value for PPAATTHH that is guaranteed to
- find all of the standard utilities. If either the --VV or --vv
+ Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function
+ lookup. Only builtin commands or commands found in the PPAATTHH are
+ executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is
+ performed using a default value for PPAATTHH that is guaranteed to
+ find all of the standard utilities. If either the --VV or --vv
option is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv
- 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 _c_o_m_m_a_n_d to be displayed; the --VV option produces a
- more verbose description. If the --VV or --vv option is supplied,
- the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If
+ more verbose description. If the --VV or --vv option is supplied,
+ the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If
neither option is supplied and an error occurred or _c_o_m_m_a_n_d 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 ccoommmmaanndd builtin is the exit status of _c_o_m_m_a_n_d.
ccoommppggeenn [_o_p_t_i_o_n] [_w_o_r_d]
- Generate possible completion matches for _w_o_r_d according to the
- _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee
- builtin with the exception of --pp and --rr, and write the matches
- to the standard output. When using the --FF or --CC options, the
- various shell variables set by the programmable completion
+ Generate possible completion matches for _w_o_r_d according to the
+ _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee
+ builtin with the exception of --pp and --rr, and write the matches
+ to the standard output. When using the --FF or --CC 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 _w_o_r_d is speci-
fied, only those completions matching _w_o_r_d 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.
- ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_-
+ ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_-
_p_a_t] [--WW _w_o_r_d_l_i_s_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d]
[--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] _n_a_m_e [_n_a_m_e _._._.]
ccoommpplleettee --pprr [--DDEE] [_n_a_m_e ...]
- Specify how arguments to each _n_a_m_e should be completed. If the
- --pp 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 _n_a_m_e should be completed. If the
+ --pp 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 --rr option removes a completion spec-
- ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com-
+ ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com-
pletion specifications. The --DD option indicates that the
- remaining options and actions should apply to the ``default''
- command completion; that is, completion attempted on a command
- for which no completion has previously been defined. The --EE
- option indicates that the remaining options and actions should
- apply to ``empty'' command completion; that is, completion
+ remaining options and actions should apply to the ``default''
+ command completion; that is, completion attempted on a command
+ for which no completion has previously been defined. The --EE
+ option indicates that the remaining options and actions should
+ apply to ``empty'' command completion; that is, completion
attempted on a blank line.
- The process of applying these completion specifications when
- word completion is attempted is described above under PPrroo--
+ The process of applying these completion specifications when
+ word completion is attempted is described above under PPrroo--
ggrraammmmaabbllee CCoommpplleettiioonn.
- Other options, if specified, have the following meanings. The
- arguments to the --GG, --WW, and --XX options (and, if necessary, the
- --PP and --SS options) should be quoted to protect them from expan-
+ Other options, if specified, have the following meanings. The
+ arguments to the --GG, --WW, and --XX options (and, if necessary, the
+ --PP and --SS options) should be quoted to protect them from expan-
sion before the ccoommpplleettee builtin is invoked.
--oo _c_o_m_p_-_o_p_t_i_o_n
- The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp-
- spec's behavior beyond the simple generation of comple-
+ The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp-
+ spec's behavior beyond the simple generation of comple-
tions. _c_o_m_p_-_o_p_t_i_o_n may be one of:
bbaasshhddeeffaauulltt
Perform the rest of the default bbaasshh completions
if the compspec generates no matches.
- ddeeffaauulltt Use readline's default filename completion if
+ ddeeffaauulltt Use readline's default filename completion if
the compspec generates no matches.
ddiirrnnaammeess
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
ffiilleennaammeess
- 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.
- nnoossppaaccee Tell readline not to append a space (the
- default) to words completed at the end of the
+ nnoossppaaccee Tell readline not to append a space (the
+ default) to words completed at the end of the
line.
pplluussddiirrss
- 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.
--AA _a_c_t_i_o_n
- The _a_c_t_i_o_n may be one of the following to generate a
+ The _a_c_t_i_o_n may be one of the following to generate a
list of possible completions:
aalliiaass Alias names. May also be specified as --aa.
aarrrraayyvvaarr
Array variable names.
bbiinnddiinngg RReeaaddlliinnee key binding names.
- bbuuiillttiinn Names of shell builtin commands. May also be
+ bbuuiillttiinn Names of shell builtin commands. May also be
specified as --bb.
ccoommmmaanndd Command names. May also be specified as --cc.
ddiirreeccttoorryy
@@ -3911,7 +3988,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
ddiissaabblleedd
Names of disabled shell builtins.
eennaabblleedd Names of enabled shell builtins.
- eexxppoorrtt Names of exported shell variables. May also be
+ eexxppoorrtt Names of exported shell variables. May also be
specified as --ee.
ffiillee File names. May also be specified as --ff.
ffuunnccttiioonn
@@ -3920,17 +3997,17 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
hheellppttooppiicc
Help topics as accepted by the hheellpp builtin.
hhoossttnnaammee
- Hostnames, as taken from the file specified by
+ Hostnames, as taken from the file specified by
the HHOOSSTTFFIILLEE shell variable.
- jjoobb Job names, if job control is active. May also
+ jjoobb Job names, if job control is active. May also
be specified as --jj.
- kkeeyywwoorrdd Shell reserved words. May also be specified as
+ kkeeyywwoorrdd Shell reserved words. May also be specified as
--kk.
rruunnnniinngg Names of running jobs, if job control is active.
sseerrvviiccee Service names. May also be specified as --ss.
- sseettoopptt Valid arguments for the --oo option to the sseett
+ sseettoopptt Valid arguments for the --oo option to the sseett
builtin.
- sshhoopptt Shell option names as accepted by the sshhoopptt
+ sshhoopptt Shell option names as accepted by the sshhoopptt
builtin.
ssiiggnnaall Signal names.
ssttooppppeedd Names of stopped jobs, if job control is active.
@@ -3938,15 +4015,6 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
vvaarriiaabbllee
Names of all shell variables. May also be spec-
ified as --vv.
- --GG _g_l_o_b_p_a_t
- The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
- generate the possible completions.
- --WW _w_o_r_d_l_i_s_t
- The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS
- 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.
--CC _c_o_m_m_a_n_d
_c_o_m_m_a_n_d is executed in a subshell environment, and its
output is used as the possible completions.
@@ -3955,69 +4023,81 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
shell environment. When it finishes, the possible com-
pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY
array variable.
- --XX _f_i_l_t_e_r_p_a_t
- _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
- It is applied to the list of possible completions gener-
- ated by the preceding options and arguments, and each
- completion matching _f_i_l_t_e_r_p_a_t is removed from the list.
- A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this
- case, any completion not matching _f_i_l_t_e_r_p_a_t is removed.
+ --GG _g_l_o_b_p_a_t
+ The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
+ generate the possible completions.
--PP _p_r_e_f_i_x
- _p_r_e_f_i_x is added at the beginning of each possible com-
+ _p_r_e_f_i_x is added at the beginning of each possible com-
pletion after all other options have been applied.
--SS _s_u_f_f_i_x
_s_u_f_f_i_x 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 --pp or --rr is supplied without a _n_a_m_e argu-
- ment, an attempt is made to remove a completion specification
+ --WW _w_o_r_d_l_i_s_t
+ The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS
+ 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.
+ --XX _f_i_l_t_e_r_p_a_t
+ _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
+ It is applied to the list of possible completions gener-
+ ated by the preceding options and arguments, and each
+ completion matching _f_i_l_t_e_r_p_a_t is removed from the list.
+ A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this
+ case, any completion not matching _f_i_l_t_e_r_p_a_t is removed.
+
+ The return value is true unless an invalid option is supplied,
+ an option other than --pp or --rr is supplied without a _n_a_m_e argu-
+ ment, an attempt is made to remove a completion specification
for a _n_a_m_e for which no specification exists, or an error occurs
adding a completion specification.
ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEE] [++oo _o_p_t_i_o_n] [_n_a_m_e]
Modify completion options for each _n_a_m_e according to the
- _o_p_t_i_o_ns, or for the currently-execution completion if no _n_a_m_es
- are supplied. If no _o_p_t_i_o_ns are given, display the completion
- options for each _n_a_m_e or the current completion. The possible
- values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin
- described above. The --DD option indicates that the remaining
+ _o_p_t_i_o_ns, or for the currently-executing completion if no _n_a_m_es
+ are supplied. If no _o_p_t_i_o_ns are given, display the completion
+ options for each _n_a_m_e or the current completion. The possible
+ values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin
+ described above. The --DD option indicates that the remaining
options should apply to the ``default'' command completion; that
- is, completion attempted on a command for which no completion
- has previously been defined. The --EE option indicates that the
- remaining options should apply to ``empty'' command completion;
+ is, completion attempted on a command for which no completion
+ has previously been defined. The --EE option indicates that the
+ remaining options should apply to ``empty'' command completion;
that is, completion attempted on a blank line.
- The return value is true unless an invalid option is supplied, an
- attempt is made to modify the options for a _n_a_m_e for which no comple-
- tion specification exists, or an output error occurs.
+ The return value is true unless an invalid option is supplied,
+ an attempt is made to modify the options for a _n_a_m_e for which no
+ completion specification exists, or an output error occurs.
ccoonnttiinnuuee [_n]
Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or
- sseelleecctt loop. If _n is specified, resume at the _nth enclosing
- loop. _n must be >= 1. If _n is greater than the number of
- enclosing loops, the last enclosing loop (the ``top-level''
+ sseelleecctt loop. If _n is specified, resume at the _nth enclosing
+ loop. _n must be >= 1. If _n is greater than the number of
+ enclosing loops, the last enclosing loop (the ``top-level''
loop) is resumed. The return value is 0 unless _n is not greater
than or equal to 1.
- ddeeccllaarree [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
- ttyyppeesseett [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
- Declare variables and/or give them attributes. If no _n_a_m_es are
- given then display the values of variables. The --pp option will
+ ddeeccllaarree [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
+ ttyyppeesseett [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
+ Declare variables and/or give them attributes. If no _n_a_m_es are
+ given then display the values of variables. The --pp option will
display the attributes and values of each _n_a_m_e. When --pp is used
with _n_a_m_e arguments, additional options are ignored. When --pp is
- supplied without _n_a_m_e 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
- --pp, ddeeccllaarree will display the attributes and values of all shell
- variables. The --ff option will restrict the display to shell
+ supplied without _n_a_m_e 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
+ --pp, ddeeccllaarree will display the attributes and values of all shell
+ variables. The --ff option will restrict the display to shell
functions. The --FF option inhibits the display of function defi-
- nitions; only the function name and attributes are printed. If
- the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source
+ nitions; only the function name and attributes are printed. If
+ the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source
file name and line number where the function is defined are dis-
- played as well. The --FF option implies --ff. The following
- options can be used to restrict output to variables with the
- specified attribute or to give variables attributes:
+ played as well. The --FF option implies --ff. The --gg option forces
+ variables to be created or modified at the global scope, even
+ when ddeeccllaarree is executed in a shell function. It is ignored in
+ all other cases. The following options can be used to restrict
+ output to variables with the specified attribute or to give
+ variables attributes:
--aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss
above).
--AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
@@ -4044,20 +4124,20 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
Using `+' instead of `-' turns off the attribute instead, with
the exceptions that ++aa may not be used to destroy an array vari-
able and ++rr will not remove the readonly attribute. When used
- in a function, makes each _n_a_m_e local, as with the llooccaall command.
- If a variable name is followed by =_v_a_l_u_e, the value of the vari-
- able is set to _v_a_l_u_e. The return value is 0 unless an invalid
- option is encountered, an attempt is made to define a function
- using ``-f foo=bar'', an attempt is made to assign a value to a
- readonly variable, an attempt is made to assign a value to an
- array variable without using the compound assignment syntax (see
- AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable
- name, an attempt is made to turn off readonly status for a read-
- only variable, an attempt is made to turn off array status for
- an array variable, or an attempt is made to display a non-exis-
- tent function with --ff.
-
- ddiirrss [[++_n]] [[--_n]] [[--ccppllvv]]
+ in a function, makes each _n_a_m_e local, as with the llooccaall command,
+ unless the --ggPP ooppttiioonn iiss ssuupppplliieedd,, IIff aa vvaarriiaabbllee nnaammee iiss ffooll--
+ lloowweedd bbyy ==_v_a_l_u_e,, tthhee vvaalluuee ooff tthhee vvaarriiaabbllee iiss sseett ttoo _v_a_l_u_e.. TThhee
+ rreettuurrnn vvaalluuee iiss 00 uunnlleessss aann iinnvvaalliidd ooppttiioonn iiss eennccoouunntteerreedd,, aann
+ aatttteemmpptt iiss mmaaddee ttoo ddeeffiinnee aa ffuunnccttiioonn uussiinngg ````--ff ffoooo==bbaarr'''',, aann
+ aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aa rreeaaddoonnllyy vvaarriiaabbllee,, aann
+ aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aann aarrrraayy vvaarriiaabbllee wwiitthhoouutt
+ uussiinngg tthhee ccoommppoouunndd aassssiiggnnmmeenntt ssyynnttaaxx ((sseeee AArrrraayyss above), one of
+ the _n_a_m_e_s is not a valid shell variable name, an attempt is made
+ to turn off readonly status for a readonly variable, an attempt
+ is made to turn off array status for an array variable, or an
+ attempt is made to display a non-existent function with --ff.
+
+ ddiirrss [[++_n]] [[--_n]] [[--ccllppvv]]
Without options, displays the list of currently remembered
directories. The default display is on a single line with
directory names separated by spaces. Directories are added to
@@ -4107,7 +4187,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
\\aa alert (bell)
\\bb backspace
\\cc suppress further output
- \\ee an escape character
+ \\ee
+ \\EE an escape character
\\ff form feed
\\nn new line
\\rr carriage return
@@ -4118,6 +4199,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
_n_n_n (zero to three octal digits)
\\xx_H_H the eight-bit character whose value is the hexadecimal
value _H_H (one or two hex digits)
+ \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H (one to four hex digits)
+ \\UU_H_H_H_H_H_H_H_H
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits)
eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...]
Enable and disable builtin shell commands. Disabling a builtin
@@ -4245,7 +4331,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
When the end of options is encountered, ggeettooppttss exits with a
return value greater than zero. OOPPTTIINNDD is set to the index of
- the first non-option argument, and nnaammee is set to ?.
+ the first non-option argument, and _n_a_m_e is set to ?.
ggeettooppttss normally parses the positional parameters, but if more
arguments are given in _a_r_g_s, ggeettooppttss parses those instead.
@@ -4273,25 +4359,26 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
an error occurs.
hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
- For each _n_a_m_e, the full file name of the command is determined
- by searching the directories in $$PPAATTHH and remembered. If the --pp
- option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e is
- used as the full file name of the command. The --rr option causes
- the shell to forget all remembered locations. The --dd option
- causes the shell to forget the remembered location of each _n_a_m_e.
- If the --tt option is supplied, the full pathname to which each
- _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments are
- supplied with --tt, the _n_a_m_e is printed before the hashed full
- pathname. The --ll option causes output to be displayed in a for-
- mat that may be reused as input. If no arguments are given, or
- if only --ll is supplied, information about remembered commands is
- printed. The return status is true unless a _n_a_m_e is not found
- or an invalid option is supplied.
+ Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e
+ is determined by searching the directories in $$PPAATTHH and remem-
+ bered. Any previously-remembered pathname is discarded. If the
+ --pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e
+ is used as the full file name of the command. The --rr option
+ causes the shell to forget all remembered locations. The --dd
+ option causes the shell to forget the remembered location of
+ each _n_a_m_e. If the --tt option is supplied, the full pathname to
+ which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
+ ments are supplied with --tt, the _n_a_m_e is printed before the
+ hashed full pathname. The --ll option causes output to be dis-
+ played in a format that may be reused as input. If no arguments
+ are given, or if only --ll is supplied, information about remem-
+ bered commands is printed. The return status is true unless a
+ _n_a_m_e is not found or an invalid option is supplied.
hheellpp [--ddmmss] [_p_a_t_t_e_r_n]
- Display helpful information about builtin commands. If _p_a_t_t_e_r_n
- is specified, hheellpp gives detailed help on all commands matching
- _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
+ Display helpful information about builtin commands. If _p_a_t_t_e_r_n
+ is specified, hheellpp gives detailed help on all commands matching
+ _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
structures is printed.
--dd Display a short description of each _p_a_t_t_e_r_n
--mm Display the description of each _p_a_t_t_e_r_n in a manpage-like
@@ -4307,44 +4394,44 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
hhiissttoorryy --ss _a_r_g [_a_r_g _._._.]
With no options, display the command history list with line num-
bers. Lines listed with a ** have been modified. An argument of
- _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
- FFOORRMMAATT is set and not null, it is used as a format string for
- _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
- played history entry. No intervening blank is printed between
- the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
- supplied, it is used as the name of the history file; if not,
- the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
+ _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
+ FFOORRMMAATT is set and not null, it is used as a format string for
+ _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
+ played history entry. No intervening blank is printed between
+ the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
+ supplied, it is used as the name of the history file; if not,
+ the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
following meanings:
--cc Clear the history list by deleting all the entries.
--dd _o_f_f_s_e_t
Delete the history entry at position _o_f_f_s_e_t.
- --aa Append the ``new'' history lines (history lines entered
- since the beginning of the current bbaasshh session) to the
+ --aa Append the ``new'' history lines (history lines entered
+ since the beginning of the current bbaasshh session) to the
history file.
- --nn Read the history lines not already read from the history
- file into the current history list. These are lines
- appended to the history file since the beginning of the
+ --nn Read the history lines not already read from the history
+ file into the current history list. These are lines
+ appended to the history file since the beginning of the
current bbaasshh session.
--rr Read the contents of the history file and use them as the
current history.
- --ww Write the current history to the history file, overwrit-
+ --ww Write the current history to the history file, overwrit-
ing the history file's contents.
- --pp Perform history substitution on the following _a_r_g_s and
- display the result on the standard output. Does not
- store the results in the history list. Each _a_r_g must be
+ --pp Perform history substitution on the following _a_r_g_s and
+ display the result on the standard output. Does not
+ store the results in the history list. Each _a_r_g must be
quoted to disable normal history expansion.
- --ss Store the _a_r_g_s in the history list as a single entry.
- The last command in the history list is removed before
+ --ss Store the _a_r_g_s in the history list as a single entry.
+ The last command in the history list is removed before
the _a_r_g_s are added.
- If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
- tion associated with each history entry is written to the his-
- tory file, marked with the history comment character. When the
- history file is read, lines beginning with the history comment
- character followed immediately by a digit are interpreted as
+ If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
+ tion associated with each history entry is written to the his-
+ tory file, marked with the history comment character. When the
+ history file is read, lines beginning with the history comment
+ character followed immediately by a digit are interpreted as
timestamps for the previous history line. The return value is 0
- unless an invalid option is encountered, an error occurs while
- reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
+ unless an invalid option is encountered, an error occurs while
+ reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
plied as an argument to --dd, or the history expansion supplied as
an argument to --pp fails.
@@ -4353,127 +4440,141 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
The first form lists the active jobs. The options have the fol-
lowing meanings:
--ll List process IDs in addition to the normal information.
- --pp List only the process ID of the job's process group
- leader.
--nn Display information only about jobs that have changed
status since the user was last notified of their status.
+ --pp List only the process ID of the job's process group
+ leader.
--rr Restrict output to running jobs.
--ss Restrict output to stopped jobs.
- If _j_o_b_s_p_e_c is given, output is restricted to information about
- that job. The return status is 0 unless an invalid option is
+ If _j_o_b_s_p_e_c is given, output is restricted to information about
+ that job. The return status is 0 unless an invalid option is
encountered or an invalid _j_o_b_s_p_e_c is supplied.
If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in
- _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and
+ _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and
executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status.
kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ...
kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s]
- Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
- named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
- signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
- a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
- present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
- signal names. If any arguments are supplied when --ll is given,
- the names of the signals corresponding to the arguments are
+ Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
+ named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
+ signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
+ a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
+ present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
+ signal names. If any arguments are supplied when --ll is given,
+ the names of the signals corresponding to the arguments are
listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to
- --ll is a number specifying either a signal number or the exit
- status of a process terminated by a signal. kkiillll returns true
- if at least one signal was successfully sent, or false if an
+ --ll is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. kkiillll returns true
+ if at least one signal was successfully sent, or false if an
error occurs or an invalid option is encountered.
lleett _a_r_g [_a_r_g ...]
Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH--
- MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
+ MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
returns 1; 0 is returned otherwise.
llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...]
- For each argument, a local variable named _n_a_m_e is created, and
- assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
+ For each argument, a local variable named _n_a_m_e is created, and
+ assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
by ddeeccllaarree. When llooccaall is used within a function, it causes the
- variable _n_a_m_e to have a visible scope restricted to that func-
+ variable _n_a_m_e to have a visible scope restricted to that func-
tion and its children. With no operands, llooccaall writes a list of
- local variables to the standard output. It is an error to use
+ local variables to the standard output. It is an error to use
llooccaall when not within a function. The return status is 0 unless
- llooccaall is used outside a function, an invalid _n_a_m_e is supplied,
+ llooccaall is used outside a function, an invalid _n_a_m_e is supplied,
or _n_a_m_e is a readonly variable.
llooggoouutt Exit a login shell.
- mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
+ mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
[--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
- rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
+ rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
[--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
- Read lines from the standard input into the indexed array vari-
- able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
- plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
+ Read lines from the standard input into the indexed array vari-
+ able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
+ plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
supplied, have the following meanings:
- --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
+ --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
copied.
- --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
+ --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
index is 0.
--ss Discard the first _c_o_u_n_t lines read.
--tt Remove a trailing newline from each line read.
- --uu Read lines from file descriptor _f_d instead of the stan-
+ --uu Read lines from file descriptor _f_d instead of the stan-
dard input.
- --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
+ --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--cc option specifies _q_u_a_n_t_u_m.
- --cc Specify the number of lines read between each call to
+ --cc Specify the number of lines read between each call to
_c_a_l_l_b_a_c_k.
- If --CC is specified without --cc, the default quantum is 5000.
+ If --CC is specified without --cc, the default quantum is 5000.
When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next
- array element to be assigned as an additional argument. _c_a_l_l_-
- _b_a_c_k is evaluated after the line is read but before the array
- element is assigned.
+ array element to be assigned and the line to be assigned to that
+ element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
+ the line is read but before the array element is assigned.
- If not supplied with an explicit origin, mmaappffiillee will clear
+ If not supplied with an explicit origin, mmaappffiillee will clear
_a_r_r_a_y before assigning to it.
- mmaappffiillee returns successfully unless an invalid option or option
- argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
+ mmaappffiillee returns successfully unless an invalid option or option
+ argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
_a_r_r_a_y is not an indexed array.
ppooppdd [-nn] [+_n] [-_n]
- Removes entries from the directory stack. With no arguments,
- removes the top directory from the stack, and performs a ccdd to
+ Removes entries from the directory stack. With no arguments,
+ removes the top directory from the stack, and performs a ccdd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
- --nn Suppresses the normal change of directory when removing
- directories from the stack, so that only the stack is
+ --nn Suppresses the normal change of directory when removing
+ directories from the stack, so that only the stack is
manipulated.
- ++_n Removes the _nth entry counting from the left of the list
- shown by ddiirrss, starting with zero. For example: ``popd
+ ++_n Removes the _nth entry counting from the left of the list
+ shown by ddiirrss, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
--_n Removes the _nth entry counting from the right of the list
- shown by ddiirrss, starting with zero. For example: ``popd
- -0'' removes the last directory, ``popd -1'' the next to
+ shown by ddiirrss, starting with zero. For example: ``popd
+ -0'' removes the last directory, ``popd -1'' the next to
last.
- If the ppooppdd command is successful, a ddiirrss is performed as well,
- and the return status is 0. ppooppdd returns false if an invalid
+ If the ppooppdd command is successful, a ddiirrss is performed as well,
+ and the return status is 0. ppooppdd returns false if an invalid
option is encountered, the directory stack is empty, a non-exis-
tent directory stack entry is specified, or the directory change
fails.
pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
- Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
- control of the _f_o_r_m_a_t. The _f_o_r_m_a_t is a character string which
- contains three types of objects: plain characters, which are
- simply copied to standard output, character escape sequences,
- which are converted and copied to the standard output, and for-
- mat specifications, each of which causes printing of the next
- successive _a_r_g_u_m_e_n_t. In addition to the standard _p_r_i_n_t_f(1) for-
- mats, %%bb causes pprriinnttff to expand backslash escape sequences in
- the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
- backslashes in \\'', \\"", and \\?? are not removed, and octal escapes
- beginning with \\00 may contain up to four digits), and %%qq causes
- pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a format that can
- be reused as shell input.
-
- The --vv option causes the output to be assigned to the variable
- _v_a_r rather than being printed to the standard output.
+ Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
+ control of the _f_o_r_m_a_t. The --vv option causes the output to be
+ assigned to the variable _v_a_r rather than being printed to the
+ standard output.
+
+ The _f_o_r_m_a_t is a character string which contains three types of
+ objects: plain characters, which are simply copied to standard
+ output, character escape sequences, which are converted and
+ copied to the standard output, and format specifications, each
+ of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
+ addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff
+ interprets the following extensions:
+ %%bb causes pprriinnttff to expand backslash escape sequences in the
+ corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
+ backslashes in \\'', \\"", and \\?? are not removed, and octal
+ escapes beginning with \\00 may contain up to four digits).
+ %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
+ format that can be reused as shell input.
+ %%((_d_a_t_e_f_m_t))TT
+ causes pprriinnttff to output the date-time string resulting
+ from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
+ The corresponding _a_r_g_u_m_e_n_t is an integer representing the
+ number of seconds since the epoch. Two special argument
+ values may be used: -1 represents the current time, and
+ -2 represents the time the shell was invoked.
+
+ Arguments to non-string format specifiers are treated as C con-
+ stants, except that a leading plus or minus sign is allowed, and
+ if the leading character is a single or double quote, the value
+ is the ASCII value of the following character.
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
@@ -4612,8 +4713,8 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
status is false. Any command associated with the RREETTUURRNN trap is
executed before execution resumes after the function or script.
- sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n] [_a_r_g ...]
- sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n] [_a_r_g ...]
+ sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
+ sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
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-
@@ -4856,17 +4957,29 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
easy re-editing of multi-line commands.
ccoommppaatt3311
If set, bbaasshh changes its behavior to that of version 3.1
- with respect to quoted arguments to the conditional com-
- mand's =~ operator.
+ with respect to quoted arguments to the [[[[ conditional
+ command's ==~~ operator.
ccoommppaatt3322
If set, bbaasshh changes its behavior to that of version 3.2
with respect to locale-specific string comparison when
- using the conditional command's < and > operators.
+ using the [[[[ conditional command's << and >> operators.
+ Bash versions prior to bash-4.1 use ASCII collation and
+ _s_t_r_c_m_p(3); bash-4.1 and later use the current locale's
+ collation sequence and _s_t_r_c_o_l_l(3).
ccoommppaatt4400
If set, bbaasshh changes its behavior to that of version 4.0
- with respect to locale-specific string comparison when
- using the conditional command's < and > operators and
- the effect of interrupting a command list.
+ with respect to locale-specific string comparison when
+ using the [[[[ conditional command's << and >> operators
+ (see previous item) and the effect of interrupting a
+ command list.
+ ccoommppaatt4411
+ @item compat41 If set, bbaasshh, when in posix mode, treats
+ a single quote in a double-quoted parameter expansion as
+ a special character. The single quotes must match (an
+ even number) and the characters between the single
+ quotes are considered quoted. This is the behavior of
+ posix mode through version 4.1. The default bash behav-
+ ior remains as in previous versions.
ddiirrssppeellll
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
@@ -4903,7 +5016,7 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
- _c_o_m_m_a_n_d )) inherit the EERRRROORR trap.
+ _c_o_m_m_a_n_d )) inherit the EERRRR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
@@ -4954,6 +5067,10 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
+ llaassttppiippee
+ If set, and job control is not active, the shell runs
+ the last command of a pipeline not executed in the back-
+ ground in the current shell environment.
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
@@ -5025,10 +5142,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
- depends on the number of arguments; see below.
+ depends on the number of arguments; see below. Operator prece-
+ dence is used when there are five or more arguments.
!! _e_x_p_r True if _e_x_p_r is false.
(( _e_x_p_r ))
- Returns the value of _e_x_p_r. This may be used to override
+ Returns the value of _e_x_p_r. This may be used to override
the normal precedence of operators.
_e_x_p_r_1 -aa _e_x_p_r_2
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
@@ -5045,13 +5163,14 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
null.
2 arguments
If the first argument is !!, the expression is true if and
- only if the second argument is null. If the first argu-
- ment is one of the unary conditional operators listed
- above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
+ only if the second argument is null. If the first argu-
+ ment is one of the unary conditional operators listed
+ above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
+ The following conditions are applied in the order listed.
If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
@@ -5073,31 +5192,34 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
The expression is parsed and evaluated according to
precedence using the rules listed above.
- ttiimmeess Print the accumulated user and system times for the shell and
+ When used with tteesstt or [[, the << and >> operators sort lexico-
+ graphically using ASCII ordering.
+
+ ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
- The command _a_r_g is to be read and executed when the shell
- receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
- single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _a_r_g is the null string the signal specified by each
- _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
- If _a_r_g is not present and --pp has been supplied, then the trap
- commands associated with each _s_i_g_s_p_e_c are displayed. If no
- arguments are supplied or if only --pp is given, ttrraapp prints the
- list of commands associated with each signal. The --ll option
- causes the shell to print a list of signal names and their cor-
- responding numbers. Each _s_i_g_s_p_e_c is either a signal name
- defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
- case insensitive and the SIG prefix is optional.
-
- If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
- from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
- cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
- _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
- first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
- above). Refer to the description of the eexxttddeebbuugg option to the
+ The command _a_r_g is to be read and executed when the shell
+ receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
+ single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _a_r_g is the null string the signal specified by each
+ _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
+ If _a_r_g is not present and --pp has been supplied, then the trap
+ commands associated with each _s_i_g_s_p_e_c are displayed. If no
+ arguments are supplied or if only --pp is given, ttrraapp prints the
+ list of commands associated with each signal. The --ll option
+ causes the shell to print a list of signal names and their cor-
+ responding numbers. Each _s_i_g_s_p_e_c is either a signal name
+ defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
+ case insensitive and the SSIIGG prefix is optional.
+
+ If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
+ from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
+ cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
+ _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
+ first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
+ above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
@@ -5105,53 +5227,53 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim-
ple command has a non-zero exit status, subject to the following
- conditions. The EERRRR trap is not executed if the failed command
- is part of the command list immediately following a wwhhiillee or
- uunnttiill keyword, part of the test in an _i_f statement, part of a
- command executed in a &&&& or |||| list, or if the command's return
- value is being inverted via !!. These are the same conditions
+ conditions. The EERRRR trap is not executed if the failed command
+ is part of the command list immediately following a wwhhiillee or
+ uunnttiill keyword, part of the test in an _i_f statement, part of a
+ command executed in a &&&& or |||| list, or if the command's return
+ value is being inverted via !!. These are the same conditions
obeyed by the eerrrreexxiitt option.
- Signals ignored upon entry to the shell cannot be trapped or
- reset. Trapped signals that are not being ignored are reset to
+ Signals ignored upon entry to the shell cannot be trapped or
+ reset. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
- one is created. The return status is false if any _s_i_g_s_p_e_c is
+ one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
- With no options, indicate how each _n_a_m_e would be interpreted if
+ With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
- string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
- _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
- builtin, or disk file, respectively. If the _n_a_m_e is not found,
- then nothing is printed, and an exit status of false is
- returned. If the --pp option is used, ttyyppee either returns the
+ string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
+ _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
+ builtin, or disk file, respectively. If the _n_a_m_e is not found,
+ then nothing is printed, and an exit status of false is
+ returned. If the --pp option is used, ttyyppee either returns the
name of the disk file that would be executed if _n_a_m_e were speci-
fied as a command name, or nothing if ``type -t name'' would not
- return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
+ return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
- hashed, --pp and --PP print the hashed value, not necessarily the
+ hashed, --pp and --PP print the hashed value, not necessarily the
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
- prints all of the places that contain an executable named _n_a_m_e.
- This includes aliases and functions, if and only if the --pp
- option is not also used. The table of hashed commands is not
- consulted when using --aa. The --ff option suppresses shell func-
- tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
+ prints all of the places that contain an executable named _n_a_m_e.
+ This includes aliases and functions, if and only if the --pp
+ option is not also used. The table of hashed commands is not
+ consulted when using --aa. The --ff option suppresses shell func-
+ tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
- for the given resource. A hard limit cannot be increased by a
- non-root user once it is set; a soft limit may be increased up
- to the value of the hard limit. If neither --HH nor --SS is speci-
+ for the given resource. A hard limit cannot be increased by a
+ non-root user once it is set; a soft limit may be increased up
+ to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
- current hard limit, the current soft limit, and no limit,
- respectively. If _l_i_m_i_t is omitted, the current value of the
- soft limit of the resource is printed, unless the --HH option is
+ current hard limit, the current soft limit, and no limit,
+ respectively. If _l_i_m_i_t is omitted, the current value of the
+ soft limit of the resource is printed, unless the --HH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
@@ -5160,11 +5282,11 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
- --ff The maximum size of files written by the shell and its
+ --ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--ll The maximum size that may be locked into memory
- --mm The maximum resident set size (many systems do not honor
+ --mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -5173,65 +5295,65 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
- --uu The maximum number of processes available to a single
+ --uu The maximum number of processes available to a single
user
- --vv The maximum amount of virtual memory available to the
- shell
+ --vv The maximum amount of virtual memory available to the
+ shell and, on some systems, to its children
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, it is the new value of the specified resource
(the --aa option is display only). If no option is given, then --ff
- is assumed. Values are in 1024-byte increments, except for --tt,
- which is in seconds, --pp, which is in units of 512-byte blocks,
- and --TT, --bb, --nn, and --uu, which are unscaled values. The return
+ is assumed. Values are in 1024-byte increments, except for --tt,
+ which is in seconds, --pp, which is in units of 512-byte blocks,
+ and --TT, --bb, --nn, and --uu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
- a digit, it is interpreted as an octal number; otherwise it is
- interpreted as a symbolic mode mask similar to that accepted by
- _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
- printed. The --SS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the --pp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
+ printed. The --SS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
- was successfully changed or if no _m_o_d_e argument was supplied,
+ was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
- Remove each _n_a_m_e from the list of defined aliases. If --aa is
- supplied, all alias definitions are removed. The return value
+ Remove each _n_a_m_e from the list of defined aliases. If --aa is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [_n_a_m_e ...]
- For each _n_a_m_e, remove the corresponding variable or function.
+ For each _n_a_m_e, remove the corresponding variable or function.
If no options are supplied, or the --vv option is given, each _n_a_m_e
- refers to a shell variable. Read-only variables may not be
- unset. If --ff is specified, each _n_a_m_e refers to a shell func-
- tion, and the function definition is removed. Each unset vari-
- able or function is removed from the environment passed to sub-
- sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS,
- LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they
- lose their special properties, even if they are subsequently
+ refers to a shell variable. Read-only variables may not be
+ unset. If --ff is specified, each _n_a_m_e refers to a shell func-
+ tion, and the function definition is removed. Each unset vari-
+ able or function is removed from the environment passed to sub-
+ sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS,
+ LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they
+ lose their special properties, even if they are subsequently
reset. The exit status is true unless a _n_a_m_e is readonly.
wwaaiitt [_n _._._.]
- Wait for each specified process and return its termination sta-
- tus. Each _n may be a process ID or a job specification; if a
- job spec is given, all processes in that job's pipeline are
- waited for. If _n is not given, all currently active child pro-
- cesses are waited for, and the return status is zero. If _n
- specifies a non-existent process or job, the return status is
- 127. Otherwise, the return status is the exit status of the
+ Wait for each specified process and return its termination sta-
+ tus. Each _n may be a process ID or a job specification; if a
+ job spec is given, all processes in that job's pipeline are
+ waited for. If _n is not given, all currently active child pro-
+ cesses are waited for, and the return status is zero. If _n
+ specifies a non-existent process or job, the return status is
+ 127. Otherwise, the return status is the exit status of the
last process or job waited for.
RREESSTTRRIICCTTEEDD SSHHEELLLL
If bbaasshh is started with the name rrbbaasshh, or the --rr option is supplied at
- invocation, the shell becomes restricted. A restricted shell is used
- to set up an environment more controlled than the standard shell. It
- behaves identically to bbaasshh with the exception that the following are
+ invocation, the shell becomes restricted. A restricted shell is used
+ to set up an environment more controlled than the standard shell. It
+ behaves identically to bbaasshh with the exception that the following are
disallowed or not performed:
+o changing directories with ccdd
@@ -5240,16 +5362,16 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o specifying command names containing //
- +o specifying a file name containing a // as an argument to the ..
+ +o specifying a file name containing a // as an argument to the ..
builtin command
- +o Specifying a filename containing a slash as an argument to the
+ +o specifying a filename containing a slash as an argument to the
--pp option to the hhaasshh builtin command
- +o importing function definitions from the shell environment at
+ +o importing function definitions from the shell environment at
startup
- +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at
+ +o parsing the value of SSHHEELLLLOOPPTTSS from the shell environment at
startup
+o redirecting output using the >, >|, <>, >&, &>, and >> redirect-
@@ -5258,10 +5380,10 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o using the eexxeecc builtin command to replace the shell with another
command
- +o adding or deleting builtin commands with the --ff and --dd options
+ +o adding or deleting builtin commands with the --ff and --dd options
to the eennaabbllee builtin command
- +o Using the eennaabbllee builtin command to enable disabled shell
+ +o using the eennaabbllee builtin command to enable disabled shell
builtins
+o specifying the --pp option to the ccoommmmaanndd builtin command
@@ -5271,14 +5393,14 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed (see CCOOMM--
- MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell
+ MMAANNDD EEXXEECCUUTTIIOONN above), rrbbaasshh turns off any restrictions in the shell
spawned to execute the script.
SSEEEE AALLSSOO
_B_a_s_h _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Brian Fox and Chet Ramey
_T_h_e _G_n_u _R_e_a_d_l_i_n_e _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
_T_h_e _G_n_u _H_i_s_t_o_r_y _L_i_b_r_a_r_y, Brian Fox and Chet Ramey
- _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_-
+ _P_o_r_t_a_b_l_e _O_p_e_r_a_t_i_n_g _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e _(_P_O_S_I_X_) _P_a_r_t _2_: _S_h_e_l_l _a_n_d _U_t_i_l_i_-
_t_i_e_s, IEEE
_s_h(1), _k_s_h(1), _c_s_h(1)
_e_m_a_c_s(1), _v_i(1)
@@ -5294,7 +5416,7 @@ FFIILLEESS
_~_/_._b_a_s_h_r_c
The individual per-interactive-shell startup file
_~_/_._b_a_s_h___l_o_g_o_u_t
- The individual login shell cleanup file, executed when a login
+ The individual login shell cleanup file, executed when a login
shell exits
_~_/_._i_n_p_u_t_r_c
Individual _r_e_a_d_l_i_n_e initialization file
@@ -5308,14 +5430,14 @@ AAUUTTHHOORRSS
BBUUGG RREEPPOORRTTSS
If you find a bug in bbaasshh,, you should report it. But first, you should
- make sure that it really is a bug, and that it appears in the latest
- version of bbaasshh. The latest version is always available from
- _f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_b_a_s_h_/.
-
- Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
- command to submit a bug report. If you have a fix, you are encouraged
- to mail that as well! Suggestions and `philosophical' bug reports may
- be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
+ make sure that it really is a bug, and that it appears in the latest
+ version of bbaasshh. The latest version is always available from
+ _f_t_p_:_/_/_f_t_p_._g_n_u_._o_r_g_/_p_u_b_/_g_n_u_/_b_a_s_h_/.
+
+ Once you have determined that a bug actually exists, use the _b_a_s_h_b_u_g
+ command to submit a bug report. If you have a fix, you are encouraged
+ to mail that as well! Suggestions and `philosophical' bug reports may
+ be mailed to _b_u_g_-_b_a_s_h_@_g_n_u_._o_r_g or posted to the Usenet newsgroup
ggnnuu..bbaasshh..bbuugg.
ALL bug reports should include:
@@ -5326,7 +5448,7 @@ BBUUGG RREEPPOORRTTSS
A description of the bug behaviour
A short script or `recipe' which exercises the bug
- _b_a_s_h_b_u_g inserts the first three items automatically into the template
+ _b_a_s_h_b_u_g inserts the first three items automatically into the template
it provides for filing a bug report.
Comments and bug reports concerning this manual page should be directed
@@ -5343,10 +5465,10 @@ BBUUGGSS
Shell builtin commands and functions are not stoppable/restartable.
Compound commands and command sequences of the form `a ; b ; c' are not
- handled gracefully when process suspension is attempted. When a
- process is stopped, the shell immediately executes the next command in
- the sequence. It suffices to place the sequence of commands between
- parentheses to force it into a subshell, which may be stopped as a
+ handled gracefully when process suspension is attempted. When a
+ process is stopped, the shell immediately executes the next command in
+ the sequence. It suffices to place the sequence of commands between
+ parentheses to force it into a subshell, which may be stopped as a
unit.
Array variables may not (yet) be exported.
@@ -5355,4 +5477,4 @@ BBUUGGSS
-GNU Bash-4.1 2009 December 29 BASH(1)
+GNU Bash-4.2 2010 December 28 BASH(1)
diff --git a/doc/bash.1 b/doc/bash.1
index 1890b3c..0ba4f8e 100644
--- a/doc/bash.1
+++ b/doc/bash.1
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
-.\" Last Change: Tue Dec 29 15:36:16 EST 2009
+.\" Last Change: Tue Dec 28 13:41:43 EST 2010
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
-.TH BASH 1 "2009 December 29" "GNU Bash-4.1"
+.TH BASH 1 "2010 December 28" "GNU Bash-4.2"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -50,8 +50,8 @@ bash \- GNU Bourne-Again SHell
[options]
[file]
.SH COPYRIGHT
-.if n Bash is Copyright (C) 1989-2009 by the Free Software Foundation, Inc.
-.if t Bash is Copyright \(co 1989-2009 by the Free Software Foundation, Inc.
+.if n Bash is Copyright (C) 1989-2011 by the Free Software Foundation, Inc.
+.if t Bash is Copyright \(co 1989-2011 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
is an \fBsh\fR-compatible command language interpreter that
@@ -67,8 +67,10 @@ Shell and Utilities portion of the IEEE POSIX specification
.B Bash
can be configured to be POSIX-conformant by default.
.SH OPTIONS
-In addition to the single-character shell options documented in the
-description of the \fBset\fR builtin command, \fBbash\fR
+All of the single-character shell options documented in the
+description of the \fBset\fR builtin command can be used as options
+when the shell is invoked.
+In addition, \fBbash\fR
interprets the following options when it is invoked:
.PP
.PD 0
@@ -161,10 +163,6 @@ Turns on extended debugging mode (see the description of the
.B extdebug
option to the
.B shopt
-builtin below)
-and shell function tracing (see the description of the
-\fB\-o functrace\fP option to the
-.B set
builtin below).
.TP
.B \-\-dump\-po\-strings
@@ -410,7 +408,7 @@ No other startup files are read.
.PP
.B Bash
attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
daemon, usually \fIrshd\fP, or the secure shell daemon \fIsshd\fP.
If
.B bash
@@ -478,7 +476,7 @@ A \fItoken\fP that performs a control function. It is one of the following
symbols:
.RS
.PP
-.if t \fB\(bv\(bv & && ; ;; ( ) | |& <newline>\fP
+.if t \fB|| & && ; ;; ( ) | |& <newline>\fP
.if n \fB|| & && ; ;; ( ) | |& <newline>\fP
.RE
.PD
@@ -556,6 +554,8 @@ reserved word precedes a pipeline, the elapsed as well as user and
system time consumed by its execution are reported when the pipeline
terminates.
The \fB\-p\fP option changes the output format to that specified by POSIX.
+When the shell is in \fIposix mode\fP, it does not recognize
+\fBtime\fP as a reserved word if the next token begins with a `-'.
The
.SM
.B TIMEFORMAT
@@ -567,6 +567,15 @@ under
.B "Shell Variables"
below.
.PP
+When the shell is in \fIposix mode\fP, \fBtime\fP
+may be followed by a newline. In this case, the shell displays the
+total user and system time consumed by the shell and its children.
+The
+.SM
+.B TIMEFORMAT
+variable may be used to specify the format of
+the time information.
+.PP
Each command in a pipeline is executed as a separate process (i.e., in a
subshell).
.SS Lists
@@ -577,7 +586,7 @@ of the operators
.BR & ,
.BR && ,
or
-.BR \(bv\(bv ,
+.BR || ,
and optionally terminated by one of
.BR ; ,
.BR & ,
@@ -587,7 +596,7 @@ or
Of these list operators,
.B &&
and
-.B \(bv\(bv
+.B ||
have equal precedence, followed by
.B ;
and
@@ -608,7 +617,7 @@ command to terminate in turn. The return status is the
exit status of the last command executed.
.PP
AND and OR lists are sequences of one of more pipelines separated by the
-\fB&&\fP and \fB\(bv\(bv\fP control operators, respectively.
+\fB&&\fP and \fB||\fP control operators, respectively.
AND and OR lists are executed with left associativity.
An AND list has the form
.RS
@@ -624,7 +633,7 @@ returns an exit status of zero.
An OR list has the form
.RS
.PP
-\fIcommand1\fP \fB\(bv\(bv\fP \fIcommand2\fP
+\fIcommand1\fP \fB||\fP \fIcommand2\fP
.PP
.RE
.PP
@@ -684,7 +693,7 @@ Conditional operators such as \fB\-f\fP must be unquoted to be recognized
as primaries.
.if t .sp 0.5
.if n .sp 1
-When used with \fB[[\fP, The \fB<\fP and \fB>\fP operators sort
+When used with \fB[[\fP, the \fB<\fP and \fB>\fP operators sort
lexicographically using the current locale.
.if t .sp 0.5
.if n .sp 1
@@ -754,8 +763,7 @@ and
.I expression2
are true.
.TP
-.if t \fIexpression1\fP \fB\(bv\(bv\fP \fIexpression2\fP
-.if n \fIexpression1\fP \fB||\fP \fIexpression2\fP
+\fIexpression1\fP \fB||\fP \fIexpression2\fP
True if either
.I expression1
or
@@ -763,9 +771,7 @@ or
is true.
.PD
.LP
-The \fB&&\fP and
-.if t \fB\(bv\(bv\fP
-.if n \fB||\fP
+The \fB&&\fP and \fB||\fP
operators do not evaluate \fIexpression2\fP if the value of
\fIexpression1\fP is sufficient to determine the return value of
the entire conditional expression.
@@ -873,24 +879,22 @@ command completes. Otherwise, the \fBelse\fP \fIlist\fP is
executed, if present. The exit status is the exit status of the
last command executed, or zero if no condition tested true.
.TP
-\fBwhile\fP \fIlist\fP; \fBdo\fP \fIlist\fP; \fBdone\fP
+\fBwhile\fP \fIlist-1\fP; \fBdo\fP \fIlist-2\fP; \fBdone\fP
.PD 0
.TP
-\fBuntil\fP \fIlist\fP; \fBdo\fP \fIlist\fP; \fBdone\fP
+\fBuntil\fP \fIlist-1\fP; \fBdo\fP \fIlist-2\fP; \fBdone\fP
.PD
-The \fBwhile\fP command continuously executes the \fBdo\fP
-\fIlist\fP as long as the last command in \fIlist\fP returns
+The \fBwhile\fP command continuously executes the list
+\fIlist-2\fP as long as the last command in the list \fIlist-1\fP returns
an exit status of zero. The \fBuntil\fP command is identical
to the \fBwhile\fP command, except that the test is negated;
-the
-.B do
-.I list
+.I list-2
is executed as long as the last command in
-.I list
+.I list-1
returns a non-zero exit status.
The exit status of the \fBwhile\fP and \fBuntil\fP commands
is the exit status
-of the last \fBdo\fP \fIlist\fP command executed, or zero if
+of the last command executed in \fIlist-2\fP, or zero if
none was executed.
.SS Coprocesses
.PP
@@ -929,7 +933,7 @@ command (see
below).
The file descriptors can be utilized as arguments to shell commands
and redirections using standard word expansions.
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
available as the value of the variable \fINAME\fP_PID.
The \fBwait\fP
builtin command may be used to wait for the coprocess to terminate.
@@ -941,7 +945,11 @@ A shell function is an object that is called like a simple command and
executes a compound command with a new set of positional parameters.
Shell functions are declared as follows:
.TP
-[ \fBfunction\fP ] \fIname\fP () \fIcompound\-command\fP [\fIredirection\fP]
+\fIname\fP () \fIcompound\-command\fP [\fIredirection\fP]
+.PD 0
+.TP
+\fBfunction\fP \fIname\fP [()] \fIcompound\-command\fP [\fIredirection\fP]
+.PD
This defines a function named \fIname\fP.
The reserved word \fBfunction\fP is optional.
If the \fBfunction\fP reserved word is supplied, the parentheses are optional.
@@ -1106,6 +1114,14 @@ the eight-bit character whose value is the octal value \fInnn\fP
the eight-bit character whose value is the hexadecimal value \fIHH\fP
(one or two hex digits)
.TP
+.B \eu\fIHHHH\fP
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+\fIHHHH\fP (one to four hex digits)
+.TP
+.B \eU\fIHHHHHHHH\fP
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+\fIHHHHHHHH\fP (one to eight hex digits)
+.TP
.B \ec\fIx\fP
a control-\fIx\fP character
.PD
@@ -1192,7 +1208,7 @@ builtin commands.
In the context where an assignment statement is assigning a value
to a shell variable or array index, the += operator can be used to
append to or add to the variable's previous value.
-When += is applied to a variable for which the integer attribute has been
+When += is applied to a variable for which the \fIinteger\fP attribute has been
set, \fIvalue\fP is evaluated as an arithmetic expression and added to the
variable's current value, which is also evaluated.
When += is applied to an array variable using compound assignment (see
@@ -1352,13 +1368,13 @@ reading any startup files.
This variable is read-only.
.TP
.B BASHPID
-Expands to the process id of the current \fBbash\fP process.
+Expands to the process ID of the current \fBbash\fP process.
This differs from \fB$$\fP under certain circumstances, such as subshells
that do not require \fBbash\fP to be re-initialized.
.TP
.B BASH_ALIASES
An associative array variable whose members correspond to the internal
-list of aliases as maintained by the \fBalias\fP builtin
+list of aliases as maintained by the \fBalias\fP builtin.
Elements added to this array appear in the alias list; unsetting array
elements cause aliases to be removed from the alias list.
.TP
@@ -1414,14 +1430,15 @@ The command argument to the \fB\-c\fP invocation option.
.TP
.B BASH_LINENO
An array variable whose members are the line numbers in source files
-corresponding to each member of
+where each corresponding member of
.SM
-.BR FUNCNAME .
+.B FUNCNAME
+was invoked.
\fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP is the line number in the source
-file where \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP was called
+file (\fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}\fP) where
+\fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP was called
(or \fB${BASH_LINENO[\fP\fI$i-1\fP\fB]}\fP if referenced within another
shell function).
-The corresponding source file name is \fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fP.
Use
.SM
.B LINENO
@@ -1437,11 +1454,15 @@ string matching the \fIn\fPth parenthesized subexpression.
This variable is read-only.
.TP
.B BASH_SOURCE
-An array variable whose members are the source filenames corresponding
-to the elements in the
+An array variable whose members are the source filenames
+where the corresponding shell function names in the
.SM
.B FUNCNAME
-array variable.
+array variable are defined.
+The shell function
+\fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP is defined in the file
+\fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fP and called from
+\fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}\fP.
.TP
.B BASH_SUBSHELL
Incremented by one each time a subshell or subshell environment is spawned.
@@ -1454,7 +1475,6 @@ this instance of
The values assigned to the array members are as follows:
.sp .5
.RS
-.PD 0
.TP 24
.B BASH_VERSINFO[\fR0\fP]
The major version number (the \fIrelease\fP).
@@ -1475,7 +1495,6 @@ The release status (e.g., \fIbeta1\fP).
The value of
.SM
.BR MACHTYPE .
-.PD
.RE
.TP
.B BASH_VERSION
@@ -1544,6 +1563,11 @@ This variable is available only in shell functions invoked by the
programmable completion facilities (see \fBProgrammable Completion\fP
below).
.TP
+.B COPROC
+An array variable (see \fBArrays\fP below) created to hold the file descriptors
+for output from and input to an unnamed coprocess (see \fBCoprocesses\fP
+above).
+.TP
.B DIRSTACK
An array variable (see
.B Arrays
@@ -1573,7 +1597,7 @@ An array variable containing the names of all shell functions
currently in the execution call stack.
The element with index 0 is the name of any currently-executing
shell function.
-The bottom-most element is
+The bottom-most element (the one with the highest index) is
.if t \f(CW"main"\fP.
.if n "main".
This variable exists only when a shell function is executing.
@@ -1586,6 +1610,16 @@ If
.B FUNCNAME
is unset, it loses its special properties, even if it is
subsequently reset.
+.if t .sp 0.5
+.if n .sp 1
+This variable can be used with \fBBASH_LINENO\fP and \fBBASH_SOURCE\fP.
+Each element of \fBFUNCNAME\fP has corresponding elements in
+\fBBASH_LINENO\fP and \fBBASH_SOURCE\fP to describe the call stack.
+For instance, \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP was called from the file
+\fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}\fP at line number
+\fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP.
+The \fBcaller\fP builtin displays the current call stack using this
+information.
.TP
.B GROUPS
An array variable containing the list of groups of which the current
@@ -1638,6 +1672,10 @@ type on which
is executing, in the standard GNU \fIcpu-company-system\fP format.
The default is system-dependent.
.TP
+.B MAPFILE
+An array variable (see \fBArrays\fP below) created to hold the text
+read by the \fBmapfile\fP builtin when no variable name is supplied.
+.TP
.B OLDPWD
The previous working directory as set by the
.B cd
@@ -1694,6 +1732,28 @@ If
is unset, it loses its special properties, even if it is
subsequently reset.
.TP
+.B READLINE_LINE
+The contents of the
+.B readline
+line buffer, for use with
+.if t \f(CWbind -x\fP
+.if n "bind -x"
+(see
+.SM
+.B "SHELL BUILTIN COMMANDS"
+below).
+.TP
+.B READLINE_POINT
+The position of the insertion point in the
+.B readline
+line buffer, for use with
+.if t \f(CWbind -x\fP
+.if n "bind -x"
+(see
+.SM
+.B "SHELL BUILTIN COMMANDS"
+below).
+.TP
.B REPLY
Set to the line of input read by the
.B read
@@ -1766,18 +1826,6 @@ expansion before being interpreted as a file name.
.B PATH
is not used to search for the resultant file name.
.TP
-.B CDPATH
-The search path for the
-.B cd
-command.
-This is a colon-separated list of directories in which the shell looks
-for destination directories specified by the
-.B cd
-command.
-A sample value is
-.if t \f(CW".:~:/usr"\fP.
-.if n ".:~:/usr".
-.TP
.B BASH_XTRACEFD
If set to an integer corresponding to a valid file descriptor, \fBbash\fP
will write the trace output generated when
@@ -1800,9 +1848,23 @@ to 2 (the standard error file
descriptor) and then unsetting it will result in the standard error
being closed.
.TP
+.B CDPATH
+The search path for the
+.B cd
+command.
+This is a colon-separated list of directories in which the shell looks
+for destination directories specified by the
+.B cd
+command.
+A sample value is
+.if t \f(CW".:~:/usr"\fP.
+.if n ".:~:/usr".
+.TP
.B COLUMNS
-Used by the \fBselect\fP builtin command to determine the terminal width
-when printing selection lists. Automatically set upon receipt of a SIGWINCH.
+Used by the \fBselect\fP compound command to determine the terminal width
+when printing selection lists. Automatically set upon receipt of a
+.SM
+.BR SIGWINCH .
.TP
.B COMPREPLY
An array variable from which \fBbash\fP reads the possible completions
@@ -1814,9 +1876,15 @@ If \fBbash\fP finds this variable in the environment when the shell starts
with value
.if t \f(CWt\fP,
.if n "t",
-it assumes that the shell is running in an emacs shell buffer and disables
+it assumes that the shell is running in an Emacs shell buffer and disables
line editing.
.TP
+.B ENV
+Similar to
+.SM
+.BR BASH_ENV ;
+used when the shell is invoked in POSIX mode.
+.TP
.B FCEDIT
The default editor for the
.B fc
@@ -1836,6 +1904,11 @@ A sample value is
.if t \f(CW".o:~"\fP.
.if n ".o:~".
.TP
+.B FUNCNEST
+If set to a numeric value greater than 0, defines a maximum function
+nesting level. Function invocations that exceed this nesting level
+will cause the current command to abort.
+.TP
.B GLOBIGNORE
A colon-separated list of patterns defining the set of filenames to
be ignored by pathname expansion.
@@ -2020,18 +2093,19 @@ strings preceded by a \fB$\fP.
This variable determines the locale category used for number formatting.
.TP
.B LINES
-Used by the \fBselect\fP builtin command to determine the column length
+Used by the \fBselect\fP compound command to determine the column length
for printing selection lists. Automatically set upon receipt of a
.SM
.BR SIGWINCH .
.TP
.B MAIL
-If this parameter is set to a file name and the
+If this parameter is set to a file or directory name and the
.SM
.B MAILPATH
variable is not set,
.B bash
-informs the user of the arrival of mail in the specified file.
+informs the user of the arrival of mail in the specified file or
+Maildir-format directory.
.TP
.B MAILCHECK
Specifies how
@@ -2200,6 +2274,7 @@ If this variable is not set, \fBbash\fP acts as if it had the
value \fB$\(aq\enreal\et%3lR\enuser\et%3lU\ensys\t%3lS\(aq\fP.
If the value is null, no timing information is displayed.
A trailing newline is added when the format string is displayed.
+.PD 0
.TP
.B TMOUT
If set to a value greater than zero,
@@ -2219,8 +2294,8 @@ terminates after waiting for that number of seconds if input does
not arrive.
.TP
.B TMPDIR
-If set, \fBBash\fP uses its value as the name of a directory in which
-\fBBash\fP creates temporary files for the shell's use.
+If set, \fBbash\fP uses its value as the name of a directory in which
+\fBbash\fP creates temporary files for the shell's use.
.TP
.B auto_resume
This variable controls how the shell interacts with the user and
@@ -2284,9 +2359,13 @@ using arbitrary strings.
An indexed array is created automatically if any variable is assigned to
using the syntax \fIname\fP[\fIsubscript\fP]=\fIvalue\fP. The
.I subscript
-is treated as an arithmetic expression that must evaluate to a number
-greater than or equal to zero. To explicitly declare an indexed array,
-use
+is treated as an arithmetic expression that must evaluate to a number.
+If
+.I subscript
+evaluates to a number less than zero, it is used as
+an offset from one greater than the array's maximum index (so a subcript
+of -1 refers to the last element of the array).
+To explicitly declare an indexed array, use
.B declare \-a \fIname\fP
(see
.SM
@@ -2371,6 +2450,9 @@ builtins each accept a
option to specify an indexed array and a
.B \-A
option to specify an associative array.
+If both options are supplied,
+.B \-A
+takes precedence.
The
.B read
builtin accepts a
@@ -2595,7 +2677,7 @@ a level of variable indirection is introduced.
expanded and that value is used in the rest of the substitution, rather
than the value of \fIparameter\fP itself.
This is known as \fIindirect expansion\fP.
-The exceptions to this are the expansions of ${!\fIprefix\fP*} and
+The exceptions to this are the expansions of ${\fB!\fP\fIprefix\fP\fB*\fP} and
${\fB!\fP\fIname\fP[\fI@\fP]} described below.
The exclamation point must immediately follow the left brace in order to
introduce indirection.
@@ -2655,7 +2737,7 @@ ${\fIparameter\fP\fB:\fP\fIoffset\fP}
.TP
${\fIparameter\fP\fB:\fP\fIoffset\fP\fB:\fP\fIlength\fP}
.PD
-\fBSubstring Expansion.\fP
+\fBSubstring Expansion\fP.
Expands to up to \fIlength\fP characters of \fIparameter\fP
starting at the character specified by \fIoffset\fP.
If \fIlength\fP is omitted, expands to the substring of
@@ -2665,9 +2747,13 @@ If \fIlength\fP is omitted, expands to the substring of
.B
ARITHMETIC EVALUATION
below).
-\fIlength\fP must evaluate to a number greater than or equal to zero.
If \fIoffset\fP evaluates to a number less than zero, the value
is used as an offset from the end of the value of \fIparameter\fP.
+If \fIlength\fP evaluates to a number less than zero, and \fIparameter\fP
+is not \fB@\fP and not an indexed or associative array, it is interpreted
+as an offset from the end of the value of \fIparameter\fP rather than
+a number of characters, and the expansion is the characters between the
+two offsets.
If \fIparameter\fP is \fB@\fP, the result is \fIlength\fP positional
parameters beginning at \fIoffset\fP.
If \fIparameter\fP is an indexed array name subscripted by @ or *,
@@ -2689,7 +2775,7 @@ ${\fB!\fP\fIprefix\fP\fB*\fP}
.TP
${\fB!\fP\fIprefix\fP\fB@\fP}
.PD
-\fBNames matching prefix.\fP
+\fBNames matching prefix\fP.
Expands to the names of variables whose names begin with \fIprefix\fP,
separated by the first character of the
.SM
@@ -2703,7 +2789,7 @@ ${\fB!\fP\fIname\fP[\fI@\fP]}
.TP
${\fB!\fP\fIname\fP[\fI*\fP]}
.PD
-\fBList of array keys.\fP
+\fBList of array keys\fP.
If \fIname\fP is an array variable, expands to the list of array indices
(keys) assigned in \fIname\fP.
If \fIname\fP is not an array, expands to 0 if \fIname\fP is set and null
@@ -2712,7 +2798,7 @@ When \fI@\fP is used and the expansion appears within double quotes, each
key expands to a separate word.
.TP
${\fB#\fP\fIparameter\fP}
-\fBParameter length.\fP
+\fBParameter length\fP.
The length in characters of the value of \fIparameter\fP is substituted.
If
.I parameter
@@ -2734,7 +2820,7 @@ ${\fIparameter\fP\fB#\fP\fIword\fP}
.TP
${\fIparameter\fP\fB##\fP\fIword\fP}
.PD
-\fBRemove matching prefix pattern.\fP
+\fBRemove matching prefix pattern\fP.
The
.I word
is expanded to produce a pattern just as in pathname
@@ -2767,7 +2853,7 @@ ${\fIparameter\fP\fB%\fP\fIword\fP}
.TP
${\fIparameter\fP\fB%%\fP\fIword\fP}
.PD
-\fBRemove matching suffix pattern.\fP
+\fBRemove matching suffix pattern\fP.
The \fIword\fP is expanded to produce a pattern just as in
pathname expansion.
If the pattern matches a trailing portion of the expanded value of
@@ -2794,7 +2880,7 @@ the pattern removal operation is applied to each member of the
array in turn, and the expansion is the resultant list.
.TP
${\fIparameter\fP\fB/\fP\fIpattern\fP\fB/\fP\fIstring\fP}
-\fBPattern substitution.\fP
+\fBPattern substitution\fP.
The \fIpattern\fP is expanded to produce a pattern just as in
pathname expansion.
\fIParameter\fP is expanded and the longest match of \fIpattern\fP
@@ -2833,7 +2919,7 @@ ${\fIparameter\fP\fB,\fP\fIpattern\fP}
.TP
${\fIparameter\fP\fB,,\fP\fIpattern\fP}
.PD
-\fBCase modification.\fP
+\fBCase modification\fP.
This expansion modifies the case of alphabetic characters in \fIparameter\fP.
The \fIpattern\fP is expanded to produce a pattern just as in
pathname expansion.
@@ -2842,7 +2928,7 @@ to uppercase; the \fB,\fP operator converts matching uppercase letters
to lowercase.
The \fB^^\fP and \fB,,\fP expansions convert each matched character in the
expanded value; the \fB^\fP and \fB,\fP expansions match and convert only
-the first character in the expanded value..
+the first character in the expanded value.
If \fIpattern\fP is omitted, it is treated like a \fB?\fP, which matches
every character.
If
@@ -2865,7 +2951,6 @@ array in turn, and the expansion is the resultant list.
.PP
\fICommand substitution\fP allows the output of a command to replace
the command name. There are two forms:
-.PP
.RS
.PP
\fB$(\fP\fIcommand\fP\|\fB)\fP
@@ -3132,6 +3217,7 @@ they are to be matched literally.
The special pattern characters have the following meanings:
.PP
.PD 0
+.RS
.TP
.B *
Matches any string, including the null string.
@@ -3211,6 +3297,7 @@ and
the syntax \fB[.\fP\fIsymbol\fP\fB.]\fP matches the collating symbol
\fIsymbol\fP.
.RE
+.RE
.PD
.PP
If the \fBextglob\fP shell option is enabled using the \fBshopt\fP
@@ -3697,7 +3784,7 @@ function become the positional parameters
during its execution.
The special parameter
.B #
-is updated to reflect the change. Special parameter 0
+is updated to reflect the change. Special parameter \fB0\fP
is unchanged.
The first element of the
.SM
@@ -3736,6 +3823,11 @@ Variables local to the function may be declared with the
builtin command. Ordinarily, variables and their values
are shared between the function and its caller.
.PP
+The \fBFUNCNEST\fP variable, if set to a numeric value greater
+than 0, defines a maximum function nesting level. Function
+invocations that exceed the limit cause the entire command to
+abort.
+.PP
If the builtin command
.B return
is executed in a function, the function completes and
@@ -3779,8 +3871,10 @@ in multiple identically-named entries in the environment passed to the
shell's children.
Care should be taken in cases where this may cause a problem.
.PP
-Functions may be recursive. No limit is imposed on the number
-of recursive calls.
+Functions may be recursive.
+The \fBFUNCNEST\fP variable may be used to limit the depth of the
+function call stack and restrict the number of function invocations.
+By default, no limit is imposed on the number of recursive calls.
.SH "ARITHMETIC EVALUATION"
The shell allows arithmetic expressions to be evaluated, under
certain circumstances (see the \fBlet\fP and \fBdeclare\fP builtin
@@ -3860,12 +3954,12 @@ The value of a variable is evaluated as an arithmetic expression
when it is referenced, or when a variable which has been given the
\fIinteger\fP attribute using \fBdeclare -i\fP is assigned a value.
A null value evaluates to 0.
-A shell variable need not have its integer attribute
+A shell variable need not have its \fIinteger\fP attribute
turned on to be used in an expression.
.PP
Constants with a leading 0 are interpreted as octal numbers.
A leading 0x or 0X denotes hexadecimal.
-Otherwise, numbers take the form [\fIbase#\fP]n, where \fIbase\fP
+Otherwise, numbers take the form [\fIbase#\fP]n, where the optional \fIbase\fP
is a decimal number between 2 and 64 representing the arithmetic
base, and \fIn\fP is a number in that base.
If \fIbase#\fP is omitted, then base 10 is used.
@@ -3893,8 +3987,9 @@ Unless otherwise specified, primaries that operate on files follow symbolic
links and operate on the target of the link, rather than the link itself.
.if t .sp 0.5
.if n .sp 1
-When used with \fB[[\fP, The \fB<\fP and \fB>\fP operators sort
+When used with \fB[[\fP, the \fB<\fP and \fB>\fP operators sort
lexicographically using the current locale.
+The \fBtest\fP command sorts using ASCII ordering.
.sp 1
.PD 0
.TP
@@ -3948,20 +4043,24 @@ True if \fIfile\fP exists and is writable.
.B \-x \fIfile\fP
True if \fIfile\fP exists and is executable.
.TP
-.B \-O \fIfile\fP
-True if \fIfile\fP exists and is owned by the effective user id.
-.TP
.B \-G \fIfile\fP
True if \fIfile\fP exists and is owned by the effective group id.
.TP
.B \-L \fIfile\fP
True if \fIfile\fP exists and is a symbolic link.
.TP
+.B \-N \fIfile\fP
+True if \fIfile\fP exists and has been modified since it was last read.
+.TP
+.B \-O \fIfile\fP
+True if \fIfile\fP exists and is owned by the effective user id.
+.TP
.B \-S \fIfile\fP
True if \fIfile\fP exists and is a socket.
.TP
-.B \-N \fIfile\fP
-True if \fIfile\fP exists and has been modified since it was last read.
+\fIfile1\fP \fB\-ef\fP \fIfile2\fP
+True if \fIfile1\fP and \fIfile2\fP refer to the same device and
+inode numbers.
.TP
\fIfile1\fP \-\fBnt\fP \fIfile2\fP
True if \fIfile1\fP is newer (according to modification date) than \fIfile2\fP,
@@ -3971,12 +4070,8 @@ or if \fIfile1\fP exists and \fPfile2\fP does not.
True if \fIfile1\fP is older than \fIfile2\fP, or if \fIfile2\fP exists
and \fIfile1\fP does not.
.TP
-\fIfile1\fP \fB\-ef\fP \fIfile2\fP
-True if \fIfile1\fP and \fIfile2\fP refer to the same device and
-inode numbers.
-.TP
.B \-o \fIoptname\fP
-True if shell option
+True if the shell option
.I optname
is enabled.
See the list of options under the description of the
@@ -3985,6 +4080,11 @@ option to the
.B set
builtin below.
.TP
+.B \-v \fIvarname\fP
+True if the shell variable
+.I varname
+is set (has been assigned a value).
+.TP
.B \-z \fIstring\fP
True if the length of \fIstring\fP is zero.
.TP
@@ -4143,7 +4243,6 @@ arguments, if any.
.SH COMMAND EXECUTION ENVIRONMENT
The shell has an \fIexecution environment\fP, which consists of the
following:
-.if n .sp 1
.IP \(bu
open files inherited by the shell at invocation, as modified by
redirections supplied to the \fBexec\fP builtin
@@ -4207,8 +4306,8 @@ subshell environment. Changes made to the subshell environment
cannot affect the shell's execution environment.
.PP
Subshells spawned to execute command substitutions inherit the value of
-the \fB\-e\fP option from the parent shell. When not in posix mode,
-Bash clears the \fB\-e\fP option in such subshells.
+the \fB\-e\fP option from the parent shell. When not in \fIposix\fP mode,
+\fBbash\fP clears the \fB\-e\fP option in such subshells.
.PP
If a command is followed by a \fB&\fP and job control is not active, the
default standard input for the command is the empty file \fI/dev/null\fP.
@@ -4703,7 +4802,7 @@ shell, unless the
option is given at shell invocation.
Line editing is also used when using the \fB\-e\fP option to the
\fBread\fP builtin.
-By default, the line editing commands are similar to those of emacs.
+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 emacs
@@ -4724,7 +4823,7 @@ options to the
builtin.
.SS "Readline Notation"
.PP
-In this section, the emacs-style notation is used to denote
+In this section, the Emacs-style notation is used to denote
keystrokes. Control keys are denoted by C\-\fIkey\fR, e.g., C\-n
means Control\-N. Similarly,
.I meta
@@ -5041,7 +5140,7 @@ mapped to \fBself-insert\fP.
.TP
.B editing\-mode (emacs)
Controls whether readline begins with a set of key bindings similar
-to \fIemacs\fP or \fIvi\fP.
+to \fIEmacs\fP or \fIvi\fP.
.B editing\-mode
can be set to either
.B emacs
@@ -5064,11 +5163,11 @@ key the terminal claims to support when it is called. On many terminals,
the meta key is used to send eight-bit characters.
.TP
.B expand\-tilde (Off)
-If set to \fBon\fP, tilde expansion is performed when readline
+If set to \fBOn\fP, tilde expansion is performed when readline
attempts word completion.
.TP
.B history\-preserve\-point (Off)
-If set to \fBon\fP, the history code attempts to place point at the
+If set to \fBOn\fP, the history code attempts to place point at the
same location on each history line retrieved with \fBprevious-history\fP
or \fBnext-history\fP.
.TP
@@ -5122,9 +5221,15 @@ have a slash appended (subject to the value of
.B match\-hidden\-files (On)
This variable, when set to \fBOn\fP, causes readline to match files whose
names begin with a `.' (hidden files) when performing filename
-completion, unless the leading `.' is
+completion.
+If set to \fBOff\fP, the leading `.' must be
supplied by the user in the filename to be completed.
.TP
+.B menu\-complete\-display\-prefix (Off)
+If set to \fBOn\fP, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list.
+.TP
.B output\-meta (Off)
If set to \fBOn\fP, readline will display characters with the
eighth bit set directly rather than as a meta-prefixed escape
@@ -5139,7 +5244,7 @@ If set to \fBOn\fP, readline will display completions with matches
sorted horizontally in alphabetical order, rather than down the screen.
.TP
.B revert\-all\-at\-newline (Off)
-If set to \fBon\fP, readline will undo all changes to history lines
+If set to \fBOn\fP, readline will undo all changes to history lines
before returning when \fBaccept\-line\fP is executed. By default,
history lines may be modified and retain individual undo lists across
calls to \fBreadline\fP.
@@ -5147,7 +5252,7 @@ calls to \fBreadline\fP.
.B show\-all\-if\-ambiguous (Off)
This alters the default behavior of the completion functions. If
set to
-.BR on ,
+.BR On ,
words which have more than one possible completion cause the
matches to be listed immediately instead of ringing the bell.
.TP
@@ -5155,7 +5260,7 @@ matches to be listed immediately instead of ringing the bell.
This alters the default behavior of the completion functions in
a fashion similar to \fBshow\-all\-if\-ambiguous\fP.
If set to
-.BR on ,
+.BR On ,
words which have more than one possible completion without any
possible partial completion (the possible completions don't share
a common prefix) cause the matches to be listed immediately instead
@@ -5215,7 +5320,7 @@ library sets the \fIapplication name\fP, 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 Bash:
+key sequence that quotes the current or previous word in \fBbash\fP:
.sp 1
.RS
.nf
@@ -5401,10 +5506,14 @@ as if the "!\fIn\fP" history expansion had been specified.
.B
yank\-last\-arg (M\-.\^, M\-_\^)
Insert the last argument to the previous command (the last word of
-the previous history entry). With an argument,
-behave exactly like \fByank\-nth\-arg\fP.
+the previous history entry).
+With a numeric argument, behave exactly like \fByank\-nth\-arg\fP.
Successive calls to \fByank\-last\-arg\fP move back through the history
-list, inserting the last argument of each line in turn.
+list, inserting the last word (or the word specified by the argument to
+the first call) of each line in turn.
+Any numeric argument supplied to these successive calls determines
+the direction to move through the history. A negative argument switches
+the direction through the history (back or forward).
The history expansion facilities are used to extract the last argument,
as if the "!$" history expansion had been specified.
.TP
@@ -5653,7 +5762,7 @@ through the list.
This command is intended to be bound to \fBTAB\fP, but is unbound
by default.
.TP
-.B menu\-complete-\backward
+.B menu\-complete\-backward
Identical to \fBmenu\-complete\fP, but moves backward through the list
of possible completions, as if \fBmenu\-complete\fP had been given a
negative argument. This command is unbound by default.
@@ -5790,7 +5899,7 @@ character. A negative count searches for previous occurrences.
A character is read and point is moved to the previous occurrence of that
character. A negative count searches for subsequent occurrences.
.TP
-.B skip\-csi\-sequence ()
+.B skip\-csi\-sequence
Read enough characters to consume a multi-key sequence such as those
defined for keys like Home and End. Such sequences begin with a
Control Sequence Indicator (CSI), usually ESC\-[. If this sequence is
@@ -5874,7 +5983,7 @@ If the command word is a full pathname, a compspec for the full
pathname is searched for first.
If no compspec is found for the full pathname, an attempt is made to
find a compspec for the portion following the final slash.
-If those searches to not result in a compspec, any compspec defined with
+If those searches do not result in a compspec, any compspec defined with
the \fB\-D\fP option to \fBcomplete\fP is used as the default.
.PP
Once a compspec has been found, it is used to generate the list of
@@ -6018,7 +6127,7 @@ exit status of 124. If a shell function returns 124, and changes
the compspec associated with the command on which completion is being
attempted (supplied as the first argument when the function is executed),
programmable completion restarts from the beginning, with an
-attempt to find a compspec for that command. This allows a set of
+attempt to find a new compspec for that command. This allows a set of
completions to be built dynamically as completion is attempted, rather than
being loaded all at once.
.PP
@@ -6255,6 +6364,8 @@ writing the history file.
.PP
An event designator is a reference to a command line entry in the
history list.
+Unless the reference is absolute, events are relative to the current
+position in the history list.
.PP
.PD 0
.TP
@@ -6270,25 +6381,27 @@ Refer to command line
.IR n .
.TP
.B !\-\fIn\fR
-Refer to the current command line minus
+Refer to the current command minus
.IR n .
.TP
.B !!
Refer to the previous command. This is a synonym for `!\-1'.
.TP
.B !\fIstring\fR
-Refer to the most recent command starting with
+Refer to the most recent command preceding the current position in the
+history list starting with
.IR string .
.TP
.B !?\fIstring\fR\fB[?]\fR
-Refer to the most recent command containing
+Refer to the most recent command preceding the current postition in the
+history list containing
.IR string .
The trailing \fB?\fP may be omitted if
.I string
is followed immediately by a newline.
.TP
.B \d\s+2^\s-2\u\fIstring1\fP\d\s+2^\s-2\u\fIstring2\fP\d\s+2^\s-2\u
-Quick substitution. Repeat the last command, replacing
+Quick substitution. Repeat the previous command, replacing
.I string1
with
.IR string2 .
@@ -6655,7 +6768,7 @@ is not a shell builtin command.
.TP
\fBcaller\fP [\fIexpr\fP]
Returns the context of any active subroutine call (a shell function or
-a script executed with the \fB.\fP or \fBsource\fP builtins.
+a script executed with the \fB.\fP or \fBsource\fP builtins).
Without \fIexpr\fP, \fBcaller\fP displays the line number and source
filename of the current subroutine call.
If a non-negative integer is supplied as \fIexpr\fP, \fBcaller\fP
@@ -6667,7 +6780,7 @@ The return value is 0 unless the shell is not executing a subroutine
call or \fIexpr\fP does not correspond to a valid position in the
call stack.
.TP
-\fBcd\fP [\fB\-L|-P\fP] [\fIdir\fP]
+\fBcd\fP [\fB\-L\fP|[\fB\-P\fP [\fB\-e\fP]]] [\fIdir\fP]
Change the current directory to \fIdir\fP. The variable
.SM
.B HOME
@@ -6700,7 +6813,15 @@ option to the
.B set
builtin command); the
.B \-L
-option forces symbolic links to be followed. An argument of
+option forces symbolic links to be followed.
+If the
+.B \-e
+option is supplied with
+.BR \-P ,
+and the current working directory cannot be successfully determined
+after a successful directory change, \fBcd\fP will return an unsuccessful
+status.
+An argument of
.B \-
is equivalent to
.SM
@@ -6926,18 +7047,6 @@ User names. May also be specified as \fB\-u\fP.
Names of all shell variables. May also be specified as \fB\-v\fP.
.RE
.TP 8
-\fB\-G\fP \fIglobpat\fP
-The pathname expansion pattern \fIglobpat\fP is expanded to generate
-the possible completions.
-.TP 8
-\fB\-W\fP \fIwordlist\fP
-The \fIwordlist\fP is split using the characters in the
-.SM
-.B IFS
-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 completed.
-.TP 8
\fB\-C\fP \fIcommand\fP
\fIcommand\fP is executed in a subshell environment, and its output is
used as the possible completions.
@@ -6951,13 +7060,9 @@ of the
.B COMPREPLY
array variable.
.TP 8
-\fB\-X\fP \fIfilterpat\fP
-\fIfilterpat\fP is a pattern as used for pathname expansion.
-It is applied to the list of possible completions generated by the
-preceding options and arguments, and each completion matching
-\fIfilterpat\fP is removed from the list.
-A leading \fB!\fP in \fIfilterpat\fP negates the pattern; in this
-case, any completion not matching \fIfilterpat\fP is removed.
+\fB\-G\fP \fIglobpat\fP
+The pathname expansion pattern \fIglobpat\fP is expanded to generate
+the possible completions.
.TP 8
\fB\-P\fP \fIprefix\fP
\fIprefix\fP is added at the beginning of each possible completion
@@ -6966,6 +7071,22 @@ after all other options have been applied.
\fB\-S\fP \fIsuffix\fP
\fIsuffix\fP is appended to each possible completion
after all other options have been applied.
+.TP 8
+\fB\-W\fP \fIwordlist\fP
+The \fIwordlist\fP is split using the characters in the
+.SM
+.B IFS
+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 completed.
+.TP 8
+\fB\-X\fP \fIfilterpat\fP
+\fIfilterpat\fP is a pattern as used for pathname expansion.
+It is applied to the list of possible completions generated by the
+preceding options and arguments, and each completion matching
+\fIfilterpat\fP is removed from the list.
+A leading \fB!\fP in \fIfilterpat\fP negates the pattern; in this
+case, any completion not matching \fIfilterpat\fP is removed.
.PD
.PP
The return value is true unless an invalid option is supplied, an option
@@ -6978,7 +7099,7 @@ an error occurs adding a completion specification.
\fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB\-DE\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
Modify completion options for each \fIname\fP according to the
\fIoption\fPs, or for the
-currently-execution completion if no \fIname\fPs are supplied.
+currently-executing completion if no \fIname\fPs are supplied.
If no \fIoption\fPs are given, display the completion options for each
\fIname\fP or the current completion.
The possible values of \fIoption\fP are those valid for the \fBcomplete\fP
@@ -6989,7 +7110,7 @@ on a command for which no completion has previously been defined.
The \fB\-E\fP option indicates that the remaining options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
-.PP
+.sp 1
The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a \fIname\fP for which no completion
specification exists, or an output error occurs.
@@ -7012,10 +7133,10 @@ is greater than the number of enclosing loops, the last enclosing loop
(the ``top-level'' loop) is resumed.
The return value is 0 unless \fIn\fP is not greater than or equal to 1.
.TP
-\fBdeclare\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBdeclare\fP [\fB\-aAfFgilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
.PD 0
.TP
-\fBtypeset\fP [\fB\-aAfFilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
+\fBtypeset\fP [\fB\-aAfFgilrtux\fP] [\fB\-p\fP] [\fIname\fP[=\fIvalue\fP] ...]
.PD
Declare variables and/or give them attributes.
If no \fIname\fPs are given then display the values of variables.
@@ -7044,6 +7165,11 @@ are displayed as well. The
.B \-F
option implies
.BR \-f .
+The
+.B \-g
+option forces variables to be created or modified at the global scope,
+even when \fBdeclare\fP is executed in a shell function.
+It is ignored in all other cases.
The following options can
be used to restrict output to variables with the specified attribute or
to give variables attributes:
@@ -7098,11 +7224,11 @@ turns off the attribute instead,
with the exceptions that \fB+a\fP
may not be used to destroy an array variable and \fB+r\fP will not
remove the readonly attribute.
-When used in a function,
-makes each
-\fIname\fP local, as with the
+When used in a function, makes each
+\fIname\fP local, as with the
.B local
-command.
+command,
+unless the \fB\-g\fP option is supplied,
If a variable name is followed by =\fIvalue\fP, the value of
the variable is set to \fIvalue\fP.
The return value is 0 unless an invalid option is encountered,
@@ -7119,7 +7245,7 @@ an attempt is made to turn off array status for an array variable,
or an attempt is made to display a non-existent function with \fB\-f\fP.
.RE
.TP
-.B dirs [+\fIn\fP] [\-\fIn\fP] [\fB\-cplv\fP]
+.B dirs [+\fIn\fP] [\-\fIn\fP] [\fB\-clpv\fP]
Without options, displays the list of currently remembered directories.
The default display is on a single line with directory names separated
by spaces.
@@ -7228,6 +7354,8 @@ backspace
suppress further output
.TP
.B \ee
+.TP
+.B \eE
an escape character
.TP
.B \ef
@@ -7255,6 +7383,14 @@ the eight-bit character whose value is the octal value \fInnn\fP
.B \ex\fIHH\fP
the eight-bit character whose value is the hexadecimal value \fIHH\fP
(one or two hex digits)
+.TP
+.B \eu\fIHHHH\fP
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+\fIHHHH\fP (one to four hex digits)
+.TP
+.B \eU\fIHHHHHHHH\fP
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+\fIHHHHHHHH\fP (one to eight hex digits)
.PD
.RE
.TP
@@ -7541,7 +7677,7 @@ return value greater than zero.
.SM
.B OPTIND
is set to the index of the first non-option argument,
-and \fBname\fP is set to ?.
+and \fIname\fP is set to ?.
.sp 1
.B getopts
normally parses the positional parameters, but if more arguments are
@@ -7605,12 +7741,13 @@ It returns false if the end of options is encountered or an
error occurs.
.TP
\fBhash\fP [\fB\-lr\fP] [\fB\-p\fP \fIfilename\fP] [\fB\-dt\fP] [\fIname\fP]
-For each
-.IR name ,
-the full file name of the command is determined by searching
+Each time \fBhash\fP is invoked,
+the full pathname of the command
+.I name
+is determined by searching
the directories in
.B $PATH
-and remembered.
+and remembered. Any previously-remembered pathname is discarded.
If the
.B \-p
option is supplied, no path search is performed, and
@@ -7658,9 +7795,10 @@ Display the description of each \fIpattern\fP in a manpage-like format
.B \-s
Display only a short usage synopsis for each \fIpattern\fP
.PD
-.RE
+.PP
The return status is 0 unless no command matches
.IR pattern .
+.RE
.TP
\fBhistory [\fIn\fP]
.PD 0
@@ -7768,14 +7906,14 @@ meanings:
List process IDs
in addition to the normal information.
.TP
-.B \-p
-List only the process ID of the job's process group
-leader.
-.TP
.B \-n
Display information only about jobs that have changed status since
the user was last notified of their status.
.TP
+.B \-p
+List only the process ID of the job's process group
+leader.
+.TP
.B \-r
Restrict output to running jobs.
.TP
@@ -7949,7 +8087,8 @@ is specified without
.BR \-c ,
the default quantum is 5000.
When \fIcallback\fP is evaluated, it is supplied the index of the next
-array element to be assigned as an additional argument.
+array element to be assigned and the line to be assigned to that element
+as additional arguments.
\fIcallback\fP is evaluated after the line is read but before the
array element is assigned.
.PP
@@ -8013,27 +8152,49 @@ directory change fails.
\fBprintf\fP [\fB\-v\fP \fIvar\fP] \fIformat\fP [\fIarguments\fP]
Write the formatted \fIarguments\fP to the standard output under the
control of the \fIformat\fP.
+The \fB\-v\fP option causes the output to be assigned to the variable
+\fIvar\fP rather than being printed to the standard output.
+.sp 1
The \fIformat\fP is a character string which contains three types of objects:
plain characters, which are simply copied to standard output, character
escape sequences, which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive
\fIargument\fP.
-In addition to the standard \fIprintf\fP(1) formats, \fB%b\fP causes
+In addition to the standard \fIprintf\fP(1) format specifications,
+\fBprintf\fP interprets the following extensions:
+.RS
+.PD 0
+.TP
+.B %b
+causes
\fBprintf\fP to expand backslash escape sequences in the corresponding
\fIargument\fP (except that \fB\ec\fP terminates output, backslashes in
\fB\e\(aq\fP, \fB\e"\fP, and \fB\e?\fP are not removed, and octal escapes
-beginning with \fB\e0\fP may contain up to four digits),
-and \fB%q\fP causes \fBprintf\fP to output the corresponding
+beginning with \fB\e0\fP may contain up to four digits).
+.TP
+.B %q
+causes \fBprintf\fP to output the corresponding
\fIargument\fP in a format that can be reused as shell input.
-.sp 1
-The \fB\-v\fP option causes the output to be assigned to the variable
-\fIvar\fP rather than being printed to the standard output.
-.sp 1
+.TP
+.B %(\fIdatefmt\fP)T
+causes \fBprintf\fP to output the date-time string resulting from using
+\fIdatefmt\fP as a format string for \fIstrftime\fP(3). The corresponding
+\fIargument\fP is an integer representing the number of seconds since the
+epoch. Two special argument values may be used: -1 represents the current
+time, and -2 represents the time the shell was invoked.
+.PD
+.PP
+Arguments to non-string format specifiers are treated as C constants,
+except that a leading plus or minus sign is allowed, and if the leading
+character is a single or double quote, the value is the ASCII value of
+the following character.
+.PP
The \fIformat\fP is reused as necessary to consume all of the \fIarguments\fP.
If the \fIformat\fP requires more \fIarguments\fP than are supplied, the
extra format specifications behave as if a zero value or null string, as
-appropriate, had been supplied. The return value is zero on success,
-non-zero on failure.
+appropriate, had been supplied.
+The return value is zero on success, non-zero on failure.
+.RE
.TP
\fBpushd\fP [\fB\-n\fP] [+\fIn\fP] [\-\fIn\fP]
.PD 0
@@ -8211,7 +8372,7 @@ times out (in which case the return code is greater than 128), or an
invalid file descriptor is supplied as the argument to \fB\-u\fP.
.RE
.TP
-\fBreadonly\fP [\fB\-aApf\fP] [\fIname\fP[=\fIword\fP] ...]
+\fBreadonly\fP [\fB\-aAf\fP] [\fB\-p\fP] [\fIname\fP[=\fIword\fP] ...]
.PD
The given
\fInames\fP are marked readonly; the values of these
@@ -8227,11 +8388,16 @@ The
option restricts the variables to indexed arrays; the
.B \-A
option restricts the variables to associative arrays.
+If both options are supplied,
+.B \-A
+takes precedence.
If no
.I name
arguments are given, or if the
.B \-p
option is supplied, a list of all readonly names is printed.
+The other options may be used to restrict the output to a subset of
+the set of readonly names.
The
.B \-p
option causes output to be displayed in a format that
@@ -8266,10 +8432,10 @@ the return status is false.
Any command associated with the \fBRETURN\fP trap is executed
before execution resumes after the function or script.
.TP
-\fBset\fP [\fB\-\-abefhkmnptuvxBCEHPT\fP] [\fB\-o\fP \fIoption\fP] [\fIarg\fP ...]
+\fBset\fP [\fB\-\-abefhkmnptuvxBCEHPT\fP] [\fB\-o\fP \fIoption\-name\fP] [\fIarg\fP ...]
.PD 0
.TP
-\fBset\fP [\fB+abefhkmnptuvxBCEHPT\fP] [\fB+o\fP \fIoption\fP] [\fIarg\fP ...]
+\fBset\fP [\fB+abefhkmnptuvxBCEHPT\fP] [\fB+o\fP \fIoption\-name\fP] [\fIarg\fP ...]
.PD
Without options, the name and value of each shell variable are displayed
in a format that can be reused as input
@@ -8318,8 +8484,8 @@ or
reserved words, part of any command executed in a
.B &&
or
-.B \(bv\(bv
-list except the command following the final \fB&&\fP or \fB\(bv\(bv\fP,
+.B ||
+list except the command following the final \fB&&\fP or \fB||\fP,
any command in a pipeline but the last,
or if the command's return value is
being inverted with
@@ -8751,21 +8917,37 @@ easy re-editing of multi-line commands.
If set,
.B bash
changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the \fB[[\fP conditional command's \fB=~\fP operator.
.TP 8
.B compat32
If set,
.B bash
changes its behavior to that of version 3.2 with respect to locale-specific
-string comparison when using the conditional command's < and > operators.
+string comparison when using the \fB[[\fP
+conditional command's \fB<\fP and \fB>\fP operators.
+Bash versions prior to bash-4.1 use ASCII collation and
+.IR strcmp (3);
+bash-4.1 and later
+use the current locale's collation sequence and
+.IR strcoll (3).
.TP 8
.B compat40
If set,
.B bash
changes its behavior to that of version 4.0 with respect to locale-specific
-string comparison when using the conditional command's < and > operators
+string comparison when using the \fB[[\fP
+conditional command's \fB<\fP and \fB>\fP operators (see previous item)
and the effect of interrupting a command list.
.TP 8
+.B compat41
+If set,
+.BR bash ,
+when in posix mode, treats a single quote in a double-quoted
+parameter expansion as a special character. The single quotes must match
+(an even number) and the characters between the single quotes are considered
+quoted. This is the behavior of posix mode through version 4.1.
+The default bash behavior remains as in previous versions.
+.TP 8
.B dirspell
If set,
.B bash
@@ -8827,7 +9009,7 @@ subshells invoked with \fB(\fP \fIcommand\fP \fB)\fP inherit the
.B 6.
Error tracing is enabled: command substitution, shell functions, and
subshells invoked with \fB(\fP \fIcommand\fP \fB)\fP inherit the
-\fBERROR\fP trap.
+\fBERR\fP trap.
.RE
.TP 8
.B extglob
@@ -8860,7 +9042,7 @@ This option is enabled by default.
.TP 8
.B globstar
If set, the pattern \fB**\fP used in a pathname expansion context will
-match a files and zero or more directories and subdirectories.
+match all files and zero or more directories and subdirectories.
If the pattern is followed by a \fB/\fP, only directories and
subdirectories match.
.TP 8
@@ -8915,6 +9097,10 @@ line to be ignored in an interactive shell (see
.B COMMENTS
above). This option is enabled by default.
.TP 8
+.B lastpipe
+If set, and job control is not active, the shell runs the last command of
+a pipeline not executed in the background in the current shell environment.
+.TP 8
.B lithist
If set, and the
.B cmdhist
@@ -9007,6 +9193,7 @@ This option is enabled by default.
If set, the \fBecho\fP builtin expands backslash-escape sequences
by default.
.RE
+.PD
.TP
\fBsuspend\fP [\fB\-f\fP]
Suspend the execution of this shell until it receives a
@@ -9037,6 +9224,7 @@ an argument of \fB\-\-\fP as signifying the end of options.
Expressions may be combined using the following operators, listed
in decreasing order of precedence.
The evaluation depends on the number of arguments; see below.
+Operator precedence is used when there are five or more arguments.
.RS
.PD 0
.TP
@@ -9088,6 +9276,7 @@ If the first argument is not a valid unary conditional operator, the expression
is false.
.TP
3 arguments
+The following conditions are applied in the order listed.
If the second argument is one of the binary conditional operators listed above
under
.SM
@@ -9112,6 +9301,11 @@ precedence using the rules listed above.
5 or more arguments
The expression is parsed and evaluated according to precedence
using the rules listed above.
+.if t .sp 0.5
+.if n .sp 1
+.LP
+When used with \fBtest\fP or \fB[\fP, the \fB<\fP and \fB>\fP operators
+sort lexicographically using ASCII ordering.
.RE
.PD
.TP
@@ -9157,7 +9351,10 @@ Each
.I sigspec
is either
a signal name defined in <\fIsignal.h\fP>, or a signal number.
-Signal names are case insensitive and the SIG prefix is optional.
+Signal names are case insensitive and the
+.SM
+.B SIG
+prefix is optional.
.if t .sp 0.5
.if n .sp 1
If a
@@ -9190,8 +9387,8 @@ is
.BR RETURN ,
the command
.I arg
-is executed each time a shell function or a script executed with the
-\fB.\fP or \fBsource\fP builtins finishes executing.
+is executed each time a shell function or a script executed with
+the \fB.\fP or \fBsource\fP builtins finishes executing.
.if t .sp 0.5
.if n .sp 1
If a
@@ -9217,7 +9414,7 @@ part of the test in an
statement, part of a command executed in a
.B &&
or
-.B \(bv\(bv
+.B ||
list, or if the command's return value is
being inverted via
.BR ! .
@@ -9387,7 +9584,8 @@ The maximum amount of cpu time in seconds
The maximum number of processes available to a single user
.TP
.B \-v
-The maximum amount of virtual memory available to the shell
+The maximum amount of virtual memory available to the shell and, on
+some systems, to its children
.TP
.B \-x
The maximum number of file locks
@@ -9549,7 +9747,7 @@ as an argument to the
.B .
builtin command
.IP \(bu
-Specifying a filename containing a slash as an argument to the
+specifying a filename containing a slash as an argument to the
.B \-p
option to the
.B hash
@@ -9576,7 +9774,7 @@ options to the
.B enable
builtin command
.IP \(bu
-Using the \fBenable\fP builtin command to enable disabled shell builtins
+using the \fBenable\fP builtin command to enable disabled shell builtins
.IP \(bu
specifying the
.B \-p
@@ -9655,7 +9853,7 @@ make sure that it really is a bug, and that it appears in the latest
version of
.BR bash .
The latest version is always available from
-\fIftp://ftp.gnu.org/pub/bash/\fP.
+\fIftp://ftp.gnu.org/pub/gnu/bash/\fP.
.PP
Once you have determined that a bug actually exists, use the
.I bashbug
@@ -9687,7 +9885,7 @@ it provides for filing a bug report.
.PP
Comments and bug reports concerning
this manual page should be directed to
-.IR chet@po.cwru.edu .
+.IR chet.ramey@case.edu .
.SH BUGS
.PP
It's too big and too slow.
diff --git a/doc/bash.html b/doc/bash.html
index 2aa2825..d1b6489 100644
--- a/doc/bash.html
+++ b/doc/bash.html
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 December 29<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2010 December 28<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -42,7 +42,7 @@ bash - GNU Bourne-Again SHell
<H3>COPYRIGHT</H3>
-Bash is Copyright &#169; 1989-2009 by the Free Software Foundation, Inc.
+Bash is Copyright &#169; 1989-2010 by the Free Software Foundation, Inc.
<A NAME="lbAE">&nbsp;</A>
<H3>DESCRIPTION</H3>
@@ -67,8 +67,10 @@ can be configured to be POSIX-conformant by default.
<A NAME="lbAF">&nbsp;</A>
<H3>OPTIONS</H3>
-In addition to the single-character shell options documented in the
-description of the <B>set</B> builtin command, <B>bash</B>
+All of the single-character shell options documented in the
+description of the <B>set</B> builtin command can be used as options
+when the shell is invoked.
+In addition, <B>bash</B>
interprets the following options when it is invoked:
<P>
@@ -195,11 +197,6 @@ Turns on extended debugging mode (see the description of the
option to the
<B>shopt</B>
-builtin below)
-and shell function tracing (see the description of the
-<B>-o functrace</B> option to the
-<B>set</B>
-
builtin below).
<DT><B>--dump-po-strings</B>
@@ -533,7 +530,7 @@ No other startup files are read.
<B>Bash</B>
attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
daemon, usually <I>rshd</I>, or the secure shell daemon <I>sshd</I>.
If
<B>bash</B>
@@ -739,6 +736,8 @@ reserved word precedes a pipeline, the elapsed as well as user and
system time consumed by its execution are reported when the pipeline
terminates.
The <B>-p</B> option changes the output format to that specified by POSIX.
+When the shell is in <I>posix mode</I>, it does not recognize
+<B>time</B> as a reserved word if the next token begins with a `-'.
The
<FONT SIZE=-1><B>TIMEFORMAT</B>
@@ -754,6 +753,17 @@ under
below.
<P>
+When the shell is in <I>posix mode</I>, <B>time</B>
+may be followed by a newline. In this case, the shell displays the
+total user and system time consumed by the shell and its children.
+The
+<FONT SIZE=-1><B>TIMEFORMAT</B>
+
+</FONT>
+variable may be used to specify the format of
+the time information.
+<P>
+
Each command in a pipeline is executed as a separate process (i.e., in a
subshell).
<A NAME="lbAN">&nbsp;</A>
@@ -905,7 +915,7 @@ as primaries.
<P>
-When used with <B>[[</B>, The <B>&lt;</B> and <B>&gt;</B> operators sort
+When used with <B>[[</B>, the <B>&lt;</B> and <B>&gt;</B> operators sort
lexicographically using the current locale.
<P>
@@ -988,9 +998,7 @@ and
<I>expression2</I>
are true.
-<DT><I>expression1</I> <B>||</B> <I>expression2</I>
-<DD>
-
+<DT><I>expression1</I> <B>||</B> <I>expression2</I><DD>
True if either
<I>expression1</I>
@@ -1002,9 +1010,7 @@ is true.
</DL>
<P>
-The <B>&amp;&amp;</B> and
-<B>||</B>
-
+The <B>&amp;&amp;</B> and <B>||</B>
operators do not evaluate <I>expression2</I> if the value of
<I>expression1</I> is sufficient to determine the return value of
the entire conditional expression.
@@ -1120,26 +1126,23 @@ the corresponding <B>then</B> <I>list</I> is executed and the
command completes. Otherwise, the <B>else</B> <I>list</I> is
executed, if present. The exit status is the exit status of the
last command executed, or zero if no condition tested true.
-<DT><B>while</B> <I>list</I>; <B>do</B> <I>list</I>; <B>done</B><DD>
+<DT><B>while</B> <I>list-1</I>; <B>do</B> <I>list-2</I>; <B>done</B><DD>
-<DT><B>until</B> <I>list</I>; <B>do</B> <I>list</I>; <B>done</B><DD>
+<DT><B>until</B> <I>list-1</I>; <B>do</B> <I>list-2</I>; <B>done</B><DD>
-The <B>while</B> command continuously executes the <B>do</B>
-<I>list</I> as long as the last command in <I>list</I> returns
+The <B>while</B> command continuously executes the list
+<I>list-2</I> as long as the last command in the list <I>list-1</I> returns
an exit status of zero. The <B>until</B> command is identical
to the <B>while</B> command, except that the test is negated;
-the
-<B>do</B>
-
-<I>list</I>
+<I>list-2</I>
is executed as long as the last command in
-<I>list</I>
+<I>list-1</I>
returns a non-zero exit status.
The exit status of the <B>while</B> and <B>until</B> commands
is the exit status
-of the last <B>do</B> <I>list</I> command executed, or zero if
+of the last command executed in <I>list-2</I>, or zero if
none was executed.
</DL>
<A NAME="lbAP">&nbsp;</A>
@@ -1190,7 +1193,7 @@ command (see
below).
The file descriptors can be utilized as arguments to shell commands
and redirections using standard word expansions.
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
available as the value of the variable <I>NAME</I>_PID.
The <B>wait</B>
builtin command may be used to wait for the coprocess to terminate.
@@ -1206,7 +1209,10 @@ A shell function is an object that is called like a simple command and
executes a compound command with a new set of positional parameters.
Shell functions are declared as follows:
<DL COMPACT>
-<DT>[ <B>function</B> ] <I>name</I> () <I>compound-command</I> [<I>redirection</I>]<DD>
+<DT><I>name</I> () <I>compound-command</I> [<I>redirection</I>]<DD>
+
+<DT><B>function</B> <I>name</I> [()] <I>compound-command</I> [<I>redirection</I>]<DD>
+
This defines a function named <I>name</I>.
The reserved word <B>function</B> is optional.
If the <B>function</B> reserved word is supplied, the parentheses are optional.
@@ -1426,6 +1432,16 @@ the eight-bit character whose value is the octal value <I>nnn</I>
<DD>
the eight-bit character whose value is the hexadecimal value <I>HH</I>
(one or two hex digits)
+<DT><B>\u</B><I>HHHH</I>
+
+<DD>
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<I>HHHH</I> (one to four hex digits)
+<DT><B>\U</B><I>HHHHHHHH</I>
+
+<DD>
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<I>HHHHHHHH</I> (one to eight hex digits)
<DT><B>\c</B><I>x</I>
<DD>
@@ -1549,7 +1565,7 @@ builtin commands.
In the context where an assignment statement is assigning a value
to a shell variable or array index, the += operator can be used to
append to or add to the variable's previous value.
-When += is applied to a variable for which the integer attribute has been
+When += is applied to a variable for which the <I>integer</I> attribute has been
set, <I>value</I> is evaluated as an arithmetic expression and added to the
variable's current value, which is also evaluated.
When += is applied to an array variable using compound assignment (see
@@ -1761,14 +1777,14 @@ This variable is read-only.
<DT><B>BASHPID</B>
<DD>
-Expands to the process id of the current <B>bash</B> process.
+Expands to the process ID of the current <B>bash</B> process.
This differs from <B>$$</B> under certain circumstances, such as subshells
that do not require <B>bash</B> to be re-initialized.
<DT><B>BASH_ALIASES</B>
<DD>
An associative array variable whose members correspond to the internal
-list of aliases as maintained by the <B>alias</B> builtin
+list of aliases as maintained by the <B>alias</B> builtin.
Elements added to this array appear in the alias list; unsetting array
elements cause aliases to be removed from the alias list.
<DT><B>BASH_ARGC</B>
@@ -1838,15 +1854,16 @@ The command argument to the <B>-c</B> invocation option.
<DD>
An array variable whose members are the line numbers in source files
-corresponding to each member of
-<FONT SIZE=-1><B>FUNCNAME</B>.
+where each corresponding member of
+<FONT SIZE=-1><B>FUNCNAME</B>
</FONT>
+was invoked.
<B>${BASH_LINENO[</B><I>$i</I><B>]}</B> is the line number in the source
-file where <B>${FUNCNAME[</B><I>$i</I><B>]}</B> was called
+file (<B>${BASH_SOURCE[</B><I>$i+1</I><B>]}</B>) where
+<B>${FUNCNAME[</B><I>$i</I><B>]}</B> was called
(or <B>${BASH_LINENO[</B><I>$i-1</I><B>]}</B> if referenced within another
shell function).
-The corresponding source file name is <B>${BASH_SOURCE[</B><I>$i</I><B>]}</B>.
Use
<FONT SIZE=-1><B>LINENO</B>
@@ -1865,12 +1882,16 @@ This variable is read-only.
<DT><B>BASH_SOURCE</B>
<DD>
-An array variable whose members are the source filenames corresponding
-to the elements in the
+An array variable whose members are the source filenames
+where the corresponding shell function names in the
<FONT SIZE=-1><B>FUNCNAME</B>
</FONT>
-array variable.
+array variable are defined.
+The shell function
+<B>${FUNCNAME[</B><I>$i</I><B>]}</B> is defined in the file
+<B>${BASH_SOURCE[</B><I>$i</I><B>]}</B> and called from
+<B>${BASH_SOURCE[</B><I>$i+1</I><B>]}</B>.
<DT><B>BASH_SUBSHELL</B>
<DD>
@@ -1995,6 +2016,12 @@ as described above.
This variable is available only in shell functions invoked by the
programmable completion facilities (see <B>Programmable Completion</B>
below).
+<DT><B>COPROC</B>
+
+<DD>
+An array variable (see <B>Arrays</B> below) created to hold the file descriptors
+for output from and input to an unnamed coprocess (see <B>Coprocesses</B>
+above).
<DT><B>DIRSTACK</B>
<DD>
@@ -2033,7 +2060,7 @@ An array variable containing the names of all shell functions
currently in the execution call stack.
The element with index 0 is the name of any currently-executing
shell function.
-The bottom-most element is
+The bottom-most element (the one with the highest index) is
<TT>&quot;main&quot;</TT>.
This variable exists only when a shell function is executing.
@@ -2048,6 +2075,17 @@ If
</FONT>
is unset, it loses its special properties, even if it is
subsequently reset.
+<P>
+
+
+This variable can be used with <B>BASH_LINENO</B> and <B>BASH_SOURCE</B>.
+Each element of <B>FUNCNAME</B> has corresponding elements in
+<B>BASH_LINENO</B> and <B>BASH_SOURCE</B> to describe the call stack.
+For instance, <B>${FUNCNAME[</B><I>$i</I><B>]}</B> was called from the file
+<B>${BASH_SOURCE[</B><I>$i+1</I><B>]}</B> at line number
+<B>${BASH_LINENO[</B><I>$i</I><B>]}</B>.
+The <B>caller</B> builtin displays the current call stack using this
+information.
<DT><B>GROUPS</B>
<DD>
@@ -2111,6 +2149,11 @@ type on which
is executing, in the standard GNU <I>cpu-company-system</I> format.
The default is system-dependent.
+<DT><B>MAPFILE</B>
+
+<DD>
+An array variable (see <B>Arrays</B> below) created to hold the text
+read by the <B>mapfile</B> builtin when no variable name is supplied.
<DT><B>OLDPWD</B>
<DD>
@@ -2185,6 +2228,34 @@ If
</FONT>
is unset, it loses its special properties, even if it is
subsequently reset.
+<DT><B>READLINE_LINE</B>
+
+<DD>
+The contents of the
+<B>readline</B>
+
+line buffer, for use with
+<TT>bind -x</TT>
+
+(see
+<FONT SIZE=-1><B>SHELL BUILTIN COMMANDS</B>
+
+</FONT>
+below).
+<DT><B>READLINE_POINT</B>
+
+<DD>
+The position of the insertion point in the
+<B>readline</B>
+
+line buffer, for use with
+<TT>bind -x</TT>
+
+(see
+<FONT SIZE=-1><B>SHELL BUILTIN COMMANDS</B>
+
+</FONT>
+below).
<DT><B>REPLY</B>
<DD>
@@ -2281,21 +2352,6 @@ expansion before being interpreted as a file name.
</FONT>
is not used to search for the resultant file name.
-<DT><B>CDPATH</B>
-
-<DD>
-The search path for the
-<B>cd</B>
-
-command.
-This is a colon-separated list of directories in which the shell looks
-for destination directories specified by the
-<B>cd</B>
-
-command.
-A sample value is
-<TT>&quot;.:~:/usr&quot;</TT>.
-
<DT><B>BASH_XTRACEFD</B>
<DD>
@@ -2322,11 +2378,29 @@ Note that setting
to 2 (the standard error file
descriptor) and then unsetting it will result in the standard error
being closed.
+<DT><B>CDPATH</B>
+
+<DD>
+The search path for the
+<B>cd</B>
+
+command.
+This is a colon-separated list of directories in which the shell looks
+for destination directories specified by the
+<B>cd</B>
+
+command.
+A sample value is
+<TT>&quot;.:~:/usr&quot;</TT>.
+
<DT><B>COLUMNS</B>
<DD>
-Used by the <B>select</B> builtin command to determine the terminal width
-when printing selection lists. Automatically set upon receipt of a SIGWINCH.
+Used by the <B>select</B> compound command to determine the terminal width
+when printing selection lists. Automatically set upon receipt of a
+<FONT SIZE=-1><B>SIGWINCH</B>.
+
+</FONT>
<DT><B>COMPREPLY</B>
<DD>
@@ -2340,8 +2414,16 @@ If <B>bash</B> finds this variable in the environment when the shell starts
with value
<TT>t</TT>,
-it assumes that the shell is running in an emacs shell buffer and disables
+it assumes that the shell is running in an Emacs shell buffer and disables
line editing.
+<DT><B>ENV</B>
+
+<DD>
+Similar to
+<FONT SIZE=-1><B>BASH_ENV</B>;
+
+</FONT>
+used when the shell is invoked in POSIX mode.
<DT><B>FCEDIT</B>
<DD>
@@ -2366,6 +2448,12 @@ is excluded from the list of matched filenames.
A sample value is
<TT>&quot;.o:~&quot;</TT>.
+<DT><B>FUNCNEST</B>
+
+<DD>
+If set to a numeric value greater than 0, defines a maximum function
+nesting level. Function invocations that exceed this nesting level
+will cause the current command to abort.
<DT><B>GLOBIGNORE</B>
<DD>
@@ -2601,7 +2689,7 @@ This variable determines the locale category used for number formatting.
<DT><B>LINES</B>
<DD>
-Used by the <B>select</B> builtin command to determine the column length
+Used by the <B>select</B> compound command to determine the column length
for printing selection lists. Automatically set upon receipt of a
<FONT SIZE=-1><B>SIGWINCH</B>.
@@ -2609,14 +2697,15 @@ for printing selection lists. Automatically set upon receipt of a
<DT><B>MAIL</B>
<DD>
-If this parameter is set to a file name and the
+If this parameter is set to a file or directory name and the
<FONT SIZE=-1><B>MAILPATH</B>
</FONT>
variable is not set,
<B>bash</B>
-informs the user of the arrival of mail in the specified file.
+informs the user of the arrival of mail in the specified file or
+Maildir-format directory.
<DT><B>MAILCHECK</B>
<DD>
@@ -2852,8 +2941,8 @@ not arrive.
<DT><B>TMPDIR</B>
<DD>
-If set, <B>Bash</B> uses its value as the name of a directory in which
-<B>Bash</B> creates temporary files for the shell's use.
+If set, <B>bash</B> uses its value as the name of a directory in which
+<B>bash</B> creates temporary files for the shell's use.
<DT><B>auto_resume</B>
<DD>
@@ -2933,9 +3022,14 @@ An indexed array is created automatically if any variable is assigned to
using the syntax <I>name</I>[<I>subscript</I>]=<I>value</I>. The
<I>subscript</I>
-is treated as an arithmetic expression that must evaluate to a number
-greater than or equal to zero. To explicitly declare an indexed array,
-use
+is treated as an arithmetic expression that must evaluate to a number.
+If
+<I>subscript</I>
+
+evaluates to a number less than zero, it is used as
+an offset from one greater than the array's maximum index (so a subcript
+of -1 refers to the last element of the array).
+To explicitly declare an indexed array, use
<B>declare -a </B><I>name</I>
(see
@@ -3338,7 +3432,7 @@ a level of variable indirection is introduced.
expanded and that value is used in the rest of the substitution, rather
than the value of <I>parameter</I> itself.
This is known as <I>indirect expansion</I>.
-The exceptions to this are the expansions of ${!<I>prefix</I>*} and
+The exceptions to this are the expansions of ${<B>!\fPfIprefix</B><B>*</B>} and
${<B>!</B><I>name</I>[<I>@</I>]} described below.
The exclamation point must immediately follow the left brace in order to
introduce indirection.
@@ -3407,7 +3501,7 @@ is substituted.
<DT>${<I>parameter</I><B>:</B><I>offset</I><B>:</B><I>length</I>}<DD>
-<B>Substring Expansion.</B>
+<B>Substring Expansion</B>.
Expands to up to <I>length</I> characters of <I>parameter</I>
starting at the character specified by <I>offset</I>.
If <I>length</I> is omitted, expands to the substring of
@@ -3417,9 +3511,13 @@ If <I>length</I> is omitted, expands to the substring of
</FONT>
below).
-<I>length</I> must evaluate to a number greater than or equal to zero.
If <I>offset</I> evaluates to a number less than zero, the value
is used as an offset from the end of the value of <I>parameter</I>.
+If <I>length</I> evaluates to a number less than zero, and <I>parameter</I>
+is not <B>@</B> and not an indexed or associative array, it is interpreted
+as an offset from the end of the value of <I>parameter</I> rather than
+a number of characters, and the expansion is the characters between the
+two offsets.
If <I>parameter</I> is <B>@</B>, the result is <I>length</I> positional
parameters beginning at <I>offset</I>.
If <I>parameter</I> is an indexed array name subscripted by @ or *,
@@ -3439,7 +3537,7 @@ prefixed to the list.
<DT>${<B>!</B><I>prefix</I><B>@</B>}<DD>
-<B>Names matching prefix.</B>
+<B>Names matching prefix</B>.
Expands to the names of variables whose names begin with <I>prefix</I>,
separated by the first character of the
<FONT SIZE=-1><B>IFS</B>
@@ -3452,7 +3550,7 @@ variable name expands to a separate word.
<DT>${<B>!</B><I>name</I>[<I>*</I>]}<DD>
-<B>List of array keys.</B>
+<B>List of array keys</B>.
If <I>name</I> is an array variable, expands to the list of array indices
(keys) assigned in <I>name</I>.
If <I>name</I> is not an array, expands to 0 if <I>name</I> is set and null
@@ -3460,7 +3558,7 @@ otherwise.
When <I>@</I> is used and the expansion appears within double quotes, each
key expands to a separate word.
<DT>${<B>#</B><I>parameter</I>}<DD>
-<B>Parameter length.</B>
+<B>Parameter length</B>.
The length in characters of the value of <I>parameter</I> is substituted.
If
<I>parameter</I>
@@ -3486,7 +3584,7 @@ the value substituted is the number of elements in the array.
<DT>${<I>parameter</I><B>##</B><I>word</I>}<DD>
-<B>Remove matching prefix pattern.</B>
+<B>Remove matching prefix pattern</B>.
The
<I>word</I>
@@ -3526,7 +3624,7 @@ array in turn, and the expansion is the resultant list.
<DT>${<I>parameter</I><B>%%</B><I>word</I>}<DD>
-<B>Remove matching suffix pattern.</B>
+<B>Remove matching suffix pattern</B>.
The <I>word</I> is expanded to produce a pattern just as in
pathname expansion.
If the pattern matches a trailing portion of the expanded value of
@@ -3560,7 +3658,7 @@ or
the pattern removal operation is applied to each member of the
array in turn, and the expansion is the resultant list.
<DT>${<I>parameter</I><B>/</B><I>pattern</I><B>/</B><I>string</I>}<DD>
-<B>Pattern substitution.</B>
+<B>Pattern substitution</B>.
The <I>pattern</I> is expanded to produce a pattern just as in
pathname expansion.
<I>Parameter</I> is expanded and the longest match of <I>pattern</I>
@@ -3601,7 +3699,7 @@ array in turn, and the expansion is the resultant list.
<DT>${<I>parameter</I><B>,</B><I>pattern</I>}<DD>
<DT>${<I>parameter</I><B>,,</B><I>pattern</I>}<DD>
-<B>Case modification.</B>
+<B>Case modification</B>.
This expansion modifies the case of alphabetic characters in <I>parameter</I>.
The <I>pattern</I> is expanded to produce a pattern just as in
pathname expansion.
@@ -3610,7 +3708,7 @@ to uppercase; the <B>,</B> operator converts matching uppercase letters
to lowercase.
The <B>^^</B> and <B>,,</B> expansions convert each matched character in the
expanded value; the <B>^</B> and <B>,</B> expansions match and convert only
-the first character in the expanded value..
+the first character in the expanded value.
If <I>pattern</I> is omitted, it is treated like a <B>?</B>, which matches
every character.
If
@@ -4003,6 +4101,7 @@ The special pattern characters have the following meanings:
<P>
+<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><B>*</B>
@@ -4109,6 +4208,8 @@ the syntax <B>[.</B><I>symbol</I><B>.]</B> matches the collating symbol
<I>symbol</I>.
</DL>
+</DL>
+
<P>
@@ -4781,7 +4882,7 @@ during its execution.
The special parameter
<B>#</B>
-is updated to reflect the change. Special parameter 0
+is updated to reflect the change. Special parameter <B>0</B>
is unchanged.
The first element of the
<FONT SIZE=-1><B>FUNCNAME</B>
@@ -4831,6 +4932,12 @@ builtin command. Ordinarily, variables and their values
are shared between the function and its caller.
<P>
+The <B>FUNCNEST</B> variable, if set to a numeric value greater
+than 0, defines a maximum function nesting level. Function
+invocations that exceed the limit cause the entire command to
+abort.
+<P>
+
If the builtin command
<B>return</B>
@@ -4887,8 +4994,10 @@ shell's children.
Care should be taken in cases where this may cause a problem.
<P>
-Functions may be recursive. No limit is imposed on the number
-of recursive calls.
+Functions may be recursive.
+The <B>FUNCNEST</B> variable may be used to limit the depth of the
+function call stack and restrict the number of function invocations.
+By default, no limit is imposed on the number of recursive calls.
<A NAME="lbBV">&nbsp;</A>
<H3>ARITHMETIC EVALUATION</H3>
@@ -4992,13 +5101,13 @@ The value of a variable is evaluated as an arithmetic expression
when it is referenced, or when a variable which has been given the
<I>integer</I> attribute using <B>declare -i</B> is assigned a value.
A null value evaluates to 0.
-A shell variable need not have its integer attribute
+A shell variable need not have its <I>integer</I> attribute
turned on to be used in an expression.
<P>
Constants with a leading 0 are interpreted as octal numbers.
A leading 0x or 0X denotes hexadecimal.
-Otherwise, numbers take the form [<I>base#</I>]n, where <I>base</I>
+Otherwise, numbers take the form [<I>base#</I>]n, where the optional <I>base</I>
is a decimal number between 2 and 64 representing the arithmetic
base, and <I>n</I> is a number in that base.
If <I>base#</I> is omitted, then base 10 is used.
@@ -5031,8 +5140,9 @@ links and operate on the target of the link, rather than the link itself.
<P>
-When used with <B>[[</B>, The <B>&lt;</B> and <B>&gt;</B> operators sort
+When used with <B>[[</B>, the <B>&lt;</B> and <B>&gt;</B> operators sort
lexicographically using the current locale.
+The <B>test</B> command sorts using ASCII ordering.
<P>
<DL COMPACT>
@@ -5103,10 +5213,6 @@ True if <I>file</I> exists and is writable.
<DD>
True if <I>file</I> exists and is executable.
-<DT><B>-O </B><I>file</I>
-
-<DD>
-True if <I>file</I> exists and is owned by the effective user id.
<DT><B>-G </B><I>file</I>
<DD>
@@ -5115,27 +5221,31 @@ True if <I>file</I> exists and is owned by the effective group id.
<DD>
True if <I>file</I> exists and is a symbolic link.
-<DT><B>-S </B><I>file</I>
-
-<DD>
-True if <I>file</I> exists and is a socket.
<DT><B>-N </B><I>file</I>
<DD>
True if <I>file</I> exists and has been modified since it was last read.
+<DT><B>-O </B><I>file</I>
+
+<DD>
+True if <I>file</I> exists and is owned by the effective user id.
+<DT><B>-S </B><I>file</I>
+
+<DD>
+True if <I>file</I> exists and is a socket.
+<DT><I>file1</I> <B>-ef</B> <I>file2</I><DD>
+True if <I>file1</I> and <I>file2</I> refer to the same device and
+inode numbers.
<DT><I>file1</I> -<B>nt</B> <I>file2</I><DD>
True if <I>file1</I> is newer (according to modification date) than <I>file2</I>,
or if <I>file1</I> exists and file2 does not.
<DT><I>file1</I> -<B>ot</B> <I>file2</I><DD>
True if <I>file1</I> is older than <I>file2</I>, or if <I>file2</I> exists
and <I>file1</I> does not.
-<DT><I>file1</I> <B>-ef</B> <I>file2</I><DD>
-True if <I>file1</I> and <I>file2</I> refer to the same device and
-inode numbers.
<DT><B>-o </B><I>optname</I>
<DD>
-True if shell option
+True if the shell option
<I>optname</I>
is enabled.
@@ -5146,6 +5256,13 @@ option to the
<B>set</B>
builtin below.
+<DT><B>-v </B><I>varname</I>
+
+<DD>
+True if the shell variable
+<I>varname</I>
+
+is set (has been assigned a value).
<DT><B>-z </B><I>string</I>
<DD>
@@ -5411,8 +5528,8 @@ cannot affect the shell's execution environment.
<P>
Subshells spawned to execute command substitutions inherit the value of
-the <B>-e</B> option from the parent shell. When not in posix mode,
-Bash clears the <B>-e</B> option in such subshells.
+the <B>-e</B> option from the parent shell. When not in <I>posix</I> mode,
+<B>bash</B> clears the <B>-e</B> option in such subshells.
<P>
If a command is followed by a <B>&amp;</B> and job control is not active, the
@@ -6077,7 +6194,7 @@ shell, unless the
option is given at shell invocation.
Line editing is also used when using the <B>-e</B> option to the
<B>read</B> builtin.
-By default, the line editing commands are similar to those of emacs.
+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 emacs</B>
@@ -6108,7 +6225,7 @@ builtin.
<P>
-In this section, the emacs-style notation is used to denote
+In this section, the Emacs-style notation is used to denote
keystrokes. Control keys are denoted by C-<I>key</I>, e.g., C-n
means Control-N. Similarly,
<I>meta</I>
@@ -6536,7 +6653,7 @@ mapped to <B>self-insert</B>.
<DD>
Controls whether readline begins with a set of key bindings similar
-to <I>emacs</I> or <I>vi</I>.
+to <I>Emacs</I> or <I>vi</I>.
<B>editing-mode</B>
can be set to either
@@ -6566,12 +6683,12 @@ the meta key is used to send eight-bit characters.
<DT><B>expand-tilde (Off)</B>
<DD>
-If set to <B>on</B>, tilde expansion is performed when readline
+If set to <B>On</B>, tilde expansion is performed when readline
attempts word completion.
<DT><B>history-preserve-point (Off)</B>
<DD>
-If set to <B>on</B>, the history code attempts to place point at the
+If set to <B>On</B>, the history code attempts to place point at the
same location on each history line retrieved with <B>previous-history</B>
or <B>next-history</B>.
<DT><B>history-size (0)</B>
@@ -6638,8 +6755,15 @@ have a slash appended (subject to the value of
<DD>
This variable, when set to <B>On</B>, causes readline to match files whose
names begin with a `.' (hidden files) when performing filename
-completion, unless the leading `.' is
+completion.
+If set to <B>Off</B>, the leading `.' must be
supplied by the user in the filename to be completed.
+<DT><B>menu-complete-display-prefix (Off)</B>
+
+<DD>
+If set to <B>On</B>, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list.
<DT><B>output-meta (Off)</B>
<DD>
@@ -6659,7 +6783,7 @@ sorted horizontally in alphabetical order, rather than down the screen.
<DT><B>revert-all-at-newline (Off)</B>
<DD>
-If set to <B>on</B>, readline will undo all changes to history lines
+If set to <B>On</B>, readline will undo all changes to history lines
before returning when <B>accept-line</B> is executed. By default,
history lines may be modified and retain individual undo lists across
calls to <B>readline</B>.
@@ -6668,7 +6792,7 @@ calls to <B>readline</B>.
<DD>
This alters the default behavior of the completion functions. If
set to
-<B>on</B>,
+<B>On</B>,
words which have more than one possible completion cause the
matches to be listed immediately instead of ringing the bell.
@@ -6678,7 +6802,7 @@ matches to be listed immediately instead of ringing the bell.
This alters the default behavior of the completion functions in
a fashion similar to <B>show-all-if-ambiguous</B>.
If set to
-<B>on</B>,
+<B>On</B>,
words which have more than one possible completion without any
possible partial completion (the possible completions don't share
@@ -6752,7 +6876,7 @@ library sets the <I>application name</I>, 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 Bash:
+key sequence that quotes the current or previous word in <B>bash</B>:
<P>
<DL COMPACT><DT><DD>
<PRE>
@@ -6990,10 +7114,14 @@ as if the &quot;!<I>n</I>&quot; history expansion had been specified.
<DD>
Insert the last argument to the previous command (the last word of
-the previous history entry). With an argument,
-behave exactly like <B>yank-nth-arg</B>.
+the previous history entry).
+With a numeric argument, behave exactly like <B>yank-nth-arg</B>.
Successive calls to <B>yank-last-arg</B> move back through the history
-list, inserting the last argument of each line in turn.
+list, inserting the last word (or the word specified by the argument to
+the first call) of each line in turn.
+Any numeric argument supplied to these successive calls determines
+the direction to move through the history. A negative argument switches
+the direction through the history (back or forward).
The history expansion facilities are used to extract the last argument,
as if the &quot;!$&quot; history expansion had been specified.
<DT><B>shell-expand-line (M-C-e)</B>
@@ -7315,7 +7443,7 @@ of matches; a negative argument may be used to move backward
through the list.
This command is intended to be bound to <B>TAB</B>, but is unbound
by default.
-<DT><B>menu-complete-rd</B>
+<DT><B>menu-complete-backward</B>
<DD>
Identical to <B>menu-complete</B>, but moves backward through the list
@@ -7497,7 +7625,7 @@ character. A negative count searches for previous occurrences.
<DD>
A character is read and point is moved to the previous occurrence of that
character. A negative count searches for subsequent occurrences.
-<DT><B>skip-csi-sequence ()</B>
+<DT><B>skip-csi-sequence</B>
<DD>
Read enough characters to consume a multi-key sequence such as those
@@ -7600,7 +7728,7 @@ If the command word is a full pathname, a compspec for the full
pathname is searched for first.
If no compspec is found for the full pathname, an attempt is made to
find a compspec for the portion following the final slash.
-If those searches to not result in a compspec, any compspec defined with
+If those searches do not result in a compspec, any compspec defined with
the <B>-D</B> option to <B>complete</B> is used as the default.
<P>
@@ -7772,7 +7900,7 @@ exit status of 124. If a shell function returns 124, and changes
the compspec associated with the command on which completion is being
attempted (supplied as the first argument when the function is executed),
programmable completion restarts from the beginning, with an
-attempt to find a compspec for that command. This allows a set of
+attempt to find a new compspec for that command. This allows a set of
completions to be built dynamically as completion is attempted, rather than
being loaded all at once.
<P>
@@ -8079,6 +8207,8 @@ writing the history file.
An event designator is a reference to a command line entry in the
history list.
+Unless the reference is absolute, events are relative to the current
+position in the history list.
<P>
@@ -8101,7 +8231,7 @@ Refer to command line
<DT><B>!-</B><I>n</I>
<DD>
-Refer to the current command line minus
+Refer to the current command minus
<I>n</I>.
<DT><B>!!</B>
@@ -8111,13 +8241,15 @@ Refer to the previous command. This is a synonym for `!-1'.
<DT><B>!</B><I>string</I>
<DD>
-Refer to the most recent command starting with
+Refer to the most recent command preceding the current position in the
+history list starting with
<I>string</I>.
<DT><B>!?</B><I>string</I><B>[?]</B>
<DD>
-Refer to the most recent command containing
+Refer to the most recent command preceding the current postition in the
+history list containing
<I>string</I>.
The trailing <B>?</B> may be omitted if
@@ -8127,7 +8259,7 @@ is followed immediately by a newline.
<DT><B></B><FONT SIZE=+2><B>^</B></FONT><B></B><I>string1</I><FONT SIZE=+2>^</FONT><I>string2</I><FONT SIZE=+2>^</FONT>
<DD>
-Quick substitution. Repeat the last command, replacing
+Quick substitution. Repeat the previous command, replacing
<I>string1</I>
with
@@ -8596,7 +8728,7 @@ The return status is false if
is not a shell builtin command.
<DT><B>caller</B> [<I>expr</I>]<DD>
Returns the context of any active subroutine call (a shell function or
-a script executed with the <B>.</B> or <B>source</B> builtins.
+a script executed with the <B>.</B> or <B>source</B> builtins).
Without <I>expr</I>, <B>caller</B> displays the line number and source
filename of the current subroutine call.
If a non-negative integer is supplied as <I>expr</I>, <B>caller</B>
@@ -8607,7 +8739,7 @@ current frame is frame 0.
The return value is 0 unless the shell is not executing a subroutine
call or <I>expr</I> does not correspond to a valid position in the
call stack.
-<DT><B>cd</B> [<B>-L|-P</B>] [<I>dir</I>]<DD>
+<DT><B>cd</B> [<B>-L</B>|[<B>-P</B> [<B>-e</B>]]] [<I>dir</I>]<DD>
Change the current directory to <I>dir</I>. The variable
<FONT SIZE=-1><B>HOME</B>
@@ -8652,7 +8784,17 @@ option to the
builtin command); the
<B>-L</B>
-option forces symbolic links to be followed. An argument of
+option forces symbolic links to be followed.
+If the
+<B>-e</B>
+
+option is supplied with
+<B>-P</B>,
+
+and the current working directory cannot be successfully determined
+after a successful directory change, <B>cd</B> will return an unsuccessful
+status.
+An argument of
<B>-</B>
is equivalent to
@@ -8931,17 +9073,6 @@ User names. May also be specified as <B>-u</B>.
Names of all shell variables. May also be specified as <B>-v</B>.
</DL></DL>
-<DT><B>-G</B> <I>globpat</I><DD>
-The pathname expansion pattern <I>globpat</I> is expanded to generate
-the possible completions.
-<DT><B>-W</B> <I>wordlist</I><DD>
-The <I>wordlist</I> is split using the characters in the
-<FONT SIZE=-1><B>IFS</B>
-
-</FONT>
-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 completed.
<DT><B>-C</B> <I>command</I><DD>
<I>command</I> is executed in a subshell environment, and its output is
used as the possible completions.
@@ -8954,6 +9085,23 @@ of the
</FONT>
array variable.
+<DT><B>-G</B> <I>globpat</I><DD>
+The pathname expansion pattern <I>globpat</I> is expanded to generate
+the possible completions.
+<DT><B>-P</B> <I>prefix</I><DD>
+<I>prefix</I> is added at the beginning of each possible completion
+after all other options have been applied.
+<DT><B>-S</B> <I>suffix</I><DD>
+<I>suffix</I> is appended to each possible completion
+after all other options have been applied.
+<DT><B>-W</B> <I>wordlist</I><DD>
+The <I>wordlist</I> is split using the characters in the
+<FONT SIZE=-1><B>IFS</B>
+
+</FONT>
+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 completed.
<DT><B>-X</B> <I>filterpat</I><DD>
<I>filterpat</I> is a pattern as used for pathname expansion.
It is applied to the list of possible completions generated by the
@@ -8961,12 +9109,6 @@ preceding options and arguments, and each completion matching
<I>filterpat</I> is removed from the list.
A leading <B>!</B> in <I>filterpat</I> negates the pattern; in this
case, any completion not matching <I>filterpat</I> is removed.
-<DT><B>-P</B> <I>prefix</I><DD>
-<I>prefix</I> is added at the beginning of each possible completion
-after all other options have been applied.
-<DT><B>-S</B> <I>suffix</I><DD>
-<I>suffix</I> is appended to each possible completion
-after all other options have been applied.
</DL>
<P>
@@ -8981,7 +9123,7 @@ an error occurs adding a completion specification.
<DT><B>compopt</B> [<B>-o</B> <I>option</I>] [<B>-DE</B>] [<B>+o</B> <I>option</I>] [<I>name</I>]<DD>
Modify completion options for each <I>name</I> according to the
<I>option</I>s, or for the
-currently-execution completion if no <I>name</I>s are supplied.
+currently-executing completion if no <I>name</I>s are supplied.
If no <I>option</I>s are given, display the completion options for each
<I>name</I> or the current completion.
The possible values of <I>option</I> are those valid for the <B>complete</B>
@@ -8992,13 +9134,10 @@ on a command for which no completion has previously been defined.
The <B>-E</B> option indicates that the remaining options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
-</DL>
<P>
-
The return value is true unless an invalid option is supplied, an attempt
is made to modify the options for a <I>name</I> for which no completion
specification exists, or an output error occurs.
-<DL COMPACT>
<DT><B>continue</B> [<I>n</I>]<DD>
Resume the next iteration of the enclosing
<B>for</B>,
@@ -9023,9 +9162,9 @@ must be >= 1. If
is greater than the number of enclosing loops, the last enclosing loop
(the ``top-level'' loop) is resumed.
The return value is 0 unless <I>n</I> is not greater than or equal to 1.
-<DT><B>declare</B> [<B>-aAfFilrtux</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
+<DT><B>declare</B> [<B>-aAfFgilrtux</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
-<DT><B>typeset</B> [<B>-aAfFilrtux</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
+<DT><B>typeset</B> [<B>-aAfFgilrtux</B>] [<B>-p</B>] [<I>name</I>[=<I>value</I>] ...]<DD>
Declare variables and/or give them attributes.
If no <I>name</I>s are given then display the values of variables.
@@ -9061,6 +9200,12 @@ are displayed as well. The
option implies
<B>-f</B>.
+The
+<B>-g</B>
+
+option forces variables to be created or modified at the global scope,
+even when <B>declare</B> is executed in a shell function.
+It is ignored in all other cases.
The following options can
be used to restrict output to variables with the specified attribute or
to give variables attributes:
@@ -9130,13 +9275,13 @@ turns off the attribute instead,
with the exceptions that <B>+a</B>
may not be used to destroy an array variable and <B>+r</B> will not
remove the readonly attribute.
-When used in a function,
-makes each
+When used in a function, makes each
<I>name</I> local, as with the
<B>local</B>
-command.
-If a variable name is followed by =<I>value</I>, the value of
+command,
+unless the <B>-gP option is supplied,
+If a variable name is followed by =</B><I>value</I>, the value of
the variable is set to <I>value</I>.
The return value is 0 unless an invalid option is encountered,
an attempt is made to define a function using
@@ -9153,7 +9298,7 @@ an attempt is made to turn off array status for an array variable,
or an attempt is made to display a non-existent function with <B>-f</B>.
</DL>
-<DT><B>dirs [+</B><I>n</I>] [-<I>n</I>] [<B>-cplv</B>]
+<DT><B>dirs [+</B><I>n</I>] [-<I>n</I>] [<B>-clpv</B>]
<DD>
Without options, displays the list of currently remembered directories.
@@ -9293,6 +9438,9 @@ suppress further output
<DT><B>\e</B>
<DD>
+<DT><B>\E</B>
+
+<DD>
an escape character
<DT><B>\f</B>
@@ -9328,6 +9476,16 @@ the eight-bit character whose value is the octal value <I>nnn</I>
<DD>
the eight-bit character whose value is the hexadecimal value <I>HH</I>
(one or two hex digits)
+<DT><B>\u</B><I>HHHH</I>
+
+<DD>
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<I>HHHH</I> (one to four hex digits)
+<DT><B>\U</B><I>HHHHHHHH</I>
+
+<DD>
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<I>HHHHHHHH</I> (one to eight hex digits)
</DL></DL>
@@ -9680,7 +9838,7 @@ return value greater than zero.
</FONT>
is set to the index of the first non-option argument,
-and <B>name</B> is set to ?.
+and <I>name</I> is set to ?.
<P>
<B>getopts</B>
@@ -9763,14 +9921,15 @@ returns true if an option, specified or unspecified, is found.
It returns false if the end of options is encountered or an
error occurs.
<DT><B>hash</B> [<B>-lr</B>] [<B>-p</B> <I>filename</I>] [<B>-dt</B>] [<I>name</I>]<DD>
-For each
-<I>name</I>,
+Each time <B>hash</B> is invoked,
+the full pathname of the command
+<I>name</I>
-the full file name of the command is determined by searching
+is determined by searching
the directories in
<B>$PATH</B>
-and remembered.
+and remembered. Any previously-remembered pathname is discarded.
If the
<B>-p</B>
@@ -9954,16 +10113,16 @@ meanings:
<DD>
List process IDs
in addition to the normal information.
-<DT><B>-p</B>
-
-<DD>
-List only the process ID of the job's process group
-leader.
<DT><B>-n</B>
<DD>
Display information only about jobs that have changed status since
the user was last notified of their status.
+<DT><B>-p</B>
+
+<DD>
+List only the process ID of the job's process group
+leader.
<DT><B>-r</B>
<DD>
@@ -10196,7 +10355,8 @@ is specified without
the default quantum is 5000.
When <I>callback</I> is evaluated, it is supplied the index of the next
-array element to be assigned as an additional argument.
+array element to be assigned and the line to be assigned to that element
+as additional arguments.
<I>callback</I> is evaluated after the line is read but before the
array element is assigned.
<P>
@@ -10270,27 +10430,57 @@ directory change fails.
<DT><B>printf</B> [<B>-v</B> <I>var</I>] <I>format</I> [<I>arguments</I>]<DD>
Write the formatted <I>arguments</I> to the standard output under the
control of the <I>format</I>.
+The <B>-v</B> option causes the output to be assigned to the variable
+<I>var</I> rather than being printed to the standard output.
+<P>
The <I>format</I> is a character string which contains three types of objects:
plain characters, which are simply copied to standard output, character
escape sequences, which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive
<I>argument</I>.
-In addition to the standard <I>printf</I>(1) formats, <B>%b</B> causes
+In addition to the standard <I>printf</I>(1) format specifications,
+<B>printf</B> interprets the following extensions:
+<DL COMPACT><DT><DD>
+
+<DL COMPACT>
+<DT><B>%b</B>
+
+<DD>
+causes
<B>printf</B> to expand backslash escape sequences in the corresponding
<I>argument</I> (except that <B>\c</B> terminates output, backslashes in
<B>\aq</B>, <B>\&quot;</B>, and <B>\?</B> are not removed, and octal escapes
-beginning with <B>\0</B> may contain up to four digits),
-and <B>%q</B> causes <B>printf</B> to output the corresponding
+beginning with <B>\0</B> may contain up to four digits).
+<DT><B>%q</B>
+
+<DD>
+causes <B>printf</B> to output the corresponding
<I>argument</I> in a format that can be reused as shell input.
+<DT><B>%(</B><I>datefmt</I>)T
+
+<DD>
+causes <B>printf</B> to output the date-time string resulting from using
+<I>datefmt</I> as a format string for <I>strftime</I>(3). The corresponding
+<I>argument</I> is an integer representing the number of seconds since the
+epoch. Two special argument values may be used: -1 represents the current
+time, and -2 represents the time the shell was invoked.
+
+</DL>
<P>
-The <B>-v</B> option causes the output to be assigned to the variable
-<I>var</I> rather than being printed to the standard output.
+
+Arguments to non-string format specifiers are treated as C constants,
+except that a leading plus or minus sign is allowed, and if the leading
+character is a single or double quote, the value is the ASCII value of
+the following character.
<P>
+
The <I>format</I> is reused as necessary to consume all of the <I>arguments</I>.
If the <I>format</I> requires more <I>arguments</I> than are supplied, the
extra format specifications behave as if a zero value or null string, as
-appropriate, had been supplied. The return value is zero on success,
-non-zero on failure.
+appropriate, had been supplied.
+The return value is zero on success, non-zero on failure.
+</DL>
+
<DT><B>pushd</B> [<B>-n</B>] [+<I>n</I>] [-<I>n</I>]<DD>
<DT><B>pushd</B> [<B>-n</B>] [<I>dir</I>]<DD>
@@ -10572,9 +10762,9 @@ function and not during execution of a script by <B>.</B>,
the return status is false.
Any command associated with the <B>RETURN</B> trap is executed
before execution resumes after the function or script.
-<DT><B>set</B> [<B>--abefhkmnptuvxBCEHPT</B>] [<B>-o</B> <I>option</I>] [<I>arg</I> ...]<DD>
+<DT><B>set</B> [<B>--abefhkmnptuvxBCEHPT</B>] [<B>-o</B> <I>option-name</I>] [<I>arg</I> ...]<DD>
-<DT><B>set</B> [<B>+abefhkmnptuvxBCEHPT</B>] [<B>+o</B> <I>option</I>] [<I>arg</I> ...]<DD>
+<DT><B>set</B> [<B>+abefhkmnptuvxBCEHPT</B>] [<B>+o</B> <I>option-name</I>] [<I>arg</I> ...]<DD>
Without options, the name and value of each shell variable are displayed
in a format that can be reused as input
@@ -11212,7 +11402,7 @@ If set,
<B>bash</B>
changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the <B>[[</B> conditional command's <B>=~</B> operator.
<DT><B>compat32</B>
<DD>
@@ -11220,7 +11410,15 @@ If set,
<B>bash</B>
changes its behavior to that of version 3.2 with respect to locale-specific
-string comparison when using the conditional command's &lt; and &gt; operators.
+string comparison when using the <B>[[</B>
+conditional command's <B>&lt;</B> and <B>&gt;</B> operators.
+Bash versions prior to bash-4.1 use ASCII collation and
+<I>strcmp</I>(3);
+
+bash-4.1 and later
+use the current locale's collation sequence and
+<I>strcoll</I>(3).
+
<DT><B>compat40</B>
<DD>
@@ -11228,8 +11426,21 @@ If set,
<B>bash</B>
changes its behavior to that of version 4.0 with respect to locale-specific
-string comparison when using the conditional command's &lt; and &gt; operators
+string comparison when using the <B>[[</B>
+conditional command's <B>&lt;</B> and <B>&gt;</B> operators (see previous item)
and the effect of interrupting a command list.
+<DT><B>compat41</B>
+
+<DD>
+@item compat41
+If set,
+<B>bash</B>,
+
+when in posix mode, treats a single quote in a double-quoted
+parameter expansion as a special character. The single quotes must match
+(an even number) and the characters between the single quotes are considered
+quoted. This is the behavior of posix mode through version 4.1.
+The default bash behavior remains as in previous versions.
<DT><B>dirspell</B>
<DD>
@@ -11311,7 +11522,7 @@ subshells invoked with <B>(</B> <I>command</I> <B>)</B> inherit the
<DD>
Error tracing is enabled: command substitution, shell functions, and
subshells invoked with <B>(</B> <I>command</I> <B>)</B> inherit the
-<B>ERROR</B> trap.
+<B>ERR</B> trap.
</DL></DL>
<DT><B>extglob</B>
@@ -11421,6 +11632,11 @@ line to be ignored in an interactive shell (see
</FONT>
above). This option is enabled by default.
+<DT><B>lastpipe</B>
+
+<DD>
+If set, and job control is not active, the shell runs the last command of
+a pipeline not executed in the background in the current shell environment.
<DT><B>lithist</B>
<DD>
@@ -11575,6 +11791,7 @@ an argument of <B>--</B> as signifying the end of options.
Expressions may be combined using the following operators, listed
in decreasing order of precedence.
The evaluation depends on the number of arguments; see below.
+Operator precedence is used when there are five or more arguments.
<DL COMPACT><DT><DD>
<DL COMPACT>
@@ -11633,6 +11850,7 @@ 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.
<DT>3 arguments<DD>
+The following conditions are applied in the order listed.
If the second argument is one of the binary conditional operators listed above
under
<FONT SIZE=-1><B>CONDITIONAL EXPRESSIONS</B>,
@@ -11656,7 +11874,15 @@ precedence using the rules listed above.
<DT>5 or more arguments<DD>
The expression is parsed and evaluated according to precedence
using the rules listed above.
-</DL></DL>
+<P>
+
+
+</DL>
+<P>
+
+When used with <B>test</B> or <B>[</B>, the <B>&lt;</B> and <B>&gt;</B> operators
+sort lexicographically using ASCII ordering.
+</DL>
<DT><B>times</B>
@@ -11715,7 +11941,11 @@ Each
is either
a signal name defined in &lt;<I>signal.h</I>&gt;, or a signal number.
-Signal names are case insensitive and the SIG prefix is optional.
+Signal names are case insensitive and the
+<FONT SIZE=-1><B>SIG</B>
+
+</FONT>
+prefix is optional.
<P>
@@ -11759,8 +11989,8 @@ is
the command
<I>arg</I>
-is executed each time a shell function or a script executed with the
-<B>.</B> or <B>source</B> builtins finishes executing.
+is executed each time a shell function or a script executed with
+the <B>.</B> or <B>source</B> builtins finishes executing.
<P>
@@ -12018,7 +12248,8 @@ The maximum number of processes available to a single user
<DT><B>-v</B>
<DD>
-The maximum amount of virtual memory available to the shell
+The maximum amount of virtual memory available to the shell and, on
+some systems, to its children
<DT><B>-x</B>
<DD>
@@ -12232,7 +12463,7 @@ as an argument to the
builtin command
<DT>*<DD>
-Specifying a filename containing a slash as an argument to the
+specifying a filename containing a slash as an argument to the
<B>-p</B>
option to the
@@ -12266,7 +12497,7 @@ options to the
builtin command
<DT>*<DD>
-Using the <B>enable</B> builtin command to enable disabled shell builtins
+using the <B>enable</B> builtin command to enable disabled shell builtins
<DT>*<DD>
specifying the
<B>-p</B>
@@ -12375,7 +12606,7 @@ version of
<B>bash</B>.
The latest version is always available from
-<I><A HREF="ftp://ftp.gnu.org/pub/bash/">ftp://ftp.gnu.org/pub/bash/</A></I>.
+<I><A HREF="ftp://ftp.gnu.org/pub/gnu/bash/">ftp://ftp.gnu.org/pub/gnu/bash/</A></I>.
<P>
Once you have determined that a bug actually exists, use the
@@ -12460,7 +12691,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
-<TH ALIGN=LEFT width=33%>GNU Bash-4.1<TH ALIGN=CENTER width=33%>2009 December 29<TH ALIGN=RIGHT width=33%>BASH(1)
+<TH ALIGN=LEFT width=33%>GNU Bash-4.2<TH ALIGN=CENTER width=33%>2010 December 28<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -12566,6 +12797,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
-Time: 30 December 2009 13:07:38 EST
+Time: 28 December 2010 14:30:29 EST
</BODY>
</HTML>
diff --git a/doc/bash.pdf b/doc/bash.pdf
index cb36c5e..5bcb0c5 100644
--- a/doc/bash.pdf
+++ b/doc/bash.pdf
Binary files differ
diff --git a/doc/bash.ps b/doc/bash.ps
index 8b4d573..fb9aa8c 100644
--- a/doc/bash.ps
+++ b/doc/bash.ps
@@ -1,13 +1,13 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Wed Dec 30 13:07:37 2009
+%%CreationDate: Fri Jan 28 22:07:07 2011
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Courier
%%+ font Symbol
%%DocumentSuppliedResources: procset grops 1.19 2
-%%Pages: 70
+%%Pages: 72
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
@@ -238,7 +238,7 @@ BP
(bash \255 GNU Bourne-Ag)108 96 Q(ain SHell)-.05 E F1(SYNOPSIS)72 112.8
Q/F2 10/Times-Bold@0 SF(bash)108 124.8 Q F0([options] [\214le])2.5 E F1
(COPYRIGHT)72 141.6 Q F0(Bash is Cop)108 153.6 Q
-(yright \251 1989-2009 by the Free Softw)-.1 E(are F)-.1 E
+(yright \251 1989-2011 by the Free Softw)-.1 E(are F)-.1 E
(oundation, Inc.)-.15 E F1(DESCRIPTION)72 170.4 Q F2(Bash)108 182.4 Q F0
.973(is an)3.474 F F2(sh)3.473 E F0 .973
(-compatible command language interpreter that e)B -.15(xe)-.15 G .973
@@ -250,76 +250,75 @@ Q/F2 10/Times-Bold@0 SF(bash)108 124.8 Q F0([options] [\214le])2.5 E F1
ell and Utilities portion of the IEEE POSIX)3.027 F
(speci\214cation \(IEEE Standard 1003.1\).)108 223.2 Q F2(Bash)5 E F0
(can be con\214gured to be POSIX-conformant by def)2.5 E(ault.)-.1 E F1
-(OPTIONS)72 240 Q F0 .52(In addition to the single-character shell opti\
-ons documented in the description of the)108 252 R F2(set)3.02 E F0 -.2
-(bu)3.02 G .52(iltin command,).2 F F2(bash)108 264 Q F0
-(interprets the follo)2.5 E(wing options when it is in)-.25 E -.2(vo)-.4
-G -.1(ke).2 G(d:).1 E F2<ad63>108 280.8 Q F3(string)4.166 E F0 .796
-(If the)12.354 F F2<ad63>3.296 E F0 .796
-(option is present, then commands are read from)3.296 F F3(string)3.296
-E F0 5.796(.I).22 G 3.297(ft)-5.796 G .797(here are ar)-3.297 F .797
-(guments after)-.18 F(the)158 292.8 Q F3(string)2.5 E F0 2.5(,t).22 G
+(OPTIONS)72 240 Q F0 .61(All of the)108 252 R .61
+(single-character shell options documented in the description of the)
+5.61 F F2(set)3.11 E F0 -.2(bu)3.11 G .61(iltin command can be).2 F
+1.284(used as options when the shell is in)108 264 R -.2(vo)-.4 G -.1
+(ke).2 G 3.785(d. In).1 F(addition,)3.785 E F2(bash)3.785 E F0 1.285
+(interprets the follo)3.785 F 1.285(wing options when it is)-.25 F(in)
+108 276 Q -.2(vo)-.4 G -.1(ke).2 G(d:).1 E F2<ad63>108 292.8 Q F3
+(string)4.166 E F0 .797(If the)12.354 F F2<ad63>3.297 E F0 .796
+(option is present, then commands are read from)3.297 F F3(string)3.296
+E F0 5.796(.I).22 G 3.296(ft)-5.796 G .796(here are ar)-3.296 F .796
+(guments after)-.18 F(the)158 304.8 Q F3(string)2.5 E F0 2.5(,t).22 G
(he)-2.5 E 2.5(ya)-.15 G
(re assigned to the positional parameters, starting with)-2.5 E F2($0)
-2.5 E F0(.)A F2<ad69>108 304.8 Q F0(If the)41.52 E F2<ad69>2.5 E F0
+2.5 E F0(.)A F2<ad69>108 316.8 Q F0(If the)41.52 E F2<ad69>2.5 E F0
(option is present, the shell is)2.5 E F3(inter)2.5 E(active)-.15 E F0
-(.).18 E F2<ad6c>108 316.8 Q F0(Mak)41.52 E(e)-.1 E F2(bash)2.5 E F0
+(.).18 E F2<ad6c>108 328.8 Q F0(Mak)41.52 E(e)-.1 E F2(bash)2.5 E F0
(act as if it had been in)2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(da).1 G 2.5
(sal)-2.5 G(ogin shell \(see)-2.5 E/F4 9/Times-Bold@0 SF(INV)2.5 E(OCA)
--.405 E(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2<ad72>108 328.8 Q F0
+-.405 E(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E F2<ad72>108 340.8 Q F0
(If the)39.86 E F2<ad72>2.5 E F0(option is present, the shell becomes)
2.5 E F3 -.37(re)2.5 G(stricted).37 E F0(\(see)3.27 E F4
-(RESTRICTED SHELL)2.5 E F0(belo)2.25 E(w\).)-.25 E F2<ad73>108 340.8 Q
+(RESTRICTED SHELL)2.5 E F0(belo)2.25 E(w\).)-.25 E F2<ad73>108 352.8 Q
F0 .602(If the)40.41 F F2<ad73>3.102 E F0 .602
(option is present, or if no ar)3.102 F .602
-(guments remain after option processing, then commands)-.18 F .616
-(are read from the standard input.)158 352.8 R .617(This option allo)
-5.617 F .617(ws the positional parameters to be set when)-.25 F(in)158
-364.8 Q -.2(vo)-.4 G(king an interacti).2 E .3 -.15(ve s)-.25 H(hell.)
-.15 E F2<ad44>108 376.8 Q F0 3.184(Al)37.08 G .684
-(ist of all double-quoted strings preceded by)-3.184 F F2($)3.184 E F0
-.684(is printed on the standard output.)3.184 F .683(These are)5.683 F
+(guments remain after option processing, then commands)-.18 F .617
+(are read from the standard input.)158 364.8 R .617(This option allo)
+5.617 F .616(ws the positional parameters to be set when)-.25 F(in)158
+376.8 Q -.2(vo)-.4 G(king an interacti).2 E .3 -.15(ve s)-.25 H(hell.)
+.15 E F2<ad44>108 388.8 Q F0 3.183(Al)37.08 G .683
+(ist of all double-quoted strings preceded by)-3.183 F F2($)3.184 E F0
+.684(is printed on the standard output.)3.184 F .684(These are)5.684 F
.458(the strings that are subject to language translation when the curr\
-ent locale is not)158 388.8 R F2(C)2.958 E F0(or)2.959 E F2(POSIX)2.959
-E F0(.)A(This implies the)158 400.8 Q F2<ad6e>2.5 E F0
+ent locale is not)158 400.8 R F2(C)2.958 E F0(or)2.958 E F2(POSIX)2.958
+E F0(.)A(This implies the)158 412.8 Q F2<ad6e>2.5 E F0
(option; no commands will be e)2.5 E -.15(xe)-.15 G(cuted.).15 E F2
-([\255+]O [)108 412.8 Q F3(shopt_option)A F2(])A F3(shopt_option)158
-424.8 Q F0 1.097(is one of the shell options accepted by the)3.597 F F2
-(shopt)3.597 E F0 -.2(bu)3.597 G 1.097(iltin \(see).2 F F4 1.096
-(SHELL B)3.596 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)158 436.8 Q F0(belo)
-3.002 E 3.252(w\). If)-.25 F F3(shopt_option)3.253 E F0 .753
+([\255+]O [)108 424.8 Q F3(shopt_option)A F2(])A F3(shopt_option)158
+436.8 Q F0 1.097(is one of the shell options accepted by the)3.596 F F2
+(shopt)3.597 E F0 -.2(bu)3.597 G 1.097(iltin \(see).2 F F4 1.097
+(SHELL B)3.597 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)158 448.8 Q F0(belo)
+3.003 E 3.253(w\). If)-.25 F F3(shopt_option)3.253 E F0 .753
(is present,)3.253 F F2<ad4f>3.253 E F0 .753(sets the v)3.253 F .753
-(alue of that option;)-.25 F F2(+O)3.253 E F0(unsets)3.253 E 2.625
-(it. If)158 448.8 R F3(shopt_option)2.625 E F0 .125
-(is not supplied, the names and v)2.625 F .124
-(alues of the shell options accepted by)-.25 F F2(shopt)2.624 E F0 .505
-(are printed on the standard output.)158 460.8 R .505(If the in)5.505 F
--.2(vo)-.4 G .505(cation option is).2 F F2(+O)3.005 E F0 3.005(,t)C .506
+(alue of that option;)-.25 F F2(+O)3.252 E F0(unsets)3.252 E 2.624
+(it. If)158 460.8 R F3(shopt_option)2.624 E F0 .124
+(is not supplied, the names and v)2.624 F .125
+(alues of the shell options accepted by)-.25 F F2(shopt)2.625 E F0 .506
+(are printed on the standard output.)158 472.8 R .505(If the in)5.505 F
+-.2(vo)-.4 G .505(cation option is).2 F F2(+O)3.005 E F0 3.005(,t)C .505
(he output is displayed in a)-3.005 F
-(format that may be reused as input.)158 472.8 Q F2<adad>108 484.8 Q F0
-(A)38.6 E F2<adad>3.364 E F0 .864
+(format that may be reused as input.)158 484.8 Q F2<adad>108 496.8 Q F0
+(A)38.6 E F2<adad>3.363 E F0 .864
(signals the end of options and disables further option processing.)
-3.364 F(An)5.863 E 3.363(ya)-.15 G -.18(rg)-3.363 G .863(uments after)
-.18 F(the)158 496.8 Q F2<adad>2.5 E F0
+3.363 F(An)5.864 E 3.364(ya)-.15 G -.18(rg)-3.364 G .864(uments after)
+.18 F(the)158 508.8 Q F2<adad>2.5 E F0
(are treated as \214lenames and ar)2.5 E 2.5(guments. An)-.18 F(ar)2.5 E
(gument of)-.18 E F2<ad>2.5 E F0(is equi)2.5 E -.25(va)-.25 G(lent to)
-.25 E F2<adad>2.5 E F0(.)A F2(Bash)108 513.6 Q F0 .303
-(also interprets a number of multi-character options.)2.803 F .304
+.25 E F2<adad>2.5 E F0(.)A F2(Bash)108 525.6 Q F0 .304
+(also interprets a number of multi-character options.)2.804 F .303
(These options must appear on the command line)5.303 F
-(before the single-character options to be recognized.)108 525.6 Q F2
-<adad646562>108 542.4 Q(ugger)-.2 E F0 .475(Arrange for the deb)144
-554.4 R .475(ugger pro\214le to be e)-.2 F -.15(xe)-.15 G .475
-(cuted before the shell starts.).15 F -.45(Tu)5.474 G .474(rns on e).45
-F .474(xtended deb)-.15 F(ug-)-.2 E .452
-(ging mode \(see the description of the)144 566.4 R F2(extdeb)2.952 E
-(ug)-.2 E F0 .452(option to the)2.952 F F2(shopt)2.952 E F0 -.2(bu)2.952
-G .452(iltin belo).2 F .452(w\) and shell func-)-.25 F
-(tion tracing \(see the description of the)144 578.4 Q F2
-(\255o functrace)2.5 E F0(option to the)2.5 E F2(set)2.5 E F0 -.2(bu)2.5
-G(iltin belo).2 E(w\).)-.25 E F2(\255\255dump\255po\255strings)108 590.4
-Q F0(Equi)144 602.4 Q -.25(va)-.25 G(lent to).25 E F2<ad44>2.5 E F0 2.5
-(,b)C(ut the output is in the GNU)-2.7 E F3 -.1(ge)2.5 G(tte).1 E(xt)-.2
-E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
+(before the single-character options to be recognized.)108 537.6 Q F2
+<adad646562>108 554.4 Q(ugger)-.2 E F0 .474(Arrange for the deb)144
+566.4 R .474(ugger pro\214le to be e)-.2 F -.15(xe)-.15 G .475
+(cuted before the shell starts.).15 F -.45(Tu)5.475 G .475(rns on e).45
+F .475(xtended deb)-.15 F(ug-)-.2 E
+(ging mode \(see the description of the)144 578.4 Q F2(extdeb)2.5 E(ug)
+-.2 E F0(option to the)2.5 E F2(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo)
+.2 E(w\).)-.25 E F2(\255\255dump\255po\255strings)108 590.4 Q F0(Equi)
+144 602.4 Q -.25(va)-.25 G(lent to).25 E F2<ad44>2.5 E F0 2.5(,b)C
+(ut the output is in the GNU)-2.7 E F3 -.1(ge)2.5 G(tte).1 E(xt)-.2 E F2
+(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
(\255\255dump\255strings)108 614.4 Q F0(Equi)144 626.4 Q -.25(va)-.25 G
(lent to).25 E F2<ad44>2.5 E F0(.)A F2(\255\255help)108 638.4 Q F0
(Display a usage message on standard output and e)6.26 E
@@ -331,7 +330,7 @@ E F2(po)2.5 E F0(\(portable object\) \214le format.)2.5 E F2
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.1)72 768 Q(2009 December 29)135.965 E(1)190.955 E 0 Cg EP
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(1)190.955 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
@@ -452,8 +451,8 @@ F(ariable)-.25 E F3 -.27(BA)108 679.2 S(SH_ENV).27 E F0 1.01(in the en)
(if [ \255n "$BASH_ENV" ]; then . "$BASH_ENV"; fi)144 709.2 Q F0 -.2(bu)
108 727.2 S 2.5(tt).2 G(he v)-2.5 E(alue of the)-.25 E F3 -.666(PA)2.5 G
(TH)-.189 E F0 -.25(va)2.25 G
-(riable is not used to search for the \214le name.).25 E(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(2)190.955 E 0 Cg EP
+(riable is not used to search for the \214le name.).25 E(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(2)190.955 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
@@ -502,23 +501,24 @@ E F0 .226(mode, as with the)3.256 F F1(\255\255posix)2.726 E F0 .226
F3(ENV)2.841 E F0 -.25(va)2.591 G .342(riable and commands are read and)
.25 F -.15(exe)108 220.8 S(cuted from the \214le whose name is the e).15
E(xpanded v)-.15 E 2.5(alue. No)-.25 F(other startup \214les are read.)
-2.5 E F1(Bash)108 237.6 Q F0 .644(attempts to determine when it is bein\
-g run with its standard input connected to a a netw)3.144 F .643
-(ork connec-)-.1 F .229(tion, as if by the remote shell daemon, usually)
-108 249.6 R F2 -.1(rs)2.729 G(hd).1 E F0 2.729(,o)C 2.73(rt)-2.729 G .23
-(he secure shell daemon)-2.73 F F2(sshd)2.73 E F0 5.23(.I)C(f)-5.23 E F1
-(bash)2.73 E F0 .23(determines it)2.73 F .741(is being run in this f)108
-261.6 R .741(ashion, it reads and e)-.1 F -.15(xe)-.15 G .741
-(cutes commands from).15 F F2(~/.bashr)3.241 E(c)-.37 E F0 3.241(,i)C
-3.241(ft)-3.241 G .741(hat \214le e)-3.241 F .741(xists and is read-)
--.15 F 2.97(able. It)108 273.6 R .47(will not do this if in)2.97 F -.2
-(vo)-.4 G -.1(ke).2 G 2.97(da).1 G(s)-2.97 E F1(sh)2.97 E F0 5.47(.T)C
-(he)-5.47 E F1<adad6e6f72>2.97 E(c)-.18 E F0 .47
-(option may be used to inhibit this beha)2.97 F(vior)-.2 E 2.97(,a)-.4 G
-.47(nd the)-2.97 F F1<adad72>108 285.6 Q(c\214le)-.18 E F0 .886
-(option may be used to force another \214le to be read, b)3.387 F(ut)-.2
-E F2 -.1(rs)3.386 G(hd).1 E F0 .886(does not generally in)3.386 F -.2
-(vo)-.4 G 1.086 -.1(ke t).2 H .886(he shell).1 F
+2.5 E F1(Bash)108 237.6 Q F0 .224(attempts to determine when it is bein\
+g run with its standard input connected to a netw)2.724 F .223
+(ork connection,)-.1 F .025(as when e)108 249.6 R -.15(xe)-.15 G .025
+(cuted by the remote shell daemon, usually).15 F F2 -.1(rs)2.525 G(hd).1
+E F0 2.525(,o)C 2.525(rt)-2.525 G .025(he secure shell daemon)-2.525 F
+F2(sshd)2.525 E F0 5.025(.I)C(f)-5.025 E F1(bash)2.525 E F0(deter)2.525
+E(-)-.2 E .134(mines it is being run in this f)108 261.6 R .134
+(ashion, it reads and e)-.1 F -.15(xe)-.15 G .133(cutes commands from)
+.15 F F2(~/.bashr)2.633 E(c)-.37 E F0 2.633(,i)C 2.633(ft)-2.633 G .133
+(hat \214le e)-2.633 F .133(xists and is)-.15 F 2.869(readable. It)108
+273.6 R .369(will not do this if in)2.869 F -.2(vo)-.4 G -.1(ke).2 G
+2.869(da).1 G(s)-2.869 E F1(sh)2.869 E F0 5.369(.T)C(he)-5.369 E F1
+<adad6e6f72>2.869 E(c)-.18 E F0 .369
+(option may be used to inhibit this beha)2.869 F(vior)-.2 E 2.869(,a)-.4
+G(nd)-2.869 E(the)108 285.6 Q F1<adad72>2.606 E(c\214le)-.18 E F0 .106
+(option may be used to force another \214le to be read, b)2.606 F(ut)-.2
+E F2 -.1(rs)2.606 G(hd).1 E F0 .106(does not generally in)2.606 F -.2
+(vo)-.4 G .306 -.1(ke t).2 H .106(he shell).1 F
(with those options or allo)108 297.6 Q 2.5(wt)-.25 G
(hem to be speci\214ed.)-2.5 E 1.207
(If the shell is started with the ef)108 314.4 R(fecti)-.25 E 1.507 -.15
@@ -551,16 +551,16 @@ E F1(identi\214er)2.5 E F0(.)A F1(metacharacter)108 451.2 Q F0 2.5(Ac)
(ords. One)-.1 F(of the follo)2.5 E(wing:)-.25 E F1 5(|&;\(\)<>s)144
475.2 S 2.5(pace tab)-5 F(contr)108 487.2 Q(ol operator)-.18 E F0(A)144
499.2 Q F2(tok)2.5 E(en)-.1 E F0(that performs a control function.)2.5 E
-(It is one of the follo)5 E(wing symbols:)-.25 E/F6 10/Symbol SF<efef>
-144 511.2 Q F1 5(&&)5 G 5(&;;)-5 G 5(;\(\)||)-5 G 10(&<)-5 G(newline>)
--10 E F5(RESER)72 528 Q(VED W)-.602 E(ORDS)-.11 E F2 .307(Reserved wor)
-108 540 R(ds)-.37 E F0 .307(are w)2.807 F .307(ords that ha)-.1 F .607
--.15(ve a s)-.2 H .306(pecial meaning to the shell.).15 F .306
-(The follo)5.306 F .306(wing w)-.25 F .306(ords are recognized as)-.1 F
-(reserv)108 552 Q .227(ed when unquoted and either the \214rst w)-.15 F
-.227(ord of a simple command \(see)-.1 F F3 .227(SHELL GRAMMAR)2.727 F
-F0(belo)2.477 E .227(w\) or)-.25 F(the third w)108 564 Q(ord of a)-.1 E
-F1(case)2.5 E F0(or)2.5 E F1 -.25(fo)2.5 G(r).25 E F0(command:)2.5 E F1
+(It is one of the follo)5 E(wing symbols:)-.25 E F1 2.5
+(|| & && ; ;; \( \) | |&)144 511.2 R(<newline>)10 E F5(RESER)72 528 Q
+(VED W)-.602 E(ORDS)-.11 E F2 .307(Reserved wor)108 540 R(ds)-.37 E F0
+.307(are w)2.807 F .307(ords that ha)-.1 F .607 -.15(ve a s)-.2 H .306
+(pecial meaning to the shell.).15 F .306(The follo)5.306 F .306(wing w)
+-.25 F .306(ords are recognized as)-.1 F(reserv)108 552 Q .227
+(ed when unquoted and either the \214rst w)-.15 F .227
+(ord of a simple command \(see)-.1 F F3 .227(SHELL GRAMMAR)2.727 F F0
+(belo)2.477 E .227(w\) or)-.25 F(the third w)108 564 Q(ord of a)-.1 E F1
+(case)2.5 E F0(or)2.5 E F1 -.25(fo)2.5 G(r).25 E F0(command:)2.5 E F1
11.916(!c)144 580.8 S 9.416(ase do done elif else esac \214 f)-11.916 F
9.415(or function if in select then until)-.25 F 7.5
(while { } time [[ ]])144 592.8 R F5(SHELL GRAMMAR)72 609.6 Q F1
@@ -580,8 +580,8 @@ F .175(xit status, or 128+)-.15 F F2(n)A F0 .176
F1(Pipelines)87 691.2 Q F0(A)108 703.2 Q F2(pipeline)2.996 E F0 .496(is\
a sequence of one or more commands separated by one of the control ope\
rators)2.996 F F1(|)2.996 E F0(or)2.996 E F1(|&)2.996 E F0 5.496(.T)C
-(he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(3)190.955 E 0 Cg EP
+(he)-5.496 E(format for a pipeline is:)108 715.2 Q(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(3)190.955 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
@@ -622,5820 +622,5948 @@ G 5.55(.T).15 G .55(he shell w)-5.55 F .55(aits for)-.1 F
ell as user and system time consumed by its)-.1 F -.15(exe)108 242.4 S
.14(cution are reported when the pipeline terminates.).15 F(The)5.139 E
F1<ad70>2.639 E F0 .139(option changes the output format to that spec-)
-2.639 F .779(i\214ed by POSIX.)108 254.4 R(The)5.779 E F4(TIMEFORMA)
-3.279 E(T)-.855 E F0 -.25(va)3.029 G .779
-(riable may be set to a format string that speci\214es ho).25 F 3.28(wt)
--.25 G .78(he timing)-3.28 F
-(information should be displayed; see the description of)108 266.4 Q F4
-(TIMEFORMA)2.5 E(T)-.855 E F0(under)2.25 E F1(Shell V)2.5 E(ariables)
--.92 E F0(belo)2.5 E -.65(w.)-.25 G(Each command in a pipeline is e)108
-283.2 Q -.15(xe)-.15 G
+2.639 F .302(i\214ed by POSIX.)108 254.4 R .303(When the shell is in)
+5.302 F F2 .303(posix mode)2.803 F F0 2.803(,i)C 2.803(td)-2.803 G .303
+(oes not recognize)-2.803 F F1(time)2.803 E F0 .303(as a reserv)2.803 F
+.303(ed w)-.15 F .303(ord if the ne)-.1 F(xt)-.15 E(tok)108 266.4 Q .736
+(en be)-.1 F .736(gins with a `-'.)-.15 F(The)5.736 E F4(TIMEFORMA)3.236
+E(T)-.855 E F0 -.25(va)2.986 G .736
+(riable may be set to a format string that speci\214es ho).25 F 3.235
+(wt)-.25 G(he)-3.235 E 2.225
+(timing information should be displayed; see the description of)108
+278.4 R F4(TIMEFORMA)4.726 E(T)-.855 E F0(under)4.476 E F1 2.226
+(Shell V)4.726 F(ariables)-.92 E F0(belo)108 290.4 Q -.65(w.)-.25 G .85
+(When the shell is in)108 307.2 R F2 .85(posix mode)3.35 F F0(,)A F1
+(time)3.35 E F0 .85(may be follo)3.35 F .85(wed by a ne)-.25 F 3.35
+(wline. In)-.25 F .85(this case, the shell displays the)3.35 F 1.073
+(total user and system time consumed by the shell and its children.)108
+319.2 R(The)6.074 E F4(TIMEFORMA)3.574 E(T)-.855 E F0 -.25(va)3.324 G
+1.074(riable may be).25 F
+(used to specify the format of the time information.)108 331.2 Q
+(Each command in a pipeline is e)108 348 Q -.15(xe)-.15 G
(cuted as a separate process \(i.e., in a subshell\).).15 E F1(Lists)87
-300 Q F0(A)108 312 Q F2(list)2.601 E F0 .101(is a sequence of one or mo\
-re pipelines separated by one of the operators)2.601 F F1(;)2.6 E F0(,)A
-F1(&)2.6 E F0(,)A F1(&&)2.6 E F0 2.6(,o)C(r)-2.6 E F3<efef>2.6 E F0 2.6
-(,a)C .1(nd option-)-2.6 F(ally terminated by one of)108 324 Q F1(;)2.5
-E F0(,)A F1(&)2.5 E F0 2.5(,o)C(r)-2.5 E F1(<newline>)2.5 E F0(.)A .656
-(Of these list operators,)108 340.8 R F1(&&)3.156 E F0(and)3.156 E F3
-<efef>3.156 E F0(ha)3.156 E .956 -.15(ve e)-.2 H .656
-(qual precedence, follo).15 F .656(wed by)-.25 F F1(;)3.156 E F0(and)
-3.156 E F1(&)3.156 E F0 3.156(,w)C .656(hich ha)-3.156 F .957 -.15(ve e)
--.2 H .657(qual prece-).15 F(dence.)108 352.8 Q 2.5(As)108 369.6 S
-(equence of one or more ne)-2.5 E(wlines may appear in a)-.25 E F2(list)
-2.5 E F0(instead of a semicolon to delimit commands.)2.5 E .029
-(If a command is terminated by the control operator)108 386.4 R F1(&)
+364.8 Q F0(A)108 376.8 Q F2(list)2.85 E F0 .35(is a sequence of one or \
+more pipelines separated by one of the operators)2.85 F F1(;)2.849 E F0
+(,)A F1(&)2.849 E F0(,)A F1(&&)2.849 E F0 2.849(,o)C(r)-2.849 E F1(||)
+2.849 E F0 2.849(,a)C .349(nd option-)-2.849 F
+(ally terminated by one of)108 388.8 Q F1(;)2.5 E F0(,)A F1(&)2.5 E F0
+2.5(,o)C(r)-2.5 E F1(<newline>)2.5 E F0(.)A .96
+(Of these list operators,)108 405.6 R F1(&&)3.46 E F0(and)3.46 E F1(||)
+3.46 E F0(ha)3.46 E 1.26 -.15(ve e)-.2 H .961(qual precedence, follo).15
+F .961(wed by)-.25 F F1(;)3.461 E F0(and)3.461 E F1(&)3.461 E F0 3.461
+(,w)C .961(hich ha)-3.461 F 1.261 -.15(ve e)-.2 H .961(qual prece-).15 F
+(dence.)108 417.6 Q 2.5(As)108 434.4 S(equence of one or more ne)-2.5 E
+(wlines may appear in a)-.25 E F2(list)2.5 E F0
+(instead of a semicolon to delimit commands.)2.5 E .029
+(If a command is terminated by the control operator)108 451.2 R F1(&)
2.529 E F0 2.529(,t)C .029(he shell e)-2.529 F -.15(xe)-.15 G .029
(cutes the command in the).15 F F2(bac)2.528 E(kgr)-.2 E(ound)-.45 E F0
-(in)2.528 E 2.875(as)108 398.4 S 2.875(ubshell. The)-2.875 F .375
+(in)2.528 E 2.875(as)108 463.2 S 2.875(ubshell. The)-2.875 F .375
(shell does not w)2.875 F .375
(ait for the command to \214nish, and the return status is 0.)-.1 F .376
-(Commands sepa-)5.376 F .849(rated by a)108 410.4 R F1(;)3.349 E F0 .849
+(Commands sepa-)5.376 F .849(rated by a)108 475.2 R F1(;)3.349 E F0 .849
(are e)3.349 F -.15(xe)-.15 G .848(cuted sequentially; the shell w).15 F
.848(aits for each command to terminate in turn.)-.1 F .848(The return)
-5.848 F(status is the e)108 422.4 Q(xit status of the last command e)
--.15 E -.15(xe)-.15 G(cuted.).15 E .632(AND and OR lists are sequences \
-of one of more pipelines separated by the)108 439.2 R F1(&&)3.132 E F0
-(and)3.133 E F3<efef>3.133 E F0 .633(control operators,)3.133 F
-(respecti)108 451.2 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G
-(ND and OR lists are e)-5 E -.15(xe)-.15 G(cuted with left associati).15
-E(vity)-.25 E 5(.A)-.65 G 2.5(nA)-5 G(ND list has the form)-2.5 E F2
-(command1)144 468 Q F1(&&)2.5 E F2(command2)2.5 E(command2)108.2 484.8 Q
-F0(is e)2.52 E -.15(xe)-.15 G(cuted if, and only if,).15 E F2(command1)
-2.7 E F0(returns an e)2.5 E(xit status of zero.)-.15 E
-(An OR list has the form)108 501.6 Q F2(command1)144 518.4 Q F3<efef>2.5
-E F2(command2)2.5 E(command2)108.2 540 Q F0 .729(is e)3.249 F -.15(xe)
--.15 G .729(cuted if and only if).15 F F2(command1)3.429 E F0 .729
-(returns a non-zero e)3.229 F .729(xit status.)-.15 F .728
-(The return status of AND)5.729 F(and OR lists is the e)108 552 Q
-(xit status of the last command e)-.15 E -.15(xe)-.15 G
-(cuted in the list.).15 E F1(Compound Commands)87 568.8 Q F0(A)108 580.8
+5.848 F(status is the e)108 487.2 Q(xit status of the last command e)
+-.15 E -.15(xe)-.15 G(cuted.).15 E .937(AND and OR lists are sequences \
+of one of more pipelines separated by the)108 504 R F1(&&)3.437 E F0
+(and)3.437 E F1(||)3.437 E F0 .937(control operators,)3.437 F(respecti)
+108 516 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G(ND and OR lists are e)-5 E
+-.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G
+2.5(nA)-5 G(ND list has the form)-2.5 E F2(command1)144 532.8 Q F1(&&)
+2.5 E F2(command2)2.5 E(command2)108.2 549.6 Q F0(is e)2.52 E -.15(xe)
+-.15 G(cuted if, and only if,).15 E F2(command1)2.7 E F0(returns an e)
+2.5 E(xit status of zero.)-.15 E(An OR list has the form)108 566.4 Q F2
+(command1)144 583.2 Q F1(||)2.5 E F2(command2)2.5 E(command2)108.2 604.8
+Q F0 .729(is e)3.249 F -.15(xe)-.15 G .729(cuted if and only if).15 F F2
+(command1)3.429 E F0 .729(returns a non-zero e)3.229 F .729(xit status.)
+-.15 F .728(The return status of AND)5.729 F(and OR lists is the e)108
+616.8 Q(xit status of the last command e)-.15 E -.15(xe)-.15 G
+(cuted in the list.).15 E F1(Compound Commands)87 633.6 Q F0(A)108 645.6
Q F2(compound command)2.5 E F0(is one of the follo)2.5 E(wing:)-.25 E
-(\()108 597.6 Q F2(list)A F0(\))A F2(list)17.11 E F0 .011(is e)2.511 F
+(\()108 662.4 Q F2(list)A F0(\))A F2(list)17.11 E F0 .011(is e)2.511 F
-.15(xe)-.15 G .011(cuted in a subshell en).15 F .011(vironment \(see)
-.4 F F4 .011(COMMAND EXECUTION ENVIR)2.511 F(ONMENT)-.27 E F0(belo)
-2.262 E(w\).)-.25 E -1.11(Va)144 609.6 S 1.064(riable assignments and b)
+2.262 E(w\).)-.25 E -1.11(Va)144 674.4 S 1.064(riable assignments and b)
1.11 F 1.064(uiltin commands that af)-.2 F 1.064(fect the shell')-.25 F
3.564(se)-.55 G -.4(nv)-3.564 G 1.064(ironment do not remain in).4 F(ef)
-144 621.6 Q(fect after the command completes.)-.25 E
+144 686.4 Q(fect after the command completes.)-.25 E
(The return status is the e)5 E(xit status of)-.15 E F2(list)2.5 E F0(.)
-A({)108 638.4 Q F2(list)2.5 E F0 2.5(;})C F2(list)3.89 E F0 .401
+A({)108 703.2 Q F2(list)2.5 E F0 2.5(;})C F2(list)3.89 E F0 .401
(is simply e)2.901 F -.15(xe)-.15 G .401(cuted in the current shell en)
.15 F(vironment.)-.4 E F2(list)5.401 E F0 .402
(must be terminated with a ne)2.901 F .402(wline or)-.25 F 3.215
-(semicolon. This)144 650.4 R .715(is kno)3.215 F .715(wn as a)-.25 F F2
+(semicolon. This)144 715.2 R .715(is kno)3.215 F .715(wn as a)-.25 F F2
(gr)3.215 E .715(oup command)-.45 F F0 5.715(.T)C .715
(he return status is the e)-5.715 F .714(xit status of)-.15 F F2(list)
-3.214 E F0 5.714(.N)C(ote)-5.714 E .219(that unlik)144 662.4 R 2.719(et)
+3.214 E F0 5.714(.N)C(ote)-5.714 E .219(that unlik)144 727.2 R 2.719(et)
-.1 G .219(he metacharacters)-2.719 F F1(\()2.719 E F0(and)2.719 E F1
(\))2.719 E F0(,)A F1({)2.719 E F0(and)2.719 E F1(})2.719 E F0(are)2.719
E F2 -.37(re)2.72 G .22(served wor).37 F(ds)-.37 E F0 .22
-(and must occur where a reserv)2.72 F(ed)-.15 E -.1(wo)144 674.4 S .257
-(rd is permitted to be recognized.).1 F .257(Since the)5.257 F 2.757(yd)
--.15 G 2.756(on)-2.757 G .256(ot cause a w)-2.756 F .256(ord break, the)
--.1 F 2.756(ym)-.15 G .256(ust be separated)-2.756 F(from)144 686.4 Q F2
-(list)2.5 E F0(by whitespace or another shell metacharacter)2.5 E(.)-.55
-E(\(\()108 703.2 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144
-715.2 Q F2 -.2(ex)2.551 G(pr).2 E(ession)-.37 E F0 .051(is e)2.551 F
--.25(va)-.25 G .051(luated according to the rules described belo).25 F
-2.552(wu)-.25 G(nder)-2.552 E F4 .052(ARITHMETIC EV)2.552 F(ALU)-1.215 E
-(A-)-.54 E(TION)144 727.2 Q/F5 9/Times-Roman@0 SF(.)A F0 .411(If the v)
-4.911 F .411(alue of the e)-.25 F .411(xpression is non-zero, the retur\
-n status is 0; otherwise the return status)-.15 F(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(4)190.955 E 0 Cg EP
+(and must occur where a reserv)2.72 F(ed)-.15 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(4)190.955 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(is 1.)144 84 Q(This is e)5 E(xactly equi)-.15 E -.25(va)-.25 G
-(lent to).25 E/F1 10/Times-Bold@0 SF(let ")2.5 E/F2 10/Times-Italic@0 SF
--.2(ex)C(pr).2 E(ession)-.37 E F1(")A F0(.)A F1([[)108 100.8 Q F2 -.2
-(ex)2.5 G(pr).2 E(ession)-.37 E F1(]])2.5 E F0 1.299
-(Return a status of 0 or 1 depending on the e)144 112.8 R -.25(va)-.25 G
-1.3(luation of the conditional e).25 F(xpression)-.15 E F2 -.2(ex)3.8 G
+-.35 E -.1(wo)144 84 S .257(rd is permitted to be recognized.).1 F .257
+(Since the)5.257 F 2.757(yd)-.15 G 2.756(on)-2.757 G .256(ot cause a w)
+-2.756 F .256(ord break, the)-.1 F 2.756(ym)-.15 G .256
+(ust be separated)-2.756 F(from)144 96 Q/F1 10/Times-Italic@0 SF(list)
+2.5 E F0(by whitespace or another shell metacharacter)2.5 E(.)-.55 E
+(\(\()108 112.8 Q F1 -.2(ex)C(pr).2 E(ession)-.37 E F0(\)\))A(The)144
+124.8 Q F1 -.2(ex)2.551 G(pr).2 E(ession)-.37 E F0 .051(is e)2.551 F
+-.25(va)-.25 G .051(luated according to the rules described belo).25 F
+2.552(wu)-.25 G(nder)-2.552 E/F2 9/Times-Bold@0 SF .052(ARITHMETIC EV)
+2.552 F(ALU)-1.215 E(A-)-.54 E(TION)144 136.8 Q/F3 9/Times-Roman@0 SF(.)
+A F0 .411(If the v)4.911 F .411(alue of the e)-.25 F .411(xpression is \
+non-zero, the return status is 0; otherwise the return status)-.15 F
+(is 1.)144 148.8 Q(This is e)5 E(xactly equi)-.15 E -.25(va)-.25 G
+(lent to).25 E/F4 10/Times-Bold@0 SF(let ")2.5 E F1 -.2(ex)C(pr).2 E
+(ession)-.37 E F4(")A F0(.)A F4([[)108 165.6 Q F1 -.2(ex)2.5 G(pr).2 E
+(ession)-.37 E F4(]])2.5 E F0 1.299
+(Return a status of 0 or 1 depending on the e)144 177.6 R -.25(va)-.25 G
+1.3(luation of the conditional e).25 F(xpression)-.15 E F1 -.2(ex)3.8 G
(pr).2 E(ession)-.37 E F0(.)A 2.274
-(Expressions are composed of the primaries described belo)144 124.8 R
-4.773(wu)-.25 G(nder)-4.773 E/F3 9/Times-Bold@0 SF(CONDITION)4.773 E
-2.273(AL EXPRES-)-.18 F(SIONS)144 136.8 Q/F4 9/Times-Roman@0 SF(.)A F0
--.8(Wo)5.632 G 1.133(rd splitting and pathname e).8 F 1.133
+(Expressions are composed of the primaries described belo)144 189.6 R
+4.773(wu)-.25 G(nder)-4.773 E F2(CONDITION)4.773 E 2.273(AL EXPRES-)-.18
+F(SIONS)144 201.6 Q F3(.)A F0 -.8(Wo)5.632 G 1.133
+(rd splitting and pathname e).8 F 1.133
(xpansion are not performed on the w)-.15 F 1.133(ords between the)-.1 F
-F1([[)3.633 E F0(and)144 148.8 Q F1(]])2.964 E F0 2.964(;t)C .464
+F4([[)3.633 E F0(and)144 213.6 Q F4(]])2.964 E F0 2.964(;t)C .464
(ilde e)-2.964 F .464(xpansion, parameter and v)-.15 F .464(ariable e)
-.25 F .463(xpansion, arithmetic e)-.15 F .463
(xpansion, command substi-)-.15 F 1.081
-(tution, process substitution, and quote remo)144 160.8 R -.25(va)-.15 G
+(tution, process substitution, and quote remo)144 225.6 R -.25(va)-.15 G
3.581(la).25 G 1.081(re performed.)-3.581 F 1.081
-(Conditional operators such as)6.081 F F1<ad66>3.581 E F0
-(must be unquoted to be recognized as primaries.)144 172.8 Q
-(When used with)144 190.8 Q F1([[)2.5 E F0 2.5(,T)C(he)-2.5 E F1(<)2.5 E
-F0(and)2.5 E F1(>)2.5 E F0(operators sort le)2.5 E
+(Conditional operators such as)6.081 F F4<ad66>3.581 E F0
+(must be unquoted to be recognized as primaries.)144 237.6 Q
+(When used with)144 255.6 Q F4([[)2.5 E F0 2.5(,t)C(he)-2.5 E F4(<)2.5 E
+F0(and)2.5 E F4(>)2.5 E F0(operators sort le)2.5 E
(xicographically using the current locale.)-.15 E .503(When the)144
-208.8 R F1(==)3.003 E F0(and)3.002 E F1(!=)3.002 E F0 .502(operators ar\
+273.6 R F4(==)3.003 E F0(and)3.002 E F4(!=)3.002 E F0 .502(operators ar\
e used, the string to the right of the operator is considered a pat-)
3.002 F 1.224(tern and matched according to the rules described belo)144
-220.8 R 3.724(wu)-.25 G(nder)-3.724 E F1 -.1(Pa)3.724 G(tter).1 E 3.725
+285.6 R 3.724(wu)-.25 G(nder)-3.724 E F4 -.1(Pa)3.724 G(tter).1 E 3.725
(nM)-.15 G(atching)-3.725 E F0 6.225(.I)C 3.725(ft)-6.225 G 1.225
-(he shell)-3.725 F(option)144 232.8 Q F1(nocasematch)3.405 E F0 .904
+(he shell)-3.725 F(option)144 297.6 Q F4(nocasematch)3.405 E F0 .904
(is enabled, the match is performed without re)3.405 F -.05(ga)-.15 G
-.904(rd to the case of alphabetic).05 F 2.751(characters. The)144 244.8
+.904(rd to the case of alphabetic).05 F 2.751(characters. The)144 309.6
R .251(return v)2.751 F .251(alue is 0 if the string matches \()-.25 F
-F1(==)A F0 2.751(\)o)C 2.751(rd)-2.751 G .251(oes not match \()-2.751 F
-F1(!=)A F0 2.751(\)t)C .252(he pattern, and)-2.751 F 2.5(1o)144 256.8 S
+F4(==)A F0 2.751(\)o)C 2.751(rd)-2.751 G .251(oes not match \()-2.751 F
+F4(!=)A F0 2.751(\)t)C .252(he pattern, and)-2.751 F 2.5(1o)144 321.6 S
2.5(therwise. An)-2.5 F 2.5(yp)-.15 G(art of the pattern may be quoted \
to force it to be matched as a string.)-2.5 E .243
-(An additional binary operator)144 274.8 R(,)-.4 E F1(=~)2.743 E F0
+(An additional binary operator)144 339.6 R(,)-.4 E F4(=~)2.743 E F0
2.743(,i)C 2.743(sa)-2.743 G -.25(va)-2.943 G .243
-(ilable, with the same precedence as).25 F F1(==)2.743 E F0(and)2.743 E
-F1(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F 1.953
+(ilable, with the same precedence as).25 F F4(==)2.743 E F0(and)2.743 E
+F4(!=)2.743 E F0 5.243(.W)C .243(hen it is)-5.243 F 1.953
(used, the string to the right of the operator is considered an e)144
-286.8 R 1.954(xtended re)-.15 F 1.954(gular e)-.15 F 1.954
-(xpression and)-.15 F .207(matched accordingly \(as in)144 298.8 R F2
+351.6 R 1.954(xtended re)-.15 F 1.954(gular e)-.15 F 1.954
+(xpression and)-.15 F .207(matched accordingly \(as in)144 363.6 R F1
-.37(re)2.707 G -.1(ge)-.03 G(x)-.1 E F0 2.707(\(3\)\). The)B .207
(return v)2.707 F .207
(alue is 0 if the string matches the pattern, and 1)-.25 F 3.345
-(otherwise. If)144 310.8 R .845(the re)3.345 F .845(gular e)-.15 F .846
+(otherwise. If)144 375.6 R .845(the re)3.345 F .845(gular e)-.15 F .846
(xpression is syntactically incorrect, the conditional e)-.15 F
-(xpression')-.15 E 3.346(sr)-.55 G(eturn)-3.346 E -.25(va)144 322.8 S
-.667(lue is 2.).25 F .667(If the shell option)5.667 F F1(nocasematch)
+(xpression')-.15 E 3.346(sr)-.55 G(eturn)-3.346 E -.25(va)144 387.6 S
+.667(lue is 2.).25 F .667(If the shell option)5.667 F F4(nocasematch)
3.167 E F0 .667(is enabled, the match is performed without re)3.167 F
-.05(ga)-.15 G .666(rd to).05 F .378(the case of alphabetic characters.)
-144 334.8 R(An)5.378 E 2.878(yp)-.15 G .378
+144 399.6 R(An)5.378 E 2.878(yp)-.15 G .378
(art of the pattern may be quoted to force it to be matched)-2.878 F
-.265(as a string.)144 346.8 R .265
+.265(as a string.)144 411.6 R .265
(Substrings matched by parenthesized sube)5.265 F .265
(xpressions within the re)-.15 F .265(gular e)-.15 F .265(xpression are)
--.15 F(sa)144 358.8 Q -.15(ve)-.2 G 3.096(di).15 G 3.097(nt)-3.096 G
-.597(he array v)-3.097 F(ariable)-.25 E F3 -.27(BA)3.097 G(SH_REMA).27 E
-(TCH)-.855 E F4(.)A F0 .597(The element of)5.097 F F3 -.27(BA)3.097 G
+-.15 F(sa)144 423.6 Q -.15(ve)-.2 G 3.096(di).15 G 3.097(nt)-3.096 G
+.597(he array v)-3.097 F(ariable)-.25 E F2 -.27(BA)3.097 G(SH_REMA).27 E
+(TCH)-.855 E F3(.)A F0 .597(The element of)5.097 F F2 -.27(BA)3.097 G
(SH_REMA).27 E(TCH)-.855 E F0 .597(with inde)2.847 F 3.097(x0i)-.15 G(s)
--3.097 E .049(the portion of the string matching the entire re)144 370.8
+-3.097 E .049(the portion of the string matching the entire re)144 435.6
R .049(gular e)-.15 F 2.549(xpression. The)-.15 F .049(element of)2.549
-F F3 -.27(BA)2.549 G(SH_REMA).27 E(TCH)-.855 E F0(with inde)144 382.8 Q
-(x)-.15 E F2(n)2.5 E F0(is the portion of the string matching the)2.5 E
-F2(n)2.5 E F0(th parenthesized sube)A(xpression.)-.15 E .785
-(Expressions may be combined using the follo)144 400.8 R .786
+F F2 -.27(BA)2.549 G(SH_REMA).27 E(TCH)-.855 E F0(with inde)144 447.6 Q
+(x)-.15 E F1(n)2.5 E F0(is the portion of the string matching the)2.5 E
+F1(n)2.5 E F0(th parenthesized sube)A(xpression.)-.15 E .785
+(Expressions may be combined using the follo)144 465.6 R .786
(wing operators, listed in decreasing order of prece-)-.25 F(dence:)144
-412.8 Q F1(\()144 430.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F1(\))
-2.5 E F0 .523(Returns the v)180 442.8 R .522(alue of)-.25 F F2 -.2(ex)
+477.6 Q F4(\()144 495.6 Q F1 -.2(ex)2.5 G(pr).2 E(ession)-.37 E F4(\))
+2.5 E F0 .523(Returns the v)180 507.6 R .522(alue of)-.25 F F1 -.2(ex)
3.022 G(pr).2 E(ession)-.37 E F0 5.522(.T)C .522(his may be used to o)
-5.522 F -.15(ve)-.15 G .522(rride the normal precedence of).15 F
-(operators.)180 454.8 Q F1(!)144 466.8 Q F2 -.2(ex)2.5 G(pr).2 E(ession)
--.37 E F0 -.35(Tr)180 478.8 S(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E
-(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F2 -.2(ex)144 490.8 S(pr).2 E
-(ession1)-.37 E F1(&&)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0
--.35(Tr)180 502.8 S(ue if both).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1)
--.37 E F0(and)2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(are true.)
-2.52 E F2 -.2(ex)144 514.8 S(pr).2 E(ession1)-.37 E/F5 10/Symbol SF
-<efef>2.5 E F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 526.8
-S(ue if either).35 E F2 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F0(or)2.5 E
-F2 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 543.6
-Q F1(&&)3.298 E F0(and)3.298 E F5<efef>3.298 E F0 .798
-(operators do not e)3.298 F -.25(va)-.25 G(luate).25 E F2 -.2(ex)3.298 G
-(pr).2 E(ession2)-.37 E F0 .798(if the v)3.298 F .798(alue of)-.25 F F2
--.2(ex)3.298 G(pr).2 E(ession1)-.37 E F0 .799(is suf)3.298 F .799
-(\214cient to)-.25 F(determine the return v)144 555.6 Q
-(alue of the entire conditional e)-.25 E(xpression.)-.15 E F1 -.25(fo)
-108 572.4 S(r).25 E F2(name)2.5 E F0 2.5([[)2.5 G F1(in)A F0([)2.5 E F2
-(wor)2.5 E 2.5(d.)-.37 G(..)-2.5 E F0 2.5(]];])2.5 G F1(do)A F2(list)2.5
-E F0(;)2.5 E F1(done)2.5 E F0 .424(The list of w)144 584.4 R .424
-(ords follo)-.1 F(wing)-.25 E F1(in)2.924 E F0 .423(is e)2.924 F .423
-(xpanded, generating a list of items.)-.15 F .423(The v)5.423 F(ariable)
--.25 E F2(name)2.923 E F0 .423(is set to)2.923 F .653
-(each element of this list in turn, and)144 596.4 R F2(list)3.153 E F0
-.653(is e)3.153 F -.15(xe)-.15 G .653(cuted each time.).15 F .653
-(If the)5.653 F F1(in)3.153 E F2(wor)3.153 E(d)-.37 E F0 .653
-(is omitted, the)3.153 F F1 -.25(fo)3.153 G(r).25 E F0 .649(command e)
-144 608.4 R -.15(xe)-.15 G(cutes).15 E F2(list)3.149 E F0 .648
-(once for each positional parameter that is set \(see)3.148 F F3 -.666
+(operators.)180 519.6 Q F4(!)144 531.6 Q F1 -.2(ex)2.5 G(pr).2 E(ession)
+-.37 E F0 -.35(Tr)180 543.6 S(ue if).35 E F1 -.2(ex)2.5 G(pr).2 E
+(ession)-.37 E F0(is f)2.74 E(alse.)-.1 E F1 -.2(ex)144 555.6 S(pr).2 E
+(ession1)-.37 E F4(&&)2.5 E F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0
+-.35(Tr)180 567.6 S(ue if both).35 E F1 -.2(ex)2.5 G(pr).2 E(ession1)
+-.37 E F0(and)2.5 E F1 -.2(ex)2.5 G(pr).2 E(ession2)-.37 E F0(are true.)
+2.52 E F1 -.2(ex)144 579.6 S(pr).2 E(ession1)-.37 E F4(||)2.5 E F1 -.2
+(ex)2.5 G(pr).2 E(ession2)-.37 E F0 -.35(Tr)180 591.6 S(ue if either).35
+E F1 -.2(ex)2.5 G(pr).2 E(ession1)-.37 E F0(or)2.5 E F1 -.2(ex)2.5 G(pr)
+.2 E(ession2)-.37 E F0(is true.)2.52 E(The)144 608.4 Q F4(&&)3.64 E F0
+(and)3.64 E F4(||)3.64 E F0 1.14(operators do not e)3.64 F -.25(va)-.25
+G(luate).25 E F1 -.2(ex)3.641 G(pr).2 E(ession2)-.37 E F0 1.141
+(if the v)3.641 F 1.141(alue of)-.25 F F1 -.2(ex)3.641 G(pr).2 E
+(ession1)-.37 E F0 1.141(is suf)3.641 F 1.141(\214cient to)-.25 F
+(determine the return v)144 620.4 Q(alue of the entire conditional e)
+-.25 E(xpression.)-.15 E F4 -.25(fo)108 637.2 S(r).25 E F1(name)2.5 E F0
+2.5([[)2.5 G F4(in)A F0([)2.5 E F1(wor)2.5 E 2.5(d.)-.37 G(..)-2.5 E F0
+2.5(]];])2.5 G F4(do)A F1(list)2.5 E F0(;)2.5 E F4(done)2.5 E F0 .424
+(The list of w)144 649.2 R .424(ords follo)-.1 F(wing)-.25 E F4(in)2.924
+E F0 .423(is e)2.924 F .423(xpanded, generating a list of items.)-.15 F
+.423(The v)5.423 F(ariable)-.25 E F1(name)2.923 E F0 .423(is set to)
+2.923 F .653(each element of this list in turn, and)144 661.2 R F1(list)
+3.153 E F0 .653(is e)3.153 F -.15(xe)-.15 G .653(cuted each time.).15 F
+.653(If the)5.653 F F4(in)3.153 E F1(wor)3.153 E(d)-.37 E F0 .653
+(is omitted, the)3.153 F F4 -.25(fo)3.153 G(r).25 E F0 .649(command e)
+144 673.2 R -.15(xe)-.15 G(cutes).15 E F1(list)3.149 E F0 .648
+(once for each positional parameter that is set \(see)3.148 F F2 -.666
(PA)3.148 G(RAMETERS).666 E F0(belo)2.898 E(w\).)-.25 E .153
-(The return status is the e)144 620.4 R .153
+(The return status is the e)144 685.2 R .153
(xit status of the last command that e)-.15 F -.15(xe)-.15 G 2.654
(cutes. If).15 F .154(the e)2.654 F .154(xpansion of the items)-.15 F
-(follo)144 632.4 Q(wing)-.25 E F1(in)2.5 E F0
+(follo)144 697.2 Q(wing)-.25 E F4(in)2.5 E F0
(results in an empty list, no commands are e)2.5 E -.15(xe)-.15 G
-(cuted, and the return status is 0.).15 E F1 -.25(fo)108 649.2 S(r).25 E
-F0(\(\()2.5 E F2 -.2(ex)2.5 G(pr1).2 E F0(;)2.5 E F2 -.2(ex)2.5 G(pr2).2
-E F0(;)2.5 E F2 -.2(ex)2.5 G(pr3).2 E F0(\)\) ;)2.5 E F1(do)2.5 E F2
-(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 1.236(First, the arithmetic e)
-144 661.2 R(xpression)-.15 E F2 -.2(ex)3.736 G(pr1).2 E F0 1.235(is e)
-3.736 F -.25(va)-.25 G 1.235
-(luated according to the rules described belo).25 F 3.735(wu)-.25 G
-(nder)-3.735 E F3 .561(ARITHMETIC EV)144 673.2 R(ALU)-1.215 E -.855(AT)
--.54 G(ION).855 E F4(.)A F0 .561(The arithmetic e)5.061 F(xpression)-.15
-E F2 -.2(ex)3.061 G(pr2).2 E F0 .562(is then e)3.062 F -.25(va)-.25 G
-.562(luated repeatedly until).25 F .592(it e)144 685.2 R -.25(va)-.25 G
-.592(luates to zero.).25 F .592(Each time)5.592 F F2 -.2(ex)3.092 G(pr2)
-.2 E F0 -.25(eva)3.092 G .592(luates to a non-zero v).25 F(alue,)-.25 E
-F2(list)3.092 E F0 .591(is e)3.092 F -.15(xe)-.15 G .591
-(cuted and the arith-).15 F .228(metic e)144 697.2 R(xpression)-.15 E F2
--.2(ex)2.728 G(pr3).2 E F0 .229(is e)2.728 F -.25(va)-.25 G 2.729
-(luated. If).25 F(an)2.729 E 2.729(ye)-.15 G .229
-(xpression is omitted, it beha)-2.879 F -.15(ve)-.2 G 2.729(sa).15 G
-2.729(si)-2.729 G 2.729(fi)-2.729 G 2.729(te)-2.729 G -.25(va)-2.979 G
-.229(luates to 1.).25 F .228(The return v)144 709.2 R .228
-(alue is the e)-.25 F .228(xit status of the last command in)-.15 F F2
-(list)2.728 E F0 .227(that is e)2.728 F -.15(xe)-.15 G .227(cuted, or f)
-.15 F .227(alse if an)-.1 F 2.727(yo)-.15 G 2.727(ft)-2.727 G(he)-2.727
-E -.15(ex)144 721.2 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(5)190.955 E 0 Cg EP
+(cuted, and the return status is 0.).15 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(5)190.955 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(select)108 84 Q/F2 10/Times-Italic@0 SF
-(name)2.5 E F0([)2.5 E F1(in)2.5 E F2(wor)2.5 E(d)-.37 E F0 2.5(];)2.5 G
-F1(do)A F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 .432(The list of w)144
-96 R .432(ords follo)-.1 F(wing)-.25 E F1(in)2.932 E F0 .432(is e)2.932
-F .432(xpanded, generating a list of items.)-.15 F .433(The set of e)
-5.433 F .433(xpanded w)-.15 F(ords)-.1 E .843
-(is printed on the standard error)144 108 R 3.342(,e)-.4 G .842
+-.35 E/F1 10/Times-Bold@0 SF -.25(fo)108 84 S(r).25 E F0(\(\()2.5 E/F2
+10/Times-Italic@0 SF -.2(ex)2.5 G(pr1).2 E F0(;)2.5 E F2 -.2(ex)2.5 G
+(pr2).2 E F0(;)2.5 E F2 -.2(ex)2.5 G(pr3).2 E F0(\)\) ;)2.5 E F1(do)2.5
+E F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 1.236
+(First, the arithmetic e)144 96 R(xpression)-.15 E F2 -.2(ex)3.736 G
+(pr1).2 E F0 1.235(is e)3.736 F -.25(va)-.25 G 1.235
+(luated according to the rules described belo).25 F 3.735(wu)-.25 G
+(nder)-3.735 E/F3 9/Times-Bold@0 SF .561(ARITHMETIC EV)144 108 R(ALU)
+-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)A F0 .561
+(The arithmetic e)5.061 F(xpression)-.15 E F2 -.2(ex)3.061 G(pr2).2 E F0
+.562(is then e)3.062 F -.25(va)-.25 G .562(luated repeatedly until).25 F
+.592(it e)144 120 R -.25(va)-.25 G .592(luates to zero.).25 F .592
+(Each time)5.592 F F2 -.2(ex)3.092 G(pr2).2 E F0 -.25(eva)3.092 G .592
+(luates to a non-zero v).25 F(alue,)-.25 E F2(list)3.092 E F0 .591(is e)
+3.092 F -.15(xe)-.15 G .591(cuted and the arith-).15 F .228(metic e)144
+132 R(xpression)-.15 E F2 -.2(ex)2.728 G(pr3).2 E F0 .229(is e)2.728 F
+-.25(va)-.25 G 2.729(luated. If).25 F(an)2.729 E 2.729(ye)-.15 G .229
+(xpression is omitted, it beha)-2.879 F -.15(ve)-.2 G 2.729(sa).15 G
+2.729(si)-2.729 G 2.729(fi)-2.729 G 2.729(te)-2.729 G -.25(va)-2.979 G
+.229(luates to 1.).25 F .228(The return v)144 144 R .228(alue is the e)
+-.25 F .228(xit status of the last command in)-.15 F F2(list)2.728 E F0
+.227(that is e)2.728 F -.15(xe)-.15 G .227(cuted, or f).15 F .227
+(alse if an)-.1 F 2.727(yo)-.15 G 2.727(ft)-2.727 G(he)-2.727 E -.15(ex)
+144 156 S(pressions is in).15 E -.25(va)-.4 G(lid.).25 E F1(select)108
+172.8 Q F2(name)2.5 E F0([)2.5 E F1(in)2.5 E F2(wor)2.5 E(d)-.37 E F0
+2.5(];)2.5 G F1(do)A F2(list)2.5 E F0(;)2.5 E F1(done)2.5 E F0 .432
+(The list of w)144 184.8 R .432(ords follo)-.1 F(wing)-.25 E F1(in)2.932
+E F0 .432(is e)2.932 F .432(xpanded, generating a list of items.)-.15 F
+.433(The set of e)5.433 F .433(xpanded w)-.15 F(ords)-.1 E .843
+(is printed on the standard error)144 196.8 R 3.342(,e)-.4 G .842
(ach preceded by a number)-3.342 F 5.842(.I)-.55 G 3.342(ft)-5.842 G(he)
-3.342 E F1(in)3.342 E F2(wor)3.342 E(d)-.37 E F0 .842
(is omitted, the posi-)3.342 F .201(tional parameters are printed \(see)
-144 120 R/F3 9/Times-Bold@0 SF -.666(PA)2.701 G(RAMETERS).666 E F0(belo)
-2.451 E 2.701(w\). The)-.25 F F3(PS3)2.701 E F0 .201
-(prompt is then displayed and a)2.451 F .214
-(line read from the standard input.)144 132 R .213
+144 208.8 R F3 -.666(PA)2.701 G(RAMETERS).666 E F0(belo)2.451 E 2.701
+(w\). The)-.25 F F3(PS3)2.701 E F0 .201(prompt is then displayed and a)
+2.451 F .214(line read from the standard input.)144 220.8 R .213
(If the line consists of a number corresponding to one of the dis-)5.214
-F 1.537(played w)144 144 R 1.537(ords, then the v)-.1 F 1.537(alue of)
+F 1.537(played w)144 232.8 R 1.537(ords, then the v)-.1 F 1.537(alue of)
-.25 F F2(name)4.397 E F0 1.537(is set to that w)4.217 F 4.037(ord. If)
-.1 F 1.538(the line is empty)4.038 F 4.038(,t)-.65 G 1.538(he w)-4.038
-F 1.538(ords and)-.1 F .066(prompt are displayed ag)144 156 R 2.566
+F 1.538(ords and)-.1 F .066(prompt are displayed ag)144 244.8 R 2.566
(ain. If)-.05 F .065(EOF is read, the command completes.)2.566 F(An)
5.065 E 2.565(yo)-.15 G .065(ther v)-2.565 F .065(alue read causes)-.25
-F F2(name)144 168 Q F0 .972(to be set to null.)3.652 F .972
+F F2(name)144 256.8 Q F0 .972(to be set to null.)3.652 F .972
(The line read is sa)5.972 F -.15(ve)-.2 G 3.473(di).15 G 3.473(nt)
--3.473 G .973(he v)-3.473 F(ariable)-.25 E F3(REPL)3.473 E(Y)-.828 E/F4
-9/Times-Roman@0 SF(.)A F0(The)5.473 E F2(list)3.563 E F0 .973(is e)4.153
-F -.15(xe)-.15 G .973(cuted after).15 F .072(each selection until a)144
-180 R F1(br)2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe)-.15
-G 2.571(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F1
-(select)2.571 E F0 .071(is the e)2.571 F .071(xit status of the)-.15 F
-(last command e)144 192 Q -.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0
-2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe)-.15
-G(cuted.).15 E F1(case)108 208.8 Q F2(wor)2.5 E(d)-.37 E F1(in)2.5 E F0
-2.5([[)2.5 G(\(])-2.5 E F2(pattern)2.5 E F0([)2.5 E F1(|)2.5 E F2
+-3.473 G .973(he v)-3.473 F(ariable)-.25 E F3(REPL)3.473 E(Y)-.828 E F4
+(.)A F0(The)5.473 E F2(list)3.563 E F0 .973(is e)4.153 F -.15(xe)-.15 G
+.973(cuted after).15 F .072(each selection until a)144 268.8 R F1(br)
+2.571 E(eak)-.18 E F0 .071(command is e)2.571 F -.15(xe)-.15 G 2.571
+(cuted. The).15 F -.15(ex)2.571 G .071(it status of).15 F F1(select)
+2.571 E F0 .071(is the e)2.571 F .071(xit status of the)-.15 F
+(last command e)144 280.8 Q -.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E
+F0 2.5(,o).68 G 2.5(rz)-2.5 G(ero if no commands were e)-2.5 E -.15(xe)
+-.15 G(cuted.).15 E F1(case)108 297.6 Q F2(wor)2.5 E(d)-.37 E F1(in)2.5
+E F0 2.5([[)2.5 G(\(])-2.5 E F2(pattern)2.5 E F0([)2.5 E F1(|)2.5 E F2
(pattern)2.5 E F0 2.5(].)2.5 G(.. \))-2.5 E F2(list)2.5 E F0(;; ] ...)
-2.5 E F1(esac)2.5 E F0(A)144 220.8 Q F1(case)3.264 E F0 .764
+2.5 E F1(esac)2.5 E F0(A)144 309.6 Q F1(case)3.264 E F0 .764
(command \214rst e)3.264 F(xpands)-.15 E F2(wor)3.264 E(d)-.37 E F0
3.264(,a)C .764(nd tries to match it ag)-3.264 F .764(ainst each)-.05 F
F2(pattern)3.264 E F0 .765(in turn, using the)3.264 F .596
-(same matching rules as for pathname e)144 232.8 R .595(xpansion \(see)
+(same matching rules as for pathname e)144 321.6 R .595(xpansion \(see)
-.15 F F1 -.1(Pa)3.095 G .595(thname Expansion).1 F F0(belo)3.095 E
3.095(w\). The)-.25 F F2(wor)3.095 E(d)-.37 E F0(is)3.095 E -.15(ex)144
-244.8 S 1.092(panded using tilde e).15 F 1.092
+333.6 S 1.092(panded using tilde e).15 F 1.092
(xpansion, parameter and v)-.15 F 1.092(ariable e)-.25 F 1.092
(xpansion, arithmetic substitution, com-)-.15 F 1.268
-(mand substitution, process substitution and quote remo)144 256.8 R -.25
+(mand substitution, process substitution and quote remo)144 345.6 R -.25
(va)-.15 G 3.768(l. Each).25 F F2(pattern)3.768 E F0 -.15(ex)3.768 G
-1.268(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 268.8 R
+1.268(amined is e).15 F(xpanded)-.15 E .353(using tilde e)144 357.6 R
.353(xpansion, parameter and v)-.15 F .353(ariable e)-.25 F .353
(xpansion, arithmetic substitution, command substi-)-.15 F 1.517
-(tution, and process substitution.)144 280.8 R 1.517
+(tution, and process substitution.)144 369.6 R 1.517
(If the shell option)6.517 F F1(nocasematch)4.016 E F0 1.516
(is enabled, the match is per)4.016 F(-)-.2 E 1.346(formed without re)
-144 292.8 R -.05(ga)-.15 G 1.346
+144 381.6 R -.05(ga)-.15 G 1.346
(rd to the case of alphabetic characters.).05 F 1.347
-(When a match is found, the corre-)6.347 F(sponding)144 304.8 Q F2(list)
+(When a match is found, the corre-)6.347 F(sponding)144 393.6 Q F2(list)
2.777 E F0 .277(is e)2.777 F -.15(xe)-.15 G 2.777(cuted. If).15 F(the)
2.777 E F1(;;)2.777 E F0 .277
(operator is used, no subsequent matches are attempted after the)2.777 F
-.848(\214rst pattern match.)144 316.8 R(Using)5.848 E F1(;&)3.348 E F0
+.848(\214rst pattern match.)144 405.6 R(Using)5.848 E F1(;&)3.348 E F0
.849(in place of)3.349 F F1(;;)3.349 E F0 .849(causes e)3.349 F -.15(xe)
-.15 G .849(cution to continue with the).15 F F2(list)3.349 E F0
-(associated)3.349 E .078(with the ne)144 328.8 R .078
+(associated)3.349 E .078(with the ne)144 417.6 R .078
(xt set of patterns.)-.15 F(Using)5.078 E F1(;;&)2.578 E F0 .078
(in place of)2.578 F F1(;;)2.578 E F0 .077
(causes the shell to test the ne)2.578 F .077(xt pattern list in)-.15 F
-.227(the statement, if an)144 340.8 R 1.527 -.65(y, a)-.15 H .227(nd e)
+.227(the statement, if an)144 429.6 R 1.527 -.65(y, a)-.15 H .227(nd e)
.65 F -.15(xe)-.15 G .227(cute an).15 F 2.727(ya)-.15 G(ssociated)-2.727
E F2(list)2.727 E F0 .227(on a successful match.)2.727 F .227(The e)
-5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 352.8
+5.227 F .227(xit status is zero)-.15 F(if no pattern matches.)144 441.6
Q(Otherwise, it is the e)5 E(xit status of the last command e)-.15 E
--.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0(.)A F1(if)108 369.6 Q F2
+-.15(xe)-.15 G(cuted in).15 E F2(list)2.5 E F0(.)A F1(if)108 458.4 Q F2
(list)2.5 E F0(;)A F1(then)2.5 E F2(list;)2.5 E F0([)2.5 E F1(elif)2.5 E
F2(list)2.5 E F0(;)A F1(then)2.5 E F2(list)2.5 E F0 2.5(;].)C(.. [)-2.5
-E F1(else)2.5 E F2(list)2.5 E F0 2.5(;])C F1<8c>A F0(The)144 381.6 Q F1
+E F1(else)2.5 E F2(list)2.5 E F0 2.5(;])C F1<8c>A F0(The)144 470.4 Q F1
(if)2.978 E F2(list)3.068 E F0 .478(is e)3.658 F -.15(xe)-.15 G 2.978
(cuted. If).15 F .478(its e)2.978 F .478(xit status is zero, the)-.15 F
F1(then)2.978 E F2(list)2.978 E F0 .478(is e)2.978 F -.15(xe)-.15 G
2.978(cuted. Otherwise,).15 F(each)2.978 E F1(elif)2.977 E F2(list)2.977
-E F0 1.087(is e)144 393.6 R -.15(xe)-.15 G 1.087
+E F0 1.087(is e)144 482.4 R -.15(xe)-.15 G 1.087
(cuted in turn, and if its e).15 F 1.087
(xit status is zero, the corresponding)-.15 F F1(then)3.587 E F2(list)
3.587 E F0 1.088(is e)3.588 F -.15(xe)-.15 G 1.088(cuted and the).15 F
-.104(command completes.)144 405.6 R .103(Otherwise, the)5.104 F F1(else)
+.104(command completes.)144 494.4 R .103(Otherwise, the)5.104 F F1(else)
2.603 E F2(list)2.603 E F0 .103(is e)2.603 F -.15(xe)-.15 G .103
(cuted, if present.).15 F .103(The e)5.103 F .103(xit status is the e)
--.15 F .103(xit sta-)-.15 F(tus of the last command e)144 417.6 Q -.15
+-.15 F .103(xit sta-)-.15 F(tus of the last command e)144 506.4 Q -.15
(xe)-.15 G(cuted, or zero if no condition tested true.).15 E F1(while)
-108 434.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list)2.5 E F0(;)A F1
-(done)2.5 E(until)108 446.4 Q F2(list)2.5 E F0(;)A F1(do)2.5 E F2(list)
-2.5 E F0(;)A F1(done)2.5 E F0(The)144 458.4 Q F1(while)3.103 E F0 .603
-(command continuously e)3.103 F -.15(xe)-.15 G .603(cutes the).15 F F1
-(do)3.103 E F2(list)3.103 E F0 .603(as long as the last command in)3.103
-F F2(list)3.104 E F0(returns)3.104 E .471(an e)144 470.4 R .471
-(xit status of zero.)-.15 F(The)5.471 E F1(until)2.971 E F0 .471
-(command is identical to the)2.971 F F1(while)2.97 E F0 .47(command, e)
-2.97 F .47(xcept that the test)-.15 F .095(is ne)144 482.4 R -.05(ga)
--.15 G .095(ted; the).05 F F1(do)2.595 E F2(list)2.685 E F0 .095(is e)
-3.275 F -.15(xe)-.15 G .095(cuted as long as the last command in).15 F
-F2(list)2.685 E F0 .096(returns a non-zero e)3.276 F .096(xit status.)
--.15 F 1.307(The e)144 494.4 R 1.307(xit status of the)-.15 F F1(while)
-3.807 E F0(and)3.807 E F1(until)3.807 E F0 1.307(commands is the e)3.807
-F 1.306(xit status of the last)-.15 F F1(do)3.806 E F2(list)3.806 E F0
-(command)3.806 E -.15(exe)144 506.4 S(cuted, or zero if none w).15 E
-(as e)-.1 E -.15(xe)-.15 G(cuted.).15 E F1(Copr)87 523.2 Q(ocesses)-.18
-E F0(A)108 535.2 Q F2(copr)3.712 E(ocess)-.45 E F0 1.212
+108 523.2 Q F2(list-1)2.5 E F0(;)A F1(do)2.5 E F2(list-2)2.5 E F0(;)A F1
+(done)2.5 E(until)108 535.2 Q F2(list-1)2.5 E F0(;)A F1(do)2.5 E F2
+(list-2)2.5 E F0(;)A F1(done)2.5 E F0(The)144 547.2 Q F1(while)3.45 E F0
+.95(command continuously e)3.45 F -.15(xe)-.15 G .95(cutes the list).15
+F F2(list-2)3.45 E F0 .95(as long as the last command in the list)3.45 F
+F2(list-1)144 559.2 Q F0 .205(returns an e)2.705 F .205
+(xit status of zero.)-.15 F(The)5.205 E F1(until)2.705 E F0 .205
+(command is identical to the)2.705 F F1(while)2.705 E F0 .205
+(command, e)2.705 F(xcept)-.15 E .599(that the test is ne)144 571.2 R
+-.05(ga)-.15 G(ted;).05 E F2(list-2)3.189 E F0 .599(is e)3.119 F -.15
+(xe)-.15 G .6(cuted as long as the last command in).15 F F2(list-1)3.19
+E F0 .6(returns a non-zero)3.1 F -.15(ex)144 583.2 S .205(it status.).15
+F .205(The e)5.205 F .205(xit status of the)-.15 F F1(while)2.705 E F0
+(and)2.705 E F1(until)2.704 E F0 .204(commands is the e)2.704 F .204
+(xit status of the last command)-.15 F -.15(exe)144 595.2 S(cuted in).15
+E F2(list-2)2.5 E F0 2.5(,o)C 2.5(rz)-2.5 G(ero if none w)-2.5 E(as e)
+-.1 E -.15(xe)-.15 G(cuted.).15 E F1(Copr)87 612 Q(ocesses)-.18 E F0(A)
+108 624 Q F2(copr)3.712 E(ocess)-.45 E F0 1.212
(is a shell command preceded by the)3.712 F F1(copr)3.713 E(oc)-.18 E F0
(reserv)3.713 E 1.213(ed w)-.15 F 3.713(ord. A)-.1 F 1.213
(coprocess is e)3.713 F -.15(xe)-.15 G 1.213(cuted asyn-).15 F .575(chr\
onously in a subshell, as if the command had been terminated with the)
-108 547.2 R F1(&)3.074 E F0 .574(control operator)3.074 F 3.074(,w)-.4 G
-.574(ith a tw)-3.074 F(o-)-.1 E -.1(wa)108 559.2 S 2.5(yp).1 G
+108 636 R F1(&)3.074 E F0 .574(control operator)3.074 F 3.074(,w)-.4 G
+.574(ith a tw)-3.074 F(o-)-.1 E -.1(wa)108 648 S 2.5(yp).1 G
(ipe established between the e)-2.5 E -.15(xe)-.15 G
(cuting shell and the coprocess.).15 E(The format for a coprocess is:)
-108 576 Q F1(copr)144 592.8 Q(oc)-.18 E F0([)2.5 E F2 -.27(NA)C(ME).27 E
-F0(])A F2(command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ections)-.37 E
-F0(])A .922(This creates a coprocess named)108 609.6 R F2 -.27(NA)3.422
-G(ME).27 E F0 5.922(.I)C(f)-5.922 E F2 -.27(NA)3.422 G(ME).27 E F0 .923
-(is not supplied, the def)3.422 F .923(ault name is)-.1 F F2(COPR)3.423
-E(OC)-.4 E F0(.)A F2 -.27(NA)5.923 G(ME).27 E F0 .64
-(must not be supplied if)108 621.6 R F2(command)3.14 E F0 .64(is a)3.14
+108 664.8 Q F1(copr)144 681.6 Q(oc)-.18 E F0([)2.5 E F2 -.27(NA)C(ME).27
+E F0(])A F2(command)2.5 E F0([)2.5 E F2 -.37(re)C(dir).37 E(ections)-.37
+E F0(])A .922(This creates a coprocess named)108 698.4 R F2 -.27(NA)
+3.422 G(ME).27 E F0 5.922(.I)C(f)-5.922 E F2 -.27(NA)3.422 G(ME).27 E F0
+.923(is not supplied, the def)3.422 F .923(ault name is)-.1 F F2(COPR)
+3.423 E(OC)-.4 E F0(.)A F2 -.27(NA)5.923 G(ME).27 E F0 .64
+(must not be supplied if)108 710.4 R F2(command)3.14 E F0 .64(is a)3.14
F F2 .64(simple command)3.14 F F0 .64(\(see abo)3.14 F -.15(ve)-.15 G
.64(\); otherwise, it is interpreted as the \214rst).15 F -.1(wo)108
-633.6 S .163(rd of the simple command.).1 F .163(When the coproc is e)
+722.4 S .163(rd of the simple command.).1 F .163(When the coproc is e)
5.163 F -.15(xe)-.15 G .163(cuted, the shell creates an array v).15 F
-.163(ariable \(see)-.25 F F1(Arrays)2.663 E F0(belo)108 645.6 Q .512
-(w\) named)-.25 F F2 -.27(NA)3.012 G(ME).27 E F0 .512(in the conte)3.012
-F .511(xt of the e)-.15 F -.15(xe)-.15 G .511(cuting shell.).15 F .511
-(The standard output of)5.511 F F2(command)3.211 E F0 .511(is connected)
-3.781 F .81(via a pipe to a \214le descriptor in the e)108 657.6 R -.15
-(xe)-.15 G .811(cuting shell, and that \214le descriptor is assigned to)
-.15 F F2 -.27(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717
-(standard input of)108 669.6 R F2(command)3.417 E F0 .716
-(is connected via a pipe to a \214le descriptor in the e)3.987 F -.15
-(xe)-.15 G .716(cuting shell, and that \214le).15 F .702
-(descriptor is assigned to)108 681.6 R F2 -.27(NA)3.202 G(ME).27 E F0
-3.202([1]. This)B .703(pipe is established before an)3.203 F 3.203(yr)
--.15 G .703(edirections speci\214ed by the com-)-3.203 F 1.184
-(mand \(see)108 693.6 R F3(REDIRECTION)3.684 E F0(belo)3.434 E 3.684
-(w\). The)-.25 F 1.183(\214le descriptors can be utilized as ar)3.684 F
-1.183(guments to shell commands)-.18 F .07
-(and redirections using standard w)108 705.6 R .07(ord e)-.1 F 2.57
-(xpansions. The)-.15 F .07(process id of the shell spa)2.57 F .07
-(wned to e)-.15 F -.15(xe)-.15 G .07(cute the copro-).15 F .632
-(cess is a)108 717.6 R -.25(va)-.2 G .631(ilable as the v).25 F .631
-(alue of the v)-.25 F(ariable)-.25 E F2 -.27(NA)3.131 G(ME).27 E F0
-3.131(_PID. The)B F1(wait)3.131 E F0 -.2(bu)3.131 G .631
-(iltin command may be used to w).2 F(ait)-.1 E
-(for the coprocess to terminate.)108 729.6 Q(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(6)190.955 E 0 Cg EP
+.163(ariable \(see)-.25 F F1(Arrays)2.663 E F0(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(6)190.955 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(The return status of a coprocess is the e)108 84 Q(xit status of)
--.15 E/F1 10/Times-Italic@0 SF(command)2.5 E F0(.)A/F2 10/Times-Bold@0
-SF(Shell Function De\214nitions)87 100.8 Q F0 2.697(As)108 112.8 S .198
+-.35 E(belo)108 84 Q .512(w\) named)-.25 F/F1 10/Times-Italic@0 SF -.27
+(NA)3.012 G(ME).27 E F0 .512(in the conte)3.012 F .511(xt of the e)-.15
+F -.15(xe)-.15 G .511(cuting shell.).15 F .511(The standard output of)
+5.511 F F1(command)3.211 E F0 .511(is connected)3.781 F .81
+(via a pipe to a \214le descriptor in the e)108 96 R -.15(xe)-.15 G .811
+(cuting shell, and that \214le descriptor is assigned to).15 F F1 -.27
+(NA)3.311 G(ME).27 E F0 3.311([0]. The)B .717(standard input of)108 108
+R F1(command)3.417 E F0 .716
+(is connected via a pipe to a \214le descriptor in the e)3.987 F -.15
+(xe)-.15 G .716(cuting shell, and that \214le).15 F .702
+(descriptor is assigned to)108 120 R F1 -.27(NA)3.202 G(ME).27 E F0
+3.202([1]. This)B .703(pipe is established before an)3.203 F 3.203(yr)
+-.15 G .703(edirections speci\214ed by the com-)-3.203 F 1.184
+(mand \(see)108 132 R/F2 9/Times-Bold@0 SF(REDIRECTION)3.684 E F0(belo)
+3.434 E 3.684(w\). The)-.25 F 1.183
+(\214le descriptors can be utilized as ar)3.684 F 1.183
+(guments to shell commands)-.18 F 1.796
+(and redirections using standard w)108 144 R 1.796(ord e)-.1 F 4.297
+(xpansions. The)-.15 F 1.797(process ID of the shell spa)4.297 F 1.797
+(wned to e)-.15 F -.15(xe)-.15 G 1.797(cute the).15 F .483
+(coprocess is a)108 156 R -.25(va)-.2 G .483(ilable as the v).25 F .483
+(alue of the v)-.25 F(ariable)-.25 E F1 -.27(NA)2.983 G(ME).27 E F0
+2.983(_PID. The)B/F3 10/Times-Bold@0 SF(wait)2.983 E F0 -.2(bu)2.983 G
+.483(iltin command may be used to).2 F -.1(wa)108 168 S
+(it for the coprocess to terminate.).1 E
+(The return status of a coprocess is the e)108 184.8 Q(xit status of)
+-.15 E F1(command)2.5 E F0(.)A F3(Shell Function De\214nitions)87 201.6
+Q F0 2.697(As)108 213.6 S .198
(hell function is an object that is called lik)-2.697 F 2.698(eas)-.1 G
.198(imple command and e)-2.698 F -.15(xe)-.15 G .198
-(cutes a compound command with).15 F 2.5(an)108 124.8 S .5 -.25(ew s)
+(cutes a compound command with).15 F 2.5(an)108 225.6 S .5 -.25(ew s)
-2.5 H(et of positional parameters.).25 E
-(Shell functions are declared as follo)5 E(ws:)-.25 E([)108 141.6 Q F2
-(function)2.5 E F0(])2.5 E F1(name)2.5 E F0(\(\))2.5 E F1
-(compound\255command)2.5 E F0([)2.5 E F1 -.37(re)C(dir).37 E(ection)-.37
-E F0(])A 1.403(This de\214nes a function named)144 153.6 R F1(name)3.902
-E F0 6.402(.T)C 1.402(he reserv)-6.402 F 1.402(ed w)-.15 F(ord)-.1 E F2
-(function)3.902 E F0 1.402(is optional.)3.902 F 1.402(If the)6.402 F F2
-(function)3.902 E F0(reserv)144 165.6 Q .162(ed w)-.15 F .162
-(ord is supplied, the parentheses are optional.)-.1 F(The)5.162 E F1
-(body)2.662 E F0 .162(of the function is the compound)2.662 F(command)
-144 177.6 Q F1(compound\255command)2.784 E F0(\(see)3.354 E F2 .084
-(Compound Commands)2.584 F F0(abo)2.584 E -.15(ve)-.15 G 2.584(\). That)
-.15 F .084(command is usually a)2.584 F F1(list)144 189.6 Q F0 .044
-(of commands between { and }, b)2.544 F .044(ut may be an)-.2 F 2.544
-(yc)-.15 G .044(ommand listed under)-2.544 F F2 .044(Compound Commands)
-2.544 F F0(abo)144 201.6 Q -.15(ve)-.15 G(.).15 E F1
+(Shell functions are declared as follo)5 E(ws:)-.25 E F1(name)108 242.4
+Q F0(\(\))2.5 E F1(compound\255command)2.5 E F0([)2.5 E F1 -.37(re)C
+(dir).37 E(ection)-.37 E F0(])A F3(function)108 254.4 Q F1(name)2.5 E F0
+([\(\)])2.5 E F1(compound\255command)2.5 E F0([)2.5 E F1 -.37(re)C(dir)
+.37 E(ection)-.37 E F0(])A 1.403(This de\214nes a function named)144
+266.4 R F1(name)3.902 E F0 6.402(.T)C 1.402(he reserv)-6.402 F 1.402
+(ed w)-.15 F(ord)-.1 E F3(function)3.902 E F0 1.402(is optional.)3.902 F
+1.402(If the)6.402 F F3(function)3.902 E F0(reserv)144 278.4 Q .162
+(ed w)-.15 F .162(ord is supplied, the parentheses are optional.)-.1 F
+(The)5.162 E F1(body)2.662 E F0 .162(of the function is the compound)
+2.662 F(command)144 290.4 Q F1(compound\255command)2.784 E F0(\(see)
+3.354 E F3 .084(Compound Commands)2.584 F F0(abo)2.584 E -.15(ve)-.15 G
+2.584(\). That).15 F .084(command is usually a)2.584 F F1(list)144 302.4
+Q F0 .044(of commands between { and }, b)2.544 F .044(ut may be an)-.2 F
+2.544(yc)-.15 G .044(ommand listed under)-2.544 F F3 .044
+(Compound Commands)2.544 F F0(abo)144 314.4 Q -.15(ve)-.15 G(.).15 E F1
(compound\255command)6.671 E F0 1.671(is e)4.171 F -.15(xe)-.15 G 1.671
(cuted whene).15 F -.15(ve)-.25 G(r).15 E F1(name)4.171 E F0 1.671
(is speci\214ed as the name of a simple)4.171 F 3.008(command. An)144
-213.6 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F/F3 9
-/Times-Bold@0 SF(REDIRECTION)3.009 E F0(belo)2.759 E .509
+326.4 R 3.009(yr)-.15 G .509(edirections \(see)-3.009 F F2(REDIRECTION)
+3.009 E F0(belo)2.759 E .509
(w\) speci\214ed when a function is de\214ned are)-.25 F .581
-(performed when the function is e)144 225.6 R -.15(xe)-.15 G 3.081
+(performed when the function is e)144 338.4 R -.15(xe)-.15 G 3.081
(cuted. The).15 F -.15(ex)3.081 G .58
(it status of a function de\214nition is zero unless a).15 F .177(synta\
x error occurs or a readonly function with the same name already e)144
-237.6 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F
--.15(ex)144 249.6 S .64(it status of a function is the e).15 F .64
+350.4 R 2.678(xists. When)-.15 F -.15(exe)2.678 G .178(cuted, the).15 F
+-.15(ex)144 362.4 S .64(it status of a function is the e).15 F .64
(xit status of the last command e)-.15 F -.15(xe)-.15 G .64
-(cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F3(FUNC-)3.14 E
-(TIONS)144 261.6 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95
-/Times-Bold@0 SF(COMMENTS)72 278.4 Q F0 .982(In a non-interacti)108
-290.4 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282
--.15(ve s)-.25 H .982(hell in which the).15 F F2(interacti)3.482 E -.1
-(ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F2(shopt)3.482 E
-F0 -.2(bu)108 302.4 S .952(iltin is enabled \(see).2 F F3 .952(SHELL B)
+(cuted in the body).15 F 5.64(.\()-.65 G(See)-5.64 E F2(FUNC-)3.14 E
+(TIONS)144 374.4 Q F0(belo)2.25 E -.65(w.)-.25 G(\)).65 E/F4 10.95
+/Times-Bold@0 SF(COMMENTS)72 391.2 Q F0 .982(In a non-interacti)108
+403.2 R 1.282 -.15(ve s)-.25 H .982(hell, or an interacti).15 F 1.282
+-.15(ve s)-.25 H .982(hell in which the).15 F F3(interacti)3.482 E -.1
+(ve)-.1 G(_comments).1 E F0 .982(option to the)3.482 F F3(shopt)3.482 E
+F0 -.2(bu)108 415.2 S .952(iltin is enabled \(see).2 F F2 .952(SHELL B)
3.452 F(UIL)-.09 E .952(TIN COMMANDS)-.828 F F0(belo)3.202 E .952
-(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F2(#)3.451 E
+(w\), a w)-.25 F .952(ord be)-.1 F .952(ginning with)-.15 F F3(#)3.451 E
F0 .951(causes that w)3.451 F(ord)-.1 E .604
-(and all remaining characters on that line to be ignored.)108 314.4 R
+(and all remaining characters on that line to be ignored.)108 427.2 R
.605(An interacti)5.605 F .905 -.15(ve s)-.25 H .605(hell without the)
-.15 F F2(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 326.4 Q F0
+.15 F F3(interacti)3.105 E -.1(ve)-.1 G(_com-).1 E(ments)108 439.2 Q F0
1.337(option enabled does not allo)3.837 F 3.837(wc)-.25 G 3.836
-(omments. The)-3.837 F F2(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E
+(omments. The)-3.837 F F3(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E
F0 1.336(option is on by def)3.836 F 1.336(ault in)-.1 F(interacti)108
-338.4 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 355.2 S -.438(OT)
-.11 G(ING).438 E F1(Quoting)108 367.2 Q F0 .477(is used to remo)2.977 F
+451.2 Q .3 -.15(ve s)-.25 H(hells.).15 E F4 -.11(QU)72 468 S -.438(OT)
+.11 G(ING).438 E F1(Quoting)108 480 Q F0 .477(is used to remo)2.977 F
.777 -.15(ve t)-.15 H .477
(he special meaning of certain characters or w).15 F .477
(ords to the shell.)-.1 F .478(Quoting can be)5.478 F .185
(used to disable special treatment for special characters, to pre)108
-379.2 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184
-(ords from being recognized as)-.1 F(such, and to pre)108 391.2 Q -.15
-(ve)-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108
-408 R F1(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288
-(listed abo)2.788 F .588 -.15(ve u)-.15 H(nder).15 E F3(DEFINITIONS)
-2.788 E F0 .288(has special meaning to the shell and must be)2.538 F
-(quoted if it is to represent itself.)108 420 Q 1.345
-(When the command history e)108 436.8 R 1.344(xpansion f)-.15 F 1.344
-(acilities are being used \(see)-.1 F F3(HIST)3.844 E(OR)-.162 E 3.594
+492 R -.15(ve)-.25 G .185(nt reserv).15 F .184(ed w)-.15 F .184
+(ords from being recognized as)-.1 F(such, and to pre)108 504 Q -.15(ve)
+-.25 G(nt parameter e).15 E(xpansion.)-.15 E .288(Each of the)108 520.8
+R F1(metac)2.788 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 .288(listed abo)
+2.788 F .588 -.15(ve u)-.15 H(nder).15 E F2(DEFINITIONS)2.788 E F0 .288
+(has special meaning to the shell and must be)2.538 F
+(quoted if it is to represent itself.)108 532.8 Q 1.345
+(When the command history e)108 549.6 R 1.344(xpansion f)-.15 F 1.344
+(acilities are being used \(see)-.1 F F2(HIST)3.844 E(OR)-.162 E 3.594
(YE)-.315 G(XP)-3.594 E(ANSION)-.666 E F0(belo)3.594 E 1.344(w\), the)
--.25 F F1(history e)108 448.8 Q(xpansion)-.2 E F0(character)2.5 E 2.5
-(,u)-.4 G(sually)-2.5 E F2(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5
+-.25 F F1(history e)108 561.6 Q(xpansion)-.2 E F0(character)2.5 E 2.5
+(,u)-.4 G(sually)-2.5 E F3(!)2.5 E F0 2.5(,m)C(ust be quoted to pre)-2.5
E -.15(ve)-.25 G(nt history e).15 E(xpansion.)-.15 E
-(There are three quoting mechanisms: the)108 465.6 Q F1(escape c)2.5 E
+(There are three quoting mechanisms: the)108 578.4 Q F1(escape c)2.5 E
(har)-.15 E(acter)-.15 E F0 2.5(,s).73 G
-(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 482.4 S .474
-(on-quoted backslash \()-2.974 F F2(\\)A F0 2.974(\)i)C 2.974(st)-2.974
+(ingle quotes, and double quotes.)-2.5 E 2.974(An)108 595.2 S .474
+(on-quoted backslash \()-2.974 F F3(\\)A F0 2.974(\)i)C 2.974(st)-2.974
G(he)-2.974 E F1 .474(escape c)2.974 F(har)-.15 E(acter)-.15 E F0 5.474
(.I).73 G 2.974(tp)-5.474 G(reserv)-2.974 E .474(es the literal v)-.15 F
-.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 494.4
+.474(alue of the ne)-.25 F .475(xt character that)-.15 F(follo)108 607.2
Q 1.554(ws, with the e)-.25 F 1.553(xception of <ne)-.15 F 4.053
-(wline>. If)-.25 F(a)4.053 E F2(\\)4.053 E F0(<ne)A 1.553
+(wline>. If)-.25 F(a)4.053 E F3(\\)4.053 E F0(<ne)A 1.553
(wline> pair appears, and the backslash is not itself)-.25 F 1.122
-(quoted, the)108 506.4 R F2(\\)3.622 E F0(<ne)A 1.122
+(quoted, the)108 619.2 R F3(\\)3.622 E F0(<ne)A 1.122
(wline> is treated as a line continuation \(that is, it is remo)-.25 F
-.15(ve)-.15 G 3.622(df).15 G 1.123(rom the input stream and)-3.622 F
-(ef)108 518.4 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295
-(Enclosing characters in single quotes preserv)108 535.2 R .295
+(ef)108 631.2 Q(fecti)-.25 E -.15(ve)-.25 G(ly ignored\).).15 E .295
+(Enclosing characters in single quotes preserv)108 648 R .295
(es the literal v)-.15 F .295(alue of each character within the quotes.)
-.25 F 2.795(As)5.295 G(in-)-2.795 E
-(gle quote may not occur between single quotes, e)108 547.2 Q -.15(ve)
--.25 G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033
-(Enclosing characters in double quotes preserv)108 564 R .034
+(gle quote may not occur between single quotes, e)108 660 Q -.15(ve)-.25
+G 2.5(nw).15 G(hen preceded by a backslash.)-2.5 E .033
+(Enclosing characters in double quotes preserv)108 676.8 R .034
(es the literal v)-.15 F .034
(alue of all characters within the quotes, with the)-.25 F -.15(ex)108
-576 S .828(ception of).15 F F2($)3.328 E F0(,)A F2<92>3.328 E F0(,)A F2
-(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828
-(xpansion is enabled,)-.15 F F2(!)3.328 E F0 5.828(.T)C .828
-(he characters)-5.828 F F2($)3.328 E F0(and)3.328 E F2<92>3.328 E F0
+688.8 S .828(ception of).15 F F3($)3.328 E F0(,)A F3<92>3.328 E F0(,)A
+F3(\\)3.328 E F0 3.328(,a)C .828(nd, when history e)-3.328 F .828
+(xpansion is enabled,)-.15 F F3(!)3.328 E F0 5.828(.T)C .828
+(he characters)-5.828 F F3($)3.328 E F0(and)3.328 E F3<92>3.328 E F0
.827(retain their special)3.328 F .074(meaning within double quotes.)108
-588 R .074(The backslash retains its special meaning only when follo)
-5.074 F .075(wed by one of the)-.25 F(follo)108 600 Q .205
-(wing characters:)-.25 F F2($)2.705 E F0(,)A F2<92>2.705 E F0(,)A F2(")
-3.538 E F0(,).833 E F2(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F2(<newline>)
+700.8 R .074(The backslash retains its special meaning only when follo)
+5.074 F .075(wed by one of the)-.25 F(follo)108 712.8 Q .205
+(wing characters:)-.25 F F3($)2.705 E F0(,)A F3<92>2.705 E F0(,)A F3(")
+3.538 E F0(,).833 E F3(\\)2.705 E F0 2.705(,o)C(r)-2.705 E F3(<newline>)
2.705 E F0 5.205(.A)C .204
(double quote may be quoted within double quotes by pre-)-2.5 F .081
-(ceding it with a backslash.)108 612 R .082(If enabled, history e)5.082
-F .082(xpansion will be performed unless an)-.15 F F2(!)2.582 E F0 .082
-(appearing in double)5.082 F(quotes is escaped using a backslash.)108
-624 Q(The backslash preceding the)5 E F2(!)2.5 E F0(is not remo)5 E -.15
-(ve)-.15 G(d.).15 E(The special parameters)108 640.8 Q F2(*)2.5 E F0
-(and)2.5 E F2(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2 H
-(pecial meaning when in double quotes \(see).15 E F3 -.666(PA)2.5 G
-(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108 657.6 S .212
-(rds of the form).8 F F2($)2.712 E F0<08>A F1(string)A F0 2.712<0861>C
-.211(re treated specially)-2.712 F 5.211(.T)-.65 G .211(he w)-5.211 F
-.211(ord e)-.1 F .211(xpands to)-.15 F F1(string)2.711 E F0 2.711(,w)C
-.211(ith backslash-escaped char)-2.711 F(-)-.2 E .604
-(acters replaced as speci\214ed by the ANSI C standard.)108 669.6 R .605
-(Backslash escape sequences, if present, are decoded)5.605 F(as follo)
-108 681.6 Q(ws:)-.25 E F2(\\a)144 693.6 Q F0(alert \(bell\))28.22 E F2
-(\\b)144 705.6 Q F0(backspace)27.66 E F2(\\e)144 717.6 Q F0
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(7)190.955 E 0 Cg EP
+(ceding it with a backslash.)108 724.8 R .082(If enabled, history e)
+5.082 F .082(xpansion will be performed unless an)-.15 F F3(!)2.582 E F0
+.082(appearing in double)5.082 F(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(7)190.955 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(\\E)144 84 Q F0(an escape character)26.55 E
-F1(\\f)144 96 Q F0(form feed)29.89 E F1(\\n)144 108 Q F0(ne)27.66 E 2.5
-(wl)-.25 G(ine)-2.5 E F1(\\r)144 120 Q F0(carriage return)28.78 E F1
-(\\t)144 132 Q F0(horizontal tab)29.89 E F1(\\v)144 144 Q F0 -.15(ve)
-28.22 G(rtical tab).15 E F1(\\\\)144 156 Q F0(backslash)30.44 E F1<5c08>
-144 168 Q F0(single quote)30.44 E F1(\\")144 180 Q F0(double quote)27.67
-E F1(\\)144 192 Q/F2 10/Times-Italic@0 SF(nnn)A F0
-(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
-(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144
-204 Q F2(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)
--.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E
-2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\c)144 216 Q F2(x)A
-F0 2.5(ac)24.34 G(ontrol-)-2.5 E F2(x)A F0(character)2.5 E(The e)108
-232.8 Q(xpanded result is single-quoted, as if the dollar sign had not \
-been present.)-.15 E 2.64(Ad)108 249.6 S .14
-(ouble-quoted string preceded by a dollar sign \()-2.64 F F1($)A F0(")A
-F2(string)A F0 .14("\) will cause the string to be translated according)
-B .495(to the current locale.)108 261.6 R .495(If the current locale is)
-5.495 F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495
+-.35 E(quotes is escaped using a backslash.)108 84 Q
+(The backslash preceding the)5 E/F1 10/Times-Bold@0 SF(!)2.5 E F0
+(is not remo)5 E -.15(ve)-.15 G(d.).15 E(The special parameters)108
+100.8 Q F1(*)2.5 E F0(and)2.5 E F1(@)2.5 E F0(ha)2.5 E .3 -.15(ve s)-.2
+H(pecial meaning when in double quotes \(see).15 E/F2 9/Times-Bold@0 SF
+-.666(PA)2.5 G(RAMETERS).666 E F0(belo)2.25 E(w\).)-.25 E -.8(Wo)108
+117.6 S .212(rds of the form).8 F F1($)2.712 E F0<08>A/F3 10
+/Times-Italic@0 SF(string)A F0 2.712<0861>C .211(re treated specially)
+-2.712 F 5.211(.T)-.65 G .211(he w)-5.211 F .211(ord e)-.1 F .211
+(xpands to)-.15 F F3(string)2.711 E F0 2.711(,w)C .211
+(ith backslash-escaped char)-2.711 F(-)-.2 E .604
+(acters replaced as speci\214ed by the ANSI C standard.)108 129.6 R .605
+(Backslash escape sequences, if present, are decoded)5.605 F(as follo)
+108 141.6 Q(ws:)-.25 E F1(\\a)144 153.6 Q F0(alert \(bell\))28.22 E F1
+(\\b)144 165.6 Q F0(backspace)27.66 E F1(\\e)144 177.6 Q(\\E)144 189.6 Q
+F0(an escape character)26.55 E F1(\\f)144 201.6 Q F0(form feed)29.89 E
+F1(\\n)144 213.6 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144
+225.6 Q F0(carriage return)28.78 E F1(\\t)144 237.6 Q F0(horizontal tab)
+29.89 E F1(\\v)144 249.6 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)
+144 261.6 Q F0(backslash)30.44 E F1<5c08>144 273.6 Q F0(single quote)
+30.44 E F1(\\")144 285.6 Q F0(double quote)27.67 E F1(\\)144 297.6 Q F3
+(nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v)
+-.25 E(alue)-.25 E F3(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)
+144 309.6 Q F3(HH)A F0(the eight-bit character whose v)13.78 E
+(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F3(HH)2.5 E F0
+(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
+(\\u)144 321.6 Q F3(HHHH)A F0 1.507
+(the Unicode \(ISO/IEC 10646\) character whose v)180 333.6 R 1.506
+(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F3(HHHH)
+4.006 E F0(\(one to four he)180 345.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 357.6 Q F3(HHHHHHHH)A F0 .547
+(the Unicode \(ISO/IEC 10646\) character whose v)180 369.6 R .547
+(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F3(HHHHH-)
+3.048 E(HHH)180 381.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E F1(\\c)144 393.6 Q F3(x)A F0 2.5(ac)24.34 G(ontrol-)-2.5
+E F3(x)A F0(character)2.5 E(The e)108 410.4 Q(xpanded result is single-\
+quoted, as if the dollar sign had not been present.)-.15 E 2.64(Ad)108
+427.2 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F F1
+($)A F0(")A F3(string)A F0 .14
+("\) will cause the string to be translated according)B .495
+(to the current locale.)108 439.2 R .495(If the current locale is)5.495
+F F1(C)2.995 E F0(or)2.995 E F1(POSIX)2.995 E F0 2.995(,t)C .495
(he dollar sign is ignored.)-2.995 F .496(If the string is trans-)5.496
-F(lated and replaced, the replacement is double-quoted.)108 273.6 Q/F3
-10.95/Times-Bold@0 SF -.81(PA)72 290.4 S(RAMETERS).81 E F0(A)108 302.4 Q
-F2(par)4.593 E(ameter)-.15 E F0 .843(is an entity that stores v)4.073 F
-3.343(alues. It)-.25 F .843(can be a)3.343 F F2(name)3.342 E F0 3.342
+F(lated and replaced, the replacement is double-quoted.)108 451.2 Q/F4
+10.95/Times-Bold@0 SF -.81(PA)72 468 S(RAMETERS).81 E F0(A)108 480 Q F3
+(par)4.593 E(ameter)-.15 E F0 .843(is an entity that stores v)4.073 F
+3.343(alues. It)-.25 F .843(can be a)3.343 F F3(name)3.342 E F0 3.342
(,an).18 G(umber)-3.342 E 3.342(,o)-.4 G 3.342(ro)-3.342 G .842
-(ne of the special characters)-3.342 F .822(listed belo)108 314.4 R
-3.323(wu)-.25 G(nder)-3.323 E F1 .823(Special P)3.323 F(arameters)-.1 E
-F0 5.823(.A)C F2(variable)-2.21 E F0 .823(is a parameter denoted by a)
-3.503 F F2(name)3.323 E F0 5.823(.A).18 G -.25(va)-2.5 G .823
-(riable has a).25 F F2(value)108 326.4 Q F0 .369(and zero or more)2.869
-F F2(attrib)2.869 E(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369
+(ne of the special characters)-3.342 F .822(listed belo)108 492 R 3.323
+(wu)-.25 G(nder)-3.323 E F1 .823(Special P)3.323 F(arameters)-.1 E F0
+5.823(.A)C F3(variable)-2.21 E F0 .823(is a parameter denoted by a)3.503
+F F3(name)3.323 E F0 5.823(.A).18 G -.25(va)-2.5 G .823(riable has a).25
+F F3(value)108 504 Q F0 .369(and zero or more)2.869 F F3(attrib)2.869 E
+(utes)-.2 E F0 5.369(.A)C(ttrib)-5.369 E .369
(utes are assigned using the)-.2 F F1(declar)2.868 E(e)-.18 E F0 -.2(bu)
2.868 G .368(iltin command \(see).2 F F1(declar)2.868 E(e)-.18 E F0
-(belo)108 338.4 Q 2.5(wi)-.25 G(n)-2.5 E/F4 9/Times-Bold@0 SF(SHELL B)
-2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0
-2.754(Ap)108 355.2 S .254(arameter is set if it has been assigned a v)
--2.754 F 2.754(alue. The)-.25 F .254(null string is a v)2.754 F .255
-(alid v)-.25 F 2.755(alue. Once)-.25 F 2.755(av)2.755 G .255
-(ariable is set, it)-3.005 F(may be unset only by using the)108 367.2 Q
-F1(unset)2.5 E F0 -.2(bu)2.5 G(iltin command \(see).2 E F4(SHELL B)2.5 E
-(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 384 Q
-F2(variable)2.79 E F0(may be assigned to by a statement of the form)2.68
-E F2(name)144 400.8 Q F0(=[)A F2(value)A F0(])A(If)108 417.6 Q F2(value)
-3.023 E F0 .233(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F
-.232(ariable is assigned the null string.)-.25 F(All)5.232 E F2(values)
-3.022 E F0(under)3.002 E .232(go tilde e)-.18 F .232
-(xpansion, parameter)-.15 F .515(and v)108 429.6 R .515(ariable e)-.25 F
-.515(xpansion, command substitution, arithmetic e)-.15 F .515
+(belo)108 516 Q 2.5(wi)-.25 G(n)-2.5 E F2(SHELL B)2.5 E(UIL)-.09 E
+(TIN COMMANDS)-.828 E/F5 9/Times-Roman@0 SF(\).)A F0 2.754(Ap)108 532.8
+S .254(arameter is set if it has been assigned a v)-2.754 F 2.754
+(alue. The)-.25 F .254(null string is a v)2.754 F .255(alid v)-.25 F
+2.755(alue. Once)-.25 F 2.755(av)2.755 G .255(ariable is set, it)-3.005
+F(may be unset only by using the)108 544.8 Q F1(unset)2.5 E F0 -.2(bu)
+2.5 G(iltin command \(see).2 E F2(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)
+-.828 E F0(belo)2.25 E(w\).)-.25 E(A)108 561.6 Q F3(variable)2.79 E F0
+(may be assigned to by a statement of the form)2.68 E F3(name)144 578.4
+Q F0(=[)A F3(value)A F0(])A(If)108 595.2 Q F3(value)3.023 E F0 .233
+(is not gi)2.913 F -.15(ve)-.25 G .233(n, the v).15 F .232
+(ariable is assigned the null string.)-.25 F(All)5.232 E F3(values)3.022
+E F0(under)3.002 E .232(go tilde e)-.18 F .232(xpansion, parameter)-.15
+F .515(and v)108 607.2 R .515(ariable e)-.25 F .515
+(xpansion, command substitution, arithmetic e)-.15 F .515
(xpansion, and quote remo)-.15 F -.25(va)-.15 G 3.015(l\().25 G(see)
--3.015 E F4(EXP)3.015 E(ANSION)-.666 E F0(belo)108 441.6 Q 2.699
+-3.015 E F2(EXP)3.015 E(ANSION)-.666 E F0(belo)108 619.2 Q 2.699
(w\). If)-.25 F .199(the v)2.699 F .199(ariable has its)-.25 F F1
-(integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F2(value)
+(integer)2.698 E F0(attrib)2.698 E .198(ute set, then)-.2 F F3(value)
2.988 E F0 .198(is e)2.878 F -.25(va)-.25 G .198
(luated as an arithmetic e).25 F .198(xpression e)-.15 F -.15(ve)-.25 G
-(n).15 E .901(if the $\(\(...\)\) e)108 453.6 R .901
+(n).15 E .901(if the $\(\(...\)\) e)108 631.2 R .901
(xpansion is not used \(see)-.15 F F1 .901(Arithmetic Expansion)3.401 F
F0(belo)3.401 E 3.402(w\). W)-.25 F .902
-(ord splitting is not performed,)-.8 F 1.179(with the e)108 465.6 R
+(ord splitting is not performed,)-.8 F 1.179(with the e)108 643.2 R
1.179(xception of)-.15 F F1("$@")3.679 E F0 1.179(as e)3.679 F 1.179
(xplained belo)-.15 F 3.679(wu)-.25 G(nder)-3.679 E F1 1.178(Special P)
3.678 F(arameters)-.1 E F0 6.178(.P)C 1.178(athname e)-6.328 F 1.178
-(xpansion is not)-.15 F 3.648(performed. Assignment)108 477.6 R 1.148
+(xpansion is not)-.15 F 3.648(performed. Assignment)108 655.2 R 1.148
(statements may also appear as ar)3.648 F 1.149(guments to the)-.18 F F1
(alias)3.649 E F0(,)A F1(declar)3.649 E(e)-.18 E F0(,)A F1(typeset)3.649
-E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 489.6 S(adonly).18 E F0
+E F0(,)A F1(export)3.649 E F0(,)A F1 -.18(re)108 667.2 S(adonly).18 E F0
2.5(,a)C(nd)-2.5 E F1(local)2.5 E F0 -.2(bu)2.5 G(iltin commands.).2 E
-.377(In the conte)108 506.4 R .377
+.377(In the conte)108 684 R .377
(xt where an assignment statement is assigning a v)-.15 F .376
(alue to a shell v)-.25 F .376(ariable or array inde)-.25 F .376
(x, the +=)-.15 F .257
-(operator can be used to append to or add to the v)108 518.4 R(ariable')
+(operator can be used to append to or add to the v)108 696 R(ariable')
-.25 E 2.757(sp)-.55 G(re)-2.757 E .257(vious v)-.25 F 2.757(alue. When)
--.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .373
-(for which the inte)108 530.4 R .373(ger attrib)-.15 F .372
-(ute has been set,)-.2 F F2(value)2.872 E F0 .372(is e)2.872 F -.25(va)
--.25 G .372(luated as an arithmetic e).25 F .372
-(xpression and added to the)-.15 F -.25(va)108 542.4 S(riable').25 E
-2.888(sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F
--.25(va)-.25 G 2.889(luated. When).25 F .389
-(+= is applied to an array v)2.889 F .389(ariable using compound)-.25 F
-.186(assignment \(see)108 554.4 R F1(Arrays)2.686 E F0(belo)2.686 E .186
-(w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G .185
-(alue is not unset \(as it is when using =\), and ne)-2.935 F 2.685(wv)
--.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108 566.4
+-.25 F .257(+= is applied to a v)2.757 F(ariable)-.25 E .361
+(for which the)108 708 R F3(inte)2.861 E -.1(ge)-.4 G(r).1 E F0(attrib)
+2.861 E .361(ute has been set,)-.2 F F3(value)2.861 E F0 .361(is e)2.861
+F -.25(va)-.25 G .36(luated as an arithmetic e).25 F .36
+(xpression and added to the)-.15 F -.25(va)108 720 S(riable').25 E 2.888
+(sc)-.55 G .388(urrent v)-2.888 F .388(alue, which is also e)-.25 F -.25
+(va)-.25 G 2.889(luated. When).25 F .389(+= is applied to an array v)
+2.889 F .389(ariable using compound)-.25 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(8)190.955 E 0 Cg EP
+%%Page: 9 9
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .186(assignment \(see)108 84 R/F1 10/Times-Bold@0 SF(Arrays)2.686
+E F0(belo)2.686 E .186(w\), the v)-.25 F(ariable')-.25 E 2.685(sv)-.55 G
+.185(alue is not unset \(as it is when using =\), and ne)-2.935 F 2.685
+(wv)-.25 G .185(alues are)-2.935 F 1.384(appended to the array be)108 96
R 1.384(ginning at one greater than the array')-.15 F 3.885(sm)-.55 G
1.385(aximum inde)-3.885 F 3.885(x\()-.15 G 1.385(for inde)-3.885 F -.15
(xe)-.15 G 3.885(da).15 G 1.385(rrays\) or)-3.885 F .123
-(added as additional k)108 578.4 R -.15(ey)-.1 G<ad76>.15 E .123
+(added as additional k)108 108 R -.15(ey)-.1 G<ad76>.15 E .123
(alue pairs in an associati)-.25 F .423 -.15(ve a)-.25 H(rray).15 E
5.123(.W)-.65 G .122(hen applied to a string-v)-5.123 F .122(alued v)
--.25 F(ariable,)-.25 E F2(value)2.622 E F0(is e)108 590.4 Q
-(xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G
-(alue.)-2.75 E F1 -.2(Po)87 607.2 S(sitional P).2 E(arameters)-.1 E F0
-(A)108 619.2 Q F2 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \
+-.25 F(ariable,)-.25 E/F2 10/Times-Italic@0 SF(value)2.622 E F0(is e)108
+120 Q(xpanded and appended to the v)-.15 E(ariable')-.25 E 2.5(sv)-.55 G
+(alue.)-2.75 E F1 -.2(Po)87 136.8 S(sitional P).2 E(arameters)-.1 E F0
+(A)108 148.8 Q F2 .705(positional par)4.455 F(ameter)-.15 E F0 .706(is \
a parameter denoted by one or more digits, other than the single digit \
0.)3.935 F(Posi-)5.706 E .445
-(tional parameters are assigned from the shell')108 631.2 R 2.944(sa)
+(tional parameters are assigned from the shell')108 160.8 R 2.944(sa)
-.55 G -.18(rg)-2.944 G .444(uments when it is in).18 F -.2(vo)-.4 G -.1
-(ke).2 G .444(d, and may be reassigned using).1 F(the)108 643.2 Q F1
+(ke).2 G .444(d, and may be reassigned using).1 F(the)108 172.8 Q F1
(set)3.333 E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional\
parameters may not be assigned to with assignment statements.)5.833 F
(The)5.834 E .334(positional parameters are temporarily replaced when a\
- shell function is e)108 655.2 R -.15(xe)-.15 G .333(cuted \(see).15 F
-F4(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E 1.403(When a positiona\
-l parameter consisting of more than a single digit is e)108 672 R 1.404
-(xpanded, it must be enclosed in)-.15 F(braces \(see)108 684 Q F4(EXP)
-2.5 E(ANSION)-.666 E F0(belo)2.25 E(w\).)-.25 E F1(Special P)87 700.8 Q
-(arameters)-.1 E F0 1.675(The shell treats se)108 712.8 R -.15(ve)-.25 G
-1.675(ral parameters specially).15 F 6.675(.T)-.65 G 1.674
+ shell function is e)108 184.8 R -.15(xe)-.15 G .333(cuted \(see).15 F
+/F3 9/Times-Bold@0 SF(FUNCTIONS)2.833 E F0(belo)2.583 E(w\).)-.25 E
+1.403(When a positional parameter consisting of more than a single digi\
+t is e)108 201.6 R 1.404(xpanded, it must be enclosed in)-.15 F
+(braces \(see)108 213.6 Q F3(EXP)2.5 E(ANSION)-.666 E F0(belo)2.25 E
+(w\).)-.25 E F1(Special P)87 230.4 Q(arameters)-.1 E F0 1.675
+(The shell treats se)108 242.4 R -.15(ve)-.25 G 1.675
+(ral parameters specially).15 F 6.675(.T)-.65 G 1.674
(hese parameters may only be referenced; assignment to)-6.675 F
-(them is not allo)108 724.8 Q(wed.)-.25 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(8)190.955 E 0 Cg EP
-%%Page: 9 9
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(*)108 84 Q F0 .605
+(them is not allo)108 254.4 Q(wed.)-.25 E F1(*)108 266.4 Q F0 .605
(Expands to the positional parameters, starting from one.)31 F .606
(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .084
-(ble quotes, it e)144 96 R .084(xpands to a single w)-.15 F .084
+(ble quotes, it e)144 278.4 R .084(xpands to a single w)-.15 F .084
(ord with the v)-.1 F .084
(alue of each parameter separated by the \214rst char)-.25 F(-)-.2 E
-.003(acter of the)144 108 R/F2 9/Times-Bold@0 SF(IFS)2.503 E F0 .003
-(special v)2.253 F 2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A
-F0 2.503("i)C 2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003
-(lent to ").25 F F1($1)A/F3 10/Times-Italic@0 SF(c)A F1($2)A F3(c)A F1
-(...)A F0 .003(", where)B F3(c)2.703 E F0 .004(is the \214rst char)2.813
-F(-)-.2 E .769(acter of the v)144 120 R .769(alue of the)-.25 F F2(IFS)
-3.269 E F0 -.25(va)3.019 G 3.269(riable. If).25 F F2(IFS)3.268 E F0 .768
-(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F2
-(IFS)144 132 Q F0(is null, the parameters are joined without interv)2.25
-E(ening separators.)-.15 E F1(@)108 144 Q F0 .605
+.003(acter of the)144 290.4 R F3(IFS)2.503 E F0 .003(special v)2.253 F
+2.503(ariable. That)-.25 F .003(is, ")2.503 F F1($*)A F0 2.503("i)C
+2.503(se)-2.503 G(qui)-2.503 E -.25(va)-.25 G .003(lent to ").25 F F1
+($1)A F2(c)A F1($2)A F2(c)A F1(...)A F0 .003(", where)B F2(c)2.703 E F0
+.004(is the \214rst char)2.813 F(-)-.2 E .769(acter of the v)144 302.4 R
+.769(alue of the)-.25 F F3(IFS)3.269 E F0 -.25(va)3.019 G 3.269
+(riable. If).25 F F3(IFS)3.268 E F0 .768
+(is unset, the parameters are separated by spaces.)3.018 F(If)5.768 E F3
+(IFS)144 314.4 Q F0(is null, the parameters are joined without interv)
+2.25 E(ening separators.)-.15 E F1(@)108 326.4 Q F0 .605
(Expands to the positional parameters, starting from one.)26.7 F .606
(When the e)5.605 F .606(xpansion occurs within dou-)-.15 F .114
-(ble quotes, each parameter e)144 156 R .114(xpands to a separate w)-.15
-F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C 2.613
-(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1($1)A F0
-2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134
-(If the double-quoted e)144 168 R .134(xpansion occurs within a w)-.15 F
-.135(ord, the e)-.1 F .135(xpansion of the \214rst parameter is joined)
--.15 F .151(with the be)144 180 R .151(ginning part of the original w)
--.15 F .151(ord, and the e)-.1 F .15
-(xpansion of the last parameter is joined with)-.15 F .337
-(the last part of the original w)144 192 R 2.837(ord. When)-.1 F .338
+(ble quotes, each parameter e)144 338.4 R .114(xpands to a separate w)
+-.15 F 2.614(ord. That)-.1 F .113(is, ")2.613 F F1($@)A F0 2.613("i)C
+2.613(se)-2.613 G(qui)-2.613 E -.25(va)-.25 G .113(lent to ").25 F F1
+($1)A F0 2.613("")C F1($2)-2.613 E F0 2.613(".)C(..)-2.613 E .134
+(If the double-quoted e)144 350.4 R .134(xpansion occurs within a w)-.15
+F .135(ord, the e)-.1 F .135
+(xpansion of the \214rst parameter is joined)-.15 F .151(with the be)144
+362.4 R .151(ginning part of the original w)-.15 F .151(ord, and the e)
+-.1 F .15(xpansion of the last parameter is joined with)-.15 F .337
+(the last part of the original w)144 374.4 R 2.837(ord. When)-.1 F .338
(there are no positional parameters, ")2.837 F F1($@)A F0 2.838("a)C(nd)
-2.838 E F1($@)2.838 E F0 -.15(ex)2.838 G(pand).15 E
-(to nothing \(i.e., the)144 204 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15(ve)
--.15 G(d\).).15 E F1(#)108 216 Q F0
+(to nothing \(i.e., the)144 386.4 Q 2.5(ya)-.15 G(re remo)-2.5 E -.15
+(ve)-.15 G(d\).).15 E F1(#)108 398.4 Q F0
(Expands to the number of positional parameters in decimal.)31 E F1(?)
-108 228 Q F0(Expands to the e)31 E(xit status of the most recently e)
+108 410.4 Q F0(Expands to the e)31 E(xit status of the most recently e)
-.15 E -.15(xe)-.15 G(cuted fore).15 E(ground pipeline.)-.15 E F1<ad>108
-240 Q F0 .882
+422.4 Q F0 .882
(Expands to the current option \215ags as speci\214ed upon in)30.3 F -.2
(vo)-.4 G .881(cation, by the).2 F F1(set)3.381 E F0 -.2(bu)3.381 G .881
(iltin command, or).2 F(those set by the shell itself \(such as the)144
-252 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 264 Q F0 .214
+434.4 Q F1<ad69>2.5 E F0(option\).)2.5 E F1($)108 446.4 Q F0 .214
(Expands to the process ID of the shell.)31 F .214
(In a \(\) subshell, it e)5.214 F .214
(xpands to the process ID of the current)-.15 F
-(shell, not the subshell.)144 276 Q F1(!)108 288 Q F0
+(shell, not the subshell.)144 458.4 Q F1(!)108 470.4 Q F0
(Expands to the process ID of the most recently e)32.67 E -.15(xe)-.15 G
-(cuted background \(asynchronous\) command.).15 E F1(0)108 300 Q F0
+(cuted background \(asynchronous\) command.).15 E F1(0)108 482.4 Q F0
1.692(Expands to the name of the shell or shell script.)31 F 1.691
(This is set at shell initialization.)6.692 F(If)6.691 E F1(bash)4.191 E
-F0(is)4.191 E(in)144 312 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
+F0(is)4.191 E(in)144 494.4 Q -.2(vo)-.4 G -.1(ke).2 G 3.077(dw).1 G .577
(ith a \214le of commands,)-3.077 F F1($0)3.077 E F0 .578
(is set to the name of that \214le.)3.077 F(If)5.578 E F1(bash)3.078 E
F0 .578(is started with the)3.078 F F1<ad63>3.078 E F0 .369
-(option, then)144 324 R F1($0)2.869 E F0 .369(is set to the \214rst ar)
-2.869 F .369(gument after the string to be e)-.18 F -.15(xe)-.15 G .369
-(cuted, if one is present.).15 F(Other)5.368 E(-)-.2 E
-(wise, it is set to the \214le name used to in)144 336 Q -.2(vo)-.4 G
--.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25(iv e)-2.5
-H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E F1(_)108
-348 Q F0 .054(At shell startup, set to the absolute pathname used to in)
-31 F -.2(vo)-.4 G .255 -.1(ke t).2 H .055
-(he shell or shell script being e).1 F -.15(xe)-.15 G(cuted).15 E .692
-(as passed in the en)144 360 R .692(vironment or ar)-.4 F .691
-(gument list.)-.18 F(Subsequently)5.691 E 3.191(,e)-.65 G .691
-(xpands to the last ar)-3.341 F .691(gument to the)-.18 F(pre)144 372 Q
-.57(vious command, after e)-.25 F 3.07(xpansion. Also)-.15 F .571
-(set to the full pathname used to in)3.071 F -.2(vo)-.4 G .771 -.1(ke e)
-.2 H .571(ach command).1 F -.15(exe)144 384 S 1.6
-(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
+(option, then)144 506.4 R F1($0)2.869 E F0 .369
+(is set to the \214rst ar)2.869 F .369(gument after the string to be e)
+-.18 F -.15(xe)-.15 G .369(cuted, if one is present.).15 F(Other)5.368 E
+(-)-.2 E(wise, it is set to the \214le name used to in)144 518.4 Q -.2
+(vo)-.4 G -.1(ke).2 G F1(bash)2.6 E F0 2.5(,a)C 2.5(sg)-2.5 G -2.15 -.25
+(iv e)-2.5 H 2.5(nb).25 G 2.5(ya)-2.5 G -.18(rg)-2.5 G(ument zero.).18 E
+F1(_)108 530.4 Q F0 .054
+(At shell startup, set to the absolute pathname used to in)31 F -.2(vo)
+-.4 G .255 -.1(ke t).2 H .055(he shell or shell script being e).1 F -.15
+(xe)-.15 G(cuted).15 E .692(as passed in the en)144 542.4 R .692
+(vironment or ar)-.4 F .691(gument list.)-.18 F(Subsequently)5.691 E
+3.191(,e)-.65 G .691(xpands to the last ar)-3.341 F .691(gument to the)
+-.18 F(pre)144 554.4 Q .57(vious command, after e)-.25 F 3.07
+(xpansion. Also)-.15 F .571(set to the full pathname used to in)3.071 F
+-.2(vo)-.4 G .771 -.1(ke e).2 H .571(ach command).1 F -.15(exe)144 566.4
+S 1.6(cuted and placed in the en).15 F 1.6(vironment e)-.4 F 1.6
(xported to that command.)-.15 F 1.6(When checking mail, this)6.6 F
(parameter holds the name of the mail \214le currently being check)144
-396 Q(ed.)-.1 E F1(Shell V)87 412.8 Q(ariables)-.92 E F0(The follo)108
-424.8 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA)
-108 441.6 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E
+578.4 Q(ed.)-.1 E F1(Shell V)87 595.2 Q(ariables)-.92 E F0(The follo)108
+607.2 Q(wing v)-.25 E(ariables are set by the shell:)-.25 E F1 -.3(BA)
+108 624 S(SH).3 E F0(Expands to the full \214le name used to in)9.07 E
-.2(vo)-.4 G .2 -.1(ke t).2 H(his instance of).1 E F1(bash)2.5 E F0(.)A
-F1 -.3(BA)108 453.6 S(SHOPTS).3 E F0 2.548(Ac)144 465.6 S .049
+F1 -.3(BA)108 636 S(SHOPTS).3 E F0 2.548(Ac)144 648 S .049
(olon-separated list of enabled shell options.)-2.548 F .049(Each w)
5.049 F .049(ord in the list is a v)-.1 F .049(alid ar)-.25 F .049
-(gument for the)-.18 F F1<ad73>2.549 E F0 1.398(option to the)144 477.6
-R F1(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F2
+(gument for the)-.18 F F1<ad73>2.549 E F0 1.398(option to the)144 660 R
+F1(shopt)3.898 E F0 -.2(bu)3.898 G 1.398(iltin command \(see).2 F F3
1.398(SHELL B)3.898 F(UIL)-.09 E 1.398(TIN COMMANDS)-.828 F F0(belo)
-3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144
-489.6 R F2 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as)
-2.726 F F3(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977
-(ft)-5.477 G .477(his v)-2.977 F .477(ariable is in the en)-.25 F
-(vironment)-.4 E(when)144 501.6 Q F1(bash)3.142 E F0 .642(starts up, ea\
-ch shell option in the list will be enabled before reading an)3.142 F
-3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 513.6 Q
-(ariable is read-only)-.25 E(.)-.65 E F1 -.3(BA)108 525.6 S(SHPID).3 E
-F0 .36(Expands to the process id of the current)144 537.6 R F1(bash)
-2.861 E F0 2.861(process. This)2.861 F(dif)2.861 E .361(fers from)-.25 F
-F1($$)2.861 E F0 .361(under certain circum-)2.861 F
-(stances, such as subshells that do not require)144 549.6 Q F1(bash)2.5
-E F0(to be re-initialized.)2.5 E F1 -.3(BA)108 561.6 S(SH_ALIASES).3 E
-F0 1.195(An associati)144 573.6 R 1.495 -.15(ve a)-.25 H 1.195(rray v)
-.15 F 1.195(ariable whose members correspond to the internal list of al\
-iases as main-)-.25 F .318(tained by the)144 585.6 R F1(alias)2.818 E F0
--.2(bu)2.818 G .318(iltin Elements added to this array appear in the al\
-ias list; unsetting array ele-).2 F(ments cause aliases to be remo)144
-597.6 Q -.15(ve)-.15 G 2.5(df).15 G(rom the alias list.)-2.5 E F1 -.3
-(BA)108 609.6 S(SH_ARGC).3 E F0 .935(An array v)144 621.6 R .935
-(ariable whose v)-.25 F .934
-(alues are the number of parameters in each frame of the current)-.25 F
-F1(bash)3.434 E F0 -.15(exe)144 633.6 S .535(cution call stack.).15 F
-.535(The number of parameters to the current subroutine \(shell functio\
-n or script)5.535 F -.15(exe)144 645.6 S .142(cuted with).15 F F1(.)
-2.642 E F0(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa)
--2.642 G 2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141
-(When a subroutine is e)5.141 F -.15(xe)-.15 G .141
-(cuted, the number of).15 F 2.63(parameters passed is pushed onto)144
-657.6 R F2 -.27(BA)5.13 G(SH_ARGC).27 E/F4 9/Times-Roman@0 SF(.)A F0
-2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G(SH_ARGC).27 E F0 2.631
-(only when in)4.881 F -.15(ex)144 669.6 S(tended deb).15 E
-(ugging mode \(see the description of the)-.2 E F1(extdeb)2.5 E(ug)-.2 E
-F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E
-(w\))-.25 E F1 -.3(BA)108 681.6 S(SH_ARGV).3 E F0 .98(An array v)144
-693.6 R .979(ariable containing all of the parameters in the current)
--.25 F F1(bash)3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F
-(The)5.979 E .275(\214nal parameter of the last subroutine call is at t\
-he top of the stack; the \214rst parameter of the initial)144 705.6 R
-1.424(call is at the bottom.)144 717.6 R 1.424(When a subroutine is e)
-6.424 F -.15(xe)-.15 G 1.424
-(cuted, the parameters supplied are pushed onto).15 F F2 -.27(BA)144
-729.6 S(SH_ARGV).27 E F4(.)A F0 2.197(The shell sets)6.697 F F2 -.27(BA)
-4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F 2.197(xtended deb)
--.15 F 2.197(ugging mode \(see the)-.2 F(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(9)190.955 E 0 Cg EP
+3.648 E 3.898(w\). The)-.25 F(options)3.898 E .476(appearing in)144 672
+R F3 -.27(BA)2.976 G(SHOPTS).27 E F0 .476(are those reported as)2.726 F
+F2(on)3.206 E F0(by)3.217 E F1(shopt)2.977 E F0 5.477(.I)C 2.977(ft)
+-5.477 G .477(his v)-2.977 F .477(ariable is in the en)-.25 F(vironment)
+-.4 E(when)144 684 Q F1(bash)3.142 E F0 .642(starts up, each shell opti\
+on in the list will be enabled before reading an)3.142 F 3.141(ys)-.15 G
+.641(tartup \214les.)-3.141 F(This v)144 696 Q(ariable is read-only)-.25
+E(.)-.65 E(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(9)190.955 E
+0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(description of the)144 84 Q/F1 10/Times-Bold@0 SF(extdeb)2.5 E
-(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G
-(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 96 S(SH_CMDS).3 E F0 .668
-(An associati)144 108 R .968 -.15(ve a)-.25 H .668(rray v).15 F .668(ar\
-iable whose members correspond to the internal hash table of commands)
--.25 F .146(as maintained by the)144 120 R F1(hash)2.646 E F0 -.2(bu)
-2.646 G 2.646(iltin. Elements).2 F .146
-(added to this array appear in the hash table; unsetting)2.646 F
-(array elements cause commands to be remo)144 132 Q -.15(ve)-.15 G 2.5
-(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 144 S(SH_COMMAND).3 E
-F0 1.243(The command currently being e)144 156 R -.15(xe)-.15 G 1.243
+-.35 E/F1 10/Times-Bold@0 SF -.3(BA)108 84 S(SHPID).3 E F0 .187
+(Expands to the process ID of the current)144 96 R F1(bash)2.687 E F0
+2.688(process. This)2.688 F(dif)2.688 E .188(fers from)-.25 F F1($$)
+2.688 E F0 .188(under certain circum-)2.688 F
+(stances, such as subshells that do not require)144 108 Q F1(bash)2.5 E
+F0(to be re-initialized.)2.5 E F1 -.3(BA)108 120 S(SH_ALIASES).3 E F0
+1.195(An associati)144 132 R 1.495 -.15(ve a)-.25 H 1.195(rray v).15 F
+1.195(ariable whose members correspond to the internal list of aliases \
+as main-)-.25 F .024(tained by the)144 144 R F1(alias)2.524 E F0 -.2(bu)
+2.524 G 2.524(iltin. Elements).2 F .024
+(added to this array appear in the alias list; unsetting array ele-)
+2.524 F(ments cause aliases to be remo)144 156 Q -.15(ve)-.15 G 2.5(df)
+.15 G(rom the alias list.)-2.5 E F1 -.3(BA)108 168 S(SH_ARGC).3 E F0
+.935(An array v)144 180 R .935(ariable whose v)-.25 F .934
+(alues are the number of parameters in each frame of the current)-.25 F
+F1(bash)3.434 E F0 -.15(exe)144 192 S .535(cution call stack.).15 F .535
+(The number of parameters to the current subroutine \(shell function or\
+ script)5.535 F -.15(exe)144 204 S .142(cuted with).15 F F1(.)2.642 E F0
+(or)2.642 E F1(sour)2.642 E(ce)-.18 E F0 2.642(\)i)C 2.642(sa)-2.642 G
+2.642(tt)-2.642 G .142(he top of the stack.)-2.642 F .141
+(When a subroutine is e)5.141 F -.15(xe)-.15 G .141
+(cuted, the number of).15 F 2.63(parameters passed is pushed onto)144
+216 R/F2 9/Times-Bold@0 SF -.27(BA)5.13 G(SH_ARGC).27 E/F3 9
+/Times-Roman@0 SF(.)A F0 2.63(The shell sets)7.13 F F2 -.27(BA)5.131 G
+(SH_ARGC).27 E F0 2.631(only when in)4.881 F -.15(ex)144 228 S
+(tended deb).15 E(ugging mode \(see the description of the)-.2 E F1
+(extdeb)2.5 E(ug)-.2 E F0(option to the)2.5 E F1(shopt)2.5 E F0 -.2(bu)
+2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3(BA)108 240 S(SH_ARGV).3 E F0 .98
+(An array v)144 252 R .979
+(ariable containing all of the parameters in the current)-.25 F F1(bash)
+3.479 E F0 -.15(exe)3.479 G .979(cution call stack.).15 F(The)5.979 E
+.275(\214nal parameter of the last subroutine call is at the top of the\
+ stack; the \214rst parameter of the initial)144 264 R 1.424
+(call is at the bottom.)144 276 R 1.424(When a subroutine is e)6.424 F
+-.15(xe)-.15 G 1.424(cuted, the parameters supplied are pushed onto).15
+F F2 -.27(BA)144 288 S(SH_ARGV).27 E F3(.)A F0 2.197(The shell sets)
+6.697 F F2 -.27(BA)4.697 G(SH_ARGV).27 E F0 2.197(only when in e)4.447 F
+2.197(xtended deb)-.15 F 2.197(ugging mode \(see the)-.2 F
+(description of the)144 300 Q F1(extdeb)2.5 E(ug)-.2 E F0(option to the)
+2.5 E F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin belo).2 E(w\))-.25 E F1 -.3
+(BA)108 312 S(SH_CMDS).3 E F0 .668(An associati)144 324 R .968 -.15
+(ve a)-.25 H .668(rray v).15 F .668(ariable whose members correspond to\
+ the internal hash table of commands)-.25 F .146(as maintained by the)
+144 336 R F1(hash)2.646 E F0 -.2(bu)2.646 G 2.646(iltin. Elements).2 F
+.146(added to this array appear in the hash table; unsetting)2.646 F
+(array elements cause commands to be remo)144 348 Q -.15(ve)-.15 G 2.5
+(df).15 G(rom the hash table.)-2.5 E F1 -.3(BA)108 360 S(SH_COMMAND).3 E
+F0 1.243(The command currently being e)144 372 R -.15(xe)-.15 G 1.243
(cuted or about to be e).15 F -.15(xe)-.15 G 1.242
(cuted, unless the shell is e).15 F -.15(xe)-.15 G 1.242(cuting a).15 F
(command as the result of a trap, in which case it is the command e)144
-168 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
-180 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 192 Q
+384 Q -.15(xe)-.15 G(cuting at the time of the trap.).15 E F1 -.3(BA)108
+396 S(SH_EXECUTION_STRING).3 E F0(The command ar)144 408 Q
(gument to the)-.18 E F1<ad63>2.5 E F0(in)2.5 E -.2(vo)-.4 G
-(cation option.).2 E F1 -.3(BA)108 204 S(SH_LINENO).3 E F0 .034
-(An array v)144 216 R .034(ariable whose members are the line numbers i\
-n source \214les corresponding to each mem-)-.25 F 3.491(ber of)144 228
-R/F2 9/Times-Bold@0 SF(FUNCN)5.991 E(AME)-.18 E/F3 9/Times-Roman@0 SF(.)
-A F1(${B)7.991 E(ASH_LINENO[)-.3 E/F4 10/Times-Italic@0 SF($i)A F1(]})A
-F0 3.491(is the line number in the source \214le where)5.991 F F1
-(${FUNCN)144 240 Q(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)3.311 G 3.311
-(sc).1 G .811(alled \(or)-3.311 F F1(${B)3.311 E(ASH_LINENO[)-.3 E F4
-($i-1)A F1(]})A F0 .811(if referenced within another shell)3.311 F 4.987
-(function\). The)144 252 R 2.487(corresponding source \214le name is)
-4.987 F F1(${B)4.986 E(ASH_SOURCE[)-.3 E F4($i)A F1(]})A F0 7.486(.U)C
-(se)-7.486 E F2(LINENO)4.986 E F0(to)4.736 E
-(obtain the current line number)144 264 Q(.)-.55 E F1 -.3(BA)108 276 S
-(SH_REMA).3 E(TCH)-.95 E F0 .005(An array v)144 288 R .005
-(ariable whose members are assigned by the)-.25 F F1(=~)2.506 E F0 .006
-(binary operator to the)2.506 F F1([[)2.506 E F0 .006(conditional com-)
-2.506 F 2.507(mand. The)144 300 R .007(element with inde)2.507 F 2.507
-(x0i)-.15 G 2.507(st)-2.507 G .007
+(cation option.).2 E F1 -.3(BA)108 420 S(SH_LINENO).3 E F0 .692
+(An array v)144 432 R .692(ariable whose members are the line numbers i\
+n source \214les where each corresponding)-.25 F .97(member of)144 444 R
+F2(FUNCN)3.47 E(AME)-.18 E F0 -.1(wa)3.22 G 3.47(si).1 G -1.9 -.4(nv o)
+-3.47 H -.1(ke).4 G(d.).1 E F1(${B)5.969 E(ASH_LINENO[)-.3 E/F4 10
+/Times-Italic@0 SF($i)A F1(]})A F0 .969
+(is the line number in the source)3.469 F 14.671(\214le \()144 456 R F1
+(${B)A(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0 17.171(\)w)C(here)-17.171
+E F1(${FUNCN)17.172 E(AME[)-.2 E F4($i)A F1(]})A F0 -.1(wa)17.172 G
+17.172(sc).1 G 14.672(alled \(or)-17.172 F F1(${B)144 468 Q(ASH_LINENO[)
+-.3 E F4($i-1)A F1(]})A F0 .115
+(if referenced within another shell function\).)2.615 F(Use)5.115 E F2
+(LINENO)2.615 E F0 .115(to obtain the)2.365 F(current line number)144
+480 Q(.)-.55 E F1 -.3(BA)108 492 S(SH_REMA).3 E(TCH)-.95 E F0 .005
+(An array v)144 504 R .005(ariable whose members are assigned by the)
+-.25 F F1(=~)2.506 E F0 .006(binary operator to the)2.506 F F1([[)2.506
+E F0 .006(conditional com-)2.506 F 2.507(mand. The)144 516 R .007
+(element with inde)2.507 F 2.507(x0i)-.15 G 2.507(st)-2.507 G .007
(he portion of the string matching the entire re)-2.507 F .006(gular e)
--.15 F(xpression.)-.15 E .997(The element with inde)144 312 R(x)-.15 E
+-.15 F(xpression.)-.15 E .997(The element with inde)144 528 R(x)-.15 E
F4(n)3.497 E F0 .997(is the portion of the string matching the)3.497 F
F4(n)3.498 E F0 .998(th parenthesized sube)B(xpres-)-.15 E 2.5
-(sion. This)144 324 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
-F1 -.3(BA)108 336 S(SH_SOURCE).3 E F0 .89(An array v)144 348 R .889(ari\
-able whose members are the source \214lenames corresponding to the elem\
-ents in the)-.25 F F2(FUNCN)144 360 Q(AME)-.18 E F0(array v)2.25 E
-(ariable.)-.25 E F1 -.3(BA)108 372 S(SH_SUBSHELL).3 E F0 .401
-(Incremented by one each time a subshell or subshell en)144 384 R .401
-(vironment is spa)-.4 F 2.902(wned. The)-.15 F .402(initial v)2.902 F
-.402(alue is)-.25 F(0.)144 396 Q F1 -.3(BA)108 408 S(SH_VERSINFO).3 E F0
-2.645(Ar)144 420 S .145(eadonly array v)-2.645 F .144
+(sion. This)144 540 R -.25(va)2.5 G(riable is read-only).25 E(.)-.65 E
+F1 -.3(BA)108 552 S(SH_SOURCE).3 E F0 .126(An array v)144 564 R .125(ar\
+iable whose members are the source \214lenames where the corresponding \
+shell function)-.25 F .78(names in the)144 576 R F2(FUNCN)3.28 E(AME)
+-.18 E F0 .78(array v)3.03 F .78(ariable are de\214ned.)-.25 F .78
+(The shell function)5.78 F F1(${FUNCN)3.281 E(AME[)-.2 E F4($i)A F1(]})A
+F0(is)3.281 E(de\214ned in the \214le)144 588 Q F1(${B)2.5 E
+(ASH_SOURCE[)-.3 E F4($i)A F1(]})A F0(and called from)2.5 E F1(${B)2.5 E
+(ASH_SOURCE[)-.3 E F4($i+1)A F1(]})A F0(.)A F1 -.3(BA)108 600 S
+(SH_SUBSHELL).3 E F0 .402
+(Incremented by one each time a subshell or subshell en)144 612 R .401
+(vironment is spa)-.4 F 2.901(wned. The)-.15 F .401(initial v)2.901 F
+.401(alue is)-.25 F(0.)144 624 Q F1 -.3(BA)108 636 S(SH_VERSINFO).3 E F0
+2.644(Ar)144 648 S .144(eadonly array v)-2.644 F .144
(ariable whose members hold v)-.25 F .144
-(ersion information for this instance of)-.15 F F1(bash)2.644 E F0 5.144
-(.T)C(he)-5.144 E -.25(va)144 432 S
+(ersion information for this instance of)-.15 F F1(bash)2.645 E F0 5.145
+(.T)C(he)-5.145 E -.25(va)144 660 S
(lues assigned to the array members are as follo).25 E(ws:)-.25 E F1 -.3
-(BA)144 450 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
+(BA)144 678 S(SH_VERSINFO[).3 E F0(0)A F1(])A F0(The major v)24.74 E
(ersion number \(the)-.15 E F4 -.37(re)2.5 G(lease).37 E F0(\).)A F1 -.3
-(BA)144 462 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E
+(BA)144 690 S(SH_VERSINFO[).3 E F0(1)A F1(])A F0(The minor v)24.74 E
(ersion number \(the)-.15 E F4(ver)2.5 E(sion)-.1 E F0(\).)A F1 -.3(BA)
-144 474 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15
-(ve)-.25 G(l.).15 E F1 -.3(BA)144 486 S(SH_VERSINFO[).3 E F0(3)A F1(])A
-F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E F1 -.3(BA)144 498 S
-(SH_VERSINFO[).3 E F0(4)A F1(])A F0(The release status \(e.g.,)24.74 E
-F4(beta1)2.5 E F0(\).)A F1 -.3(BA)144 510 S(SH_VERSINFO[).3 E F0(5)A F1
-(])A F0(The v)24.74 E(alue of)-.25 E F2(MA)2.5 E(CHTYPE)-.495 E F3(.)A
-F1 -.3(BA)108 526.8 S(SH_VERSION).3 E F0
-(Expands to a string describing the v)144 538.8 Q
+144 702 S(SH_VERSINFO[).3 E F0(2)A F1(])A F0(The patch le)24.74 E -.15
+(ve)-.25 G(l.).15 E F1 -.3(BA)144 714 S(SH_VERSINFO[).3 E F0(3)A F1(])A
+F0(The b)24.74 E(uild v)-.2 E(ersion.)-.15 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(10)185.955 E 0 Cg EP
+%%Page: 11 11
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF -.3(BA)144 84 S(SH_VERSINFO[).3 E F0(4)A F1
+(])A F0(The release status \(e.g.,)24.74 E/F2 10/Times-Italic@0 SF
+(beta1)2.5 E F0(\).)A F1 -.3(BA)144 96 S(SH_VERSINFO[).3 E F0(5)A F1(])A
+F0(The v)24.74 E(alue of)-.25 E/F3 9/Times-Bold@0 SF(MA)2.5 E(CHTYPE)
+-.495 E/F4 9/Times-Roman@0 SF(.)A F1 -.3(BA)108 108 S(SH_VERSION).3 E F0
+(Expands to a string describing the v)144 120 Q
(ersion of this instance of)-.15 E F1(bash)2.5 E F0(.)A F1(COMP_CW)108
-555.6 Q(ORD)-.1 E F0 .396(An inde)144 567.6 R 2.896(xi)-.15 G(nto)-2.896
-E F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396
-(ord containing the current cursor position.)-.1 F .397(This v)5.397 F
-(ari-)-.25 E 1.181(able is a)144 579.6 R -.25(va)-.2 G 1.181
+132 Q(ORD)-.1 E F0 .397(An inde)144 144 R 2.897(xi)-.15 G(nto)-2.897 E
+F1(${COMP_W)2.896 E(ORDS})-.1 E F0 .396(of the w)2.896 F .396
+(ord containing the current cursor position.)-.1 F .396(This v)5.396 F
+(ari-)-.25 E 1.18(able is a)144 156 R -.25(va)-.2 G 1.181
(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.681
-(db).1 G 3.681(yt)-3.681 G 1.18(he programmable completion f)-3.681 F
-1.18(acilities \(see)-.1 F F1(Pr)144 591.6 Q(ogrammable Completion)-.18
-E F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 608.4 Q F0(The k)144 620.4 Q
-.3 -.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G
-.3 -.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t)
-.2 H(he current completion function.).1 E F1(COMP_LINE)108 637.2 Q F0
-1.207(The current command line.)144 649.2 R 1.208(This v)6.208 F 1.208
+(db).1 G 3.681(yt)-3.681 G 1.181(he programmable completion f)-3.681 F
+1.181(acilities \(see)-.1 F F1(Pr)144 168 Q(ogrammable Completion)-.18 E
+F0(belo)2.5 E(w\).)-.25 E F1(COMP_KEY)108 180 Q F0(The k)144 192 Q .3
+-.15(ey \()-.1 H(or \214nal k).15 E .3 -.15(ey o)-.1 H 2.5(fak).15 G .3
+-.15(ey s)-2.6 H(equence\) used to in).15 E -.2(vo)-.4 G .2 -.1(ke t).2
+H(he current completion function.).1 E F1(COMP_LINE)108 204 Q F0 1.208
+(The current command line.)144 216 R 1.208(This v)6.208 F 1.208
(ariable is a)-.25 F -.25(va)-.2 G 1.208
-(ilable only in shell functions and e).25 F 1.208(xternal com-)-.15 F
-2.849(mands in)144 661.2 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
+(ilable only in shell functions and e).25 F 1.207(xternal com-)-.15 F
+2.848(mands in)144 228 R -.2(vo)-.4 G -.1(ke).2 G 5.349(db).1 G 5.349
(yt)-5.349 G 2.849(he programmable completion f)-5.349 F 2.849
-(acilities \(see)-.1 F F1(Pr)5.349 E 2.848(ogrammable Completion)-.18 F
-F0(belo)144 673.2 Q(w\).)-.25 E F1(COMP_POINT)108 690 Q F0 .666
-(The inde)144 702 R 3.166(xo)-.15 G 3.166(ft)-3.166 G .666
-(he current cursor position relati)-3.166 F .966 -.15(ve t)-.25 H 3.166
+(acilities \(see)-.1 F F1(Pr)5.349 E 2.849(ogrammable Completion)-.18 F
+F0(belo)144 240 Q(w\).)-.25 E F1(COMP_POINT)108 252 Q F0 .667(The inde)
+144 264 R 3.167(xo)-.15 G 3.167(ft)-3.167 G .666
+(he current cursor position relati)-3.167 F .966 -.15(ve t)-.25 H 3.166
(ot).15 G .666(he be)-3.166 F .666(ginning of the current command.)-.15
-F .667(If the)5.667 F .535
+F .666(If the)5.666 F .534
(current cursor position is at the end of the current command, the v)144
-714 R .534(alue of this v)-.25 F .534(ariable is equal to)-.25 F F1
-(${#COMP_LINE})144 726 Q F0 7.005(.T)C 2.005(his v)-7.005 F 2.005
-(ariable is a)-.25 F -.25(va)-.2 G 2.006
-(ilable only in shell functions and e).25 F 2.006(xternal commands)-.15
-F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(10)185.955 E 0 Cg EP
-%%Page: 11 11
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(in)144 84 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
-(he programmable completion f)-2.5 E(acilities \(see)-.1 E/F1 10
-/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E F0(belo)2.5 E
-(w\).)-.25 E F1(COMP_TYPE)108 100.8 Q F0 .042(Set to an inte)144 112.8 R
-.042(ger v)-.15 F .041(alue corresponding to the type of completion att\
-empted that caused a completion)-.25 F .337(function to be called:)144
-124.8 R/F2 10/Times-Italic@0 SF -.5(TA)2.837 G(B).5 E F0 2.837(,f)C .337
-(or normal completion,)-2.837 F F2(?)2.837 E F0 2.837(,f)C .337
-(or listing completions after successi)-2.837 F .638 -.15(ve t)-.25 H
-(abs,).15 E F2(!)144 136.8 Q F0 4.092(,f)C 1.592(or listing alternati)
--4.092 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)-4.092 G 1.592(artial w)
--4.092 F 1.592(ord completion,)-.1 F F2(@)4.092 E F0 4.092(,t)C 4.092
-(ol)-4.092 G 1.592(ist completions if the w)-4.092 F 1.591(ord is not)
--.1 F 1.552(unmodi\214ed, or)144 148.8 R F2(%)4.052 E F0 4.052(,f)C
-1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F 1.552
-(ariable is a)-.25 F -.25(va)-.2 G 1.552
-(ilable only in shell functions and).25 F -.15(ex)144 160.8 S 2.929
+276 R .535(alue of this v)-.25 F .535(ariable is equal to)-.25 F F1
+(${#COMP_LINE})144 288 Q F0 7.006(.T)C 2.006(his v)-7.006 F 2.006
+(ariable is a)-.25 F -.25(va)-.2 G 2.005
+(ilable only in shell functions and e).25 F 2.005(xternal commands)-.15
+F(in)144 300 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
+(he programmable completion f)-2.5 E(acilities \(see)-.1 E F1(Pr)2.5 E
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(COMP_TYPE)108
+312 Q F0 .041(Set to an inte)144 324 R .041(ger v)-.15 F .041(alue corr\
+esponding to the type of completion attempted that caused a completion)
+-.25 F .338(function to be called:)144 336 R F2 -.5(TA)2.837 G(B).5 E F0
+2.837(,f)C .337(or normal completion,)-2.837 F F2(?)2.837 E F0 2.837(,f)
+C .337(or listing completions after successi)-2.837 F .637 -.15(ve t)
+-.25 H(abs,).15 E F2(!)144 348 Q F0 4.091(,f)C 1.591
+(or listing alternati)-4.091 F -.15(ve)-.25 G 4.092(so).15 G 4.092(np)
+-4.092 G 1.592(artial w)-4.092 F 1.592(ord completion,)-.1 F F2(@)4.092
+E F0 4.092(,t)C 4.092(ol)-4.092 G 1.592(ist completions if the w)-4.092
+F 1.592(ord is not)-.1 F 1.553(unmodi\214ed, or)144 360 R F2(%)4.053 E
+F0 4.052(,f)C 1.552(or menu completion.)-4.052 F 1.552(This v)6.552 F
+1.552(ariable is a)-.25 F -.25(va)-.2 G 1.552
+(ilable only in shell functions and).25 F -.15(ex)144 372 S 2.928
(ternal commands in).15 F -.2(vo)-.4 G -.1(ke).2 G 5.429(db).1 G 5.429
(yt)-5.429 G 2.929(he programmable completion f)-5.429 F 2.929
-(acilities \(see)-.1 F F1(Pr)5.428 E(ogrammable)-.18 E(Completion)144
-172.8 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 189.6 Q(ORDBREAKS)-.1 E
-F0 1.335(The set of characters that the)144 201.6 R F1 -.18(re)3.836 G
-(adline).18 E F0 1.336(library treats as w)3.836 F 1.336
-(ord separators when performing w)-.1 F(ord)-.1 E 3.126(completion. If)
-144 213.6 R/F3 9/Times-Bold@0 SF(COMP_W)3.126 E(ORDBREAKS)-.09 E F0 .626
-(is unset, it loses its special properties, e)2.876 F -.15(ve)-.25 G
-3.125(ni).15 G 3.125(fi)-3.125 G 3.125(ti)-3.125 G 3.125(ss)-3.125 G
-(ubse-)-3.125 E(quently reset.)144 225.6 Q F1(COMP_W)108 242.4 Q(ORDS)
--.1 E F0 .653(An array v)144 254.4 R .653(ariable \(see)-.25 F F1
-(Arrays)3.153 E F0(belo)3.153 E .654(w\) consisting of the indi)-.25 F
-.654(vidual w)-.25 F .654(ords in the current command)-.1 F 4.333
-(line. The)144 266.4 R 1.832(line is split into w)4.332 F 1.832(ords as)
--.1 F F1 -.18(re)4.332 G(adline).18 E F0 -.1(wo)4.332 G 1.832
-(uld split it, using).1 F F3(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.082
-E .831(described abo)144 278.4 R -.15(ve)-.15 G 5.831(.T).15 G .831
-(his v)-5.831 F .831(ariable is a)-.25 F -.25(va)-.2 G .832
-(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.332
-(db).1 G 3.332(yt)-3.332 G .832(he programmable)-3.332 F(completion f)
-144 290.4 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18
-E F0(belo)2.5 E(w\).)-.25 E F1(DIRST)108 307.2 Q -.55(AC)-.9 G(K).55 E
-F0 2.26(An array v)144 319.2 R 2.26(ariable \(see)-.25 F F1(Arrays)4.76
-E F0(belo)4.76 E 2.26
+(acilities \(see)-.1 F F1(Pr)5.429 E(ogrammable)-.18 E(Completion)144
+384 Q F0(belo)2.5 E(w\).)-.25 E F1(COMP_W)108 396 Q(ORDBREAKS)-.1 E F0
+1.336(The set of characters that the)144 408 R F1 -.18(re)3.836 G
+(adline).18 E F0 1.336(library treats as w)3.836 F 1.335
+(ord separators when performing w)-.1 F(ord)-.1 E 3.125(completion. If)
+144 420 R F3(COMP_W)3.125 E(ORDBREAKS)-.09 E F0 .626
+(is unset, it loses its special properties, e)2.875 F -.15(ve)-.25 G
+3.126(ni).15 G 3.126(fi)-3.126 G 3.126(ti)-3.126 G 3.126(ss)-3.126 G
+(ubse-)-3.126 E(quently reset.)144 432 Q F1(COMP_W)108 444 Q(ORDS)-.1 E
+F0 .654(An array v)144 456 R .654(ariable \(see)-.25 F F1(Arrays)3.154 E
+F0(belo)3.154 E .654(w\) consisting of the indi)-.25 F .653(vidual w)
+-.25 F .653(ords in the current command)-.1 F 4.332(line. The)144 468 R
+1.832(line is split into w)4.332 F 1.832(ords as)-.1 F F1 -.18(re)4.332
+G(adline).18 E F0 -.1(wo)4.332 G 1.832(uld split it, using).1 F F3
+(COMP_W)4.332 E(ORDBREAKS)-.09 E F0(as)4.083 E .832(described abo)144
+480 R -.15(ve)-.15 G 5.832(.T).15 G .832(his v)-5.832 F .832
+(ariable is a)-.25 F -.25(va)-.2 G .831
+(ilable only in shell functions in).25 F -.2(vo)-.4 G -.1(ke).2 G 3.331
+(db).1 G 3.331(yt)-3.331 G .831(he programmable)-3.331 F(completion f)
+144 492 Q(acilities \(see)-.1 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
+F0(belo)2.5 E(w\).)-.25 E F1(COPR)108 504 Q(OC)-.3 E F0 .168(An array v)
+144 516 R .168(ariable \(see)-.25 F F1(Arrays)2.668 E F0(belo)2.669 E
+.169
+(w\) created to hold the \214le descriptors for output from and input)
+-.25 F(to an unnamed coprocess \(see)144 528 Q F1(Copr)2.5 E(ocesses)
+-.18 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1(DIRST)108 540 Q -.55(AC)
+-.9 G(K).55 E F0 2.26(An array v)144 552 R 2.26(ariable \(see)-.25 F F1
+(Arrays)4.76 E F0(belo)4.76 E 2.26
(w\) containing the current contents of the directory stack.)-.25 F
-1.094(Directories appear in the stack in the order the)144 331.2 R 3.594
+1.094(Directories appear in the stack in the order the)144 564 R 3.594
(ya)-.15 G 1.095(re displayed by the)-3.594 F F1(dirs)3.595 E F0 -.2(bu)
3.595 G 3.595(iltin. Assigning).2 F(to)3.595 E 1.432
-(members of this array v)144 343.2 R 1.432
+(members of this array v)144 576 R 1.432
(ariable may be used to modify directories already in the stack, b)-.25
-F 1.431(ut the)-.2 F F1(pushd)144 355.2 Q F0(and)2.746 E F1(popd)2.746 E
+F 1.431(ut the)-.2 F F1(pushd)144 588 Q F0(and)2.746 E F1(popd)2.746 E
F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546
-.15(ve d)-.15 H 2.746(irectories. Assignment).15 F .246(to this v)2.746
-F(ariable)-.25 E .351(will not change the current directory)144 367.2 R
+F(ariable)-.25 E .351(will not change the current directory)144 600 R
5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.85
-(ni).15 G(f)-2.85 E(it is subsequently reset.)144 379.2 Q F1(EUID)108
-396 Q F0 1.103(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u)-.25
-H 1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103
+(ni).15 G(f)-2.85 E(it is subsequently reset.)144 612 Q F1(EUID)108 624
+Q F0 1.103(Expands to the ef)11 F(fecti)-.25 E 1.403 -.15(ve u)-.25 H
+1.103(ser ID of the current user).15 F 3.603(,i)-.4 G 1.103
(nitialized at shell startup.)-3.603 F 1.104(This v)6.103 F 1.104
-(ariable is)-.25 F(readonly)144 408 Q(.)-.65 E F1(FUNCN)108 424.8 Q(AME)
--.2 E F0 .479(An array v)144 436.8 R .479
+(ariable is)-.25 F(readonly)144 636 Q(.)-.65 E F1(FUNCN)108 648 Q(AME)
+-.2 E F0 .479(An array v)144 660 R .479
(ariable containing the names of all shell functions currently in the e)
-.25 F -.15(xe)-.15 G .478(cution call stack.).15 F .276
-(The element with inde)144 448.8 R 2.776(x0i)-.15 G 2.776(st)-2.776 G
-.276(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)
--.15 G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F
-.25(element is)144 460.8 R/F4 10/Courier@0 SF("main")2.75 E F0 5.25(.T)C
-.25(his v)-5.25 F .25(ariable e)-.25 F .25
-(xists only when a shell function is e)-.15 F -.15(xe)-.15 G 2.75
-(cuting. Assignments).15 F(to)2.75 E F3(FUNCN)144 472.8 Q(AME)-.18 E F0
-(ha)2.634 E .684 -.15(ve n)-.2 H 2.884(oe).15 G -.25(ff)-2.884 G .384
-(ect and return an error status.).25 F(If)5.385 E F3(FUNCN)2.885 E(AME)
--.18 E F0 .385(is unset, it loses its special)2.635 F(properties, e)144
-484.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)
--2.5 G(ubsequently reset.)-2.5 E F1(GR)108 501.6 Q(OUPS)-.3 E F0 1.229
-(An array v)144 513.6 R 1.228(ariable containing the list of groups of \
-which the current user is a member)-.25 F 6.228(.A)-.55 G(ssign-)-6.228
-E .596(ments to)144 525.6 R F3(GR)3.096 E(OUPS)-.27 E F0(ha)2.847 E .897
--.15(ve n)-.2 H 3.097(oe).15 G -.25(ff)-3.097 G .597
-(ect and return an error status.).25 F(If)5.597 E F3(GR)3.097 E(OUPS)
--.27 E F0 .597(is unset, it loses its spe-)2.847 F(cial properties, e)
-144 537.6 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5
-(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 554.4 Q F0 .356
-(The history number)144 566.4 R 2.856(,o)-.4 G 2.856(ri)-2.856 G(nde)
--2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
-(he history list, of the current command.)-2.856 F(If)5.356 E F3
-(HISTCMD)2.855 E F0 .355(is unset, it)2.605 F
-(loses its special properties, e)144 578.4 Q -.15(ve)-.25 G 2.5(ni).15 G
-2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1
-(HOSTN)108 595.2 Q(AME)-.2 E F0
-(Automatically set to the name of the current host.)144 607.2 Q F1
-(HOSTTYPE)108 624 Q F0 .222(Automatically set to a string that uniquely\
- describes the type of machine on which)144 636 R F1(bash)2.723 E F0
-.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 648 R(def)
-2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 664.8 Q F0 1.408(Ea\
-ch time this parameter is referenced, the shell substitutes a decimal n\
-umber representing the)144 676.8 R .078(current sequential line number \
-\(starting with 1\) within a script or function.)144 688.8 R .079
-(When not in a script or)5.078 F .307(function, the v)144 700.8 R .307
-(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.306 E
-F3(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F
-(special properties, e)144 712.8 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)
--2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(11)185.955 E 0 Cg EP
+(The element with inde)144 672 R 2.776(x0i)-.15 G 2.776(st)-2.776 G .276
+(he name of an)-2.776 F 2.777(yc)-.15 G(urrently-e)-2.777 E -.15(xe)-.15
+G .277(cuting shell function.).15 F .277(The bottom-most)5.277 F .385
+(element \(the one with the highest inde)144 684 R .384(x\) is)-.15 F/F5
+10/Courier@0 SF("main")2.884 E F0 5.384(.T)C .384(his v)-5.384 F .384
+(ariable e)-.25 F .384(xists only when a shell func-)-.15 F .034
+(tion is e)144 696 R -.15(xe)-.15 G 2.534(cuting. Assignments).15 F(to)
+2.535 E F3(FUNCN)2.535 E(AME)-.18 E F0(ha)2.285 E .335 -.15(ve n)-.2 H
+2.535(oe).15 G -.25(ff)-2.535 G .035(ect and return an error status.).25
+F(If)5.035 E F3(FUNC-)2.535 E -.18(NA)144 708 S(ME).18 E F0
+(is unset, it loses its special properties, e)2.25 E -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
+-2.5 E 3.176(This v)144 726 R 3.176(ariable can be used with)-.25 F F1
+-.3(BA)5.675 G(SH_LINENO).3 E F0(and)5.675 E F1 -.3(BA)5.675 G
+(SH_SOURCE).3 E F0 8.175(.E)C 3.175(ach element of)-8.175 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(11)185.955 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(MA)108 84 Q(CHTYPE)-.55 E F0 .898(Automati\
-cally set to a string that fully describes the system type on which)144
-96 R F1(bash)3.398 E F0 .899(is e)3.398 F -.15(xe)-.15 G .899
-(cuting, in).15 F(the standard GNU)144 108 Q/F2 10/Times-Italic@0 SF
+-.35 E/F1 10/Times-Bold@0 SF(FUNCN)144 84 Q(AME)-.2 E F0 .11
+(has corresponding elements in)2.61 F F1 -.3(BA)2.61 G(SH_LINENO).3 E F0
+(and)2.61 E F1 -.3(BA)2.61 G(SH_SOURCE).3 E F0 .11(to describe)2.61 F
+10.057(the call stack.)144 96 R -.15(Fo)15.057 G 12.557(ri).15 G
+(nstance,)-12.557 E F1(${FUNCN)12.557 E(AME[)-.2 E/F2 10/Times-Italic@0
+SF($i)A F1(]})A F0 -.1(wa)12.557 G 12.557(sc).1 G 10.057
+(alled from the \214le)-12.557 F F1(${B)144 108 Q(ASH_SOURCE[)-.3 E F2
+($i+1)A F1(]})A F0 1.091(at line number)3.591 F F1(${B)3.591 E
+(ASH_LINENO[)-.3 E F2($i)A F1(]})A F0 6.091(.T)C(he)-6.091 E F1(caller)
+3.591 E F0 -.2(bu)3.592 G 1.092(iltin displays).2 F
+(the current call stack using this information.)144 120 Q F1(GR)108 132
+Q(OUPS)-.3 E F0 1.229(An array v)144 144 R 1.228(ariable containing the\
+ list of groups of which the current user is a member)-.25 F 6.228(.A)
+-.55 G(ssign-)-6.228 E .596(ments to)144 156 R/F3 9/Times-Bold@0 SF(GR)
+3.096 E(OUPS)-.27 E F0(ha)2.847 E .897 -.15(ve n)-.2 H 3.097(oe).15 G
+-.25(ff)-3.097 G .597(ect and return an error status.).25 F(If)5.597 E
+F3(GR)3.097 E(OUPS)-.27 E F0 .597(is unset, it loses its spe-)2.847 F
+(cial properties, e)144 168 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G
+2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(HISTCMD)108 180
+Q F0 .356(The history number)144 192 R 2.856(,o)-.4 G 2.856(ri)-2.856 G
+(nde)-2.856 E 2.856(xi)-.15 G 2.856(nt)-2.856 G .356
+(he history list, of the current command.)-2.856 F(If)5.356 E F3
+(HISTCMD)2.855 E F0 .355(is unset, it)2.605 F
+(loses its special properties, e)144 204 Q -.15(ve)-.25 G 2.5(ni).15 G
+2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1
+(HOSTN)108 216 Q(AME)-.2 E F0
+(Automatically set to the name of the current host.)144 228 Q F1
+(HOSTTYPE)108 240 Q F0 .222(Automatically set to a string that uniquely\
+ describes the type of machine on which)144 252 R F1(bash)2.723 E F0
+.223(is e)2.723 F -.15(xe)-.15 G(cut-).15 E 2.5(ing. The)144 264 R(def)
+2.5 E(ault is system-dependent.)-.1 E F1(LINENO)108 276 Q F0 1.408(Each\
+ time this parameter is referenced, the shell substitutes a decimal num\
+ber representing the)144 288 R .078(current sequential line number \(st\
+arting with 1\) within a script or function.)144 300 R .079
+(When not in a script or)5.078 F .307(function, the v)144 312 R .307
+(alue substituted is not guaranteed to be meaningful.)-.25 F(If)5.306 E
+F3(LINENO)2.806 E F0 .306(is unset, it loses its)2.556 F
+(special properties, e)144 324 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(fi)-2.5
+G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)-2.5 E F1(MA)108 336 Q
+(CHTYPE)-.55 E F0 .898(Automatically set to a string that fully describ\
+es the system type on which)144 348 R F1(bash)3.398 E F0 .899(is e)3.398
+F -.15(xe)-.15 G .899(cuting, in).15 F(the standard GNU)144 360 Q F2
(cpu-company-system)2.5 E F0 2.5(format. The)2.5 F(def)2.5 E
-(ault is system-dependent.)-.1 E F1(OLDPWD)108 124.8 Q F0(The pre)144
-136.8 Q(vious w)-.25 E(orking directory as set by the)-.1 E F1(cd)2.5 E
-F0(command.)2.5 E F1(OPT)108 153.6 Q(ARG)-.9 E F0 1.627(The v)144 165.6
-R 1.627(alue of the last option ar)-.25 F 1.627(gument processed by the)
--.18 F F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.626(iltin command \(see).2
-F/F3 9/Times-Bold@0 SF(SHELL)4.126 E -.09(BU)144 177.6 S(IL).09 E
-(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OPTIND)108 194.4 Q
-F0 1.651(The inde)144 206.4 R 4.151(xo)-.15 G 4.151(ft)-4.151 G 1.651
-(he ne)-4.151 F 1.651(xt ar)-.15 F 1.652(gument to be processed by the)
--.18 F F1(getopts)4.152 E F0 -.2(bu)4.152 G 1.652(iltin command \(see).2
-F F3(SHELL)4.152 E -.09(BU)144 218.4 S(IL).09 E(TIN COMMANDS)-.828 E F0
-(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108 235.2 Q F0 .329(Automatically se\
-t to a string that describes the operating system on which)144 247.2 R
-F1(bash)2.829 E F0 .329(is e)2.829 F -.15(xe)-.15 G 2.829(cuting. The)
-.15 F(def)144 259.2 Q(ault is system-dependent.)-.1 E F1(PIPEST)108 276
-Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144 288 R .61(ariable \(see)
--.25 F F1(Arrays)3.11 E F0(belo)3.11 E .61(w\) containing a list of e)
--.25 F .61(xit status v)-.15 F .61(alues from the processes in)-.25 F
-(the most-recently-e)144 300 Q -.15(xe)-.15 G(cuted fore).15 E
+(ault is system-dependent.)-.1 E F1(MAPFILE)108 372 Q F0 .294
+(An array v)144 384 R .294(ariable \(see)-.25 F F1(Arrays)2.794 E F0
+(belo)2.794 E .294(w\) created to hold the te)-.25 F .293
+(xt read by the)-.15 F F1(map\214le)2.793 E F0 -.2(bu)2.793 G .293
+(iltin when no).2 F -.25(va)144 396 S(riable name is supplied.).25 E F1
+(OLDPWD)108 408 Q F0(The pre)144 420 Q(vious w)-.25 E
+(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
+(OPT)108 432 Q(ARG)-.9 E F0 1.626(The v)144 444 R 1.627
+(alue of the last option ar)-.25 F 1.627(gument processed by the)-.18 F
+F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.627(iltin command \(see).2 F F3
+(SHELL)4.127 E -.09(BU)144 456 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
+2.25 E(w\).)-.25 E F1(OPTIND)108 468 Q F0 1.652(The inde)144 480 R 4.152
+(xo)-.15 G 4.152(ft)-4.152 G 1.652(he ne)-4.152 F 1.652(xt ar)-.15 F
+1.652(gument to be processed by the)-.18 F F1(getopts)4.151 E F0 -.2(bu)
+4.151 G 1.651(iltin command \(see).2 F F3(SHELL)4.151 E -.09(BU)144 492
+S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1(OSTYPE)108
+504 Q F0 .329(Automatically set to a string that describes the operatin\
+g system on which)144 516 R F1(bash)2.83 E F0 .33(is e)2.83 F -.15(xe)
+-.15 G 2.83(cuting. The).15 F(def)144 528 Q(ault is system-dependent.)
+-.1 E F1(PIPEST)108 540 Q -.95(AT)-.9 G(US).95 E F0 .61(An array v)144
+552 R .61(ariable \(see)-.25 F F1(Arrays)3.11 E F0(belo)3.11 E .61
+(w\) containing a list of e)-.25 F .61(xit status v)-.15 F .61
+(alues from the processes in)-.25 F(the most-recently-e)144 564 Q -.15
+(xe)-.15 G(cuted fore).15 E
(ground pipeline \(which may contain only a single command\).)-.15 E F1
-(PPID)108 316.8 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
+(PPID)108 576 Q F0(The process ID of the shell')12.67 E 2.5(sp)-.55 G
2.5(arent. This)-2.5 F -.25(va)2.5 G(riable is readonly).25 E(.)-.65 E
-F1(PWD)108 333.6 Q F0(The current w)12.67 E
+F1(PWD)108 588 Q F0(The current w)12.67 E
(orking directory as set by the)-.1 E F1(cd)2.5 E F0(command.)2.5 E F1
-(RANDOM)108 350.4 Q F0 .566
-(Each time this parameter is referenced, a random inte)144 362.4 R .565
-(ger between 0 and 32767 is generated.)-.15 F(The)5.565 E .01
-(sequence of random numbers may be initialized by assigning a v)144
-374.4 R .01(alue to)-.25 F F3(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0
-(If)4.51 E F3(RANDOM)2.51 E F0(is)2.26 E
-(unset, it loses its special properties, e)144 386.4 Q -.15(ve)-.25 G
-2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F1(REPL)108 403.2 Q(Y)-.92 E F0
-(Set to the line of input read by the)144 415.2 Q F1 -.18(re)2.5 G(ad)
-.18 E F0 -.2(bu)2.5 G(iltin command when no ar).2 E
-(guments are supplied.)-.18 E F1(SECONDS)108 432 Q F0 .795(Each time th\
-is parameter is referenced, the number of seconds since shell in)144 444
-R -.2(vo)-.4 G .795(cation is returned.).2 F .712(If a v)144 456 R .712
-(alue is assigned to)-.25 F F3(SECONDS)3.212 E F4(,)A F0 .712(the v)
-2.962 F .712(alue returned upon subsequent references is the number)-.25
-F .408(of seconds since the assignment plus the v)144 468 R .408
-(alue assigned.)-.25 F(If)5.408 E F3(SECONDS)2.908 E F0 .407
-(is unset, it loses its special)2.658 F(properties, e)144 480 Q -.15(ve)
+(RANDOM)108 600 Q F0 .565
+(Each time this parameter is referenced, a random inte)144 612 R .566
+(ger between 0 and 32767 is generated.)-.15 F(The)5.566 E .01
+(sequence of random numbers may be initialized by assigning a v)144 624
+R .01(alue to)-.25 F F3(RANDOM)2.51 E/F4 9/Times-Roman@0 SF(.)A F0(If)
+4.51 E F3(RANDOM)2.51 E F0(is)2.26 E
+(unset, it loses its special properties, e)144 636 Q -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
+-2.5 E F1(READLINE_LINE)108 648 Q F0 1.546(The contents of the)144 660 R
+F1 -.18(re)4.047 G(adline).18 E F0 1.547(line b)4.047 F(uf)-.2 E(fer)
+-.25 E 4.047(,f)-.4 G 1.547(or use with)-4.047 F/F5 10/Courier@0 SF
+1.547(bind -x)4.047 F F0(\(see)4.047 E F3 1.547(SHELL B)4.047 F(UIL)-.09
+E 1.547(TIN COM-)-.828 F(MANDS)144 672 Q F0(belo)2.25 E(w\).)-.25 E F1
+(READLINE_POINT)108 684 Q F0 .314
+(The position of the insertion point in the)144 696 R F1 -.18(re)2.813 G
+(adline).18 E F0 .313(line b)2.813 F(uf)-.2 E(fer)-.25 E 2.813(,f)-.4 G
+.313(or use with)-2.813 F F5 .313(bind -x)2.813 F F0(\(see)2.813 E F3
+(SHELL)2.813 E -.09(BU)144 708 S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)
+2.25 E(w\).)-.25 E(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(12)
+185.955 E 0 Cg EP
+%%Page: 13 13
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(REPL)108 84 Q(Y)-.92 E F0
+(Set to the line of input read by the)144 96 Q F1 -.18(re)2.5 G(ad).18 E
+F0 -.2(bu)2.5 G(iltin command when no ar).2 E(guments are supplied.)-.18
+E F1(SECONDS)108 108 Q F0 .795(Each time this parameter is referenced, \
+the number of seconds since shell in)144 120 R -.2(vo)-.4 G .795
+(cation is returned.).2 F .713(If a v)144 132 R .712
+(alue is assigned to)-.25 F/F2 9/Times-Bold@0 SF(SECONDS)3.212 E/F3 9
+/Times-Roman@0 SF(,)A F0 .712(the v)2.962 F .712
+(alue returned upon subsequent references is the number)-.25 F .407
+(of seconds since the assignment plus the v)144 144 R .408
+(alue assigned.)-.25 F(If)5.408 E F2(SECONDS)2.908 E F0 .408
+(is unset, it loses its special)2.658 F(properties, e)144 156 Q -.15(ve)
-.25 G 2.5(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G
-(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 496.8 Q F0 3.262(Ac)144
-508.8 S .763(olon-separated list of enabled shell options.)-3.262 F .763
-(Each w)5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F
-.763(gument for the)-.18 F F1<ad6f>144 520.8 Q F0 1.174(option to the)
-3.674 F F1(set)3.674 E F0 -.2(bu)3.674 G 1.174(iltin command \(see).2 F
-F3 1.173(SHELL B)3.673 F(UIL)-.09 E 1.173(TIN COMMANDS)-.828 F F0(belo)
-3.423 E 3.673(w\). The)-.25 F(options)3.673 E .019(appearing in)144
-532.8 R F3(SHELLOPTS)2.519 E F0 .019(are those reported as)2.269 F F2
-(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0 5.019(.I)C 2.519
-(ft)-5.019 G .019(his v)-2.519 F .02(ariable is in the en)-.25 F
-(vironment)-.4 E(when)144 544.8 Q F1(bash)3.142 E F0 .642(starts up, ea\
-ch shell option in the list will be enabled before reading an)3.142 F
-3.141(ys)-.15 G .641(tartup \214les.)-3.141 F(This v)144 556.8 Q
-(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 573.6 Q(VL)-.92 E F0
-(Incremented by one each time an instance of)144 585.6 Q F1(bash)2.5 E
-F0(is started.)2.5 E F1(UID)108 602.4 Q F0
+(ubsequently reset.)-2.5 E F1(SHELLOPTS)108 168 Q F0 3.263(Ac)144 180 S
+.763(olon-separated list of enabled shell options.)-3.263 F .763(Each w)
+5.763 F .763(ord in the list is a v)-.1 F .763(alid ar)-.25 F .763
+(gument for the)-.18 F F1<ad6f>144 192 Q F0 1.173(option to the)3.673 F
+F1(set)3.673 E F0 -.2(bu)3.673 G 1.173(iltin command \(see).2 F F2 1.174
+(SHELL B)3.674 F(UIL)-.09 E 1.174(TIN COMMANDS)-.828 F F0(belo)3.424 E
+3.674(w\). The)-.25 F(options)3.674 E .02(appearing in)144 204 R F2
+(SHELLOPTS)2.52 E F0 .019(are those reported as)2.27 F/F4 10
+/Times-Italic@0 SF(on)2.749 E F0(by)2.759 E F1 .019(set \255o)2.519 F F0
+5.019(.I)C 2.519(ft)-5.019 G .019(his v)-2.519 F .019
+(ariable is in the en)-.25 F(vironment)-.4 E(when)144 216 Q F1(bash)
+3.141 E F0 .642(starts up, each shell option in the list will be enable\
+d before reading an)3.141 F 3.142(ys)-.15 G .642(tartup \214les.)-3.142
+F(This v)144 228 Q(ariable is read-only)-.25 E(.)-.65 E F1(SHL)108 240 Q
+(VL)-.92 E F0(Incremented by one each time an instance of)144 252 Q F1
+(bash)2.5 E F0(is started.)2.5 E F1(UID)108 264 Q F0
(Expands to the user ID of the current user)17.67 E 2.5(,i)-.4 G
(nitialized at shell startup.)-2.5 E(This v)5 E(ariable is readonly)-.25
-E(.)-.65 E .993(The follo)108 619.2 R .993(wing v)-.25 F .994
+E(.)-.65 E .994(The follo)108 280.8 R .994(wing v)-.25 F .994
(ariables are used by the shell.)-.25 F .994(In some cases,)5.994 F F1
-(bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .994
-(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 631.2
-Q -.65(w.)-.25 G F1 -.3(BA)108 648 S(SH_ENV).3 E F0 .506
-(If this parameter is set when)144 660 R F1(bash)3.006 E F0 .506(is e)
-3.006 F -.15(xe)-.15 G .505(cuting a shell script, its v).15 F .505
-(alue is interpreted as a \214lename)-.25 F .354
-(containing commands to initialize the shell, as in)144 672 R F2
-(~/.bashr)2.855 E(c)-.37 E F0 5.355(.T).31 G .355(he v)-5.355 F .355
-(alue of)-.25 F F3 -.27(BA)2.855 G(SH_ENV).27 E F0 .355(is subjected)
-2.605 F .525(to parameter e)144 684 R .525
+(bash)3.494 E F0 .994(assigns a def)3.494 F .994(ault v)-.1 F .993
+(alue to a v)-.25 F(ariable;)-.25 E(these cases are noted belo)108 292.8
+Q -.65(w.)-.25 G F1 -.3(BA)108 309.6 S(SH_ENV).3 E F0 .505
+(If this parameter is set when)144 321.6 R F1(bash)3.005 E F0 .505(is e)
+3.005 F -.15(xe)-.15 G .506(cuting a shell script, its v).15 F .506
+(alue is interpreted as a \214lename)-.25 F .355
+(containing commands to initialize the shell, as in)144 333.6 R F4
+(~/.bashr)2.855 E(c)-.37 E F0 5.354(.T).31 G .354(he v)-5.354 F .354
+(alue of)-.25 F F2 -.27(BA)2.854 G(SH_ENV).27 E F0 .354(is subjected)
+2.604 F .525(to parameter e)144 345.6 R .525
(xpansion, command substitution, and arithmetic e)-.15 F .525
-(xpansion before being interpreted)-.15 F(as a \214le name.)144 696 Q F3
--.666(PA)5 G(TH)-.189 E F0
-(is not used to search for the resultant \214le name.)2.25 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(12)185.955 E 0 Cg EP
-%%Page: 13 13
+(xpansion before being interpreted)-.15 F(as a \214le name.)144 357.6 Q
+F2 -.666(PA)5 G(TH)-.189 E F0
+(is not used to search for the resultant \214le name.)2.25 E F1 -.3(BA)
+108 369.6 S(SH_XTRA).3 E(CEFD)-.55 E F0 .481(If set to an inte)144 381.6
+R .481(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25
+F(,)-.4 E F1(bash)2.98 E F0 .48(will write the trace output gener)2.98 F
+(-)-.2 E 3.114(ated when)144 393.6 R/F5 10/Courier@0 SF 3.114(set -x)
+5.614 F F0 3.114(is enabled to that \214le descriptor)5.614 F 8.114(.T)
+-.55 G 3.114(he \214le descriptor is closed when)-8.114 F F2 -.27(BA)144
+405.6 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138(is unset or assigned a ne)
+2.388 F 2.638(wv)-.25 G 2.638(alue. Unsetting)-2.888 F F2 -.27(BA)2.638
+G(SH_XTRA).27 E(CEFD)-.495 E F0 .138(or assigning it)2.388 F 2.531(the \
+empty string causes the trace output to be sent to the standard error)
+144 417.6 R 7.531(.N)-.55 G 2.531(ote that setting)-7.531 F F2 -.27(BA)
+144 429.6 S(SH_XTRA).27 E(CEFD)-.495 E F0 .74(to 2 \(the standard error\
+ \214le descriptor\) and then unsetting it will result in the)2.991 F
+(standard error being closed.)144 441.6 Q F1(CDP)108 453.6 Q -.95(AT)
+-.74 G(H).95 E F0 1.247(The search path for the)144 465.6 R F1(cd)3.747
+E F0 3.747(command. This)3.747 F 1.248
+(is a colon-separated list of directories in which the)3.747 F 3.796
+(shell looks for destination directories speci\214ed by the)144 477.6 R
+F1(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795
+(alue is)-.25 F F5(".:~:/usr")144 489.6 Q F0(.)A F1(COLUMNS)108 501.6 Q
+F0 .828(Used by the)144 513.6 R F1(select)3.328 E F0 .829(compound comm\
+and to determine the terminal width when printing selection)3.328 F 2.5
+(lists. Automatically)144 525.6 R(set upon receipt of a)2.5 E F2
+(SIGWINCH)2.5 E F3(.)A F1(COMPREPL)108 537.6 Q(Y)-.92 E F0 .848
+(An array v)144 549.6 R .848(ariable from which)-.25 F F1(bash)3.348 E
+F0 .848(reads the possible completions generated by a shell function)
+3.348 F(in)144 561.6 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5
+G(he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
+(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 573.6
+Q(CS)-.55 E F0(If)144 585.6 Q F1(bash)2.535 E F0 .035(\214nds this v)
+2.535 F .035(ariable in the en)-.25 F .036
+(vironment when the shell starts with v)-.4 F(alue)-.25 E F5(t)2.536 E
+F0 2.536(,i)C 2.536(ta)-2.536 G .036(ssumes that the)-2.536 F
+(shell is running in an Emacs shell b)144 597.6 Q(uf)-.2 E
+(fer and disables line editing.)-.25 E F1(ENV)108 609.6 Q F0(Similar to)
+14.89 E F2 -.27(BA)2.5 G(SH_ENV).27 E F3(;)A F0
+(used when the shell is in)2.25 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
+2.5(nP)-2.5 G(OSIX mode.)-2.5 E F1(FCEDIT)108 621.6 Q F0(The def)144
+633.6 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
+(iltin command.).2 E F1(FIGNORE)108 645.6 Q F0 2.599(Ac)144 657.6 S .098
+(olon-separated list of suf)-2.599 F<8c78>-.25 E .098
+(es to ignore when performing \214lename completion \(see)-.15 F F2
+(READLINE)2.598 E F0(belo)144 669.6 Q 2.704(w\). A)-.25 F .204
+(\214lename whose suf)2.704 F .205(\214x matches one of the entries in)
+-.25 F F2(FIGNORE)2.705 E F0 .205(is e)2.455 F .205
+(xcluded from the list)-.15 F(of matched \214lenames.)144 681.6 Q 2.5
+(As)5 G(ample v)-2.5 E(alue is)-.25 E F5(".o:~")2.5 E F0(.)A F1
+(FUNCNEST)108 693.6 Q F0 1.78(If set to a numeric v)144 705.6 R 1.78
+(alue greater than 0, de\214nes a maximum function nesting le)-.25 F
+-.15(ve)-.25 G 4.28(l. Function).15 F(in)144 717.6 Q -.2(vo)-.4 G
+(cations that e).2 E(xceed this nesting le)-.15 E -.15(ve)-.25 G 2.5(lw)
+.15 G(ill cause the current command to abort.)-2.5 E(GNU Bash-4.2)72 768
+Q(2010 December 28)135.965 E(13)185.955 E 0 Cg EP
+%%Page: 14 14
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(CDP)108 84 Q -.95(AT)-.74 G(H).95 E F0
-1.247(The search path for the)144 96 R F1(cd)3.747 E F0 3.747
-(command. This)3.747 F 1.248
-(is a colon-separated list of directories in which the)3.747 F 3.796
-(shell looks for destination directories speci\214ed by the)144 108 R F1
-(cd)6.295 E F0 6.295(command. A)6.295 F 3.795(sample v)6.295 F 3.795
-(alue is)-.25 F/F2 10/Courier@0 SF(".:~:/usr")144 120 Q F0(.)A F1 -.3
-(BA)108 132 S(SH_XTRA).3 E(CEFD)-.55 E F0 .48(If set to an inte)144 144
-R .48(ger corresponding to a v)-.15 F .481(alid \214le descriptor)-.25 F
-(,)-.4 E F1(bash)2.981 E F0 .481(will write the trace output gener)2.981
-F(-)-.2 E 3.114(ated when)144 156 R F2 3.114(set -x)5.614 F F0 3.114
-(is enabled to that \214le descriptor)5.614 F 8.114(.T)-.55 G 3.114
-(he \214le descriptor is closed when)-8.114 F/F3 9/Times-Bold@0 SF -.27
-(BA)144 168 S(SH_XTRA).27 E(CEFD)-.495 E F0 .138
-(is unset or assigned a ne)2.388 F 2.638(wv)-.25 G 2.638
-(alue. Unsetting)-2.888 F F3 -.27(BA)2.638 G(SH_XTRA).27 E(CEFD)-.495 E
-F0 .138(or assigning it)2.388 F 2.531(the empty string causes the trace\
- output to be sent to the standard error)144 180 R 7.53(.N)-.55 G 2.53
-(ote that setting)-7.53 F F3 -.27(BA)144 192 S(SH_XTRA).27 E(CEFD)-.495
-E F0 .74(to 2 \(the standard error \214le descriptor\) and then unsetti\
-ng it will result in the)2.99 F(standard error being closed.)144 204 Q
-F1(COLUMNS)108 216 Q F0 .425(Used by the)144 228 R F1(select)2.925 E F0
--.2(bu)2.925 G .425(iltin command to determine the terminal width when \
-printing selection lists.).2 F
-(Automatically set upon receipt of a SIGWINCH.)144 240 Q F1(COMPREPL)108
-252 Q(Y)-.92 E F0 .847(An array v)144 264 R .848(ariable from which)-.25
-F F1(bash)3.348 E F0 .848
-(reads the possible completions generated by a shell function)3.348 F
-(in)144 276 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(db).1 G 2.5(yt)-2.5 G
-(he programmable completion f)-2.5 E(acility \(see)-.1 E F1(Pr)2.5 E
-(ogrammable Completion)-.18 E F0(belo)2.5 E(w\).)-.25 E F1(EMA)108 288 Q
-(CS)-.55 E F0(If)144 300 Q F1(bash)2.536 E F0 .036(\214nds this v)2.536
-F .036(ariable in the en)-.25 F .036
-(vironment when the shell starts with v)-.4 F(alue)-.25 E F2(t)2.535 E
-F0 2.535(,i)C 2.535(ta)-2.535 G .035(ssumes that the)-2.535 F
-(shell is running in an emacs shell b)144 312 Q(uf)-.2 E
-(fer and disables line editing.)-.25 E F1(FCEDIT)108 324 Q F0(The def)
-144 336 Q(ault editor for the)-.1 E F1(fc)2.5 E F0 -.2(bu)2.5 G
-(iltin command.).2 E F1(FIGNORE)108 348 Q F0 2.598(Ac)144 360 S .098
-(olon-separated list of suf)-2.598 F<8c78>-.25 E .098
-(es to ignore when performing \214lename completion \(see)-.15 F F3
-(READLINE)2.599 E F0(belo)144 372 Q 2.705(w\). A)-.25 F .205
-(\214lename whose suf)2.705 F .205(\214x matches one of the entries in)
--.25 F F3(FIGNORE)2.705 E F0 .205(is e)2.455 F .204
-(xcluded from the list)-.15 F(of matched \214lenames.)144 384 Q 2.5(As)5
-G(ample v)-2.5 E(alue is)-.25 E F2(".o:~")2.5 E F0(.)A F1(GLOBIGNORE)108
-396 Q F0 3.118(Ac)144 408 S .618(olon-separated list of patterns de\214\
-ning the set of \214lenames to be ignored by pathname e)-3.118 F(xpan-)
--.15 E 3.132(sion. If)144 420 R 3.132<618c>3.132 G .632
-(lename matched by a pathname e)-3.132 F .632
-(xpansion pattern also matches one of the patterns in)-.15 F F3
-(GLOBIGNORE)144 432 Q/F4 9/Times-Roman@0 SF(,)A F0(it is remo)2.25 E
--.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.)-2.5 E F1
-(HISTCONTR)108 444 Q(OL)-.3 E F0 2.653(Ac)144 456 S .153
+-.35 E/F1 10/Times-Bold@0 SF(GLOBIGNORE)108 84 Q F0 3.118(Ac)144 96 S
+.618(olon-separated list of patterns de\214ning the set of \214lenames \
+to be ignored by pathname e)-3.118 F(xpan-)-.15 E 3.132(sion. If)144 108
+R 3.132<618c>3.132 G .632(lename matched by a pathname e)-3.132 F .632
+(xpansion pattern also matches one of the patterns in)-.15 F/F2 9
+/Times-Bold@0 SF(GLOBIGNORE)144 120 Q/F3 9/Times-Roman@0 SF(,)A F0
+(it is remo)2.25 E -.15(ve)-.15 G 2.5(df).15 G(rom the list of matches.)
+-2.5 E F1(HISTCONTR)108 132 Q(OL)-.3 E F0 2.653(Ac)144 144 S .153
(olon-separated list of v)-2.653 F .153(alues controlling ho)-.25 F
2.653(wc)-.25 G .153(ommands are sa)-2.653 F -.15(ve)-.2 G 2.653(do).15
G 2.653(nt)-2.653 G .153(he history list.)-2.653 F .154(If the list)
-5.153 F .491(of v)144 468 R .491(alues includes)-.25 F/F5 10
+5.153 F .491(of v)144 156 R .491(alues includes)-.25 F/F4 10
/Times-Italic@0 SF(ignor)2.991 E(espace)-.37 E F0 2.991(,l).18 G .491
(ines which be)-2.991 F .491(gin with a)-.15 F F1(space)2.991 E F0 .49
(character are not sa)2.991 F -.15(ve)-.2 G 2.99(di).15 G 2.99(nt)-2.99
-G .49(he his-)-2.99 F .557(tory list.)144 480 R 3.057(Av)5.557 G .557
-(alue of)-3.307 F F5(ignor)3.067 E(edups)-.37 E F0 .557
+G .49(he his-)-2.99 F .557(tory list.)144 168 R 3.057(Av)5.557 G .557
+(alue of)-3.307 F F4(ignor)3.067 E(edups)-.37 E F0 .557
(causes lines matching the pre)3.327 F .558
(vious history entry to not be sa)-.25 F -.15(ve)-.2 G(d.).15 E 2.959
-(Av)144 492 S .459(alue of)-3.209 F F5(ignor)2.969 E(eboth)-.37 E F0
-.459(is shorthand for)3.239 F F5(ignor)2.959 E(espace)-.37 E F0(and)
-2.959 E F5(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458
-(lue of).25 F F5(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698
-(all pre)144 504 R .698
+(Av)144 180 S .459(alue of)-3.209 F F4(ignor)2.969 E(eboth)-.37 E F0
+.459(is shorthand for)3.239 F F4(ignor)2.959 E(espace)-.37 E F0(and)
+2.959 E F4(ignor)2.958 E(edups)-.37 E F0 5.458(.A)C -.25(va)-2.5 G .458
+(lue of).25 F F4(er)2.958 E(asedups)-.15 E F0(causes)2.958 E .698
+(all pre)144 192 R .698
(vious lines matching the current line to be remo)-.25 F -.15(ve)-.15 G
3.198(df).15 G .699(rom the history list before that line is)-3.198 F
-(sa)144 516 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264
+(sa)144 204 Q -.15(ve)-.2 G 2.764(d. An).15 F 2.764(yv)-.15 G .264
(alue not in the abo)-3.014 F .563 -.15(ve l)-.15 H .263
-(ist is ignored.).15 F(If)5.263 E F3(HISTCONTR)2.763 E(OL)-.27 E F0 .263
-(is unset, or does not include)2.513 F 2.941(av)144 528 S .441(alid v)
+(ist is ignored.).15 F(If)5.263 E F2(HISTCONTR)2.763 E(OL)-.27 E F0 .263
+(is unset, or does not include)2.513 F 2.941(av)144 216 S .441(alid v)
-3.191 F .441(alue, all lines read by the shell parser are sa)-.25 F
-.15(ve)-.2 G 2.942(do).15 G 2.942(nt)-2.942 G .442
-(he history list, subject to the v)-2.942 F .442(alue of)-.25 F F3
-(HISTIGNORE)144 540 Q F4(.)A F0 1.981(The second and subsequent lines o\
+(he history list, subject to the v)-2.942 F .442(alue of)-.25 F F2
+(HISTIGNORE)144 228 Q F3(.)A F0 1.981(The second and subsequent lines o\
f a multi-line compound command are not)6.482 F
-(tested, and are added to the history re)144 552 Q -.05(ga)-.15 G
-(rdless of the v).05 E(alue of)-.25 E F3(HISTCONTR)2.5 E(OL)-.27 E F4(.)
-A F1(HISTFILE)108 564 Q F0 .181
-(The name of the \214le in which command history is sa)144 576 R -.15
-(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F3(HIST)2.681 E(OR)-.162 E(Y)
+(tested, and are added to the history re)144 240 Q -.05(ga)-.15 G
+(rdless of the v).05 E(alue of)-.25 E F2(HISTCONTR)2.5 E(OL)-.27 E F3(.)
+A F1(HISTFILE)108 252 Q F0 .181
+(The name of the \214le in which command history is sa)144 264 R -.15
+(ve)-.2 G 2.681(d\().15 G(see)-2.681 E F2(HIST)2.681 E(OR)-.162 E(Y)
-.315 E F0(belo)2.431 E 2.682(w\). The)-.25 F(def)2.682 E .182(ault v)
--.1 F(alue)-.25 E(is)144 588 Q F5(~/.bash_history)2.5 E F0 5(.I)C 2.5
+-.1 F(alue)-.25 E(is)144 276 Q F4(~/.bash_history)2.5 E F0 5(.I)C 2.5
(fu)-5 G(nset, the command history is not sa)-2.5 E -.15(ve)-.2 G 2.5
(dw).15 G(hen an interacti)-2.5 E .3 -.15(ve s)-.25 H(hell e).15 E
-(xits.)-.15 E F1(HISTFILESIZE)108 600 Q F0 1.623
-(The maximum number of lines contained in the history \214le.)144 612 R
+(xits.)-.15 E F1(HISTFILESIZE)108 288 Q F0 1.623
+(The maximum number of lines contained in the history \214le.)144 300 R
1.622(When this v)6.623 F 1.622(ariable is assigned a)-.25 F -.25(va)144
-624 S .305(lue, the history \214le is truncated, if necessary).25 F
+312 S .305(lue, the history \214le is truncated, if necessary).25 F
2.805(,b)-.65 G 2.805(yr)-2.805 G(emo)-2.805 E .305
(ving the oldest entries, to contain no more)-.15 F .602
-(than that number of lines.)144 636 R .602(The def)5.602 F .602(ault v)
+(than that number of lines.)144 324 R .602(The def)5.602 F .602(ault v)
-.1 F .602(alue is 500.)-.25 F .601
(The history \214le is also truncated to this size)5.602 F
-(after writing it when an interacti)144 648 Q .3 -.15(ve s)-.25 H
-(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 660 Q F0 2.657(Ac)144 672 S
+(after writing it when an interacti)144 336 Q .3 -.15(ve s)-.25 H
+(hell e).15 E(xits.)-.15 E F1(HISTIGNORE)108 348 Q F0 2.657(Ac)144 360 S
.157(olon-separated list of patterns used to decide which command lines\
should be sa)-2.657 F -.15(ve)-.2 G 2.658(do).15 G 2.658(nt)-2.658 G
-.158(he his-)-2.658 F .708(tory list.)144 684 R .708
+.158(he his-)-2.658 F .708(tory list.)144 372 R .708
(Each pattern is anchored at the be)5.708 F .707
(ginning of the line and must match the complete line)-.15 F .625
-(\(no implicit `)144 696 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125
+(\(no implicit `)144 384 R F1(*)A F0 3.125('i)C 3.125(sa)-3.125 G 3.125
(ppended\). Each)-3.125 F .626(pattern is tested ag)3.125 F .626
-(ainst the line after the checks speci\214ed by)-.05 F F3(HISTCONTR)144
-708 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793
+(ainst the line after the checks speci\214ed by)-.05 F F2(HISTCONTR)144
+396 Q(OL)-.27 E F0 1.793(are applied.)4.043 F 1.793
(In addition to the normal shell pattern matching characters, `)6.793 F
-F1(&)A F0(')A 2.514(matches the pre)144 720 R 2.514(vious history line.)
+F1(&)A F0(')A 2.514(matches the pre)144 408 R 2.514(vious history line.)
-.25 F(`)7.514 E F1(&)A F0 5.014('m)C 2.514
-(ay be escaped using a backslash; the backslash is)-5.014 F
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(13)185.955 E 0 Cg EP
-%%Page: 14 14
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(remo)144 84 Q -.15(ve)-.15 G 3.353(db).15 G .853
-(efore attempting a match.)-3.353 F .852
-(The second and subsequent lines of a multi-line compound)5.852 F
-(command are not tested, and are added to the history re)144 96 Q -.05
-(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E/F1 9/Times-Bold@0 SF
-(HISTIGNORE)2.5 E/F2 9/Times-Roman@0 SF(.)A/F3 10/Times-Bold@0 SF
-(HISTSIZE)108 108 Q F0 1.942
-(The number of commands to remember in the command history \(see)144 120
-R F1(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The)
--.25 F(def)144 132 Q(ault v)-.1 E(alue is 500.)-.25 E F3(HISTTIMEFORMA)
-108 144 Q(T)-.95 E F0 .952(If this v)144 156 R .952
+(ay be escaped using a backslash; the backslash is)-5.014 F(remo)144 420
+Q -.15(ve)-.15 G 3.353(db).15 G .853(efore attempting a match.)-3.353 F
+.852(The second and subsequent lines of a multi-line compound)5.852 F
+(command are not tested, and are added to the history re)144 432 Q -.05
+(ga)-.15 G(rdless of the v).05 E(alue of)-.25 E F2(HISTIGNORE)2.5 E F3
+(.)A F1(HISTSIZE)108 444 Q F0 1.942
+(The number of commands to remember in the command history \(see)144 456
+R F2(HIST)4.443 E(OR)-.162 E(Y)-.315 E F0(belo)4.193 E 4.443(w\). The)
+-.25 F(def)144 468 Q(ault v)-.1 E(alue is 500.)-.25 E F1(HISTTIMEFORMA)
+108 480 Q(T)-.95 E F0 .952(If this v)144 492 R .952
(ariable is set and not null, its v)-.25 F .951
-(alue is used as a format string for)-.25 F/F4 10/Times-Italic@0 SF
-(strftime)3.451 E F0 .951(\(3\) to print the)B .672
-(time stamp associated with each history entry displayed by the)144 168
-R F3(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v)
+(alue is used as a format string for)-.25 F F4(strftime)3.451 E F0 .951
+(\(3\) to print the)B .672
+(time stamp associated with each history entry displayed by the)144 504
+R F1(history)3.173 E F0 -.2(bu)3.173 G 3.173(iltin. If).2 F .673(this v)
3.173 F .673(ariable is)-.25 F .144
-(set, time stamps are written to the history \214le so the)144 180 R
+(set, time stamps are written to the history \214le so the)144 516 R
2.644(ym)-.15 G .144(ay be preserv)-2.644 F .144
(ed across shell sessions.)-.15 F(This)5.144 E(uses the history comment\
- character to distinguish timestamps from other history lines.)144 192 Q
-F3(HOME)108 204 Q F0 1.27
-(The home directory of the current user; the def)144 216 R 1.27(ault ar)
--.1 F 1.27(gument for the)-.18 F F3(cd)3.77 E F0 -.2(bu)3.77 G 1.27
-(iltin command.).2 F(The)6.27 E -.25(va)144 228 S(lue of this v).25 E
-(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F3
-(HOSTFILE)108 240 Q F0 1.015
-(Contains the name of a \214le in the same format as)144 252 R F4
+ character to distinguish timestamps from other history lines.)144 528 Q
+F1(HOME)108 540 Q F0 1.27
+(The home directory of the current user; the def)144 552 R 1.27(ault ar)
+-.1 F 1.27(gument for the)-.18 F F1(cd)3.77 E F0 -.2(bu)3.77 G 1.27
+(iltin command.).2 F(The)6.27 E -.25(va)144 564 S(lue of this v).25 E
+(ariable is also used when performing tilde e)-.25 E(xpansion.)-.15 E F1
+(HOSTFILE)108 576 Q F0 1.015
+(Contains the name of a \214le in the same format as)144 588 R F4
(/etc/hosts)5.181 E F0 1.015(that should be read when the shell)5.181 F
-.55(needs to complete a hostname.)144 264 R .551
+.55(needs to complete a hostname.)144 600 R .551
(The list of possible hostname completions may be changed while)5.551 F
-1.059(the shell is running; the ne)144 276 R 1.059
+1.059(the shell is running; the ne)144 612 R 1.059
(xt time hostname completion is attempted after the v)-.15 F 1.058
-(alue is changed,)-.25 F F3(bash)144 288 Q F0 .138
+(alue is changed,)-.25 F F1(bash)144 624 Q F0 .138
(adds the contents of the ne)2.638 F 2.638<778c>-.25 G .138(le to the e)
--2.638 F .138(xisting list.)-.15 F(If)5.138 E F1(HOSTFILE)2.638 E F0
+-2.638 F .138(xisting list.)-.15 F(If)5.138 E F2(HOSTFILE)2.638 E F0
.138(is set, b)2.388 F .139(ut has no v)-.2 F .139(alue, or)-.25 F .518
-(does not name a readable \214le,)144 300 R F3(bash)3.018 E F0 .518
+(does not name a readable \214le,)144 636 R F1(bash)3.018 E F0 .518
(attempts to read)3.018 F F4(/etc/hosts)4.683 E F0 .517
-(to obtain the list of possible host-)4.683 F(name completions.)144 312
-Q(When)5 E F1(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.)
-2.25 E F3(IFS)108 324 Q F0(The)20.44 E F4 .555(Internal F)3.635 F .555
+(to obtain the list of possible host-)4.683 F(name completions.)144 648
+Q(When)5 E F2(HOSTFILE)2.5 E F0(is unset, the hostname list is cleared.)
+2.25 E F1(IFS)108 660 Q F0(The)20.44 E F4 .555(Internal F)3.635 F .555
(ield Separ)-.45 F(ator)-.15 E F0 .555(that is used for w)3.785 F .556
(ord splitting after e)-.1 F .556(xpansion and to split lines into)-.15
-F -.1(wo)144 336 S(rds with the).1 E F3 -.18(re)2.5 G(ad).18 E F0 -.2
+F -.1(wo)144 672 S(rds with the).1 E F1 -.18(re)2.5 G(ad).18 E F0 -.2
(bu)2.5 G(iltin command.).2 E(The def)5 E(ault v)-.1 E(alue is `)-.25 E
-(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F3(IGNOREEOF)108 348 Q
-F0 .503(Controls the action of an interacti)144 360 R .803 -.15(ve s)
--.25 H .503(hell on receipt of an).15 F F1(EOF)3.003 E F0 .503
+(`<space><tab><ne)-.74 E(wline>')-.25 E('.)-.74 E F1(IGNOREEOF)108 684 Q
+F0 .503(Controls the action of an interacti)144 696 R .803 -.15(ve s)
+-.25 H .503(hell on receipt of an).15 F F2(EOF)3.003 E F0 .503
(character as the sole input.)2.753 F .503(If set,)5.503 F .426(the v)
-144 372 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F1
+144 708 R .426(alue is the number of consecuti)-.25 F -.15(ve)-.25 G F2
(EOF)3.076 E F0 .426
(characters which must be typed as the \214rst characters)2.676 F .303
-(on an input line before)144 384 R F3(bash)2.802 E F0 -.15(ex)2.802 G
+(on an input line before)144 720 R F1(bash)2.802 E F0 -.15(ex)2.802 G
2.802(its. If).15 F .302(the v)2.802 F .302(ariable e)-.25 F .302
(xists b)-.15 F .302(ut does not ha)-.2 F .602 -.15(ve a n)-.2 H .302
-(umeric v).15 F .302(alue, or has)-.25 F(no v)144 396 Q(alue, the def)
--.25 E(ault v)-.1 E(alue is 10.)-.25 E(If it does not e)5 E(xist,)-.15 E
-F1(EOF)2.5 E F0(signi\214es the end of input to the shell.)2.25 E F3
-(INPUTRC)108 408 Q F0 1.435(The \214lename for the)144 420 R F3 -.18(re)
-3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G
-1.436(rriding the def).15 F 1.436(ault of)-.1 F F4(~/.inputr)5.602 E(c)
--.37 E F0(\(see)5.602 E F1(READLINE)3.936 E F0(belo)144 432 Q(w\).)-.25
-E F3(LANG)108 444 Q F0 1.24(Used to determine the locale cate)7.11 F
-1.239(gory for an)-.15 F 3.739(yc)-.15 G(ate)-3.739 E 1.239
-(gory not speci\214cally selected with a v)-.15 F(ariable)-.25 E
-(starting with)144 456 Q F3(LC_)2.5 E F0(.)A F3(LC_ALL)108 468 Q F0 .973
-(This v)144 480 R .973(ariable o)-.25 F -.15(ve)-.15 G .973
-(rrides the v).15 F .973(alue of)-.25 F F1(LANG)3.473 E F0 .973(and an)
-3.223 F 3.473(yo)-.15 G(ther)-3.473 E F3(LC_)3.473 E F0 -.25(va)3.473 G
-.974(riable specifying a locale cate-).25 F(gory)144 492 Q(.)-.65 E F3
-(LC_COLLA)108 504 Q(TE)-.95 E F0 .412(This v)144 516 R .412(ariable det\
-ermines the collation order used when sorting the results of pathname e)
--.25 F(xpansion,)-.15 E 1.464(and determines the beha)144 528 R 1.464
-(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)-.25 G
-1.465(lence classes, and collating sequences).25 F(within pathname e)144
-540 Q(xpansion and pattern matching.)-.15 E F3(LC_CTYPE)108 552 Q F0
-1.936(This v)144 564 R 1.936
-(ariable determines the interpretation of characters and the beha)-.25 F
-1.935(vior of character classes)-.2 F(within pathname e)144 576 Q
-(xpansion and pattern matching.)-.15 E F3(LC_MESSA)108 588 Q(GES)-.55 E
-F0(This v)144 600 Q(ariable determines the locale used to translate dou\
-ble-quoted strings preceded by a)-.25 E F3($)2.5 E F0(.)A F3(LC_NUMERIC)
-108 612 Q F0(This v)144 624 Q(ariable determines the locale cate)-.25 E
-(gory used for number formatting.)-.15 E F3(LINES)108 636 Q F0 1.218
-(Used by the)5.99 F F3(select)3.718 E F0 -.2(bu)3.718 G 1.219(iltin com\
-mand to determine the column length for printing selection lists.).2 F
-(Automatically set upon receipt of a)144 648 Q F1(SIGWINCH)2.5 E F2(.)A
-F3(MAIL)108 660 Q F0 .188
-(If this parameter is set to a \214le name and the)8.78 F F1(MAILP)2.687
-E -.855(AT)-.666 G(H).855 E F0 -.25(va)2.437 G .187(riable is not set,)
-.25 F F3(bash)2.687 E F0 .187(informs the user)2.687 F(of the arri)144
-672 Q -.25(va)-.25 G 2.5(lo).25 G 2.5(fm)-2.5 G
-(ail in the speci\214ed \214le.)-2.5 E F3(MAILCHECK)108 684 Q F0 .098
-(Speci\214es ho)144 696 R 2.598(wo)-.25 G .098(ften \(in seconds\))
--2.598 F F3(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
-5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224
-(to check for mail, the shell does so before displaying the primary pro\
-mpt.)144 708 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066
-(or set to a v)144 720 R .066(alue that is not a number greater than or\
- equal to zero, the shell disables mail checking.)-.25 F(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(14)185.955 E 0 Cg EP
+(umeric v).15 F .302(alue, or has)-.25 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(14)185.955 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(MAILP)108 84 Q -.95(AT)-.74 G(H).95 E F0
-2.815(Ac)144 96 S .314(olon-separated list of \214le names to be check)
--2.815 F .314(ed for mail.)-.1 F .314
-(The message to be printed when mail)5.314 F(arri)144 108 Q -.15(ve)-.25
-G 3.42(si).15 G 3.42(nap)-3.42 G .92(articular \214le may be speci\214e\
-d by separating the \214le name from the message with a)-3.42 F 2.808
-(`?'. When)144 120 R .308(used in the te)2.808 F .308
-(xt of the message,)-.15 F F1($_)2.808 E F0 -.15(ex)2.808 G .308
-(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E(ple:)
-144 132 Q F1(MAILP)144 144 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A
+-.35 E(no v)144 84 Q(alue, the def)-.25 E(ault v)-.1 E(alue is 10.)-.25
+E(If it does not e)5 E(xist,)-.15 E/F1 9/Times-Bold@0 SF(EOF)2.5 E F0
+(signi\214es the end of input to the shell.)2.25 E/F2 10/Times-Bold@0 SF
+(INPUTRC)108 96 Q F0 1.435(The \214lename for the)144 108 R F2 -.18(re)
+3.936 G(adline).18 E F0 1.436(startup \214le, o)3.936 F -.15(ve)-.15 G
+1.436(rriding the def).15 F 1.436(ault of)-.1 F/F3 10/Times-Italic@0 SF
+(~/.inputr)5.602 E(c)-.37 E F0(\(see)5.602 E F1(READLINE)3.936 E F0
+(belo)144 120 Q(w\).)-.25 E F2(LANG)108 132 Q F0 1.24
+(Used to determine the locale cate)7.11 F 1.239(gory for an)-.15 F 3.739
+(yc)-.15 G(ate)-3.739 E 1.239(gory not speci\214cally selected with a v)
+-.15 F(ariable)-.25 E(starting with)144 144 Q F2(LC_)2.5 E F0(.)A F2
+(LC_ALL)108 156 Q F0 .973(This v)144 168 R .973(ariable o)-.25 F -.15
+(ve)-.15 G .973(rrides the v).15 F .973(alue of)-.25 F F1(LANG)3.473 E
+F0 .973(and an)3.223 F 3.473(yo)-.15 G(ther)-3.473 E F2(LC_)3.473 E F0
+-.25(va)3.473 G .974(riable specifying a locale cate-).25 F(gory)144 180
+Q(.)-.65 E F2(LC_COLLA)108 192 Q(TE)-.95 E F0 .412(This v)144 204 R .412
+(ariable determines the collation order used when sorting the results o\
+f pathname e)-.25 F(xpansion,)-.15 E 1.464(and determines the beha)144
+216 R 1.464(vior of range e)-.2 F 1.465(xpressions, equi)-.15 F -.25(va)
+-.25 G 1.465(lence classes, and collating sequences).25 F
+(within pathname e)144 228 Q(xpansion and pattern matching.)-.15 E F2
+(LC_CTYPE)108 240 Q F0 1.936(This v)144 252 R 1.936
+(ariable determines the interpretation of characters and the beha)-.25 F
+1.935(vior of character classes)-.2 F(within pathname e)144 264 Q
+(xpansion and pattern matching.)-.15 E F2(LC_MESSA)108 276 Q(GES)-.55 E
+F0(This v)144 288 Q(ariable determines the locale used to translate dou\
+ble-quoted strings preceded by a)-.25 E F2($)2.5 E F0(.)A F2(LC_NUMERIC)
+108 300 Q F0(This v)144 312 Q(ariable determines the locale cate)-.25 E
+(gory used for number formatting.)-.15 E F2(LINES)108 324 Q F0 .054
+(Used by the)5.99 F F2(select)2.554 E F0 .054(compound command to deter\
+mine the column length for printing selection lists.)2.554 F
+(Automatically set upon receipt of a)144 336 Q F1(SIGWINCH)2.5 E/F4 9
+/Times-Roman@0 SF(.)A F2(MAIL)108 348 Q F0 1.201
+(If this parameter is set to a \214le or directory name and the)8.78 F
+F1(MAILP)3.701 E -.855(AT)-.666 G(H).855 E F0 -.25(va)3.451 G 1.201
+(riable is not set,).25 F F2(bash)3.701 E F0
+(informs the user of the arri)144 360 Q -.25(va)-.25 G 2.5(lo).25 G 2.5
+(fm)-2.5 G(ail in the speci\214ed \214le or Maildir)-2.5 E
+(-format directory)-.2 E(.)-.65 E F2(MAILCHECK)108 372 Q F0 .098
+(Speci\214es ho)144 384 R 2.598(wo)-.25 G .098(ften \(in seconds\))
+-2.598 F F2(bash)2.598 E F0 .098(checks for mail.)2.598 F .098(The def)
+5.098 F .098(ault is 60 seconds.)-.1 F .099(When it is time)5.099 F .224
+(to check for mail, the shell does so before displaying the primary pro\
+mpt.)144 396 R .223(If this v)5.223 F .223(ariable is unset,)-.25 F .066
+(or set to a v)144 408 R .066(alue that is not a number greater than or\
+ equal to zero, the shell disables mail checking.)-.25 F F2(MAILP)108
+420 Q -.95(AT)-.74 G(H).95 E F0 2.815(Ac)144 432 S .314
+(olon-separated list of \214le names to be check)-2.815 F .314
+(ed for mail.)-.1 F .314(The message to be printed when mail)5.314 F
+(arri)144 444 Q -.15(ve)-.25 G 3.42(si).15 G 3.42(nap)-3.42 G .92(artic\
+ular \214le may be speci\214ed by separating the \214le name from the m\
+essage with a)-3.42 F 2.808(`?'. When)144 456 R .308(used in the te)
+2.808 F .308(xt of the message,)-.15 F F2($_)2.808 E F0 -.15(ex)2.808 G
+.308(pands to the name of the current mail\214le.).15 F(Exam-)5.307 E
+(ple:)144 468 Q F2(MAILP)144 480 Q -.95(AT)-.74 G(H).95 E F0(=\010/v)A
(ar/mail/bfox?"Y)-.25 E(ou ha)-1.1 E .3 -.15(ve m)-.2 H
-(ail":~/shell\255mail?"$_ has mail!"\010).15 E F1(Bash)144 156 Q F0 .388
+(ail":~/shell\255mail?"$_ has mail!"\010).15 E F2(Bash)144 492 Q F0 .388
(supplies a def)2.888 F .388(ault v)-.1 F .388(alue for this v)-.25 F
.388(ariable, b)-.25 F .389
(ut the location of the user mail \214les that it uses is)-.2 F
-(system dependent \(e.g., /v)144 168 Q(ar/mail/)-.25 E F1($USER)A F0
-(\).)A F1(OPTERR)108 180 Q F0 .39(If set to the v)144 192 R .39(alue 1,)
--.25 F F1(bash)2.89 E F0 .389(displays error messages generated by the)
-2.889 F F1(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2
-F/F2 9/Times-Bold@0 SF .359(SHELL B)144 204 R(UIL)-.09 E .359
-(TIN COMMANDS)-.828 F F0(belo)2.609 E(w\).)-.25 E F2(OPTERR)5.359 E F0
-.36(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G
--.1(ke).2 G(d).1 E(or a shell script is e)144 216 Q -.15(xe)-.15 G
-(cuted.).15 E F1 -.74(PA)108 228 S(TH)-.21 E F0 .588
+(system dependent \(e.g., /v)144 504 Q(ar/mail/)-.25 E F2($USER)A F0
+(\).)A F2(OPTERR)108 516 Q F0 .39(If set to the v)144 528 R .39(alue 1,)
+-.25 F F2(bash)2.89 E F0 .389(displays error messages generated by the)
+2.889 F F2(getopts)2.889 E F0 -.2(bu)2.889 G .389(iltin command \(see).2
+F F1 .359(SHELL B)144 540 R(UIL)-.09 E .359(TIN COMMANDS)-.828 F F0
+(belo)2.609 E(w\).)-.25 E F1(OPTERR)5.359 E F0 .36
+(is initialized to 1 each time the shell is in)2.609 F -.2(vo)-.4 G -.1
+(ke).2 G(d).1 E(or a shell script is e)144 552 Q -.15(xe)-.15 G(cuted.)
+.15 E F2 -.74(PA)108 564 S(TH)-.21 E F0 .588
(The search path for commands.)9.91 F .587
(It is a colon-separated list of directories in which the shell looks)
-5.588 F .471(for commands \(see)144 240 R F2 .471(COMMAND EXECUTION)
+5.588 F .471(for commands \(see)144 576 R F1 .471(COMMAND EXECUTION)
2.971 F F0(belo)2.722 E 2.972(w\). A)-.25 F .472
-(zero-length \(null\) directory name in the)2.972 F -.25(va)144 252 S
-.536(lue of).25 F F2 -.666(PA)3.036 G(TH)-.189 E F0 .535
+(zero-length \(null\) directory name in the)2.972 F -.25(va)144 588 S
+.536(lue of).25 F F1 -.666(PA)3.036 G(TH)-.189 E F0 .535
(indicates the current directory)2.786 F 5.535(.A)-.65 G .535
(null directory name may appear as tw)-2.5 F 3.035(oa)-.1 G(djacent)
--3.035 E .867(colons, or as an initial or trailing colon.)144 264 R .868
+-3.035 E .867(colons, or as an initial or trailing colon.)144 600 R .868
(The def)5.868 F .868(ault path is system-dependent, and is set by the)
--.1 F 26.329(administrator who installs)144 276 R F1(bash)28.829 E F0
-31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F3 10
-/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 288
-Q F0(.)A F1(POSIXL)108 300 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 312
-R .471(ariable is in the en)-.25 F .471(vironment when)-.4 F F1(bash)
-2.971 E F0 .471(starts, the shell enters)2.971 F/F4 10/Times-Italic@0 SF
-.472(posix mode)2.972 F F0 .472(before reading)2.972 F .011
-(the startup \214les, as if the)144 324 R F1(\255\255posix)2.511 E F0
+-.1 F 26.329(administrator who installs)144 612 R F2(bash)28.829 E F0
+31.329(.A)C 26.328(common v)-2.501 F 26.328(alue is)-.25 F/F5 10
+/Courier@0 SF(/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin)144 624
+Q F0(.)A F2(POSIXL)108 636 Q(Y_CORRECT)-.92 E F0 .471(If this v)144 648
+R .471(ariable is in the en)-.25 F .471(vironment when)-.4 F F2(bash)
+2.971 E F0 .471(starts, the shell enters)2.971 F F3 .472(posix mode)
+2.972 F F0 .472(before reading)2.972 F .011
+(the startup \214les, as if the)144 660 R F2(\255\255posix)2.511 E F0
(in)2.511 E -.2(vo)-.4 G .011(cation option had been supplied.).2 F .011
-(If it is set while the shell is)5.011 F(running,)144 336 Q F1(bash)2.5
-E F0(enables)2.5 E F4(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)
--2.5 G(he command)-2.5 E F3(set -o posix)2.5 E F0(had been e)2.5 E -.15
-(xe)-.15 G(cuted.).15 E F1(PR)108 348 Q(OMPT_COMMAND)-.3 E F0
-(If set, the v)144 360 Q(alue is e)-.25 E -.15(xe)-.15 G
-(cuted as a command prior to issuing each primary prompt.).15 E F1(PR)
-108 372 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0 .676
-(If set to a number greater than zero, the v)144 384 R .676
+(If it is set while the shell is)5.011 F(running,)144 672 Q F2(bash)2.5
+E F0(enables)2.5 E F3(posix mode)2.5 E F0 2.5(,a)C 2.5(si)-2.5 G 2.5(ft)
+-2.5 G(he command)-2.5 E F5(set -o posix)2.5 E F0(had been e)2.5 E -.15
+(xe)-.15 G(cuted.).15 E F2(PR)108 684 Q(OMPT_COMMAND)-.3 E F0
+(If set, the v)144 696 Q(alue is e)-.25 E -.15(xe)-.15 G
+(cuted as a command prior to issuing each primary prompt.).15 E
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(15)185.955 E 0 Cg EP
+%%Page: 16 16
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(PR)108 84 Q(OMPT_DIR)-.3 E(TRIM)-.4 E F0
+.676(If set to a number greater than zero, the v)144 96 R .676
(alue is used as the number of trailing directory compo-)-.25 F .923
-(nents to retain when e)144 396 R .923(xpanding the)-.15 F F1(\\w)3.423
+(nents to retain when e)144 108 R .923(xpanding the)-.15 F F1(\\w)3.423
E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see)
-3.423 F F2(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E(w\).)-.25 E
-(Characters remo)144 408 Q -.15(ve)-.15 G 2.5(da).15 G
-(re replaced with an ellipsis.)-2.5 E F1(PS1)108 420 Q F0 .064(The v)
+3.423 F/F2 9/Times-Bold@0 SF(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E
+(w\).)-.25 E(Characters remo)144 120 Q -.15(ve)-.15 G 2.5(da).15 G
+(re replaced with an ellipsis.)-2.5 E F1(PS1)108 132 Q F0 .064(The v)
19.33 F .065(alue of this parameter is e)-.25 F .065(xpanded \(see)-.15
F F2(PR)2.565 E(OMPTING)-.27 E F0(belo)2.315 E .065
-(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 432 R
+(w\) and used as the primary prompt)-.25 F 2.5(string. The)144 144 R
(def)2.5 E(ault v)-.1 E(alue is `)-.25 E(`)-.74 E F1(\\s\255\\v\\$)A F0
--.74('')2.5 G(.).74 E F1(PS2)108 444 Q F0 .118(The v)19.33 F .118
+-.74('')2.5 G(.).74 E F1(PS2)108 156 Q F0 .118(The v)19.33 F .118
(alue of this parameter is e)-.25 F .118(xpanded as with)-.15 F F2(PS1)
2.617 E F0 .117(and used as the secondary prompt string.)2.367 F(The)
-5.117 E(def)144 456 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
-(.).74 E F1(PS3)108 468 Q F0 1.115(The v)19.33 F 1.115
+5.117 E(def)144 168 Q(ault is `)-.1 E(`)-.74 E F1(>)A F0 -.74('')2.5 G
+(.).74 E F1(PS3)108 180 Q F0 1.115(The v)19.33 F 1.115
(alue of this parameter is used as the prompt for the)-.25 F F1(select)
3.615 E F0 1.116(command \(see)3.616 F F2 1.116(SHELL GRAM-)3.616 F(MAR)
-144 480 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 492 Q F0
+144 192 Q F0(abo)2.25 E -.15(ve)-.15 G(\).).15 E F1(PS4)108 204 Q F0
.101(The v)19.33 F .101(alue of this parameter is e)-.25 F .101
(xpanded as with)-.15 F F2(PS1)2.6 E F0 .1(and the v)2.35 F .1
-(alue is printed before each command)-.25 F F1(bash)144 504 Q F0 .291
+(alue is printed before each command)-.25 F F1(bash)144 216 Q F0 .291
(displays during an e)2.791 F -.15(xe)-.15 G .292(cution trace.).15 F
.292(The \214rst character of)5.292 F F2(PS4)2.792 E F0 .292
-(is replicated multiple times, as)2.542 F(necessary)144 516 Q 2.5(,t)
+(is replicated multiple times, as)2.542 F(necessary)144 228 Q 2.5(,t)
-.65 G 2.5(oi)-2.5 G(ndicate multiple le)-2.5 E -.15(ve)-.25 G
(ls of indirection.).15 E(The def)5 E(ault is `)-.1 E(`)-.74 E F1(+)A F0
--.74('')2.5 G(.).74 E F1(SHELL)108 528 Q F0 .664
-(The full pathname to the shell is k)144 540 R .664(ept in this en)-.1 F
+-.74('')2.5 G(.).74 E F1(SHELL)108 240 Q F0 .664
+(The full pathname to the shell is k)144 252 R .664(ept in this en)-.1 F
.664(vironment v)-.4 F 3.164(ariable. If)-.25 F .663
-(it is not set when the shell)3.164 F(starts,)144 552 Q F1(bash)2.5 E F0
+(it is not set when the shell)3.164 F(starts,)144 264 Q F1(bash)2.5 E F0
(assigns to it the full pathname of the current user')2.5 E 2.5(sl)-.55
-G(ogin shell.)-2.5 E F1(TIMEFORMA)108 564 Q(T)-.95 E F0 .826(The v)144
-576 R .826
+G(ogin shell.)-2.5 E F1(TIMEFORMA)108 276 Q(T)-.95 E F0 .826(The v)144
+288 R .826
(alue of this parameter is used as a format string specifying ho)-.25 F
3.327(wt)-.25 G .827(he timing information for)-3.327 F .649
-(pipelines pre\214x)144 588 R .649(ed with the)-.15 F F1(time)3.149 E F0
+(pipelines pre\214x)144 300 R .649(ed with the)-.15 F F1(time)3.149 E F0
(reserv)3.149 E .649(ed w)-.15 F .648(ord should be displayed.)-.1 F
(The)5.648 E F1(%)3.148 E F0 .648(character introduces)3.148 F .711
-(an escape sequence that is e)144 600 R .711(xpanded to a time v)-.15 F
+(an escape sequence that is e)144 312 R .711(xpanded to a time v)-.15 F
.712(alue or other information.)-.25 F .712(The escape sequences)5.712 F
-(and their meanings are as follo)144 612 Q
-(ws; the braces denote optional portions.)-.25 E F1(%%)144 630 Q F0 2.5
-(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 642 Q F4(p)A F1
-(][l]R)A F0(The elapsed time in seconds.)11.68 E F1(%[)144 654 Q F4(p)A
-F1(][l]U)A F0(The number of CPU seconds spent in user mode.)11.68 E F1
-(%[)144 666 Q F4(p)A F1(][l]S)A F0
-(The number of CPU seconds spent in system mode.)13.34 E F1(%P)144 678 Q
-F0(The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87
-(The optional)144 694.8 R F4(p)3.37 E F0 .87(is a digit specifying the)
-3.37 F F4(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
+(and their meanings are as follo)144 324 Q
+(ws; the braces denote optional portions.)-.25 E F1(%%)144 342 Q F0 2.5
+(Al)30 G(iteral)-2.5 E F1(%)2.5 E F0(.)A F1(%[)144 354 Q/F3 10
+/Times-Italic@0 SF(p)A F1(][l]R)A F0(The elapsed time in seconds.)11.68
+E F1(%[)144 366 Q F3(p)A F1(][l]U)A F0
+(The number of CPU seconds spent in user mode.)11.68 E F1(%[)144 378 Q
+F3(p)A F1(][l]S)A F0(The number of CPU seconds spent in system mode.)
+13.34 E F1(%P)144 390 Q F0
+(The CPU percentage, computed as \(%U + %S\) / %R.)33.89 E .87
+(The optional)144 406.8 R F3(p)3.37 E F0 .87(is a digit specifying the)
+3.37 F F3(pr)3.37 E(ecision)-.37 E F0 3.37(,t)C .87
(he number of fractional digits after a decimal)-3.37 F 2.525(point. A)
-144 706.8 R -.25(va)2.525 G .025
+144 418.8 R -.25(va)2.525 G .025
(lue of 0 causes no decimal point or fraction to be output.).25 F .026
(At most three places after the)5.025 F .538
-(decimal point may be speci\214ed; v)144 718.8 R .538(alues of)-.25 F F4
+(decimal point may be speci\214ed; v)144 430.8 R .538(alues of)-.25 F F3
(p)3.038 E F0 .537(greater than 3 are changed to 3.)3.037 F(If)5.537 E
-F4(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 730.8 Q
-(alue 3 is used.)-.25 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E
-(15)185.955 E 0 Cg EP
-%%Page: 16 16
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .667(The optional)144 84 R/F1 10/Times-Bold@0 SF(l)3.167 E F0
+F3(p)3.037 E F0 .537(is not speci\214ed,)3.037 F(the v)144 442.8 Q
+(alue 3 is used.)-.25 E .667(The optional)144 459.6 R F1(l)3.167 E F0
.668(speci\214es a longer format, including minutes, of the form)3.168 F
-/F2 10/Times-Italic@0 SF(MM)3.168 E F0(m)A F2(SS)A F0(.)A F2(FF)A F0
-3.168(s. The)B -.25(va)3.168 G(lue).25 E(of)144 96 Q F2(p)2.5 E F0
+F3(MM)3.168 E F0(m)A F3(SS)A F0(.)A F3(FF)A F0 3.168(s. The)B -.25(va)
+3.168 G(lue).25 E(of)144 471.6 Q F3(p)2.5 E F0
(determines whether or not the fraction is included.)2.5 E .001
-(If this v)144 112.8 R .001(ariable is not set,)-.25 F F1(bash)2.501 E
+(If this v)144 488.4 R .001(ariable is not set,)-.25 F F1(bash)2.501 E
F0 .001(acts as if it had the v)2.501 F(alue)-.25 E F1($\010\\nr)2.5 E
(eal\\t%3lR\\nuser\\t%3lU\\nsys%3lS\010)-.18 E F0(.)A .494(If the v)144
-124.8 R .494(alue is null, no timing information is displayed.)-.25 F
+500.4 R .494(alue is null, no timing information is displayed.)-.25 F
2.994(At)5.494 G .494(railing ne)-2.994 F .494
(wline is added when the for)-.25 F(-)-.2 E(mat string is displayed.)144
-136.8 Q F1(TMOUT)108 153.6 Q F0 .941(If set to a v)144 165.6 R .941
-(alue greater than zero,)-.25 F/F3 9/Times-Bold@0 SF(TMOUT)3.441 E F0
-.941(is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1
--.18(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 177.6 Q
-F1(select)2.81 E F0 .31(command terminates if input does not arri)2.81 F
-.611 -.15(ve a)-.25 H(fter).15 E F3(TMOUT)2.811 E F0 .311
-(seconds when input is com-)2.561 F .886(ing from a terminal.)144 189.6
+512.4 Q F1(TMOUT)108 524.4 Q F0 .941(If set to a v)144 536.4 R .941
+(alue greater than zero,)-.25 F F2(TMOUT)3.441 E F0 .941
+(is treated as the def)3.191 F .941(ault timeout for the)-.1 F F1 -.18
+(re)3.441 G(ad).18 E F0 -.2(bu)3.441 G(iltin.).2 E(The)144 548.4 Q F1
+(select)2.81 E F0 .31(command terminates if input does not arri)2.81 F
+.611 -.15(ve a)-.25 H(fter).15 E F2(TMOUT)2.811 E F0 .311
+(seconds when input is com-)2.561 F .886(ing from a terminal.)144 560.4
R .886(In an interacti)5.886 F 1.185 -.15(ve s)-.25 H .885(hell, the v)
.15 F .885(alue is interpreted as the number of seconds to)-.25 F -.1
-(wa)144 201.6 S .546(it for input after issuing the primary prompt.).1 F
+(wa)144 572.4 S .546(it for input after issuing the primary prompt.).1 F
F1(Bash)5.546 E F0 .546(terminates after w)3.046 F .546
(aiting for that number of)-.1 F(seconds if input does not arri)144
-213.6 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 230.4 Q F0 .274(If set,)144
-242.4 R F1(Bash)2.774 E F0 .274(uses its v)2.774 F .274
-(alue as the name of a directory in which)-.25 F F1(Bash)2.773 E F0 .273
-(creates temporary \214les for the)2.773 F(shell')144 254.4 Q 2.5(su)
--.55 G(se.)-2.5 E F1(auto_r)108 271.2 Q(esume)-.18 E F0 .53(This v)144
-283.2 R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
+584.4 Q -.15(ve)-.25 G(.).15 E F1(TMPDIR)108 596.4 Q F0 .391(If set,)144
+608.4 R F1(bash)2.891 E F0 .391(uses its v)2.891 F .391
+(alue as the name of a directory in which)-.25 F F1(bash)2.89 E F0 .39
+(creates temporary \214les for the)2.89 F(shell')144 620.4 Q 2.5(su)-.55
+G(se.)-2.5 E F1(auto_r)108 632.4 Q(esume)-.18 E F0 .53(This v)144 644.4
+R .53(ariable controls ho)-.25 F 3.03(wt)-.25 G .531
(he shell interacts with the user and job control.)-3.03 F .531
-(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 295.2 R
+(If this v)5.531 F .531(ariable is set,)-.25 F .539(single w)144 656.4 R
.538(ord simple commands without redirections are treated as candidates\
- for resumption of an)-.1 F -.15(ex)144 307.2 S .366(isting stopped job)
+ for resumption of an)-.1 F -.15(ex)144 668.4 S .366(isting stopped job)
.15 F 5.366(.T)-.4 G .366(here is no ambiguity allo)-5.366 F .366
(wed; if there is more than one job be)-.25 F .367(ginning with)-.15 F
1.125(the string typed, the job most recently accessed is selected.)144
-319.2 R(The)6.125 E F2(name)3.985 E F0 1.124(of a stopped job, in this)
-3.805 F(conte)144 331.2 Q 1.132
+680.4 R(The)6.125 E F3(name)3.985 E F0 1.124(of a stopped job, in this)
+3.805 F(conte)144 692.4 Q 1.132
(xt, is the command line used to start it.)-.15 F 1.133(If set to the v)
-6.133 F(alue)-.25 E F2 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133
+6.133 F(alue)-.25 E F3 -.2(ex)3.633 G(act).2 E F0 3.633(,t).68 G 1.133
(he string supplied must)-3.633 F .625
-(match the name of a stopped job e)144 343.2 R .624(xactly; if set to)
--.15 F F2(substring)3.124 E F0 3.124(,t).22 G .624
+(match the name of a stopped job e)144 704.4 R .624(xactly; if set to)
+-.15 F F3(substring)3.124 E F0 3.124(,t).22 G .624
(he string supplied needs to match a)-3.124 F .884
-(substring of the name of a stopped job)144 355.2 R 5.884(.T)-.4 G(he)
--5.884 E F2(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885
-(vides functionality analogous to)-.15 F(the)144 367.2 Q F1(%?)3.334 E
-F0 .834(job identi\214er \(see)5.834 F F3 .834(JOB CONTR)3.334 F(OL)-.27
+(substring of the name of a stopped job)144 716.4 R 5.884(.T)-.4 G(he)
+-5.884 E F3(substring)3.724 E F0 -.25(va)3.604 G .885(lue pro).25 F .885
+(vides functionality analogous to)-.15 F(the)144 728.4 Q F1(%?)3.334 E
+F0 .834(job identi\214er \(see)5.834 F F2 .834(JOB CONTR)3.334 F(OL)-.27
E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo)
--.15 G .834(ther v)-3.334 F .833(alue, the supplied string)-.25 F .315
-(must be a pre\214x of a stopped job')144 379.2 R 2.816(sn)-.55 G .316
-(ame; this pro)-2.816 F .316(vides functionality analogous to the)-.15 F
-F1(%)2.816 E F2(string)A F0(job)2.816 E(identi\214er)144 391.2 Q(.)-.55
-E F1(histchars)108 408 Q F0 2.07(The tw)144 420 R 4.57(oo)-.1 G 4.57(rt)
--4.57 G 2.07(hree characters which control history e)-4.57 F 2.07
-(xpansion and tok)-.15 F 2.07(enization \(see)-.1 F F3(HIST)4.569 E(OR)
--.162 E(Y)-.315 E(EXP)144 432 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
+-.15 G .834(ther v)-3.334 F .833(alue, the supplied string)-.25 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(16)185.955 E 0 Cg EP
+%%Page: 17 17
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .315(must be a pre\214x of a stopped job')144 84 R 2.816(sn)-.55
+G .316(ame; this pro)-2.816 F .316(vides functionality analogous to the)
+-.15 F/F1 10/Times-Bold@0 SF(%)2.816 E/F2 10/Times-Italic@0 SF(string)A
+F0(job)2.816 E(identi\214er)144 96 Q(.)-.55 E F1(histchars)108 108 Q F0
+2.07(The tw)144 120 R 4.57(oo)-.1 G 4.57(rt)-4.57 G 2.07
+(hree characters which control history e)-4.57 F 2.07(xpansion and tok)
+-.15 F 2.07(enization \(see)-.1 F/F3 9/Times-Bold@0 SF(HIST)4.569 E(OR)
+-.162 E(Y)-.315 E(EXP)144 132 Q(ANSION)-.666 E F0(belo)3.465 E 3.715
(w\). The)-.25 F 1.215(\214rst character is the)3.715 F F2 1.216
(history e)3.715 F(xpansion)-.2 E F0(character)3.716 E 3.716(,t)-.4 G
1.216(he character which)-3.716 F .798(signals the start of a history e)
-144 444 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B .798
+144 144 R .798(xpansion, normally `)-.15 F F1(!)A F0 3.298('. The)B .798
(second character is the)3.298 F F2(quic)3.298 E 3.298(ks)-.2 G
-(ubstitu-)-3.298 E(tion)144 456 Q F0(character)2.739 E 2.739(,w)-.4 G
+(ubstitu-)-3.298 E(tion)144 156 Q F0(character)2.739 E 2.739(,w)-.4 G
.239(hich is used as shorthand for re-running the pre)-2.739 F .24
(vious command entered, substitut-)-.25 F .576
-(ing one string for another in the command.)144 468 R .575(The def)5.575
+(ing one string for another in the command.)144 168 R .575(The def)5.575
F .575(ault is `)-.1 F F1(^)A F0 3.075('. The)B .575
(optional third character is the)3.075 F .223(character which indicates\
that the remainder of the line is a comment when found as the \214rst \
-char)144 480 R(-)-.2 E 1.294(acter of a w)144 492 R 1.294
+char)144 180 R(-)-.2 E 1.294(acter of a w)144 192 R 1.294
(ord, normally `)-.1 F F1(#)A F0 3.794('. The)B 1.293
(history comment character causes history substitution to be)3.794 F
-.379(skipped for the remaining w)144 504 R .379(ords on the line.)-.1 F
+.379(skipped for the remaining w)144 204 R .379(ords on the line.)-.1 F
.38(It does not necessarily cause the shell parser to treat)5.379 F
-(the rest of the line as a comment.)144 516 Q F1(Arrays)87 532.8 Q(Bash)
-108 544.8 Q F0(pro)3.391 E .891(vides one-dimensional inde)-.15 F -.15
+(the rest of the line as a comment.)144 216 Q F1(Arrays)87 232.8 Q(Bash)
+108 244.8 Q F0(pro)3.391 E .891(vides one-dimensional inde)-.15 F -.15
(xe)-.15 G 3.391(da).15 G .891(nd associati)-3.391 F 1.191 -.15(ve a)
-.25 H .891(rray v).15 F 3.391(ariables. An)-.25 F 3.391(yv)-.15 G .89
-(ariable may be used as an)-3.641 F(inde)108 556.8 Q -.15(xe)-.15 G
+(ariable may be used as an)-3.641 F(inde)108 256.8 Q -.15(xe)-.15 G
2.573(da).15 G .073(rray; the)-2.573 F F1(declar)2.573 E(e)-.18 E F0 -.2
(bu)2.573 G .073(iltin will e).2 F .073(xplicitly declare an array)-.15
F 5.073(.T)-.65 G .074(here is no maximum limit on the size of)-5.073 F
-.329(an array)108 568.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)
+.329(an array)108 268.8 R 2.829(,n)-.65 G .329(or an)-2.829 F 2.829(yr)
-.15 G .329(equirement that members be inde)-2.829 F -.15(xe)-.15 G
2.829(do).15 G 2.829(ra)-2.829 G .328(ssigned contiguously)-2.829 F
5.328(.I)-.65 G(nde)-5.328 E -.15(xe)-.15 G 2.828(da).15 G .328
-(rrays are refer)-2.828 F(-)-.2 E 1.386(enced using inte)108 580.8 R
+(rrays are refer)-2.828 F(-)-.2 E 1.386(enced using inte)108 280.8 R
1.386(gers \(including arithmetic e)-.15 F 3.887(xpressions\) and)-.15 F
1.387(are zero-based; associati)3.887 F 1.687 -.15(ve a)-.25 H 1.387
-(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 592.8
-Q 2.463(An inde)108 609.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463
+(rrays are refer).15 F(-)-.2 E(enced using arbitrary strings.)108 292.8
+Q 2.463(An inde)108 309.6 R -.15(xe)-.15 G 4.963(da).15 G 2.463
(rray is created automatically if an)-4.963 F 4.963(yv)-.15 G 2.462
(ariable is assigned to using the syntax)-5.213 F F2(name)4.962 E F0([)A
-F2(sub-)A(script)108 621.6 Q F0(]=)A F2(value)A F0 5.682(.T)C(he)-5.682
-E F2(subscript)3.522 E F0 .682(is treated as an arithmetic e)3.862 F
-.682(xpression that must e)-.15 F -.25(va)-.25 G .682
-(luate to a number greater).25 F .75(than or equal to zero.)108 633.6 R
-2.349 -.8(To e)5.749 H .749(xplicitly declare an inde).65 F -.15(xe)-.15
-G 3.249(da).15 G(rray)-3.249 E 3.249(,u)-.65 G(se)-3.249 E F1(declar)
-3.249 E 3.249<65ad>-.18 G(a)-3.249 E F2(name)3.249 E F0(\(see)3.249 E F3
-.749(SHELL B)3.249 F(UIL)-.09 E(TIN)-.828 E(COMMANDS)108 645.6 Q F0
-(belo)2.25 E(w\).)-.25 E F1(declar)5 E 2.5<65ad>-.18 G(a)-2.5 E F2(name)
-2.5 E F1([)A F2(subscript)A F1(])A F0(is also accepted; the)2.5 E F2
-(subscript)2.5 E F0(is ignored.)2.5 E(Associati)108 662.4 Q .3 -.15
-(ve a)-.25 H(rrays are created using).15 E F1(declar)2.5 E 2.5<65ad>-.18
-G(A)-2.5 E F2(name)2.5 E F0(.)A(Attrib)108 679.2 Q .94
-(utes may be speci\214ed for an array v)-.2 F .941(ariable using the)
--.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E F1 -.18(re)3.441 G
-(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2 F(attrib)3.441 E
-(ute)-.2 E(applies to all members of an array)108 691.2 Q(.)-.65 E 1.647
-(Arrays are assigned to using compound assignments of the form)108 708 R
+F2(sub-)A(script)108 321.6 Q F0(]=)A F2(value)A F0 5.426(.T)C(he)-5.426
+E F2(subscript)3.266 E F0 .426(is treated as an arithmetic e)3.606 F
+.426(xpression that must e)-.15 F -.25(va)-.25 G .427(luate to a number)
+.25 F 5.427(.I)-.55 G(f)-5.427 E F2(sub-)3.267 E(script)108 333.6 Q F0
+-.25(eva)3.913 G .733
+(luates to a number less than zero, it is used as an of).25 F .733
+(fset from one greater than the array')-.25 F 3.233(sm)-.55 G(axi-)
+-3.233 E 1.104(mum inde)108 345.6 R 3.604(x\()-.15 G 1.105
+(so a subcript of -1 refers to the last element of the array\).)-3.604 F
+2.705 -.8(To e)6.105 H 1.105(xplicitly declare an inde).65 F -.15(xe)
+-.15 G(d).15 E(array)108 357.6 Q 3.828(,u)-.65 G(se)-3.828 E F1(declar)
+3.828 E 3.828<65ad>-.18 G(a)-3.828 E F2(name)3.828 E F0(\(see)3.828 E F3
+1.327(SHELL B)3.827 F(UIL)-.09 E 1.327(TIN COMMANDS)-.828 F F0(belo)
+3.577 E(w\).)-.25 E F1(declar)6.327 E 3.827<65ad>-.18 G(a)-3.827 E F2
+(name)3.827 E F1([)A F2(subscript)A F1(])A F0(is)3.827 E
+(also accepted; the)108 369.6 Q F2(subscript)2.5 E F0(is ignored.)2.5 E
+(Associati)108 386.4 Q .3 -.15(ve a)-.25 H(rrays are created using).15 E
+F1(declar)2.5 E 2.5<65ad>-.18 G(A)-2.5 E F2(name)2.5 E F0(.)A(Attrib)108
+403.2 Q .94(utes may be speci\214ed for an array v)-.2 F .941
+(ariable using the)-.25 F F1(declar)3.441 E(e)-.18 E F0(and)3.441 E F1
+-.18(re)3.441 G(adonly).18 E F0 -.2(bu)3.441 G 3.441(iltins. Each).2 F
+(attrib)3.441 E(ute)-.2 E(applies to all members of an array)108 415.2 Q
+(.)-.65 E 1.647
+(Arrays are assigned to using compound assignments of the form)108 432 R
F2(name)4.147 E F0(=)A F1(\()A F0 -.25(va)C(lue).25 E F2(1)A F0 1.647
(... v)4.147 F(alue)-.25 E F2(n)A F1(\))A F0 4.147(,w)C 1.647(here each)
--4.147 F F2(value)108 720 Q F0 .122(is of the form [)2.622 F F2
+-4.147 F F2(value)108 444 Q F0 .122(is of the form [)2.622 F F2
(subscript)A F0(]=)A F2(string)A F0 5.122(.I)C(nde)-5.122 E -.15(xe)-.15
G 2.622(da).15 G .122(rray assignments do not require the brack)-2.622 F
-.122(et and subscript.)-.1 F(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(16)185.955 E 0 Cg EP
-%%Page: 17 17
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .164(When assigning to inde)108 84 R -.15(xe)-.15 G 2.663(da).15
-G .163(rrays, if the optional brack)-2.663 F .163
-(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G 2.663
-(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 96 R 3.91
-(xo)-.15 G 3.91(ft)-3.91 G 1.41(he element assigned is the last inde)
--3.91 F 3.911(xa)-.15 G 1.411(ssigned to by the statement plus one.)
--3.911 F(Inde)108 108 Q(xing starts at zero.)-.15 E
-(When assigning to an associati)108 124.8 Q .3 -.15(ve a)-.25 H(rray).15
-E 2.5(,t)-.65 G(he subscript is required.)-2.5 E .24
-(This syntax is also accepted by the)108 141.6 R/F1 10/Times-Bold@0 SF
-(declar)2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239
-(vidual array elements may be assigned to using the)-.25 F/F2 10
-/Times-Italic@0 SF(name)108 153.6 Q F0([)A F2(subscript)A F0(]=)A F2
-(value)A F0(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108
-170.4 Q 3.575(ye)-.15 G 1.075
-(lement of an array may be referenced using ${)-3.575 F F2(name)A F0([)A
-F2(subscript)A F0 3.575(]}. The)B 1.076(braces are required to a)3.576 F
--.2(vo)-.2 G(id).2 E 1.542(con\215icts with pathname e)108 182.4 R 4.041
-(xpansion. If)-.15 F F2(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0
-(or)4.041 E F1(*)4.041 E F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)
--.1 F 1.541(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056
-(These subscripts dif)108 194.4 R 1.056(fer only when the w)-.25 F 1.057
+.122(et and subscript.)-.1 F .164(When assigning to inde)108 456 R -.15
+(xe)-.15 G 2.663(da).15 G .163(rrays, if the optional brack)-2.663 F
+.163(ets and subscript are supplied, that inde)-.1 F 2.663(xi)-.15 G
+2.663(sa)-2.663 G(ssigned)-2.663 E 1.41(to; otherwise the inde)108 468 R
+3.91(xo)-.15 G 3.91(ft)-3.91 G 1.41
+(he element assigned is the last inde)-3.91 F 3.911(xa)-.15 G 1.411
+(ssigned to by the statement plus one.)-3.911 F(Inde)108 480 Q
+(xing starts at zero.)-.15 E(When assigning to an associati)108 496.8 Q
+.3 -.15(ve a)-.25 H(rray).15 E 2.5(,t)-.65 G(he subscript is required.)
+-2.5 E .24(This syntax is also accepted by the)108 513.6 R F1(declar)
+2.74 E(e)-.18 E F0 -.2(bu)2.739 G 2.739(iltin. Indi).2 F .239
+(vidual array elements may be assigned to using the)-.25 F F2(name)108
+525.6 Q F0([)A F2(subscript)A F0(]=)A F2(value)A F0
+(syntax introduced abo)2.5 E -.15(ve)-.15 G(.).15 E(An)108 542.4 Q 3.575
+(ye)-.15 G 1.075(lement of an array may be referenced using ${)-3.575 F
+F2(name)A F0([)A F2(subscript)A F0 3.575(]}. The)B 1.076
+(braces are required to a)3.576 F -.2(vo)-.2 G(id).2 E 1.542
+(con\215icts with pathname e)108 554.4 R 4.041(xpansion. If)-.15 F F2
+(subscript)4.041 E F0(is)4.041 E F1(@)4.041 E F0(or)4.041 E F1(*)4.041 E
+F0 4.041(,t)C 1.541(he w)-4.041 F 1.541(ord e)-.1 F 1.541
+(xpands to all members of)-.15 F F2(name)4.041 E F0(.)A 1.056
+(These subscripts dif)108 566.4 R 1.056(fer only when the w)-.25 F 1.057
(ord appears within double quotes.)-.1 F 1.057(If the w)6.057 F 1.057
-(ord is double-quoted,)-.1 F(${)108 206.4 Q F2(name)A F0 .521([*]} e)B
+(ord is double-quoted,)-.1 F(${)108 578.4 Q F2(name)A F0 .521([*]} e)B
.521(xpands to a single w)-.15 F .521(ord with the v)-.1 F .52
(alue of each array member separated by the \214rst character)-.25 F
-1.374(of the)108 218.4 R/F3 9/Times-Bold@0 SF(IFS)3.874 E F0 1.374
-(special v)3.624 F 1.375(ariable, and ${)-.25 F F2(name)A F0 1.375
-([@]} e)B 1.375(xpands each element of)-.15 F F2(name)3.875 E F0 1.375
-(to a separate w)3.875 F 3.875(ord. When)-.1 F 2.028
-(there are no array members, ${)108 230.4 R F2(name)A F0 2.028([@]} e)B
-2.028(xpands to nothing.)-.15 F 2.027(If the double-quoted e)7.028 F
-2.027(xpansion occurs)-.15 F .758(within a w)108 242.4 R .759
-(ord, the e)-.1 F .759
+1.374(of the)108 590.4 R F3(IFS)3.874 E F0 1.374(special v)3.624 F 1.375
+(ariable, and ${)-.25 F F2(name)A F0 1.375([@]} e)B 1.375
+(xpands each element of)-.15 F F2(name)3.875 E F0 1.375(to a separate w)
+3.875 F 3.875(ord. When)-.1 F 2.028(there are no array members, ${)108
+602.4 R F2(name)A F0 2.028([@]} e)B 2.028(xpands to nothing.)-.15 F
+2.027(If the double-quoted e)7.028 F 2.027(xpansion occurs)-.15 F .758
+(within a w)108 614.4 R .759(ord, the e)-.1 F .759
(xpansion of the \214rst parameter is joined with the be)-.15 F .759
(ginning part of the original w)-.15 F(ord,)-.1 E .516(and the e)108
-254.4 R .516(xpansion of the last parameter is joined with the last par\
+626.4 R .516(xpansion of the last parameter is joined with the last par\
t of the original w)-.15 F 3.015(ord. This)-.1 F .515(is analogous)3.015
-F .227(to the e)108 266.4 R .228(xpansion of the special parameters)-.15
+F .227(to the e)108 638.4 R .228(xpansion of the special parameters)-.15
F F1(*)2.728 E F0(and)2.728 E F1(@)2.728 E F0(\(see)2.728 E F1 .228
(Special P)2.728 F(arameters)-.1 E F0(abo)2.728 E -.15(ve)-.15 G 2.728
-(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 278.4
+(\). ${#).15 F F2(name)A F0([)A F2(subscript)A F0(]})A -.15(ex)108 650.4
S .886(pands to the length of ${).15 F F2(name)A F0([)A F2(subscript)A
F0 3.386(]}. If)B F2(subscript)3.386 E F0(is)3.386 E F1(*)3.386 E F0(or)
3.386 E F1(@)3.386 E F0 3.386(,t)C .886(he e)-3.386 F .886
-(xpansion is the number of ele-)-.15 F .462(ments in the array)108 290.4
+(xpansion is the number of ele-)-.15 F .462(ments in the array)108 662.4
R 5.462(.R)-.65 G .462(eferencing an array v)-5.462 F .463
(ariable without a subscript is equi)-.25 F -.25(va)-.25 G .463
-(lent to referencing the array).25 F(with a subscript of 0.)108 302.4 Q
-.168(An array v)108 319.2 R .168
+(lent to referencing the array).25 F(with a subscript of 0.)108 674.4 Q
+.168(An array v)108 691.2 R .168
(ariable is considered set if a subscript has been assigned a v)-.25 F
2.668(alue. The)-.25 F .168(null string is a v)2.668 F .168(alid v)-.25
-F(alue.)-.25 E(The)108 336 Q F1(unset)2.766 E F0 -.2(bu)2.766 G .267
+F(alue.)-.25 E(The)108 708 Q F1(unset)2.766 E F0 -.2(bu)2.766 G .267
(iltin is used to destro).2 F 2.767(ya)-.1 G(rrays.)-2.767 E F1(unset)
5.267 E F2(name)2.767 E F0([)A F2(subscript)A F0 2.767(]d)C(estro)-2.767
E .267(ys the array element at inde)-.1 F(x)-.15 E F2(sub-)2.767 E
-(script)108 348 Q F0 6.205(.C)C 1.205(are must be tak)-6.205 F 1.205
+(script)108 720 Q F0 6.205(.C)C 1.205(are must be tak)-6.205 F 1.205
(en to a)-.1 F -.2(vo)-.2 G 1.205(id unw).2 F 1.205(anted side ef)-.1 F
1.204(fects caused by pathname e)-.25 F(xpansion.)-.15 E F1(unset)6.204
-E F2(name)3.704 E F0(,)A(where)108 360 Q F2(name)2.5 E F0(is an array)
-2.5 E 2.5(,o)-.65 G(r)-2.5 E F1(unset)2.5 E F2(name)2.5 E F0([)A F2
-(subscript)A F0(], where)A F2(subscript)2.5 E F0(is)2.5 E F1(*)2.5 E F0
-(or)2.5 E F1(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G 2.5(st).15 G
-(he entire array)-2.5 E(.)-.65 E(The)108 376.8 Q F1(declar)3.573 E(e)
--.18 E F0(,)A F1(local)3.573 E F0 3.573(,a)C(nd)-3.573 E F1 -.18(re)
-3.573 G(adonly).18 E F0 -.2(bu)3.573 G 1.073(iltins each accept a).2 F
-F1<ad61>3.573 E F0 1.073(option to specify an inde)3.573 F -.15(xe)-.15
-G 3.574(da).15 G 1.074(rray and a)-3.574 F F1<ad41>3.574 E F0 .752
-(option to specify an associati)108 388.8 R 1.052 -.15(ve a)-.25 H(rray)
-.15 E 5.752(.T)-.65 G(he)-5.752 E F1 -.18(re)3.252 G(ad).18 E F0 -.2(bu)
-3.252 G .752(iltin accepts a).2 F F1<ad61>3.252 E F0 .751
-(option to assign a list of w)3.251 F .751(ords read)-.1 F .502
-(from the standard input to an array)108 400.8 R 5.502(.T)-.65 G(he)
--5.502 E F1(set)3.002 E F0(and)3.002 E F1(declar)3.002 E(e)-.18 E F0 -.2
-(bu)3.002 G .502(iltins display array v).2 F .502(alues in a w)-.25 F
-.503(ay that allo)-.1 F(ws)-.25 E(them to be reused as assignments.)108
-412.8 Q/F4 10.95/Times-Bold@0 SF(EXP)72 429.6 Q(ANSION)-.81 E F0 .76(Ex\
-pansion is performed on the command line after it has been split into w)
-108 441.6 R 3.26(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26
-(nk).15 G .76(inds of)-3.26 F -.15(ex)108 453.6 S .369
-(pansion performed:).15 F F2(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E
-F0(,).24 E F2 .369(tilde e)2.869 F(xpansion)-.2 E F0(,).24 E F2(par)
-2.869 E .369(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F2
-.37(command sub-)2.869 F(stitution)108 465.6 Q F0(,).24 E F2
-(arithmetic e)2.5 E(xpansion)-.2 E F0(,).24 E F2(wor)2.5 E 2.5(ds)-.37 G
-(plitting)-2.5 E F0 2.5(,a).22 G(nd)-2.5 E F2(pathname e)2.5 E(xpansion)
--.2 E F0(.).24 E .471(The order of e)108 482.4 R .471
-(xpansions is: brace e)-.15 F .471(xpansion, tilde e)-.15 F .471
-(xpansion, parameter)-.15 F 2.971(,v)-.4 G .47(ariable and arithmetic e)
--3.221 F(xpansion)-.15 E
-(and command substitution \(done in a left-to-right f)108 494.4 Q
+E F2(name)3.704 E F0(,)A(GNU Bash-4.2)72 768 Q(2010 December 28)135.965
+E(17)185.955 E 0 Cg EP
+%%Page: 18 18
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(where)108 84 Q/F1 10/Times-Italic@0 SF(name)2.5 E F0(is an array)
+2.5 E 2.5(,o)-.65 G(r)-2.5 E/F2 10/Times-Bold@0 SF(unset)2.5 E F1(name)
+2.5 E F0([)A F1(subscript)A F0(], where)A F1(subscript)2.5 E F0(is)2.5 E
+F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E F0 2.5(,r)C(emo)-2.5 E -.15(ve)-.15 G
+2.5(st).15 G(he entire array)-2.5 E(.)-.65 E(The)108 100.8 Q F2(declar)
+3.573 E(e)-.18 E F0(,)A F2(local)3.573 E F0 3.573(,a)C(nd)-3.573 E F2
+-.18(re)3.573 G(adonly).18 E F0 -.2(bu)3.573 G 1.073
+(iltins each accept a).2 F F2<ad61>3.573 E F0 1.073
+(option to specify an inde)3.573 F -.15(xe)-.15 G 3.574(da).15 G 1.074
+(rray and a)-3.574 F F2<ad41>3.574 E F0 .339
+(option to specify an associati)108 112.8 R .638 -.15(ve a)-.25 H(rray)
+.15 E 5.338(.I)-.65 G 2.838(fb)-5.338 G .338(oth options are supplied,)
+-2.838 F F2<ad41>2.838 E F0(tak)2.838 E .338(es precedence.)-.1 F(The)
+5.338 E F2 -.18(re)2.838 G(ad).18 E F0 -.2(bu)2.838 G(iltin).2 E .44
+(accepts a)108 124.8 R F2<ad61>2.941 E F0 .441
+(option to assign a list of w)2.941 F .441
+(ords read from the standard input to an array)-.1 F 5.441(.T)-.65 G(he)
+-5.441 E F2(set)2.941 E F0(and)2.941 E F2(declar)2.941 E(e)-.18 E F0 -.2
+(bu)108 136.8 S(iltins display array v).2 E(alues in a w)-.25 E
+(ay that allo)-.1 E(ws them to be reused as assignments.)-.25 E/F3 10.95
+/Times-Bold@0 SF(EXP)72 153.6 Q(ANSION)-.81 E F0 .76(Expansion is perfo\
+rmed on the command line after it has been split into w)108 165.6 R 3.26
+(ords. There)-.1 F .76(are se)3.26 F -.15(ve)-.25 G 3.26(nk).15 G .76
+(inds of)-3.26 F -.15(ex)108 177.6 S .369(pansion performed:).15 F F1
+(br)2.869 E .369(ace e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .369(tilde e)
+2.869 F(xpansion)-.2 E F0(,).24 E F1(par)2.869 E .369
+(ameter and variable e)-.15 F(xpansion)-.2 E F0(,).24 E F1 .37
+(command sub-)2.869 F(stitution)108 189.6 Q F0(,).24 E F1(arithmetic e)
+2.5 E(xpansion)-.2 E F0(,).24 E F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5
+E F0 2.5(,a).22 G(nd)-2.5 E F1(pathname e)2.5 E(xpansion)-.2 E F0(.).24
+E .471(The order of e)108 206.4 R .471(xpansions is: brace e)-.15 F .471
+(xpansion, tilde e)-.15 F .471(xpansion, parameter)-.15 F 2.971(,v)-.4 G
+.47(ariable and arithmetic e)-3.221 F(xpansion)-.15 E
+(and command substitution \(done in a left-to-right f)108 218.4 Q
(ashion\), w)-.1 E(ord splitting, and pathname e)-.1 E(xpansion.)-.15 E
-(On systems that can support it, there is an additional e)108 511.2 Q
-(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F2(pr)2.5 E
-(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 528 R 1.486
+(On systems that can support it, there is an additional e)108 235.2 Q
+(xpansion a)-.15 E -.25(va)-.2 G(ilable:).25 E F1(pr)2.5 E
+(ocess substitution)-.45 E F0(.)A 1.486(Only brace e)108 252 R 1.486
(xpansion, w)-.15 F 1.486(ord splitting, and pathname e)-.1 F 1.487
(xpansion can change the number of w)-.15 F 1.487(ords of the)-.1 F -.15
-(ex)108 540 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15 F
+(ex)108 264 S 1.165(pansion; other e).15 F 1.165(xpansions e)-.15 F
1.165(xpand a single w)-.15 F 1.165(ord to a single w)-.1 F 3.665
(ord. The)-.1 F 1.164(only e)3.665 F 1.164(xceptions to this are the)
--.15 F -.15(ex)108 552 S(pansions of ").15 E F1($@)A F0 2.5("a)C(nd ")
--2.5 E F1(${)A F2(name)A F1([@]})A F0 2.5("a)C 2.5(se)-2.5 G
-(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E F3 -.666(PA)2.5 G
-(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F1(Brace Expansion)87 568.8
-Q F2(Br)108.58 580.8 Q .606(ace e)-.15 F(xpansion)-.2 E F0 .606
+-.15 F -.15(ex)108 276 S(pansions of ").15 E F2($@)A F0 2.5("a)C(nd ")
+-2.5 E F2(${)A F1(name)A F2([@]})A F0 2.5("a)C 2.5(se)-2.5 G
+(xplained abo)-2.65 E .3 -.15(ve \()-.15 H(see).15 E/F4 9/Times-Bold@0
+SF -.666(PA)2.5 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF(\).)A F2
+(Brace Expansion)87 292.8 Q F1(Br)108.58 304.8 Q .606(ace e)-.15 F
+(xpansion)-.2 E F0 .606
(is a mechanism by which arbitrary strings may be generated.)3.346 F
-.606(This mechanism is similar)5.606 F(to)108 592.8 Q F2 .415
+.606(This mechanism is similar)5.606 F(to)108 316.8 Q F1 .415
(pathname e)2.915 F(xpansion)-.2 E F0 2.915(,b)C .415
(ut the \214lenames generated need not e)-3.115 F 2.915(xist. P)-.15 F
.415(atterns to be brace e)-.15 F .415(xpanded tak)-.15 F 2.915(et)-.1 G
-(he)-2.915 E .151(form of an optional)108 604.8 R F2(pr)2.651 E(eamble)
+(he)-2.915 E .151(form of an optional)108 328.8 R F1(pr)2.651 E(eamble)
-.37 E F0 2.651(,f).18 G(ollo)-2.651 E .151
(wed by either a series of comma-separated strings or a sequence e)-.25
-F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 616.8 R
-.563(wed by an optional)-.25 F F2(postscript)3.063 E F0 5.563(.T).68 G
+F(xpres-)-.15 E .563(sion between a pair of braces, follo)108 340.8 R
+.563(wed by an optional)-.25 F F1(postscript)3.063 E F0 5.563(.T).68 G
.563(he preamble is pre\214x)-5.563 F .563(ed to each string)-.15 F .659
(contained within the braces, and the postscript is then appended to ea\
-ch resulting string, e)108 628.8 R .659(xpanding left to)-.15 F(right.)
-108 640.8 Q .719(Brace e)108 657.6 R .719(xpansions may be nested.)-.15
+ch resulting string, e)108 352.8 R .659(xpanding left to)-.15 F(right.)
+108 364.8 Q .719(Brace e)108 381.6 R .719(xpansions may be nested.)-.15
F .719(The results of each e)5.719 F .719
(xpanded string are not sorted; left to right order is)-.15 F(preserv)
-108 669.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F1({)A F0
-(d,c,b)A F1(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.242(As)
-108 686.4 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742
-(es the form)-.1 F F1({)3.242 E F2(x)A F1(..)A F2(y)A F1([..)A F2(incr)A
-F1(]})A F0 3.242(,w)C(here)-3.242 E F2(x)3.242 E F0(and)3.243 E F2(y)
+108 393.6 Q 2.5(ed. F)-.15 F(or e)-.15 E(xample, a)-.15 E F2({)A F0
+(d,c,b)A F2(})A F0 2.5(ee)C(xpands into `ade ace abe'.)-2.65 E 3.242(As)
+108 410.4 S .742(equence e)-3.242 F .742(xpression tak)-.15 F .742
+(es the form)-.1 F F2({)3.242 E F1(x)A F2(..)A F1(y)A F2([..)A F1(incr)A
+F2(]})A F0 3.242(,w)C(here)-3.242 E F1(x)3.242 E F0(and)3.243 E F1(y)
3.243 E F0 .743(are either inte)3.243 F .743(gers or single characters,)
--.15 F(and)108 698.4 Q F2(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G
+-.15 F(and)108 422.4 Q F1(incr)3.032 E F0 3.032(,a)C 3.032(no)-3.032 G
.532(ptional increment, is an inte)-3.032 F(ger)-.15 E 5.532(.W)-.55 G
.532(hen inte)-5.532 F .532(gers are supplied, the e)-.15 F .532
(xpression e)-.15 F .531(xpands to each)-.15 F .077(number between)108
-710.4 R F2(x)2.577 E F0(and)2.577 E F2(y)2.577 E F0 2.577(,i)C(nclusi)
+434.4 R F1(x)2.577 E F0(and)2.577 E F1(y)2.577 E F0 2.577(,i)C(nclusi)
-2.577 E -.15(ve)-.25 G 5.077(.S).15 G .077(upplied inte)-5.077 F .077
-(gers may be pre\214x)-.15 F .077(ed with)-.15 F F2(0)2.577 E F0 .078
+(gers may be pre\214x)-.15 F .077(ed with)-.15 F F1(0)2.577 E F0 .078
(to force each term to ha)2.578 F .378 -.15(ve t)-.2 H(he).15 E .015
-(same width.)108 722.4 R .015(When either)5.015 F F2(x)2.515 E F0(or)
-2.515 E F2(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\
-empts to force all generated terms to contain)-.15 F(GNU Bash-4.1)72 768
-Q(2009 December 29)135.965 E(17)185.955 E 0 Cg EP
-%%Page: 18 18
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.143(the same number of digits, zero-padding where necessary)108
-84 R 6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F
-(xpression)-.15 E -.15(ex)108 96 S .542(pands to each character le).15 F
-.542(xicographically between)-.15 F/F1 10/Times-Italic@0 SF(x)3.042 E F0
-(and)3.042 E F1(y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G
-5.542(.N).15 G .542(ote that both)-5.542 F F1(x)3.041 E F0(and)3.041 E
-F1(y)3.041 E F0 .541(must be of)3.041 F .182(the same type.)108 108 R
-.182(When the increment is supplied, it is used as the dif)5.182 F .183
+(same width.)108 446.4 R .015(When either)5.015 F F1(x)2.515 E F0(or)
+2.515 E F1(y)2.515 E F0(be)2.515 E .014(gins with a zero, the shell att\
+empts to force all generated terms to contain)-.15 F 1.143
+(the same number of digits, zero-padding where necessary)108 458.4 R
+6.143(.W)-.65 G 1.143(hen characters are supplied, the e)-6.143 F
+(xpression)-.15 E -.15(ex)108 470.4 S .542(pands to each character le)
+.15 F .542(xicographically between)-.15 F F1(x)3.042 E F0(and)3.042 E F1
+(y)3.042 E F0 3.042(,i)C(nclusi)-3.042 E -.15(ve)-.25 G 5.542(.N).15 G
+.542(ote that both)-5.542 F F1(x)3.041 E F0(and)3.041 E F1(y)3.041 E F0
+.541(must be of)3.041 F .182(the same type.)108 482.4 R .182
+(When the increment is supplied, it is used as the dif)5.182 F .183
(ference between each term.)-.25 F .183(The def)5.183 F(ault)-.1 E
-(increment is 1 or -1 as appropriate.)108 120 Q .582(Brace e)108 136.8 R
-.582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581(ther e)
--3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581
+(increment is 1 or -1 as appropriate.)108 494.4 Q .582(Brace e)108 511.2
+R .582(xpansion is performed before an)-.15 F 3.082(yo)-.15 G .581
+(ther e)-3.082 F .581(xpansions, and an)-.15 F 3.081(yc)-.15 G .581
(haracters special to other e)-3.081 F(xpansions)-.15 E .015
-(are preserv)108 148.8 R .015(ed in the result.)-.15 F .015
-(It is strictly te)5.015 F(xtual.)-.15 E/F2 10/Times-Bold@0 SF(Bash)
-5.016 E F0 .016(does not apply an)2.516 F 2.516(ys)-.15 G .016
-(yntactic interpretation to the con-)-2.516 F(te)108 160.8 Q
+(are preserv)108 523.2 R .015(ed in the result.)-.15 F .015
+(It is strictly te)5.015 F(xtual.)-.15 E F2(Bash)5.016 E F0 .016
+(does not apply an)2.516 F 2.516(ys)-.15 G .016
+(yntactic interpretation to the con-)-2.516 F(te)108 535.2 Q
(xt of the e)-.15 E(xpansion or the te)-.15 E(xt between the braces.)
--.15 E 3.633(Ac)108 177.6 S 1.133(orrectly-formed brace e)-3.633 F 1.132
-(xpansion must contain unquoted opening and closing braces, and at leas\
-t one)-.15 F 3.44(unquoted comma or a v)108 189.6 R 3.441
-(alid sequence e)-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
+-.15 E 3.633(Ac)108 552 S 1.133(orrectly-formed brace e)-3.633 F 1.132(\
+xpansion must contain unquoted opening and closing braces, and at least\
+ one)-.15 F 3.44(unquoted comma or a v)108 564 R 3.441(alid sequence e)
+-.25 F 5.941(xpression. An)-.15 F 5.941(yi)-.15 G 3.441
(ncorrectly formed brace e)-5.941 F 3.441(xpansion is left)-.15 F 2.755
-(unchanged. A)108 201.6 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0
-.255(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255
+(unchanged. A)108 576 R F2({)2.755 E F0(or)2.755 E F2(,)2.755 E F0 .255
+(may be quoted with a backslash to pre)2.755 F -.15(ve)-.25 G .255
(nt its being considered part of a brace e).15 F(xpres-)-.15 E 2.91
-(sion. T)108 213.6 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41
+(sion. T)108 588 R 2.91(oa)-.8 G -.2(vo)-3.11 G .41
(id con\215icts with parameter e).2 F .411(xpansion, the string)-.15 F
F2(${)2.911 E F0 .411(is not considered eligible for brace e)2.911 F
-(xpan-)-.15 E(sion.)108 225.6 Q 1.476(This construct is typically used \
-as shorthand when the common pre\214x of the strings to be generated is)
-108 242.4 R(longer than in the abo)108 254.4 Q .3 -.15(ve ex)-.15 H
-(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 271.2 Q -.65(w,)-.25
-G(dist,b).65 E(ugs})-.2 E(or)108 283.2 Q(cho)144 295.2 Q
+(xpan-)-.15 E(sion.)108 600 Q 1.476(This construct is typically used as\
+ shorthand when the common pre\214x of the strings to be generated is)
+108 616.8 R(longer than in the abo)108 628.8 Q .3 -.15(ve ex)-.15 H
+(ample:).15 E(mkdir /usr/local/src/bash/{old,ne)144 645.6 Q -.65(w,)-.25
+G(dist,b).65 E(ugs})-.2 E(or)108 657.6 Q(cho)144 669.6 Q
(wn root /usr/{ucb/{e)-.25 E(x,edit},lib/{e)-.15 E(x?.?*,ho)-.15 E(w_e)
--.25 E(x}})-.15 E .618(Brace e)108 312 R .618
+-.25 E(x}})-.15 E .618(Brace e)108 686.4 R .618
(xpansion introduces a slight incompatibility with historical v)-.15 F
.618(ersions of)-.15 F F2(sh)3.118 E F0(.)A F2(sh)5.618 E F0 .618
(does not treat open-)3.118 F .248
-(ing or closing braces specially when the)108 324 R 2.748(ya)-.15 G .247
-(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
-(es them in the output.)-.15 F F2(Bash)5.247 E F0(remo)108 336 Q -.15
+(ing or closing braces specially when the)108 698.4 R 2.748(ya)-.15 G
+.247(ppear as part of a w)-2.748 F .247(ord, and preserv)-.1 F .247
+(es them in the output.)-.15 F F2(Bash)5.247 E F0(remo)108 710.4 Q -.15
(ve)-.15 G 3.53(sb).15 G 1.03(races from w)-3.53 F 1.03
(ords as a consequence of brace e)-.1 F 3.53(xpansion. F)-.15 F 1.03
(or e)-.15 F 1.03(xample, a w)-.15 F 1.03(ord entered to)-.1 F F2(sh)
-3.53 E F0(as)3.53 E F1(\214le{1,2})108 348 Q F0 .515
+3.53 E F0(as)3.53 E F1(\214le{1,2})108 722.4 Q F0 .515
(appears identically in the output.)3.015 F .515(The same w)5.515 F .515
(ord is output as)-.1 F F1 .514(\214le1 \214le2)4.925 F F0 .514(after e)
-3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A .436
-(If strict compatibility with)108 360 R F2(sh)2.936 E F0 .436
-(is desired, start)2.936 F F2(bash)2.936 E F0 .436(with the)2.936 F F2
-(+B)2.936 E F0 .436(option or disable brace e)2.936 F .437
-(xpansion with the)-.15 F F2(+B)108 372 Q F0(option to the)2.5 E F2(set)
-2.5 E F0(command \(see)2.5 E/F3 9/Times-Bold@0 SF(SHELL B)2.5 E(UIL)-.09
-E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F2 -.18(Ti)87 388.8 S
-(lde Expansion).18 E F0 1.087(If a w)108 400.8 R 1.087(ord be)-.1 F
-1.087(gins with an unquoted tilde character \(`)-.15 F F2(~)A F0 1.086
-('\), all of the characters preceding the \214rst unquoted)B .185(slash\
- \(or all characters, if there is no unquoted slash\) are considered a)
-108 412.8 R F1(tilde-pr)2.685 E(e\214x)-.37 E F0 5.185(.I)C 2.685(fn)
--5.185 G .185(one of the characters)-2.685 F .726(in the tilde-pre\214x\
- are quoted, the characters in the tilde-pre\214x follo)108 424.8 R .725
-(wing the tilde are treated as a possible)-.25 F F1(lo)108 436.8 Q .522
-(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G .522
+3.034 F .514(xpansion by)-.15 F F2(bash)3.014 E F0(.)A(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(18)185.955 E 0 Cg EP
+%%Page: 19 19
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .436(If strict compatibility with)108 84 R/F1 10/Times-Bold@0 SF
+(sh)2.936 E F0 .436(is desired, start)2.936 F F1(bash)2.936 E F0 .436
+(with the)2.936 F F1(+B)2.936 E F0 .436(option or disable brace e)2.936
+F .437(xpansion with the)-.15 F F1(+B)108 96 Q F0(option to the)2.5 E F1
+(set)2.5 E F0(command \(see)2.5 E/F2 9/Times-Bold@0 SF(SHELL B)2.5 E
+(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E F1 -.18(Ti)
+87 112.8 S(lde Expansion).18 E F0 1.087(If a w)108 124.8 R 1.087(ord be)
+-.1 F 1.087(gins with an unquoted tilde character \(`)-.15 F F1(~)A F0
+1.086('\), all of the characters preceding the \214rst unquoted)B .185(\
+slash \(or all characters, if there is no unquoted slash\) are consider\
+ed a)108 136.8 R/F3 10/Times-Italic@0 SF(tilde-pr)2.685 E(e\214x)-.37 E
+F0 5.185(.I)C 2.685(fn)-5.185 G .185(one of the characters)-2.685 F .726
+(in the tilde-pre\214x are quoted, the characters in the tilde-pre\214x\
+ follo)108 148.8 R .725(wing the tilde are treated as a possible)-.25 F
+F3(lo)108 160.8 Q .522(gin name)-.1 F F0 5.522(.I)C 3.022(ft)-5.522 G
+.522
(his login name is the null string, the tilde is replaced with the v)
--3.022 F .523(alue of the shell parameter)-.25 F F3(HOME)108 448.8 Q/F4
-9/Times-Roman@0 SF(.)A F0(If)4.787 E F3(HOME)2.787 E F0 .287
+-3.022 F .523(alue of the shell parameter)-.25 F F2(HOME)108 172.8 Q/F4
+9/Times-Roman@0 SF(.)A F0(If)4.787 E F2(HOME)2.787 E F0 .287
(is unset, the home directory of the user e)2.537 F -.15(xe)-.15 G .286
(cuting the shell is substituted instead.).15 F(Other)5.286 E(-)-.2 E(w\
ise, the tilde-pre\214x is replaced with the home directory associated \
-with the speci\214ed login name.)108 460.8 Q .092
-(If the tilde-pre\214x is a `~+', the v)108 477.6 R .092
-(alue of the shell v)-.25 F(ariable)-.25 E F3(PWD)2.592 E F0 .092
+with the speci\214ed login name.)108 184.8 Q .092
+(If the tilde-pre\214x is a `~+', the v)108 201.6 R .092
+(alue of the shell v)-.25 F(ariable)-.25 E F2(PWD)2.592 E F0 .092
(replaces the tilde-pre\214x.)2.342 F .093(If the tilde-pre\214x is)
-5.093 F 3.404(a`)108 489.6 S .904(~\255', the v)-3.404 F .904
-(alue of the shell v)-.25 F(ariable)-.25 E F3(OLDPWD)3.404 E F4(,)A F0
+5.093 F 3.404(a`)108 213.6 S .904(~\255', the v)-3.404 F .904
+(alue of the shell v)-.25 F(ariable)-.25 E F2(OLDPWD)3.404 E F4(,)A F0
.904(if it is set, is substituted.)3.154 F .903(If the characters follo)
5.903 F .903(wing the)-.25 F 1.641
-(tilde in the tilde-pre\214x consist of a number)108 501.6 R F1(N)4.141
+(tilde in the tilde-pre\214x consist of a number)108 225.6 R F3(N)4.141
E F0 4.142(,o)C 1.642(ptionally pre\214x)-4.142 F 1.642
(ed by a `+' or a `\255', the tilde-pre\214x is)-.15 F 1.438(replaced w\
ith the corresponding element from the directory stack, as it w)108
-513.6 R 1.437(ould be displayed by the)-.1 F F2(dirs)3.937 E F0 -.2(bu)
-108 525.6 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954(dw).1 G
+237.6 R 1.437(ould be displayed by the)-.1 F F1(dirs)3.937 E F0 -.2(bu)
+108 249.6 S .454(iltin in).2 F -.2(vo)-.4 G -.1(ke).2 G 2.954(dw).1 G
.454(ith the tilde-pre\214x as an ar)-2.954 F 2.954(gument. If)-.18 F
.454(the characters follo)2.954 F .455
(wing the tilde in the tilde-pre\214x)-.25 F
(consist of a number without a leading `+' or `\255', `+' is assumed.)
-108 537.6 Q(If the login name is in)108 554.4 Q -.25(va)-.4 G
+108 261.6 Q(If the login name is in)108 278.4 Q -.25(va)-.4 G
(lid, or the tilde e).25 E(xpansion f)-.15 E(ails, the w)-.1 E
-(ord is unchanged.)-.1 E .167(Each v)108 571.2 R .167
+(ord is unchanged.)-.1 E .167(Each v)108 295.2 R .167
(ariable assignment is check)-.25 F .167(ed for unquoted tilde-pre\214x)
--.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F2(:)2.667 E
-F0 .167(or the \214rst)2.667 F F2(=)2.666 E F0 5.166(.I)C(n)-5.166 E
-.281(these cases, tilde e)108 583.2 R .282(xpansion is also performed.)
+-.1 F .167(es immediately follo)-.15 F .167(wing a)-.25 F F1(:)2.667 E
+F0 .167(or the \214rst)2.667 F F1(=)2.666 E F0 5.166(.I)C(n)-5.166 E
+.281(these cases, tilde e)108 307.2 R .282(xpansion is also performed.)
-.15 F(Consequently)5.282 E 2.782(,o)-.65 G .282
(ne may use \214le names with tildes in assign-)-2.782 F(ments to)108
-595.2 Q F3 -.666(PA)2.5 G(TH)-.189 E F4(,)A F3(MAILP)2.25 E -.855(AT)
--.666 G(H).855 E F4(,)A F0(and)2.25 E F3(CDP)2.5 E -.855(AT)-.666 G(H)
+319.2 Q F2 -.666(PA)2.5 G(TH)-.189 E F4(,)A F2(MAILP)2.25 E -.855(AT)
+-.666 G(H).855 E F4(,)A F0(and)2.25 E F2(CDP)2.5 E -.855(AT)-.666 G(H)
.855 E F4(,)A F0(and the shell assigns the e)2.25 E(xpanded v)-.15 E
-(alue.)-.25 E F2 -.1(Pa)87 612 S(rameter Expansion).1 E F0 1.606(The `)
-108 624 R F2($)A F0 4.106('c)C 1.606(haracter introduces parameter e)
+(alue.)-.25 E F1 -.1(Pa)87 336 S(rameter Expansion).1 E F0 1.606(The `)
+108 348 R F1($)A F0 4.106('c)C 1.606(haracter introduces parameter e)
-4.106 F 1.605(xpansion, command substitution, or arithmetic e)-.15 F
-4.105(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 636
+4.105(xpansion. The)-.15 F .406(parameter name or symbol to be e)108 360
R .407(xpanded may be enclosed in braces, which are optional b)-.15 F
.407(ut serv)-.2 F 2.907(et)-.15 G 2.907(op)-2.907 G(ro-)-2.907 E .033
-(tect the v)108 648 R .033(ariable to be e)-.25 F .033
+(tect the v)108 372 R .033(ariable to be e)-.25 F .033
(xpanded from characters immediately follo)-.15 F .032
-(wing it which could be interpreted as part)-.25 F(of the name.)108 660
+(wing it which could be interpreted as part)-.25 F(of the name.)108 384
Q 1.189
(When braces are used, the matching ending brace is the \214rst `)108
-676.8 R F2(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a)
+400.8 R F1(})A F0 3.69('n)C 1.19(ot escaped by a backslash or within a)
-3.69 F 2.15(quoted string, and not within an embedded arithmetic e)108
-688.8 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
-(ex)108 700.8 S(pansion.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(18)185.955 E 0 Cg EP
-%%Page: 19 19
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E F0(})A
-1.204(The v)144 96 R 1.204(alue of)-.25 F F1(par)3.704 E(ameter)-.15 E
-F0 1.204(is substituted.)3.704 F 1.204(The braces are required when)
-6.204 F F1(par)4.955 E(ameter)-.15 E F0 1.205(is a positional)4.435 F
-.264(parameter with more than one digit, or when)144 108 R F1(par)4.014
-E(ameter)-.15 E F0 .264(is follo)3.494 F .264
+412.8 R 2.15(xpansion, command substitution, or parameter)-.15 F -.15
+(ex)108 424.8 S(pansion.).15 E(${)108 441.6 Q F3(par)A(ameter)-.15 E F0
+(})A 1.204(The v)144 453.6 R 1.204(alue of)-.25 F F3(par)3.704 E(ameter)
+-.15 E F0 1.204(is substituted.)3.704 F 1.204
+(The braces are required when)6.204 F F3(par)4.955 E(ameter)-.15 E F0
+1.205(is a positional)4.435 F .264
+(parameter with more than one digit, or when)144 465.6 R F3(par)4.014 E
+(ameter)-.15 E F0 .264(is follo)3.494 F .264
(wed by a character which is not to)-.25 F
-(be interpreted as part of its name.)144 120 Q .685
-(If the \214rst character of)108 136.8 R F1(par)3.185 E(ameter)-.15 E F0
-.685(is an e)3.185 F .685(xclamation point \()-.15 F/F2 10/Times-Bold@0
-SF(!)A F0 .685(\), a le)B -.15(ve)-.25 G 3.186(lo).15 G 3.186(fv)-3.186
-G .686(ariable indirection is introduced.)-3.436 F F2(Bash)108 148.8 Q
-F0 .106(uses the v)2.606 F .106(alue of the v)-.25 F .106
-(ariable formed from the rest of)-.25 F F1(par)2.606 E(ameter)-.15 E F0
+(be interpreted as part of its name.)144 477.6 Q .685
+(If the \214rst character of)108 494.4 R F3(par)3.185 E(ameter)-.15 E F0
+.685(is an e)3.185 F .685(xclamation point \()-.15 F F1(!)A F0 .685
+(\), a le)B -.15(ve)-.25 G 3.186(lo).15 G 3.186(fv)-3.186 G .686
+(ariable indirection is introduced.)-3.436 F F1(Bash)108 506.4 Q F0 .106
+(uses the v)2.606 F .106(alue of the v)-.25 F .106
+(ariable formed from the rest of)-.25 F F3(par)2.606 E(ameter)-.15 E F0
.106(as the name of the v)2.606 F .106(ariable; this v)-.25 F(ari-)-.25
-E .351(able is then e)108 160.8 R .351(xpanded and that v)-.15 F .352
+E .351(able is then e)108 518.4 R .351(xpanded and that v)-.15 F .352
(alue is used in the rest of the substitution, rather than the v)-.25 F
-.352(alue of)-.25 F F1(par)2.852 E(ame-)-.15 E(ter)108 172.8 Q F0 2.52
-(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F1(indir)2.52 E
+.352(alue of)-.25 F F3(par)2.852 E(ame-)-.15 E(ter)108 530.4 Q F0 2.52
+(itself. This)2.52 F .02(is kno)2.52 F .02(wn as)-.25 F F3(indir)2.52 E
.02(ect e)-.37 F(xpansion)-.2 E F0 5.019(.T)C .019(he e)-5.019 F .019
-(xceptions to this are the e)-.15 F .019(xpansions of ${!)-.15 F F1(pr)A
-(e\214x)-.37 E F0 .019(*} and)B(${)108 184.8 Q F2(!)A F1(name)A F0([)A
-F1(@)A F0 .762(]} described belo)B 4.563 -.65(w. T)-.25 H .763(he e).65
-F .763(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G
-.763(he left brace in order to)-3.263 F(introduce indirection.)108 196.8
-Q .334(In each of the cases belo)108 213.6 R -.65(w,)-.25 G F1(wor)3.484
-E(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
+(xceptions to this are the e)-.15 F .019(xpansions of ${)-.15 F F1(!)A
+F3(pr)A(e\214x)-.37 E F1(*)A F0 2.519(}a)C(nd)-2.519 E(${)108 542.4 Q F1
+(!)A F3(name)A F0([)A F3(@)A F0 .762(]} described belo)B 4.563 -.65
+(w. T)-.25 H .763(he e).65 F .763
+(xclamation point must immediately follo)-.15 F 3.263(wt)-.25 G .763
+(he left brace in order to)-3.263 F(introduce indirection.)108 554.4 Q
+.334(In each of the cases belo)108 571.2 R -.65(w,)-.25 G F3(wor)3.484 E
+(d)-.37 E F0 .334(is subject to tilde e)2.834 F .334
(xpansion, parameter e)-.15 F .334(xpansion, command substitution,)-.15
-F(and arithmetic e)108 225.6 Q(xpansion.)-.15 E .697
-(When not performing substring e)108 242.4 R .698
-(xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F2
+F(and arithmetic e)108 583.2 Q(xpansion.)-.15 E .697
+(When not performing substring e)108 600 R .698
+(xpansion, using the forms documented belo)-.15 F -.65(w,)-.25 G F1
(bash)3.848 E F0 .698(tests for a parameter)3.198 F
-(that is unset or null.)108 254.4 Q(Omitting the colon results in a tes\
-t only for a parameter that is unset.)5 E(${)108 271.2 Q F1(par)A
-(ameter)-.15 E F2<3aad>A F1(wor)A(d)-.37 E F0(})A F2 .723(Use Default V)
-144 283.2 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 E F1(par)4.473 E(ameter)
--.15 E F0 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F
-F1(wor)3.562 E(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-)
--.2 E(wise, the v)144 295.2 Q(alue of)-.25 E F1(par)3.75 E(ameter)-.15 E
-F0(is substituted.)3.23 E(${)108 307.2 Q F1(par)A(ameter)-.15 E F2(:=)A
-F1(wor)A(d)-.37 E F0(})A F2 2.004(Assign Default V)144 319.2 R(alues)
--.92 E F0 7.004(.I)C(f)-7.004 E F1(par)5.754 E(ameter)-.15 E F0 2.005
-(is unset or null, the e)5.234 F 2.005(xpansion of)-.15 F F1(wor)4.845 E
-(d)-.37 E F0 2.005(is assigned to)5.275 F F1(par)144 331.2 Q(ameter)-.15
-E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F1(par)4.029
+(that is unset or null.)108 612 Q(Omitting the colon results in a test \
+only for a parameter that is unset.)5 E(${)108 628.8 Q F3(par)A(ameter)
+-.15 E F1<3aad>A F3(wor)A(d)-.37 E F0(})A F1 .723(Use Default V)144
+640.8 R(alues)-.92 E F0 5.723(.I)C(f)-5.723 E F3(par)4.473 E(ameter)-.15
+E F0 .723(is unset or null, the e)3.953 F .722(xpansion of)-.15 F F3
+(wor)3.562 E(d)-.37 E F0 .722(is substituted.)3.992 F(Other)5.722 E(-)
+-.2 E(wise, the v)144 652.8 Q(alue of)-.25 E F3(par)3.75 E(ameter)-.15 E
+F0(is substituted.)3.23 E(${)108 664.8 Q F3(par)A(ameter)-.15 E F1(:=)A
+F3(wor)A(d)-.37 E F0(})A F1 2.004(Assign Default V)144 676.8 R(alues)
+-.92 E F0 7.004(.I)C(f)-7.004 E F3(par)5.754 E(ameter)-.15 E F0 2.005
+(is unset or null, the e)5.234 F 2.005(xpansion of)-.15 F F3(wor)4.845 E
+(d)-.37 E F0 2.005(is assigned to)5.275 F F3(par)144 688.8 Q(ameter)-.15
+E F0 5.279(.T).73 G .279(he v)-5.279 F .279(alue of)-.25 F F3(par)4.029
E(ameter)-.15 E F0 .278(is then substituted.)3.508 F .278
(Positional parameters and special param-)5.278 F
-(eters may not be assigned to in this w)144 343.2 Q(ay)-.1 E(.)-.65 E
-(${)108 355.2 Q F1(par)A(ameter)-.15 E F2(:?)A F1(wor)A(d)-.37 E F0(})A
-F2 .535(Display Err)144 367.2 R .535(or if Null or Unset)-.18 F F0 5.535
-(.I)C(f)-5.535 E F1(par)4.285 E(ameter)-.15 E F0 .535
-(is null or unset, the e)3.765 F .535(xpansion of)-.15 F F1(wor)3.035 E
-(d)-.37 E F0 .535(\(or a mes-)3.035 F .662(sage to that ef)144 379.2 R
-.662(fect if)-.25 F F1(wor)3.502 E(d)-.37 E F0 .661(is not present\) is\
- written to the standard error and the shell, if it is not)3.932 F
-(interacti)144 391.2 Q -.15(ve)-.25 G 2.5(,e).15 G 2.5(xits. Otherwise,)
--2.65 F(the v)2.5 E(alue of)-.25 E F1(par)2.5 E(ameter)-.15 E F0
-(is substituted.)2.5 E(${)108 403.2 Q F1(par)A(ameter)-.15 E F2(:+)A F1
-(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 415.2 R .745(nate V)-.15 F
-(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E(ameter)-.15 E F0
-.745(is null or unset, nothing is substituted, otherwise the e)3.975 F
-(xpan-)-.15 E(sion of)144 427.2 Q F1(wor)2.84 E(d)-.37 E F0
-(is substituted.)3.27 E(${)108 439.2 Q F1(par)A(ameter)-.15 E F2(:)A F1
-(of)A(fset)-.18 E F0(})A(${)108 451.2 Q F1(par)A(ameter)-.15 E F2(:)A F1
-(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .797
-(Substring Expansion.)144 463.2 R F0 .796(Expands to up to)5.797 F F1
-(length)3.296 E F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15
-E F0 .796(starting at the character)3.296 F .228(speci\214ed by)144
-475.2 R F1(of)2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F1(length)
-2.728 E F0 .229(is omitted, e)2.729 F .229(xpands to the substring of)
--.15 F F1(par)2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F
-(-)-.2 E .433(acter speci\214ed by)144 487.2 R F1(of)2.933 E(fset)-.18 E
-F0(.)A F1(length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0
-.433(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9
-/Times-Bold@0 SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144
-499.2 S(ION).855 E F0(belo)2.576 E(w\).)-.25 E F1(length)5.326 E F0 .326
-(must e)2.826 F -.25(va)-.25 G .326
-(luate to a number greater than or equal to zero.).25 F(If)5.327 E F1
-(of)2.827 E(fset)-.18 E F0 -.25(eva)2.827 G(luates).25 E .016
-(to a number less than zero, the v)144 511.2 R .015
-(alue is used as an of)-.25 F .015(fset from the end of the v)-.25 F
-.015(alue of)-.25 F F1(par)2.515 E(ameter)-.15 E F0 5.015(.I)C(f)-5.015
-E F1(par)144 523.2 Q(ameter)-.15 E F0(is)3.25 E F2(@)3.25 E F0 3.25(,t)C
-.75(he result is)-3.25 F F1(length)3.25 E F0 .75
-(positional parameters be)3.25 F .75(ginning at)-.15 F F1(of)3.25 E
-(fset)-.18 E F0 5.75(.I)C(f)-5.75 E F1(par)3.25 E(ameter)-.15 E F0 .75
-(is an)3.25 F(inde)144 535.2 Q -.15(xe)-.15 G 2.702(da).15 G .201
-(rray name subscripted by @ or *, the result is the)-2.702 F F1(length)
-2.701 E F0 .201(members of the array be)2.701 F(ginning)-.15 E 1.282
-(with ${)144 547.2 R F1(par)A(ameter)-.15 E F0([)A F1(of)A(fset)-.18 E
-F0 3.782(]}. A)B(ne)3.782 E -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G F1
-(of)3.932 E(fset)-.18 E F0 1.282(is tak)3.782 F 1.282(en relati)-.1 F
-1.582 -.15(ve t)-.25 H 3.782(oo).15 G 1.283(ne greater than the maximum)
--3.782 F(inde)144 559.2 Q 3.435(xo)-.15 G 3.435(ft)-3.435 G .935
-(he speci\214ed array)-3.435 F 5.935(.S)-.65 G .935(ubstring e)-5.935 F
-.935(xpansion applied to an associati)-.15 F 1.234 -.15(ve a)-.25 H .934
-(rray produces unde-).15 F .261(\214ned results.)144 571.2 R .261
-(Note that a ne)5.261 F -.05(ga)-.15 G(ti).05 E .561 -.15(ve o)-.25 H
--.25(ff).15 G .261
-(set must be separated from the colon by at least one space to).25 F -.2
-(avo)144 583.2 S .155(id being confused with the :- e).2 F 2.655
-(xpansion. Substring)-.15 F(inde)2.655 E .154
-(xing is zero-based unless the positional)-.15 F .532
-(parameters are used, in which case the inde)144 595.2 R .532
-(xing starts at 1 by def)-.15 F 3.032(ault. If)-.1 F F1(of)3.032 E(fset)
--.18 E F0 .532(is 0, and the posi-)3.032 F(tional parameters are used,)
-144 607.2 Q F2($0)2.5 E F0(is pre\214x)2.5 E(ed to the list.)-.15 E(${)
-108 624 Q F2(!)A F1(pr)A(e\214x)-.37 E F2(*)A F0(})A(${)108 636 Q F2(!)A
-F1(pr)A(e\214x)-.37 E F2(@)A F0(})A F2 .085(Names matching pr)144 648 R
-(e\214x.)-.18 E F0 .084(Expands to the names of v)5.085 F .084
-(ariables whose names be)-.25 F .084(gin with)-.15 F F1(pr)2.584 E
-(e\214x)-.37 E F0 2.584(,s)C(epa-)-2.584 E .257
-(rated by the \214rst character of the)144 660 R F3(IFS)2.757 E F0 .257
-(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.758 E F0 .258
-(is used and the e)2.758 F .258(xpansion appears)-.15 F
-(within double quotes, each v)144 672 Q(ariable name e)-.25 E
-(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 688.8 Q F2(!)A F1(name)
-A F0([)A F1(@)A F0(]})A(${)108 700.8 Q F2(!)A F1(name)A F0([)A F1(*)A F0
-(]})A F2 2.036(List of array k)144 712.8 R(eys.)-.1 E F0(If)7.036 E F1
-(name)4.536 E F0 2.036(is an array v)4.536 F 2.036(ariable, e)-.25 F
-2.036(xpands to the list of array indices \(k)-.15 F -.15(ey)-.1 G(s\))
-.15 E .595(assigned in)144 724.8 R F1(name)3.095 E F0 5.595(.I)C(f)
--5.595 E F1(name)3.095 E F0 .595(is not an array)3.095 F 3.095(,e)-.65 G
-.595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .596
-(is set and null otherwise.)3.095 F(When)5.596 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(19)185.955 E 0 Cg EP
+(eters may not be assigned to in this w)144 700.8 Q(ay)-.1 E(.)-.65 E
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(19)185.955 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(@)144 84 Q F0(is used and the e)2.5 E
-(xpansion appears within double quotes, each k)-.15 E .3 -.15(ey ex)-.1
-H(pands to a separate w).15 E(ord.)-.1 E(${)108 100.8 Q/F2 10
-/Times-Bold@0 SF(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 112.8 S
-.471(rameter length.).1 F F0 .471(The length in characters of the v)
-5.471 F .471(alue of)-.25 F F1(par)2.971 E(ameter)-.15 E F0 .47
-(is substituted.)2.97 F(If)5.47 E F1(par)4.22 E(ame-)-.15 E(ter)144
-124.8 Q F0(is)4.438 E F2(*)3.708 E F0(or)3.708 E F2(@)3.708 E F0 3.708
-(,t)C 1.208(he v)-3.708 F 1.208
+-.35 E(${)108 84 Q/F1 10/Times-Italic@0 SF(par)A(ameter)-.15 E/F2 10
+/Times-Bold@0 SF(:?)A F1(wor)A(d)-.37 E F0(})A F2 .535(Display Err)144
+96 R .535(or if Null or Unset)-.18 F F0 5.535(.I)C(f)-5.535 E F1(par)
+4.285 E(ameter)-.15 E F0 .535(is null or unset, the e)3.765 F .535
+(xpansion of)-.15 F F1(wor)3.035 E(d)-.37 E F0 .535(\(or a mes-)3.035 F
+.662(sage to that ef)144 108 R .662(fect if)-.25 F F1(wor)3.502 E(d)-.37
+E F0 .661(is not present\) is written to the standard error and the she\
+ll, if it is not)3.932 F(interacti)144 120 Q -.15(ve)-.25 G 2.5(,e).15 G
+2.5(xits. Otherwise,)-2.65 F(the v)2.5 E(alue of)-.25 E F1(par)2.5 E
+(ameter)-.15 E F0(is substituted.)2.5 E(${)108 132 Q F1(par)A(ameter)
+-.15 E F2(:+)A F1(wor)A(d)-.37 E F0(})A F2 .745(Use Alter)144 144 R .745
+(nate V)-.15 F(alue)-.92 E F0 5.745(.I)C(f)-5.745 E F1(par)4.495 E
+(ameter)-.15 E F0 .745
+(is null or unset, nothing is substituted, otherwise the e)3.975 F
+(xpan-)-.15 E(sion of)144 156 Q F1(wor)2.84 E(d)-.37 E F0
+(is substituted.)3.27 E(${)108 168 Q F1(par)A(ameter)-.15 E F2(:)A F1
+(of)A(fset)-.18 E F0(})A(${)108 180 Q F1(par)A(ameter)-.15 E F2(:)A F1
+(of)A(fset)-.18 E F2(:)A F1(length)A F0(})A F2 .797(Substring Expansion)
+144 192 R F0 5.797(.E)C .796(xpands to up to)-5.797 F F1(length)3.296 E
+F0 .796(characters of)3.296 F F1(par)3.296 E(ameter)-.15 E F0 .796
+(starting at the character)3.296 F .228(speci\214ed by)144 204 R F1(of)
+2.728 E(fset)-.18 E F0 5.228(.I)C(f)-5.228 E F1(length)2.728 E F0 .229
+(is omitted, e)2.729 F .229(xpands to the substring of)-.15 F F1(par)
+2.729 E(ameter)-.15 E F0 .229(starting at the char)2.729 F(-)-.2 E .433
+(acter speci\214ed by)144 216 R F1(of)2.933 E(fset)-.18 E F0(.)A F1
+(length)5.433 E F0(and)2.933 E F1(of)2.933 E(fset)-.18 E F0 .433
+(are arithmetic e)2.933 F .433(xpressions \(see)-.15 F/F3 9/Times-Bold@0
+SF .432(ARITHMETIC EV)2.933 F(ALU-)-1.215 E -.855(AT)144 228 S(ION).855
+E F0(belo)2.925 E 3.175(w\). If)-.25 F F1(of)3.175 E(fset)-.18 E F0 -.25
+(eva)3.175 G .676(luates to a number less than zero, the v).25 F .676
+(alue is used as an of)-.25 F .676(fset from)-.25 F .103
+(the end of the v)144 240 R .103(alue of)-.25 F F1(par)2.603 E(ameter)
+-.15 E F0 5.103(.I)C(f)-5.103 E F1(length)2.603 E F0 -.25(eva)2.603 G
+.103(luates to a number less than zero, and).25 F F1(par)2.602 E(ameter)
+-.15 E F0(is)2.602 E(not)144 252 Q F2(@)3.642 E F0 1.142
+(and not an inde)3.642 F -.15(xe)-.15 G 3.642(do).15 G 3.642(ra)-3.642 G
+(ssociati)-3.642 E 1.443 -.15(ve a)-.25 H(rray).15 E 3.643(,i)-.65 G
+3.643(ti)-3.643 G 3.643(si)-3.643 G 1.143(nterpreted as an of)-3.643 F
+1.143(fset from the end of the)-.25 F -.25(va)144 264 S .038(lue of).25
+F F1(par)2.538 E(ameter)-.15 E F0 .037
+(rather than a number of characters, and the e)2.538 F .037
+(xpansion is the characters between)-.15 F .073(the tw)144 276 R 2.573
+(oo)-.1 G -.25(ff)-2.573 G 2.573(sets. If).25 F F1(par)2.573 E(ameter)
+-.15 E F0(is)2.574 E F2(@)2.574 E F0 2.574(,t)C .074(he result is)-2.574
+F F1(length)2.574 E F0 .074(positional parameters be)2.574 F .074
+(ginning at)-.15 F F1(of)2.574 E(fset)-.18 E F0 5.074(.I)C(f)-5.074 E F1
+(par)144 288 Q(ameter)-.15 E F0 .205(is an inde)2.705 F -.15(xe)-.15 G
+2.705(da).15 G .205(rray name subscripted by @ or *, the result is the)
+-2.705 F F1(length)2.705 E F0 .205(members of the)2.705 F .696(array be)
+144 300 R .697(ginning with ${)-.15 F F1(par)A(ameter)-.15 E F0([)A F1
+(of)A(fset)-.18 E F0 3.197(]}. A)B(ne)3.197 E -.05(ga)-.15 G(ti).05 E
+-.15(ve)-.25 G F1(of)3.347 E(fset)-.18 E F0 .697(is tak)3.197 F .697
+(en relati)-.1 F .997 -.15(ve t)-.25 H 3.197(oo).15 G .697
+(ne greater than)-3.197 F 1.404(the maximum inde)144 312 R 3.903(xo)-.15
+G 3.903(ft)-3.903 G 1.403(he speci\214ed array)-3.903 F 6.403(.S)-.65 G
+1.403(ubstring e)-6.403 F 1.403(xpansion applied to an associati)-.15 F
+1.703 -.15(ve a)-.25 H(rray).15 E 1.294(produces unde\214ned results.)
+144 324 R 1.294(Note that a ne)6.294 F -.05(ga)-.15 G(ti).05 E 1.595
+-.15(ve o)-.25 H -.25(ff).15 G 1.295
+(set must be separated from the colon by at).25 F .959
+(least one space to a)144 336 R -.2(vo)-.2 G .959
+(id being confused with the :- e).2 F 3.458(xpansion. Substring)-.15 F
+(inde)3.458 E .958(xing is zero-based)-.15 F .414
+(unless the positional parameters are used, in which case the inde)144
+348 R .415(xing starts at 1 by def)-.15 F 2.915(ault. If)-.1 F F1(of)
+2.915 E(f-)-.18 E(set)144 360 Q F0
+(is 0, and the positional parameters are used,)2.5 E F2($0)2.5 E F0
+(is pre\214x)2.5 E(ed to the list.)-.15 E(${)108 376.8 Q F2(!)A F1(pr)A
+(e\214x)-.37 E F2(*)A F0(})A(${)108 388.8 Q F2(!)A F1(pr)A(e\214x)-.37 E
+F2(@)A F0(})A F2 .085(Names matching pr)144 400.8 R(e\214x)-.18 E F0
+5.085(.E)C .084(xpands to the names of v)-5.085 F .084
+(ariables whose names be)-.25 F .084(gin with)-.15 F F1(pr)2.584 E
+(e\214x)-.37 E F0 2.584(,s)C(epa-)-2.584 E .257
+(rated by the \214rst character of the)144 412.8 R F3(IFS)2.757 E F0
+.257(special v)2.507 F 2.757(ariable. When)-.25 F F1(@)2.758 E F0 .258
+(is used and the e)2.758 F .258(xpansion appears)-.15 F
+(within double quotes, each v)144 424.8 Q(ariable name e)-.25 E
+(xpands to a separate w)-.15 E(ord.)-.1 E(${)108 441.6 Q F2(!)A F1(name)
+A F0([)A F1(@)A F0(]})A(${)108 453.6 Q F2(!)A F1(name)A F0([)A F1(*)A F0
+(]})A F2 2.036(List of array k)144 465.6 R(eys)-.1 E F0 7.036(.I)C(f)
+-7.036 E F1(name)4.536 E F0 2.036(is an array v)4.536 F 2.036
+(ariable, e)-.25 F 2.036(xpands to the list of array indices \(k)-.15 F
+-.15(ey)-.1 G(s\)).15 E .595(assigned in)144 477.6 R F1(name)3.095 E F0
+5.595(.I)C(f)-5.595 E F1(name)3.095 E F0 .595(is not an array)3.095 F
+3.095(,e)-.65 G .595(xpands to 0 if)-3.245 F F1(name)3.095 E F0 .596
+(is set and null otherwise.)3.095 F(When)5.596 E F1(@)144 489.6 Q F0
+(is used and the e)2.5 E(xpansion appears within double quotes, each k)
+-.15 E .3 -.15(ey ex)-.1 H(pands to a separate w).15 E(ord.)-.1 E(${)108
+506.4 Q F2(#)A F1(par)A(ameter)-.15 E F0(})A F2 -.1(Pa)144 518.4 S .471
+(rameter length).1 F F0 5.471(.T)C .471
+(he length in characters of the v)-5.471 F .471(alue of)-.25 F F1(par)
+2.971 E(ameter)-.15 E F0 .47(is substituted.)2.97 F(If)5.47 E F1(par)
+4.22 E(ame-)-.15 E(ter)144 530.4 Q F0(is)4.438 E F2(*)3.708 E F0(or)
+3.708 E F2(@)3.708 E F0 3.708(,t)C 1.208(he v)-3.708 F 1.208
(alue substituted is the number of positional parameters.)-.25 F(If)
6.209 E F1(par)4.959 E(ameter)-.15 E F0 1.209(is an)4.439 F
-(array name subscripted by)144 136.8 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E
+(array name subscripted by)144 542.4 Q F2(*)2.5 E F0(or)2.5 E F2(@)2.5 E
F0 2.5(,t)C(he v)-2.5 E
(alue substituted is the number of elements in the array)-.25 E(.)-.65 E
-(${)108 153.6 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A
-(${)108 165.6 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A
-F2(Remo)144 177.6 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196
-(e\214x patter)-.18 F(n.)-.15 E F0(The)6.196 E F1(wor)4.036 E(d)-.37 E
-F0 1.196(is e)4.466 F 1.196
+(${)108 559.2 Q F1(par)A(ameter)-.15 E F2(#)A F1(wor)A(d)-.37 E F0(})A
+(${)108 571.2 Q F1(par)A(ameter)-.15 E F2(##)A F1(wor)A(d)-.37 E F0(})A
+F2(Remo)144 583.2 Q 1.396 -.1(ve m)-.1 H 1.196(atching pr).1 F 1.196
+(e\214x patter)-.18 F(n)-.15 E F0 6.196(.T)C(he)-6.196 E F1(wor)4.036 E
+(d)-.37 E F0 1.196(is e)4.466 F 1.196
(xpanded to produce a pattern just as in path-)-.15 F .151(name e)144
-189.6 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652
+595.2 R 2.651(xpansion. If)-.15 F .152(the pattern matches the be)2.652
F .152(ginning of the v)-.15 F .152(alue of)-.25 F F1(par)2.652 E
(ameter)-.15 E F0 2.652(,t).73 G .152(hen the result of)-2.652 F 1.4
-(the e)144 201.6 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4
+(the e)144 607.2 R 1.4(xpansion is the e)-.15 F 1.4(xpanded v)-.15 F 1.4
(alue of)-.25 F F1(par)5.15 E(ameter)-.15 E F0 1.4
(with the shortest matching pattern \(the `)4.63 F(`)-.74 E F2(#)A F0
--.74('')C .281(case\) or the longest matching pattern \(the `)144 213.6
+-.74('')C .281(case\) or the longest matching pattern \(the `)144 619.2
R(`)-.74 E F2(##)A F0 1.761 -.74('' c)D .281(ase\) deleted.).74 F(If)
5.281 E F1(par)4.031 E(ameter)-.15 E F0(is)3.511 E F2(@)2.781 E F0(or)
2.781 E F2(*)2.782 E F0 2.782(,t)C .282(he pattern)-2.782 F(remo)144
-225.6 Q -.25(va)-.15 G 3.274(lo).25 G .774
+631.2 Q -.25(va)-.15 G 3.274(lo).25 G .774
(peration is applied to each positional parameter in turn, and the e)
--3.274 F .774(xpansion is the resul-)-.15 F .401(tant list.)144 237.6 R
+-3.274 F .774(xpansion is the resul-)-.15 F .401(tant list.)144 643.2 R
(If)5.401 E F1(par)4.151 E(ameter)-.15 E F0 .401(is an array v)3.631 F
.401(ariable subscripted with)-.25 F F2(@)2.901 E F0(or)2.901 E F2(*)
2.901 E F0 2.902(,t)C .402(he pattern remo)-2.902 F -.25(va)-.15 G 2.902
(lo).25 G(peration)-2.902 E
-(is applied to each member of the array in turn, and the e)144 249.6 Q
-(xpansion is the resultant list.)-.15 E(${)108 266.4 Q F1(par)A(ameter)
--.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 278.4 Q F1(par)A(ameter)
--.15 E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 290.4 Q .347 -.1
-(ve m)-.1 H .147(atching suf\214x patter).1 F(n.)-.15 E F0(The)5.147 E
-F1(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146
-(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144
-302.4 S 3.088(pansion. If).15 F .588
+(is applied to each member of the array in turn, and the e)144 655.2 Q
+(xpansion is the resultant list.)-.15 E(${)108 672 Q F1(par)A(ameter)
+-.15 E F2(%)A F1(wor)A(d)-.37 E F0(})A(${)108 684 Q F1(par)A(ameter)-.15
+E F2(%%)A F1(wor)A(d)-.37 E F0(})A F2(Remo)144 696 Q .347 -.1(ve m)-.1 H
+.147(atching suf\214x patter).1 F(n)-.15 E F0 5.147(.T)C(he)-5.147 E F1
+(wor)2.647 E(d)-.37 E F0 .147(is e)2.647 F .146
+(xpanded to produce a pattern just as in pathname)-.15 F -.15(ex)144 708
+S 3.088(pansion. If).15 F .588
(the pattern matches a trailing portion of the e)3.088 F .588(xpanded v)
-.15 F .588(alue of)-.25 F F1(par)3.088 E(ameter)-.15 E F0 3.088(,t).73
-G .588(hen the)-3.088 F .226(result of the e)144 314.4 R .226
+G .588(hen the)-3.088 F .226(result of the e)144 720 R .226
(xpansion is the e)-.15 F .226(xpanded v)-.15 F .226(alue of)-.25 F F1
(par)3.976 E(ameter)-.15 E F0 .226
-(with the shortest matching pattern \(the)3.456 F -.74(``)144 326.4 S F2
-(%).74 E F0 1.521 -.74('' c)D .042
-(ase\) or the longest matching pattern \(the `).74 F(`)-.74 E F2(%%)A F0
-1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E F1(par)3.792 E
-(ameter)-.15 E F0(is)3.272 E F2(@)2.542 E F0(or)2.542 E F2(*)2.542 E F0
-2.542(,t)C(he)-2.542 E .441(pattern remo)144 338.4 R -.25(va)-.15 G
-2.941(lo).25 G .441
+(with the shortest matching pattern \(the)3.456 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(20)185.955 E 0 Cg EP
+%%Page: 21 21
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E -.74(``)144 84 S/F1 10/Times-Bold@0 SF(%).74 E F0 1.521 -.74
+('' c)D .042(ase\) or the longest matching pattern \(the `).74 F(`)-.74
+E F1(%%)A F0 1.522 -.74('' c)D .042(ase\) deleted.).74 F(If)5.042 E/F2
+10/Times-Italic@0 SF(par)3.792 E(ameter)-.15 E F0(is)3.272 E F1(@)2.542
+E F0(or)2.542 E F1(*)2.542 E F0 2.542(,t)C(he)-2.542 E .441
+(pattern remo)144 96 R -.25(va)-.15 G 2.941(lo).25 G .441
(peration is applied to each positional parameter in turn, and the e)
--2.941 F .44(xpansion is the)-.15 F .24(resultant list.)144 350.4 R(If)
-5.24 E F1(par)3.99 E(ameter)-.15 E F0 .24(is an array v)3.47 F .241
-(ariable subscripted with)-.25 F F2(@)2.741 E F0(or)2.741 E F2(*)2.741 E
+-2.941 F .44(xpansion is the)-.15 F .24(resultant list.)144 108 R(If)
+5.24 E F2(par)3.99 E(ameter)-.15 E F0 .24(is an array v)3.47 F .241
+(ariable subscripted with)-.25 F F1(@)2.741 E F0(or)2.741 E F1(*)2.741 E
F0 2.741(,t)C .241(he pattern remo)-2.741 F -.25(va)-.15 G 2.741(lo).25
G(per)-2.741 E(-)-.2 E
-(ation is applied to each member of the array in turn, and the e)144
-362.4 Q(xpansion is the resultant list.)-.15 E(${)108 379.2 Q F1(par)A
-(ameter)-.15 E F2(/)A F1(pattern)A F2(/)A F1(string)A F0(})A F2 -.1(Pa)
-144 391.2 S(tter).1 E 3.607(ns)-.15 G(ubstitution.)-3.607 E F0(The)6.107
-E F1(pattern)3.607 E F0 1.107(is e)3.607 F 1.106
+(ation is applied to each member of the array in turn, and the e)144 120
+Q(xpansion is the resultant list.)-.15 E(${)108 136.8 Q F2(par)A(ameter)
+-.15 E F1(/)A F2(pattern)A F1(/)A F2(string)A F0(})A F1 -.1(Pa)144 148.8
+S(tter).1 E 3.607(ns)-.15 G(ubstitution)-3.607 E F0 6.107(.T)C(he)-6.107
+E F2(pattern)3.607 E F0 1.107(is e)3.607 F 1.106
(xpanded to produce a pattern just as in pathname e)-.15 F(xpan-)-.15 E
-(sion.)144 403.2 Q F1 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033
-(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F1(pattern)
+(sion.)144 160.8 Q F2 -.8(Pa)6.033 G -.15(ra).8 G(meter).15 E F0 1.033
+(is e)3.533 F 1.033(xpanded and the longest match of)-.15 F F2(pattern)
3.533 E F0(ag)3.533 E 1.034(ainst its v)-.05 F 1.034
-(alue is replaced with)-.25 F F1(string)144 415.2 Q F0 5.161(.I)C(f)
--5.161 E F1(pattern)2.661 E F0(be)2.661 E .161(gins with)-.15 F F2(/)
-2.661 E F0 2.661(,a)C .161(ll matches of)-2.661 F F1(pattern)2.661 E F0
-.16(are replaced with)2.661 F F1(string)2.66 E F0 5.16(.N)C .16
-(ormally only the)-5.16 F .806(\214rst match is replaced.)144 427.2 R
-(If)5.806 E F1(pattern)3.306 E F0(be)3.306 E .806(gins with)-.15 F F2(#)
+(alue is replaced with)-.25 F F2(string)144 172.8 Q F0 5.161(.I)C(f)
+-5.161 E F2(pattern)2.661 E F0(be)2.661 E .161(gins with)-.15 F F1(/)
+2.661 E F0 2.661(,a)C .161(ll matches of)-2.661 F F2(pattern)2.661 E F0
+.16(are replaced with)2.661 F F2(string)2.66 E F0 5.16(.N)C .16
+(ormally only the)-5.16 F .806(\214rst match is replaced.)144 184.8 R
+(If)5.806 E F2(pattern)3.306 E F0(be)3.306 E .806(gins with)-.15 F F1(#)
3.306 E F0 3.306(,i)C 3.307(tm)-3.306 G .807(ust match at the be)-3.307
-F .807(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 439.2 S .621
-(lue of).25 F F1(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F1
-(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F2(%)3.121 E F0
+F .807(ginning of the e)-.15 F(xpanded)-.15 E -.25(va)144 196.8 S .621
+(lue of).25 F F2(par)3.121 E(ameter)-.15 E F0 5.621(.I)C(f)-5.621 E F2
+(pattern)3.121 E F0(be)3.121 E .621(gins with)-.15 F F1(%)3.121 E F0
3.121(,i)C 3.121(tm)-3.121 G .62(ust match at the end of the e)-3.121 F
-.62(xpanded v)-.15 F .62(alue of)-.25 F F1(par)144 451.2 Q(ameter)-.15 E
-F0 6.253(.I)C(f)-6.253 E F1(string)3.753 E F0 1.253(is null, matches of)
-3.753 F F1(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F2(/)
-3.753 E F0(follo)3.753 E(wing)-.25 E F1(pattern)3.753 E F0 1.254(may be)
-3.754 F 2.679(omitted. If)144 463.2 R F1(par)3.929 E(ameter)-.15 E F0
-(is)3.409 E F2(@)2.679 E F0(or)2.679 E F2(*)2.679 E F0 2.679(,t)C .178
+.62(xpanded v)-.15 F .62(alue of)-.25 F F2(par)144 208.8 Q(ameter)-.15 E
+F0 6.253(.I)C(f)-6.253 E F2(string)3.753 E F0 1.253(is null, matches of)
+3.753 F F2(pattern)3.753 E F0 1.253(are deleted and the)3.753 F F1(/)
+3.753 E F0(follo)3.753 E(wing)-.25 E F2(pattern)3.753 E F0 1.254(may be)
+3.754 F 2.679(omitted. If)144 220.8 R F2(par)3.929 E(ameter)-.15 E F0
+(is)3.409 E F1(@)2.679 E F0(or)2.679 E F1(*)2.679 E F0 2.679(,t)C .178
(he substitution operation is applied to each positional parameter)
--2.679 F .618(in turn, and the e)144 475.2 R .619
-(xpansion is the resultant list.)-.15 F(If)5.619 E F1(par)4.369 E
+-2.679 F .618(in turn, and the e)144 232.8 R .619
+(xpansion is the resultant list.)-.15 F(If)5.619 E F2(par)4.369 E
(ameter)-.15 E F0 .619(is an array v)3.849 F .619
-(ariable subscripted with)-.25 F F2(@)144 487.2 Q F0(or)3.224 E F2(*)
+(ariable subscripted with)-.25 F F1(@)144 244.8 Q F0(or)3.224 E F1(*)
3.224 E F0 3.224(,t)C .723(he substitution operation is applied to each\
member of the array in turn, and the e)-3.224 F(xpan-)-.15 E
-(sion is the resultant list.)144 499.2 Q(${)108 516 Q F1(par)A(ameter)
--.15 E F2(^)A F1(pattern)A F0(})A(${)108 528 Q F1(par)A(ameter)-.15 E F2
-(^^)A F1(pattern)A F0(})A(${)108 540 Q F1(par)A(ameter)-.15 E F2(,)A F1
-(pattern)A F0(})A(${)108 552 Q F1(par)A(ameter)-.15 E F2(,,)A F1
-(pattern)A F0(})A F2 .437(Case modi\214cation.)144 564 R F0 .437(This e)
-5.437 F .438(xpansion modi\214es the case of alphabetic characters in)
--.15 F F1(par)2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F1
-(pattern)144 576 Q F0 .814(is e)3.314 F .813
+(sion is the resultant list.)144 256.8 Q(${)108 273.6 Q F2(par)A(ameter)
+-.15 E F1(^)A F2(pattern)A F0(})A(${)108 285.6 Q F2(par)A(ameter)-.15 E
+F1(^^)A F2(pattern)A F0(})A(${)108 297.6 Q F2(par)A(ameter)-.15 E F1(,)A
+F2(pattern)A F0(})A(${)108 309.6 Q F2(par)A(ameter)-.15 E F1(,,)A F2
+(pattern)A F0(})A F1 .437(Case modi\214cation)144 321.6 R F0 5.437(.T)C
+.437(his e)-5.437 F .438
+(xpansion modi\214es the case of alphabetic characters in)-.15 F F2(par)
+2.938 E(ameter)-.15 E F0 5.438(.T)C(he)-5.438 E F2(pattern)144 333.6 Q
+F0 .814(is e)3.314 F .813
(xpanded to produce a pattern just as in pathname e)-.15 F 3.313
-(xpansion. The)-.15 F F2(^)3.313 E F0 .813(operator con)3.313 F -.15(ve)
--.4 G(rts).15 E(lo)144 588 Q .18(wercase letters matching)-.25 F F1
-(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F2(,)2.681 E F0 .181
+(xpansion. The)-.15 F F1(^)3.313 E F0 .813(operator con)3.313 F -.15(ve)
+-.4 G(rts).15 E(lo)144 345.6 Q .18(wercase letters matching)-.25 F F2
+(pattern)2.681 E F0 .181(to uppercase; the)2.681 F F1(,)2.681 E F0 .181
(operator con)2.681 F -.15(ve)-.4 G .181(rts matching uppercase letters)
-.15 F .085(to lo)144 600 R 2.585(wercase. The)-.25 F F2(^^)2.585 E F0
-(and)2.585 E F2(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F
+.15 F .085(to lo)144 357.6 R 2.585(wercase. The)-.25 F F1(^^)2.585 E F0
+(and)2.585 E F1(,,)2.585 E F0 -.15(ex)2.585 G .085(pansions con).15 F
-.15(ve)-.4 G .085(rt each matched character in the e).15 F .085
-(xpanded v)-.15 F .085(alue; the)-.25 F F2(^)2.585 E F0(and)144 612 Q F2
-(,)3.434 E F0 -.15(ex)3.434 G .934(pansions match and con).15 F -.15(ve)
--.4 G .934(rt only the \214rst character in the e).15 F .935(xpanded v)
--.15 F 3.435(alue.. If)-.25 F F1(pattern)3.435 E F0(is)3.435 E 1.121
-(omitted, it is treated lik)144 624 R 3.621(ea)-.1 G F2(?)A F0 3.621(,w)
-C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121(ry character).15 F
-6.12(.I)-.55 G(f)-6.12 E F1(par)4.87 E(ameter)-.15 E F0(is)4.35 E F2(@)
-3.62 E F0(or)3.62 E F2(*)3.62 E F0 3.62(,t)C 1.12(he case)-3.62 F 1.335
-(modi\214cation operation is applied to each positional parameter in tu\
-rn, and the e)144 636 R 1.335(xpansion is the)-.15 F 1.308
-(resultant list.)144 648 R(If)6.308 E F1(par)5.058 E(ameter)-.15 E F0
-1.308(is an array v)4.538 F 1.308(ariable subscripted with)-.25 F F2(@)
-3.808 E F0(or)3.808 E F2(*)3.808 E F0 3.808(,t)C 1.308
-(he case modi\214cation)-3.808 F
+(xpanded v)-.15 F .085(alue; the)-.25 F F1(^)2.585 E F0(and)144 369.6 Q
+F1(,)3.59 E F0 -.15(ex)3.59 G 1.09(pansions match and con).15 F -.15(ve)
+-.4 G 1.091(rt only the \214rst character in the e).15 F 1.091
+(xpanded v)-.15 F 3.591(alue. If)-.25 F F2(pattern)3.591 E F0(is)3.591 E
+1.121(omitted, it is treated lik)144 381.6 R 3.621(ea)-.1 G F1(?)A F0
+3.621(,w)C 1.121(hich matches e)-3.621 F -.15(ve)-.25 G 1.121
+(ry character).15 F 6.12(.I)-.55 G(f)-6.12 E F2(par)4.87 E(ameter)-.15 E
+F0(is)4.35 E F1(@)3.62 E F0(or)3.62 E F1(*)3.62 E F0 3.62(,t)C 1.12
+(he case)-3.62 F 1.335(modi\214cation operation is applied to each posi\
+tional parameter in turn, and the e)144 393.6 R 1.335(xpansion is the)
+-.15 F 1.308(resultant list.)144 405.6 R(If)6.308 E F2(par)5.058 E
+(ameter)-.15 E F0 1.308(is an array v)4.538 F 1.308
+(ariable subscripted with)-.25 F F1(@)3.808 E F0(or)3.808 E F1(*)3.808 E
+F0 3.808(,t)C 1.308(he case modi\214cation)-3.808 F
(operation is applied to each member of the array in turn, and the e)144
-660 Q(xpansion is the resultant list.)-.15 E F2(Command Substitution)87
-676.8 Q F1 1.697(Command substitution)108 688.8 R F0(allo)4.197 E 1.697
-(ws the output of a command to replace the command name.)-.25 F 1.698
-(There are tw)6.698 F(o)-.1 E(forms:)108 700.8 Q F2($\()144 722.4 Q F1
-(command)A F2(\))1.666 E F0(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(20)185.955 E 0 Cg EP
-%%Page: 21 21
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(or)108 84 Q/F1 10/Times-Bold@0 SF<92>144 96 Q/F2 10
-/Times-Italic@0 SF(command)A F1<92>A(Bash)108 112.8 Q F0 .02
-(performs the e)2.52 F .02(xpansion by e)-.15 F -.15(xe)-.15 G(cuting)
-.15 E F2(command)2.519 E F0 .019
-(and replacing the command substitution with the stan-)2.519 F .768
-(dard output of the command, with an)108 124.8 R 3.268(yt)-.15 G .768
+417.6 Q(xpansion is the resultant list.)-.15 E F1(Command Substitution)
+87 434.4 Q F2 1.697(Command substitution)108 446.4 R F0(allo)4.197 E
+1.697(ws the output of a command to replace the command name.)-.25 F
+1.698(There are tw)6.698 F(o)-.1 E(forms:)108 458.4 Q F1($\()144 475.2 Q
+F2(command)A F1(\))1.666 E F0(or)108 487.2 Q F1<92>144 499.2 Q F2
+(command)A F1<92>A(Bash)108 516 Q F0 .02(performs the e)2.52 F .02
+(xpansion by e)-.15 F -.15(xe)-.15 G(cuting).15 E F2(command)2.519 E F0
+.019(and replacing the command substitution with the stan-)2.519 F .768
+(dard output of the command, with an)108 528 R 3.268(yt)-.15 G .768
(railing ne)-3.268 F .768(wlines deleted.)-.25 F .768(Embedded ne)5.768
-F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 136.8 Q 3.219
-(ym)-.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719
+F .768(wlines are not deleted, b)-.25 F(ut)-.2 E(the)108 540 Q 3.219(ym)
+-.15 G .719(ay be remo)-3.219 F -.15(ve)-.15 G 3.219(dd).15 G .719
(uring w)-3.219 F .719(ord splitting.)-.1 F .719
(The command substitution)5.719 F F1($\(cat)3.219 E F2(\214le)3.219 E F1
-(\))A F0 .718(can be replaced by the)3.219 F(equi)108 148.8 Q -.25(va)
--.25 G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E
-F1(\))A F0(.)A 1.724(When the old-style backquote form of substitution \
-is used, backslash retains its literal meaning e)108 165.6 R(xcept)-.15
-E .315(when follo)108 177.6 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1
+(\))A F0 .718(can be replaced by the)3.219 F(equi)108 552 Q -.25(va)-.25
+G(lent b).25 E(ut f)-.2 E(aster)-.1 E F1($\(<)2.5 E F2(\214le)2.5 E F1
+(\))A F0(.)A 1.724(When the old-style backquote form of substitution is\
+ used, backslash retains its literal meaning e)108 568.8 R(xcept)-.15 E
+.315(when follo)108 580.8 R .315(wed by)-.25 F F1($)2.815 E F0(,)A F1
<92>2.815 E F0 2.815(,o)C(r)-2.815 E F1(\\)2.815 E F0 5.315(.T)C .314(h\
e \214rst backquote not preceded by a backslash terminates the command \
-sub-)-5.315 F 3.886(stitution. When)108 189.6 R 1.386(using the $\()
+sub-)-5.315 F 3.886(stitution. When)108 592.8 R 1.386(using the $\()
3.886 F F2(command).833 E F0 3.886(\)f)1.666 G 1.387
(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G
3.887(pt)-3.887 G 1.387(he com-)-3.887 F
-(mand; none are treated specially)108 201.6 Q(.)-.65 E .894
-(Command substitutions may be nested.)108 218.4 R 2.494 -.8(To n)5.894 H
+(mand; none are treated specially)108 604.8 Q(.)-.65 E .894
+(Command substitutions may be nested.)108 621.6 R 2.494 -.8(To n)5.894 H
.894(est when using the backquoted form, escape the inner back-).8 F
-(quotes with backslashes.)108 230.4 Q .422
-(If the substitution appears within double quotes, w)108 247.2 R .422
+(quotes with backslashes.)108 633.6 Q .422
+(If the substitution appears within double quotes, w)108 650.4 R .422
(ord splitting and pathname e)-.1 F .423(xpansion are not performed)-.15
-F(on the results.)108 259.2 Q F1(Arithmetic Expansion)87 276 Q F0 1.035
-(Arithmetic e)108 288 R 1.035(xpansion allo)-.15 F 1.035(ws the e)-.25 F
--.25(va)-.25 G 1.034(luation of an arithmetic e).25 F 1.034
-(xpression and the substitution of the result.)-.15 F
-(The format for arithmetic e)108 300 Q(xpansion is:)-.15 E F1($\(\()144
-316.8 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(The)108 333.6 Q
-F2 -.2(ex)2.665 G(pr).2 E(ession)-.37 E F0 .165
-(is treated as if it were within double quotes, b)2.905 F .166
-(ut a double quote inside the parentheses is not)-.2 F 1.075
-(treated specially)108 345.6 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F
-1.074(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074
-(go parameter e)-.18 F 1.074(xpansion, string e)-.15 F 1.074
-(xpansion, command)-.15 F(substitution, and quote remo)108 357.6 Q -.25
-(va)-.15 G 2.5(l. Arithmetic).25 F -.15(ex)2.5 G
-(pansions may be nested.).15 E 1.378(The e)108 374.4 R -.25(va)-.25 G
-1.378(luation is performed according to the rules listed belo).25 F
-3.878(wu)-.25 G(nder)-3.878 E/F3 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)
-3.878 F(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F4 9/Times-Roman@0 SF(.)
-A F0(If)5.879 E F2 -.2(ex)108 386.4 S(pr).2 E(ession)-.37 E F0(is in)
-2.74 E -.25(va)-.4 G(lid,).25 E F1(bash)2.5 E F0
+F(on the results.)108 662.4 Q F1(Arithmetic Expansion)87 679.2 Q F0
+1.035(Arithmetic e)108 691.2 R 1.035(xpansion allo)-.15 F 1.035
+(ws the e)-.25 F -.25(va)-.25 G 1.034(luation of an arithmetic e).25 F
+1.034(xpression and the substitution of the result.)-.15 F
+(The format for arithmetic e)108 703.2 Q(xpansion is:)-.15 E F1($\(\()
+144 720 Q F2 -.2(ex)C(pr).2 E(ession)-.37 E F1(\)\))A F0(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(21)185.955 E 0 Cg EP
+%%Page: 22 22
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(The)108 84 Q/F1 10/Times-Italic@0 SF -.2(ex)2.665 G(pr).2 E
+(ession)-.37 E F0 .165(is treated as if it were within double quotes, b)
+2.905 F .166(ut a double quote inside the parentheses is not)-.2 F 1.075
+(treated specially)108 96 R 6.075(.A)-.65 G 1.074(ll tok)-6.075 F 1.074
+(ens in the e)-.1 F 1.074(xpression under)-.15 F 1.074(go parameter e)
+-.18 F 1.074(xpansion, string e)-.15 F 1.074(xpansion, command)-.15 F
+(substitution, and quote remo)108 108 Q -.25(va)-.15 G 2.5
+(l. Arithmetic).25 F -.15(ex)2.5 G(pansions may be nested.).15 E 1.378
+(The e)108 124.8 R -.25(va)-.25 G 1.378
+(luation is performed according to the rules listed belo).25 F 3.878(wu)
+-.25 G(nder)-3.878 E/F2 9/Times-Bold@0 SF 1.378(ARITHMETIC EV)3.878 F
+(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E/F3 9/Times-Roman@0 SF(.)A F0
+(If)5.879 E F1 -.2(ex)108 136.8 S(pr).2 E(ession)-.37 E F0(is in)2.74 E
+-.25(va)-.4 G(lid,).25 E/F4 10/Times-Bold@0 SF(bash)2.5 E F0
(prints a message indicating f)2.5 E(ailure and no substitution occurs.)
--.1 E F1(Pr)87 403.2 Q(ocess Substitution)-.18 E F2(Pr)108 415.2 Q .971
+-.1 E F4(Pr)87 153.6 Q(ocess Substitution)-.18 E F1(Pr)108 165.6 Q .971
(ocess substitution)-.45 F F0 .971
-(is supported on systems that support named pipes \()3.471 F F2(FIFOs)A
-F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F1(/de)3.47 E(v/fd)-.15 E F0
-.97(method of)3.47 F .021(naming open \214les.)108 427.2 R .021(It tak)
-5.021 F .021(es the form of)-.1 F F1(<\()2.521 E F2(list)A F1(\)).833 E
-F0(or)2.521 E F1(>\()2.521 E F2(list)A F1(\)).833 E F0 5.021(.T)C .021
-(he process)-5.021 F F2(list)2.521 E F0 .021
-(is run with its input or output con-)2.521 F .059(nected to a)108 439.2
-R F2(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F1(/de)2.558 E(v/fd)
+(is supported on systems that support named pipes \()3.471 F F1(FIFOs)A
+F0 3.47(\)o)C 3.47(rt)-3.47 G(he)-3.47 E F4(/de)3.47 E(v/fd)-.15 E F0
+.97(method of)3.47 F .021(naming open \214les.)108 177.6 R .021(It tak)
+5.021 F .021(es the form of)-.1 F F4(<\()2.521 E F1(list)A F4(\)).833 E
+F0(or)2.521 E F4(>\()2.521 E F1(list)A F4(\)).833 E F0 5.021(.T)C .021
+(he process)-5.021 F F1(list)2.521 E F0 .021
+(is run with its input or output con-)2.521 F .059(nected to a)108 189.6
+R F1(FIFO)2.559 E F0 .058(or some \214le in)2.559 F F4(/de)2.558 E(v/fd)
-.15 E F0 5.058(.T)C .058(he name of this \214le is passed as an ar)
-5.058 F .058(gument to the current com-)-.18 F .13
-(mand as the result of the e)108 451.2 R 2.63(xpansion. If)-.15 F(the)
-2.63 E F1(>\()2.63 E F2(list)A F1(\)).833 E F0 .13
+(mand as the result of the e)108 201.6 R 2.63(xpansion. If)-.15 F(the)
+2.63 E F4(>\()2.63 E F1(list)A F4(\)).833 E F0 .13
(form is used, writing to the \214le will pro)2.63 F .131
-(vide input for)-.15 F F2(list)2.631 E F0(.)A(If the)108 463.2 Q F1(<\()
-2.5 E F2(list)A F1(\)).833 E F0
+(vide input for)-.15 F F1(list)2.631 E F0(.)A(If the)108 213.6 Q F4(<\()
+2.5 E F1(list)A F4(\)).833 E F0
(form is used, the \214le passed as an ar)2.5 E
-(gument should be read to obtain the output of)-.18 E F2(list)2.5 E F0
-(.)A .897(When a)108 480 R -.25(va)-.2 G .896(ilable, process substitut\
-ion is performed simultaneously with parameter and v).25 F .896
+(gument should be read to obtain the output of)-.18 E F1(list)2.5 E F0
+(.)A .897(When a)108 230.4 R -.25(va)-.2 G .896(ilable, process substit\
+ution is performed simultaneously with parameter and v).25 F .896
(ariable e)-.25 F(xpansion,)-.15 E
-(command substitution, and arithmetic e)108 492 Q(xpansion.)-.15 E F1
--.75(Wo)87 508.8 S(rd Splitting).75 E F0 1.142
-(The shell scans the results of parameter e)108 520.8 R 1.143
+(command substitution, and arithmetic e)108 242.4 Q(xpansion.)-.15 E F4
+-.75(Wo)87 259.2 S(rd Splitting).75 E F0 1.142
+(The shell scans the results of parameter e)108 271.2 R 1.143
(xpansion, command substitution, and arithmetic e)-.15 F 1.143
-(xpansion that)-.15 F(did not occur within double quotes for)108 532.8 Q
-F2(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063
-(The shell treats each character of)108 549.6 R F3(IFS)2.563 E F0 .063
+(xpansion that)-.15 F(did not occur within double quotes for)108 283.2 Q
+F1(wor)2.5 E 2.5(ds)-.37 G(plitting)-2.5 E F0(.).22 E .063
+(The shell treats each character of)108 300 R F2(IFS)2.563 E F0 .063
(as a delimiter)2.313 F 2.563(,a)-.4 G .063
(nd splits the results of the other e)-2.563 F .063(xpansions into w)
--.15 F(ords)-.1 E 1.788(on these characters.)108 561.6 R(If)6.788 E F3
+-.15 F(ords)-.1 E 1.788(on these characters.)108 312 R(If)6.788 E F2
(IFS)4.288 E F0 1.788(is unset, or its v)4.038 F 1.789(alue is e)-.25 F
-(xactly)-.15 E F1(<space><tab><newline>)4.289 E F0 4.289(,t)C 1.789
-(he def)-4.289 F 1.789(ault, then)-.1 F .022(sequences of)108 573.6 R F1
-(<space>)2.522 E F0(,)A F1(<tab>)2.522 E F0 2.521(,a)C(nd)-2.521 E F1
+(xactly)-.15 E F4(<space><tab><newline>)4.289 E F0 4.289(,t)C 1.789
+(he def)-4.289 F 1.789(ault, then)-.1 F .022(sequences of)108 324 R F4
+(<space>)2.522 E F0(,)A F4(<tab>)2.522 E F0 2.521(,a)C(nd)-2.521 E F4
(<newline>)2.521 E F0 .021(at the be)2.521 F .021
(ginning and end of the results of the pre)-.15 F .021(vious e)-.25 F
-(xpan-)-.15 E .585(sions are ignored, and an)108 585.6 R 3.086(ys)-.15 G
-.586(equence of)-3.086 F F3(IFS)3.086 E F0 .586
+(xpan-)-.15 E .585(sions are ignored, and an)108 336 R 3.086(ys)-.15 G
+.586(equence of)-3.086 F F2(IFS)3.086 E F0 .586
(characters not at the be)2.836 F .586(ginning or end serv)-.15 F .586
-(es to delimit w)-.15 F(ords.)-.1 E(If)108 597.6 Q F3(IFS)3.617 E F0
-1.117(has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117
-(ault, then sequences of the whitespace characters)-.1 F F1(space)3.617
-E F0(and)3.617 E F1(tab)3.617 E F0(are)3.617 E .315(ignored at the be)
-108 609.6 R .315(ginning and end of the w)-.15 F .315
+(es to delimit w)-.15 F(ords.)-.1 E(If)108 348 Q F2(IFS)3.617 E F0 1.117
+(has a v)3.367 F 1.117(alue other than the def)-.25 F 1.117
+(ault, then sequences of the whitespace characters)-.1 F F4(space)3.617
+E F0(and)3.617 E F4(tab)3.617 E F0(are)3.617 E .315(ignored at the be)
+108 360 R .315(ginning and end of the w)-.15 F .315
(ord, as long as the whitespace character is in the v)-.1 F .315
-(alue of)-.25 F F3(IFS)2.815 E F0(\(an)2.566 E F3(IFS)108 621.6 Q F0
-1.054(whitespace character\).)3.304 F(An)6.054 E 3.554(yc)-.15 G 1.054
-(haracter in)-3.554 F F3(IFS)3.554 E F0 1.053(that is not)3.303 F F3
+(alue of)-.25 F F2(IFS)2.815 E F0(\(an)2.566 E F2(IFS)108 372 Q F0 1.054
+(whitespace character\).)3.304 F(An)6.054 E 3.554(yc)-.15 G 1.054
+(haracter in)-3.554 F F2(IFS)3.554 E F0 1.053(that is not)3.303 F F2
(IFS)3.553 E F0 1.053(whitespace, along with an)3.303 F 3.553(ya)-.15 G
-(djacent)-3.553 E F3(IFS)3.553 E F0 .331
-(whitespace characters, delimits a \214eld.)108 633.6 R 2.831(As)5.331 G
-.332(equence of)-2.831 F F3(IFS)2.832 E F0 .332
-(whitespace characters is also treated as a delim-)2.582 F(iter)108
-645.6 Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F3(IFS)2.5 E
-F0(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.879
-(Explicit null ar)108 662.4 R 1.879(guments \()-.18 F F1 .833("").833 G
-F0(or)3.545 E F1 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.)
+(djacent)-3.553 E F2(IFS)3.553 E F0 .331
+(whitespace characters, delimits a \214eld.)108 384 R 2.831(As)5.331 G
+.332(equence of)-2.831 F F2(IFS)2.832 E F0 .332
+(whitespace characters is also treated as a delim-)2.582 F(iter)108 396
+Q 5(.I)-.55 G 2.5(ft)-5 G(he v)-2.5 E(alue of)-.25 E F2(IFS)2.5 E F0
+(is null, no w)2.25 E(ord splitting occurs.)-.1 E 1.879
+(Explicit null ar)108 412.8 R 1.879(guments \()-.18 F F4 .833("").833 G
+F0(or)3.545 E F4 .833<0808>5.211 G F0 4.378(\)a)C 1.878(re retained.)
-4.378 F 1.878(Unquoted implicit null ar)6.878 F 1.878
-(guments, resulting from the)-.18 F -.15(ex)108 674.4 S .176
+(guments, resulting from the)-.18 F -.15(ex)108 424.8 S .176
(pansion of parameters that ha).15 F .476 -.15(ve n)-.2 H 2.676(ov).15 G
.176(alues, are remo)-2.926 F -.15(ve)-.15 G 2.676(d. If).15 F 2.677(ap)
2.677 G .177(arameter with no v)-2.677 F .177(alue is e)-.25 F .177
-(xpanded within)-.15 F(double quotes, a null ar)108 686.4 Q
-(gument results and is retained.)-.18 E(Note that if no e)108 703.2 Q
-(xpansion occurs, no splitting is performed.)-.15 E(GNU Bash-4.1)72 768
-Q(2009 December 29)135.965 E(21)185.955 E 0 Cg EP
-%%Page: 22 22
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.1(Pa)87 84 S(thname Expansion).1 E F0
-.371(After w)108 96 R .371(ord splitting, unless the)-.1 F F1<ad66>2.871
-E F0 .371(option has been set,)2.871 F F1(bash)2.871 E F0 .37
-(scans each w)2.87 F .37(ord for the characters)-.1 F F1(*)2.87 E F0(,)A
-F1(?)2.87 E F0 2.87(,a)C(nd)-2.87 E F1([)2.87 E F0(.)A .677
-(If one of these characters appears, then the w)108 108 R .677
-(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F/F2 10
-/Times-Italic@0 SF(pattern)3.177 E F0 3.177(,a).24 G .678
-(nd replaced with an alphabeti-)-3.177 F 1.457
-(cally sorted list of \214le names matching the pattern.)108 120 R 1.456
-(If no matching \214le names are found, and the shell)6.457 F(option)108
-132 Q F1(nullglob)2.537 E F0 .038(is not enabled, the w)2.537 F .038
-(ord is left unchanged.)-.1 F .038(If the)5.038 F F1(nullglob)2.538 E F0
-.038(option is set, and no matches are)2.538 F .306(found, the w)108 144
-R .306(ord is remo)-.1 F -.15(ve)-.15 G 2.806(d. If).15 F(the)2.805 E F1
-(failglob)2.805 E F0 .305
+(xpanded within)-.15 F(double quotes, a null ar)108 436.8 Q
+(gument results and is retained.)-.18 E(Note that if no e)108 453.6 Q
+(xpansion occurs, no splitting is performed.)-.15 E F4 -.1(Pa)87 470.4 S
+(thname Expansion).1 E F0 .371(After w)108 482.4 R .371
+(ord splitting, unless the)-.1 F F4<ad66>2.871 E F0 .371
+(option has been set,)2.871 F F4(bash)2.871 E F0 .37(scans each w)2.87 F
+.37(ord for the characters)-.1 F F4(*)2.87 E F0(,)A F4(?)2.87 E F0 2.87
+(,a)C(nd)-2.87 E F4([)2.87 E F0(.)A .677
+(If one of these characters appears, then the w)108 494.4 R .677
+(ord is re)-.1 F -.05(ga)-.15 G .677(rded as a).05 F F1(pattern)3.177 E
+F0 3.177(,a).24 G .678(nd replaced with an alphabeti-)-3.177 F 1.457
+(cally sorted list of \214le names matching the pattern.)108 506.4 R
+1.456(If no matching \214le names are found, and the shell)6.457 F
+(option)108 518.4 Q F4(nullglob)2.537 E F0 .038(is not enabled, the w)
+2.537 F .038(ord is left unchanged.)-.1 F .038(If the)5.038 F F4
+(nullglob)2.538 E F0 .038(option is set, and no matches are)2.538 F .306
+(found, the w)108 530.4 R .306(ord is remo)-.1 F -.15(ve)-.15 G 2.806
+(d. If).15 F(the)2.805 E F4(failglob)2.805 E F0 .305
(shell option is set, and no matches are found, an error message)2.805 F
-.928(is printed and the command is not e)108 156 R -.15(xe)-.15 G 3.428
-(cuted. If).15 F .928(the shell option)3.428 F F1(nocaseglob)3.428 E F0
-.929(is enabled, the match is per)3.429 F(-)-.2 E .033
-(formed without re)108 168 R -.05(ga)-.15 G .033
+.928(is printed and the command is not e)108 542.4 R -.15(xe)-.15 G
+3.428(cuted. If).15 F .928(the shell option)3.428 F F4(nocaseglob)3.428
+E F0 .929(is enabled, the match is per)3.429 F(-)-.2 E .033
+(formed without re)108 554.4 R -.05(ga)-.15 G .033
(rd to the case of alphabetic characters.).05 F .032
(When a pattern is used for pathname e)5.032 F(xpansion,)-.15 E .104
-(the character)108 180 R F1 -.63(``)2.604 G -.55(.').63 G(')-.08 E F0
+(the character)108 566.4 R F4 -.63(``)2.604 G -.55(.').63 G(')-.08 E F0
.104(at the start of a name or immediately follo)5.104 F .105
(wing a slash must be matched e)-.25 F(xplicitly)-.15 E 2.605(,u)-.65 G
-(nless)-2.605 E .888(the shell option)108 192 R F1(dotglob)3.388 E F0
+(nless)-2.605 E .888(the shell option)108 578.4 R F4(dotglob)3.388 E F0
.888(is set.)3.388 F .887
(When matching a pathname, the slash character must al)5.888 F -.1(wa)
--.1 G .887(ys be matched).1 F -.15(ex)108 204 S(plicitly).15 E 6.165(.I)
--.65 G 3.665(no)-6.165 G 1.165(ther cases, the)-3.665 F F1 -.63(``)3.665
-G -.55(.').63 G(')-.08 E F0 1.166(character is not treated specially)
-6.165 F 6.166(.S)-.65 G 1.166(ee the description of)-6.166 F F1(shopt)
-3.666 E F0(belo)3.666 E(w)-.25 E(under)108 216 Q/F3 9/Times-Bold@0 SF
-.478(SHELL B)2.978 F(UIL)-.09 E .478(TIN COMMANDS)-.828 F F0 .477
-(for a description of the)2.728 F F1(nocaseglob)2.977 E F0(,)A F1
-(nullglob)2.977 E F0(,)A F1(failglob)2.977 E F0 2.977(,a)C(nd)-2.977 E
-F1(dotglob)2.977 E F0(shell options.)108 228 Q(The)108 244.8 Q F3
-(GLOBIGNORE)2.63 E F0 .13(shell v)2.38 F .131
+-.1 G .887(ys be matched).1 F -.15(ex)108 590.4 S(plicitly).15 E 6.165
+(.I)-.65 G 3.665(no)-6.165 G 1.165(ther cases, the)-3.665 F F4 -.63(``)
+3.665 G -.55(.').63 G(')-.08 E F0 1.166
+(character is not treated specially)6.165 F 6.166(.S)-.65 G 1.166
+(ee the description of)-6.166 F F4(shopt)3.666 E F0(belo)3.666 E(w)-.25
+E(under)108 602.4 Q F2 .478(SHELL B)2.978 F(UIL)-.09 E .478
+(TIN COMMANDS)-.828 F F0 .477(for a description of the)2.728 F F4
+(nocaseglob)2.977 E F0(,)A F4(nullglob)2.977 E F0(,)A F4(failglob)2.977
+E F0 2.977(,a)C(nd)-2.977 E F4(dotglob)2.977 E F0(shell options.)108
+614.4 Q(The)108 631.2 Q F2(GLOBIGNORE)2.63 E F0 .13(shell v)2.38 F .131
(ariable may be used to restrict the set of \214le names matching a)-.25
-F F2(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E F3(GLO-)2.631 E
-(BIGNORE)108 256.8 Q F0 2.015(is set, each matching \214le name that al\
-so matches one of the patterns in)4.265 F F3(GLOBIGNORE)4.515 E F0(is)
-4.264 E(remo)108 268.8 Q -.15(ve)-.15 G 2.503(df).15 G .003
-(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F1 -.63
-(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F1 -.63(``)2.503 G(..)
+F F1(pattern)2.631 E F0 5.131(.I).24 G(f)-5.131 E F2(GLO-)2.631 E
+(BIGNORE)108 643.2 Q F0 2.015(is set, each matching \214le name that al\
+so matches one of the patterns in)4.265 F F2(GLOBIGNORE)4.515 E F0(is)
+4.264 E(remo)108 655.2 Q -.15(ve)-.15 G 2.503(df).15 G .003
+(rom the list of matches.)-2.503 F .003(The \214le names)5.003 F F4 -.63
+(``)2.503 G -.55(.').63 G(')-.08 E F0(and)5.003 E F4 -.63(``)2.503 G(..)
.63 E -.63('')-.55 G F0 .004(are al)5.633 F -.1(wa)-.1 G .004
-(ys ignored when).1 F F3(GLOBIGNORE)2.504 E F0(is)2.254 E .046
-(set and not null.)108 280.8 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846
--.4(r, s).15 H(etting).4 E F3(GLOBIGNORE)2.546 E F0 .046
+(ys ignored when).1 F F2(GLOBIGNORE)2.504 E F0(is)2.254 E .046
+(set and not null.)108 667.2 R(Ho)5.046 E(we)-.25 E -.15(ve)-.25 G .846
+-.4(r, s).15 H(etting).4 E F2(GLOBIGNORE)2.546 E F0 .046
(to a non-null v)2.296 F .045(alue has the ef)-.25 F .045
-(fect of enabling the)-.25 F F1(dotglob)2.545 E F0 .613
-(shell option, so all other \214le names be)108 292.8 R .614
-(ginning with a)-.15 F F1 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614
+(fect of enabling the)-.25 F F4(dotglob)2.545 E F0 .613
+(shell option, so all other \214le names be)108 679.2 R .614
+(ginning with a)-.15 F F4 -.63(``)3.114 G -.55(.').63 G(')-.08 E F0 .614
(will match.)5.614 F 2.214 -.8(To g)5.614 H .614(et the old beha).8 F
-.614(vior of ignoring)-.2 F .457(\214le names be)108 304.8 R .457
-(ginning with a)-.15 F F1 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0
-2.957(,m)C(ak)-2.957 E(e)-.1 E F1 -.63(``)2.957 G(.*').63 E(')-.63 E F0
-.457(one of the patterns in)5.457 F F3(GLOBIGNORE)2.957 E/F4 9
-/Times-Roman@0 SF(.)A F0(The)4.957 E F1(dotglob)2.956 E F0 .456
-(option is)2.956 F(disabled when)108 316.8 Q F3(GLOBIGNORE)2.5 E F0
-(is unset.)2.25 E F1 -.1(Pa)108 333.6 S(tter).1 E 2.5(nM)-.15 G(atching)
--2.5 E F0(An)108 350.4 Q 3.138(yc)-.15 G .638(haracter that appears in \
-a pattern, other than the special pattern characters described belo)
--3.138 F 1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 362.4
-R 1.12(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G
-1.12(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F
-.576(escaping backslash is discarded when matching.)108 374.4 R .576
+.614(vior of ignoring)-.2 F .457(\214le names be)108 691.2 R .457
+(ginning with a)-.15 F F4 -.63(``)2.957 G -.55(.').63 G(')-.08 E F0
+2.957(,m)C(ak)-2.957 E(e)-.1 E F4 -.63(``)2.957 G(.*').63 E(')-.63 E F0
+.457(one of the patterns in)5.457 F F2(GLOBIGNORE)2.957 E F3(.)A F0(The)
+4.957 E F4(dotglob)2.956 E F0 .456(option is)2.956 F(disabled when)108
+703.2 Q F2(GLOBIGNORE)2.5 E F0(is unset.)2.25 E F4 -.1(Pa)108 720 S
+(tter).1 E 2.5(nM)-.15 G(atching)-2.5 E F0(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(22)185.955 E 0 Cg EP
+%%Page: 23 23
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(An)108 84 Q 3.138(yc)-.15 G .638(haracter that appears in a patt\
+ern, other than the special pattern characters described belo)-3.138 F
+1.938 -.65(w, m)-.25 H(atches).65 E 3.62(itself. The)108 96 R 1.12
+(NUL character may not occur in a pattern.)3.62 F 3.62(Ab)6.12 G 1.12
+(ackslash escapes the follo)-3.62 F 1.12(wing character; the)-.25 F .576
+(escaping backslash is discarded when matching.)108 108 R .576
(The special pattern characters must be quoted if the)5.576 F 3.076(ya)
--.15 G(re)-3.076 E(to be matched literally)108 386.4 Q(.)-.65 E
-(The special pattern characters ha)108 403.2 Q .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1(*)108 420 Q F0 .455(Matches an)
-31 F 2.955(ys)-.15 G .455(tring, including the null string.)-2.955 F
-.455(When the)5.455 F F1(globstar)2.955 E F0 .455
-(shell option is enabled, and)2.955 F F1(*)2.955 E F0(is)2.955 E .314
-(used in a pathname e)144 432 R .314(xpansion conte)-.15 F .314(xt, tw)
--.15 F 2.814(oa)-.1 G(djacent)-2.814 E F1(*)2.814 E F0 2.814(su)C .314
-(sed as a single pattern will match all \214les)-2.814 F 1.183
-(and zero or more directories and subdirectories.)144 444 R 1.183
-(If follo)6.183 F 1.183(wed by a)-.25 F F1(/)3.683 E F0 3.683(,t)C 1.383
--.1(wo a)-3.683 H(djacent).1 E F1(*)3.683 E F0 3.683(sw)C 1.183
-(ill match)-3.683 F(only directories and subdirectories.)144 456 Q F1(?)
-108 468 Q F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55
-E F1([...])108 480 Q F0 .256(Matches an)21.84 F 2.756(yo)-.15 G .257
-(ne of the enclosed characters.)-2.756 F 2.757(Ap)5.257 G .257
-(air of characters separated by a h)-2.757 F .257(yphen denotes a)-.05 F
-F2 -.15(ra)144 492 S(ng).15 E 3.29(ee)-.1 G(xpr)-3.49 E(ession)-.37 E F0
-3.29(;a)C 1.09 -.15(ny c)-3.29 H .789
-(haracter that sorts between those tw).15 F 3.289(oc)-.1 G .789
-(haracters, inclusi)-3.289 F -.15(ve)-.25 G 3.289(,u).15 G .789
-(sing the cur)-3.289 F(-)-.2 E .349(rent locale')144 504 R 2.849(sc)-.55
-G .349(ollating sequence and character set, is matched.)-2.849 F .35
-(If the \214rst character follo)5.349 F .35(wing the)-.25 F F1([)2.85 E
-F0 .564(is a)144 516 R F1(!)3.064 E F0 .564(or a)5.564 F F1(^)3.064 E F0
-.564(then an)3.064 F 3.064(yc)-.15 G .564
-(haracter not enclosed is matched.)-3.064 F .563
-(The sorting order of characters in range)5.564 F -.15(ex)144 528 S .467
-(pressions is determined by the current locale and the v).15 F .467
-(alue of the)-.25 F F3(LC_COLLA)2.967 E(TE)-.855 E F0 .467(shell v)2.717
-F(ariable,)-.25 E 1.077(if set.)144 540 R(A)6.077 E F1<ad>3.577 E F0
-1.077(may be matched by including it as the \214rst or last character i\
-n the set.)3.577 F(A)6.076 E F1(])3.576 E F0 1.076(may be)3.576 F
-(matched by including it as the \214rst character in the set.)144 552 Q
--.4(Wi)144 570 S(thin).4 E F1([)2.914 E F0(and)2.914 E F1(])2.914 E F0
-(,)A F2 -.15(ch)2.914 G(ar).15 E .414(acter classes)-.15 F F0 .415
-(can be speci\214ed using the syntax)2.915 F F1([:)2.915 E F2(class)A F1
-(:])A F0 2.915(,w)C(here)-2.915 E F2(class)2.915 E F0 .415(is one of)
-2.915 F(the follo)144 582 Q
-(wing classes de\214ned in the POSIX standard:)-.25 E F1 5.421
-(alnum alpha ascii blank cntrl digit graph lo)144 594 R 5.421
-(wer print punct space upper w)-.1 F(ord)-.1 E(xdigit)144 606 Q F0 2.518
-(Ac)144 618 S .018(haracter class matches an)-2.518 F 2.518(yc)-.15 G
-.019(haracter belonging to that class.)-2.518 F(The)5.019 E F1 -.1(wo)
-2.519 G(rd).1 E F0 .019(character class matches)2.519 F
-(letters, digits, and the character _.)144 630 Q -.4(Wi)144 648 S(thin)
-.4 E F1([)3.547 E F0(and)3.547 E F1(])3.547 E F0 3.547(,a)C(n)-3.547 E
-F2 1.046(equivalence class)3.546 F F0 1.046
-(can be speci\214ed using the syntax)3.546 F F1([=)3.546 E F2(c)A F1(=])
-A F0 3.546(,w)C 1.046(hich matches all)-3.546 F(characters with the sam\
-e collation weight \(as de\214ned by the current locale\) as the charac\
-ter)144 660 Q F2(c)2.5 E F0(.)A -.4(Wi)144 678 S(thin).4 E F1([)2.5 E F0
-(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)2.5 E F2
-(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2(symbol)2.5 E
-F0(.)A .704(If the)108 694.8 R F1(extglob)3.204 E F0 .705
+-.15 G(re)-3.076 E(to be matched literally)108 120 Q(.)-.65 E
+(The special pattern characters ha)108 136.8 Q .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E/F1 10/Times-Bold@0 SF(*)144 153.6
+Q F0 .377(Matches an)31 F 2.877(ys)-.15 G .376
+(tring, including the null string.)-2.877 F .376(When the)5.376 F F1
+(globstar)2.876 E F0 .376(shell option is enabled,)2.876 F(and)180 165.6
+Q F1(*)3.275 E F0 .775(is used in a pathname e)3.275 F .775
+(xpansion conte)-.15 F .775(xt, tw)-.15 F 3.275(oa)-.1 G(djacent)-3.275
+E F1(*)3.275 E F0 3.275(su)C .775(sed as a single pattern)-3.275 F 1.058
+(will match all \214les and zero or more directories and subdirectories\
+.)180 177.6 R 1.058(If follo)6.058 F 1.058(wed by a)-.25 F F1(/)3.558 E
+F0(,)A(tw)180 189.6 Q 2.5(oa)-.1 G(djacent)-2.5 E F1(*)2.5 E F0 2.5(sw)C
+(ill match only directories and subdirectories.)-2.5 E F1(?)144 201.6 Q
+F0(Matches an)31 E 2.5(ys)-.15 G(ingle character)-2.5 E(.)-.55 E F1
+([...])144 213.6 Q F0 .578(Matches an)21.84 F 3.078(yo)-.15 G .578
+(ne of the enclosed characters.)-3.078 F 3.079(Ap)5.579 G .579
+(air of characters separated by a h)-3.079 F(yphen)-.05 E .537
+(denotes a)180 225.6 R/F2 10/Times-Italic@0 SF -.15(ra)3.037 G(ng).15 E
+3.037(ee)-.1 G(xpr)-3.237 E(ession)-.37 E F0 3.037(;a)C .837 -.15(ny c)
+-3.037 H .537(haracter that sorts between those tw).15 F 3.036(oc)-.1 G
+.536(haracters, inclu-)-3.036 F(si)180 237.6 Q -.15(ve)-.25 G 3.712(,u)
+.15 G 1.212(sing the current locale')-3.712 F 3.712(sc)-.55 G 1.212
+(ollating sequence and character set, is matched.)-3.712 F 1.213(If the)
+6.213 F 1.124(\214rst character follo)180 249.6 R 1.124(wing the)-.25 F
+F1([)3.624 E F0 1.124(is a)3.624 F F1(!)3.624 E F0 1.124(or a)6.124 F F1
+(^)3.623 E F0 1.123(then an)3.623 F 3.623(yc)-.15 G 1.123
+(haracter not enclosed is matched.)-3.623 F .894
+(The sorting order of characters in range e)180 261.6 R .895
+(xpressions is determined by the current locale)-.15 F .258(and the v)
+180 273.6 R .257(alue of the)-.25 F/F3 9/Times-Bold@0 SF(LC_COLLA)2.757
+E(TE)-.855 E F0 .257(shell v)2.507 F .257(ariable, if set.)-.25 F(A)
+5.257 E F1<ad>2.757 E F0 .257(may be matched by includ-)2.757 F .78
+(ing it as the \214rst or last character in the set.)180 285.6 R(A)5.78
+E F1(])3.28 E F0 .78(may be matched by including it as the)3.28 F
+(\214rst character in the set.)180 297.6 Q -.4(Wi)180 315.6 S(thin).4 E
+F1([)3.071 E F0(and)3.071 E F1(])3.071 E F0(,)A F2 -.15(ch)3.071 G(ar)
+.15 E .571(acter classes)-.15 F F0 .571
+(can be speci\214ed using the syntax)3.071 F F1([:)3.07 E F2(class)A F1
+(:])A F0 3.07(,w)C(here)-3.07 E F2(class)3.07 E F0(is one of the follo)
+180 327.6 Q(wing classes de\214ned in the POSIX standard:)-.25 E F1
+8.173(alnum alpha ascii blank cntrl digit graph lo)180 339.6 R 8.173
+(wer print punct space)-.1 F 5(upper w)180 351.6 R 5(ord xdigit)-.1 F F0
+4.29(Ac)180 363.6 S 1.789(haracter class matches an)-4.29 F 4.289(yc)
+-.15 G 1.789(haracter belonging to that class.)-4.289 F(The)6.789 E F1
+-.1(wo)4.289 G(rd).1 E F0(character)4.289 E
+(class matches letters, digits, and the character _.)180 375.6 Q -.4(Wi)
+180 393.6 S(thin).4 E F1([)4.536 E F0(and)4.536 E F1(])4.536 E F0 4.536
+(,a)C(n)-4.536 E F2 2.036(equivalence class)4.536 F F0 2.037
+(can be speci\214ed using the syntax)4.536 F F1([=)4.537 E F2(c)A F1(=])
+A F0 4.537(,w)C(hich)-4.537 E .125(matches all characters with the same\
+ collation weight \(as de\214ned by the current locale\) as)180 405.6 R
+(the character)180 417.6 Q F2(c)2.5 E F0(.)A -.4(Wi)180 435.6 S(thin).4
+E F1([)2.5 E F0(and)2.5 E F1(])2.5 E F0 2.5(,t)C(he syntax)-2.5 E F1([.)
+2.5 E F2(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F2
+(symbol)2.5 E F0(.)A .704(If the)108 452.4 R F1(extglob)3.204 E F0 .705
(shell option is enabled using the)3.204 F F1(shopt)3.205 E F0 -.2(bu)
3.205 G .705(iltin, se).2 F -.15(ve)-.25 G .705(ral e).15 F .705
(xtended pattern matching operators)-.15 F .256(are recognized.)108
-706.8 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F2
+464.4 R .256(In the follo)5.256 F .256(wing description, a)-.25 F F2
(pattern-list)2.755 E F0 .255
(is a list of one or more patterns separated by a)2.755 F F1(|)2.755 E
F0(.)A(Composite patterns may be formed using one or more of the follo)
-108 718.8 Q(wing sub-patterns:)-.25 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(22)185.955 E 0 Cg EP
-%%Page: 23 23
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(?\()144 84 Q/F2 10/Times-Italic@0 SF
+108 476.4 Q(wing sub-patterns:)-.25 E F1(?\()144 500.4 Q F2
(pattern-list).833 E F1(\)).833 E F0
-(Matches zero or one occurrence of the gi)180 96 Q -.15(ve)-.25 G 2.5
-(np).15 G(atterns)-2.5 E F1(*\()144 108 Q F2(pattern-list).833 E F1(\))
-.833 E F0(Matches zero or more occurrences of the gi)180 120 Q -.15(ve)
--.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 132 Q F2(pattern-list).833
-E F1(\)).833 E F0(Matches one or more occurrences of the gi)180 144 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(@\()144 156 Q F2
-(pattern-list).833 E F1(\)).833 E F0(Matches one of the gi)180 168 Q
--.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(!\()144 180 Q F2
-(pattern-list).833 E F1(\)).833 E F0(Matches an)180 192 Q(ything e)-.15
-E(xcept one of the gi)-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E
-F1(Quote Remo)87 208.8 Q -.1(va)-.1 G(l).1 E F0 1.112
-(After the preceding e)108 220.8 R 1.112
+(Matches zero or one occurrence of the gi)180 512.4 Q -.15(ve)-.25 G 2.5
+(np).15 G(atterns)-2.5 E F1(*\()144 524.4 Q F2(pattern-list).833 E F1
+(\)).833 E F0(Matches zero or more occurrences of the gi)180 536.4 Q
+-.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(+\()144 548.4 Q F2
+(pattern-list).833 E F1(\)).833 E F0
+(Matches one or more occurrences of the gi)180 560.4 Q -.15(ve)-.25 G
+2.5(np).15 G(atterns)-2.5 E F1(@\()144 572.4 Q F2(pattern-list).833 E F1
+(\)).833 E F0(Matches one of the gi)180 584.4 Q -.15(ve)-.25 G 2.5(np)
+.15 G(atterns)-2.5 E F1(!\()144 596.4 Q F2(pattern-list).833 E F1(\))
+.833 E F0(Matches an)180 608.4 Q(ything e)-.15 E(xcept one of the gi)
+-.15 E -.15(ve)-.25 G 2.5(np).15 G(atterns)-2.5 E F1(Quote Remo)87 625.2
+Q -.1(va)-.1 G(l).1 E F0 1.112(After the preceding e)108 637.2 R 1.112
(xpansions, all unquoted occurrences of the characters)-.15 F F1(\\)
3.613 E F0(,)A F1<08>3.613 E F0 3.613(,a)C(nd)-3.613 E F1(")4.446 E F0
-1.113(that did not result)4.446 F(from one of the abo)108 232.8 Q .3
--.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F3
-10.95/Times-Bold@0 SF(REDIRECTION)72 249.6 Q F0 .545
-(Before a command is e)108 261.6 R -.15(xe)-.15 G .545
+1.113(that did not result)4.446 F(from one of the abo)108 649.2 Q .3
+-.15(ve ex)-.15 H(pansions are remo).15 E -.15(ve)-.15 G(d.).15 E/F4
+10.95/Times-Bold@0 SF(REDIRECTION)72 666 Q F0 .545
+(Before a command is e)108 678 R -.15(xe)-.15 G .545
(cuted, its input and output may be).15 F F2 -.37(re)3.045 G(dir).37 E
(ected)-.37 E F0 .545(using a special notation interpreted)3.815 F .616
-(by the shell.)108 273.6 R .617(Redirection may also be used to open an\
-d close \214les for the current shell e)5.616 F -.15(xe)-.15 G .617
-(cution en).15 F(viron-)-.4 E 3.275(ment. The)108 285.6 R(follo)3.275 E
+(by the shell.)108 690 R .617(Redirection may also be used to open and \
+close \214les for the current shell e)5.616 F -.15(xe)-.15 G .617
+(cution en).15 F(viron-)-.4 E 3.275(ment. The)108 702 R(follo)3.275 E
.774(wing redirection operators may precede or appear an)-.25 F .774
(ywhere within a)-.15 F F2 .774(simple command)3.614 F F0(or)4.044 E
-(may follo)108 297.6 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G
+(may follo)108 714 Q 2.5(wa)-.25 G F2(command)A F0 5(.R).77 G
(edirections are processed in the order the)-5 E 2.5(ya)-.15 G(ppear)
-2.5 E 2.5(,f)-.4 G(rom left to right.)-2.5 E .771(Each redirection tha\
t may be preceded by a \214le descriptor number may instead be preceded\
- by a w)108 314.4 R .772(ord of)-.1 F .293(the form {)108 326.4 R F2
-(varname)A F0 2.793(}. In)B .293
-(this case, for each redirection operator e)2.793 F .293
-(xcept >&- and <&-, the shell will allocate)-.15 F 3.498<618c>108 338.4
-S .999(le descriptor greater than 10 and assign it to)-3.498 F F2
+ by a w)108 730.8 R .772(ord of)-.1 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(23)185.955 E 0 Cg EP
+%%Page: 24 24
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .293(the form {)108 84 R/F1 10/Times-Italic@0 SF(varname)A F0
+2.793(}. In)B .293(this case, for each redirection operator e)2.793 F
+.293(xcept >&- and <&-, the shell will allocate)-.15 F 3.498<618c>108 96
+S .999(le descriptor greater than 10 and assign it to)-3.498 F F1
(varname)3.499 E F0 5.999(.I)C 3.499(f>)-5.999 G .999
-(&- or <&- is preceded by {)-3.499 F F2(varname)A F0 .999(}, the)B -.25
-(va)108 350.4 S(lue of).25 E F2(varname)2.5 E F0
+(&- or <&- is preceded by {)-3.499 F F1(varname)A F0 .999(}, the)B -.25
+(va)108 108 S(lue of).25 E F1(varname)2.5 E F0
(de\214nes the \214le descriptor to close.)2.5 E .284(In the follo)108
-367.2 R .283(wing descriptions, if the \214le descriptor number is omit\
+124.8 R .283(wing descriptions, if the \214le descriptor number is omit\
ted, and the \214rst character of the redirect-)-.25 F .512
-(ion operator is)108 379.2 R F1(<)3.012 E F0 3.012(,t)C .512
+(ion operator is)108 136.8 R/F2 10/Times-Bold@0 SF(<)3.012 E F0 3.012
+(,t)C .512
(he redirection refers to the standard input \(\214le descriptor 0\).)
-3.012 F .512(If the \214rst character of the)5.512 F
-(redirection operator is)108 391.2 Q F1(>)2.5 E F0 2.5(,t)C
+(redirection operator is)108 148.8 Q F2(>)2.5 E F0 2.5(,t)C
(he redirection refers to the standard output \(\214le descriptor 1\).)
--2.5 E .825(The w)108 408 R .825(ord follo)-.1 F .824
+-2.5 E .825(The w)108 165.6 R .825(ord follo)-.1 F .824
(wing the redirection operator in the follo)-.25 F .824
(wing descriptions, unless otherwise noted, is sub-)-.25 F .772
-(jected to brace e)108 420 R .773(xpansion, tilde e)-.15 F .773
+(jected to brace e)108 177.6 R .773(xpansion, tilde e)-.15 F .773
(xpansion, parameter e)-.15 F .773
(xpansion, command substitution, arithmetic e)-.15 F(xpan-)-.15 E .844
-(sion, quote remo)108 432 R -.25(va)-.15 G .843(l, pathname e).25 F .843
-(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843 F
-.843(xpands to more than one w)-.15 F(ord,)-.1 E F1(bash)3.343 E F0
-(reports an error)108 444 Q(.)-.55 E
-(Note that the order of redirections is signi\214cant.)108 460.8 Q -.15
-(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 477.6 Q F1(>)2.5
-E F0(dirlist 2)2.5 E F1(>&)A F0(1)A
-(directs both standard output and standard error to the \214le)108 494.4
-Q F2(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144
-511.2 Q F1(>&)A F0(1)A F1(>)2.5 E F0(dirlist)2.5 E .527
-(directs only the standard output to \214le)108 528 R F2(dirlist)3.027 E
-F0 3.027(,b).68 G .527(ecause the standard error w)-3.027 F .527
+(sion, quote remo)108 189.6 R -.25(va)-.15 G .843(l, pathname e).25 F
+.843(xpansion, and w)-.15 F .843(ord splitting.)-.1 F .843(If it e)5.843
+F .843(xpands to more than one w)-.15 F(ord,)-.1 E F2(bash)3.343 E F0
+(reports an error)108 201.6 Q(.)-.55 E
+(Note that the order of redirections is signi\214cant.)108 218.4 Q -.15
+(Fo)5 G 2.5(re).15 G(xample, the command)-2.65 E(ls)144 235.2 Q F2(>)2.5
+E F0(dirlist 2)2.5 E F2(>&)A F0(1)A
+(directs both standard output and standard error to the \214le)108 252 Q
+F1(dirlist)2.5 E F0 2.5(,w).68 G(hile the command)-2.5 E(ls 2)144 268.8
+Q F2(>&)A F0(1)A F2(>)2.5 E F0(dirlist)2.5 E .527
+(directs only the standard output to \214le)108 285.6 R F1(dirlist)3.027
+E F0 3.027(,b).68 G .527(ecause the standard error w)-3.027 F .527
(as duplicated from the standard)-.1 F
-(output before the standard output w)108 540 Q(as redirected to)-.1 E F2
-(dirlist)2.5 E F0(.).68 E F1(Bash)108 556.8 Q F0 .599(handles se)3.099 F
--.15(ve)-.25 G .599(ral \214lenames specially when the).15 F 3.099(ya)
+(output before the standard output w)108 297.6 Q(as redirected to)-.1 E
+F1(dirlist)2.5 E F0(.).68 E F2(Bash)108 314.4 Q F0 .599(handles se)3.099
+F -.15(ve)-.25 G .599(ral \214lenames specially when the).15 F 3.099(ya)
-.15 G .598(re used in redirections, as described in the follo)-3.099 F
-(wing)-.25 E(table:)108 568.8 Q F1(/de)144 585.6 Q(v/fd/)-.15 E F2(fd)A
-F0(If)180 597.6 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15
-E 2.5<2c8c>-.4 G(le descriptor)-2.5 E F2(fd)2.5 E F0(is duplicated.)2.5
-E F1(/de)144 609.6 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)
-180 621.6 Q F1(/de)144 633.6 Q(v/stdout)-.15 E F0
-(File descriptor 1 is duplicated.)180 645.6 Q F1(/de)144 657.6 Q
-(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 669.6 Q F1(/de)
-144 681.6 Q(v/tcp/)-.15 E F2(host)A F1(/)A F2(port)A F0(If)180 693.6 Q
-F2(host)2.996 E F0 .496(is a v)2.996 F .496
-(alid hostname or Internet address, and)-.25 F F2(port)2.997 E F0 .497
+(wing)-.25 E(table:)108 326.4 Q F2(/de)144 343.2 Q(v/fd/)-.15 E F1(fd)A
+F0(If)180 355.2 Q F1(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E(ger)-.15
+E 2.5<2c8c>-.4 G(le descriptor)-2.5 E F1(fd)2.5 E F0(is duplicated.)2.5
+E F2(/de)144 367.2 Q(v/stdin)-.15 E F0(File descriptor 0 is duplicated.)
+180 379.2 Q F2(/de)144 391.2 Q(v/stdout)-.15 E F0
+(File descriptor 1 is duplicated.)180 403.2 Q F2(/de)144 415.2 Q
+(v/stderr)-.15 E F0(File descriptor 2 is duplicated.)180 427.2 Q F2(/de)
+144 439.2 Q(v/tcp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)180 451.2 Q
+F1(host)2.996 E F0 .496(is a v)2.996 F .496
+(alid hostname or Internet address, and)-.25 F F1(port)2.997 E F0 .497
(is an inte)2.997 F .497(ger port number or ser)-.15 F(-)-.2 E
-(vice name,)180 705.6 Q F1(bash)2.5 E F0
+(vice name,)180 463.2 Q F2(bash)2.5 E F0
(attempts to open a TCP connection to the corresponding sock)2.5 E(et.)
--.1 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(23)185.955 E 0 Cg
-EP
-%%Page: 24 24
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(/de)144 84 Q(v/udp/)-.15 E/F2 10
-/Times-Italic@0 SF(host)A F1(/)A F2(port)A F0(If)180 96 Q F2(host)2.997
-E F0 .497(is a v)2.997 F .497(alid hostname or Internet address, and)
--.25 F F2(port)2.996 E F0 .496(is an inte)2.996 F .496
-(ger port number or ser)-.15 F(-)-.2 E(vice name,)180 108 Q F1(bash)2.5
-E F0(attempts to open a UDP connection to the corresponding sock)2.5 E
-(et.)-.1 E 2.5(Af)108 124.8 S
+-.1 E F2(/de)144 475.2 Q(v/udp/)-.15 E F1(host)A F2(/)A F1(port)A F0(If)
+180 487.2 Q F1(host)2.997 E F0 .497(is a v)2.997 F .497
+(alid hostname or Internet address, and)-.25 F F1(port)2.996 E F0 .496
+(is an inte)2.996 F .496(ger port number or ser)-.15 F(-)-.2 E
+(vice name,)180 499.2 Q F2(bash)2.5 E F0
+(attempts to open a UDP connection to the corresponding sock)2.5 E(et.)
+-.1 E 2.5(Af)108 516 S
(ailure to open or create a \214le causes the redirection to f)-2.6 E
(ail.)-.1 E .946(Redirections using \214le descriptors greater than 9 s\
-hould be used with care, as the)108 141.6 R 3.447(ym)-.15 G .947
+hould be used with care, as the)108 532.8 R 3.447(ym)-.15 G .947
(ay con\215ict with \214le)-3.447 F
-(descriptors the shell uses internally)108 153.6 Q(.)-.65 E F1(Redir)87
-170.4 Q(ecting Input)-.18 E F0 .391
+(descriptors the shell uses internally)108 544.8 Q(.)-.65 E F2(Redir)87
+561.6 Q(ecting Input)-.18 E F0 .391
(Redirection of input causes the \214le whose name results from the e)
-108 182.4 R .391(xpansion of)-.15 F F2(wor)3.231 E(d)-.37 E F0 .391
-(to be opened for read-)3.661 F(ing on \214le descriptor)108 194.4 Q F2
+108 573.6 R .391(xpansion of)-.15 F F1(wor)3.231 E(d)-.37 E F0 .391
+(to be opened for read-)3.661 F(ing on \214le descriptor)108 585.6 Q F1
(n)2.5 E F0 2.5(,o).24 G 2.5(rt)-2.5 G
-(he standard input \(\214le descriptor 0\) if)-2.5 E F2(n)2.86 E F0
+(he standard input \(\214le descriptor 0\) if)-2.5 E F1(n)2.86 E F0
(is not speci\214ed.)2.74 E
-(The general format for redirecting input is:)108 211.2 Q([)144 228 Q F2
-(n)A F0(])A F1(<)A F2(wor)A(d)-.37 E F1(Redir)87 244.8 Q(ecting Output)
+(The general format for redirecting input is:)108 602.4 Q([)144 619.2 Q
+F1(n)A F0(])A F2(<)A F1(wor)A(d)-.37 E F2(Redir)87 636 Q(ecting Output)
-.18 E F0 .174
(Redirection of output causes the \214le whose name results from the e)
-108 256.8 R .175(xpansion of)-.15 F F2(wor)3.015 E(d)-.37 E F0 .175
-(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 268.8
-R F2(n)3.325 E F0 3.325(,o).24 G 3.325(rt)-3.325 G .824
-(he standard output \(\214le descriptor 1\) if)-3.325 F F2(n)3.684 E F0
+108 648 R .175(xpansion of)-.15 F F1(wor)3.015 E(d)-.37 E F0 .175
+(to be opened for writ-)3.445 F .825(ing on \214le descriptor)108 660 R
+F1(n)3.325 E F0 3.325(,o).24 G 3.325(rt)-3.325 G .824
+(he standard output \(\214le descriptor 1\) if)-3.325 F F1(n)3.684 E F0
.824(is not speci\214ed.)3.564 F .824(If the \214le does not)5.824 F
--.15(ex)108 280.8 S(ist it is created; if it does e).15 E
+-.15(ex)108 672 S(ist it is created; if it does e).15 E
(xist it is truncated to zero size.)-.15 E
-(The general format for redirecting output is:)108 297.6 Q([)144 314.4 Q
-F2(n)A F0(])A F1(>)A F2(wor)A(d)-.37 E F0 .154
-(If the redirection operator is)108 331.2 R F1(>)2.654 E F0 2.654(,a)C
-.154(nd the)-2.654 F F1(noclob)2.654 E(ber)-.1 E F0 .154(option to the)
-2.654 F F1(set)2.655 E F0 -.2(bu)2.655 G .155
-(iltin has been enabled, the redirection).2 F .658(will f)108 343.2 R
-.658(ail if the \214le whose name results from the e)-.1 F .658
-(xpansion of)-.15 F F2(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G .657
-(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-)
-5.657 F .408(rection operator is)108 355.2 R F1(>|)2.909 E F0 2.909(,o)C
-2.909(rt)-2.909 G .409(he redirection operator is)-2.909 F F1(>)2.909 E
-F0 .409(and the)2.909 F F1(noclob)2.909 E(ber)-.1 E F0 .409
-(option to the)2.909 F F1(set)2.909 E F0 -.2(bu)2.909 G .409
+(The general format for redirecting output is:)108 688.8 Q([)144 705.6 Q
+F1(n)A F0(])A F2(>)A F1(wor)A(d)-.37 E F0 .154
+(If the redirection operator is)108 722.4 R F2(>)2.654 E F0 2.654(,a)C
+.154(nd the)-2.654 F F2(noclob)2.654 E(ber)-.1 E F0 .154(option to the)
+2.654 F F2(set)2.655 E F0 -.2(bu)2.655 G .155
+(iltin has been enabled, the redirection).2 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(24)185.955 E 0 Cg EP
+%%Page: 25 25
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .658(will f)108 84 R .658
+(ail if the \214le whose name results from the e)-.1 F .658(xpansion of)
+-.15 F/F1 10/Times-Italic@0 SF(wor)3.158 E(d)-.37 E F0 -.15(ex)3.158 G
+.657(ists and is a re).15 F .657(gular \214le.)-.15 F .657(If the redi-)
+5.657 F .408(rection operator is)108 96 R/F2 10/Times-Bold@0 SF(>|)2.909
+E F0 2.909(,o)C 2.909(rt)-2.909 G .409(he redirection operator is)-2.909
+F F2(>)2.909 E F0 .409(and the)2.909 F F2(noclob)2.909 E(ber)-.1 E F0
+.409(option to the)2.909 F F2(set)2.909 E F0 -.2(bu)2.909 G .409
(iltin command).2 F(is not enabled, the redirection is attempted e)108
-367.2 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)
--2.5 E F2(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F1 -.25(Ap)87
-384 S(pending Redir).25 E(ected Output)-.18 E F0 .642
-(Redirection of output in this f)108 396 R .642
+108 Q -.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214le named by)-2.5
+E F1(wor)2.5 E(d)-.37 E F0 -.15(ex)2.5 G(ists.).15 E F2 -.25(Ap)87 124.8
+S(pending Redir).25 E(ected Output)-.18 E F0 .642
+(Redirection of output in this f)108 136.8 R .642
(ashion causes the \214le whose name results from the e)-.1 F .641
-(xpansion of)-.15 F F2(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473
-(opened for appending on \214le descriptor)108 408 R F2(n)2.973 E F0
+(xpansion of)-.15 F F1(wor)3.481 E(d)-.37 E F0 .641(to be)3.911 F .473
+(opened for appending on \214le descriptor)108 148.8 R F1(n)2.973 E F0
2.974(,o).24 G 2.974(rt)-2.974 G .474
-(he standard output \(\214le descriptor 1\) if)-2.974 F F2(n)3.334 E F0
+(he standard output \(\214le descriptor 1\) if)-2.974 F F1(n)3.334 E F0
.474(is not speci\214ed.)3.214 F(If)5.474 E(the \214le does not e)108
-420 Q(xist it is created.)-.15 E
-(The general format for appending output is:)108 436.8 Q([)144 453.6 Q
-F2(n)A F0(])A F1(>>)A F2(wor)A(d)-.37 E F1(Redir)87 475.2 Q
+160.8 Q(xist it is created.)-.15 E
+(The general format for appending output is:)108 177.6 Q([)144 194.4 Q
+F1(n)A F0(])A F2(>>)A F1(wor)A(d)-.37 E F2(Redir)87 216 Q
(ecting Standard Output and Standard Err)-.18 E(or)-.18 E F0 .249
-(This construct allo)108 487.2 R .249(ws both the standard output \(\
-\214le descriptor 1\) and the standard error output \(\214le descrip-)
--.25 F(tor 2\) to be redirected to the \214le whose name is the e)108
-499.2 Q(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
-(There are tw)108 516 Q 2.5(of)-.1 G
-(ormats for redirecting standard output and standard error:)-2.5 E F1
-(&>)144 532.8 Q F2(wor)A(d)-.37 E F0(and)108 544.8 Q F1(>&)144 556.8 Q
-F2(wor)A(d)-.37 E F0(Of the tw)108 573.6 Q 2.5(of)-.1 G
+(This construct allo)108 228 R .249(ws both the standard output \(\214l\
+e descriptor 1\) and the standard error output \(\214le descrip-)-.25 F
+(tor 2\) to be redirected to the \214le whose name is the e)108 240 Q
+(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E(There are tw)108
+256.8 Q 2.5(of)-.1 G
+(ormats for redirecting standard output and standard error:)-2.5 E F2
+(&>)144 273.6 Q F1(wor)A(d)-.37 E F0(and)108 285.6 Q F2(>&)144 297.6 Q
+F1(wor)A(d)-.37 E F0(Of the tw)108 314.4 Q 2.5(of)-.1 G
(orms, the \214rst is preferred.)-2.5 E(This is semantically equi)5 E
--.25(va)-.25 G(lent to).25 E F1(>)144 590.4 Q F2(wor)A(d)-.37 E F0(2)2.5
-E F1(>&)A F0(1)A F1 -.25(Ap)87 612 S
+-.25(va)-.25 G(lent to).25 E F2(>)144 331.2 Q F1(wor)A(d)-.37 E F0(2)2.5
+E F2(>&)A F0(1)A F2 -.25(Ap)87 352.8 S
(pending Standard Output and Standard Err).25 E(or)-.18 E F0 .248
-(This construct allo)108 624 R .249(ws both the standard output \(\214l\
-e descriptor 1\) and the standard error output \(\214le descrip-)-.25 F
-(tor 2\) to be appended to the \214le whose name is the e)108 636 Q
-(xpansion of)-.15 E F2(wor)2.5 E(d)-.37 E F0(.).77 E
+(This construct allo)108 364.8 R .249(ws both the standard output \(\
+\214le descriptor 1\) and the standard error output \(\214le descrip-)
+-.25 F(tor 2\) to be appended to the \214le whose name is the e)108
+376.8 Q(xpansion of)-.15 E F1(wor)2.5 E(d)-.37 E F0(.).77 E
(The format for appending standard output and standard error is:)108
-652.8 Q F1(&>>)144 669.6 Q F2(wor)A(d)-.37 E F0
-(This is semantically equi)108 686.4 Q -.25(va)-.25 G(lent to).25 E F1
-(>>)144 703.2 Q F2(wor)A(d)-.37 E F0(2)2.5 E F1(>&)A F0(1)A
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(24)185.955 E 0 Cg EP
-%%Page: 25 25
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(Her)87 84 Q 2.5(eD)-.18 G(ocuments)-2.5 E
-F0 .33(This type of redirection instructs the shell to read input from \
-the current source until a line containing only)108 96 R/F2 10
-/Times-Italic@0 SF(delimiter)108.35 108 Q F0 .614
+393.6 Q F2(&>>)144 410.4 Q F1(wor)A(d)-.37 E F0
+(This is semantically equi)108 427.2 Q -.25(va)-.25 G(lent to).25 E F2
+(>>)144 444 Q F1(wor)A(d)-.37 E F0(2)2.5 E F2(>&)A F0(1)A F2(Her)87
+460.8 Q 2.5(eD)-.18 G(ocuments)-2.5 E F0 .33(This type of redirection i\
+nstructs the shell to read input from the current source until a line c\
+ontaining only)108 472.8 R F1(delimiter)108.35 484.8 Q F0 .614
(\(with no trailing blanks\) is seen.)3.844 F .615
(All of the lines read up to that point are then used as the stan-)5.615
-F(dard input for a command.)108 120 Q(The format of here-documents is:)
-108 136.8 Q F1(<<)144 153.6 Q F0([)A F1<ad>A F0(])A F2(wor)A(d)-.37 E
-(her)164 165.6 Q(e-document)-.37 E(delimiter)144 177.6 Q F0 .128
-(No parameter e)108 194.4 R .127
+F(dard input for a command.)108 496.8 Q
+(The format of here-documents is:)108 513.6 Q F2(<<)144 530.4 Q F0([)A
+F2<ad>A F0(])A F1(wor)A(d)-.37 E(her)164 542.4 Q(e-document)-.37 E
+(delimiter)144 554.4 Q F0 .128(No parameter e)108 571.2 R .127
(xpansion, command substitution, arithmetic e)-.15 F .127
(xpansion, or pathname e)-.15 F .127(xpansion is performed)-.15 F(on)108
-206.4 Q F2(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G
-1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F2(wor)3.614 E(d)-.37 E
-F0 .774(are quoted, the)4.044 F F2(delimiter)3.624 E F0 .774
+583.2 Q F1(wor)3.274 E(d)-.37 E F0 5.774(.I).77 G 3.274(fa)-5.774 G
+1.074 -.15(ny c)-3.274 H .774(haracters in).15 F F1(wor)3.614 E(d)-.37 E
+F0 .774(are quoted, the)4.044 F F1(delimiter)3.624 E F0 .774
(is the result of quote remo)4.004 F -.25(va)-.15 G 3.275(lo).25 G(n)
--3.275 E F2(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905
-(the lines in the here-document are not e)108 218.4 R 3.405(xpanded. If)
--.15 F F2(wor)3.405 E(d)-.37 E F0 .904
+-3.275 E F1(wor)3.275 E(d)-.37 E F0 3.275(,a).77 G(nd)-3.275 E .905
+(the lines in the here-document are not e)108 595.2 R 3.405(xpanded. If)
+-.15 F F1(wor)3.405 E(d)-.37 E F0 .904
(is unquoted, all lines of the here-document are)3.405 F .694
-(subjected to parameter e)108 230.4 R .695
+(subjected to parameter e)108 607.2 R .695
(xpansion, command substitution, and arithmetic e)-.15 F 3.195
(xpansion. In)-.15 F .695(the latter case, the)3.195 F
-(character sequence)108 242.4 Q F1(\\<newline>)2.5 E F0(is ignored, and)
-2.5 E F1(\\)2.5 E F0(must be used to quote the characters)2.5 E F1(\\)
-2.5 E F0(,)A F1($)2.5 E F0 2.5(,a)C(nd)-2.5 E F1<92>2.5 E F0(.)A .602
-(If the redirection operator is)108 259.2 R F1(<<\255)3.101 E F0 3.101
-(,t)C .601(hen all leading tab characters are stripped from input lines\
- and the line)-3.101 F(containing)108 271.2 Q F2(delimiter)2.5 E F0 5
-(.T).73 G(his allo)-5 E
+(character sequence)108 619.2 Q F2(\\<newline>)2.5 E F0(is ignored, and)
+2.5 E F2(\\)2.5 E F0(must be used to quote the characters)2.5 E F2(\\)
+2.5 E F0(,)A F2($)2.5 E F0 2.5(,a)C(nd)-2.5 E F2<92>2.5 E F0(.)A .602
+(If the redirection operator is)108 636 R F2(<<\255)3.101 E F0 3.101(,t)
+C .601(hen all leading tab characters are stripped from input lines and\
+ the line)-3.101 F(containing)108 648 Q F1(delimiter)2.5 E F0 5(.T).73 G
+(his allo)-5 E
(ws here-documents within shell scripts to be indented in a natural f)
--.25 E(ashion.)-.1 E F1(Her)87 288 Q 2.5(eS)-.18 G(trings)-2.5 E F0 2.5
-(Av)108 300 S(ariant of here documents, the format is:)-2.75 E F1(<<<)
-144 316.8 Q F2(wor)A(d)-.37 E F0(The)108 333.6 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 F1
-(Duplicating File Descriptors)87 350.4 Q F0(The redirection operator)108
-362.4 Q([)144 379.2 Q F2(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126
-(is used to duplicate input \214le descriptors.)108 396 R(If)5.127 E F2
-(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127
+-.25 E(ashion.)-.1 E F2(Her)87 664.8 Q 2.5(eS)-.18 G(trings)-2.5 E F0
+2.5(Av)108 676.8 S(ariant of here documents, the format is:)-2.75 E F2
+(<<<)144 693.6 Q F1(wor)A(d)-.37 E F0(The)108 710.4 Q F1(wor)2.5 E(d)
+-.37 E F0(is e)2.5 E
+(xpanded and supplied to the command on its standard input.)-.15 E
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(25)185.955 E 0 Cg EP
+%%Page: 26 26
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(Duplicating File Descriptors)87 84 Q F0
+(The redirection operator)108 96 Q([)144 112.8 Q/F2 10/Times-Italic@0 SF
+(n)A F0(])A F1(<&)A F2(wor)A(d)-.37 E F0 .126
+(is used to duplicate input \214le descriptors.)108 129.6 R(If)5.127 E
+F2(wor)2.967 E(d)-.37 E F0 -.15(ex)3.397 G .127
(pands to one or more digits, the \214le descriptor denoted).15 F(by)108
-408 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G
+141.6 Q F2(n)3.318 E F0 .458(is made to be a cop)3.198 F 2.958(yo)-.1 G
2.958(ft)-2.958 G .457(hat \214le descriptor)-2.958 F 5.457(.I)-.55 G
2.957(ft)-5.457 G .457(he digits in)-2.957 F F2(wor)3.297 E(d)-.37 E F0
.457(do not specify a \214le descriptor open)3.727 F .149
-(for input, a redirection error occurs.)108 420 R(If)5.149 E F2(wor)
+(for input, a redirection error occurs.)108 153.6 R(If)5.149 E F2(wor)
2.989 E(d)-.37 E F0 -.25(eva)3.419 G .149(luates to).25 F F1<ad>2.649 E
F0 2.65<2c8c>C .15(le descriptor)-2.65 F F2(n)3.01 E F0 .15(is closed.)
2.89 F(If)5.15 E F2(n)3.01 E F0 .15(is not speci\214ed,)2.89 F
-(the standard input \(\214le descriptor 0\) is used.)108 432 Q
-(The operator)108 448.8 Q([)144 465.6 Q F2(n)A F0(])A F1(>&)A F2(wor)A
+(the standard input \(\214le descriptor 0\) is used.)108 165.6 Q
+(The operator)108 182.4 Q([)144 199.2 Q F2(n)A F0(])A F1(>&)A F2(wor)A
(d)-.37 E F0 .444
-(is used similarly to duplicate output \214le descriptors.)108 482.4 R
-(If)5.444 E F2(n)3.304 E F0 .443
+(is used similarly to duplicate output \214le descriptors.)108 216 R(If)
+5.444 E F2(n)3.304 E F0 .443
(is not speci\214ed, the standard output \(\214le descrip-)3.183 F 1.357
-(tor 1\) is used.)108 494.4 R 1.357(If the digits in)6.357 F F2(wor)
-4.197 E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for o\
-utput, a redirection error)4.627 F 2.597(occurs. As)108 506.4 R 2.597
-(as)2.597 G .097(pecial case, if)-2.597 F F2(n)2.596 E F0 .096
-(is omitted, and)2.596 F F2(wor)2.596 E(d)-.37 E F0 .096(does not e)
-2.596 F .096(xpand to one or more digits, the standard out-)-.15 F
-(put and standard error are redirected as described pre)108 518.4 Q
-(viously)-.25 E(.)-.65 E F1(Mo)87 535.2 Q(ving File Descriptors)-.1 E F0
-(The redirection operator)108 547.2 Q([)144 564 Q F2(n)A F0(])A F1(<&)A
-F2(digit)A F1<ad>A F0(mo)108 580.8 Q -.15(ve)-.15 G 3.035(st).15 G .535
-(he \214le descriptor)-3.035 F F2(digit)3.035 E F0 .535
+(tor 1\) is used.)108 228 R 1.357(If the digits in)6.357 F F2(wor)4.197
+E(d)-.37 E F0 1.358(do not specify a \214le descriptor open for output,\
+ a redirection error)4.627 F 2.597(occurs. As)108 240 R 2.597(as)2.597 G
+.097(pecial case, if)-2.597 F F2(n)2.596 E F0 .096(is omitted, and)2.596
+F F2(wor)2.596 E(d)-.37 E F0 .096(does not e)2.596 F .096
+(xpand to one or more digits, the standard out-)-.15 F
+(put and standard error are redirected as described pre)108 252 Q
+(viously)-.25 E(.)-.65 E F1(Mo)87 268.8 Q(ving File Descriptors)-.1 E F0
+(The redirection operator)108 280.8 Q([)144 297.6 Q F2(n)A F0(])A F1(<&)
+A F2(digit)A F1<ad>A F0(mo)108 314.4 Q -.15(ve)-.15 G 3.035(st).15 G
+.535(he \214le descriptor)-3.035 F F2(digit)3.035 E F0 .535
(to \214le descriptor)3.035 F F2(n)3.035 E F0 3.035(,o).24 G 3.035(rt)
-3.035 G .536(he standard input \(\214le descriptor 0\) if)-3.035 F F2
-(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 592.8 Q F2(digit)5
+(n)3.036 E F0 .536(is not speci-)3.036 F(\214ed.)108 326.4 Q F2(digit)5
E F0(is closed after being duplicated to)2.5 E F2(n)2.5 E F0(.)A
-(Similarly)108 609.6 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
-144 626.4 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 643.2 Q
+(Similarly)108 343.2 Q 2.5(,t)-.65 G(he redirection operator)-2.5 E([)
+144 360 Q F2(n)A F0(])A F1(>&)A F2(digit)A F1<ad>A F0(mo)108 376.8 Q
-.15(ve)-.15 G 2.786(st).15 G .286(he \214le descriptor)-2.786 F F2
(digit)2.786 E F0 .286(to \214le descriptor)2.786 F F2(n)2.786 E F0
2.786(,o).24 G 2.786(rt)-2.786 G .285
(he standard output \(\214le descriptor 1\) if)-2.786 F F2(n)2.785 E F0
-.285(is not speci-)2.785 F(\214ed.)108 655.2 Q F1
-(Opening File Descriptors f)87 672 Q(or Reading and Writing)-.25 E F0
-(The redirection operator)108 684 Q([)144 700.8 Q F2(n)A F0(])A F1(<>)A
-F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
-717.6 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
+.285(is not speci-)2.785 F(\214ed.)108 388.8 Q F1
+(Opening File Descriptors f)87 405.6 Q(or Reading and Writing)-.25 E F0
+(The redirection operator)108 417.6 Q([)144 434.4 Q F2(n)A F0(])A F1(<>)
+A F2(wor)A(d)-.37 E F0 1.349(causes the \214le whose name is the e)108
+451.2 R 1.349(xpansion of)-.15 F F2(wor)4.189 E(d)-.37 E F0 1.349
(to be opened for both reading and writing on \214le)4.619 F(descriptor)
-108 729.6 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
+108 463.2 Q F2(n)2.5 E F0 2.5(,o).24 G 2.5(ro)-2.5 G 2.5<6e8c>-2.5 G
(le descriptor 0 if)-2.5 E F2(n)2.86 E F0(is not speci\214ed.)2.74 E
-(If the \214le does not e)5 E(xist, it is created.)-.15 E(GNU Bash-4.1)
-72 768 Q(2009 December 29)135.965 E(25)185.955 E 0 Cg EP
-%%Page: 26 26
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10.95/Times-Bold@0 SF(ALIASES)72 84 Q/F2 10/Times-Italic@0 SF
-(Aliases)108 96 Q F0(allo)3.174 E 3.174(was)-.25 G .674
-(tring to be substituted for a w)-3.174 F .674
+(If the \214le does not e)5 E(xist, it is created.)-.15 E/F3 10.95
+/Times-Bold@0 SF(ALIASES)72 480 Q F2(Aliases)108 492 Q F0(allo)3.174 E
+3.174(was)-.25 G .674(tring to be substituted for a w)-3.174 F .674
(ord when it is used as the \214rst w)-.1 F .673
(ord of a simple command.)-.1 F .394(The shell maintains a list of alia\
-ses that may be set and unset with the)108 108 R/F3 10/Times-Bold@0 SF
-(alias)2.894 E F0(and)2.894 E F3(unalias)2.894 E F0 -.2(bu)2.894 G .394
-(iltin commands).2 F(\(see)108 120 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)
-4.48 F(UIL)-.09 E 1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48
-(w\). The)-.25 F 1.98(\214rst w)4.48 F 1.979
-(ord of each simple command, if unquoted, is)-.1 F(check)108 132 Q .472
-(ed to see if it has an alias.)-.1 F .472(If so, that w)5.472 F .473
-(ord is replaced by the te)-.1 F .473(xt of the alias.)-.15 F .473
-(The characters)5.473 F F3(/)2.973 E F0(,)A F3($)2.973 E F0(,)A F3<92>
-2.973 E F0(,)A(and)108 144 Q F3(=)3.612 E F0 1.112(and an)3.612 F 3.612
-(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell)-3.612 F F2(metac)3.612 E
-(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
+ses that may be set and unset with the)108 504 R F1(alias)2.894 E F0
+(and)2.894 E F1(unalias)2.894 E F0 -.2(bu)2.894 G .394(iltin commands).2
+F(\(see)108 516 Q/F4 9/Times-Bold@0 SF 1.98(SHELL B)4.48 F(UIL)-.09 E
+1.98(TIN COMMANDS)-.828 F F0(belo)4.23 E 4.48(w\). The)-.25 F 1.98
+(\214rst w)4.48 F 1.979(ord of each simple command, if unquoted, is)-.1
+F(check)108 528 Q .472(ed to see if it has an alias.)-.1 F .472
+(If so, that w)5.472 F .473(ord is replaced by the te)-.1 F .473
+(xt of the alias.)-.15 F .473(The characters)5.473 F F1(/)2.973 E F0(,)A
+F1($)2.973 E F0(,)A F1<92>2.973 E F0(,)A(and)108 540 Q F1(=)3.612 E F0
+1.112(and an)3.612 F 3.612(yo)-.15 G 3.612(ft)-3.612 G 1.112(he shell)
+-3.612 F F2(metac)3.612 E(har)-.15 E(acter)-.15 E(s)-.1 E F0 1.112
(or quoting characters listed abo)3.612 F 1.411 -.15(ve m)-.15 H 1.111
-(ay not appear in an alias).15 F 3.619(name. The)108 156 R 1.119
+(ay not appear in an alias).15 F 3.619(name. The)108 552 R 1.119
(replacement te)3.619 F 1.119(xt may contain an)-.15 F 3.619(yv)-.15 G
1.119(alid shell input, including shell metacharacters.)-3.869 F 1.12
-(The \214rst)6.12 F -.1(wo)108 168 S .514(rd of the replacement te).1 F
+(The \214rst)6.12 F -.1(wo)108 564 S .514(rd of the replacement te).1 F
.514(xt is tested for aliases, b)-.15 F .514(ut a w)-.2 F .513
(ord that is identical to an alias being e)-.1 F .513(xpanded is)-.15 F
-.295(not e)108 180 R .295(xpanded a second time.)-.15 F .296
-(This means that one may alias)5.295 F F3(ls)2.796 E F0(to)2.796 E F3
-.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F3
-(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 192 R
+.295(not e)108 576 R .295(xpanded a second time.)-.15 F .296
+(This means that one may alias)5.295 F F1(ls)2.796 E F0(to)2.796 E F1
+.296(ls \255F)2.796 F F0 2.796(,f)C .296(or instance, and)-2.796 F F1
+(bash)2.796 E F0 .296(does not try)2.796 F .543(to recursi)108 588 R
-.15(ve)-.25 G .543(ly e).15 F .543(xpand the replacement te)-.15 F
3.043(xt. If)-.15 F .543(the last character of the alias v)3.043 F .542
(alue is a)-.25 F F2(blank)3.042 E F0 3.042(,t).67 G .542(hen the ne)
--3.042 F(xt)-.15 E(command w)108 204 Q(ord follo)-.1 E
+-3.042 F(xt)-.15 E(command w)108 600 Q(ord follo)-.1 E
(wing the alias is also check)-.25 E(ed for alias e)-.1 E(xpansion.)-.15
-E(Aliases are created and listed with the)108 220.8 Q F3(alias)2.5 E F0
-(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F3
+E(Aliases are created and listed with the)108 616.8 Q F1(alias)2.5 E F0
+(command, and remo)2.5 E -.15(ve)-.15 G 2.5(dw).15 G(ith the)-2.5 E F1
(unalias)2.5 E F0(command.)2.5 E .284
-(There is no mechanism for using ar)108 237.6 R .284
+(There is no mechanism for using ar)108 633.6 R .284
(guments in the replacement te)-.18 F 2.784(xt. If)-.15 F(ar)2.784 E
.284(guments are needed, a shell func-)-.18 F(tion should be used \(see)
-108 249.6 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22
-(Aliases are not e)108 266.4 R 1.22
+108 645.6 Q F4(FUNCTIONS)2.5 E F0(belo)2.25 E(w\).)-.25 E 1.22
+(Aliases are not e)108 662.4 R 1.22
(xpanded when the shell is not interacti)-.15 F -.15(ve)-.25 G 3.72(,u)
-.15 G 1.22(nless the)-3.72 F F3(expand_aliases)3.72 E F0 1.22
-(shell option is set)3.72 F(using)108 278.4 Q F3(shopt)2.5 E F0
-(\(see the description of)2.5 E F3(shopt)2.5 E F0(under)2.5 E F4
+.15 G 1.22(nless the)-3.72 F F1(expand_aliases)3.72 E F0 1.22
+(shell option is set)3.72 F(using)108 674.4 Q F1(shopt)2.5 E F0
+(\(see the description of)2.5 E F1(shopt)2.5 E F0(under)2.5 E F4
(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25
E .435
(The rules concerning the de\214nition and use of aliases are some)108
-295.2 R .436(what confusing.)-.25 F F3(Bash)5.436 E F0(al)2.936 E -.1
+691.2 R .436(what confusing.)-.25 F F1(Bash)5.436 E F0(al)2.936 E -.1
(wa)-.1 G .436(ys reads at least).1 F .338
-(one complete line of input before e)108 307.2 R -.15(xe)-.15 G .338
+(one complete line of input before e)108 703.2 R -.15(xe)-.15 G .338
(cuting an).15 F 2.838(yo)-.15 G 2.838(ft)-2.838 G .338
(he commands on that line.)-2.838 F .337(Aliases are e)5.337 F .337
-(xpanded when)-.15 F 3.403(ac)108 319.2 S .904
+(xpanded when)-.15 F 3.403(ac)108 715.2 S .904
(ommand is read, not when it is e)-3.403 F -.15(xe)-.15 G 3.404
(cuted. Therefore,).15 F .904
(an alias de\214nition appearing on the same line as)3.404 F 1.162
-(another command does not tak)108 331.2 R 3.662(ee)-.1 G -.25(ff)-3.662
+(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 .277
-(alias de\214nition on that line are not af)108 343.2 R .277
+1.161(The commands follo)6.161 F 1.161(wing the)-.25 F(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(26)185.955 E 0 Cg EP
+%%Page: 27 27
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .277(alias de\214nition on that line are not af)108 84 R .277
(fected by the ne)-.25 F 2.777(wa)-.25 G 2.777(lias. This)-2.777 F(beha)
2.777 E .277(vior is also an issue when functions)-.2 F .699(are e)108
-355.2 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F
-.699(xpanded when a function de\214nition is read, not when the functio\
-n is e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494
-(because a function de\214nition is itself a compound command.)108 367.2
-R .495(As a consequence, aliases de\214ned in a func-)5.494 F .085
-(tion are not a)108 379.2 R -.25(va)-.2 G .084
+96 R -.15(xe)-.15 G 3.199(cuted. Aliases).15 F .699(are e)3.199 F .699(\
+xpanded when a function de\214nition is read, not when the function is \
+e)-.15 F -.15(xe)-.15 G(cuted,).15 E .494
+(because a function de\214nition is itself a compound command.)108 108 R
+.495(As a consequence, aliases de\214ned in a func-)5.494 F .085
+(tion are not a)108 120 R -.25(va)-.2 G .084
(ilable until after that function is e).25 F -.15(xe)-.15 G 2.584
(cuted. T).15 F 2.584(ob)-.8 G 2.584(es)-2.584 G .084(afe, al)-2.584 F
-.1(wa)-.1 G .084(ys put alias de\214nitions on a sepa-).1 F
-(rate line, and do not use)108 391.2 Q F3(alias)2.5 E F0
-(in compound commands.)2.5 E -.15(Fo)108 408 S 2.5(ra).15 G(lmost e)-2.5
-E -.15(ve)-.25 G(ry purpose, aliases are superseded by shell functions.)
-.15 E F1(FUNCTIONS)72 424.8 Q F0 3.467(As)108 436.8 S .967
+(rate line, and do not use)108 132 Q/F1 10/Times-Bold@0 SF(alias)2.5 E
+F0(in compound commands.)2.5 E -.15(Fo)108 148.8 S 2.5(ra).15 G(lmost e)
+-2.5 E -.15(ve)-.25 G
+(ry purpose, aliases are superseded by shell functions.).15 E/F2 10.95
+/Times-Bold@0 SF(FUNCTIONS)72 165.6 Q F0 3.467(As)108 177.6 S .967
(hell function, de\214ned as described abo)-3.467 F 1.267 -.15(ve u)-.15
-H(nder).15 E F4 .967(SHELL GRAMMAR)3.467 F/F5 9/Times-Roman@0 SF(,)A F0
-.968(stores a series of commands for)3.217 F 1.002(later e)108 448.8 R
--.15(xe)-.15 G 3.502(cution. When).15 F 1.002(the name of a shell funct\
-ion is used as a simple command name, the list of com-)3.502 F .315
-(mands associated with that function name is e)108 460.8 R -.15(xe)-.15
-G 2.816(cuted. Functions).15 F .316(are e)2.816 F -.15(xe)-.15 G .316
-(cuted in the conte).15 F .316(xt of the current)-.15 F .036
-(shell; no ne)108 472.8 R 2.536(wp)-.25 G .036
+H(nder).15 E/F3 9/Times-Bold@0 SF .967(SHELL GRAMMAR)3.467 F/F4 9
+/Times-Roman@0 SF(,)A F0 .968(stores a series of commands for)3.217 F
+1.002(later e)108 189.6 R -.15(xe)-.15 G 3.502(cution. When).15 F 1.002
+(the name of a shell function is used as a simple command name, the lis\
+t of com-)3.502 F .315(mands associated with that function name is e)108
+201.6 R -.15(xe)-.15 G 2.816(cuted. Functions).15 F .316(are e)2.816 F
+-.15(xe)-.15 G .316(cuted in the conte).15 F .316(xt of the current)-.15
+F .036(shell; no ne)108 213.6 R 2.536(wp)-.25 G .036
(rocess is created to interpret them \(contrast this with the e)-2.536 F
-.15(xe)-.15 G .036(cution of a shell script\).).15 F .035(When a)5.035
-F .639(function is e)108 484.8 R -.15(xe)-.15 G .639(cuted, the ar).15 F
+F .639(function is e)108 225.6 R -.15(xe)-.15 G .639(cuted, the ar).15 F
.639
(guments to the function become the positional parameters during its e)
--.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 496.8
-R F3(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
-(Special parameter 0 is unchanged.)5.532 F .532(The \214rst ele-)5.532 F
-(ment of the)108 508.8 Q F4(FUNCN)2.5 E(AME)-.18 E F0 -.25(va)2.25 G
+-.18 F -.15(xe)-.15 G(cution.).15 E .533(The special parameter)108 237.6
+R F1(#)3.033 E F0 .532(is updated to re\215ect the change.)3.033 F .532
+(Special parameter)5.532 F F1(0)3.032 E F0 .532(is unchanged.)3.032 F
+.532(The \214rst ele-)5.532 F(ment of the)108 249.6 Q F3(FUNCN)2.5 E
+(AME)-.18 E F0 -.25(va)2.25 G
(riable is set to the name of the function while the function is e).25 E
-.15(xe)-.15 G(cuting.).15 E 1.25(All other aspects of the shell e)108
-525.6 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
+266.4 R -.15(xe)-.15 G 1.25(cution en).15 F 1.25
(vironment are identical between a function and its caller with)-.4 F
-1.049(these e)108 537.6 R 3.548(xceptions: the)-.15 F F4(DEB)3.548 E(UG)
--.09 E F0(and)3.298 E F3(RETURN)3.548 E F0 1.048
-(traps \(see the description of the)3.548 F F3(trap)3.548 E F0 -.2(bu)
-3.548 G 1.048(iltin under).2 F F4(SHELL)3.548 E -.09(BU)108 549.6 S(IL)
+1.049(these e)108 278.4 R 3.548(xceptions: the)-.15 F F3(DEB)3.548 E(UG)
+-.09 E F0(and)3.298 E F1(RETURN)3.548 E F0 1.048
+(traps \(see the description of the)3.548 F F1(trap)3.548 E F0 -.2(bu)
+3.548 G 1.048(iltin under).2 F F3(SHELL)3.548 E -.09(BU)108 290.4 S(IL)
.09 E .478(TIN COMMANDS)-.828 F F0(belo)2.728 E .479
(w\) are not inherited unless the function has been gi)-.25 F -.15(ve)
--.25 G 2.979(nt).15 G(he)-2.979 E F3(trace)2.979 E F0(attrib)2.979 E
-.479(ute \(see)-.2 F .421(the description of the)108 561.6 R F4(declar)
+-.25 G 2.979(nt).15 G(he)-2.979 E F1(trace)2.979 E F0(attrib)2.979 E
+.479(ute \(see)-.2 F .421(the description of the)108 302.4 R F3(declar)
2.92 E(e)-.162 E F0 -.2(bu)2.67 G .42(iltin belo).2 F .42(w\) or the)
--.25 F F3 .42(\255o functrace)2.92 F F0 .42
-(shell option has been enabled with the)2.92 F F3(set)2.92 E F0 -.2(bu)
-108 573.6 S .071(iltin \(in which case all functions inherit the).2 F F3
-(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F3(RETURN)2.572 E F0 .072
-(traps\), and the)2.572 F F4(ERR)2.572 E F0 .072(trap is not inher)2.322
-F(-)-.2 E(ited unless the)108 585.6 Q F3(\255o errtrace)2.5 E F0
-(shell option has been enabled.)2.5 E -1.11(Va)108 602.4 S .656
-(riables local to the function may be declared with the)1.11 F F3(local)
+-.25 F F1 .42(\255o functrace)2.92 F F0 .42
+(shell option has been enabled with the)2.92 F F1(set)2.92 E F0 -.2(bu)
+108 314.4 S .071(iltin \(in which case all functions inherit the).2 F F1
+(DEB)2.572 E(UG)-.1 E F0(and)2.572 E F1(RETURN)2.572 E F0 .072
+(traps\), and the)2.572 F F3(ERR)2.572 E F0 .072(trap is not inher)2.322
+F(-)-.2 E(ited unless the)108 326.4 Q F1(\255o errtrace)2.5 E F0
+(shell option has been enabled.)2.5 E -1.11(Va)108 343.2 S .656
+(riables local to the function may be declared with the)1.11 F F1(local)
3.155 E F0 -.2(bu)3.155 G .655(iltin command.).2 F(Ordinarily)5.655 E
-3.155(,v)-.65 G .655(ariables and)-3.405 F(their v)108 614.4 Q
+3.155(,v)-.65 G .655(ariables and)-3.405 F(their v)108 355.2 Q
(alues are shared between the function and its caller)-.25 E(.)-.55 E
-.043(If the b)108 631.2 R .043(uiltin command)-.2 F F3 -.18(re)2.543 G
-(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043
+(The)108 372 Q F1(FUNCNEST)3.528 E F0 -.25(va)3.528 G 1.028
+(riable, if set to a numeric v).25 F 1.028
+(alue greater than 0, de\214nes a maximum function nesting)-.25 F(le)108
+384 Q -.15(ve)-.25 G 2.5(l. Function).15 F(in)2.5 E -.2(vo)-.4 G
+(cations that e).2 E(xceed the limit cause the entire command to abort.)
+-.15 E .044(If the b)108 400.8 R .043(uiltin command)-.2 F F1 -.18(re)
+2.543 G(tur).18 E(n)-.15 E F0 .043(is e)2.543 F -.15(xe)-.15 G .043
(cuted in a function, the function completes and e).15 F -.15(xe)-.15 G
-.044(cution resumes with).15 F 1.012(the ne)108 643.2 R 1.012
+.043(cution resumes with).15 F 1.011(the ne)108 412.8 R 1.011
(xt command after the function call.)-.15 F(An)6.011 E 3.511(yc)-.15 G
-1.011(ommand associated with the)-3.511 F F3(RETURN)3.511 E F0 1.011
-(trap is e)3.511 F -.15(xe)-.15 G(cuted).15 E .213(before e)108 655.2 R
--.15(xe)-.15 G .213(cution resumes.).15 F .213
-(When a function completes, the v)5.213 F .214
+1.011(ommand associated with the)-3.511 F F1(RETURN)3.512 E F0 1.012
+(trap is e)3.512 F -.15(xe)-.15 G(cuted).15 E .214(before e)108 424.8 R
+-.15(xe)-.15 G .214(cution resumes.).15 F .213
+(When a function completes, the v)5.214 F .213
(alues of the positional parameters and the spe-)-.25 F(cial parameter)
-108 667.2 Q F3(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
+108 436.8 Q F1(#)2.5 E F0(are restored to the v)2.5 E(alues the)-.25 E
2.5(yh)-.15 G(ad prior to the function')-2.5 E 2.5(se)-.55 G -.15(xe)
--2.65 G(cution.).15 E 1.359
-(Function names and de\214nitions may be listed with the)108 684 R F3
-<ad66>3.858 E F0 1.358(option to the)3.858 F F3(declar)3.858 E(e)-.18 E
-F0(or)3.858 E F3(typeset)3.858 E F0 -.2(bu)3.858 G 1.358(iltin com-).2 F
-3.39(mands. The)108 696 R F3<ad46>3.39 E F0 .89(option to)3.39 F F3
-(declar)3.39 E(e)-.18 E F0(or)3.39 E F3(typeset)3.39 E F0 .89
+-2.65 G(cution.).15 E 1.358
+(Function names and de\214nitions may be listed with the)108 453.6 R F1
+<ad66>3.858 E F0 1.358(option to the)3.858 F F1(declar)3.858 E(e)-.18 E
+F0(or)3.859 E F1(typeset)3.859 E F0 -.2(bu)3.859 G 1.359(iltin com-).2 F
+3.39(mands. The)108 465.6 R F1<ad46>3.39 E F0 .89(option to)3.39 F F1
+(declar)3.39 E(e)-.18 E F0(or)3.39 E F1(typeset)3.39 E F0 .89
(will list the function names only \(and optionally the source)3.39 F
-.327(\214le and line number)108 708 R 2.827(,i)-.4 G 2.827(ft)-2.827 G
-(he)-2.827 E F3(extdeb)2.827 E(ug)-.2 E F0 .326
-(shell option is enabled\).)2.827 F .326(Functions may be e)5.326 F .326
-(xported so that subshells)-.15 F 1.297(automatically ha)108 720 R 1.597
--.15(ve t)-.2 H 1.297(hem de\214ned with the).15 F F3<ad66>3.797 E F0
-1.297(option to the)3.797 F F3(export)3.798 E F0 -.2(bu)3.798 G 3.798
-(iltin. A).2 F 1.298(function de\214nition may be)3.798 F(GNU Bash-4.1)
-72 768 Q(2009 December 29)135.965 E(26)185.955 E 0 Cg EP
-%%Page: 27 27
+.326(\214le and line number)108 477.6 R 2.826(,i)-.4 G 2.826(ft)-2.826 G
+(he)-2.826 E F1(extdeb)2.826 E(ug)-.2 E F0 .326
+(shell option is enabled\).)2.826 F .327(Functions may be e)5.327 F .327
+(xported so that subshells)-.15 F 1.298(automatically ha)108 489.6 R
+1.598 -.15(ve t)-.2 H 1.298(hem de\214ned with the).15 F F1<ad66>3.798 E
+F0 1.298(option to the)3.798 F F1(export)3.797 E F0 -.2(bu)3.797 G 3.797
+(iltin. A).2 F 1.297(function de\214nition may be)3.797 F .16
+(deleted using the)108 501.6 R F1<ad66>2.66 E F0 .16(option to the)2.66
+F F1(unset)2.66 E F0 -.2(bu)2.66 G 2.661(iltin. Note).2 F .161
+(that shell functions and v)2.661 F .161(ariables with the same name)
+-.25 F 1.325(may result in multiple identically-named entries in the en)
+108 513.6 R 1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G
+3.825(hildren. Care)-3.825 F(should be tak)108 525.6 Q
+(en in cases where this may cause a problem.)-.1 E .371
+(Functions may be recursi)108 542.4 R -.15(ve)-.25 G 5.371(.T).15 G(he)
+-5.371 E F1(FUNCNEST)2.871 E F0 -.25(va)2.871 G .371
+(riable may be used to limit the depth of the function call).25 F 1.141
+(stack and restrict the number of function in)108 554.4 R -.2(vo)-.4 G
+3.641(cations. By).2 F(def)3.641 E 1.141
+(ault, no limit is imposed on the number of)-.1 F(recursi)108 566.4 Q .3
+-.15(ve c)-.25 H(alls.).15 E F2(ARITHMETIC EV)72 583.2 Q(ALU)-1.478 E
+-1.04(AT)-.657 G(ION)1.04 E F0 2.297(The shell allo)108 595.2 R 2.297
+(ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va)-.25 G
+2.297(luated, under certain circumstances \(see the).25 F F1(let)4.798 E
+F0(and)4.798 E F1(declar)108 607.2 Q(e)-.18 E F0 -.2(bu)2.706 G .206
+(iltin commands and).2 F F1 .206(Arithmetic Expansion)2.706 F F0 2.705
+(\). Ev)B .205(aluation is done in \214x)-.25 F .205(ed-width inte)-.15
+F .205(gers with no)-.15 F .428(check for o)108 619.2 R -.15(ve)-.15 G
+(r\215o).15 E 1.728 -.65(w, t)-.25 H .428(hough di).65 F .428
+(vision by 0 is trapped and \215agged as an error)-.25 F 5.429(.T)-.55 G
+.429(he operators and their prece-)-5.429 F 1.92(dence, associati)108
+631.2 R(vity)-.25 E 4.42(,a)-.65 G 1.92(nd v)-4.42 F 1.92
+(alues are the same as in the C language.)-.25 F 1.919(The follo)6.919 F
+1.919(wing list of operators is)-.25 F(grouped into le)108 643.2 Q -.15
+(ve)-.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)
+-.25 G(ls are listed in order of decreasing precedence.).15 E/F5 10
+/Times-Italic@0 SF(id)108 660 Q F1(++)A F5(id)2.5 E F1<adad>A F0 -.25
+(va)144 672 S(riable post-increment and post-decrement).25 E F1(++)108
+684 Q F5(id)A F1<adad>2.5 E F5(id)A F0 -.25(va)144 696 S
+(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 708 S F0
+(unary minus and plus)19.6 E(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(27)185.955 E 0 Cg EP
+%%Page: 28 28
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .161(deleted using the)108 84 R/F1 10/Times-Bold@0 SF<ad66>2.661
-E F0 .161(option to the)2.661 F F1(unset)2.661 E F0 -.2(bu)2.661 G 2.661
-(iltin. Note).2 F .16(that shell functions and v)2.661 F .16
-(ariables with the same name)-.25 F 1.325
-(may result in multiple identically-named entries in the en)108 96 R
-1.325(vironment passed to the shell')-.4 F 3.825(sc)-.55 G 3.825
-(hildren. Care)-3.825 F(should be tak)108 108 Q
-(en in cases where this may cause a problem.)-.1 E
-(Functions may be recursi)108 124.8 Q -.15(ve)-.25 G 5(.N).15 G 2.5(ol)
--5 G(imit is imposed on the number of recursi)-2.5 E .3 -.15(ve c)-.25 H
-(alls.).15 E/F2 10.95/Times-Bold@0 SF(ARITHMETIC EV)72 141.6 Q(ALU)
--1.478 E -1.04(AT)-.657 G(ION)1.04 E F0 2.298(The shell allo)108 153.6 R
-2.297(ws arithmetic e)-.25 F 2.297(xpressions to be e)-.15 F -.25(va)
--.25 G 2.297(luated, under certain circumstances \(see the).25 F F1(let)
-4.797 E F0(and)4.797 E F1(declar)108 165.6 Q(e)-.18 E F0 -.2(bu)2.705 G
-.205(iltin commands and).2 F F1 .205(Arithmetic Expansion)2.705 F F0
-2.705(\). Ev)B .205(aluation is done in \214x)-.25 F .206(ed-width inte)
--.15 F .206(gers with no)-.15 F .429(check for o)108 177.6 R -.15(ve)
--.15 G(r\215o).15 E 1.729 -.65(w, t)-.25 H .429(hough di).65 F .428
-(vision by 0 is trapped and \215agged as an error)-.25 F 5.428(.T)-.55 G
-.428(he operators and their prece-)-5.428 F 1.919(dence, associati)108
-189.6 R(vity)-.25 E 4.419(,a)-.65 G 1.919(nd v)-4.419 F 1.919
-(alues are the same as in the C language.)-.25 F 1.92(The follo)6.92 F
-1.92(wing list of operators is)-.25 F(grouped into le)108 201.6 Q -.15
-(ve)-.25 G(ls of equal-precedence operators.).15 E(The le)5 E -.15(ve)
--.25 G(ls are listed in order of decreasing precedence.).15 E/F3 10
-/Times-Italic@0 SF(id)108 218.4 Q F1(++)A F3(id)2.5 E F1<adad>A F0 -.25
-(va)144 230.4 S(riable post-increment and post-decrement).25 E F1(++)108
-242.4 Q F3(id)A F1<adad>2.5 E F3(id)A F0 -.25(va)144 254.4 S
-(riable pre-increment and pre-decrement).25 E F1 2.5<ad2b>108 266.4 S F0
-(unary minus and plus)19.6 E F1 2.5(!~)108 278.4 S F0
-(logical and bitwise ne)24.34 E -.05(ga)-.15 G(tion).05 E F1(**)108
-290.4 Q F0 -.15(ex)26 G(ponentiation).15 E F1 2.5(*/%)108 302.4 S F0
-(multiplication, di)10.72 E(vision, remainder)-.25 E F1 2.5<2bad>108
-314.4 S F0(addition, subtraction)19.6 E F1(<< >>)108 326.4 Q F0
-(left and right bitwise shifts)10.7 E F1(<= >= < >)108 338.4 Q F0
-(comparison)144 350.4 Q F1(== !=)108 362.4 Q F0(equality and inequality)
-13.07 E F1(&)108 374.4 Q F0(bitwise AND)27.67 E F1(^)108 386.4 Q F0
+-.35 E/F1 10/Times-Bold@0 SF 2.5(!~)108 84 S F0(logical and bitwise ne)
+24.34 E -.05(ga)-.15 G(tion).05 E F1(**)108 96 Q F0 -.15(ex)26 G
+(ponentiation).15 E F1 2.5(*/%)108 108 S F0(multiplication, di)10.72 E
+(vision, remainder)-.25 E F1 2.5<2bad>108 120 S F0
+(addition, subtraction)19.6 E F1(<< >>)108 132 Q F0
+(left and right bitwise shifts)10.7 E F1(<= >= < >)108 144 Q F0
+(comparison)144 156 Q F1(== !=)108 168 Q F0(equality and inequality)
+13.07 E F1(&)108 180 Q F0(bitwise AND)27.67 E F1(^)108 192 Q F0
(bitwise e)32.67 E(xclusi)-.15 E .3 -.15(ve O)-.25 H(R).15 E F1(|)108
-398.4 Q F0(bitwise OR)33.8 E F1(&&)108 410.4 Q F0(logical AND)19.34 E F1
-(||)108 422.4 Q F0(logical OR)31.6 E F3 -.2(ex)108 434.4 S(pr).2 E F1(?)
-A F3 -.2(ex)C(pr).2 E F1(:)A F3 -.2(ex)C(pr).2 E F0
-(conditional operator)144 446.4 Q F1 2.5(=*)108 458.4 S 2.5(=/)-2.5 G
-2.5(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G
-(<= >>= &= ^= |=)-2.5 E F0(assignment)144 470.4 Q F3 -.2(ex)108 482.4 S
-(pr1).2 E F1(,)2.5 E F3 -.2(ex)2.5 G(pr2).2 E F0(comma)144 494.4 Q .68
-(Shell v)108 511.2 R .68(ariables are allo)-.25 F .68
-(wed as operands; parameter e)-.25 F .68
+204 Q F0(bitwise OR)33.8 E F1(&&)108 216 Q F0(logical AND)19.34 E F1(||)
+108 228 Q F0(logical OR)31.6 E/F2 10/Times-Italic@0 SF -.2(ex)108 240 S
+(pr).2 E F1(?)A F2 -.2(ex)C(pr).2 E F1(:)A F2 -.2(ex)C(pr).2 E F0
+(conditional operator)144 252 Q F1 2.5(=*)108 264 S 2.5(=/)-2.5 G 2.5
+(=%)-2.5 G 2.5(=+)-2.5 G 2.5<3dad>-2.5 G 2.5(=<)-2.5 G(<= >>= &= ^= |=)
+-2.5 E F0(assignment)144 276 Q F2 -.2(ex)108 288 S(pr1).2 E F1(,)2.5 E
+F2 -.2(ex)2.5 G(pr2).2 E F0(comma)144 300 Q .68(Shell v)108 316.8 R .68
+(ariables are allo)-.25 F .68(wed as operands; parameter e)-.25 F .68
(xpansion is performed before the e)-.15 F .68(xpression is e)-.15 F
--.25(va)-.25 G(lu-).25 E 3.507(ated. W)108 523.2 R 1.007(ithin an e)-.4
-F 1.007(xpression, shell v)-.15 F 1.007
+-.25(va)-.25 G(lu-).25 E 3.508(ated. W)108 328.8 R 1.008(ithin an e)-.4
+F 1.008(xpression, shell v)-.15 F 1.007
(ariables may also be referenced by name without using the parameter)
--.25 F -.15(ex)108 535.2 S 1.041(pansion syntax.).15 F 3.541(As)6.041 G
-1.041(hell v)-3.541 F 1.041(ariable that is null or unset e)-.25 F -.25
-(va)-.25 G 1.04(luates to 0 when referenced by name without).25 F 1.466
-(using the parameter e)108 547.2 R 1.466(xpansion syntax.)-.15 F 1.467
-(The v)6.466 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
-(va)-.25 G 1.467(luated as an arithmetic e).25 F(xpression)-.15 E 1.39
-(when it is referenced, or when a v)108 559.2 R 1.389
-(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.889(nt).15 G(he)
--3.889 E F3(inte)3.889 E -.1(ge)-.4 G(r).1 E F0(attrib)3.889 E 1.389
-(ute using)-.2 F F1(declar)3.889 E 3.889(e-)-.18 G(i)-3.889 E F0(is)
-3.889 E .343(assigned a v)108 571.2 R 2.843(alue. A)-.25 F .343(null v)
-2.843 F .343(alue e)-.25 F -.25(va)-.25 G .343(luates to 0.).25 F 2.843
-(As)5.343 G .343(hell v)-2.843 F .343(ariable need not ha)-.25 F .643
--.15(ve i)-.2 H .343(ts inte).15 F .344(ger attrib)-.15 F .344
-(ute turned on)-.2 F(to be used in an e)108 583.2 Q(xpression.)-.15 E
+-.25 F -.15(ex)108 340.8 S 1.04(pansion syntax.).15 F 3.54(As)6.04 G
+1.04(hell v)-3.54 F 1.04(ariable that is null or unset e)-.25 F -.25(va)
+-.25 G 1.041(luates to 0 when referenced by name without).25 F 1.467
+(using the parameter e)108 352.8 R 1.467(xpansion syntax.)-.15 F 1.467
+(The v)6.467 F 1.467(alue of a v)-.25 F 1.467(ariable is e)-.25 F -.25
+(va)-.25 G 1.466(luated as an arithmetic e).25 F(xpression)-.15 E 1.389
+(when it is referenced, or when a v)108 364.8 R 1.389
+(ariable which has been gi)-.25 F -.15(ve)-.25 G 3.89(nt).15 G(he)-3.89
+E F2(inte)3.89 E -.1(ge)-.4 G(r).1 E F0(attrib)3.89 E 1.39(ute using)-.2
+F F1(declar)3.89 E 3.89(e-)-.18 G(i)-3.89 E F0(is)3.89 E .333
+(assigned a v)108 376.8 R 2.832(alue. A)-.25 F .332(null v)2.832 F .332
+(alue e)-.25 F -.25(va)-.25 G .332(luates to 0.).25 F 2.832(As)5.332 G
+.332(hell v)-2.832 F .332(ariable need not ha)-.25 F .632 -.15(ve i)-.2
+H(ts).15 E F2(inte)2.832 E -.1(ge)-.4 G(r).1 E F0(attrib)2.832 E .332
+(ute turned on)-.2 F(to be used in an e)108 388.8 Q(xpression.)-.15 E
1.406(Constants with a leading 0 are interpreted as octal numbers.)108
-600 R 3.906(Al)6.406 G 1.406(eading 0x or 0X denotes he)-3.906 F
-(xadecimal.)-.15 E .589(Otherwise, numbers tak)108 612 R 3.089(et)-.1 G
-.589(he form [)-3.089 F F3(base#)A F0 .589(]n, where)B F3(base)3.089 E
-F0 .59(is a decimal number between 2 and 64 represent-)3.089 F .093
-(ing the arithmetic base, and)108 624 R F3(n)2.593 E F0 .093
-(is a number in that base.)2.593 F(If)5.093 E F3(base#)2.593 E F0 .092
-(is omitted, then base 10 is used.)2.593 F .092(The digits)5.092 F .064
-(greater than 9 are represented by the lo)108 636 R .064
-(wercase letters, the uppercase letters, @, and _, in that order)-.25 F
-5.065(.I)-.55 G(f)-5.065 E F3(base)2.565 E F0 .433
-(is less than or equal to 36, lo)108 648 R .432(wercase and uppercase l\
-etters may be used interchangeably to represent num-)-.25 F
-(bers between 10 and 35.)108 660 Q .234(Operators are e)108 676.8 R -.25
-(va)-.25 G .234(luated in order of precedence.).25 F(Sub-e)5.234 E .234
-(xpressions in parentheses are e)-.15 F -.25(va)-.25 G .235
-(luated \214rst and may).25 F -.15(ove)108 688.8 S
-(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E F2
-(CONDITION)72 705.6 Q(AL EXPRESSIONS)-.219 E F0 .256(Conditional e)108
-717.6 R .256(xpressions are used by the)-.15 F F1([[)2.755 E F0 .255
-(compound command and the)2.755 F F1(test)2.755 E F0(and)2.755 E F1([)
-2.755 E F0 -.2(bu)2.755 G .255(iltin commands to test).2 F .77
-(\214le attrib)108 729.6 R .77
+405.6 R 3.906(Al)6.406 G 1.407(eading 0x or 0X denotes he)-3.906 F
+(xadecimal.)-.15 E .113(Otherwise, numbers tak)108 417.6 R 2.613(et)-.1
+G .113(he form [)-2.613 F F2(base#)A F0 .112(]n, where the optional)B F2
+(base)2.612 E F0 .112(is a decimal number between 2 and 64)2.612 F .533
+(representing the arithmetic base, and)108 429.6 R F2(n)3.033 E F0 .533
+(is a number in that base.)3.033 F(If)5.534 E F2(base#)3.034 E F0 .534
+(is omitted, then base 10 is used.)3.034 F .916
+(The digits greater than 9 are represented by the lo)108 441.6 R .915
+(wercase letters, the uppercase letters, @, and _, in that)-.25 F(order)
+108 453.6 Q 5.67(.I)-.55 G(f)-5.67 E F2(base)3.17 E F0 .67
+(is less than or equal to 36, lo)3.17 F .671
+(wercase and uppercase letters may be used interchangeably to)-.25 F
+(represent numbers between 10 and 35.)108 465.6 Q .235(Operators are e)
+108 482.4 R -.25(va)-.25 G .235(luated in order of precedence.).25 F
+(Sub-e)5.234 E .234(xpressions in parentheses are e)-.15 F -.25(va)-.25
+G .234(luated \214rst and may).25 F -.15(ove)108 494.4 S
+(rride the precedence rules abo).15 E -.15(ve)-.15 G(.).15 E/F3 10.95
+/Times-Bold@0 SF(CONDITION)72 511.2 Q(AL EXPRESSIONS)-.219 E F0 .255
+(Conditional e)108 523.2 R .255(xpressions are used by the)-.15 F F1([[)
+2.755 E F0 .255(compound command and the)2.755 F F1(test)2.755 E F0(and)
+2.755 E F1([)2.756 E F0 -.2(bu)2.756 G .256(iltin commands to test).2 F
+.77(\214le attrib)108 535.2 R .77
(utes and perform string and arithmetic comparisons.)-.2 F .77
-(Expressions are formed from the follo)5.77 F(wing)-.25 E(GNU Bash-4.1)
-72 768 Q(2009 December 29)135.965 E(27)185.955 E 0 Cg EP
-%%Page: 28 28
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 1.041(unary or binary primaries.)108 84 R 1.041(If an)6.041 F(y)
--.15 E/F1 10/Times-Italic@0 SF(\214le)3.541 E F0(ar)3.541 E 1.04
-(gument to one of the primaries is of the form)-.18 F F1(/de)3.54 E
-(v/fd/n)-.15 E F0 3.54(,t)C 1.04(hen \214le)-3.54 F(descriptor)108 96 Q
-F1(n)3.788 E F0 1.289(is check)3.788 F 3.789(ed. If)-.1 F(the)3.789 E F1
-(\214le)3.789 E F0(ar)3.789 E 1.289
-(gument to one of the primaries is one of)-.18 F F1(/de)3.789 E(v/stdin)
--.15 E F0(,)A F1(/de)3.789 E(v/stdout)-.15 E F0 3.789(,o)C(r)-3.789 E F1
-(/de)108 108 Q(v/stderr)-.15 E F0 2.5<2c8c>C
+(Expressions are formed from the follo)5.77 F(wing)-.25 E 1.04
+(unary or binary primaries.)108 547.2 R 1.04(If an)6.04 F(y)-.15 E F2
+(\214le)3.54 E F0(ar)3.54 E 1.041
+(gument to one of the primaries is of the form)-.18 F F2(/de)3.541 E
+(v/fd/n)-.15 E F0 3.541(,t)C 1.041(hen \214le)-3.541 F(descriptor)108
+559.2 Q F2(n)3.789 E F0 1.289(is check)3.789 F 3.789(ed. If)-.1 F(the)
+3.789 E F2(\214le)3.789 E F0(ar)3.789 E 1.289
+(gument to one of the primaries is one of)-.18 F F2(/de)3.789 E(v/stdin)
+-.15 E F0(,)A F2(/de)3.788 E(v/stdout)-.15 E F0 3.788(,o)C(r)-3.788 E F2
+(/de)108 571.2 Q(v/stderr)-.15 E F0 2.5<2c8c>C
(le descriptor 0, 1, or 2, respecti)-2.5 E -.15(ve)-.25 G(ly).15 E 2.5
-(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .722
+(,i)-.65 G 2.5(sc)-2.5 G(heck)-2.5 E(ed.)-.1 E .721
(Unless otherwise speci\214ed, primaries that operate on \214les follo)
-108 124.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
--3.221 F(get)-.18 E(of the link, rather than the link itself.)108 136.8
-Q(When used with)108 154.8 Q/F2 10/Times-Bold@0 SF([[)2.5 E F0 2.5(,T)C
-(he)-2.5 E F2(<)2.5 E F0(and)2.5 E F2(>)2.5 E F0(operators sort le)2.5 E
-(xicographically using the current locale.)-.15 E F2<ad61>108 178.8 Q F1
-(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists.).15 E F2<ad62>108 190.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G
-(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a block special \214le.).15 E F2<ad63>108 202.8 Q F1
-(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is a character special \214le.).15 E F2<ad64>108 214.8 Q
-F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15
-(ex)2.5 G(ists and is a directory).15 E(.)-.65 E F2<ad65>108 226.8 Q F1
-(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists.).15 E F2<ad66>108 238.8 Q F1(\214le)2.5 E F0 -.35(Tr)12.25 G
-(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E
-(gular \214le.)-.15 E F2<ad67>108 250.8 Q F1(\214le)2.5 E F0 -.35(Tr)
-10.58 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is set-group-id.).15 E F2<ad68>108 262.8 Q F1(\214le)2.5 E F0
--.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F2<ad6b>108 274.8 Q F1(\214le)2.5 E
-F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.)
--2.5 E F2<ad70>108 286.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35
-E F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).)
-.15 E F2<ad72>108 298.8 Q F1(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E
-F1(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F2<ad73>108
-310.8 Q F1(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F1(\214le)2.5 E
-F0 -.15(ex)2.5 G(ists and has a size greater than zero.).15 E F2<ad74>
-108 322.8 Q F1(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E
-F1(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F2<ad75>108
-334.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E
-F0 -.15(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F2
-<ad77>108 346.8 Q F1(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F1
-(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is writable.).15 E F2<ad78>108
-358.8 Q F1(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F1(\214le)2.5 E
-F0 -.15(ex)2.5 G(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F2
-<ad4f>108 370.8 Q F1(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1
-(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E
-(fecti)-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F2<ad47>108 382.8 Q F1
-(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)
-2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15
-(ve g)-.25 H(roup id.).15 E F2<ad4c>108 394.8 Q F1(\214le)2.5 E F0 -.35
-(Tr)8.91 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a symbolic link.).15 E F2<ad53>108 406.8 Q F1(\214le)2.5 E
-F0 -.35(Tr)10.02 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and is a sock).15 E(et.)-.1 E F2<ad4e>108 418.8 Q F1(\214le)2.5 E
-F0 -.35(Tr)8.36 G(ue if).35 E F1(\214le)2.5 E F0 -.15(ex)2.5 G
-(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1
-(\214le1)108 430.8 Q F0<ad>2.5 E F2(nt)A F1(\214le2)2.5 E F0 -.35(Tr)144
-442.8 S .038(ue if).35 F F1(\214le1)2.538 E F0 .039(is ne)2.539 F .039
-(wer \(according to modi\214cation date\) than)-.25 F F1(\214le2)2.539 E
-F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F1(\214le1)2.539 E F0 -.15
-(ex)2.539 G .039(ists and).15 F F1(\214le2)2.539 E F0 .039(does not.)
-2.539 F F1(\214le1)108 454.8 Q F0<ad>2.5 E F2(ot)A F1(\214le2)2.5 E F0
--.35(Tr)144 466.8 S(ue if).35 E F1(\214le1)2.5 E F0(is older than)2.5 E
-F1(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F1(\214le2)2.5 E F0
--.15(ex)2.5 G(ists and).15 E F1(\214le1)2.5 E F0(does not.)2.5 E F1
-(\214le1)108 478.8 Q F2(\255ef)2.5 E F1(\214le2)2.5 E F0 -.35(Tr)144
-490.8 S(ue if).35 E F1(\214le1)2.5 E F0(and)2.5 E F1(\214le2)2.5 E F0
-(refer to the same de)2.5 E(vice and inode numbers.)-.25 E F2<ad6f>108
-502.8 Q F1(optname)2.5 E F0 -.35(Tr)144 514.8 S 1.144
-(ue if shell option).35 F F1(optname)3.874 E F0 1.144(is enabled.)3.824
-F 1.143(See the list of options under the description of the)6.144 F F2
-<ad6f>3.643 E F0(option to the)144 526.8 Q F2(set)2.5 E F0 -.2(bu)2.5 G
-(iltin belo).2 E -.65(w.)-.25 G F2<ad7a>108 538.8 Q F1(string)2.5 E F0
--.35(Tr)144 550.8 S(ue if the length of).35 E F1(string)2.5 E F0
-(is zero.)2.5 E F1(string)108 562.8 Q F2<ad6e>108 574.8 Q F1(string)2.5
-E F0 -.35(Tr)144 586.8 S(ue if the length of).35 E F1(string)2.84 E F0
-(is non-zero.)2.72 E F1(string1)108 603.6 Q F2(==)2.5 E F1(string2)2.5 E
-(string1)108 615.6 Q F2(=)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 627.6 S
-(ue if the strings are equal.).35 E F2(=)5 E F0(should be used with the)
-2.5 E F2(test)2.5 E F0(command for POSIX conformance.)2.5 E F1(string1)
-108 644.4 Q F2(!=)2.5 E F1(string2)2.5 E F0 -.35(Tr)144 656.4 S
-(ue if the strings are not equal.).35 E F1(string1)108 673.2 Q F2(<)2.5
-E F1(string2)2.5 E F0 -.35(Tr)144 685.2 S(ue if).35 E F1(string1)2.5 E
-F0(sorts before)2.5 E F1(string2)2.5 E F0(le)2.5 E(xicographically)-.15
-E(.)-.65 E F1(string1)108 702 Q F2(>)2.5 E F1(string2)2.5 E F0 -.35(Tr)
-144 714 S(ue if).35 E F1(string1)2.5 E F0(sorts after)2.5 E F1(string2)
-2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(28)185.955 E 0 Cg EP
+108 588 R 3.221(ws)-.25 G .722(ymbolic links and operate on the tar)
+-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 600 Q
+1.096(When used with)108 618 R F1([[)3.596 E F0 3.596(,t)C(he)-3.596 E
+F1(<)3.596 E F0(and)3.595 E F1(>)3.595 E F0 1.095(operators sort le)
+3.595 F 1.095(xicographically using the current locale.)-.15 F(The)6.095
+E F1(test)3.595 E F0(com-)3.595 E(mand sorts using ASCII ordering.)108
+630 Q F1<ad61>108 654 Q F2(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E
+F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists.).15 E F1<ad62>108 666 Q F2
+(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is a block special \214le.).15 E F1<ad63>108 678 Q F2
+(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is a character special \214le.).15 E F1<ad64>108 690 Q F2
+(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is a directory).15 E(.)-.65 E F1<ad65>108 702 Q F2
+(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists.).15 E F1<ad66>108 714 Q F2(\214le)2.5 E F0 -.35(Tr)12.25 G
+(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a re).15 E
+(gular \214le.)-.15 E(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E
+(28)185.955 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(ar)108.33 84 Q(g1)-.37 E/F2 10
-/Times-Bold@0 SF(OP)2.5 E F1(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF(OP)
-144 96 Q F0 .385(is one of)2.634 F F2(\255eq)2.885 E F0(,)A F2(\255ne)
-2.885 E F0(,)A F2(\255lt)2.885 E F0(,)A F2(\255le)2.885 E F0(,)A F2
-(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F2(\255ge)2.885 E F0 5.385(.T)C
-.385(hese arithmetic binary operators return true if)-5.385 F F1(ar)
-2.885 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, less th\
-an or equal to, greater than, or greater than or equal to)144 108 R F1
-(ar)144 120 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly).15
-E(.)-.65 E F1(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F1(ar)2.83 E(g2)-.37 E F0
-(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15(eg a)
--2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4 10.95
-/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 136.8 Q(ANSION)-.81 E F0 .613
-(When a simple command is e)108 148.8 R -.15(xe)-.15 G .614
+-.35 E/F1 10/Times-Bold@0 SF<ad67>108 84 Q/F2 10/Times-Italic@0 SF
+(\214le)2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is set-group-id.).15 E F1<ad68>108 96 Q F2(\214le)2.5 E
+F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a symbolic link.).15 E F1<ad6b>108 108 Q F2(\214le)2.5 E F0
+-.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and its `).15 E(`stick)-.74 E(y')-.15 E 2.5('b)-.74 G(it is set.)
+-2.5 E F1<ad70>108 120 Q F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E
+F2(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is a named pipe \(FIFO\).).15
+E F1<ad72>108 132 Q F2(\214le)2.5 E F0 -.35(Tr)11.14 G(ue if).35 E F2
+(\214le)2.5 E F0 -.15(ex)2.5 G(ists and is readable.).15 E F1<ad73>108
+144 Q F2(\214le)2.5 E F0 -.35(Tr)11.69 G(ue if).35 E F2(\214le)2.5 E F0
+-.15(ex)2.5 G(ists and has a size greater than zero.).15 E F1<ad74>108
+156 Q F2(fd)2.5 E F0 -.35(Tr)16.69 G(ue if \214le descriptor).35 E F2
+(fd)4.47 E F0(is open and refers to a terminal.)3.27 E F1<ad75>108 168 Q
+F2(\214le)2.5 E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15
+(ex)2.5 G(ists and its set-user).15 E(-id bit is set.)-.2 E F1<ad77>108
+180 Q F2(\214le)2.5 E F0 -.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0
+-.15(ex)2.5 G(ists and is writable.).15 E F1<ad78>108 192 Q F2(\214le)
+2.5 E F0 -.35(Tr)10.58 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is e).15 E -.15(xe)-.15 G(cutable.).15 E F1<ad47>108 204 Q F2
+(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)
+2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)-.25 E .3 -.15
+(ve g)-.25 H(roup id.).15 E F1<ad4c>108 216 Q F2(\214le)2.5 E F0 -.35
+(Tr)8.91 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a symbolic link.).15 E F1<ad4e>108 228 Q F2(\214le)2.5 E F0
+-.35(Tr)8.36 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and has been modi\214ed since it w).15 E(as last read.)-.1 E F1
+<ad4f>108 240 Q F2(\214le)2.5 E F0 -.35(Tr)7.8 G(ue if).35 E F2(\214le)
+2.5 E F0 -.15(ex)2.5 G(ists and is o).15 E(wned by the ef)-.25 E(fecti)
+-.25 E .3 -.15(ve u)-.25 H(ser id.).15 E F1<ad53>108 252 Q F2(\214le)2.5
+E F0 -.35(Tr)10.02 G(ue if).35 E F2(\214le)2.5 E F0 -.15(ex)2.5 G
+(ists and is a sock).15 E(et.)-.1 E F2(\214le1)108 264 Q F1(\255ef)2.5 E
+F2(\214le2)2.5 E F0 -.35(Tr)144 276 S(ue if).35 E F2(\214le1)2.5 E F0
+(and)2.5 E F2(\214le2)2.5 E F0(refer to the same de)2.5 E
+(vice and inode numbers.)-.25 E F2(\214le1)108 288 Q F0<ad>2.5 E F1(nt)A
+F2(\214le2)2.5 E F0 -.35(Tr)144 300 S .038(ue if).35 F F2(\214le1)2.538
+E F0 .039(is ne)2.539 F .039
+(wer \(according to modi\214cation date\) than)-.25 F F2(\214le2)2.539 E
+F0 2.539(,o)C 2.539(ri)-2.539 G(f)-2.539 E F2(\214le1)2.539 E F0 -.15
+(ex)2.539 G .039(ists and).15 F F2(\214le2)2.539 E F0 .039(does not.)
+2.539 F F2(\214le1)108 312 Q F0<ad>2.5 E F1(ot)A F2(\214le2)2.5 E F0
+-.35(Tr)144 324 S(ue if).35 E F2(\214le1)2.5 E F0(is older than)2.5 E F2
+(\214le2)2.5 E F0 2.5(,o)C 2.5(ri)-2.5 G(f)-2.5 E F2(\214le2)2.5 E F0
+-.15(ex)2.5 G(ists and).15 E F2(\214le1)2.5 E F0(does not.)2.5 E F1
+<ad6f>108 336 Q F2(optname)2.5 E F0 -.35(Tr)144 348 S .263
+(ue if the shell option).35 F F2(optname)2.992 E F0 .262(is enabled.)
+2.942 F .262(See the list of options under the description of the)5.262
+F F1<ad6f>2.762 E F0(option to the)144 360 Q F1(set)2.5 E F0 -.2(bu)2.5
+G(iltin belo).2 E -.65(w.)-.25 G F1<ad76>108 372 Q F2(varname)2.5 E F0
+-.35(Tr)144 384 S(ue if the shell v).35 E(ariable)-.25 E F2(varname)2.79
+E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1<ad7a>108
+396 Q F2(string)2.5 E F0 -.35(Tr)144 408 S(ue if the length of).35 E F2
+(string)2.5 E F0(is zero.)2.5 E F2(string)108 420 Q F1<ad6e>108 432 Q F2
+(string)2.5 E F0 -.35(Tr)144 444 S(ue if the length of).35 E F2(string)
+2.84 E F0(is non-zero.)2.72 E F2(string1)108 460.8 Q F1(==)2.5 E F2
+(string2)2.5 E(string1)108 472.8 Q F1(=)2.5 E F2(string2)2.5 E F0 -.35
+(Tr)144 484.8 S(ue if the strings are equal.).35 E F1(=)5 E F0
+(should be used with the)2.5 E F1(test)2.5 E F0
+(command for POSIX conformance.)2.5 E F2(string1)108 501.6 Q F1(!=)2.5 E
+F2(string2)2.5 E F0 -.35(Tr)144 513.6 S
+(ue if the strings are not equal.).35 E F2(string1)108 530.4 Q F1(<)2.5
+E F2(string2)2.5 E F0 -.35(Tr)144 542.4 S(ue if).35 E F2(string1)2.5 E
+F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15
+E(.)-.65 E F2(string1)108 559.2 Q F1(>)2.5 E F2(string2)2.5 E F0 -.35
+(Tr)144 571.2 S(ue if).35 E F2(string1)2.5 E F0(sorts after)2.5 E F2
+(string2)2.5 E F0(le)2.5 E(xicographically)-.15 E(.)-.65 E F2(ar)108.33
+588 Q(g1)-.37 E F1(OP)2.5 E F2(ar)2.5 E(g2)-.37 E/F3 9/Times-Bold@0 SF
+(OP)144 600 Q F0 .385(is one of)2.634 F F1(\255eq)2.885 E F0(,)A F1
+(\255ne)2.885 E F0(,)A F1(\255lt)2.885 E F0(,)A F1(\255le)2.885 E F0(,)A
+F1(\255gt)2.885 E F0 2.885(,o)C(r)-2.885 E F1(\255ge)2.885 E F0 5.385
+(.T)C .385(hese arithmetic binary operators return true if)-5.385 F F2
+(ar)2.885 E(g1)-.37 E F0 .845(is equal to, not equal to, less than, les\
+s than or equal to, greater than, or greater than or equal to)144 612 R
+F2(ar)144 624 Q(g2)-.37 E F0 2.5(,r)C(especti)-2.5 E -.15(ve)-.25 G(ly)
+.15 E(.)-.65 E F2(Ar)6.01 E(g1)-.37 E F0(and)2.5 E F2(ar)2.83 E(g2)-.37
+E F0(may be positi)2.52 E .3 -.15(ve o)-.25 H 2.5(rn).15 G -2.25 -.15
+(eg a)-2.5 H(ti).15 E .3 -.15(ve i)-.25 H(nte).15 E(gers.)-.15 E/F4
+10.95/Times-Bold@0 SF(SIMPLE COMMAND EXP)72 640.8 Q(ANSION)-.81 E F0
+.613(When a simple command is e)108 652.8 R -.15(xe)-.15 G .614
(cuted, the shell performs the follo).15 F .614(wing e)-.25 F .614
(xpansions, assignments, and redi-)-.15 F(rections, from left to right.)
-108 160.8 Q 26(1. The)108 177.6 R -.1(wo)4.349 G 1.849
+108 664.8 Q 26(1. The)108 681.6 R -.1(wo)4.349 G 1.849
(rds that the parser has mark).1 F 1.848(ed as v)-.1 F 1.848
(ariable assignments \(those preceding the command)-.25 F
-(name\) and redirections are sa)144 189.6 Q -.15(ve)-.2 G 2.5(df).15 G
-(or later processing.)-2.5 E 26(2. The)108 206.4 R -.1(wo)3.663 G 1.163
+(name\) and redirections are sa)144 693.6 Q -.15(ve)-.2 G 2.5(df).15 G
+(or later processing.)-2.5 E 26(2. The)108 710.4 R -.1(wo)3.663 G 1.163
(rds that are not v).1 F 1.164
(ariable assignments or redirections are e)-.25 F 3.664(xpanded. If)-.15
F(an)3.664 E 3.664(yw)-.15 G 1.164(ords remain)-3.764 F .776(after e)144
-218.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775
+722.4 R .776(xpansion, the \214rst w)-.15 F .776(ord is tak)-.1 F .775
(en to be the name of the command and the remaining w)-.1 F(ords)-.1 E
-(are the ar)144 230.4 Q(guments.)-.18 E 26(3. Redirections)108 247.2 R
-(are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E F3
-(REDIRECTION)2.5 E/F5 9/Times-Roman@0 SF(.)A F0 26(4. The)108 264 R(te)
-3.216 E .717(xt after the)-.15 F F2(=)3.217 E F0 .717(in each v)3.217 F
-.717(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(29)185.955 E 0 Cg EP
+%%Page: 30 30
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(are the ar)144 84 Q(guments.)-.18 E 26(3. Redirections)108 100.8
+R(are performed as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15 E/F1
+9/Times-Bold@0 SF(REDIRECTION)2.5 E/F2 9/Times-Roman@0 SF(.)A F0 26
+(4. The)108 117.6 R(te)3.216 E .717(xt after the)-.15 F/F3 10
+/Times-Bold@0 SF(=)3.217 E F0 .717(in each v)3.217 F .717
+(ariable assignment under)-.25 F .717(goes tilde e)-.18 F .717
(xpansion, parameter e)-.15 F(xpansion,)-.15 E .34
-(command substitution, arithmetic e)144 276 R .339
+(command substitution, arithmetic e)144 129.6 R .339
(xpansion, and quote remo)-.15 F -.25(va)-.15 G 2.839(lb).25 G .339
-(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 288 Q .332
-(If no command name results, the v)108 304.8 R .332
+(efore being assigned to the v)-2.839 F(ari-)-.25 E(able.)144 141.6 Q
+.332(If no command name results, the v)108 158.4 R .332
(ariable assignments af)-.25 F .332(fect the current shell en)-.25 F
-2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 316.8 S .757
+2.833(vironment. Otherwise,)-.4 F(the)2.833 E -.25(va)108 170.4 S .757
(riables are added to the en).25 F .757(vironment of the e)-.4 F -.15
(xe)-.15 G .757(cuted command and do not af).15 F .757
-(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 328.8
+(fect the current shell en)-.25 F(vi-)-.4 E 3.176(ronment. If)108 182.4
R(an)3.176 E 3.176(yo)-.15 G 3.176(ft)-3.176 G .677
(he assignments attempts to assign a v)-3.176 F .677
(alue to a readonly v)-.25 F .677(ariable, an error occurs, and)-.25 F
-(the command e)108 340.8 Q(xits with a non-zero status.)-.15 E .15
-(If no command name results, redirections are performed, b)108 357.6 R
+(the command e)108 194.4 Q(xits with a non-zero status.)-.15 E .15
+(If no command name results, redirections are performed, b)108 211.2 R
.149(ut do not af)-.2 F .149(fect the current shell en)-.25 F 2.649
-(vironment. A)-.4 F(redirection error causes the command to e)108 369.6
+(vironment. A)-.4 F(redirection error causes the command to e)108 223.2
Q(xit with a non-zero status.)-.15 E 1.064
-(If there is a command name left after e)108 386.4 R 1.064(xpansion, e)
+(If there is a command name left after e)108 240 R 1.064(xpansion, e)
-.15 F -.15(xe)-.15 G 1.064(cution proceeds as described belo).15 F
-4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .069(command e)108
-398.4 R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069
+4.864 -.65(w. O)-.25 H 1.064(therwise, the).65 F .069(command e)108 252
+R 2.569(xits. If)-.15 F .069(one of the e)2.569 F .069
(xpansions contained a command substitution, the e)-.15 F .068
-(xit status of the command)-.15 F .466(is the e)108 410.4 R .466
+(xit status of the command)-.15 F .466(is the e)108 264 R .466
(xit status of the last command substitution performed.)-.15 F .467
-(If there were no command substitutions, the)5.466 F(command e)108 422.4
-Q(xits with a status of zero.)-.15 E F4(COMMAND EXECUTION)72 439.2 Q F0
-.547(After a command has been split into w)108 451.2 R .546
+(If there were no command substitutions, the)5.466 F(command e)108 276 Q
+(xits with a status of zero.)-.15 E/F4 10.95/Times-Bold@0 SF
+(COMMAND EXECUTION)72 292.8 Q F0 .547
+(After a command has been split into w)108 304.8 R .546
(ords, if it results in a simple command and an optional list of ar)-.1
-F(gu-)-.18 E(ments, the follo)108 463.2 Q(wing actions are tak)-.25 E
+F(gu-)-.18 E(ments, the follo)108 316.8 Q(wing actions are tak)-.25 E
(en.)-.1 E .379(If the command name contains no slashes, the shell atte\
-mpts to locate it.)108 480 R .379(If there e)5.379 F .379
+mpts to locate it.)108 333.6 R .379(If there e)5.379 F .379
(xists a shell function by)-.15 F .246(that name, that function is in)
-108 492 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G .246
-(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F3(FUNCTIONS)2.746
-E F5(.)A F0 .246(If the name does not match a func-)4.746 F
-(tion, the shell searches for it in the list of shell b)108 504 Q 2.5
+108 345.6 R -.2(vo)-.4 G -.1(ke).2 G 2.746(da).1 G 2.746(sd)-2.746 G
+.246(escribed abo)-2.746 F .546 -.15(ve i)-.15 H(n).15 E F1(FUNCTIONS)
+2.746 E F2(.)A F0 .246(If the name does not match a func-)4.746 F
+(tion, the shell searches for it in the list of shell b)108 357.6 Q 2.5
(uiltins. If)-.2 F 2.5(am)2.5 G(atch is found, that b)-2.5 E
(uiltin is in)-.2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E .309
-(If the name is neither a shell function nor a b)108 520.8 R .31
-(uiltin, and contains no slashes,)-.2 F F2(bash)2.81 E F0 .31
-(searches each element of)2.81 F(the)108 532.8 Q F3 -.666(PA)3.163 G(TH)
+(If the name is neither a shell function nor a b)108 374.4 R .31
+(uiltin, and contains no slashes,)-.2 F F3(bash)2.81 E F0 .31
+(searches each element of)2.81 F(the)108 386.4 Q F1 -.666(PA)3.163 G(TH)
-.189 E F0 .662(for a directory containing an e)2.913 F -.15(xe)-.15 G
-.662(cutable \214le by that name.).15 F F2(Bash)5.662 E F0 .662
+.662(cutable \214le by that name.).15 F F3(Bash)5.662 E F0 .662
(uses a hash table to remember)3.162 F 1.914(the full pathnames of e)108
-544.8 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F2(hash)4.415 E
-F0(under)4.415 E F3 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS)
+398.4 R -.15(xe)-.15 G 1.915(cutable \214les \(see).15 F F3(hash)4.415 E
+F0(under)4.415 E F1 1.915(SHELL B)4.415 F(UIL)-.09 E 1.915(TIN COMMANDS)
-.828 F F0(belo)4.165 E 4.415(w\). A)-.25 F(full)4.415 E .72
-(search of the directories in)108 556.8 R F3 -.666(PA)3.22 G(TH)-.189 E
+(search of the directories in)108 410.4 R F1 -.666(PA)3.22 G(TH)-.189 E
F0 .719
(is performed only if the command is not found in the hash table.)2.97 F
.719(If the)5.719 F .956(search is unsuccessful, the shell searches for\
- a de\214ned shell function named)108 568.8 R F2(command_not_f)3.456 E
-(ound_han-)-.25 E(dle)108 580.8 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278
+ a de\214ned shell function named)108 422.4 R F3(command_not_f)3.456 E
+(ound_han-)-.25 E(dle)108 434.4 Q F0 5.278(.I)C 2.778(ft)-5.278 G .278
(hat function e)-2.778 F .278(xists, it is in)-.15 F -.2(vo)-.4 G -.1
(ke).2 G 2.778(dw).1 G .277
(ith the original command and the original command')-2.778 F 2.777(sa)
--.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 592.8 R .775
+-.55 G -.18(rg)-2.777 G(uments).18 E .775(as its ar)108 446.4 R .775
(guments, and the function')-.18 F 3.275(se)-.55 G .775
(xit status becomes the e)-3.425 F .775(xit status of the shell.)-.15 F
.776(If that function is not)5.776 F
-(de\214ned, the shell prints an error message and returns an e)108 604.8
+(de\214ned, the shell prints an error message and returns an e)108 458.4
Q(xit status of 127.)-.15 E 1.089(If the search is successful, or if th\
-e command name contains one or more slashes, the shell e)108 621.6 R
+e command name contains one or more slashes, the shell e)108 475.2 R
-.15(xe)-.15 G 1.089(cutes the).15 F .197(named program in a separate e)
-108 633.6 R -.15(xe)-.15 G .197(cution en).15 F 2.698(vironment. Ar)-.4
+108 487.2 R -.15(xe)-.15 G .197(cution en).15 F 2.698(vironment. Ar)-.4
F .198(gument 0 is set to the name gi)-.18 F -.15(ve)-.25 G .198
-(n, and the remain-).15 F(ing ar)108 645.6 Q
+(n, and the remain-).15 F(ing ar)108 499.2 Q
(guments to the command are set to the ar)-.18 E(guments gi)-.18 E -.15
-(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 662.4 R
--.15(xe)-.15 G 1.809(cution f).15 F 1.809
+(ve)-.25 G(n, if an).15 E -.65(y.)-.15 G 1.809(If this e)108 516 R -.15
+(xe)-.15 G 1.809(cution f).15 F 1.809
(ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809
(cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G
-4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 674.4 R F1 .678
-(shell script)3.177 F F0 3.178(,a\214)C .678
+4.309(ti)-4.309 G(s)-4.309 E .677(assumed to be a)108 528 R/F5 10
+/Times-Italic@0 SF .678(shell script)3.177 F F0 3.178(,a\214)C .678
(le containing shell commands.)-3.178 F 3.178(As)5.678 G .678
(ubshell is spa)-3.178 F .678(wned to e)-.15 F -.15(xe)-.15 G .678
(cute it.).15 F(This)5.678 E .33
-(subshell reinitializes itself, so that the ef)108 686.4 R .33
+(subshell reinitializes itself, so that the ef)108 540 R .33
(fect is as if a ne)-.25 F 2.829(ws)-.25 G .329(hell had been in)-2.829
F -.2(vo)-.4 G -.1(ke).2 G 2.829(dt).1 G 2.829(oh)-2.829 G .329
-(andle the script, with)-2.829 F 1.219(the e)108 698.4 R 1.219
+(andle the script, with)-2.829 F 1.219(the e)108 552 R 1.219
(xception that the locations of commands remembered by the parent \(see)
--.15 F F2(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F3
-(SHELL)3.719 E -.09(BU)108 710.4 S(IL).09 E(TIN COMMANDS)-.828 E F5(\))A
-F0(are retained by the child.)2.25 E 1.375
-(If the program is a \214le be)108 727.2 R 1.374(ginning with)-.15 F F2
-(#!)3.874 E F0 3.874(,t)C 1.374
-(he remainder of the \214rst line speci\214es an interpreter for the)
--3.874 F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(29)185.955 E 0
-Cg EP
-%%Page: 30 30
+-.15 F F3(hash)3.719 E F0(belo)3.719 E 3.719(wu)-.25 G(nder)-3.719 E F1
+(SHELL)3.719 E -.09(BU)108 564 S(IL).09 E(TIN COMMANDS)-.828 E F2(\))A
+F0(are retained by the child.)2.25 E .348(If the program is a \214le be)
+108 580.8 R .348(ginning with)-.15 F F3(#!)2.848 E F0 2.848(,t)C .347(h\
+e remainder of the \214rst line speci\214es an interpreter for the pro-)
+-2.848 F 3.178(gram. The)108 592.8 R .678(shell e)3.178 F -.15(xe)-.15 G
+.678(cutes the speci\214ed interpreter on operating systems that do not\
+ handle this e).15 F -.15(xe)-.15 G(cutable).15 E 1.193(format themselv)
+108 604.8 R 3.693(es. The)-.15 F(ar)3.693 E 1.193
+(guments to the interpreter consist of a single optional ar)-.18 F 1.192
+(gument follo)-.18 F 1.192(wing the)-.25 F 1.13
+(interpreter name on the \214rst line of the program, follo)108 616.8 R
+1.131(wed by the name of the program, follo)-.25 F 1.131(wed by the)-.25
+F(command ar)108 628.8 Q(guments, if an)-.18 E -.65(y.)-.15 G F4
+(COMMAND EXECUTION ENVIR)72 645.6 Q(ONMENT)-.329 E F0(The shell has an)
+108 657.6 Q F5 -.2(ex)2.5 G(ecution en).2 E(vir)-.4 E(onment)-.45 E F0
+2.5(,w)C(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108
+674.4 S 1.406(pen \214les inherited by the shell at in)-32.5 F -.2(vo)
+-.4 G 1.405(cation, as modi\214ed by redirections supplied to the).2 F
+F3(exec)3.905 E F0 -.2(bu)144 686.4 S(iltin).2 E 32.5<8374>108 703.2 S
+(he current w)-32.5 E(orking directory as set by)-.1 E F3(cd)2.5 E F0(,)
+A F3(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F3(popd)2.5 E F0 2.5(,o)C 2.5(ri)
+-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G(cation).2 E
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(30)185.955 E 0 Cg EP
+%%Page: 31 31
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E 5.485(program. The)108 84 R 2.985(shell e)5.485 F -.15(xe)-.15 G
-2.986(cutes the speci\214ed interpreter on operating systems that do no\
-t handle this).15 F -.15(exe)108 96 S .762(cutable format themselv).15 F
-3.262(es. The)-.15 F(ar)3.262 E .761
-(guments to the interpreter consist of a single optional ar)-.18 F .761
-(gument fol-)-.18 F(lo)108 108 Q .156
-(wing the interpreter name on the \214rst line of the program, follo)
--.25 F .157(wed by the name of the program, follo)-.25 F(wed)-.25 E
-(by the command ar)108 120 Q(guments, if an)-.18 E -.65(y.)-.15 G/F1
-10.95/Times-Bold@0 SF(COMMAND EXECUTION ENVIR)72 136.8 Q(ONMENT)-.329 E
-F0(The shell has an)108 148.8 Q/F2 10/Times-Italic@0 SF -.2(ex)2.5 G
-(ecution en).2 E(vir)-.4 E(onment)-.45 E F0 2.5(,w)C
-(hich consists of the follo)-2.5 E(wing:)-.25 E 32.5<836f>108 165.6 S
-1.406(pen \214les inherited by the shell at in)-32.5 F -.2(vo)-.4 G
-1.405(cation, as modi\214ed by redirections supplied to the).2 F/F3 10
-/Times-Bold@0 SF(exec)3.905 E F0 -.2(bu)144 177.6 S(iltin).2 E 32.5
-<8374>108 194.4 S(he current w)-32.5 E(orking directory as set by)-.1 E
-F3(cd)2.5 E F0(,)A F3(pushd)2.5 E F0 2.5(,o)C(r)-2.5 E F3(popd)2.5 E F0
-2.5(,o)C 2.5(ri)-2.5 G(nherited by the shell at in)-2.5 E -.2(vo)-.4 G
-(cation).2 E 32.5<8374>108 211.2 S
-(he \214le creation mode mask as set by)-32.5 E F3(umask)2.5 E F0
-(or inherited from the shell')2.5 E 2.5(sp)-.55 G(arent)-2.5 E 32.5
-<8363>108 228 S(urrent traps set by)-32.5 E F3(trap)2.5 E F0 32.5<8373>
-108 244.8 S .256(hell parameters that are set by v)-32.5 F .256
-(ariable assignment or with)-.25 F F3(set)2.756 E F0 .257
+-.35 E 32.5<8374>108 84 S(he \214le creation mode mask as set by)-32.5 E
+/F1 10/Times-Bold@0 SF(umask)2.5 E F0(or inherited from the shell')2.5 E
+2.5(sp)-.55 G(arent)-2.5 E 32.5<8363>108 100.8 S(urrent traps set by)
+-32.5 E F1(trap)2.5 E F0 32.5<8373>108 117.6 S .256
+(hell parameters that are set by v)-32.5 F .256
+(ariable assignment or with)-.25 F F1(set)2.756 E F0 .257
(or inherited from the shell')2.756 F 2.757(sp)-.55 G(arent)-2.757 E
-(in the en)144 256.8 Q(vironment)-.4 E 32.5<8373>108 273.6 S
+(in the en)144 129.6 Q(vironment)-.4 E 32.5<8373>108 146.4 S
(hell functions de\214ned during e)-32.5 E -.15(xe)-.15 G
(cution or inherited from the shell').15 E 2.5(sp)-.55 G
-(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 290.4 S
+(arent in the en)-2.5 E(vironment)-.4 E 32.5<836f>108 163.2 S
(ptions enabled at in)-32.5 E -.2(vo)-.4 G(cation \(either by def).2 E
-(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F3(set)2.5 E
-F0 32.5<836f>108 307.2 S(ptions enabled by)-32.5 E F3(shopt)2.5 E F0
-32.5<8373>108 324 S(hell aliases de\214ned with)-32.5 E F3(alias)2.5 E
-F0 32.5<8376>108 340.8 S
+(ault or with command-line ar)-.1 E(guments\) or by)-.18 E F1(set)2.5 E
+F0 32.5<836f>108 180 S(ptions enabled by)-32.5 E F1(shopt)2.5 E F0 32.5
+<8373>108 196.8 S(hell aliases de\214ned with)-32.5 E F1(alias)2.5 E F0
+32.5<8376>108 213.6 S
(arious process IDs, including those of background jobs, the v)-32.75 E
-(alue of)-.25 E F3($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
-/F4 9/Times-Bold@0 SF(PPID)2.5 E F0 .427
-(When a simple command other than a b)108 357.6 R .426
+(alue of)-.25 E F1($$)2.5 E F0 2.5(,a)C(nd the v)-2.5 E(alue of)-.25 E
+/F2 9/Times-Bold@0 SF(PPID)2.5 E F0 .427
+(When a simple command other than a b)108 230.4 R .426
(uiltin or shell function is to be e)-.2 F -.15(xe)-.15 G .426
(cuted, it is in).15 F -.2(vo)-.4 G -.1(ke).2 G 2.926(di).1 G 2.926(nas)
--2.926 G(eparate)-2.926 E -.15(exe)108 369.6 S .133(cution en).15 F .133
+-2.926 G(eparate)-2.926 E -.15(exe)108 242.4 S .133(cution en).15 F .133
(vironment that consists of the follo)-.4 F 2.634(wing. Unless)-.25 F
.134(otherwise noted, the v)2.634 F .134(alues are inherited from)-.25 F
-(the shell.)108 381.6 Q 32.5<8374>108 398.4 S 1.056(he shell')-32.5 F
+(the shell.)108 254.4 Q 32.5<8374>108 271.2 S 1.056(he shell')-32.5 F
3.556(so)-.55 G 1.056(pen \214les, plus an)-3.556 F 3.556(ym)-.15 G
1.056
(odi\214cations and additions speci\214ed by redirections to the com-)
--3.556 F(mand)144 410.4 Q 32.5<8374>108 427.2 S(he current w)-32.5 E
-(orking directory)-.1 E 32.5<8374>108 444 S
-(he \214le creation mode mask)-32.5 E 32.5<8373>108 460.8 S .856(hell v)
+-3.556 F(mand)144 283.2 Q 32.5<8374>108 300 S(he current w)-32.5 E
+(orking directory)-.1 E 32.5<8374>108 316.8 S
+(he \214le creation mode mask)-32.5 E 32.5<8373>108 333.6 S .856(hell v)
-32.5 F .857(ariables and functions mark)-.25 F .857(ed for e)-.1 F .857
(xport, along with v)-.15 F .857(ariables e)-.25 F .857
-(xported for the command,)-.15 F(passed in the en)144 472.8 Q(vironment)
--.4 E 32.5<8374>108 489.6 S .307
+(xported for the command,)-.15 F(passed in the en)144 345.6 Q(vironment)
+-.4 E 32.5<8374>108 362.4 S .307
(raps caught by the shell are reset to the v)-32.5 F .306
(alues inherited from the shell')-.25 F 2.806(sp)-.55 G .306
-(arent, and traps ignored)-2.806 F(by the shell are ignored)144 501.6 Q
-2.5(Ac)108 518.4 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
+(arent, and traps ignored)-2.806 F(by the shell are ignored)144 374.4 Q
+2.5(Ac)108 391.2 S(ommand in)-2.5 E -.2(vo)-.4 G -.1(ke).2 G 2.5(di).1 G
2.5(nt)-2.5 G(his separate en)-2.5 E(vironment cannot af)-.4 E
(fect the shell')-.25 E 2.5(se)-.55 G -.15(xe)-2.65 G(cution en).15 E
(vironment.)-.4 E .577(Command substitution, commands grouped with pare\
-ntheses, and asynchronous commands are in)108 535.2 R -.2(vo)-.4 G -.1
-(ke).2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 547.2 S .245(ubshell en)
--2.745 F .245(vironment that is a duplicate of the shell en)-.4 F .244
+ntheses, and asynchronous commands are in)108 408 R -.2(vo)-.4 G -.1(ke)
+.2 G 3.078(di).1 G(n)-3.078 E 2.745(as)108 420 S .245(ubshell en)-2.745
+F .245(vironment that is a duplicate of the shell en)-.4 F .244
(vironment, e)-.4 F .244(xcept that traps caught by the shell are)-.15 F
-.358(reset to the v)108 559.2 R .358
+.358(reset to the v)108 432 R .358
(alues that the shell inherited from its parent at in)-.25 F -.2(vo)-.4
G 2.858(cation. Builtin).2 F .359(commands that are in)2.859 F -.2(vo)
--.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 571.2
-R -.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356
+-.4 G -.1(ke).2 G(d).1 E .857(as part of a pipeline are also e)108 444 R
+-.15(xe)-.15 G .856(cuted in a subshell en).15 F 3.356
(vironment. Changes)-.4 F .856(made to the subshell en)3.356 F(viron-)
--.4 E(ment cannot af)108 583.2 Q(fect the shell')-.25 E 2.5(se)-.55 G
--.15(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.376(Subshells spa)108
-600 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377
+-.4 E(ment cannot af)108 456 Q(fect the shell')-.25 E 2.5(se)-.55 G -.15
+(xe)-2.65 G(cution en).15 E(vironment.)-.4 E 1.376(Subshells spa)108
+472.8 R 1.376(wned to e)-.15 F -.15(xe)-.15 G 1.377
(cute command substitutions inherit the v).15 F 1.377(alue of the)-.25 F
-F3<ad65>3.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When)
-108 612 R(not in posix mode, Bash clears the)2.5 E F3<ad65>2.5 E F0
-(option in such subshells.)2.5 E .405(If a command is follo)108 628.8 R
-.405(wed by a)-.25 F F3(&)2.905 E F0 .404(and job control is not acti)
+F1<ad65>3.877 E F0 1.377(option from the parent)3.877 F 2.5(shell. When)
+108 484.8 R(not in)2.5 E/F3 10/Times-Italic@0 SF(posix)2.5 E F0(mode,)
+2.5 E F1(bash)2.5 E F0(clears the)2.5 E F1<ad65>2.5 E F0
+(option in such subshells.)2.5 E .405(If a command is follo)108 501.6 R
+.405(wed by a)-.25 F F1(&)2.905 E F0 .404(and job control is not acti)
2.905 F -.15(ve)-.25 G 2.904(,t).15 G .404(he def)-2.904 F .404
(ault standard input for the command)-.1 F .197(is the empty \214le)108
-640.8 R F2(/de)2.697 E(v/null)-.15 E F0 5.197(.O)C .197
+513.6 R F3(/de)2.697 E(v/null)-.15 E F0 5.197(.O)C .197
(therwise, the in)-5.197 F -.2(vo)-.4 G -.1(ke).2 G 2.697(dc).1 G .198
(ommand inherits the \214le descriptors of the calling shell)-2.697 F
-(as modi\214ed by redirections.)108 652.8 Q F1(ENVIR)72 669.6 Q(ONMENT)
--.329 E F0 2.354(When a program is in)108 681.6 R -.2(vo)-.4 G -.1(ke).2
-G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)-4.853 G -2.15 -.25(iv e)
--4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
-(rray of strings called the)-4.853 F F2(en)4.853 E(vir)-.4 E(onment)-.45
-E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F2(name)108 693.6 Q
-F0<ad>A F2(value)A F0(pairs, of the form)2.5 E F2(name)2.5 E F0(=)A F2
-(value)A F0(.).18 E 1.485(The shell pro)108 710.4 R 1.485(vides se)-.15
+(as modi\214ed by redirections.)108 525.6 Q/F4 10.95/Times-Bold@0 SF
+(ENVIR)72 542.4 Q(ONMENT)-.329 E F0 2.354(When a program is in)108 554.4
+R -.2(vo)-.4 G -.1(ke).2 G 4.853(di).1 G 4.853(ti)-4.853 G 4.853(sg)
+-4.853 G -2.15 -.25(iv e)-4.853 H 4.853(na).25 G 4.853(na)-4.853 G 2.353
+(rray of strings called the)-4.853 F F3(en)4.853 E(vir)-.4 E(onment)-.45
+E F0 7.353(.T).68 G 2.353(his is a list of)-7.353 F F3(name)108 566.4 Q
+F0<ad>A F3(value)A F0(pairs, of the form)2.5 E F3(name)2.5 E F0(=)A F3
+(value)A F0(.).18 E 1.485(The shell pro)108 583.2 R 1.485(vides se)-.15
F -.15(ve)-.25 G 1.485(ral w).15 F 1.485(ays to manipulate the en)-.1 F
3.985(vironment. On)-.4 F(in)3.985 E -.2(vo)-.4 G 1.486
-(cation, the shell scans its o).2 F(wn)-.25 E(en)108 722.4 Q 1.431(viro\
-nment and creates a parameter for each name found, automatically markin\
-g it for)-.4 F F2 -.2(ex)3.93 G(port).2 E F0 1.43(to child)4.61 F
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(30)185.955 E 0 Cg EP
-%%Page: 31 31
+(cation, the shell scans its o).2 F(wn)-.25 E(en)108 595.2 Q .144(viron\
+ment and creates a parameter for each name found, automatically marking\
+ it for)-.4 F F3 -.2(ex)2.643 G(port).2 E F0 .143(to child pro-)3.323 F
+2.703(cesses. Ex)108 607.2 R .203(ecuted commands inherit the en)-.15 F
+2.703(vironment. The)-.4 F F1(export)2.703 E F0(and)2.703 E F1(declar)
+2.703 E 2.703<65ad>-.18 G(x)-2.703 E F0 .203(commands allo)2.703 F 2.704
+(wp)-.25 G(aram-)-2.704 E 1.153
+(eters and functions to be added to and deleted from the en)108 619.2 R
+3.653(vironment. If)-.4 F 1.153(the v)3.653 F 1.153
+(alue of a parameter in the)-.25 F(en)108 631.2 Q .64
+(vironment is modi\214ed, the ne)-.4 F 3.14(wv)-.25 G .64
+(alue becomes part of the en)-3.39 F .64(vironment, replacing the old.)
+-.4 F .64(The en)5.64 F(viron-)-.4 E .58(ment inherited by an)108 643.2
+R 3.08(ye)-.15 G -.15(xe)-3.23 G .58
+(cuted command consists of the shell').15 F 3.08(si)-.55 G .58
+(nitial en)-3.08 F .58(vironment, whose v)-.4 F .58(alues may be)-.25 F
+.3(modi\214ed in the shell, less an)108 655.2 R 2.8(yp)-.15 G .3
+(airs remo)-2.8 F -.15(ve)-.15 G 2.8(db).15 G 2.801(yt)-2.8 G(he)-2.801
+E F1(unset)2.801 E F0 .301(command, plus an)2.801 F 2.801(ya)-.15 G .301
+(dditions via the)-2.801 F F1(export)2.801 E F0(and)2.801 E F1(declar)
+108 667.2 Q 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en)108
+684 R .563(vironment for an)-.4 F(y)-.15 E F3 .563(simple command)3.403
+F F0 .562
+(or function may be augmented temporarily by pre\214xing it with)3.833 F
+.202(parameter assignments, as described abo)108 696 R .502 -.15(ve i)
+-.15 H(n).15 E F2 -.666(PA)2.702 G(RAMETERS).666 E/F5 9/Times-Roman@0 SF
+(.)A F0 .202(These assignment statements af)4.702 F .203(fect only the)
+-.25 F(en)108 708 Q(vironment seen by that command.)-.4 E .81(If the)108
+724.8 R F1<ad6b>3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31
+E F0 -.2(bu)3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F3
+(all)3.64 E F0 .81(parameter assignments are placed in)3.82 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(31)185.955 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 4.177(processes. Ex)108 84 R 1.677
-(ecuted commands inherit the en)-.15 F 4.177(vironment. The)-.4 F/F1 10
-/Times-Bold@0 SF(export)4.178 E F0(and)4.178 E F1(declar)4.178 E 4.178
-<65ad>-.18 G(x)-4.178 E F0 1.678(commands allo)4.178 F(w)-.25 E .647
-(parameters and functions to be added to and deleted from the en)108 96
-R 3.147(vironment. If)-.4 F .646(the v)3.146 F .646
-(alue of a parameter in)-.25 F .513(the en)108 108 R .513
-(vironment is modi\214ed, the ne)-.4 F 3.013(wv)-.25 G .513
-(alue becomes part of the en)-3.263 F .513
-(vironment, replacing the old.)-.4 F .514(The en)5.514 F(vi-)-.4 E .523
-(ronment inherited by an)108 120 R 3.022(ye)-.15 G -.15(xe)-3.172 G .522
-(cuted command consists of the shell').15 F 3.022(si)-.55 G .522
-(nitial en)-3.022 F .522(vironment, whose v)-.4 F .522(alues may)-.25 F
-.578(be modi\214ed in the shell, less an)108 132 R 3.078(yp)-.15 G .578
-(airs remo)-3.078 F -.15(ve)-.15 G 3.078(db).15 G 3.078(yt)-3.078 G(he)
--3.078 E F1(unset)3.078 E F0 .579(command, plus an)3.078 F 3.079(ya)-.15
-G .579(dditions via the)-3.079 F F1(export)3.079 E F0(and)108 144 Q F1
-(declar)2.5 E 2.5<65ad>-.18 G(x)-2.5 E F0(commands.)2.5 E .563(The en)
-108 160.8 R .563(vironment for an)-.4 F(y)-.15 E/F2 10/Times-Italic@0 SF
-.563(simple command)3.403 F F0 .562
-(or function may be augmented temporarily by pre\214xing it with)3.833 F
-.202(parameter assignments, as described abo)108 172.8 R .502 -.15(ve i)
--.15 H(n).15 E/F3 9/Times-Bold@0 SF -.666(PA)2.702 G(RAMETERS).666 E/F4
-9/Times-Roman@0 SF(.)A F0 .202(These assignment statements af)4.702 F
-.203(fect only the)-.25 F(en)108 184.8 Q
-(vironment seen by that command.)-.4 E .81(If the)108 201.6 R F1<ad6b>
-3.31 E F0 .81(option is set \(see the)3.31 F F1(set)3.31 E F0 -.2(bu)
-3.31 G .81(iltin command belo).2 F .81(w\), then)-.25 F F2(all)3.64 E F0
-.81(parameter assignments are placed in)3.82 F(the en)108 213.6 Q
+-.35 E(the en)108 84 Q
(vironment for a command, not just those that precede the command name.)
--.4 E(When)108 230.4 Q F1(bash)3.396 E F0(in)3.396 E -.2(vo)-.4 G -.1
-(ke).2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897(xternal command, the v)
--3.547 F(ariable)-.25 E F1(_)3.397 E F0 .897
+-.4 E(When)108 100.8 Q/F1 10/Times-Bold@0 SF(bash)3.396 E F0(in)3.396 E
+-.2(vo)-.4 G -.1(ke).2 G 3.396(sa).1 G 3.397(ne)-3.396 G .897
+(xternal command, the v)-3.547 F(ariable)-.25 E F1(_)3.397 E F0 .897
(is set to the full \214le name of the command and)3.397 F
-(passed to that command in its en)108 242.4 Q(vironment.)-.4 E/F5 10.95
-/Times-Bold@0 SF(EXIT ST)72 259.2 Q -1.04(AT)-.986 G(US)1.04 E F0 .151
-(The e)108 271.2 R .151(xit status of an e)-.15 F -.15(xe)-.15 G .151
-(cuted command is the v).15 F .15(alue returned by the)-.25 F F2
-(waitpid)2.65 E F0 .15(system call or equi)2.65 F -.25(va)-.25 G .15
-(lent func-).25 F 2.847(tion. Exit)108 283.2 R .347(statuses f)2.847 F
-.347(all between 0 and 255, though, as e)-.1 F .347(xplained belo)-.15 F
-1.647 -.65(w, t)-.25 H .347(he shell may use v).65 F .348(alues abo)-.25
-F .648 -.15(ve 1)-.15 H(25).15 E(specially)108 295.2 Q 5.674(.E)-.65 G
-.674(xit statuses from shell b)-5.674 F .673
+(passed to that command in its en)108 112.8 Q(vironment.)-.4 E/F2 10.95
+/Times-Bold@0 SF(EXIT ST)72 129.6 Q -1.04(AT)-.986 G(US)1.04 E F0 .151
+(The e)108 141.6 R .151(xit status of an e)-.15 F -.15(xe)-.15 G .151
+(cuted command is the v).15 F .15(alue returned by the)-.25 F/F3 10
+/Times-Italic@0 SF(waitpid)2.65 E F0 .15(system call or equi)2.65 F -.25
+(va)-.25 G .15(lent func-).25 F 2.847(tion. Exit)108 153.6 R .347
+(statuses f)2.847 F .347(all between 0 and 255, though, as e)-.1 F .347
+(xplained belo)-.15 F 1.647 -.65(w, t)-.25 H .347(he shell may use v).65
+F .348(alues abo)-.25 F .648 -.15(ve 1)-.15 H(25).15 E(specially)108
+165.6 Q 5.674(.E)-.65 G .674(xit statuses from shell b)-5.674 F .673
(uiltins and compound commands are also limited to this range. Under)-.2
-F(certain circumstances, the shell will use special v)108 307.2 Q
+F(certain circumstances, the shell will use special v)108 177.6 Q
(alues to indicate speci\214c f)-.25 E(ailure modes.)-.1 E -.15(Fo)108
-324 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873
+194.4 S 3.372(rt).15 G .872(he shell')-3.372 F 3.372(sp)-.55 G .873
(urposes, a command which e)-3.372 F .873(xits with a zero e)-.15 F .873
(xit status has succeeded.)-.15 F .873(An e)5.873 F .873(xit status of)
--.15 F .049(zero indicates success.)108 336 R 2.549(An)5.049 G .049
+-.15 F .049(zero indicates success.)108 206.4 R 2.549(An)5.049 G .049
(on-zero e)-2.549 F .049(xit status indicates f)-.15 F 2.549
(ailure. When)-.1 F 2.549(ac)2.549 G .048(ommand terminates on a f)
--2.549 F .048(atal sig-)-.1 F(nal)108 348 Q F2(N)2.5 E F0(,)A F1(bash)
-2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F2(N)A F0(as the e)2.5 E
+-2.549 F .048(atal sig-)-.1 F(nal)108 218.4 Q F3(N)2.5 E F0(,)A F1(bash)
+2.5 E F0(uses the v)2.5 E(alue of 128+)-.25 E F3(N)A F0(as the e)2.5 E
(xit status.)-.15 E .404
-(If a command is not found, the child process created to e)108 364.8 R
+(If a command is not found, the child process created to e)108 235.2 R
-.15(xe)-.15 G .404(cute it returns a status of 127.).15 F .405
-(If a command is)5.405 F(found b)108 376.8 Q(ut is not e)-.2 E -.15(xe)
--.15 G(cutable, the return status is 126.).15 E(If a command f)108 393.6
-Q(ails because of an error during e)-.1 E
-(xpansion or redirection, the e)-.15 E(xit status is greater than zero.)
--.15 E .081(Shell b)108 410.4 R .081
-(uiltin commands return a status of 0 \()-.2 F F2(true)A F0 2.581(\)i)C
-2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F2(false)A F0
-2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08(rror occurs while)-2.58 F
-(the)108 422.4 Q 2.5(ye)-.15 G -.15(xe)-2.65 G 2.5(cute. All).15 F -.2
-(bu)2.5 G(iltins return an e).2 E
-(xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 439.2 Q
+(If a command is)5.405 F(found b)108 247.2 Q(ut is not e)-.2 E -.15(xe)
+-.15 G(cutable, the return status is 126.).15 E(If a command f)108 264 Q
+(ails because of an error during e)-.1 E(xpansion or redirection, the e)
+-.15 E(xit status is greater than zero.)-.15 E .081(Shell b)108 280.8 R
+.081(uiltin commands return a status of 0 \()-.2 F F3(true)A F0 2.581
+(\)i)C 2.581(fs)-2.581 G .08(uccessful, and non-zero \()-2.581 F F3
+(false)A F0 2.58(\)i)C 2.58(fa)-2.58 G 2.58(ne)-2.58 G .08
+(rror occurs while)-2.58 F(the)108 292.8 Q 2.5(ye)-.15 G -.15(xe)-2.65 G
+2.5(cute. All).15 F -.2(bu)2.5 G(iltins return an e).2 E
+(xit status of 2 to indicate incorrect usage.)-.15 E F1(Bash)108 309.6 Q
F0 .201(itself returns the e)2.701 F .202
(xit status of the last command e)-.15 F -.15(xe)-.15 G .202
-(cuted, unless a syntax error occurs, in which case).15 F(it e)108 451.2
+(cuted, unless a syntax error occurs, in which case).15 F(it e)108 321.6
Q(xits with a non-zero v)-.15 E 2.5(alue. See)-.25 F(also the)2.5 E F1
-(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F5
-(SIGN)72 468 Q(ALS)-.219 E F0(When)108 480 Q F1(bash)3.183 E F0 .683
+(exit)2.5 E F0 -.2(bu)2.5 G(iltin command belo).2 E -.65(w.)-.25 G F2
+(SIGN)72 338.4 Q(ALS)-.219 E F0(When)108 350.4 Q F1(bash)3.183 E F0 .683
(is interacti)3.183 F -.15(ve)-.25 G 3.183(,i).15 G 3.183(nt)-3.183 G
.683(he absence of an)-3.183 F 3.183(yt)-.15 G .683(raps, it ignores)
--3.183 F F3(SIGTERM)3.183 E F0 .682(\(so that)2.933 F F1 .682(kill 0)
-3.182 F F0 .682(does not kill an)3.182 F(interacti)108 492 Q .757 -.15
-(ve s)-.25 H .457(hell\), and).15 F F3(SIGINT)2.957 E F0 .458
-(is caught and handled \(so that the)2.707 F F1(wait)2.958 E F0 -.2(bu)
-2.958 G .458(iltin is interruptible\).).2 F .458(In all cases,)5.458 F
-F1(bash)108 504 Q F0(ignores)2.5 E F3(SIGQ)2.5 E(UIT)-.09 E F4(.)A F0
-(If job control is in ef)4.5 E(fect,)-.25 E F1(bash)2.5 E F0(ignores)2.5
-E F3(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25
-E F3(SIGTSTP)2.5 E F4(.)A F0(Non-b)108 520.8 Q 1.065
-(uiltin commands run by)-.2 F F1(bash)3.565 E F0(ha)3.565 E 1.365 -.15
-(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064
+-3.183 F/F4 9/Times-Bold@0 SF(SIGTERM)3.183 E F0 .682(\(so that)2.933 F
+F1 .682(kill 0)3.182 F F0 .682(does not kill an)3.182 F(interacti)108
+362.4 Q .757 -.15(ve s)-.25 H .457(hell\), and).15 F F4(SIGINT)2.957 E
+F0 .458(is caught and handled \(so that the)2.707 F F1(wait)2.958 E F0
+-.2(bu)2.958 G .458(iltin is interruptible\).).2 F .458(In all cases,)
+5.458 F F1(bash)108 374.4 Q F0(ignores)2.5 E F4(SIGQ)2.5 E(UIT)-.09 E/F5
+9/Times-Roman@0 SF(.)A F0(If job control is in ef)4.5 E(fect,)-.25 E F1
+(bash)2.5 E F0(ignores)2.5 E F4(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)
+-.162 E F5(,)A F0(and)2.25 E F4(SIGTSTP)2.5 E F5(.)A F0(Non-b)108 391.2
+Q 1.065(uiltin commands run by)-.2 F F1(bash)3.565 E F0(ha)3.565 E 1.365
+-.15(ve s)-.2 H 1.065(ignal handlers set to the v).15 F 1.064
(alues inherited by the shell from its)-.25 F 3.247(parent. When)108
-532.8 R .747(job control is not in ef)3.247 F .747
-(fect, asynchronous commands ignore)-.25 F F3(SIGINT)3.248 E F0(and)
-2.998 E F3(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653
-(tion to these inherited handlers.)108 544.8 R .653
+403.2 R .747(job control is not in ef)3.247 F .747
+(fect, asynchronous commands ignore)-.25 F F4(SIGINT)3.248 E F0(and)
+2.998 E F4(SIGQ)3.248 E(UIT)-.09 E F0 .748(in addi-)2.998 F .653
+(tion to these inherited handlers.)108 415.2 R .653
(Commands run as a result of command substitution ignore the k)5.653 F
--.15(ey)-.1 G(board-).15 E(generated job control signals)108 556.8 Q F3
-(SIGTTIN)2.5 E F4(,)A F3(SIGTT)2.25 E(OU)-.162 E F4(,)A F0(and)2.25 E F3
-(SIGTSTP)2.5 E F4(.)A F0 2.045(The shell e)108 573.6 R 2.045
-(xits by def)-.15 F 2.045(ault upon receipt of a)-.1 F F3(SIGHUP)4.545 E
-F4(.)A F0 2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346
--.15(ve s)-.25 H 2.046(hell resends the).15 F F3(SIGHUP)108 585.6 Q F0
-1.005(to all jobs, running or stopped.)3.255 F 1.004
-(Stopped jobs are sent)6.005 F F3(SIGCONT)3.504 E F0 1.004
-(to ensure that the)3.254 F 3.504(yr)-.15 G(ecei)-3.504 E 1.304 -.15
-(ve t)-.25 H(he).15 E F3(SIGHUP)108 597.6 Q F4(.)A F0 2.529 -.8(To p)
-5.429 H(re).8 E -.15(ve)-.25 G .93(nt the shell from sending the signal\
- to a particular job, it should be remo).15 F -.15(ve)-.15 G 3.43(df).15
-G .93(rom the)-3.43 F 1.357(jobs table with the)108 609.6 R F1(diso)
-3.857 E(wn)-.1 E F0 -.2(bu)3.857 G 1.357(iltin \(see).2 F F3 1.356
-(SHELL B)3.856 F(UIL)-.09 E 1.356(TIN COMMANDS)-.828 F F0(belo)3.606 E
-1.356(w\) or mark)-.25 F 1.356(ed to not recei)-.1 F -.15(ve)-.25 G F3
-(SIGHUP)108 621.6 Q F0(using)2.25 E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A
-.166(If the)108 638.4 R F1(huponexit)2.666 E F0 .166
-(shell option has been set with)2.666 F F1(shopt)2.666 E F0(,)A F1(bash)
-2.666 E F0 .166(sends a)2.666 F F3(SIGHUP)2.666 E F0 .166
-(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108
-650.4 Q(xits.)-.15 E(If)108 667.2 Q F1(bash)3.047 E F0 .547(is w)3.047 F
-.546(aiting for a command to complete and recei)-.1 F -.15(ve)-.25 G
-3.046(sas).15 G .546(ignal for which a trap has been set, the trap)
--3.046 F .662(will not be e)108 679.2 R -.15(xe)-.15 G .662
+-.15(ey)-.1 G(board-).15 E(generated job control signals)108 427.2 Q F4
+(SIGTTIN)2.5 E F5(,)A F4(SIGTT)2.25 E(OU)-.162 E F5(,)A F0(and)2.25 E F4
+(SIGTSTP)2.5 E F5(.)A F0 2.045(The shell e)108 444 R 2.045(xits by def)
+-.15 F 2.045(ault upon receipt of a)-.1 F F4(SIGHUP)4.545 E F5(.)A F0
+2.045(Before e)6.545 F 2.045(xiting, an interacti)-.15 F 2.346 -.15
+(ve s)-.25 H 2.046(hell resends the).15 F F4(SIGHUP)108 456 Q F0 1.005
+(to all jobs, running or stopped.)3.255 F 1.004(Stopped jobs are sent)
+6.005 F F4(SIGCONT)3.504 E F0 1.004(to ensure that the)3.254 F 3.504(yr)
+-.15 G(ecei)-3.504 E 1.304 -.15(ve t)-.25 H(he).15 E F4(SIGHUP)108 468 Q
+F5(.)A F0 2.529 -.8(To p)5.429 H(re).8 E -.15(ve)-.25 G .93(nt the shel\
+l from sending the signal to a particular job, it should be remo).15 F
+-.15(ve)-.15 G 3.43(df).15 G .93(rom the)-3.43 F 1.357
+(jobs table with the)108 480 R F1(diso)3.857 E(wn)-.1 E F0 -.2(bu)3.857
+G 1.357(iltin \(see).2 F F4 1.356(SHELL B)3.856 F(UIL)-.09 E 1.356
+(TIN COMMANDS)-.828 F F0(belo)3.606 E 1.356(w\) or mark)-.25 F 1.356
+(ed to not recei)-.1 F -.15(ve)-.25 G F4(SIGHUP)108 492 Q F0(using)2.25
+E F1(diso)2.5 E(wn \255h)-.1 E F0(.)A .166(If the)108 508.8 R F1
+(huponexit)2.666 E F0 .166(shell option has been set with)2.666 F F1
+(shopt)2.666 E F0(,)A F1(bash)2.666 E F0 .166(sends a)2.666 F F4(SIGHUP)
+2.666 E F0 .166(to all jobs when an interacti)2.416 F -.15(ve)-.25 G
+(login shell e)108 520.8 Q(xits.)-.15 E(If)108 537.6 Q F1(bash)3.047 E
+F0 .547(is w)3.047 F .546(aiting for a command to complete and recei)-.1
+F -.15(ve)-.25 G 3.046(sas).15 G .546
+(ignal for which a trap has been set, the trap)-3.046 F .662
+(will not be e)108 549.6 R -.15(xe)-.15 G .662
(cuted until the command completes.).15 F(When)5.663 E F1(bash)3.163 E
F0 .663(is w)3.163 F .663(aiting for an asynchronous command)-.1 F .99
-(via the)108 691.2 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\
+(via the)108 561.6 R F1(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin, the rec\
eption of a signal for which a trap has been set will cause the).2 F F1
(wait)3.49 E F0 -.2(bu)3.49 G .99(iltin to).2 F
-(return immediately with an e)108 703.2 Q
+(return immediately with an e)108 573.6 Q
(xit status greater than 128, immediately after which the trap is e)-.15
-E -.15(xe)-.15 G(cuted.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(31)185.955 E 0 Cg EP
-%%Page: 32 32
+E -.15(xe)-.15 G(cuted.).15 E F2(JOB CONTR)72 590.4 Q(OL)-.329 E F3 -.25
+(Jo)108 602.4 S 4.567(bc).25 G(ontr)-4.567 E(ol)-.45 E F0 2.067
+(refers to the ability to selecti)5.077 F -.15(ve)-.25 G 2.067
+(ly stop \().15 F F3(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F -.15
+(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 614.4 Q
+F3 -.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15
+G .702(cution at a later point.).15 F 3.202(Au)5.702 G .702
+(ser typically emplo)-3.202 F .702(ys this f)-.1 F .702
+(acility via an interacti)-.1 F 1.001 -.15(ve i)-.25 H(nterf).15 E(ace)
+-.1 E(supplied jointly by the operating system k)108 626.4 Q(ernel')-.1
+E 2.5(st)-.55 G(erminal dri)-2.5 E -.15(ve)-.25 G 2.5(ra).15 G(nd)-2.5 E
+F1(bash)2.5 E F0(.)A .784(The shell associates a)108 643.2 R F3(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 655.2 R F1
+(jobs)2.841 E F0 2.841(command. When)2.841 F F1(bash)2.841 E F0 .341
+(starts a job asynchronously \(in the)2.841 F F3(bac)2.84 E(kgr)-.2 E
+(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 667.2
+Q(e:)-.1 E([1] 25647)144 684 Q .241(indicating that this job is job num\
+ber 1 and that the process ID of the last process in the pipeline assoc\
+iated)108 700.8 R .733(with this job is 25647.)108 712.8 R .732
+(All of the processes in a single pipeline are members of the same job)
+5.733 F(.)-.4 E F1(Bash)5.732 E F0(uses)3.232 E(the)108 724.8 Q F3(job)
+4.24 E F0(abstraction as the basis for job control.)2.73 E(GNU Bash-4.2)
+72 768 Q(2010 December 28)135.965 E(32)185.955 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.95/Times-Bold@0 SF(JOB CONTR)72 84 Q(OL)-.329 E/F2 10
-/Times-Italic@0 SF -.25(Jo)108 96 S 4.567(bc).25 G(ontr)-4.567 E(ol)-.45
-E F0 2.067(refers to the ability to selecti)5.077 F -.15(ve)-.25 G 2.067
-(ly stop \().15 F F2(suspend)A F0 4.567(\)t)C 2.068(he e)-4.567 F -.15
-(xe)-.15 G 2.068(cution of processes and continue).15 F(\()108 108 Q F2
--.37(re)C(sume).37 E F0 3.202(\)t)C .702(heir e)-3.202 F -.15(xe)-.15 G
-.702(cution at a later point.).15 F 3.202(Au)5.702 G .702
-(ser typically emplo)-3.202 F .702(ys this f)-.1 F .702
-(acility via an interacti)-.1 F 1.001 -.15(ve i)-.25 H(nterf).15 E(ace)
--.1 E(supplied jointly by the operating system k)108 120 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
-/F3 10/Times-Bold@0 SF(bash)2.5 E F0(.)A .784(The shell associates a)108
-136.8 R F2(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 148.8 R F3
-(jobs)2.841 E F0 2.841(command. When)2.841 F F3(bash)2.841 E F0 .341
-(starts a job asynchronously \(in the)2.841 F F2(bac)2.84 E(kgr)-.2 E
-(ound)-.45 E F0 .34(\), it prints a line).77 F(that looks lik)108 160.8
-Q(e:)-.1 E([1] 25647)144 177.6 Q .241(indicating that this job is job n\
-umber 1 and that the process ID of the last process in the pipeline ass\
-ociated)108 194.4 R .733(with this job is 25647.)108 206.4 R .732
-(All of the processes in a single pipeline are members of the same job)
-5.733 F(.)-.4 E F3(Bash)5.732 E F0(uses)3.232 E(the)108 218.4 Q F2(job)
-4.24 E F0(abstraction as the basis for job control.)2.73 E 3.062 -.8
-(To f)108 235.2 T 1.462(acilitate the implementation of the user interf)
-.7 F 1.463(ace to job control, the operating system maintains the)-.1 F
-.871(notion of a)108 247.2 R F2(curr)3.371 E .871(ent terminal pr)-.37 F
-.871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871(.M)C .87
-(embers of this process group \(processes whose process)-5.871 F .023
+-.35 E 3.062 -.8(To f)108 84 T 1.462
+(acilitate the implementation of the user interf).7 F 1.463
+(ace to job control, the operating system maintains the)-.1 F .871
+(notion of a)108 96 R/F1 10/Times-Italic@0 SF(curr)3.371 E .871
+(ent terminal pr)-.37 F .871(ocess gr)-.45 F .871(oup ID)-.45 F F0 5.871
+(.M)C .87(embers of this process group \(processes whose process)-5.871
+F .023
(group ID is equal to the current terminal process group ID\) recei)108
-259.2 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
-(board-generated signals such as).15 F/F4 9/Times-Bold@0 SF(SIG-)2.523 E
-(INT)108 271.2 Q/F5 9/Times-Roman@0 SF(.)A F0 1.347
-(These processes are said to be in the)5.847 F F2(for)3.846 E -.4(eg)
--.37 G -.45(ro).4 G(und).45 E F0(.).77 E F2(Bac)6.926 E(kgr)-.2 E(ound)
+108 R .323 -.15(ve k)-.25 H -.15(ey).05 G .023
+(board-generated signals such as).15 F/F2 9/Times-Bold@0 SF(SIG-)2.523 E
+(INT)108 120 Q/F3 9/Times-Roman@0 SF(.)A F0 1.347
+(These processes are said to be in the)5.847 F F1(for)3.846 E -.4(eg)
+-.37 G -.45(ro).4 G(und).45 E F0(.).77 E F1(Bac)6.926 E(kgr)-.2 E(ound)
-.45 E F0 1.346(processes are those whose process)4.616 F .145
-(group ID dif)108 283.2 R .145(fers from the terminal')-.25 F .146
+(group ID dif)108 132 R .145(fers from the terminal')-.25 F .146
(s; such processes are immune to k)-.55 F -.15(ey)-.1 G .146
(board-generated signals.).15 F .146(Only fore-)5.146 F .16
-(ground processes are allo)108 295.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 307.2 R .551
-(processes which attempt to read from \(write to when)3.051 F F6 .551
+(ground processes are allo)108 144 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/F4 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 156 R .551
+(processes which attempt to read from \(write to when)3.051 F F4 .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 319.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 331.2 Q 1.087
-(If the operating system on which)108 348 R F3(bash)3.587 E F0 1.088
-(is running supports job control,)3.588 F F3(bash)3.588 E F0 1.088
-(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8(Ty)108 360 S
-.302(ping the).8 F F2(suspend)3.142 E F0 .302(character \(typically)
-3.572 F F3(^Z)2.801 E F0 2.801(,C)C .301
+.718(terminal are sent a)108 168 R F2 .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 180 Q 1.087
+(If the operating system on which)108 196.8 R/F5 10/Times-Bold@0 SF
+(bash)3.587 E F0 1.088(is running supports job control,)3.588 F F5(bash)
+3.588 E F0 1.088(contains f)3.588 F 1.088(acilities to use it.)-.1 F -.8
+(Ty)108 208.8 S .302(ping the).8 F F1(suspend)3.142 E F0 .302
+(character \(typically)3.572 F F5(^Z)2.801 E F0 2.801(,C)C .301
(ontrol-Z\) while a process is running causes that process to be)-2.801
-F 2.142(stopped and returns control to)108 372 R F3(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 F3(^Y)4.643 E F0 4.643(,C)C
+F 2.142(stopped and returns control to)108 220.8 R F5(bash)4.642 E F0
+7.142(.T)C 2.142(yping the)-7.942 F F1 2.142(delayed suspend)4.992 F F0
+2.143(character \(typically)5.413 F F5(^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 384
-R(to)108 396 Q F3(bash)3.392 E F0 5.892(.T)C .892
+mpts to read input from the terminal, and control to be returned)108
+232.8 R(to)108 244.8 Q F5(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
-F3(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895
-(background, the)108 408 R F3(fg)3.395 E F0 .895
+F5(bg)3.392 E F0 .892(command to continue it in the)3.392 F .895
+(background, the)108 256.8 R F5(fg)3.395 E F0 .895
(command to continue it in the fore)3.395 F .895(ground, or the)-.15 F
-F3(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F3(^Z)
-3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 420 Q .948(fect immediately)-.25
-F 3.448(,a)-.65 G .948(nd has the additional side ef)-3.448 F .948
+F5(kill)3.395 E F0 .894(command to kill it.)3.395 F(A)5.894 E F5(^Z)
+3.394 E F0(tak)3.394 E(es)-.1 E(ef)108 268.8 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 432 Q .777(There are a number of w)108 448.8 R .777
-(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F3
-(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 460.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 F3(%n)3.457 E F0 5.957(.A)C .957
+108 280.8 Q .777(There are a number of w)108 297.6 R .777
+(ays to refer to a job in the shell.)-.1 F .777(The character)5.777 F F5
+(%)3.277 E F0 .777(introduces a job speci\214cation)3.277 F(\()108 309.6
+Q F1(jobspec)A F0 3.457(\). Job)B(number)3.457 E F1(n)3.817 E F0 .957
+(may be referred to as)3.697 F F5(%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 472.8 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F3(%ce)3.09 E
-F0 .59(refers to a)3.09 F(stopped)108 484.8 Q F3(ce)3.463 E F0(job)3.463
+108 321.6 R -.15(Fo)5.59 G 3.09(re).15 G(xample,)-3.24 E F5(%ce)3.09 E
+F0 .59(refers to a)3.09 F(stopped)108 333.6 Q F5(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 F3(bash)3.463 E F0 .963
-(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F3(%?ce)3.463 E
+(re\214x matches more than one job,)-3.463 F F5(bash)3.463 E F0 .963
+(reports an error)3.463 F 5.963(.U)-.55 G(sing)-5.963 E F5(%?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 496.8 R 2.587(yj)-.15 G .087
-(ob containing the string)-2.587 F F3(ce)2.587 E F0 .087
+(hand, refers to an)108 345.6 R 2.587(yj)-.15 G .087
+(ob containing the string)-2.587 F F5(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 508.8 Q F3
+(If the substring matches more than one)5.087 F(job,)108 357.6 Q F5
(bash)2.518 E F0 .018(reports an error)2.518 F 5.018(.T)-.55 G .018
-(he symbols)-5.018 F F3(%%)2.518 E F0(and)2.518 E F3(%+)2.518 E F0 .018
+(he symbols)-5.018 F F5(%%)2.518 E F0(and)2.518 E F5(%+)2.518 E F0 .018
(refer to the shell')2.518 F 2.518(sn)-.55 G .018(otion of the)-2.518 F
-F2(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is)
--2.518 F .495(the last job stopped while it w)108 520.8 R .495
+F1(curr)2.518 E .018(ent job)-.37 F F0 2.518(,w).23 G .018(hich is)
+-2.518 F .495(the last job stopped while it w)108 369.6 R .495
(as in the fore)-.1 F .495(ground or started in the background.)-.15 F
-(The)5.494 E F2(pr)4.244 E -.15(ev)-.37 G .494(ious job).15 F F0 .494
-(may be)3.224 F .787(referenced using)108 532.8 R F3<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 F3
-(%+)3.287 E F0(and)3.287 E F3<25ad>3.287 E F0 .788
+(The)5.494 E F1(pr)4.244 E -.15(ev)-.37 G .494(ious job).15 F F0 .494
+(may be)3.224 F .787(referenced using)108 381.6 R F5<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 F5
+(%+)3.287 E F0(and)3.287 E F5<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 544.8 R F3
+.257(output pertaining to jobs \(e.g., the output of the)108 393.6 R F5
(jobs)2.756 E F0 .256(command\), the current job is al)2.756 F -.1(wa)
--.1 G .256(ys \215agged with a).1 F F3(+)2.756 E F0(,)A .41(and the pre)
-108 556.8 R .41(vious job with a)-.25 F F3<ad>2.91 E F0 5.41(.A)C .411
+-.1 G .256(ys \215agged with a).1 F F5(+)2.756 E F0(,)A .41(and the pre)
+108 405.6 R .41(vious job with a)-.25 F F5<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 568.8 Q(.)-.4 E .444
-(Simply naming a job can be used to bring it into the fore)108 585.6 R
-(ground:)-.15 E F3(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for)
--.15 F F3 -.63(``)2.943 G .443(fg %1').63 F(')-.63 E F0 2.943(,b)C
+(rent job)108 417.6 Q(.)-.4 E .444
+(Simply naming a job can be used to bring it into the fore)108 434.4 R
+(ground:)-.15 E F5(%1)2.943 E F0 .443(is a synon)2.943 F .443(ym for)
+-.15 F F5 -.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
-597.6 R 3.972(ground. Similarly)-.15 F(,)-.65 E F3 -.63(``)3.973 G 1.473
+446.4 R 3.972(ground. Similarly)-.15 F(,)-.65 E F5 -.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 609.6 Q -.25(va)-.25 G(lent to).25 E F3 -.63(``)2.5 G(bg %1')
-.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 626.4
+(equi)108 458.4 Q -.25(va)-.25 G(lent to).25 E F5 -.63(``)2.5 G(bg %1')
+.63 E(')-.63 E F0(.)A .131(The shell learns immediately whene)108 475.2
R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F
-(Normally)5.131 E(,)-.65 E F3(bash)2.631 E F0 -.1(wa)2.63 G .13
+(Normally)5.131 E(,)-.65 E F5(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 638.4 R 2.657(ss)-.55 G
+(prompt before reporting changes in a job')108 487.2 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 F3<ad62>2.658 E F0 .158
-(option to)2.658 F(the)108 650.4 Q F3(set)3.952 E F0 -.2(bu)3.952 G
-1.452(iltin command is enabled,).2 F F3(bash)3.952 E F0 1.451
+(ther output.)-2.658 F .158(If the)5.158 F F5<ad62>2.658 E F0 .158
+(option to)2.658 F(the)108 499.2 Q F5(set)3.952 E F0 -.2(bu)3.952 G
+1.452(iltin command is enabled,).2 F F5(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 F4(SIGCHLD)3.951 E F0(is)3.701 E -.15
-(exe)108 662.4 S(cuted for each child that e).15 E(xits.)-.15 E .032
-(If an attempt to e)108 679.2 R(xit)-.15 E F3(bash)2.532 E F0 .032
+(ny t)-6.451 H 1.451(rap on).15 F F2(SIGCHLD)3.951 E F0(is)3.701 E -.15
+(exe)108 511.2 S(cuted for each child that e).15 E(xits.)-.15 E .032
+(If an attempt to e)108 528 R(xit)-.15 E F5(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 F3(checkjobs)2.533 E F0 .033
-(shell option has been enabled)2.533 F 2.02(using the)108 691.2 R F3
+-2.533 G(he)-2.533 E F5(checkjobs)2.533 E F0 .033
+(shell option has been enabled)2.533 F 2.02(using the)108 540 R F5
(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 F3(checkjobs)4.519 E F0 2.019
+(arning message, and, if the)-.1 F F5(checkjobs)4.519 E F0 2.019
(option is)4.519 F .458(enabled, lists the jobs and their statuses.)108
-703.2 R(The)5.458 E F3(jobs)2.958 E F0 .459
+552 R(The)5.458 E F5(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 715.2 R .604
+5.459 F .604(second attempt to e)108 564 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 727.2 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(32)185.955 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.95/Times-Bold@0 SF(PR)72 84 Q(OMPTING)-.329 E F0 .644
-(When e)108 96 R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25
-G(ly).15 E(,)-.65 E/F2 10/Times-Bold@0 SF(bash)3.144 E F0 .645
-(displays the primary prompt)3.145 F/F3 9/Times-Bold@0 SF(PS1)3.145 E F0
-.645(when it is ready to read a command,)2.895 F 1.826
-(and the secondary prompt)108 108 R F3(PS2)4.326 E F0 1.825
-(when it needs more input to complete a command.)4.076 F F2(Bash)6.825 E
+(and an)108 576 Q 2.5(ys)-.15 G(topped jobs are terminated.)-2.5 E/F6
+10.95/Times-Bold@0 SF(PR)72 592.8 Q(OMPTING)-.329 E F0 .644(When e)108
+604.8 R -.15(xe)-.15 G .644(cuting interacti).15 F -.15(ve)-.25 G(ly).15
+E(,)-.65 E F5(bash)3.144 E F0 .645(displays the primary prompt)3.145 F
+F2(PS1)3.145 E F0 .645(when it is ready to read a command,)2.895 F 1.826
+(and the secondary prompt)108 616.8 R F2(PS2)4.326 E F0 1.825
+(when it needs more input to complete a command.)4.076 F F5(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 120 R(decoded as follo)108 132 Q(ws:)-.25 E F2(\\a)144 144 Q F0
-(an ASCII bell character \(07\))28.22 E F2(\\d)144 156 Q F0
+ are)108 628.8 R(decoded as follo)108 640.8 Q(ws:)-.25 E F5(\\a)144
+652.8 Q F0(an ASCII bell character \(07\))28.22 E F5(\\d)144 664.8 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 168 Q/F4 10/Times-Italic@0 SF(format)A
-F2(})A F0(the)180 180 Q F4(format)3.927 E F0 1.427(is passed to)3.927 F
-F4(strftime)3.927 E F0 1.427
+(ue May 26"\))-.45 E F5(\\D{)144 676.8 Q F1(format)A F5(})A F0(the)180
+688.8 Q F1(format)3.927 E F0 1.427(is passed to)3.927 F F1(strftime)
+3.927 E F0 1.427
(\(3\) and the result is inserted into the prompt string; an)B(empty)180
-192 Q F4(format)2.5 E F0
+700.8 Q F1(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 204 Q F0
-(an ASCII escape character \(033\))28.78 E F2(\\h)144 216 Q F0
-(the hostname up to the \214rst `.)27.66 E(')-.7 E F2(\\H)144 228 Q F0
-(the hostname)25.44 E F2(\\j)144 240 Q F0
-(the number of jobs currently managed by the shell)29.89 E F2(\\l)144
-252 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 264 Q F0(ne)27.66 E(wline)-.25 E F2
-(\\r)144 276 Q F0(carriage return)28.78 E F2(\\s)144 288 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
-300 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F2(\\T)144
-312 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F2(\\@)144
-324 Q F0(the current time in 12-hour am/pm format)23.92 E F2(\\A)144 336
-Q F0(the current time in 24-hour HH:MM format)26 E F2(\\u)144 348 Q F0
-(the username of the current user)27.66 E F2(\\v)144 360 Q F0(the v)
-28.22 E(ersion of)-.15 E F2(bash)2.5 E F0(\(e.g., 2.00\))2.5 E F2(\\V)
-144 372 Q F0(the release of)26 E F2(bash)2.5 E F0 2.5(,v)C
+(The braces are required)5 E F5(\\e)144 712.8 Q F0
+(an ASCII escape character \(033\))28.78 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(33)185.955 E 0 Cg EP
+%%Page: 34 34
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(\\h)144 84 Q F0
+(the hostname up to the \214rst `.)27.66 E(')-.7 E F1(\\H)144 96 Q F0
+(the hostname)25.44 E F1(\\j)144 108 Q F0
+(the number of jobs currently managed by the shell)29.89 E F1(\\l)144
+120 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 132 Q F0(ne)27.66 E(wline)-.25 E F1
+(\\r)144 144 Q F0(carriage return)28.78 E F1(\\s)144 156 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
+168 Q F0(the current time in 24-hour HH:MM:SS format)29.89 E F1(\\T)144
+180 Q F0(the current time in 12-hour HH:MM:SS format)26.55 E F1(\\@)144
+192 Q F0(the current time in 12-hour am/pm format)23.92 E F1(\\A)144 204
+Q F0(the current time in 24-hour HH:MM format)26 E F1(\\u)144 216 Q F0
+(the username of the current user)27.66 E F1(\\v)144 228 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 240 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 F2(\\w)144 384 Q F0 .115(the current w)26 F .115
-(orking directory)-.1 F 2.615(,w)-.65 G(ith)-2.615 E F3($HOME)2.615 E F0
-(abbre)2.365 E .116(viated with a tilde \(uses the v)-.25 F .116
-(alue of the)-.25 F F3(PR)180 396 Q(OMPT_DIR)-.27 E(TRIM)-.36 E F0 -.25
-(va)2.25 G(riable\)).25 E F2(\\W)144 408 Q F0
+-2.5 E F1(\\w)144 252 Q F0 .115(the current w)26 F .115
+(orking directory)-.1 F 2.615(,w)-.65 G(ith)-2.615 E/F2 9/Times-Bold@0
+SF($HOME)2.615 E F0(abbre)2.365 E .116(viated with a tilde \(uses the v)
+-.25 F .116(alue of the)-.25 F F2(PR)180 264 Q(OMPT_DIR)-.27 E(TRIM)-.36
+E F0 -.25(va)2.25 G(riable\)).25 E F1(\\W)144 276 Q F0
(the basename of the current w)23.22 E(orking directory)-.1 E 2.5(,w)
--.65 G(ith)-2.5 E F3($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde)
--.25 E F2(\\!)144 420 Q F0(the history number of this command)29.89 E F2
-(\\#)144 432 Q F0(the command number of this command)28.22 E F2(\\$)144
-444 Q F0(if the ef)28.22 E(fecti)-.25 E .3 -.15(ve U)-.25 H(ID is 0, a)
-.15 E F2(#)2.5 E F0 2.5(,o)C(therwise a)-2.5 E F2($)2.5 E(\\)144 456 Q
-F4(nnn)A F0(the character corresponding to the octal number)18.22 E F4
-(nnn)2.5 E F2(\\\\)144 468 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F2(\\[)
-144 480 Q F0(be)29.89 E 1.257(gin a sequence of non-printing characters\
-, which could be used to embed a terminal)-.15 F
-(control sequence into the prompt)180 492 Q F2(\\])144 504 Q F0
-(end a sequence of non-printing characters)29.89 E .119
-(The command number and the history number are usually dif)108 520.8 R
-.12(ferent: the history number of a command is its)-.25 F 1.585(positio\
-n in the history list, which may include commands restored from the his\
-tory \214le \(see)108 532.8 R F3(HIST)4.084 E(OR)-.162 E(Y)-.315 E F0
-(belo)108 544.8 Q .541(w\), while the command number is the position in\
- the sequence of commands e)-.25 F -.15(xe)-.15 G .541
-(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 556.8 R
+-.65 G(ith)-2.5 E F2($HOME)2.5 E F0(abbre)2.25 E(viated with a tilde)
+-.25 E F1(\\!)144 288 Q F0(the history number of this command)29.89 E F1
+(\\#)144 300 Q F0(the command number of this command)28.22 E F1(\\$)144
+312 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 324 Q
+/F3 10/Times-Italic@0 SF(nnn)A F0
+(the character corresponding to the octal number)18.22 E F3(nnn)2.5 E F1
+(\\\\)144 336 Q F0 2.5(ab)30.44 G(ackslash)-2.5 E F1(\\[)144 348 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 360 Q F1(\\])144 372 Q F0(end a sequence of non-printing characters)
+29.89 E .119(The command number and the history number are usually dif)
+108 388.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 400.8 R F2(HIST)4.084 E(OR)-.162 E(Y)
+-.315 E F0(belo)108 412.8 Q .541(w\), while the command number is the p\
+osition in the sequence of commands e)-.25 F -.15(xe)-.15 G .541
+(cuted during the cur).15 F(-)-.2 E .546(rent shell session.)108 424.8 R
.546(After the string is decoded, it is e)5.546 F .546
(xpanded via parameter e)-.15 F .546(xpansion, command substitu-)-.15 F
-.351(tion, arithmetic e)108 568.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 F2
+.351(tion, arithmetic e)108 436.8 R .352(xpansion, and quote remo)-.15 F
+-.25(va)-.15 G .352(l, subject to the v).25 F .352(alue of the)-.25 F F1
(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .352(shell option \(see the)2.852
-F(description of the)108 580.8 Q F2(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 F1(READLINE)72 597.6 Q F0 .151
+F(description of the)108 448.8 Q F1(shopt)2.5 E F0(command under)2.5 E
+F2(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
+-.25 E/F4 10.95/Times-Bold@0 SF(READLINE)72 465.6 Q F0 .151
(This is the library that handles reading input when using an interacti)
-108 609.6 R .45 -.15(ve s)-.25 H .15(hell, unless the).15 F F2
-(\255\255noediting)2.65 E F0(option)2.65 E 1.208(is gi)108 621.6 R -.15
+108 477.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 489.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 F2<ad65>3.709 E F0 1.209
-(option to the)3.709 F F2 -.18(re)3.709 G(ad).18 E F0 -.2(bu)3.709 G
-3.709(iltin. By).2 F(def)108 633.6 Q .95
-(ault, the line editing commands are similar to those of emacs.)-.1 F
-3.449(Av)5.949 G .949(i-style line editing interf)-3.449 F .949
-(ace is also)-.1 F -.2(av)108 645.6 S 3.35(ailable. Line)-.05 F .85
+(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 501.6 Q .851
+(ault, the line editing commands are similar to those of Emacs.)-.1 F
+3.351(Av)5.851 G .851(i-style line editing interf)-3.351 F .851
+(ace is also)-.1 F -.2(av)108 513.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 F2 .85(\255o emacs)3.35 F F0(or)3.35 E F2 .85(\255o vi)3.35 F F0
-.85(options to the)3.35 F F2(set)3.35 E F0 -.2(bu)3.35 G(iltin).2 E
-(\(see)108 657.6 Q F3 .763(SHELL B)3.263 F(UIL)-.09 E .763(TIN COMMANDS)
+-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 525.6 Q F2 .763(SHELL B)3.263 F(UIL)-.09 E .763(TIN COMMANDS)
-.828 F F0(belo)3.013 E 3.263(w\). T)-.25 F 3.263(ot)-.8 G .763(urn of)
-3.263 F 3.263(fl)-.25 G .763
-(ine editing after the shell is running, use the)-3.263 F F2(+o)3.262 E
-(emacs)108 669.6 Q F0(or)2.5 E F2(+o vi)2.5 E F0(options to the)2.5 E F2
-(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F2(Readline Notation)87 686.4 Q
-F0 .567(In this section, the emacs-style notation is used to denote k)
-108 698.4 R -.15(ey)-.1 G(strok).15 E 3.068(es. Control)-.1 F -.1(ke)
-3.068 G .568(ys are denoted by C\255)-.05 F F4 -.1(ke)C(y)-.2 E F0(,)A
-1.153(e.g., C\255n means Control\255N.)108 710.4 R(Similarly)6.153 E(,)
--.65 E F4(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
--.05 F F4 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652(oM)-3.652 G 1.152
-(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)108 722.4 S .83
-(yboards without a)-.05 F F4(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65
-(y, M)-.05 H<ad>.65 E F4(x)A F0 .83(means ESC)3.33 F F4(x)3.33 E F0 3.33
+(ine editing after the shell is running, use the)-3.263 F F1(+o)3.262 E
+(emacs)108 537.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 554.4 Q
+F0 .463(In this section, the Emacs-style notation is used to denote k)
+108 566.4 R -.15(ey)-.1 G(strok).15 E 2.963(es. Control)-.1 F -.1(ke)
+2.963 G .463(ys are denoted by C\255)-.05 F F3 -.1(ke)C(y)-.2 E F0(,)A
+1.153(e.g., C\255n means Control\255N.)108 578.4 R(Similarly)6.153 E(,)
+-.65 E F3(meta)4.033 E F0 -.1(ke)3.913 G 1.153(ys are denoted by M\255)
+-.05 F F3 -.1(ke)C(y)-.2 E F0 3.652(,s)C 3.652(oM)-3.652 G 1.152
+(\255x means Meta\255X.)-3.652 F(\(On)6.152 E -.1(ke)108 590.4 S .83
+(yboards without a)-.05 F F3(meta)3.71 E F0 -.1(ke)3.59 G 2.13 -.65
+(y, M)-.05 H<ad>.65 E F3(x)A F0 .83(means ESC)3.33 F F3(x)3.33 E F0 3.33
(,i)C .831(.e., press the Escape k)-3.33 F 1.131 -.15(ey t)-.1 H .831
-(hen the).15 F F4(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05 H
-.831(his mak).65 F(es)-.1 E(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(33)185.955 E 0 Cg EP
-%%Page: 34 34
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .6(ESC the)108 84 R/F1 10/Times-Italic@0 SF .6(meta pr)3.1 F
-(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F1(x)A F0
-.599(means ESC\255Control\255)3.099 F F1(x)A F0 3.099(,o)C 3.099(rp)
+(hen the).15 F F3(x)4.101 E F0 -.1(ke)3.861 G 4.631 -.65(y. T)-.05 H
+.831(his mak).65 F(es)-.1 E .6(ESC the)108 602.4 R F3 .6(meta pr)3.1 F
+(e\214x)-.37 E F0 5.6(.T)C .6(he combination M\255C\255)-5.6 F F3(x)A F0
+.599(means ESC\255Control\255)3.099 F F3(x)A F0 3.099(,o)C 3.099(rp)
-3.099 G .599(ress the Escape k)-3.099 F .899 -.15(ey t)-.1 H .599
-(hen hold).15 F(the Control k)108 96 Q .3 -.15(ey w)-.1 H
-(hile pressing the).15 E F1(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\))
-.65 E .619(Readline commands may be gi)108 112.8 R -.15(ve)-.25 G 3.119
-(nn).15 G(umeric)-3.119 E F1(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G
+(hen hold).15 F(the Control k)108 614.4 Q .3 -.15(ey w)-.1 H
+(hile pressing the).15 E F3(x)3.27 E F0 -.1(ke)3.03 G -.65(y.)-.05 G(\))
+.65 E .619(Readline commands may be gi)108 631.2 R -.15(ve)-.25 G 3.119
+(nn).15 G(umeric)-3.119 E F3(ar)3.119 E(guments)-.37 E F0 3.119(,w).27 G
.619(hich normally act as a repeat count.)-3.119 F(Sometimes,)5.62 E(ho)
-108 124.8 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G
+108 643.2 Q(we)-.25 E -.15(ve)-.25 G 1.419 -.4(r, i).15 H 3.119(ti).4 G
3.119(st)-3.119 G .619(he sign of the ar)-3.119 F .619
(gument that is signi\214cant.)-.18 F -.15(Pa)5.619 G .619(ssing a ne)
.15 F -.05(ga)-.15 G(ti).05 E .919 -.15(ve a)-.25 H -.18(rg).15 G .619
-(ument to a command that).18 F 1.018(acts in the forw)108 136.8 R 1.018
-(ard direction \(e.g.,)-.1 F/F2 10/Times-Bold@0 SF(kill\255line)3.518 E
-F0 3.518(\)c)C 1.018(auses that command to act in a backw)-3.518 F 1.019
-(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 148.8 Q
+(ument to a command that).18 F 1.018(acts in the forw)108 655.2 R 1.018
+(ard direction \(e.g.,)-.1 F F1(kill\255line)3.518 E F0 3.518(\)c)C
+1.018(auses that command to act in a backw)-3.518 F 1.019
+(ard direction.)-.1 F(Com-)6.019 E(mands whose beha)108 667.2 Q
(vior with ar)-.2 E(guments de)-.18 E(viates from this are noted belo)
--.25 E -.65(w.)-.25 G .812(When a command is described as)108 165.6 R F1
+-.25 E -.65(w.)-.25 G .812(When a command is described as)108 684 R F3
(killing)3.311 E F0(te)3.311 E .811(xt, the te)-.15 F .811
(xt deleted is sa)-.15 F -.15(ve)-.2 G 3.311(df).15 G .811
-(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F1
-(yank-)-3.311 E(ing)108 177.6 Q F0 2.529(\). The)B .029(killed te)2.529
-F .029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F1
+(or possible future retrie)-3.311 F -.25(va)-.25 G 3.311(l\().25 G F3
+(yank-)-3.311 E(ing)108 696 Q F0 2.529(\). The)B .029(killed te)2.529 F
+.029(xt is sa)-.15 F -.15(ve)-.2 G 2.529(di).15 G 2.529(na)-2.529 G F3
.029(kill ring)B F0 5.029(.C)C(onsecuti)-5.029 E .329 -.15(ve k)-.25 H
.029(ills cause the te).15 F .029(xt to be accumulated into one unit,)
--.15 F .567(which can be yank)108 189.6 R .567(ed all at once.)-.1 F
-.567(Commands which do not kill te)5.567 F .567
+-.15 F .567(which can be yank)108 708 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 201.6 Q F2(Readline Initialization)87 218.4 Q F0 .091(Readline is c\
-ustomized by putting commands in an initialization \214le \(the)108
-230.4 R F1(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 242.4 R .196(en from the v)
--.1 F .196(alue of the)-.25 F/F3 9/Times-Bold@0 SF(INPUTRC)2.696 E F0
--.25(va)2.446 G 2.696(riable. If).25 F .196(that v)2.696 F .196
-(ariable is unset, the def)-.25 F .196(ault is)-.1 F F1(~/.inputr)2.696
-E(c)-.37 E F0 5.196(.W).31 G .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 254.4 R 1.335 -.15(ey b)-.1 H 1.035(indings and).15 F -.25
-(va)108 266.4 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 278.4 R .737(Lines be)5.737 F .737
-(ginning with a)-.15 F F2(#)3.237 E F0 .737(are comments.)3.237 F .737
-(Lines be)5.737 F .737(ginning with a)-.15 F F2($)3.237 E F0 .737
-(indicate conditional)3.237 F 2.5(constructs. Other)108 290.4 R
+108 720 Q(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(34)185.955 E
+0 Cg EP
+%%Page: 35 35
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(Readline Initialization)87 84 Q F0 .091(Re\
+adline is customized by putting commands in an initialization \214le \(\
+the)108 96 R/F2 10/Times-Italic@0 SF(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
+108 R .196(en from the v)-.1 F .196(alue of the)-.25 F/F3 9/Times-Bold@0
+SF(INPUTRC)2.696 E F0 -.25(va)2.446 G 2.696(riable. If).25 F .196
+(that v)2.696 F .196(ariable is unset, the def)-.25 F .196(ault is)-.1 F
+F2(~/.inputr)2.696 E(c)-.37 E F0 5.196(.W).31 G .196(hen a)-5.196 F
+1.034(program which uses the readline library starts up, the initializa\
+tion \214le is read, and the k)108 120 R 1.335 -.15(ey b)-.1 H 1.035
+(indings and).15 F -.25(va)108 132 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 144 R .737(Lines be)5.737 F .737
+(ginning with a)-.15 F F1(#)3.237 E F0 .737(are comments.)3.237 F .737
+(Lines be)5.737 F .737(ginning with a)-.15 F F1($)3.237 E F0 .737
+(indicate conditional)3.237 F 2.5(constructs. Other)108 156 R
(lines denote k)2.5 E .3 -.15(ey b)-.1 H(indings and v).15 E
-(ariable settings.)-.25 E .987(The def)108 307.2 R .987(ault k)-.1 F
--.15(ey)-.1 G .987(-bindings may be changed with an).15 F F1(inputr)
+(ariable settings.)-.25 E .987(The def)108 172.8 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 319.2 Q
-(wn commands and bindings.)-.25 E -.15(Fo)108 336 S 2.5(re).15 G
-(xample, placing)-2.65 E(M\255Control\255u: uni)144 352.8 Q -.15(ve)-.25
-G(rsal\255ar).15 E(gument)-.18 E(or)108 364.8 Q(C\255Meta\255u: uni)144
-376.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 388.8
-Q F1(inputr)2.51 E(c)-.37 E F0 -.1(wo)2.81 G(uld mak).1 E 2.5(eM)-.1 G
-(\255C\255u e)-2.5 E -.15(xe)-.15 G(cute the readline command).15 E F1
+(programs that use this library may)3.487 F(add their o)108 184.8 Q
+(wn commands and bindings.)-.25 E -.15(Fo)108 201.6 S 2.5(re).15 G
+(xample, placing)-2.65 E(M\255Control\255u: uni)144 218.4 Q -.15(ve)-.25
+G(rsal\255ar).15 E(gument)-.18 E(or)108 230.4 Q(C\255Meta\255u: uni)144
+242.4 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E(into the)108 254.4
+Q F2(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 F2
(univer)2.5 E(sal\255ar)-.1 E(gument)-.37 E F0(.).68 E 1.26(The follo)
-108 405.6 R 1.261(wing symbolic character names are recognized:)-.25 F
-F1 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F1(DEL)3.761 E F0(,).53 E F1
-(ESC)3.761 E F0(,).72 E F1(LFD)3.761 E F0(,).28 E F1(NEWLINE)3.761 E F0
-(,).73 E F1(RET)3.761 E F0(,)1.27 E F1(RETURN)108 417.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 434.4 R .209(ws k)-.25
-F -.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
+108 271.2 R 1.261(wing symbolic character names are recognized:)-.25 F
+F2 -.4(RU)3.761 G(BOUT).4 E F0(,)1.27 E F2(DEL)3.761 E F0(,).53 E F2
+(ESC)3.761 E F0(,).72 E F2(LFD)3.761 E F0(,).28 E F2(NEWLINE)3.761 E F0
+(,).73 E F2(RET)3.761 E F0(,)1.27 E F2(RETURN)108 283.2 Q F0(,)1.1 E F2
+(SPC)2.5 E F0(,).72 E F2(SP)2.5 E -.3(AC)-.9 G(E).3 E F0 2.5(,a).73 G
+(nd)-2.5 E F2 -.5(TA)2.5 G(B).5 E F0(.).27 E .209
+(In addition to command names, readline allo)108 300 R .209(ws k)-.25 F
+-.15(ey)-.1 G 2.709(st).15 G 2.709(ob)-2.709 G 2.709(eb)-2.709 G .209
(ound to a string that is inserted when the k)-2.709 F .509 -.15(ey i)
--.1 H(s).15 E(pressed \(a)108 446.4 Q F1(macr)2.5 E(o)-.45 E F0(\).)A F2
-(Readline K)87 463.2 Q(ey Bindings)-.25 E F0 .366
-(The syntax for controlling k)108 475.2 R .666 -.15(ey b)-.1 H .366
-(indings in the).15 F F1(inputr)2.876 E(c)-.37 E F0 .366
+-.1 H(s).15 E(pressed \(a)108 312 Q F2(macr)2.5 E(o)-.45 E F0(\).)A F1
+(Readline K)87 328.8 Q(ey Bindings)-.25 E F0 .366
+(The syntax for controlling k)108 340.8 R .666 -.15(ey b)-.1 H .366
+(indings in the).15 F F2(inputr)2.876 E(c)-.37 E F0 .366
(\214le is simple.)3.176 F .366(All that is required is the name of the)
-5.366 F .383(command or the te)108 487.2 R .383(xt of a macro and a k)
+5.366 F .383(command or the te)108 352.8 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 499.2 R 3.353(ow)-.1 G .853
+(\214ed in one of tw)108 364.8 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)
+(ame, possibly with).15 F F2(Meta\255)3.353 E F0(or)3.353 E F2(Contr)
3.353 E(ol\255)-.45 E F0(pre\214x)3.353 E .853(es, or as a k)-.15 F -.15
-(ey)-.1 G(sequence.)108 511.2 Q 1.542(When using the form)108 528 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
+(ey)-.1 G(sequence.)108 376.8 Q 1.542(When using the form)108 393.6 R F1
+-.1(ke)4.042 G(yname).1 E F0(:)A F2(function\255name).833 E F0(or)4.042
+E F2(macr)4.042 E(o)-.45 E F0(,)A F2 -.1(ke)4.042 G(yname)-.2 E F0 1.542
(is the name of a k)4.222 F 1.841 -.15(ey s)-.1 H 1.541(pelled out in)
-.15 F 2.5(English. F)108 540 R(or e)-.15 E(xample:)-.15 E
-(Control-u: uni)144 564 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E
-(Meta-Rubout: backw)144 576 Q(ard-kill-w)-.1 E(ord)-.1 E
-(Control-o: "> output")144 588 Q .698(In the abo)108 604.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 616.8 Q F2
-(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F1
+.15 F 2.5(English. F)108 405.6 R(or e)-.15 E(xample:)-.15 E
+(Control-u: uni)144 429.6 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18
+E(Meta-Rubout: backw)144 441.6 Q(ard-kill-w)-.1 E(ord)-.1 E
+(Control-o: "> output")144 453.6 Q .698(In the abo)108 470.4 R .998 -.15
+(ve ex)-.15 H(ample,).15 E F2(C\255u)3.038 E F0 .698
+(is bound to the function)3.448 F F1(uni)3.198 E -.1(ve)-.1 G
+(rsal\255ar).1 E(gument)-.1 E F0(,)A F2(M\255DEL)3.878 E F0 .698
+(is bound to the func-)3.728 F(tion)108 482.4 Q F1
+(backward\255kill\255w)2.759 E(ord)-.1 E F0 2.759(,a)C(nd)-2.759 E F2
(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
-628.8 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
-(into the line\).)2.5 E .055(In the second form,)108 645.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
+494.4 Q(xt)-.15 E/F4 10/Courier@0 SF 6(>o)2.5 G(utput)-6 E F0
+(into the line\).)2.5 E .055(In the second form,)108 511.2 R F1("k)2.555
+E(eyseq")-.1 E F0(:)A F2(function\255name).833 E F0(or)2.555 E F2(macr)
+2.555 E(o)-.45 E F0(,)A F1 -.1(ke)2.555 G(yseq).1 E F0(dif)2.556 E .056
+(fers from)-.25 F F1 -.1(ke)2.556 G(yname).1 E F0(abo)2.556 E .356 -.15
(ve i)-.15 H 2.556(nt).15 G .056(hat strings)-2.556 F 1.284
-(denoting an entire k)108 657.6 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
+(denoting an entire k)108 523.2 R 1.584 -.15(ey s)-.1 H 1.284(equence m\
ay be speci\214ed by placing the sequence within double quotes.).15 F
-(Some)6.284 E .385(GNU Emacs style k)108 669.6 R .685 -.15(ey e)-.1 H
+(Some)6.284 E .385(GNU Emacs style k)108 535.2 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 681.6 Q("\\C\255u": uni)144 705.6 Q -.15(ve)
+(are not recognized.)108 547.2 Q("\\C\255u": uni)144 571.2 Q -.15(ve)
-.25 G(rsal\255ar).15 E(gument)-.18 E
-("\\C\255x\\C\255r": re\255read\255init\255\214le)144 717.6 Q
-("\\e[11~": "Function K)144 729.6 Q .3 -.15(ey 1)-.25 H(").15 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(34)185.955 E 0 Cg EP
-%%Page: 35 35
+("\\C\255x\\C\255r": re\255read\255init\255\214le)144 583.2 Q
+("\\e[11~": "Function K)144 595.2 Q .3 -.15(ey 1)-.25 H(").15 E .315
+(In this e)108 612 R(xample,)-.15 E F2(C\255u)2.655 E F0 .315(is ag)
+3.065 F .315(ain bound to the function)-.05 F F1(uni)2.815 E -.1(ve)-.1
+G(rsal\255ar).1 E(gument)-.1 E F0(.)A F2 .315(C\255x C\255r)5.155 F F0
+.314(is bound to the func-)3.544 F(tion)108 624 Q F1 -.18(re)2.5 G<ad72>
+.18 E(ead\255init\255\214le)-.18 E F0 2.5(,a)C(nd)-2.5 E F2(ESC [ 1 1 ~)
+3.01 E F0(is bound to insert the te)3.94 E(xt)-.15 E F4(Function Key 1)
+2.5 E F0(.)A(The full set of GNU Emacs style escape sequences is)108
+640.8 Q F1<5c43ad>144 652.8 Q F0(control pre\214x)20.3 E F1<5c4dad>144
+664.8 Q F0(meta pre\214x)18.08 E F1(\\e)144 676.8 Q F0
+(an escape character)28.78 E F1(\\\\)144 688.8 Q F0(backslash)30.44 E F1
+(\\")144 700.8 Q F0(literal ")27.67 E F1<5c08>144 712.8 Q F0
+(literal \010)30.44 E(In addition to the GNU Emacs style escape sequenc\
+es, a second set of backslash escapes is a)108 729.6 Q -.25(va)-.2 G
+(ilable:).25 E(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(35)
+185.955 E 0 Cg EP
+%%Page: 36 36
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .315(In this e)108 84 R(xample,)-.15 E/F1 10/Times-Italic@0 SF
-(C\255u)2.655 E F0 .315(is ag)3.065 F .315(ain bound to the function)
--.05 F/F2 10/Times-Bold@0 SF(uni)2.815 E -.1(ve)-.1 G(rsal\255ar).1 E
-(gument)-.1 E F0(.)A F1 .315(C\255x C\255r)5.155 F F0 .314
-(is bound to the func-)3.544 F(tion)108 96 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 10/Courier@0 SF
-(Function Key 1)2.5 E F0(.)A
-(The full set of GNU Emacs style escape sequences is)108 112.8 Q F2
-<5c43ad>144 124.8 Q F0(control pre\214x)20.3 E F2<5c4dad>144 136.8 Q F0
-(meta pre\214x)18.08 E F2(\\e)144 148.8 Q F0(an escape character)28.78 E
-F2(\\\\)144 160.8 Q F0(backslash)30.44 E F2(\\")144 172.8 Q F0
-(literal ")27.67 E F2<5c08>144 184.8 Q F0(literal \010)30.44 E(In addit\
-ion to the GNU Emacs style escape sequences, a second set of backslash \
-escapes is a)108 201.6 Q -.25(va)-.2 G(ilable:).25 E F2(\\a)144 213.6 Q
-F0(alert \(bell\))28.22 E F2(\\b)144 225.6 Q F0(backspace)27.66 E F2
-(\\d)144 237.6 Q F0(delete)27.66 E F2(\\f)144 249.6 Q F0(form feed)29.89
-E F2(\\n)144 261.6 Q F0(ne)27.66 E(wline)-.25 E F2(\\r)144 273.6 Q F0
-(carriage return)28.78 E F2(\\t)144 285.6 Q F0(horizontal tab)29.89 E F2
-(\\v)144 297.6 Q F0 -.15(ve)28.22 G(rtical tab).15 E F2(\\)144 309.6 Q
-F1(nnn)A F0(the eight-bit character whose v)18.22 E(alue is the octal v)
--.25 E(alue)-.25 E F1(nnn)2.5 E F0(\(one to three digits\))2.5 E F2(\\x)
-144 321.6 Q F1(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 F1(HH)2.5 E F0
-(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141
-(When entering the te)108 338.4 R 1.141(xt of a macro, single or double\
+-.35 E/F1 10/Times-Bold@0 SF(\\a)144 84 Q F0(alert \(bell\))28.22 E F1
+(\\b)144 96 Q F0(backspace)27.66 E F1(\\d)144 108 Q F0(delete)27.66 E F1
+(\\f)144 120 Q F0(form feed)29.89 E F1(\\n)144 132 Q F0(ne)27.66 E
+(wline)-.25 E F1(\\r)144 144 Q F0(carriage return)28.78 E F1(\\t)144 156
+Q F0(horizontal tab)29.89 E F1(\\v)144 168 Q F0 -.15(ve)28.22 G
+(rtical tab).15 E F1(\\)144 180 Q/F2 10/Times-Italic@0 SF(nnn)A F0
+(the eight-bit character whose v)18.22 E(alue is the octal v)-.25 E
+(alue)-.25 E F2(nnn)2.5 E F0(\(one to three digits\))2.5 E F1(\\x)144
+192 Q F2(HH)A F0(the eight-bit character whose v)13.78 E(alue is the he)
+-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E
+2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E 1.141
+(When entering the te)108 208.8 R 1.141(xt of a macro, single or double\
quotes must be used to indicate a macro de\214nition.)-.15 F .09
-(Unquoted te)108 350.4 R .09(xt is assumed to be a function name.)-.15 F
+(Unquoted te)108 220.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
-362.4 Q 2.5(xpanded. Backslash)-.15 F(will quote an)2.5 E 2.5(yo)-.15 G
+232.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
-F2(Bash)108 379.2 Q F0(allo)2.929 E .429(ws the current readline k)-.25
+F1(Bash)108 249.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 F2(bind)2.93 E F0
+(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 391.2 R .346 -.15
-(ve u)-.25 H .046(se by using the).15 F F2<ad6f>2.545 E F0 .045
-(option to the)2.545 F F2(set)2.545 E F0 -.2(bu)2.545 G .045
-(iltin command).2 F(\(see)108 403.2 Q/F4 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 F2
-(Readline V)87 420 Q(ariables)-.92 E F0 .043(Readline has v)108 432 R
-.043(ariables that can be used to further customize its beha)-.25 F
+(The editing mode may be switched during interacti)108 261.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 273.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 290.4 Q(ariables)-.92 E F0 .043(Readline has v)108 302.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 F1(inpu-)2.554 E(tr)108 444 Q(c)-.37 E
-F0(\214le with a statement of the form)2.81 E F2(set)144 460.8 Q F1
+(riable may be set in the).25 F F2(inpu-)2.554 E(tr)108 314.4 Q(c)-.37 E
+F0(\214le with a statement of the form)2.81 E F1(set)144 331.2 Q F2
(variable\255name value)2.5 E F0 .79(Except where noted, readline v)108
-477.6 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F
-(alues)-.25 E F2(On)3.29 E F0(or)3.29 E F2(Off)3.29 E F0 .79
-(\(without re)3.29 F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)
-5.79 E .448(nized v)108 489.6 R .448(ariable names are ignored.)-.25 F
-.448(When a v)5.448 F .448(ariable v)-.25 F .448
-(alue is read, empty or null v)-.25 F .449(alues, "on" \(case-insensi-)
--.25 F(ti)108 501.6 Q -.15(ve)-.25 G .468(\), and "1" are equi).15 F
--.25(va)-.25 G .468(lent to).25 F F2(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 F2(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 513.6 S(lues are:)
-.25 E F2(bell\255style \(audible\))108 530.4 Q F0 .01
-(Controls what happens when readline w)144 542.4 R .011
-(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F2(none)
+348 R .79(ariables can tak)-.25 F 3.29(et)-.1 G .79(he v)-3.29 F(alues)
+-.25 E F1(On)3.29 E F0(or)3.29 E F1(Off)3.29 E F0 .79(\(without re)3.29
+F -.05(ga)-.15 G .79(rd to case\).).05 F(Unrecog-)5.79 E .448(nized v)
+108 360 R .448(ariable names are ignored.)-.25 F .448(When a v)5.448 F
+.448(ariable v)-.25 F .448(alue is read, empty or null v)-.25 F .449
+(alues, "on" \(case-insensi-)-.25 F(ti)108 372 Q -.15(ve)-.25 G .468
+(\), and "1" are equi).15 F -.25(va)-.25 G .468(lent to).25 F F1(On)
+2.968 E F0 5.468(.A)C .468(ll other v)-5.468 F .468(alues are equi)-.25
+F -.25(va)-.25 G .468(lent to).25 F F1(Off)2.968 E F0 5.468(.T)C .467
+(he v)-5.468 F .467(ariables and their def)-.25 F(ault)-.1 E -.25(va)108
+384 S(lues are:).25 E F1(bell\255style \(audible\))108 400.8 Q F0 .01
+(Controls what happens when readline w)144 412.8 R .011
+(ants to ring the terminal bell.)-.1 F .011(If set to)5.011 F F1(none)
2.511 E F0 2.511(,r)C .011(eadline ne)-2.511 F -.15(ve)-.25 G(r).15 E
-.94(rings the bell.)144 554.4 R .94(If set to)5.94 F F2(visible)3.44 E
+.94(rings the bell.)144 424.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 F2(audible)3.44 E F0
-(,)A(readline attempts to ring the terminal')144 566.4 Q 2.5(sb)-.55 G
-(ell.)-2.5 E F2(bind\255tty\255special\255chars \(On\))108 578.4 Q F0
-.055(If set to)144 590.4 R F2(On)2.555 E F0 2.555(,r)C .056(eadline att\
+(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 436.8 Q 2.5(sb)-.55 G
+(ell.)-2.5 E F1(bind\255tty\255special\255chars \(On\))108 448.8 Q F0
+.055(If set to)144 460.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 602.4 Q -.15
+(ernel')-.1 E 2.556(st)-.55 G(ermi-)-2.556 E(nal dri)144 472.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 F2(comment\255begin \(`)108 614.4 Q(`#')-.63 E('\))
--.63 E F0 .885(The string that is inserted when the readline)144 626.4 R
-F2(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 638.4 Q F2
-(M\255#)2.5 E F0(in emacs mode and to)2.5 E F2(#)2.5 E F0
-(in vi command mode.)2.5 E F2(completion\255ignor)108 650.4 Q
-(e\255case \(Off\))-.18 E F0(If set to)144 662.4 Q F2(On)2.5 E F0 2.5
+-.25 G(lents.).25 E F1(comment\255begin \(`)108 484.8 Q(`#')-.63 E('\))
+-.63 E F0 .885(The string that is inserted when the readline)144 496.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 508.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 520.8 Q
+(e\255case \(Off\))-.18 E F0(If set to)144 532.8 Q F1(On)2.5 E F0 2.5
(,r)C(eadline performs \214lename matching and completion in a case\255\
-insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F2(completion\255pr)
-108 674.4 Q(e\214x\255display\255length \(0\))-.18 E F0 .829(The length\
+insensiti)-2.5 E .3 -.15(ve f)-.25 H(ashion.).05 E F1(completion\255pr)
+108 544.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 686.4 R 1.275(without modi\214cation.)144 698.4 R
+ that is displayed)144 556.8 R 1.275(without modi\214cation.)144 568.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 710.4 S(lue are replaced with a\
-n ellipsis when displaying possible completions.).25 E(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(35)185.955 E 0 Cg EP
-%%Page: 36 36
+(es longer than this)-.15 F -.25(va)144 580.8 S(lue are replaced with a\
+n ellipsis when displaying possible completions.).25 E F1
+(completion\255query\255items \(100\))108 592.8 Q F0 .529
+(This determines when the user is queried about vie)144 604.8 R .53
+(wing the number of possible completions gen-)-.25 F .561(erated by the)
+144 616.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
+628.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 640.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 652.8 Q F1(con)108
+664.8 Q -.1(ve)-.4 G(rt\255meta \(On\)).1 E F0 .612(If set to)144 676.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 688.8 R .541(fect, using escape as the)-.25 F F2 .541(meta pr)3.041
+F(e-)-.37 E<8c78>144 700.8 Q F0(\).)A(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(36)185.955 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(completion\255query\255items \(100\))108 84
-Q F0 .529(This determines when the user is queried about vie)144 96 R
-.53(wing the number of possible completions gen-)-.25 F .561
-(erated by the)144 108 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 120 R .783(If the number of possible completions is\
- greater than or equal to the v)5.782 F .783(alue of this)-.25 F -.25
-(va)144 132 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 144 Q F1(con)108 156 Q -.1(ve)-.4 G
-(rt\255meta \(On\)).1 E F0 .612(If set to)144 168 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 180 R .541(fect, using escape as the)-.25 F/F2 10/Times-Italic@0 SF
-.541(meta pr)3.041 F(e-)-.37 E<8c78>144 192 Q F0(\).)A F1
-(disable\255completion \(Off\))108 204 Q F0 .038(If set to)144 216 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
+-.35 E/F1 10/Times-Bold@0 SF(disable\255completion \(Off\))108 84 Q F0
+.038(If set to)144 96 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 228 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 240 Q F0 .253
-(Controls whether readline be)144 252 R .253(gins with a set of k)-.15 F
-.553 -.15(ey b)-.1 H .253(indings similar to).15 F F2(emacs)2.752 E F0
-(or)2.752 E F2(vi)2.752 E F0(.)A F1(editing\255mode)5.252 E F0
-(can be set to either)144 264 Q F1(emacs)2.5 E F0(or)2.5 E F1(vi)2.5 E
-F0(.)A F1(echo\255contr)108 276 Q(ol\255characters \(On\))-.18 E F0 1.21
-(When set to)144 288 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71 G 1.211
-(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211
+144 108 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 120 Q F0 .142
+(Controls whether readline be)144 132 R .141(gins with a set of k)-.15 F
+.441 -.15(ey b)-.1 H .141(indings similar to).15 F/F2 10/Times-Italic@0
+SF(Emacs)2.641 E F0(or)2.641 E F2(vi)2.641 E F0(.)A F1(editing\255mode)
+5.141 E F0(can be set to either)144 144 Q F1(emacs)2.5 E F0(or)2.5 E F1
+(vi)2.5 E F0(.)A F1(echo\255contr)108 156 Q(ol\255characters \(On\))-.18
+E F0 1.21(When set to)144 168 R F1(On)3.71 E F0 3.71(,o)C 3.71(no)-3.71
+G 1.211(perating systems that indicate the)-3.71 F 3.711(ys)-.15 G 1.211
(upport it, readline echoes a character)-3.711 F
-(corresponding to a signal generated from the k)144 300 Q -.15(ey)-.1 G
-(board.).15 E F1(enable\255k)108 312 Q(eypad \(Off\))-.1 E F0 .893
-(When set to)144 324 R F1(On)3.393 E F0 3.393(,r)C .893
+(corresponding to a signal generated from the k)144 180 Q -.15(ey)-.1 G
+(board.).15 E F1(enable\255k)108 192 Q(eypad \(Off\))-.1 E F0 .893
+(When set to)144 204 R F1(On)3.393 E F0 3.393(,r)C .893
(eadline will try to enable the application k)-3.393 F -.15(ey)-.1 G
.893(pad when it is called.).15 F .892(Some sys-)5.893 F
-(tems need this to enable the arro)144 336 Q 2.5(wk)-.25 G -.15(ey)-2.6
-G(s.).15 E F1(enable\255meta\255k)108 348 Q(ey \(On\))-.1 E F0 .64
-(When set to)144 360 R F1(On)3.14 E F0 3.14(,r)C .64
+(tems need this to enable the arro)144 216 Q 2.5(wk)-.25 G -.15(ey)-2.6
+G(s.).15 E F1(enable\255meta\255k)108 228 Q(ey \(On\))-.1 E F0 .64
+(When set to)144 240 R F1(On)3.14 E F0 3.14(,r)C .64
(eadline will try to enable an)-3.14 F 3.14(ym)-.15 G .64
(eta modi\214er k)-3.14 F .94 -.15(ey t)-.1 H .64
-(he terminal claims to support).15 F(when it is called.)144 372 Q
+(he terminal claims to support).15 F(when it is called.)144 252 Q
(On man)5 E 2.5(yt)-.15 G(erminals, the meta k)-2.5 E .3 -.15(ey i)-.1 H
2.5(su).15 G(sed to send eight-bit characters.)-2.5 E F1
-(expand\255tilde \(Off\))108 384 Q F0(If set to)144 396 Q F1(on)2.5 E F0
+(expand\255tilde \(Off\))108 264 Q F0(If set to)144 276 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 408 Q(eser)-.18 E -.1
-(ve)-.1 G(\255point \(Off\)).1 E F0 1.493(If set to)144 420 R F1(on)
-3.993 E F0 3.993(,t)C 1.493(he history code attempts to place point at \
-the same location on each history line)-3.993 F(retrie)144 432 Q -.15
+-.15 E(ord completion.)-.1 E F1(history\255pr)108 288 Q(eser)-.18 E -.1
+(ve)-.1 G(\255point \(Off\)).1 E F0 1.339(If set to)144 300 R F1(On)
+3.839 E F0 3.839(,t)C 1.338(he history code attempts to place point at \
+the same location on each history line)-3.839 F(retrie)144 312 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 444 Q F0 .462
-(Set the maximum number of history entries sa)144 456 R -.15(ve)-.2 G
+(history\255size \(0\))108 324 Q F0 .462
+(Set the maximum number of history entries sa)144 336 R -.15(ve)-.2 G
2.963(di).15 G 2.963(nt)-2.963 G .463(he history list.)-2.963 F .463
(If set to zero, the number of)5.463 F
-(entries in the history list is not limited.)144 468 Q F1
-(horizontal\255scr)108 480 Q(oll\255mode \(Off\))-.18 E F0 .449
-(When set to)144 492 R F1(On)2.949 E F0 2.949(,m)C(ak)-2.949 E .448
+(entries in the history list is not limited.)144 348 Q F1
+(horizontal\255scr)108 360 Q(oll\255mode \(Off\))-.18 E F0 .449
+(When set to)144 372 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 504 R(w)-.25 E(line.)144 516 Q F1(input\255meta \(Off\))108 528
-Q F0 .228(If set to)144 540 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \
+ ne)144 384 R(w)-.25 E(line.)144 396 Q F1(input\255meta \(Off\))108 408
+Q F0 .228(If set to)144 420 R F1(On)2.728 E F0 2.728(,r)C .227(eadline \
will enable eight-bit input \(that is, it will not strip the high bit f\
-rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 552 R -.05
+rom the char)-2.728 F(-)-.2 E .956(acters it reads\), re)144 432 R -.05
(ga)-.15 G .956(rdless of what the terminal claims it can support.).05 F
.957(The name)5.956 F F1(meta\255\215ag)3.457 E F0 .957(is a)3.457 F
-(synon)144 564 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 576 Q
+(synon)144 444 Q(ym for this v)-.15 E(ariable.)-.25 E F1(isear)108 456 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 588 R -.15(xe)-.15 G(cut-).15 E .934
-(ing the character as a command.)144 600 R .935(If this v)5.935 F .935
+thout subsequently e)144 468 R -.15(xe)-.15 G(cut-).15 E .934
+(ing the character as a command.)144 480 R .935(If this v)5.935 F .935
(ariable has not been gi)-.25 F -.15(ve)-.25 G 3.435(nav).15 G .935
-(alue, the characters)-3.685 F F2(ESC)3.435 E F0(and)144 612 Q F2
+(alue, the characters)-3.685 F F2(ESC)3.435 E F0(and)144 492 Q F2
(C\255J)2.5 E F0(will terminate an incremental search.)2.5 E F1 -.1(ke)
-108 624 S(ymap \(emacs\)).1 E F0 2.021(Set the current readline k)144
-636 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021
+108 504 S(ymap \(emacs\)).1 E F0 2.021(Set the current readline k)144
+516 R -.15(ey)-.1 G 4.521(map. The).15 F 2.021(set of v)4.521 F 2.021
(alid k)-.25 F -.15(ey)-.1 G 2.021(map names is).15 F F2 2.02
(emacs, emacs\255standar)4.52 F(d,)-.37 E .068
-(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 648 R F0 2.568(,a)C
+(emacs\255meta, emacs\255ctlx, vi, vi\255command)144 528 R F0 2.568(,a)C
(nd)-2.568 E F2(vi\255insert)2.568 E F0(.).68 E F2(vi)5.068 E F0 .068
(is equi)2.568 F -.25(va)-.25 G .068(lent to).25 F F2(vi\255command)
-2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 660 R -.25(va)-.25
+2.569 E F0(;)A F2(emacs)2.569 E F0 1.544(is equi)144 540 R -.25(va)-.25
G 1.544(lent to).25 F F2(emacs\255standar)4.044 E(d)-.37 E F0 6.544(.T)C
1.544(he def)-6.544 F 1.544(ault v)-.1 F 1.544(alue is)-.25 F F2(emacs)
4.044 E F0 4.044(;t).27 G 1.544(he v)-4.044 F 1.544(alue of)-.25 F F1
-(editing\255mode)4.043 E F0(also)4.043 E(af)144 672 Q(fects the def)-.25
-E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 684 Q
-(ectories \(On\))-.18 E F0(If set to)144 696 Q F1(On)2.5 E F0 2.5(,c)C
+(editing\255mode)4.043 E F0(also)4.043 E(af)144 552 Q(fects the def)-.25
+E(ault k)-.1 E -.15(ey)-.1 G(map.).15 E F1(mark\255dir)108 564 Q
+(ectories \(On\))-.18 E F0(If set to)144 576 Q F1(On)2.5 E F0 2.5(,c)C
(ompleted directory names ha)-2.5 E .3 -.15(ve a s)-.2 H(lash appended.)
-.15 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(36)185.955 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(mark\255modi\214ed\255lines \(Off\))108 84
-Q F0(If set to)144 96 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)
--2.5 E .3 -.15(ve b)-.2 H
-(een modi\214ed are displayed with a preceding asterisk \().15 E F1(*)A
-F0(\).)A F1(mark\255symlink)108 108 Q(ed\255dir)-.1 E(ectories \(Off\))
--.18 E F0 .175(If set to)144 120 R F1(On)2.675 E F0 2.675(,c)C .175
+.15 E F1(mark\255modi\214ed\255lines \(Off\))108 588 Q F0(If set to)144
+600 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
+-.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1
+(*)A F0(\).)A F1(mark\255symlink)108 612 Q(ed\255dir)-.1 E
+(ectories \(Off\))-.18 E F0 .175(If set to)144 624 R F1(On)2.675 E F0
+2.675(,c)C .175
(ompleted names which are symbolic links to directories ha)-2.675 F .475
--.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 132
+-.15(ve a s)-.2 H .175(lash appended \(sub-).15 F(ject to the v)144 636
Q(alue of)-.25 E F1(mark\255dir)2.5 E(ectories)-.18 E F0(\).)A F1
-(match\255hidden\255\214les \(On\))108 144 Q F0 .193(This v)144 156 R
+(match\255hidden\255\214les \(On\))108 648 Q F0 .193(This v)144 660 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 168 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 180
-Q F1(output\255meta \(Off\))108 192 Q F0 .507(If set to)144 204 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 216 Q
-(ed escape sequence.)-.15 E F1(page\255completions \(On\))108 228 Q F0
-.808(If set to)144 240 R F1(On)3.308 E F0 3.308(,r)C .808
-(eadline uses an internal)-3.308 F/F2 10/Times-Italic@0 SF(mor)3.308 E
-(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
+(gin with a `.)-.15 F 2.692('\()-.7 G(hidden)-2.692 E .456
+(\214les\) when performing \214lename completion.)144 672 R .456
+(If set to)5.456 F F1(Off)2.956 E F0 2.956(,t)C .456(he leading `.)
+-2.956 F 2.956('m)-.7 G .457(ust be supplied by the)-2.956 F
+(user in the \214lename to be completed.)144 684 Q F1
+(menu\255complete\255display\255pr)108 696 Q(e\214x \(Off\))-.18 E F0
+1.586(If set to)144 708 R F1(On)4.086 E F0 4.086(,m)C 1.585(enu complet\
+ion displays the common pre\214x of the list of possible completions)
+-4.086 F(\(which may be empty\) before c)144 720 Q
+(ycling through the list.)-.15 E(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(37)185.955 E 0 Cg EP
+%%Page: 38 38
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(output\255meta \(Off\))108 84 Q F0 .506
+(If set to)144 96 R F1(On)3.006 E F0 3.006(,r)C .507(eadline will displ\
+ay characters with the eighth bit set directly rather than as a meta-)
+-3.006 F(pre\214x)144 108 Q(ed escape sequence.)-.15 E F1
+(page\255completions \(On\))108 120 Q F0 .809(If set to)144 132 R F1(On)
+3.308 E F0 3.308(,r)C .808(eadline uses an internal)-3.308 F/F2 10
+/Times-Italic@0 SF(mor)3.308 E(e)-.37 E F0(-lik)A 3.308(ep)-.1 G .808
(ager to display a screenful of possible comple-)-3.308 F
-(tions at a time.)144 252 Q F1
-(print\255completions\255horizontally \(Off\))108 264 Q F0 1.319
-(If set to)144 276 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 288 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
-E F1 -2.29 -.18(re v)108 300 T(ert\255all\255at\255newline \(Off\)).08 E
-F0 .872(If set to)144 312 R F1(on)3.372 E F0 3.372(,r)C .873
+(tions at a time.)144 144 Q F1
+(print\255completions\255horizontally \(Off\))108 156 Q F0 1.318
+(If set to)144 168 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
+F(order)144 180 Q 2.5(,r)-.4 G(ather than do)-2.5 E(wn the screen.)-.25
+E F1 -2.29 -.18(re v)108 192 T(ert\255all\255at\255newline \(Off\)).08 E
+F0 .699(If set to)144 204 R F1(On)3.199 E F0 3.199(,r)C .699
(eadline will undo all changes to history lines before returning when)
--3.372 F F1(accept\255line)3.373 E F0(is)3.373 E -.15(exe)144 324 S
+-3.199 F F1(accept\255line)3.198 E F0(is)3.198 E -.15(exe)144 216 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 336 S(adline)
-.18 E F0(.)A F1(sho)108 348 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
-F0 .477(This alters the def)144 360 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
+(vidual undo lists across calls to)-.25 F F1 -.18(re)144 228 S(adline)
+.18 E F0(.)A F1(sho)108 240 Q(w\255all\255if\255ambiguous \(Off\))-.1 E
+F0 .304(This alters the def)144 252 R .304(ault beha)-.1 F .304
+(vior of the completion functions.)-.2 F .304(If set to)5.304 F F1(On)
+2.804 E F0 2.803(,w)C .303(ords which ha)-2.903 F .603 -.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 372 R(bell.)144 384 Q F1
-(sho)108 396 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.345
-(This alters the def)144 408 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 420 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 432 R 3.539
+isted immediately instead of ringing the)144 264 R(bell.)144 276 Q F1
+(sho)108 288 Q(w\255all\255if\255unmodi\214ed \(Off\))-.1 E F0 5.346
+(This alters the def)144 300 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 312 Q(w\255all\255if\255ambiguous)-.1 E F0 6.69(.I)C
+4.19(fs)-6.69 G 1.691(et to)-4.19 F F1(On)4.191 E F0 4.191(,w)C 1.691
+(ords which ha)-4.291 F 1.991 -.15(ve m)-.2 H 1.691
+(ore than one possible completion).15 F 1.04(without an)144 324 R 3.54
(yp)-.15 G 1.039
-(ossible partial completion \(the possible completions don')-3.539 F
-3.539(ts)-.18 G 1.04(hare a common pre\214x\))-3.539 F(cause the matche\
-s to be listed immediately instead of ringing the bell.)144 444 Q F1
-(skip\255completed\255text \(Off\))108 456 Q F0 .095(If set to)144 468 R
-F1(On)2.595 E F0 2.595(,t)C .095(his alters the def)-2.595 F .095
-(ault completion beha)-.1 F .094
-(vior when inserting a single match into the line.)-.2 F(It')144 480 Q
-2.545(so)-.55 G .045(nly acti)-2.545 F .345 -.15(ve w)-.25 H .046
-(hen performing completion in the middle of a w).15 F 2.546(ord. If)-.1
-F .046(enabled, readline does not)2.546 F 1.394(insert characters from \
-the completion that match characters after point in the w)144 492 R
-1.394(ord being com-)-.1 F(pleted, so portions of the w)144 504 Q
+(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 336 Q F1
+(skip\255completed\255text \(Off\))108 348 Q F0 .094(If set to)144 360 R
+F1(On)2.594 E F0 2.594(,t)C .095(his alters the def)-2.594 F .095
+(ault completion beha)-.1 F .095
+(vior when inserting a single match into the line.)-.2 F(It')144 372 Q
+2.546(so)-.55 G .046(nly acti)-2.546 F .346 -.15(ve w)-.25 H .046
+(hen performing completion in the middle of a w).15 F 2.545(ord. If)-.1
+F .045(enabled, readline does not)2.545 F 1.394(insert characters from \
+the completion that match characters after point in the w)144 384 R
+1.395(ord being com-)-.1 F(pleted, so portions of the w)144 396 Q
(ord follo)-.1 E(wing the cursor are not duplicated.)-.25 E F1
-(visible\255stats \(Off\))108 516 Q F0 .846(If set to)144 528 R F1(On)
+(visible\255stats \(Off\))108 408 Q F0 .847(If set to)144 420 R F1(On)
3.346 E F0 3.346(,ac)C .846(haracter denoting a \214le')-3.346 F 3.346
(st)-.55 G .846(ype as reported by)-3.346 F F2(stat)3.346 E F0 .846
(\(2\) is appended to the \214lename)B
-(when listing possible completions.)144 540 Q F1
-(Readline Conditional Constructs)87 556.8 Q F0 .05
-(Readline implements a f)108 568.8 R .05(acility similar in spirit to t\
-he conditional compilation features of the C preprocessor)-.1 F .096
-(which allo)108 580.8 R .096(ws k)-.25 F .396 -.15(ey b)-.1 H .096
+(when listing possible completions.)144 432 Q F1
+(Readline Conditional Constructs)87 448.8 Q F0 .05
+(Readline implements a f)108 460.8 R .05(acility similar in spirit to t\
+he conditional compilation features of the C preprocessor)-.1 F .097
+(which allo)108 472.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
-(There are four parser)5.096 F(directi)108 592.8 Q -.15(ve)-.25 G 2.5
-(su).15 G(sed.)-2.5 E F1($if)108 609.6 Q F0(The)24.89 E F1($if)2.963 E
-F0 .463(construct allo)2.963 F .462(ws bindings to be made based on the\
- editing mode, the terminal being used,)-.25 F .477
-(or the application using readline.)144 621.6 R .477(The te)5.477 F .477
+(ariable settings to be performed as the result of tests.)-.25 F .096
+(There are four parser)5.096 F(directi)108 484.8 Q -.15(ve)-.25 G 2.5
+(su).15 G(sed.)-2.5 E F1($if)108 501.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 513.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 633.6 Q F1(mode)144 650.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
+(are required to isolate it.)144 525.6 Q F1(mode)144 542.4 Q F0(The)
+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 662.4 R .565(may be used in conjunction with the)3.065 F
+(mode. This)180 554.4 R .565(may be used in conjunction with the)3.065 F
F1 .565(set k)3.065 F(eymap)-.1 E F0 .565(command, for instance, to)
-3.065 F .735(set bindings in the)180 674.4 R F2(emacs\255standar)3.235 E
+3.065 F .735(set bindings in the)180 566.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 686.4
-Q F1(term)144 703.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 715.2 R
+(ymaps only if readline is starting)-.05 F(out in emacs mode.)180 578.4
+Q F1(term)144 595.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 607.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 727.2 Q F1(=)3.231
-E F0 .731(is tested ag)3.231 F .732(ainst the both full name of the ter\
-minal and the portion of the terminal)-.05 F(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(37)185.955 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(name before the \214rst)180 84 Q/F1 10/Times-Bold@0 SF<ad>2.5 E
-F0 5(.T)C(his allo)-5 E(ws)-.25 E/F2 10/Times-Italic@0 SF(sun)2.84 E F0
+(wo)3.154 G .654(rd on the right side of).1 F(the)180 619.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
+631.2 Q F1<ad>2.5 E F0 5(.T)C(his allo)-5 E(ws)-.25 E F2(sun)2.84 E F0
(to match both)2.74 E F2(sun)2.84 E F0(and)2.74 E F2(sun\255cmd)2.5 E F0
-2.5(,f).77 G(or instance.)-2.5 E F1(application)144 100.8 Q F0(The)180
-112.8 Q F1(application)3.003 E F0 .503
+2.5(,f).77 G(or instance.)-2.5 E F1(application)144 648 Q F0(The)180 660
+Q F1(application)3.003 E F0 .503
(construct is used to include application-speci\214c settings.)3.003 F
.503(Each program)5.503 F .114(using the readline library sets the)180
-124.8 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 136.8 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 148.8 R -.15(Fo)5.396 G 2.896(ri).15 G .396
+672 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 .5(particular v)180
+684 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 696 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 160.8
-Q(vious w)-.25 E(ord in Bash:)-.1 E F1($if)180 184.8 Q F0(Bash)2.5 E 2.5
-(#Q)180 196.8 S(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
-("\\C\255xq": "\\eb\\"\\ef\\"")180 208.8 Q F1($endif)180 220.8 Q($endif)
-108 237.6 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
+(ey s)-.1 H .396(equence that quotes the).15 F(current or pre)180 708 Q
+(vious w)-.25 E(ord in)-.1 E F1(bash)2.5 E F0(:)A(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(38)185.955 E 0 Cg EP
+%%Page: 39 39
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF($if)180 84 Q F0(Bash)2.5 E 2.5(#Q)180 96 S
+(uote the current or pre)-2.5 E(vious w)-.25 E(ord)-.1 E
+("\\C\255xq": "\\eb\\"\\ef\\"")180 108 Q F1($endif)180 120 Q($endif)108
+136.8 Q F0(This command, as seen in the pre)9.33 E(vious e)-.25 E
(xample, terminates an)-.15 E F1($if)2.5 E F0(command.)2.5 E F1($else)
-108 254.4 Q F0(Commands in this branch of the)15.45 E F1($if)2.5 E F0
+108 153.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 271.2 Q F0 .357
-(This directi)144 283.2 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 170.4 Q F0 .356
+(This directi)144 182.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 295.2 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 319.2 Q F2(/etc/inputr)5.833 E(c)-.37 E F1(Sear)87 336 Q
-(ching)-.18 E F0 .834(Readline pro)108 348 R .834
+144 194.4 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
+-.15(ve w)-.25 H(ould read).05 E/F2 10/Times-Italic@0 SF(/etc/inputr)2.5
+E(c)-.37 E F0(:)A F1($include)144 218.4 Q F2(/etc/inputr)5.833 E(c)-.37
+E F1(Sear)87 235.2 Q(ching)-.18 E F0 .835(Readline pro)108 247.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 360 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 259.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 376.8 R .698
+E .697(Incremental searches be)108 276 R .697
(gin before the user has \214nished typing the search string.)-.15 F
-.697(As each character of the)5.697 F .112
-(search string is typed, readline displays the ne)108 388.8 R .112
+.698(As each character of the)5.698 F .113
+(search string is typed, readline displays the ne)108 288 R .112
(xt entry from the history matching the string typed so f)-.15 F(ar)-.1
-E 5.113(.A)-.55 G(n)-5.113 E .542
-(incremental search requires only as man)108 400.8 R 3.042(yc)-.15 G
-.542(haracters as needed to \214nd the desired history entry)-3.042 F
-5.541(.T)-.65 G .541(he char)-5.541 F(-)-.2 E .224
-(acters present in the v)108 412.8 R .224(alue of the)-.25 F F1(isear)
-2.724 E(ch-terminators)-.18 E F0 -.25(va)2.724 G .224
+E 5.112(.A)-.55 G(n)-5.112 E .542
+(incremental search requires only as man)108 300 R 3.042(yc)-.15 G .542
+(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 312 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 424.8 R .66(ariable has not been assigned a v)-.25 F .66
+(If that v)108 324 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 436.8 R .096(Control-G will abort an incremen\
-tal search and restore the original line.)5.096 F .097
-(When the search is)5.097 F(terminated, the history entry containing th\
-e search string becomes the current line.)108 448.8 Q 2.939 -.8(To \214)
-108 465.6 T 1.339(nd other matching entries in the history list, type C\
-ontrol-S or Control-R as appropriate.).8 F 1.338(This will)6.338 F .674
-(search backw)108 477.6 R .674(ard or forw)-.1 F .674
-(ard in the history for the ne)-.1 F .675
-(xt entry matching the search string typed so f)-.15 F(ar)-.1 E 5.675
-(.A)-.55 G -.15(ny)-5.675 G .175(other k)108 489.6 R .475 -.15(ey s)-.1
-H .174
+F .097(mental search.)108 336 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(terminated, the history entry containing the search string beco\
+mes the current line.)108 348 Q 2.938 -.8(To \214)108 364.8 T 1.339(nd \
+other matching entries in the history list, type Control-S or Control-R\
+ as appropriate.).8 F 1.339(This will)6.339 F .675(search backw)108
+376.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 388.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 501.6 R F2(ne)3.04 E(wline)-.15 E F0 .541
-(will terminate the search and accept the line, thereby e)3.04 F -.15
-(xe)-.15 G .541(cuting the command from the).15 F(history list.)108
-513.6 Q .653(Readline remembers the last incremental search string.)108
-530.4 R .653(If tw)5.653 F 3.153(oC)-.1 G .653
-(ontrol-Rs are typed without an)-3.153 F 3.152(yi)-.15 G(nterv)-3.152 E
-(en-)-.15 E(ing characters de\214ning a ne)108 542.4 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 400.8 R F2(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 412.8
+Q .653(Readline remembers the last incremental search string.)108 429.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 441.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 559.2 R(The searc\
+re starting to search for matching history lines.)108 458.4 R(The searc\
h string may be typed by the user or be part of the contents of the cur\
-rent line.)108 571.2 Q F1(Readline Command Names)87 588 Q F0 1.392
-(The follo)108 600 R 1.391
+rent line.)108 470.4 Q F1(Readline Command Names)87 487.2 Q F0 1.391
+(The follo)108 499.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 612 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 624 Q F2(point)3.411 E
-F0 .911(refers to the current cursor position, and)3.411 F F2(mark)3.411
-E F0 .91(refers to a cursor position sa)3.411 F -.15(ve)-.2 G 3.41(db)
-.15 G 3.41(yt)-3.41 G(he)-3.41 E F1(set\255mark)108 636 Q F0 2.5
+3.892(ya)-.15 G(re)-3.892 E 2.622(bound. Command)108 511.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 523.2 Q F2(point)3.41 E
+F0 .91(refers to the current cursor position, and)3.41 F F2(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 F1(set\255mark)108 535.2 Q F0 2.5
(command. The)2.5 F(te)2.5 E
(xt between the point and mark is referred to as the)-.15 E F2 -.37(re)
-2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 652.8 Q(or Mo)-.25 E(ving)-.1
-E(beginning\255of\255line \(C\255a\))108 664.8 Q F0(Mo)144 676.8 Q .3
--.15(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1
-(end\255of\255line \(C\255e\))108 688.8 Q F0(Mo)144 700.8 Q .3 -.15
-(ve t)-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E(GNU Bash-4.1)72 768
-Q(2009 December 29)135.965 E(38)185.955 E 0 Cg EP
-%%Page: 39 39
+2.5 G(gion)-.03 E F0(.)A F1(Commands f)87 552 Q(or Mo)-.25 E(ving)-.1 E
+(beginning\255of\255line \(C\255a\))108 564 Q F0(Mo)144 576 Q .3 -.15
+(ve t)-.15 H 2.5(ot).15 G(he start of the current line.)-2.5 E F1
+(end\255of\255line \(C\255e\))108 588 Q F0(Mo)144 600 Q .3 -.15(ve t)
+-.15 H 2.5(ot).15 G(he end of the line.)-2.5 E F1 -.25(fo)108 612 S
+(rward\255char \(C\255f\)).25 E F0(Mo)144 624 Q .3 -.15(ve f)-.15 H(orw)
+.15 E(ard a character)-.1 E(.)-.55 E F1(backward\255char \(C\255b\))108
+636 Q F0(Mo)144 648 Q .3 -.15(ve b)-.15 H(ack a character).15 E(.)-.55 E
+F1 -.25(fo)108 660 S(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 672
+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 684 Q F1(backward\255w)108 696 Q(ord \(M\255b\))
+-.1 E F0(Mo)144 708 Q 1.71 -.15(ve b)-.15 H 1.41
+(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
+(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
+(characters \(letters and digits\).)144 720 Q(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(39)185.955 E 0 Cg EP
+%%Page: 40 40
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF -.25(fo)108 84 S(rward\255char \(C\255f\))
-.25 E F0(Mo)144 96 Q .3 -.15(ve f)-.15 H(orw).15 E(ard a character)-.1 E
-(.)-.55 E F1(backward\255char \(C\255b\))108 108 Q F0(Mo)144 120 Q .3
--.15(ve b)-.15 H(ack a character).15 E(.)-.55 E F1 -.25(fo)108 132 S
-(rward\255w).25 E(ord \(M\255f\))-.1 E F0(Mo)144 144 Q .822 -.15(ve f)
--.15 H(orw).15 E .522(ard to the end of the ne)-.1 F .523(xt w)-.15 F
-3.023(ord. W)-.1 F .523
-(ords are composed of alphanumeric characters \(let-)-.8 F
-(ters and digits\).)144 156 Q F1(backward\255w)108 168 Q(ord \(M\255b\))
--.1 E F0(Mo)144 180 Q 1.71 -.15(ve b)-.15 H 1.41
-(ack to the start of the current or pre).15 F 1.41(vious w)-.25 F 3.91
-(ord. W)-.1 F 1.41(ords are composed of alphanumeric)-.8 F
-(characters \(letters and digits\).)144 192 Q F1(shell\255f)108 204 Q
-(orward\255w)-.25 E(ord)-.1 E F0(Mo)144 216 Q .784 -.15(ve f)-.15 H(orw)
-.15 E .484(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984(ord. W)
--.1 F .484(ords are delimited by non-quoted shell metacharac-)-.8 F
-(ters.)144 228 Q F1(shell\255backward\255w)108 240 Q(ord)-.1 E F0(Mo)144
-252 Q .909 -.15(ve b)-.15 H .609(ack to the start of the current or pre)
-.15 F .609(vious w)-.25 F 3.109(ord. W)-.1 F .608
-(ords are delimited by non-quoted shell)-.8 F(metacharacters.)144 264 Q
-F1(clear\255scr)108 276 Q(een \(C\255l\))-.18 E F0 .993
-(Clear the screen lea)144 288 R .993
+-.35 E/F1 10/Times-Bold@0 SF(shell\255f)108 84 Q(orward\255w)-.25 E(ord)
+-.1 E F0(Mo)144 96 Q .784 -.15(ve f)-.15 H(orw).15 E .484
+(ard to the end of the ne)-.1 F .484(xt w)-.15 F 2.984(ord. W)-.1 F .484
+(ords are delimited by non-quoted shell metacharac-)-.8 F(ters.)144 108
+Q F1(shell\255backward\255w)108 120 Q(ord)-.1 E F0(Mo)144 132 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 144 Q
+F1(clear\255scr)108 156 Q(een \(C\255l\))-.18 E F0 .993
+(Clear the screen lea)144 168 R .993
(ving the current line at the top of the screen.)-.2 F -.4(Wi)5.993 G
.993(th an ar).4 F .993(gument, refresh the)-.18 F
-(current line without clearing the screen.)144 300 Q F1 -.18(re)108 312
+(current line without clearing the screen.)144 180 Q F1 -.18(re)108 192
S(draw\255curr).18 E(ent\255line)-.18 E F0(Refresh the current line.)144
-324 Q F1(Commands f)87 340.8 Q(or Manipulating the History)-.25 E
-(accept\255line \(Newline, Retur)108 352.8 Q(n\))-.15 E F0 .159
-(Accept the line re)144 364.8 R -.05(ga)-.15 G .159
+204 Q F1(Commands f)87 220.8 Q(or Manipulating the History)-.25 E
+(accept\255line \(Newline, Retur)108 232.8 Q(n\))-.15 E F0 .158
+(Accept the line re)144 244.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
-(according to the state of the)144 376.8 R/F2 9/Times-Bold@0 SF
+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 256.8 R/F2 9/Times-Bold@0 SF
(HISTCONTR)3.199 E(OL)-.27 E F0 -.25(va)2.949 G 3.199(riable. If).25 F
.699(the line is a modi\214ed history line, then)3.199 F
-(restore the history line to its original state.)144 388.8 Q F1(pr)108
-400.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
-(Fetch the pre)144 412.8 Q(vious command from the history list, mo)-.25
-E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 424.8
-Q F0(Fetch the ne)144 436.8 Q(xt command from the history list, mo)-.15
+(restore the history line to its original state.)144 268.8 Q F1(pr)108
+280.8 Q -.15(ev)-.18 G(ious\255history \(C\255p\)).15 E F0
+(Fetch the pre)144 292.8 Q(vious command from the history list, mo)-.25
+E(ving back in the list.)-.15 E F1(next\255history \(C\255n\))108 304.8
+Q F0(Fetch the ne)144 316.8 Q(xt command from the history list, mo)-.15
E(ving forw)-.15 E(ard in the list.)-.1 E F1
-(beginning\255of\255history \(M\255<\))108 448.8 Q F0(Mo)144 460.8 Q .3
+(beginning\255of\255history \(M\255<\))108 328.8 Q F0(Mo)144 340.8 Q .3
-.15(ve t)-.15 H 2.5(ot).15 G(he \214rst line in the history)-2.5 E(.)
--.65 E F1(end\255of\255history \(M\255>\))108 472.8 Q F0(Mo)144 484.8 Q
+-.65 E F1(end\255of\255history \(M\255>\))108 352.8 Q F0(Mo)144 364.8 Q
.3 -.15(ve t)-.15 H 2.5(ot).15 G(he end of the input history)-2.5 E 2.5
(,i)-.65 G(.e., the line currently being entered.)-2.5 E F1 -2.29 -.18
-(re v)108 496.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
-1.471(Search backw)144 508.8 R 1.471
-(ard starting at the current line and mo)-.1 F 1.47
+(re v)108 376.8 T(erse\255sear).08 E(ch\255history \(C\255r\))-.18 E F0
+1.47(Search backw)144 388.8 R 1.471
+(ard starting at the current line and mo)-.1 F 1.471
(ving `up' through the history as necessary)-.15 F(.)-.65 E
-(This is an incremental search.)144 520.8 Q F1 -.25(fo)108 532.8 S
-(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.131
-(Search forw)144 544.8 R 1.131(ard starting at the current line and mo)
--.1 F 1.132(ving `do)-.15 F 1.132(wn' through the history as necessary)
--.25 F(.)-.65 E(This is an incremental search.)144 556.8 Q F1
-(non\255incr)108 568.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
-(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .165(Search backw)
-144 580.8 R .164(ard through the history starting at the current line u\
-sing a non-incremental search for)-.1 F 2.5(as)144 592.8 S
-(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 604.8 Q
+(This is an incremental search.)144 400.8 Q F1 -.25(fo)108 412.8 S
+(rward\255sear).25 E(ch\255history \(C\255s\))-.18 E F0 1.132
+(Search forw)144 424.8 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 436.8 Q F1
+(non\255incr)108 448.8 Q(emental\255r)-.18 E -2.3 -.15(ev e)-.18 H
+(rse\255sear).15 E(ch\255history \(M\255p\))-.18 E F0 .164(Search backw)
+144 460.8 R .164(ard through the history starting at the current line u\
+sing a non-incremental search for)-.1 F 2.5(as)144 472.8 S
+(tring supplied by the user)-2.5 E(.)-.55 E F1(non\255incr)108 484.8 Q
(emental\255f)-.18 E(orward\255sear)-.25 E(ch\255history \(M\255n\))-.18
-E F0 1.353(Search forw)144 616.8 R 1.354(ard through the history using \
+E F0 1.354(Search forw)144 496.8 R 1.354(ard through the history using \
a non-incremental search for a string supplied by the)-.1 F(user)144
-628.8 Q(.)-.55 E F1(history\255sear)108 640.8 Q(ch\255f)-.18 E(orward)
--.25 E F0 .249(Search forw)144 652.8 R .249(ard through the history for\
+508.8 Q(.)-.55 E F1(history\255sear)108 520.8 Q(ch\255f)-.18 E(orward)
+-.25 E F0 .248(Search forw)144 532.8 R .249(ard through the history for\
the string of characters between the start of the current line)-.1 F
-(and the point.)144 664.8 Q(This is a non-incremental search.)5 E F1
-(history\255sear)108 676.8 Q(ch\255backward)-.18 E F0 .95(Search backw)
-144 688.8 R .951(ard through the history for the string of characters b\
-etween the start of the current)-.1 F(line and the point.)144 700.8 Q
-(This is a non-incremental search.)5 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(39)185.955 E 0 Cg EP
-%%Page: 40 40
+(and the point.)144 544.8 Q(This is a non-incremental search.)5 E F1
+(history\255sear)108 556.8 Q(ch\255backward)-.18 E F0 .951(Search backw)
+144 568.8 R .951(ard through the history for the string of characters b\
+etween the start of the current)-.1 F(line and the point.)144 580.8 Q
+(This is a non-incremental search.)5 E F1(yank\255nth\255ar)108 592.8 Q
+2.5(g\()-.1 G<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144
+604.8 R .622(gument to the pre)-.18 F .622
+(vious command \(usually the second w)-.25 F .622(ord on the pre)-.1 F
+.622(vious line\))-.25 F .795(at point.)144 616.8 R -.4(Wi)5.795 G .794
+(th an ar).4 F(gument)-.18 E/F3 10/Times-Italic@0 SF(n)3.294 E F0 3.294
+(,i).24 G .794(nsert the)-3.294 F F3(n)3.294 E F0 .794(th w)B .794
+(ord from the pre)-.1 F .794(vious command \(the w)-.25 F .794
+(ords in the)-.1 F(pre)144 628.8 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 F3(n)2.791 E F0 .291(th w)B .292
+(ord from the end of)-.1 F .282(the pre)144 640.8 R .282(vious command.)
+-.25 F .282(Once the ar)5.282 F(gument)-.18 E F3(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 F3(n)A F0(")A(history e)144 652.8 Q
+(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 664.8 Q
+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 676.8 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 688.8 S .204(th a numeric ar)
+.4 F .204(gument, beha)-.18 F .504 -.15(ve ex)-.2 H .204(actly lik).15 F
+(e)-.1 E F1(yank\255nth\255ar)2.704 E(g)-.1 E F0 5.203(.S)C(uccessi)
+-5.203 E .503 -.15(ve c)-.25 H .203(alls to).15 F F1(yank\255last\255ar)
+2.703 E(g)-.1 E F0(mo)144 700.8 Q .806 -.15(ve b)-.15 H .507
+(ack through the history list, inserting the last w).15 F .507
+(ord \(or the w)-.1 F .507(ord speci\214ed by the ar)-.1 F(gument)-.18 E
+1.397(to the \214rst call\) of each line in turn.)144 712.8 R(An)6.396 E
+3.896(yn)-.15 G 1.396(umeric ar)-3.896 F 1.396
+(gument supplied to these successi)-.18 F 1.696 -.15(ve c)-.25 H(alls)
+.15 E .491(determines the direction to mo)144 724.8 R .791 -.15(ve t)
+-.15 H .491(hrough the history).15 F 5.492(.A)-.65 G(ne)-2.5 E -.05(ga)
+-.15 G(ti).05 E .792 -.15(ve a)-.25 H -.18(rg).15 G .492
+(ument switches the direction).18 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(40)185.955 E 0 Cg EP
+%%Page: 41 41
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(yank\255nth\255ar)108 84 Q 2.5(g\()-.1 G
-<4dad43ad7929>-2.5 E F0 .622(Insert the \214rst ar)144 96 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
-108 R -.4(Wi)5.794 G .794(th an ar).4 F(gument)-.18 E/F2 10
-/Times-Italic@0 SF(n)3.294 E F0 3.294(,i).24 G .794(nsert the)-3.294 F
-F2(n)3.294 E F0 .794(th w)B .794(ord from the pre)-.1 F .794
-(vious command \(the w)-.25 F .795(ords in the)-.1 F(pre)144 120 Q .292
-(vious command be)-.25 F .292(gin with w)-.15 F .291(ord 0\).)-.1 F
-2.791(An)5.291 G -2.25 -.15(eg a)-2.791 H(ti).15 E .591 -.15(ve a)-.25 H
--.18(rg).15 G .291(ument inserts the).18 F F2(n)2.791 E F0 .291(th w)B
-.291(ord from the end of)-.1 F .281(the pre)144 132 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
-(xtracted as if the "!)-.15 F F2(n)A F0(")A(history e)144 144 Q
-(xpansion had been speci\214ed.)-.15 E F1(yank\255last\255ar)108 156 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 168 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 180 S .735(th an ar).4 F .735
-(gument, beha)-.18 F 1.035 -.15(ve ex)-.2 H .735(actly lik).15 F(e)-.1 E
-F1(yank\255nth\255ar)3.235 E(g)-.1 E F0 5.736(.S)C(uccessi)-5.736 E
-1.036 -.15(ve c)-.25 H .736(alls to).15 F F1(yank\255last\255ar)3.236 E
-(g)-.1 E F0(mo)3.236 E -.15(ve)-.15 G .728
-(back through the history list, inserting the last ar)144 192 R .728
-(gument of each line in turn.)-.18 F .728(The history e)5.728 F(xpan-)
--.15 E .14(sion f)144 204 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 216 Q F1
-(shell\255expand\255line \(M\255C\255e\))108 228 Q F0 .623
-(Expand the line as the shell does.)144 240 R .622
-(This performs alias and history e)5.622 F .622
-(xpansion as well as all of the)-.15 F(shell w)144 252 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
+-.35 E .494(through the history \(back or forw)144 84 R 2.994
+(ard\). The)-.1 F .494(history e)2.994 F .494(xpansion f)-.15 F .494
+(acilities are used to e)-.1 F .494(xtract the last)-.15 F(ar)144 96 Q
+(gument, as if the "!$" history e)-.18 E(xpansion had been speci\214ed.)
+-.15 E/F1 10/Times-Bold@0 SF(shell\255expand\255line \(M\255C\255e\))108
+108 Q F0 .622(Expand the line as the shell does.)144 120 R .622
+(This performs alias and history e)5.622 F .623
+(xpansion as well as all of the)-.15 F(shell w)144 132 Q(ord e)-.1 E 2.5
+(xpansions. See)-.15 F/F2 9/Times-Bold@0 SF(HIST)2.5 E(OR)-.162 E 2.25
(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 264 Q F0 .938
-(Perform history e)144 276 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 288 Q(xpansion.)-.15 E F1(magic\255space)
-108 300 Q F0 1.627(Perform history e)144 312 R 1.627
-(xpansion on the current line and insert a space.)-.15 F(See)6.626 E F3
-(HIST)4.126 E(OR)-.162 E 3.876(YE)-.315 G(XP)-3.876 E(ANSION)-.666 E F0
-(belo)144 324 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
-(xpansion.)-.15 E F1(alias\255expand\255line)108 336 Q F0 .394
-(Perform alias e)144 348 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 360 Q F1
-(history\255and\255alias\255expand\255line)108 372 Q F0
-(Perform history and alias e)144 384 Q(xpansion on the current line.)
--.15 E F1(insert\255last\255ar)108 396 Q(gument \(M\255.)-.1 E 2.5(,M)
-.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 408 S(ynon)-2.5 E(ym for)
+(history\255expand\255line \(M\255^\))108 144 Q F0 .939
+(Perform history e)144 156 R .939(xpansion on the current line.)-.15 F
+(See)5.939 E F2(HIST)3.439 E(OR)-.162 E 3.189(YE)-.315 G(XP)-3.189 E
+(ANSION)-.666 E F0(belo)3.189 E 3.438(wf)-.25 G .938(or a descrip-)
+-3.438 F(tion of history e)144 168 Q(xpansion.)-.15 E F1(magic\255space)
+108 180 Q F0 1.626(Perform history e)144 192 R 1.626
+(xpansion on the current line and insert a space.)-.15 F(See)6.627 E F2
+(HIST)4.127 E(OR)-.162 E 3.877(YE)-.315 G(XP)-3.877 E(ANSION)-.666 E F0
+(belo)144 204 Q 2.5(wf)-.25 G(or a description of history e)-2.5 E
+(xpansion.)-.15 E F1(alias\255expand\255line)108 216 Q F0 .395
+(Perform alias e)144 228 R .395(xpansion on the current line.)-.15 F
+(See)5.395 E F2(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 240 Q F1
+(history\255and\255alias\255expand\255line)108 252 Q F0
+(Perform history and alias e)144 264 Q(xpansion on the current line.)
+-.15 E F1(insert\255last\255ar)108 276 Q(gument \(M\255.)-.1 E 2.5(,M)
+.833 G -1.667(\255_ \))-2.5 F F0 2.5(As)144 288 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 420 Q F0 .948
-(Accept the current line for e)144 432 R -.15(xe)-.15 G .948
-(cution and fetch the ne).15 F .948(xt line relati)-.15 F 1.247 -.15
-(ve t)-.25 H 3.447(ot).15 G .947(he current line from the)-3.447 F
-(history for editing.)144 444 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
+(operate\255and\255get\255next \(C\255o\))108 300 Q F0 .947
+(Accept the current line for e)144 312 R -.15(xe)-.15 G .948
+(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 324 Q(An)5 E 2.5(ya)-.15 G -.18(rg)-2.5 G
(ument is ignored.).18 E F1
-(edit\255and\255execute\255command \(C\255xC\255e\))108 456 Q F0(In)144
-468 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
+(edit\255and\255execute\255command \(C\255xC\255e\))108 336 Q F0(In)144
+348 Q -.2(vo)-.4 G 1.226 -.1(ke a).2 H 3.526(ne).1 G 1.026
(ditor on the current command line, and e)-3.526 F -.15(xe)-.15 G 1.026
(cute the result as shell commands.).15 F F1(Bash)6.026 E F0
-(attempts to in)144 480 Q -.2(vo)-.4 G -.1(ke).2 G F3($VISU)2.6 E(AL)
--.54 E/F4 9/Times-Roman@0 SF(,)A F3($EDIT)2.25 E(OR)-.162 E F4(,)A F0
-(and)2.25 E F2(emacs)2.5 E F0(as the editor)2.5 E 2.5(,i)-.4 G 2.5(nt)
--2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87 496.8 Q(or Changing T)
--.25 E(ext)-.92 E(delete\255char \(C\255d\))108 508.8 Q F0 .358
-(Delete the character at point.)144 520.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 532.8 Q(as not bound to)-.1 E
-F1(delete\255char)2.5 E F0 2.5(,t)C(hen return)-2.5 E F3(EOF)2.5 E F4(.)
-A F1(backward\255delete\255char \(Rubout\))108 544.8 Q F0 .552
-(Delete the character behind the cursor)144 556.8 R 5.553(.W)-.55 G .553
+(attempts to in)144 360 Q -.2(vo)-.4 G -.1(ke).2 G F2($VISU)2.6 E(AL)
+-.54 E/F3 9/Times-Roman@0 SF(,)A F2($EDIT)2.25 E(OR)-.162 E F3(,)A F0
+(and)2.25 E/F4 10/Times-Italic@0 SF(emacs)2.5 E F0(as the editor)2.5 E
+2.5(,i)-.4 G 2.5(nt)-2.5 G(hat order)-2.5 E(.)-.55 E F1(Commands f)87
+376.8 Q(or Changing T)-.25 E(ext)-.92 E(delete\255char \(C\255d\))108
+388.8 Q F0 .357(Delete the character at point.)144 400.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 412.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 424.8 Q F0 .553
+(Delete the character behind the cursor)144 436.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 568.8 Q F1 -.25(fo)108 580.8 S
-(rward\255backward\255delete\255char).25 E F0 .474
-(Delete the character under the cursor)144 592.8 R 2.974(,u)-.4 G .474
-(nless the cursor is at the end of the line, in which case the)-2.974 F
-(character behind the cursor is deleted.)144 604.8 Q F1
-(quoted\255insert \(C\255q, C\255v\))108 616.8 Q F0 .778(Add the ne)144
-628.8 R .779(xt character typed to the line v)-.15 F 3.279
+.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 448.8 Q F1 -.25(fo)108 460.8 S
+(rward\255backward\255delete\255char).25 E F0 .473
+(Delete the character under the cursor)144 472.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 484.8 Q F1
+(quoted\255insert \(C\255q, C\255v\))108 496.8 Q F0 .779(Add the ne)144
+508.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 640.8 S(ample.).15 E F1
-(tab\255insert \(C\255v T)108 652.8 Q(AB\))-.9 E F0
-(Insert a tab character)144 664.8 Q(.)-.55 E F1
-(self\255insert \(a, b, A, 1, !, ...\))108 676.8 Q F0
-(Insert the character typed.)144 688.8 Q F1
-(transpose\255chars \(C\255t\))108 700.8 Q F0 .322
-(Drag the character before point forw)144 712.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
+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 520.8 S(ample.).15 E F1
+(tab\255insert \(C\255v T)108 532.8 Q(AB\))-.9 E F0
+(Insert a tab character)144 544.8 Q(.)-.55 E F1
+(self\255insert \(a, b, A, 1, !, ...\))108 556.8 Q F0
+(Insert the character typed.)144 568.8 Q F1
+(transpose\255chars \(C\255t\))108 580.8 Q F0 .321
+(Drag the character before point forw)144 592.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 .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
-724.8 R 3.683(oc)-.1 G 1.183(haracters before point.)-3.683 F(Ne)6.183 E
--.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(40)185.955 E 0 Cg EP
-%%Page: 41 41
+604.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 616.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 628.8 Q(ords \(M\255t\))-.1 E F0 .023(Drag the w)144
+640.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 652.8 Q 2.5
+(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 664.8 Q
+(ord \(M\255u\))-.1 E F0 1.699(Uppercase the current \(or follo)144
+676.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.998 -.15(ve a)-.25 H -.18(rg).15 G 1.698
+(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 688.8 S(rd, b).1
+E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 700.8 Q
+(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 712.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 724.8 S(rd, b).1 E(ut do not mo)-.2 E .3
+-.15(ve p)-.15 H(oint.).15 E(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(41)185.955 E 0 Cg EP
+%%Page: 42 42
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E(ar)144 84 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 10/Times-Bold@0 SF(transpose\255w)108 96 Q
-(ords \(M\255t\))-.1 E F0 .024(Drag the w)144 108 R .024
-(ord before point past the w)-.1 F .023(ord after point, mo)-.1 F .023
-(ving point o)-.15 F -.15(ve)-.15 G 2.523(rt).15 G .023(hat w)-2.523 F
-.023(ord as well.)-.1 F .023(If point)5.023 F
-(is at the end of the line, this transposes the last tw)144 120 Q 2.5
-(ow)-.1 G(ords on the line.)-2.6 E F1(upcase\255w)108 132 Q
-(ord \(M\255u\))-.1 E F0 1.698(Uppercase the current \(or follo)144 144
-R 1.698(wing\) w)-.25 F 4.198(ord. W)-.1 F 1.698(ith a ne)-.4 F -.05(ga)
--.15 G(ti).05 E 1.999 -.15(ve a)-.25 H -.18(rg).15 G 1.699
-(ument, uppercase the pre).18 F(vious)-.25 E -.1(wo)144 156 S(rd, b).1 E
-(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1(do)108 168 Q
-(wncase\255w)-.1 E(ord \(M\255l\))-.1 E F0(Lo)144 180 Q 1.648
-(wercase the current \(or follo)-.25 F 1.648(wing\) w)-.25 F 4.148
-(ord. W)-.1 F 1.647(ith a ne)-.4 F -.05(ga)-.15 G(ti).05 E 1.947 -.15
-(ve a)-.25 H -.18(rg).15 G 1.647(ument, lo).18 F 1.647(wercase the pre)
--.25 F(vious)-.25 E -.1(wo)144 192 S(rd, b).1 E(ut do not mo)-.2 E .3
--.15(ve p)-.15 H(oint.).15 E F1(capitalize\255w)108 204 Q
-(ord \(M\255c\))-.1 E F0 1.974(Capitalize the current \(or follo)144 216
-R 1.974(wing\) w)-.25 F 4.474(ord. W)-.1 F 1.974(ith a ne)-.4 F -.05(ga)
--.15 G(ti).05 E 2.274 -.15(ve a)-.25 H -.18(rg).15 G 1.975
-(ument, capitalize the pre).18 F(vious)-.25 E -.1(wo)144 228 S(rd, b).1
-E(ut do not mo)-.2 E .3 -.15(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 240
-S(rwrite\255mode).1 E F0 -.8(To)144 252 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 264 S .78(th an e).4 F .781(xplicit non-positi)-.15 F 1.081 -.15
-(ve n)-.25 H .781(umeric ar).15 F .781(gument, switches to insert mode.)
--.18 F .781(This command af)5.781 F(fects)-.25 E(only)144 276 Q F1
-(emacs)4.395 E F0(mode;)4.395 E F1(vi)4.395 E F0 1.894(mode does o)4.395
-F -.15(ve)-.15 G 1.894(rwrite dif).15 F(ferently)-.25 E 6.894(.E)-.65 G
-1.894(ach call to)-6.894 F/F2 10/Times-Italic@0 SF -.37(re)4.394 G
-(adline\(\)).37 E F0 1.894(starts in insert)4.394 F 3.968(mode. In)144
-288 R -.15(ove)3.968 G 1.468(rwrite mode, characters bound to).15 F F1
-(self\255insert)3.969 E F0 1.469(replace the te)3.969 F 1.469
-(xt at point rather than)-.15 F .958(pushing the te)144 300 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 312 Q(By def)5 E
-(ault, this command is unbound.)-.1 E F1(Killing and Y)87 328.8 Q
-(anking)-.85 E(kill\255line \(C\255k\))108 340.8 Q F0(Kill the te)144
-352.8 Q(xt from point to the end of the line.)-.15 E F1
-(backward\255kill\255line \(C\255x Rubout\))108 364.8 Q F0(Kill backw)
-144 376.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
-(unix\255line\255discard \(C\255u\))108 388.8 Q F0(Kill backw)144 400.8
+-.35 E/F1 10/Times-Bold@0 SF(capitalize\255w)108 84 Q(ord \(M\255c\))-.1
+E F0 1.975(Capitalize the current \(or follo)144 96 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.974(ument, capitalize the pre).18
+F(vious)-.25 E -.1(wo)144 108 S(rd, b).1 E(ut do not mo)-.2 E .3 -.15
+(ve p)-.15 H(oint.).15 E F1 -.1(ove)108 120 S(rwrite\255mode).1 E F0 -.8
+(To)144 132 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 144 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 .78(This command af)5.781
+F(fects)-.25 E(only)144 156 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/F2 10
+/Times-Italic@0 SF -.37(re)4.395 G(adline\(\)).37 E F0 1.895
+(starts in insert)4.395 F 3.969(mode. In)144 168 R -.15(ove)3.969 G
+1.469(rwrite mode, characters bound to).15 F F1(self\255insert)3.969 E
+F0 1.468(replace the te)3.969 F 1.468(xt at point rather than)-.15 F
+.957(pushing the te)144 180 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 192 Q
+(By def)5 E(ault, this command is unbound.)-.1 E F1(Killing and Y)87
+208.8 Q(anking)-.85 E(kill\255line \(C\255k\))108 220.8 Q F0
+(Kill the te)144 232.8 Q(xt from point to the end of the line.)-.15 E F1
+(backward\255kill\255line \(C\255x Rubout\))108 244.8 Q F0(Kill backw)
+144 256.8 Q(ard to the be)-.1 E(ginning of the line.)-.15 E F1
+(unix\255line\255discard \(C\255u\))108 268.8 Q F0(Kill backw)144 280.8
Q(ard from point to the be)-.1 E(ginning of the line.)-.15 E
(The killed te)5 E(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)
--2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 412.8 Q F0
+-2.5 G(he kill-ring.)-2.5 E F1(kill\255whole\255line)108 292.8 Q F0
(Kill all characters on the current line, no matter where point is.)144
-424.8 Q F1(kill\255w)108 436.8 Q(ord \(M\255d\))-.1 E F0 .728
-(Kill from point to the end of the current w)144 448.8 R .729
-(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 460.8 S
+304.8 Q F1(kill\255w)108 316.8 Q(ord \(M\255d\))-.1 E F0 .729
+(Kill from point to the end of the current w)144 328.8 R .728
+(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 340.8 S
(rd boundaries are the same as those used by).8 E F1 -.25(fo)2.5 G
-(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 472.8 Q
-(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 484.8 Q(ord behind point.)
+(rward\255w).25 E(ord)-.1 E F0(.)A F1(backward\255kill\255w)108 352.8 Q
+(ord \(M\255Rubout\))-.1 E F0(Kill the w)144 364.8 Q(ord behind point.)
-.1 E -.8(Wo)5 G(rd boundaries are the same as those used by).8 E F1
-(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 496.8 Q
-(ord \(M\255d\))-.1 E F0 .729
-(Kill from point to the end of the current w)144 508.8 R .728
-(ord, or if between w)-.1 F .728(ords, to the end of the ne)-.1 F .728
-(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 520.8 S
+(backward\255w)2.5 E(ord)-.1 E F0(.)A F1(shell\255kill\255w)108 376.8 Q
+(ord \(M\255d\))-.1 E F0 .728
+(Kill from point to the end of the current w)144 388.8 R .729
+(ord, or if between w)-.1 F .729(ords, to the end of the ne)-.1 F .729
+(xt w)-.15 F(ord.)-.1 E -.8(Wo)144 400.8 S
(rd boundaries are the same as those used by).8 E F1(shell\255f)2.5 E
(orward\255w)-.25 E(ord)-.1 E F0(.)A F1(shell\255backward\255kill\255w)
-108 532.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 544.8 R
+108 412.8 Q(ord \(M\255Rubout\))-.1 E F0 3.025(Kill the w)144 424.8 R
3.025(ord behind point.)-.1 F -.8(Wo)8.025 G 3.025
(rd boundaries are the same as those used by).8 F F1(shell\255back-)
-5.525 E(ward\255w)144 556.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 568.8 Q
-(ord\255rubout \(C\255w\))-.1 E F0 .365(Kill the w)144 580.8 R .365
-(ord behind point, using white space as a w)-.1 F .364(ord boundary)-.1
-F 5.364(.T)-.65 G .364(he killed te)-5.364 F .364(xt is sa)-.15 F -.15
-(ve)-.2 G 2.864(do).15 G 2.864(nt)-2.864 G(he)-2.864 E(kill-ring.)144
-592.8 Q F1(unix\255\214lename\255rubout)108 604.8 Q F0 .166(Kill the w)
-144 616.8 R .166
+5.525 E(ward\255w)144 436.8 Q(ord)-.1 E F0(.)A F1(unix\255w)108 448.8 Q
+(ord\255rubout \(C\255w\))-.1 E F0 .364(Kill the w)144 460.8 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
+472.8 Q F1(unix\255\214lename\255rubout)108 484.8 Q F0 .167(Kill the w)
+144 496.8 R .166
(ord behind point, using white space and the slash character as the w)
--.1 F .167(ord boundaries.)-.1 F(The)5.167 E(killed te)144 628.8 Q
+-.1 F .166(ord boundaries.)-.1 F(The)5.166 E(killed te)144 508.8 Q
(xt is sa)-.15 E -.15(ve)-.2 G 2.5(do).15 G 2.5(nt)-2.5 G(he kill-ring.)
--2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 640.8 Q F0
-(Delete all spaces and tabs around point.)144 652.8 Q F1(kill\255r)108
-664.8 Q(egion)-.18 E F0(Kill the te)144 676.8 Q(xt in the current re)
--.15 E(gion.)-.15 E F1(copy\255r)108 688.8 Q(egion\255as\255kill)-.18 E
-F0(Cop)144 700.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
-(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(41)185.955 E 0 Cg EP
-%%Page: 42 42
+-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 520.8 Q F0
+(Delete all spaces and tabs around point.)144 532.8 Q F1(kill\255r)108
+544.8 Q(egion)-.18 E F0(Kill the te)144 556.8 Q(xt in the current re)
+-.15 E(gion.)-.15 E F1(copy\255r)108 568.8 Q(egion\255as\255kill)-.18 E
+F0(Cop)144 580.8 Q 2.5(yt)-.1 G(he te)-2.5 E(xt in the re)-.15 E
+(gion to the kill b)-.15 E(uf)-.2 E(fer)-.25 E(.)-.55 E F1
+(copy\255backward\255w)108 592.8 Q(ord)-.1 E F0(Cop)144 604.8 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
+616.8 Q(ord)-.1 E F0(.)A F1(copy\255f)108 628.8 Q(orward\255w)-.25 E
+(ord)-.1 E F0(Cop)144 640.8 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 652.8 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 664.8 Q
+F0 -1(Ya)144 676.8 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 688.8 Q F0
+(Rotate the kill ring, and yank the ne)144 700.8 Q 2.5(wt)-.25 G 2.5
+(op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
+F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(42)185.955 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(copy\255backward\255w)108 84 Q(ord)-.1 E F0
-(Cop)144 96 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 108 Q(ord)-.1 E F0(.)A F1(copy\255f)108 120 Q
-(orward\255w)-.25 E(ord)-.1 E F0(Cop)144 132 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 144 Q(ord)-.1 E F0(.)A F1(yank \(C\255y\))108 156 Q F0 -1
-(Ya)144 168 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 180 Q F0
-(Rotate the kill ring, and yank the ne)144 192 Q 2.5(wt)-.25 G 2.5
-(op. Only)-2.5 F -.1(wo)2.5 G(rks follo).1 E(wing)-.25 E F1(yank)2.5 E
-F0(or)2.5 E F1(yank\255pop)2.5 E F0(.)A F1(Numeric Ar)87 208.8 Q
-(guments)-.1 E(digit\255ar)108 220.8 Q
-(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0 .642
-(Add this digit to the ar)144 232.8 R .641
+-.35 E/F1 10/Times-Bold@0 SF(Numeric Ar)87 84 Q(guments)-.1 E
+(digit\255ar)108 96 Q(gument \(M\2550, M\2551, ..., M\255\255\))-.1 E F0
+.641(Add this digit to the ar)144 108 R .641
(gument already accumulating, or start a ne)-.18 F 3.141(wa)-.25 G -.18
-(rg)-3.141 G 3.141(ument. M\255\255).18 F .641(starts a ne)3.141 F(g-)
--.15 E(ati)144 244.8 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
-(uni)108 256.8 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .778
-(This is another w)144 268.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
+(rg)-3.141 G 3.142(ument. M\255\255).18 F .642(starts a ne)3.142 F(g-)
+-.15 E(ati)144 120 Q .3 -.15(ve a)-.25 H -.18(rg).15 G(ument.).18 E F1
+(uni)108 132 Q -.1(ve)-.1 G(rsal\255ar).1 E(gument)-.1 E F0 .779
+(This is another w)144 144 R .779(ay to specify an ar)-.1 F 3.279
+(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
-280.8 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
-292.8 Q 1.17(wed by digits, e)-.25 F -.15(xe)-.15 G(cuting).15 E F1(uni)
+156 R 3.876(gument. If)-.18 F 1.376(the command is fol-)3.876 F(lo)144
+168 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 304.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 180 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 316.8 R .243
+(neither a digit or minus sign, the ar)144 192 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 328.8 Q .378
+-.15 F 5.242(.T)-.55 G(he)-5.242 E(ar)144 204 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 340.8 Q 2.5(,as)-.4 G(econd time mak)
+.378(gument count)-.18 F(four)144 216 Q 2.5(,as)-.4 G(econd time mak)
-2.5 E(es the ar)-.1 E(gument count sixteen, and so on.)-.18 E F1
-(Completing)87 357.6 Q(complete \(T)108 369.6 Q(AB\))-.9 E F0 1.137
-(Attempt to perform completion on the te)144 381.6 R 1.137
+(Completing)87 232.8 Q(complete \(T)108 244.8 Q(AB\))-.9 E F0 1.137
+(Attempt to perform completion on the te)144 256.8 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 393.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 405.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 268.8 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 280.8 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 417.6 Q F1
-(possible\255completions \(M\255?\))108 429.6 Q F0
-(List the possible completions of the te)144 441.6 Q(xt before point.)
--.15 E F1(insert\255completions \(M\255*\))108 453.6 Q F0 .783
-(Insert all completions of the te)144 465.6 R .783
+(duces a match, \214lename completion is attempted.)144 292.8 Q F1
+(possible\255completions \(M\255?\))108 304.8 Q F0
+(List the possible completions of the te)144 316.8 Q(xt before point.)
+-.15 E F1(insert\255completions \(M\255*\))108 328.8 Q F0 .783
+(Insert all completions of the te)144 340.8 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
-477.6 Q F0(.)A F1(menu\255complete)108 489.6 Q F0 .928(Similar to)144
-501.6 R F1(complete)3.428 E F0 3.428(,b)C .929(ut replaces the w)-3.628
+.783(een generated by).15 F F1(possible\255com-)3.283 E(pletions)144
+352.8 Q F0(.)A F1(menu\255complete)108 364.8 Q F0 .929(Similar to)144
+376.8 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.194(possible completions.)144 513.6 R 1.194(Repeated e)6.194 F -.15
-(xe)-.15 G 1.194(cution of).15 F F1(menu\255complete)3.694 E F0 1.193
-(steps through the list of possible)3.694 F .828
-(completions, inserting each match in turn.)144 525.6 R .828
+1.193(possible completions.)144 388.8 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 400.8 R .828
(At the end of the list of completions, the bell is rung)5.828 F .727
-(\(subject to the setting of)144 537.6 R F1(bell\255style)3.227 E F0
+(\(subject to the setting of)144 412.8 R F1(bell\255style)3.227 E F0
3.227(\)a)C .727(nd the original te)-3.227 F .727(xt is restored.)-.15 F
.727(An ar)5.727 F .727(gument of)-.18 F/F2 10/Times-Italic@0 SF(n)3.227
-E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.227 E F0 1.73
-(positions forw)144 549.6 R 1.73(ard in the list of matches; a ne)-.1 F
+E F0(mo)3.227 E -.15(ve)-.15 G(s).15 E F2(n)3.228 E F0 1.73
+(positions forw)144 424.8 R 1.73(ard in the list of matches; a ne)-.1 F
-.05(ga)-.15 G(ti).05 E 2.03 -.15(ve a)-.25 H -.18(rg).15 G 1.73
(ument may be used to mo).18 F 2.03 -.15(ve b)-.15 H(ackw).15 E(ard)-.1
-E(through the list.)144 561.6 Q(This command is intended to be bound to)
+E(through the list.)144 436.8 Q(This command is intended to be bound to)
5 E F1 -.9(TA)2.5 G(B).9 E F0 2.5(,b)C(ut is unbound by def)-2.7 E
-(ault.)-.1 E F1(menu\255complete-)108 573.6 Q(w)10 I(k)-7.22 -10 M(c)
--5.56 -10 M(rd)2.78 10 M F0 .82(Identical to)144 585.6 R F1
-(menu\255complete)3.32 E F0 3.32(,b)C .82(ut mo)-3.52 F -.15(ve)-.15 G
-3.32(sb).15 G(ackw)-3.32 E .82
+(ault.)-.1 E F1(menu\255complete\255backward)108 448.8 Q F0 .82
+(Identical to)144 460.8 R F1(menu\255complete)3.32 E F0 3.32(,b)C .82
+(ut mo)-3.52 F -.15(ve)-.15 G 3.32(sb).15 G(ackw)-3.32 E .82
(ard through the list of possible completions, as if)-.1 F F1
-(menu\255complete)144 597.6 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
+(menu\255complete)144 472.8 Q F0(had been gi)2.5 E -.15(ve)-.25 G 2.5
(nan).15 G -2.25 -.15(eg a)-2.5 H(ti).15 E .3 -.15(ve a)-.25 H -.18(rg)
.15 G 2.5(ument. This).18 F(command is unbound by def)2.5 E(ault.)-.1 E
-F1(delete\255char\255or\255list)108 609.6 Q F0 .234
-(Deletes the character under the cursor if not at the be)144 621.6 R
+F1(delete\255char\255or\255list)108 484.8 Q F0 .234
+(Deletes the character under the cursor if not at the be)144 496.8 R
.234(ginning or end of the line \(lik)-.15 F(e)-.1 E F1(delete\255char)
-2.735 E F0(\).)A .425(If at the end of the line, beha)144 633.6 R -.15
+2.734 E F0(\).)A .425(If at the end of the line, beha)144 508.8 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 645.6 Q(ault.)-.1 E F1
-(complete\255\214lename \(M\255/\))108 657.6 Q F0
-(Attempt \214lename completion on the te)144 669.6 Q(xt before point.)
--.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 681.6 Q
-F0(List the possible completions of the te)144 693.6 Q
+(his command is unbound)-5.425 F(by def)144 520.8 Q(ault.)-.1 E F1
+(complete\255\214lename \(M\255/\))108 532.8 Q F0
+(Attempt \214lename completion on the te)144 544.8 Q(xt before point.)
+-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 556.8 Q
+F0(List the possible completions of the te)144 568.8 Q
(xt before point, treating it as a \214lename.)-.15 E F1
-(complete\255user)108 705.6 Q(name \(M\255~\))-.15 E F0
-(Attempt completion on the te)144 717.6 Q
-(xt before point, treating it as a username.)-.15 E(GNU Bash-4.1)72 768
-Q(2009 December 29)135.965 E(42)185.955 E 0 Cg EP
-%%Page: 43 43
+(complete\255user)108 580.8 Q(name \(M\255~\))-.15 E F0
+(Attempt completion on the te)144 592.8 Q
+(xt before point, treating it as a username.)-.15 E F1(possible\255user)
+108 604.8 Q(name\255completions \(C\255x ~\))-.15 E F0
+(List the possible completions of the te)144 616.8 Q
+(xt before point, treating it as a username.)-.15 E F1(complete\255v)108
+628.8 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144
+640.8 Q(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E
+F1(possible\255v)108 652.8 Q(ariable\255completions \(C\255x $\))-.1 E
+F0(List the possible completions of the te)144 664.8 Q
+(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
+(complete\255hostname \(M\255@\))108 676.8 Q F0
+(Attempt completion on the te)144 688.8 Q
+(xt before point, treating it as a hostname.)-.15 E F1
+(possible\255hostname\255completions \(C\255x @\))108 700.8 Q F0
+(List the possible completions of the te)144 712.8 Q
+(xt before point, treating it as a hostname.)-.15 E(GNU Bash-4.2)72 768
+Q(2010 December 28)135.965 E(43)185.955 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(possible\255user)108 84 Q
-(name\255completions \(C\255x ~\))-.15 E F0
-(List the possible completions of the te)144 96 Q
-(xt before point, treating it as a username.)-.15 E F1(complete\255v)108
-108 Q(ariable \(M\255$\))-.1 E F0(Attempt completion on the te)144 120 Q
-(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
-(possible\255v)108 132 Q(ariable\255completions \(C\255x $\))-.1 E F0
-(List the possible completions of the te)144 144 Q
-(xt before point, treating it as a shell v)-.15 E(ariable.)-.25 E F1
-(complete\255hostname \(M\255@\))108 156 Q F0
-(Attempt completion on the te)144 168 Q
-(xt before point, treating it as a hostname.)-.15 E F1
-(possible\255hostname\255completions \(C\255x @\))108 180 Q F0
-(List the possible completions of the te)144 192 Q
-(xt before point, treating it as a hostname.)-.15 E F1
-(complete\255command \(M\255!\))108 204 Q F0 .58
-(Attempt completion on the te)144 216 R .581
-(xt before point, treating it as a command name.)-.15 F .581
-(Command comple-)5.581 F .715(tion attempts to match the te)144 228 R
+-.35 E/F1 10/Times-Bold@0 SF(complete\255command \(M\255!\))108 84 Q F0
+.581(Attempt completion on the te)144 96 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 108 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 240 Q -.15(xe)-.15 G
+(\214nally e)144 120 Q -.15(xe)-.15 G
(cutable \214lenames, in that order).15 E(.)-.55 E F1
-(possible\255command\255completions \(C\255x !\))108 252 Q F0
-(List the possible completions of the te)144 264 Q
+(possible\255command\255completions \(C\255x !\))108 132 Q F0
+(List the possible completions of the te)144 144 Q
(xt before point, treating it as a command name.)-.15 E F1
-(dynamic\255complete\255history \(M\255T)108 276 Q(AB\))-.9 E F0 .424
-(Attempt completion on the te)144 288 R .425
-(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .425
+(dynamic\255complete\255history \(M\255T)108 156 Q(AB\))-.9 E F0 .425
+(Attempt completion on the te)144 168 R .425
+(xt before point, comparing the te)-.15 F .425(xt ag)-.15 F .424
(ainst lines from the history list)-.05 F
-(for possible completion matches.)144 300 Q F1(dab)108 312 Q(br)-.1 E
--.15(ev)-.18 G(\255expand).15 E F0 .611
-(Attempt menu completion on the te)144 324 R .611
-(xt before point, comparing the te)-.15 F .61(xt ag)-.15 F .61
+(for possible completion matches.)144 180 Q F1(dab)108 192 Q(br)-.1 E
+-.15(ev)-.18 G(\255expand).15 E F0 .61
+(Attempt menu completion on the te)144 204 R .611
+(xt before point, comparing the te)-.15 F .611(xt ag)-.15 F .611
(ainst lines from the his-)-.05 F
-(tory list for possible completion matches.)144 336 Q F1
-(complete\255into\255braces \(M\255{\))108 348 Q F0 .4(Perform \214lena\
+(tory list for possible completion matches.)144 216 Q F1
+(complete\255into\255braces \(M\255{\))108 228 Q F0 .4(Perform \214lena\
me completion and insert the list of possible completions enclosed with\
-in braces so)144 360 R(the list is a)144 372 Q -.25(va)-.2 G
+in braces so)144 240 R(the list is a)144 252 Q -.25(va)-.2 G
(ilable to the shell \(see).25 E F1(Brace Expansion)2.5 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 388.8 S(yboard Macr).25 E(os)-.18
-E(start\255kbd\255macr)108 400.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
-.833 E F0(Be)144 412.8 Q(gin sa)-.15 E
+-.15(ve)-.15 G(\).).15 E F1 -.25(Ke)87 268.8 S(yboard Macr).25 E(os)-.18
+E(start\255kbd\255macr)108 280.8 Q 2.5(o\()-.18 G(C\255x \()-2.5 E(\))
+.833 E F0(Be)144 292.8 Q(gin sa)-.15 E
(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
-(board macro.).15 E F1(end\255kbd\255macr)108 424.8 Q 2.5(o\()-.18 G
-(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 436.8 Q
+(board macro.).15 E F1(end\255kbd\255macr)108 304.8 Q 2.5(o\()-.18 G
+(C\255x \))-2.5 E(\)).833 E F0(Stop sa)144 316.8 Q
(ving the characters typed into the current k)-.2 E -.15(ey)-.1 G
(board macro and store the de\214nition.).15 E F1
-(call\255last\255kbd\255macr)108 448.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
-E F0(Re-e)144 460.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 472.8 Q -.15(ey)-.1 G(board.).15 E F1
-(Miscellaneous)87 489.6 Q -.18(re)108 501.6 S<ad72>.18 E
-(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.776
-(Read in the contents of the)144 513.6 R/F2 10/Times-Italic@0 SF(inputr)
-4.276 E(c)-.37 E F0 1.777(\214le, and incorporate an)4.276 F 4.277(yb)
--.15 G 1.777(indings or v)-4.277 F 1.777(ariable assignments)-.25 F
-(found there.)144 525.6 Q F1(abort \(C\255g\))108 537.6 Q F0 3.249
-(Abort the current editing command and ring the terminal')144 549.6 R
-5.748(sb)-.55 G 3.248(ell \(subject to the setting of)-5.748 F F1
-(bell\255style)144 561.6 Q F0(\).)A F1(do\255upper)108 573.6 Q
+(call\255last\255kbd\255macr)108 328.8 Q 2.5(o\()-.18 G(C\255x e\))-2.5
+E F0(Re-e)144 340.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 352.8 Q -.15(ey)-.1 G(board.).15
+E F1(Miscellaneous)87 369.6 Q -.18(re)108 381.6 S<ad72>.18 E
+(ead\255init\255\214le \(C\255x C\255r\))-.18 E F0 1.777
+(Read in the contents of the)144 393.6 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 405.6 Q F1(abort \(C\255g\))108 417.6 Q F0 3.248
+(Abort the current editing command and ring the terminal')144 429.6 R
+5.749(sb)-.55 G 3.249(ell \(subject to the setting of)-5.749 F F1
+(bell\255style)144 441.6 Q F0(\).)A F1(do\255upper)108 453.6 Q
(case\255v)-.18 E(ersion \(M\255a, M\255b, M\255)-.1 E F2(x)A F1 2.5(,.)
-C(..\))-2.5 E F0 1.755(If the meta\214ed character)144 585.6 R F2(x)
-4.255 E F0 1.755(is lo)4.255 F 1.756
+C(..\))-2.5 E F0 1.756(If the meta\214ed character)144 465.6 R F2(x)
+4.256 E F0 1.755(is lo)4.256 F 1.755
(wercase, run the command that is bound to the corresponding)-.25 F
-(uppercase character)144 597.6 Q(.)-.55 E F1(pr)108 609.6 Q
-(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 621.6 Q
+(uppercase character)144 477.6 Q(.)-.55 E F1(pr)108 489.6 Q
+(e\214x\255meta \(ESC\))-.18 E F0(Metafy the ne)144 501.6 Q
(xt character typed.)-.15 E/F3 9/Times-Bold@0 SF(ESC)5 E F1(f)2.25 E F0
(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1(Meta\255f)2.5 E F0(.)A F1
-(undo \(C\255_, C\255x C\255u\))108 633.6 Q F0
-(Incremental undo, separately remembered for each line.)144 645.6 Q F1
--2.29 -.18(re v)108 657.6 T(ert\255line \(M\255r\)).08 E F0 1.095
-(Undo all changes made to this line.)144 669.6 R 1.095(This is lik)6.095
+(undo \(C\255_, C\255x C\255u\))108 513.6 Q F0
+(Incremental undo, separately remembered for each line.)144 525.6 Q F1
+-2.29 -.18(re v)108 537.6 T(ert\255line \(M\255r\)).08 E F0 1.095
+(Undo all changes made to this line.)144 549.6 R 1.095(This is lik)6.095
F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
F0 1.095(command enough times to)3.595 F
-(return the line to its initial state.)144 681.6 Q F1
-(tilde\255expand \(M\255&\))108 693.6 Q F0(Perform tilde e)144 705.6 Q
-(xpansion on the current w)-.15 E(ord.)-.1 E(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(43)185.955 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(set\255mark \(C\255@, M\255<space>\))108 84
-Q F0(Set the mark to the point.)144 96 Q(If a numeric ar)5 E
+(return the line to its initial state.)144 561.6 Q F1
+(tilde\255expand \(M\255&\))108 573.6 Q F0(Perform tilde e)144 585.6 Q
+(xpansion on the current w)-.15 E(ord.)-.1 E F1
+(set\255mark \(C\255@, M\255<space>\))108 597.6 Q F0
+(Set the mark to the point.)144 609.6 Q(If a numeric ar)5 E
(gument is supplied, the mark is set to that position.)-.18 E F1
-(exchange\255point\255and\255mark \(C\255x C\255x\))108 108 Q F0(Sw)144
-120 Q .282(ap the point with the mark.)-.1 F .283
+(exchange\255point\255and\255mark \(C\255x C\255x\))108 621.6 Q F0(Sw)
+144 633.6 Q .283(ap the point with the mark.)-.1 F .283
(The current cursor position is set to the sa)5.283 F -.15(ve)-.2 G
-2.783(dp).15 G .283(osition, and the old)-2.783 F(cursor position is sa)
-144 132 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 144 Q(ch \(C\255]\))-.18 E F0 3.036(Ac)144 156 S
-.536(haracter is read and point is mo)-3.036 F -.15(ve)-.15 G 3.035(dt)
-.15 G 3.035(ot)-3.035 G .535(he ne)-3.035 F .535
-(xt occurrence of that character)-.15 F 5.535(.A)-.55 G(ne)-2.5 E -.05
-(ga)-.15 G(ti).05 E .835 -.15(ve c)-.25 H(ount).15 E(searches for pre)
-144 168 Q(vious occurrences.)-.25 E F1(character\255sear)108 180 Q
-(ch\255backward \(M\255C\255]\))-.18 E F0 3.543(Ac)144 192 S 1.043
-(haracter is read and point is mo)-3.543 F -.15(ve)-.15 G 3.544(dt).15 G
+2.782(dp).15 G .282(osition, and the old)-2.782 F(cursor position is sa)
+144 645.6 Q -.15(ve)-.2 G 2.5(da).15 G 2.5(st)-2.5 G(he mark.)-2.5 E F1
+(character\255sear)108 657.6 Q(ch \(C\255]\))-.18 E F0 3.035(Ac)144
+669.6 S .535(haracter is read and point is mo)-3.035 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)
+144 681.6 Q(vious occurrences.)-.25 E F1(character\255sear)108 693.6 Q
+(ch\255backward \(M\255C\255]\))-.18 E F0 3.544(Ac)144 705.6 S 1.044
+(haracter is read and point is mo)-3.544 F -.15(ve)-.15 G 3.544(dt).15 G
3.544(ot)-3.544 G 1.044(he pre)-3.544 F 1.044
-(vious occurrence of that character)-.25 F 6.044(.A)-.55 G(ne)-2.5 E
+(vious occurrence of that character)-.25 F 6.043(.A)-.55 G(ne)-2.5 E
-.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G
-(count searches for subsequent occurrences.)144 204 Q F1
-(skip\255csi\255sequence \(\))108 216 Q F0 1.827
-(Read enough characters to consume a multi-k)144 228 R 2.126 -.15(ey s)
--.1 H 1.826(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
-4.326(sl).15 G(ik)-4.326 E(e)-.1 E .79(Home and End.)144 240 R .791
-(Such sequences be)5.79 F .791
+(count searches for subsequent occurrences.)144 717.6 Q(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(44)185.955 E 0 Cg EP
+%%Page: 45 45
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(skip\255csi\255sequence)108 84 Q F0 1.826
+(Read enough characters to consume a multi-k)144 96 R 2.126 -.15(ey s)
+-.1 H 1.827(equence such as those de\214ned for k).15 F -.15(ey)-.1 G
+4.327(sl).15 G(ik)-4.327 E(e)-.1 E .791(Home and End.)144 108 R .791
+(Such sequences be)5.791 F .791
(gin with a Control Sequence Indicator \(CSI\), usually ESC\255[.)-.15 F
-.332(If this sequence is bound to "\\[", k)144 252 R -.15(ey)-.1 G 2.831
-(sp).15 G .331(roducing such sequences will ha)-2.831 F .631 -.15(ve n)
--.2 H 2.831(oe).15 G -.25(ff)-2.831 G .331(ect unless e).25 F(xplic-)
+.331(If this sequence is bound to "\\[", k)144 120 R -.15(ey)-.1 G 2.831
+(sp).15 G .331(roducing such sequences will ha)-2.831 F .632 -.15(ve n)
+-.2 H 2.832(oe).15 G -.25(ff)-2.832 G .332(ect unless e).25 F(xplic-)
-.15 E .026(itly bound to a readline command, instead of inserting stra\
-y characters into the editing b)144 264 R(uf)-.2 E(fer)-.25 E 5.026(.T)
--.55 G(his)-5.026 E(is unbound by def)144 276 Q(ault, b)-.1 E
+y characters into the editing b)144 132 R(uf)-.2 E(fer)-.25 E 5.026(.T)
+-.55 G(his)-5.026 E(is unbound by def)144 144 Q(ault, b)-.1 E
(ut usually bound to ESC\255[.)-.2 E F1(insert\255comment \(M\255#\))108
-288 Q F0 -.4(Wi)144 300 S .481(thout a numeric ar).4 F .481
-(gument, the v)-.18 F .481(alue of the readline)-.25 F F1
-(comment\255begin)2.981 E F0 -.25(va)2.981 G .48
-(riable is inserted at the).25 F(be)144 312 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 324 R .321
+156 Q F0 -.4(Wi)144 168 S .48(thout a numeric ar).4 F .48(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 180 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 192 R .321
(ginning of the line do not match the v)-.15 F .321(alue of)-.25 F F1
-(comment\255begin)2.821 E F0 2.821(,t)C .321(he v)-2.821 F .321(alue is)
--.25 F .831(inserted, otherwise the characters in)144 336 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 348 R 1.468
-(wline had been typed.)-.25 F 1.468(The def)6.468 F 1.468(ault v)-.1 F
-1.468(alue of)-.25 F F1(com-)3.968 E(ment\255begin)144 360 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 372 Q -.15
+(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 204 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
+(In either case, the line is accepted as if a ne)144 216 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 228 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
+(gu-)-.18 E(ment causes the comment character to be remo)144 240 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 384 Q
-(ord \(M\255g\))-.1 E F0 .792(The w)144 396 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 408
+(cuted by the shell.).15 E F1(glob\255complete\255w)108 252 Q
+(ord \(M\255g\))-.1 E F0 .791(The w)144 264 R .791
+(ord before point is treated as a pattern for pathname e)-.1 F .792
+(xpansion, with an asterisk implicitly)-.15 F 2.5(appended. This)144 276
R(pattern is used to generate a list of matching \214le names for possi\
-ble completions.)2.5 E F1(glob\255expand\255w)108 420 Q
-(ord \(C\255x *\))-.1 E F0 .371(The w)144 432 R .372
-(ord before point is treated as a pattern for pathname e)-.1 F .372
+ble completions.)2.5 E F1(glob\255expand\255w)108 288 Q
+(ord \(C\255x *\))-.1 E F0 .372(The w)144 300 R .372
+(ord before point is treated as a pattern for pathname e)-.1 F .371
(xpansion, and the list of matching \214le)-.15 F .516
-(names is inserted, replacing the w)144 444 R 3.016(ord. If)-.1 F 3.016
+(names is inserted, replacing the w)144 312 R 3.016(ord. If)-.1 F 3.016
(an)3.016 G .516(umeric ar)-3.016 F .516
(gument is supplied, an asterisk is appended)-.18 F(before pathname e)
-144 456 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
-108 468 Q F0 .923(The list of e)144 480 R .923(xpansions that w)-.15 F
+144 324 Q(xpansion.)-.15 E F1(glob\255list\255expansions \(C\255x g\))
+108 336 Q F0 .923(The list of e)144 348 R .923(xpansions that w)-.15 F
.923(ould ha)-.1 F 1.223 -.15(ve b)-.2 H .923(een generated by).15 F F1
(glob\255expand\255w)3.423 E(ord)-.1 E F0 .923(is displayed, and)3.423 F
-.872(the line is redra)144 492 R 3.372(wn. If)-.15 F 3.372(an)3.372 G
+.872(the line is redra)144 360 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 504 S(pansion.).15 E F1(dump\255functions)108 516 Q F0 .626
-(Print all of the functions and their k)144 528 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 540 Q
+(ex)144 372 S(pansion.).15 E F1(dump\255functions)108 384 Q F0 .627
+(Print all of the functions and their k)144 396 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
+(ment is supplied, the output is formatted in such a w)144 408 Q
(ay that it can be made part of an)-.1 E/F2 10/Times-Italic@0 SF(inputr)
-2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 552 Q(ariables)-.1 E F0
-1.8(Print all of the settable readline v)144 564 R 1.799
-(ariables and their v)-.25 F 1.799(alues to the readline output stream.)
--.25 F 1.799(If a)6.799 F .304(numeric ar)144 576 R .304
+2.5 E(c)-.37 E F0(\214le.)2.5 E F1(dump\255v)108 420 Q(ariables)-.1 E F0
+1.799(Print all of the settable readline v)144 432 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 444 R .304
(gument is supplied, the output is formatted in such a w)-.18 F .304
-(ay that it can be made part of an)-.1 F F2(inputr)144 588 Q(c)-.37 E F0
-(\214le.)2.5 E F1(dump\255macr)108 600 Q(os)-.18 E F0 .593
-(Print all of the readline k)144 612 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 624 Q
+(ay that it can be made part of an)-.1 F F2(inputr)144 456 Q(c)-.37 E F0
+(\214le.)2.5 E F1(dump\255macr)108 468 Q(os)-.18 E F0 .592
+(Print all of the readline k)144 480 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 492 Q
.528(gument is supplied, the output is formatted in such a w)-.18 F .528
-(ay that it can be made part of an)-.1 F F2(inputr)3.028 E(c)-.37 E F0
-(\214le.)144 636 Q F1(display\255shell\255v)108 648 Q
-(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 660 Q
+(ay that it can be made part of an)-.1 F F2(inputr)3.027 E(c)-.37 E F0
+(\214le.)144 504 Q F1(display\255shell\255v)108 516 Q
+(ersion \(C\255x C\255v\))-.1 E F0(Display v)144 528 Q
(ersion information about the current instance of)-.15 E F1(bash)2.5 E
-F0(.)A F1(Pr)87 676.8 Q(ogrammable Completion)-.18 E F0 .147(When w)108
-688.8 R .147(ord completion is attempted for an ar)-.1 F .147
+F0(.)A F1(Pr)87 544.8 Q(ogrammable Completion)-.18 E F0 .146(When w)108
+556.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 700.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)
+F2(compspec)108 568.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)
3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829
-F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.329(w\), the)
--.25 F(programmable completion f)108 712.8 Q(acilities are in)-.1 E -.2
-(vo)-.4 G -.1(ke).2 G(d.).1 E .498
-(First, the command name is identi\214ed.)108 729.6 R .498
-(If the command w)5.498 F .497
-(ord is the empty string \(completion attempted at)-.1 F(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(44)185.955 E 0 Cg EP
-%%Page: 45 45
+F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the)
+-.25 F(programmable completion f)108 580.8 Q(acilities are in)-.1 E -.2
+(vo)-.4 G -.1(ke).2 G(d.).1 E .497
+(First, the command name is identi\214ed.)108 597.6 R .497
+(If the command w)5.497 F .498
+(ord is the empty string \(completion attempted at)-.1 F .234(the be)108
+609.6 R .233(ginning of an empty line\), an)-.15 F 2.733(yc)-.15 G .233
+(ompspec de\214ned with the)-2.733 F F1<ad45>2.733 E F0 .233(option to)
+2.733 F F1(complete)2.733 E F0 .233(is used.)2.733 F .233(If a comp-)
+5.233 F .481(spec has been de\214ned for that command, the compspec is \
+used to generate the list of possible completions)108 621.6 R .823
+(for the w)108 633.6 R 3.323(ord. If)-.1 F .823(the command w)3.323 F
+.822(ord is a full pathname, a compspec for the full pathname is search\
+ed for)-.1 F 2.866(\214rst. If)108 645.6 R .367(no compspec is found fo\
+r the full pathname, an attempt is made to \214nd a compspec for the po\
+rtion)2.866 F(follo)108 657.6 Q .299(wing the \214nal slash.)-.25 F .298
+(If those searches do not result in a compspec, an)5.299 F 2.798(yc)-.15
+G .298(ompspec de\214ned with the)-2.798 F F1<ad44>2.798 E F0(option to)
+108 669.6 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E
+.817(Once a compspec has been found, it is used to generate the list of\
+ matching w)108 686.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 698.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 .464
+(First, the actions speci\214ed by the compspec are used.)108 715.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 727.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
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(45)185.955 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 .233(the be)108 84 R .233(ginning of an empty line\), an)-.15 F
-2.733(yc)-.15 G .233(ompspec de\214ned with the)-2.733 F/F1 10
-/Times-Bold@0 SF<ad45>2.733 E F0 .233(option to)2.733 F F1(complete)
-2.733 E F0 .233(is used.)2.733 F .234(If a comp-)5.234 F .481(spec has \
-been de\214ned for that command, the compspec is used to generate the l\
-ist of possible completions)108 96 R .822(for the w)108 108 R 3.322
-(ord. If)-.1 F .822(the command w)3.322 F .823(ord is a full pathname, \
-a compspec for the full pathname is searched for)-.1 F 2.867
-(\214rst. If)108 120 R .366(no compspec is found for the full pathname,\
- an attempt is made to \214nd a compspec for the portion)2.867 F(follo)
-108 132 Q .421(wing the \214nal slash.)-.25 F .422
-(If those searches to not result in a compspec, an)5.421 F 2.922(yc)-.15
-G .422(ompspec de\214ned with the)-2.922 F F1<ad44>2.922 E F0(option to)
-108 144 Q F1(complete)2.5 E F0(is used as the def)2.5 E(ault.)-.1 E .817
-(Once a compspec has been found, it is used to generate the list of mat\
-ching w)108 160.8 R 3.317(ords. If)-.1 F 3.317(ac)3.317 G .817
-(ompspec is not)-3.317 F(found, the def)108 172.8 Q(ault)-.1 E F1(bash)
-2.5 E F0(completion as described abo)2.5 E .3 -.15(ve u)-.15 H(nder).15
-E F1(Completing)2.5 E F0(is performed.)2.5 E .463
-(First, the actions speci\214ed by the compspec are used.)108 189.6 R
-.464(Only matches which are pre\214x)5.464 F .464(ed by the w)-.15 F
-.464(ord being)-.1 F .596(completed are returned.)108 201.6 R .596
-(When the)5.596 F F1<ad66>3.096 E F0(or)3.095 E F1<ad64>3.095 E F0 .595
-(option is used for \214lename or directory name completion, the)3.095 F
-(shell v)108 213.6 Q(ariable)-.25 E/F2 9/Times-Bold@0 SF(FIGNORE)2.5 E
-F0(is used to \214lter the matches.)2.25 E(An)108 230.4 Q 4.084(yc)-.15
-G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584
-(xpansion pattern to the)-.15 F F1<ad47>4.084 E F0 1.584
-(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108 242.4 S
-.555(rds generated by the pattern need not match the w).1 F .554
-(ord being completed.)-.1 F(The)5.554 E F2(GLOBIGNORE)3.054 E F0 .554
-(shell v)2.804 F(ari-)-.25 E
-(able is not used to \214lter the matches, b)108 254.4 Q(ut the)-.2 E F2
-(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 271.2 Q
-.32(xt, the string speci\214ed as the ar)-.15 F .32(gument to the)-.18 F
-F1<ad57>2.82 E F0 .321(option is considered.)2.821 F .321
-(The string is \214rst split using the)5.321 F .413(characters in the)
-108 283.2 R F2(IFS)2.913 E F0 .412(special v)2.663 F .412
+-.35 E(shell v)108 84 Q(ariable)-.25 E/F1 9/Times-Bold@0 SF(FIGNORE)2.5
+E F0(is used to \214lter the matches.)2.25 E(An)108 100.8 Q 4.084(yc)
+-.15 G 1.584(ompletions speci\214ed by a pathname e)-4.084 F 1.584
+(xpansion pattern to the)-.15 F/F2 10/Times-Bold@0 SF<ad47>4.084 E F0
+1.584(option are generated ne)4.084 F 4.084(xt. The)-.15 F -.1(wo)108
+112.8 S .554(rds generated by the pattern need not match the w).1 F .555
+(ord being completed.)-.1 F(The)5.555 E F1(GLOBIGNORE)3.055 E F0 .555
+(shell v)2.805 F(ari-)-.25 E
+(able is not used to \214lter the matches, b)108 124.8 Q(ut the)-.2 E F1
+(FIGNORE)2.5 E F0 -.25(va)2.25 G(riable is used.).25 E(Ne)108 141.6 Q
+.321(xt, the string speci\214ed as the ar)-.15 F .321(gument to the)-.18
+F F2<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
+153.6 R F1(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 295.2 R .091(xpansion, tilde e)-.15 F .092
-(xpansion, parameter and v)-.15 F .092(ariable e)-.25 F .092
-(xpansion, command substitution, and arith-)-.15 F 1.397(metic e)108
-307.2 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
-(nder).15 E F2(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0
+.413(Each w)5.412 F .413(ord is then e)-.1 F(xpanded)-.15 E .092
+(using brace e)108 165.6 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
+177.6 R 1.396(xpansion, as described abo)-.15 F 1.696 -.15(ve u)-.15 H
+(nder).15 E F1(EXP)3.896 E(ANSION)-.666 E/F3 9/Times-Roman@0 SF(.)A F0
1.396(The results are split using the rules described)5.896 F(abo)108
-319.2 Q .509 -.15(ve u)-.15 H(nder).15 E F1 -.75(Wo)2.709 G .209
-(rd Splitting).75 F F0 5.209(.T)C .209(he results of the e)-5.209 F .209
-(xpansion are pre\214x-matched ag)-.15 F .21(ainst the w)-.05 F .21
-(ord being com-)-.1 F(pleted, and the matching w)108 331.2 Q
-(ords become the possible completions.)-.1 E 1.238
-(After these matches ha)108 348 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 360 R -.2(vo)
--.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
+189.6 Q .51 -.15(ve u)-.15 H(nder).15 E F2 -.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 201.6 Q
+(ords become the possible completions.)-.1 E 1.237
+(After these matches ha)108 218.4 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 F2<ad46>3.738 E
+F0(and)3.738 E F2<ad43>3.738 E F0 3.376(options is in)108 230.4 R -.2
+(vo)-.4 G -.1(ke).2 G 5.875(d. When).1 F 3.375
(the command or function is in)5.875 F -.2(vo)-.4 G -.1(ke).2 G 3.375
-(d, the).1 F F2(COMP_LINE)5.876 E F3(,)A F2(COMP_POINT)5.626 E F3(,)A F2
-(COMP_KEY)108 372 Q F3(,)A F0(and)2.408 E F2(COMP_TYPE)2.658 E F0 -.25
-(va)2.408 G .157(riables are assigned v).25 F .157
-(alues as described abo)-.25 F .457 -.15(ve u)-.15 H(nder).15 E F1 .157
-(Shell V)2.657 F(ariables)-.92 E F0 5.157(.I)C(f)-5.157 E 3.485(as)108
-384 S .986(hell function is being in)-3.485 F -.2(vo)-.4 G -.1(ke).2 G
-.986(d, the).1 F F2(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F2
+(d, the).1 F F1(COMP_LINE)5.875 E F3(,)A F1(COMP_POINT)5.625 E F3(,)A F1
+(COMP_KEY)108 242.4 Q F3(,)A F0(and)2.407 E F1(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 F2 .158
+(Shell V)2.658 F(ariables)-.92 E F0 5.158(.I)C(f)-5.158 E 3.486(as)108
+254.4 S .986(hell function is being in)-3.486 F -.2(vo)-.4 G -.1(ke).2 G
+.986(d, the).1 F F1(COMP_W)3.486 E(ORDS)-.09 E F0(and)3.236 E F1
(COMP_CW)3.486 E(ORD)-.09 E F0 -.25(va)3.236 G .986
-(riables are also set.).25 F(When)5.986 E .609
-(the function or command is in)108 396 R -.2(vo)-.4 G -.1(ke).2 G .608
+(riables are also set.).25 F(When)5.985 E .608
+(the function or command is in)108 266.4 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
-408 R .073(gument is the w)-.18 F .073
+-.18 F .609(guments are)-.18 F .073(being completed, the second ar)108
+278.4 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 420 R .607
-(ord being completed on the current command line.)-.1 F .607
-(No \214ltering of the generated completions)5.607 F(ag)108 432 Q .093
+.072(ord pre-)-.1 F .607(ceding the w)108 290.4 R .607
+(ord being completed on the current command line.)-.1 F .608
+(No \214ltering of the generated completions)5.607 F(ag)108 302.4 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
-444 Q(An)108 460.8 Q 2.938(yf)-.15 G .437(unction speci\214ed with)
--2.938 F F1<ad46>2.937 E F0 .437(is in)2.937 F -.2(vo)-.4 G -.1(ke).2 G
+314.4 Q(An)108 331.2 Q 2.937(yf)-.15 G .437(unction speci\214ed with)
+-2.937 F F2<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 472.8 Q F1(compgen)2.956 E F0 -.2
-(bu)2.956 G .456(iltin described belo).2 F 1.756 -.65(w, t)-.25 H 2.956
-(og).65 G .456(enerate the matches.)-2.956 F .457
-(It must put the possible completions in the)5.456 F F2(COMPREPL)108
-484.8 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 501.6 Q .081
-(xt, an)-.15 F 2.581(yc)-.15 G .081(ommand speci\214ed with the)-2.581 F
-F1<ad43>2.581 E F0 .081(option is in)2.581 F -.2(vo)-.4 G -.1(ke).2 G
-2.581(di).1 G 2.58(na)-2.581 G 2.58(ne)-2.58 G -.4(nv)-2.58 G .08
-(ironment equi).4 F -.25(va)-.25 G .08(lent to command sub-).25 F 2.858
-(stitution. It)108 513.6 R .359(should print a list of completions, one\
- per line, to the standard output.)2.858 F .359(Backslash may be used)
-5.359 F(to escape a ne)108 525.6 Q(wline, if necessary)-.25 E(.)-.65 E
-.377(After all of the possible completions are generated, an)108 542.4 R
-2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F1<ad58>2.876
-E F0 .376(option is applied to the)2.876 F 3.181(list. The)108 554.4 R
-.681(\214lter is a pattern as used for pathname e)3.181 F .681
-(xpansion; a)-.15 F F1(&)3.181 E F0 .682
-(in the pattern is replaced with the te)3.182 F .682(xt of)-.15 F .523
-(the w)108 566.4 R .523(ord being completed.)-.1 F 3.023(Al)5.523 G
-(iteral)-3.023 E F1(&)3.023 E F0 .522
+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 343.2 Q F2(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 F1(COMPREPL)108
+355.2 Q(Y)-.828 E F0(array v)2.25 E(ariable.)-.25 E(Ne)108 372 Q .08
+(xt, an)-.15 F 2.58(yc)-.15 G .08(ommand speci\214ed with the)-2.58 F F2
+<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 384 R .359(should print a list of completions, one p\
+er line, to the standard output.)2.859 F .358(Backslash may be used)
+5.359 F(to escape a ne)108 396 Q(wline, if necessary)-.25 E(.)-.65 E
+.376(After all of the possible completions are generated, an)108 412.8 R
+2.877<798c>-.15 G .377(lter speci\214ed with the)-2.877 F F2<ad58>2.877
+E F0 .377(option is applied to the)2.877 F 3.182(list. The)108 424.8 R
+.682(\214lter is a pattern as used for pathname e)3.182 F .681
+(xpansion; a)-.15 F F2(&)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 436.8 R .522(ord being completed.)-.1 F 3.022(Al)5.522 G
+(iteral)-3.022 E F2(&)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 .849(attempting a match.)108 578.4
-R(An)5.849 E 3.349(yc)-.15 G .849
-(ompletion that matches the pattern will be remo)-3.349 F -.15(ve)-.15 G
-3.35(df).15 G .85(rom the list.)-3.35 F 3.35(Al)5.85 G(eading)-3.35 E F1
-(!)3.35 E F0(ne)108 590.4 Q -.05(ga)-.15 G
+-.15 G 3.023(db).15 G(efore)-3.023 E .85(attempting a match.)108 448.8 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 F2(!)3.349 E F0(ne)108 460.8 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 607.2 Q 3.087(,a)-.65 G .887 -.15(ny p)-3.087 H
-.587(re\214x and suf).15 F .587(\214x speci\214ed with the)-.25 F F1
-<ad50>3.087 E F0(and)3.087 E F1<ad53>3.087 E F0 .587
+(d.).15 E(Finally)108 477.6 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 F2
+<ad50>3.087 E F0(and)3.087 E F2<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 619.2 Q .246(If the pre)108 636 R .247
+possible completions.)108 489.6 Q .247(If the pre)108 506.4 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 648 Q F0
+(atches, and the)-2.747 F F2 .247(\255o dir)2.747 F(names)-.15 E F0 .247
+(option w)2.747 F .246(as supplied to)-.1 F F2(complete)108 518.4 Q F0
(when the compspec w)2.5 E
-(as de\214ned, directory name completion is attempted.)-.1 E .462
-(If the)108 664.8 R F1 .462(\255o plusdirs)2.962 F F0 .462(option w)
-2.962 F .462(as supplied to)-.1 F F1(complete)2.962 E F0 .462
+(as de\214ned, directory name completion is attempted.)-.1 E .461
+(If the)108 535.2 R F2 .462(\255o plusdirs)2.961 F F0 .462(option w)
+2.962 F .462(as supplied to)-.1 F F2(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 676.8 Q 2.5(ym)-.15 G
-(atches are added to the results of the other actions.)-2.5 E .559
-(By def)108 693.6 R .559(ault, if a compspec is found, whate)-.1 F -.15
-(ve)-.25 G 3.059(ri).15 G 3.059(tg)-3.059 G .56
-(enerates is returned to the completion code as the full set)-3.059 F
-.632(of possible completions.)108 705.6 R .632(The def)5.632 F(ault)-.1
-E F1(bash)3.132 E F0 .631
-(completions are not attempted, and the readline def)3.131 F .631
-(ault of \214le-)-.1 F .558(name completion is disabled.)108 717.6 R
-.558(If the)5.558 F F1 .559(\255o bashdefault)3.059 F F0 .559(option w)
-3.059 F .559(as supplied to)-.1 F F1(complete)3.059 E F0 .559
-(when the compspec)3.059 F -.1(wa)108 729.6 S 3.172(sd).1 G .672
-(e\214ned, the)-3.172 F F1(bash)3.172 E F0(def)3.172 E .671
+F(pletion is attempted and an)108 547.2 Q 2.5(ym)-.15 G
+(atches are added to the results of the other actions.)-2.5 E .56
+(By def)108 564 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 576 R .631(The def)5.631 F(ault)-.1 E
+F2(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 588 R .559
+(If the)5.559 F F2 .559(\255o bashdefault)3.059 F F0 .559(option w)3.059
+F .559(as supplied to)-.1 F F2(complete)3.058 E F0 .558
+(when the compspec)3.058 F -.1(wa)108 600 S 3.171(sd).1 G .671
+(e\214ned, the)-3.171 F F2(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 F0(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(45)185.955 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/Times-Bold@0 SF(default)108 84 Q F0 1.207(option w)3.706 F
-1.207(as supplied to)-.1 F F1(complete)3.707 E F0 1.207
-(when the compspec w)3.707 F 1.207(as de\214ned, readline')-.1 F 3.707
-(sd)-.55 G(ef)-3.707 E 1.207(ault completion)-.1 F
-(will be performed if the compspec \(and, if attempted, the def)108 96 Q
-(ault)-.1 E F1(bash)2.5 E F0(completions\) generate no matches.)2.5 E
+-.1 F .672(If the)5.672 F F2<ad6f>3.172 E(default)108 612 Q F0 1.207
+(option w)3.707 F 1.207(as supplied to)-.1 F F2(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.206(ault completion)-.1 F
+(will be performed if the compspec \(and, if attempted, the def)108 624
+Q(ault)-.1 E F2(bash)2.5 E F0(completions\) generate no matches.)2.5 E
.245(When a compspec indicates that directory name completion is desire\
-d, the programmable completion func-)108 112.8 R .632(tions force readl\
+d, the programmable completion func-)108 640.8 R .633(tions force readl\
ine to append a slash to completed names which are symbolic links to di\
-rectories, subject)108 124.8 R 2.762(to the v)108 136.8 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 148.8
+rectories, subject)108 652.8 R 2.761(to the v)108 664.8 R 2.761
+(alue of the)-.25 F F2(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 F2(mark-sym-)5.262 E(link)108 676.8
Q(ed\255dir)-.1 E(ectories)-.18 E F0(readline v)2.5 E(ariable.)-.25 E
-.19(There is some support for dynamically modifying completions.)108
-165.6 R .191(This is most useful when used in combina-)5.191 F 1.33
-(tion with a def)108 177.6 R 1.33(ault completion speci\214ed with)-.1 F
-F1 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33
+.191(There is some support for dynamically modifying completions.)108
+693.6 R .19(This is most useful when used in combina-)5.191 F 1.33
+(tion with a def)108 705.6 R 1.33(ault completion speci\214ed with)-.1 F
+F2 1.33(complete -D)3.83 F F0 6.33(.I)C(t')-6.33 E 3.83(sp)-.55 G 1.33
(ossible for shell functions e)-3.83 F -.15(xe)-.15 G 1.33(cuted as).15
F .93(completion handlers to indicate that completion should be retried\
- by returning an e)108 189.6 R .93(xit status of 124.)-.15 F .93(If a)
+ by returning an e)108 717.6 R .93(xit status of 124.)-.15 F .93(If a)
5.93 F .1(shell function returns 124, and changes the compspec associat\
-ed with the command on which completion is)108 201.6 R .665
-(being attempted \(supplied as the \214rst ar)108 213.6 R .666
-(gument when the function is e)-.18 F -.15(xe)-.15 G .666
-(cuted\), programmable completion).15 F 1.139(restarts from the be)108
-225.6 R 1.139
-(ginning, with an attempt to \214nd a compspec for that command.)-.15 F
-1.139(This allo)6.139 F 1.138(ws a set of)-.25 F(completions to be b)108
-237.6 Q(uilt dynamically as completion is attempted, rather than being \
-loaded all at once.)-.2 E -.15(Fo)108 254.4 S 2.636(ri).15 G .137
-(nstance, assuming that there is a library of compspecs, each k)-2.636 F
+ed with the command on which completion is)108 729.6 R(GNU Bash-4.2)72
+768 Q(2010 December 28)135.965 E(46)185.955 E 0 Cg EP
+%%Page: 47 47
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .666(being attempted \(supplied as the \214rst ar)108 84 R .665
+(gument when the function is e)-.18 F -.15(xe)-.15 G .665
+(cuted\), programmable completion).15 F .083(restarts from the be)108 96
+R .084(ginning, with an attempt to \214nd a ne)-.15 F 2.584(wc)-.25 G
+.084(ompspec for that command.)-2.584 F .084(This allo)5.084 F .084
+(ws a set of)-.25 F(completions to be b)108 108 Q(uilt dynamically as c\
+ompletion is attempted, rather than being loaded all at once.)-.2 E -.15
+(Fo)108 124.8 S 2.637(ri).15 G .137
+(nstance, assuming that there is a library of compspecs, each k)-2.637 F
.137(ept in a \214le corresponding to the name of)-.1 F
-(the command, the follo)108 266.4 Q(wing def)-.25 E
+(the command, the follo)108 136.8 Q(wing def)-.25 E
(ault completion function w)-.1 E(ould load completions dynamically:)-.1
-E/F2 10/Courier@0 SF(_completion_loader\(\))108 283.2 Q({)108 295.2 Q 6
-(.")144 307.2 S
+E/F1 10/Courier@0 SF(_completion_loader\(\))108 153.6 Q({)108 165.6 Q 6
+(.")144 177.6 S
(/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124)-6 E(})108
-319.2 Q(complete -D -F _completion_loader)108 331.2 Q/F3 10.95
-/Times-Bold@0 SF(HIST)72 360 Q(OR)-.197 E(Y)-.383 E F0 .372(When the)108
-372 R F1 .372(\255o history)2.872 F F0 .372(option to the)2.872 F F1
-(set)2.872 E F0 -.2(bu)2.872 G .372(iltin is enabled, the shell pro).2 F
-.371(vides access to the)-.15 F/F4 10/Times-Italic@0 SF .371
-(command history)2.871 F F0(,)A .304(the list of commands pre)108 384 R
-.304(viously typed.)-.25 F .304(The v)5.304 F .304(alue of the)-.25 F/F5
-9/Times-Bold@0 SF(HISTSIZE)2.804 E F0 -.25(va)2.554 G .305
-(riable is used as the number of com-).25 F .43(mands to sa)108 396 R
-.73 -.15(ve i)-.2 H 2.93(nah).15 G .43(istory list.)-2.93 F .43(The te)
-5.43 F .429(xt of the last)-.15 F F5(HISTSIZE)2.929 E F0 .429
-(commands \(def)2.679 F .429(ault 500\) is sa)-.1 F -.15(ve)-.2 G 2.929
-(d. The).15 F(shell)2.929 E .287
+189.6 Q(complete -D -F _completion_loader)108 201.6 Q/F2 10.95
+/Times-Bold@0 SF(HIST)72 230.4 Q(OR)-.197 E(Y)-.383 E F0 .371(When the)
+108 242.4 R/F3 10/Times-Bold@0 SF .371(\255o history)2.871 F F0 .371
+(option to the)2.871 F F3(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/F4
+10/Times-Italic@0 SF .372(command history)2.872 F F0(,)A .305
+(the list of commands pre)108 254.4 R .305(viously typed.)-.25 F .305
+(The v)5.305 F .304(alue of the)-.25 F/F5 9/Times-Bold@0 SF(HISTSIZE)
+2.804 E F0 -.25(va)2.554 G .304(riable is used as the number of com-).25
+F .429(mands to sa)108 266.4 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 F5
+(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
-408 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E
-(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 420 S
-4.066(ta).2 G 1.565(fter history e)-4.066 F 1.565
+278.4 R .287(ariable e)-.25 F .287(xpansion \(see)-.15 F F5(EXP)2.787 E
+(ANSION)-.666 E F0(abo)2.537 E -.15(ve)-.15 G(\)).15 E -.2(bu)108 290.4
+S 4.065(ta).2 G 1.565(fter history e)-4.065 F 1.565
(xpansion is performed, subject to the v)-.15 F 1.565
(alues of the shell v)-.25 F(ariables)-.25 E F5(HISTIGNORE)4.065 E F0
-(and)3.815 E F5(HISTCONTR)108 432 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)A
-F0 .082
+(and)3.816 E F5(HISTCONTR)108 302.4 Q(OL)-.27 E/F6 9/Times-Roman@0 SF(.)
+A F0 .082
(On startup, the history is initialized from the \214le named by the v)
-108 448.8 R(ariable)-.25 E F5(HISTFILE)2.583 E F0(\(def)2.333 E(ault)-.1
-E F4(~/.bash_history)2.583 E F0(\).)A .315(The \214le named by the v)108
-460.8 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315
+108 319.2 R(ariable)-.25 E F5(HISTFILE)2.582 E F0(\(def)2.332 E(ault)-.1
+E F4(~/.bash_history)2.582 E F0(\).)A .315(The \214le named by the v)108
+331.2 R .315(alue of)-.25 F F5(HISTFILE)2.815 E F0 .315
(is truncated, if necessary)2.565 F 2.815(,t)-.65 G 2.815(oc)-2.815 G
.315(ontain no more than the number of)-2.815 F .532
-(lines speci\214ed by the v)108 472.8 R .532(alue of)-.25 F F5
+(lines speci\214ed by the v)108 343.2 R .532(alue of)-.25 F F5
(HISTFILESIZE)3.032 E F6(.)A F0 .532
(When the history \214le is read, lines be)5.032 F .532
-(ginning with the his-)-.15 F 1.159(tory comment character follo)108
-484.8 R 1.158(wed immediately by a digit are interpreted as timestamps \
-for the preceding)-.25 F .052(history line.)108 496.8 R .053
-(These timestamps are optionally displayed depending on the v)5.052 F
-.053(alue of the)-.25 F F5(HISTTIMEFORMA)2.553 E(T)-.855 E F0 -.25(va)
-108 508.8 S 4.387(riable. When).25 F 1.887(an interacti)4.387 F 2.187
+(ginning with the his-)-.15 F 1.158(tory comment character follo)108
+355.2 R 1.159(wed immediately by a digit are interpreted as timestamps \
+for the preceding)-.25 F .053(history line.)108 367.2 R .053
+(These timestamps are optionally displayed depending on the v)5.053 F
+.052(alue of the)-.25 F F5(HISTTIMEFORMA)2.552 E(T)-.855 E F0 -.25(va)
+108 379.2 S 4.386(riable. When).25 F 1.886(an interacti)4.386 F 2.187
-.15(ve s)-.25 H 1.887(hell e).15 F 1.887(xits, the last)-.15 F F5
($HISTSIZE)4.387 E F0 1.887(lines are copied from the history list to)
-4.137 F F5($HISTFILE)108 520.8 Q F6(.)A F0 .056(If the)4.556 F F1
+4.137 F F5($HISTFILE)108 391.2 Q F6(.)A F0 .056(If the)4.556 F F3
(histappend)2.556 E F0 .056
-(shell option is enabled \(see the description of)2.556 F F1(shopt)2.556
+(shell option is enabled \(see the description of)2.556 F F3(shopt)2.556
E F0(under)2.556 E F5 .056(SHELL B)2.556 F(UIL)-.09 E(TIN)-.828 E
-(COMMANDS)108 532.8 Q F0(belo)2.672 E .422(w\), the lines are appended \
+(COMMANDS)108 403.2 Q F0(belo)2.671 E .422(w\), the lines are appended \
to the history \214le, otherwise the history \214le is o)-.25 F -.15(ve)
--.15 G 2.921(rwritten. If).15 F F5(HISTFILE)108 544.8 Q F0 .435(is unse\
-t, or if the history \214le is unwritable, the history is not sa)2.684 F
--.15(ve)-.2 G 2.935(d. If).15 F(the)2.935 E F5(HISTTIMEFORMA)2.935 E(T)
--.855 E F0 -.25(va)108 556.8 S .917
+-.15 G 2.922(rwritten. If).15 F F5(HISTFILE)108 415.2 Q F0 .435(is unse\
+t, or if the history \214le is unwritable, the history is not sa)2.685 F
+-.15(ve)-.2 G 2.934(d. If).15 F(the)2.934 E F5(HISTTIMEFORMA)2.934 E(T)
+-.855 E F0 -.25(va)108 427.2 S .916
(riable is set, time stamps are written to the history \214le, mark).25
-F .916(ed with the history comment character)-.1 F 3.416(,s)-.4 G(o)
--3.416 E(the)108 568.8 Q 3.082(ym)-.15 G .582(ay be preserv)-3.082 F
-.582(ed across shell sessions.)-.15 F .583
+F .917(ed with the history comment character)-.1 F 3.417(,s)-.4 G(o)
+-3.417 E(the)108 439.2 Q 3.083(ym)-.15 G .583(ay be preserv)-3.083 F
+.583(ed across shell sessions.)-.15 F .582
(This uses the history comment character to distinguish time-)5.583 F
-.987(stamps from other history lines.)108 580.8 R .987(After sa)5.987 F
-.987(ving the history)-.2 F 3.486(,t)-.65 G .986
+.986(stamps from other history lines.)108 451.2 R .986(After sa)5.986 F
+.986(ving the history)-.2 F 3.486(,t)-.65 G .987
(he history \214le is truncated to contain no more)-3.486 F(than)108
-592.8 Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE)
-2.5 E F0(is not set, no truncation is performed.)2.25 E 1.293(The b)108
-609.6 R 1.293(uiltin command)-.2 F F1(fc)3.793 E F0(\(see)3.793 E F5
-1.293(SHELL B)3.793 F(UIL)-.09 E 1.293(TIN COMMANDS)-.828 F F0(belo)
-3.543 E 1.294(w\) may be used to list or edit and re-)-.25 F -.15(exe)
-108 621.6 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 .279
-(and manipulate the history \214le.)108 633.6 R .279
+463.2 Q F5(HISTFILESIZE)2.5 E F0 2.5(lines. If)2.25 F F5(HISTFILESIZE)
+2.5 E F0(is not set, no truncation is performed.)2.25 E 1.294(The b)108
+480 R 1.294(uiltin command)-.2 F F3(fc)3.794 E F0(\(see)3.794 E F5 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 492 S
+.673(cute a portion of the history list.).15 F(The)5.673 E F3(history)
+3.173 E F0 -.2(bu)3.173 G .673
+(iltin may be used to display or modify the history list).2 F .28
+(and manipulate the history \214le.)108 504 R .279
(When using command-line editing, search commands are a)5.279 F -.25(va)
--.2 G .28(ilable in each).25 F(editing mode that pro)108 645.6 Q
-(vide access to the history list.)-.15 E 1.486(The shell allo)108 662.4
-R 1.486(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
+-.2 G .279(ilable in each).25 F(editing mode that pro)108 516 Q
+(vide access to the history list.)-.15 E 1.485(The shell allo)108 532.8
+R 1.485(ws control o)-.25 F -.15(ve)-.15 G 3.986(rw).15 G 1.486
(hich commands are sa)-3.986 F -.15(ve)-.2 G 3.986(do).15 G 3.986(nt)
--3.986 G 1.486(he history list.)-3.986 F(The)6.485 E F5(HISTCONTR)3.985
-E(OL)-.27 E F0(and)3.735 E F5(HISTIGNORE)108 674.4 Q F0 -.25(va)2.707 G
-.457(riables may be set to cause the shell to sa).25 F .758 -.15(ve o)
--.2 H .458(nly a subset of the commands entered.).15 F(The)5.458 E F1
-(cmdhist)108 686.4 Q F0 .75
+-3.986 G 1.486(he history list.)-3.986 F(The)6.486 E F5(HISTCONTR)3.986
+E(OL)-.27 E F0(and)3.736 E F5(HISTIGNORE)108 544.8 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 F3
+(cmdhist)108 556.8 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 698.4 R 3.577(,a)-.65 G 1.077
+(the same history entry)108 568.8 R 3.577(,a)-.65 G 1.077
(dding semicolons where necessary to preserv)-3.577 F 3.577(es)-.15 G
-1.077(yntactic correctness.)-3.577 F(The)6.077 E F1(lithist)3.577 E F0
-.374(shell option causes the shell to sa)108 710.4 R .674 -.15(ve t)-.2
-H .374(he command with embedded ne).15 F .373
-(wlines instead of semicolons.)-.25 F .373(See the)5.373 F .318
-(description of the)108 722.4 R F1(shopt)2.818 E F0 -.2(bu)2.818 G .318
+1.077(yntactic correctness.)-3.577 F(The)6.077 E F3(lithist)3.576 E F0
+.373(shell option causes the shell to sa)108 580.8 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 592.8 R F3(shopt)2.819 E F0 -.2(bu)2.819 G .318
(iltin belo).2 F 2.818(wu)-.25 G(nder)-2.818 E F5 .318(SHELL B)2.818 F
-(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .319
-(for information on setting and)2.568 F(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(46)185.955 E 0 Cg EP
-%%Page: 47 47
+(UIL)-.09 E .318(TIN COMMANDS)-.828 F F0 .318
+(for information on setting and)2.568 F(unsetting shell options.)108
+604.8 Q F2(HIST)72 621.6 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 633.6 R .611
+(xpansion feature that is similar to the history e)-.15 F .611
+(xpansion in)-.15 F F3(csh.)3.111 E F0 .611(This section)5.611 F .871
+(describes what syntax features are a)108 645.6 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 657.6 R F3(+H)4.514 E F0 2.014
+(option to the)4.514 F F3(set)4.514 E F0 -.2(bu)4.514 G 2.014
+(iltin command \(see).2 F F5 2.014(SHELL B)4.514 F(UIL)-.09 E 2.014
+(TIN COMMANDS)-.828 F F0(belo)108 669.6 Q 2.5(w\). Non-interacti)-.25 F
+.3 -.15(ve s)-.25 H(hells do not perform history e).15 E
+(xpansion by def)-.15 E(ault.)-.1 E 1.306(History e)108 686.4 R 1.306
+(xpansions introduce w)-.15 F 1.306(ords from the history list into the\
+ input stream, making it easy to repeat)-.1 F .209
+(commands, insert the ar)108 698.4 R .209(guments to a pre)-.18 F .21
+(vious command into the current input line, or \214x errors in pre)-.25
+F(vious)-.25 E(commands quickly)108 710.4 Q(.)-.65 E 1.164(History e)108
+727.2 R 1.163(xpansion is performed immediately after a complete line i\
+s read, before the shell breaks it into)-.15 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(47)185.955 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(unsetting shell options.)108 84 Q/F1 10.95/Times-Bold@0 SF(HIST)
-72 100.8 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81 E F0 .611
-(The shell supports a history e)108 112.8 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 124.8
-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 136.8 R F2(+H)
-4.514 E F0 2.014(option to the)4.514 F F2(set)4.514 E F0 -.2(bu)4.514 G
-2.014(iltin command \(see).2 F/F3 9/Times-Bold@0 SF 2.013(SHELL B)4.513
-F(UIL)-.09 E 2.013(TIN COMMANDS)-.828 F F0(belo)108 148.8 Q 2.5
-(w\). Non-interacti)-.25 F .3 -.15(ve s)-.25 H
-(hells do not perform history e).15 E(xpansion by def)-.15 E(ault.)-.1 E
-1.305(History e)108 165.6 R 1.305(xpansions introduce w)-.15 F 1.306(or\
-ds from the history list into the input stream, making it easy to repea\
-t)-.1 F .21(commands, insert the ar)108 177.6 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 189.6 Q(.)-.65 E 1.163(History e)108
-206.4 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 218.4 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
+-.35 E -.1(wo)108 84 S 3.2(rds. It).1 F(tak)3.2 E .7(es place in tw)-.1
+F 3.2(op)-.1 G 3.2(arts. The)-3.2 F .7
(\214rst is to determine which line from the history list to use during)
-3.2 F 4.367(substitution. The)108 230.4 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 242.4 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 254.4
-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 266.4 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 278.4 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 290.4 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 307.2 Q -.15(ve)-.25 G
-.03(ral characters inhibit history e).15 F .03
+3.2 F 4.368(substitution. The)108 96 R 1.868(second is to select portio\
+ns 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 108 R/F1 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 F1(wor)
+3.163 E(ds)-.37 E F0 5.663(.V)C(arious)-6.773 E F1(modi\214er)108 120 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 132 R -.15(ve)
+-.25 G(ral).15 E F1(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 144 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 156 Q/F2
+10/Times-Bold@0 SF(!)3.333 E F0(by def)3.333 E 2.5(ault. Only)-.1 F
+(backslash \()2.5 E F2(\\).833 E F0 2.5(\)a).833 G
+(nd single quotes can quote the history e)-2.5 E(xpansion character)-.15
+E(.)-.55 E(Se)108 172.8 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 319.2 T
-3.162(ni).25 G 3.162(fi)-3.162 G 3.162(ti)-3.162 G 3.162(su)-3.162 G
+F .03(xpansion character)-.15 F(,)-.4 E -2.15 -.25(ev e)108 184.8 T
+3.163(ni).25 G 3.163(fi)-3.163 G 3.162(ti)-3.163 G 3.162(su)-3.162 G
.662(nquoted: space, tab, ne)-3.162 F .662(wline, carriage return, and)
-.25 F F2(=)3.162 E F0 5.662(.I)C 3.162(ft)-5.662 G(he)-3.162 E F2
-(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.163 E
-F0(will also inhibit e)108 331.2 Q(xpansion.)-.15 E(Se)108 348 Q -.15
-(ve)-.25 G .11(ral shell options settable with the).15 F F2(shopt)2.61 E
-F0 -.2(bu)2.61 G .109(iltin may be used to tailor the beha).2 F .109
-(vior of history e)-.2 F(xpansion.)-.15 E 1.142(If the)108 360 R F2
+(extglob)3.162 E F0 .662(shell option is enabled,)3.162 F F2(\()3.162 E
+F0(will also inhibit e)108 196.8 Q(xpansion.)-.15 E(Se)108 213.6 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.143(If the)108 225.6 R F2
(histv)3.643 E(erify)-.1 E F0 1.143
(shell option is enabled \(see the description of the)3.643 F F2(shopt)
3.643 E F0 -.2(bu)3.643 G 1.143(iltin belo).2 F 1.143(w\), and)-.25 F F2
--.18(re)3.643 G(adline).18 E F0(is)3.643 E .461(being used, history sub\
-stitutions are not immediately passed to the shell parser)108 372 R 5.46
-(.I)-.55 G .46(nstead, the e)-5.46 F .46(xpanded line)-.15 F 1.515
-(is reloaded into the)108 384 R F2 -.18(re)4.015 G(adline).18 E F0 1.515
-(editing b)4.015 F(uf)-.2 E 1.516(fer for further modi\214cation.)-.25 F
-(If)6.516 E F2 -.18(re)4.016 G(adline).18 E F0 1.516
-(is being used, and the)4.016 F F2(histr)108 396 Q(eedit)-.18 E F0 1.202
-(shell option is enabled, a f)3.702 F 1.202
+-.18(re)3.643 G(adline).18 E F0(is)3.642 E .461(being used, history sub\
+stitutions are not immediately passed to the shell parser)108 237.6 R
+5.461(.I)-.55 G .461(nstead, the e)-5.461 F .461(xpanded line)-.15 F
+1.516(is reloaded into the)108 249.6 R F2 -.18(re)4.016 G(adline).18 E
+F0 1.516(editing b)4.016 F(uf)-.2 E 1.516
+(fer for further modi\214cation.)-.25 F(If)6.516 E F2 -.18(re)4.015 G
+(adline).18 E F0 1.515(is being used, and the)4.015 F F2(histr)108 261.6
+Q(eedit)-.18 E F0 1.202(shell option is enabled, a f)3.702 F 1.202
(ailed history substitution will be reloaded into the)-.1 F F2 -.18(re)
-3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 408 S -.25(ff).2 G
-1.16(er for correction.).25 F(The)6.16 E F2<ad70>3.66 E F0 1.16
-(option to the)3.66 F F2(history)3.66 E F0 -.2(bu)3.661 G 1.161
-(iltin command may be used to see what a history).2 F -.15(ex)108 420 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 432 Q -.15(xe)-.15 G
+3.702 G(adline).18 E F0(editing)3.702 E -.2(bu)108 273.6 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
+(iltin command may be used to see what a history).2 F -.15(ex)108 285.6
+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
+(end of the history list without actually e)108 297.6 Q -.15(xe)-.15 G
(cuting them, so that the).15 E 2.5(ya)-.15 G(re a)-2.5 E -.25(va)-.2 G
-(ilable for subsequent recall.).25 E 2.2(The shell allo)108 448.8 R 2.2
+(ilable for subsequent recall.).25 E 2.2(The shell allo)108 314.4 R 2.2
(ws control of the v)-.25 F 2.2(arious characters used by the history e)
--.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.147(description of)108
-460.8 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
+-.25 F 2.2(xpansion mechanism \(see the)-.15 F 1.146(description of)108
+326.4 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
(shell uses the history comment character to)3.646 F
-(mark history timestamps when writing the history \214le.)108 472.8 Q F2
-(Ev)87 489.6 Q(ent Designators)-.1 E F0(An e)108 501.6 Q -.15(ve)-.25 G
-(nt designator is a reference to a command line entry in the history li\
-st.).15 E F2(!)108 518.4 Q F0 1.607(Start a history substitution, e)
-32.67 F 1.607(xcept when follo)-.15 F 1.607(wed by a)-.25 F 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 530.4 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 542.4 Q F4(n)A F0
-(Refer to command line)27.67 E F4(n)2.5 E F0(.).24 E F2<21ad>108 554.4 Q
-F4(n)A F0(Refer to the current command line minus)21.97 E F4(n)2.5 E F0
-(.).24 E F2(!!)108 566.4 Q F0(Refer to the pre)29.34 E(vious command.)
--.25 E(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 578.4 Q F4
-(string)A F0(Refer to the most recent command starting with)9.33 E F4
-(string)2.5 E F0(.).22 E F2(!?)108 590.4 Q F4(string)A F2([?])A F0 1.022
-(Refer to the most recent command containing)144 602.4 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.861 E F0(is)3.741 E(follo)144
-614.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F5 12/Times-Bold@0
-SF(^)108 631.4 Q F4(string1)-5 I F5(^)5 I F4(string2)-5 I F5(^)5 I F0
-2.629(Quick substitution.)144 638.4 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.63(lent to).25 F -.74(``)144 650.4 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 662.4 Q F0
+(mark history timestamps when writing the history \214le.)108 338.4 Q F2
+(Ev)87 355.2 Q(ent Designators)-.1 E F0 .205(An e)108 367.2 R -.15(ve)
+-.25 G .204(nt designator is a reference to a command line entry in the\
+ history list.).15 F .204(Unless the reference is abso-)5.204 F(lute, e)
+108 379.2 Q -.15(ve)-.25 G(nts are relati).15 E .3 -.15(ve t)-.25 H 2.5
+(ot).15 G(he current position in the history list.)-2.5 E F2(!)108 396 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 408 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 420 Q F1(n)A F0
+(Refer to command line)27.67 E F1(n)2.5 E F0(.).24 E F2<21ad>108 432 Q
+F1(n)A F0(Refer to the current command minus)21.97 E F1(n)2.5 E F0(.).24
+E F2(!!)108 444 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E
+(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 456 Q F1(string)A
+F0 .865(Refer to the most recent command preceding the current position\
+ in the history list starting with)9.33 F F1(string)144 468 Q F0(.).22 E
+F2(!?)108 480 Q F1(string)A F2([?])A F0 1.304(Refer to the most recent \
+command preceding the current postition in the history list containing)
+144 492 R F1(string)144 504 Q F0 5(.T).22 G(he trailing)-5 E F2(?)2.5 E
+F0(may be omitted if)2.5 E F1(string)2.84 E F0(is follo)2.72 E
+(wed immediately by a ne)-.25 E(wline.)-.25 E/F3 12/Times-Bold@0 SF(^)
+108 521 Q F1(string1)-5 I F3(^)5 I F1(string2)-5 I F3(^)5 I F0 .784
+(Quick substitution.)144 528 R .784(Repeat the pre)5.784 F .784
+(vious command, replacing)-.25 F F1(string1)3.624 E F0(with)3.283 E F1
+(string2)3.283 E F0 5.783(.E).02 G(qui)-5.783 E -.25(va)-.25 G .783
+(lent to).25 F -.74(``)144 540 S(!!:s/).74 E F1(string1)A F0(/)A F1
+(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 552 Q F0
(The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75
-(Wo)87 679.2 S(rd Designators).75 E F0 -.8(Wo)108 691.2 S 1.314
+(Wo)87 568.8 S(rd Designators).75 E F0 -.8(Wo)108 580.8 S 1.313
(rd designators are used to select desired w).8 F 1.314(ords from the e)
--.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.313
-(separates the e)3.813 F -.15(ve)-.25 G 1.313(nt speci\214cation).15 F
-.529(from the w)108 703.2 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.314
+(separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F
+.53(from the w)108 592.8 R .529(ord designator)-.1 F 5.529(.I)-.55 G
3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529
(ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2
($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r)
--3.029 E F2(%)3.029 E F0 5.53(.W)C(ords)-6.33 E 1.301
-(are numbered from the be)108 715.2 R 1.301
-(ginning of the line, with the \214rst w)-.15 F 1.3
-(ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.3 G 1.3(rds are).8 F
-(inserted into the current line separated by single spaces.)108 727.2 Q
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(47)185.955 E 0 Cg EP
-%%Page: 48 48
+-3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3
+(are numbered from the be)108 604.8 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 616.8 Q
+F2 2.5(0\()108 633.6 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 645.6 Q
+2.5(ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E
+F1(n)108.36 657.6 Q F0(The)30.64 E F1(n)2.5 E F0(th w)A(ord.)-.1 E F2(^)
+108 669.6 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5
+E(ord 1.)-.1 E F2($)108 681.6 Q F0(The last ar)31 E(gument.)-.18 E F2(%)
+108 693.6 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F1
+(string)A F0(?' search.)A F1(x)108.77 705.6 Q F2<ad>A F1(y)A F0 2.5(Ar)
+20.65 G(ange of w)-2.5 E(ords; `\255)-.1 E F1(y)A F0 2.5('a)C(bbre)-2.5
+E(viates `0\255)-.25 E F1(y)A F0('.)A F2(*)108 717.6 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 `)-.15 F F1(1\255$)A F0 2.815
+('. It)B .315(is not an error to use)2.815 F F2(*)2.815 E F0 .315
+(if there is)2.815 F(just one w)144 729.6 Q(ord in the e)-.1 E -.15(ve)
+-.25 G(nt; the empty string is returned in that case.).15 E
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(48)185.955 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 2.5(0\()108 84 S(zer)-2.5 E(o\))-.18 E F0
-(The zeroth w)144 96 Q 2.5(ord. F)-.1 F
-(or the shell, this is the command w)-.15 E(ord.)-.1 E/F2 10
-/Times-Italic@0 SF(n)108.36 108 Q F0(The)30.64 E F2(n)2.5 E F0(th w)A
-(ord.)-.1 E F1(^)108 120 Q F0(The \214rst ar)32.67 E 2.5(gument. That)
--.18 F(is, w)2.5 E(ord 1.)-.1 E F1($)108 132 Q F0(The last ar)31 E
-(gument.)-.18 E F1(%)108 144 Q F0(The w)26 E
-(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 .315(All of the w)31 F .315(ords b)-.1
-F .315(ut the zeroth.)-.2 F .315(This is a synon)5.315 F .315(ym for `)
--.15 F F2(1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F
-F1(*)2.816 E F0 .316(if there is)2.816 F(just one w)144 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
-(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1(x*)
-2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 220.8
-Q(ord designator is supplied without an e)-.1 E -.15(ve)-.25 G
+-.35 E/F1 10/Times-Bold@0 SF(x*)108 84 Q F0(Abbre)26 E(viates)-.25 E/F2
+10/Times-Italic@0 SF(x\255$)2.5 E F0(.)A F1<78ad>108 96 Q F0(Abbre)25.3
+E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 E(e)-.1 E F1(x*)2.5 E F0 2.5
+(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E(If a w)108 112.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 .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
+-.15(ve)-.25 G(nt.).15 E F1(Modi\214ers)87 129.6 Q F0 .183
+(After the optional w)108 141.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 153.6 Q F1(h)
+108 170.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
+(t)108 182.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H
(ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r)
-108 302.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
+108 194.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E
(\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E
-(ving the basename.)-.2 E F1(e)108 314.4 Q F0(Remo)31.56 E .3 -.15(ve a)
--.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 326.4
+(ving the basename.)-.2 E F1(e)108 206.4 Q F0(Remo)31.56 E .3 -.15(ve a)
+-.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 218.4
Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2
-E -.15(xe)-.15 G(cute it.).15 E F1(q)108 338.4 Q F0
+E -.15(xe)-.15 G(cute it.).15 E F1(q)108 230.4 Q F0
(Quote the substituted w)30.44 E(ords, escaping further substitutions.)
--.1 E F1(x)108 350.4 Q F0(Quote the substituted w)31 E(ords as with)-.1
+-.1 E F1(x)108 242.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.081 E(w)-.15 E
-F0 .221(for the \214rst occurrence of)3.031 F F2(old)2.951 E F0 .221
+2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 254.4 Q F2(old)A F1(/)A
+F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 266.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
(in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721
-(yd)-.15 G .221(elimiter can be used in place)-2.721 F .617(of /.)144
-386.4 R .617
+(yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144
+278.4 R .617
(The \214nal delimiter is optional if it is the last character of the e)
-5.617 F -.15(ve)-.25 G .617(nt line.).15 F .616(The delimiter may)5.616
-F .666(be quoted in)144 398.4 R F2(old)3.396 E F0(and)3.936 E F2(ne)
+5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617
+F .666(be quoted in)144 290.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 .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)
+F0 5.666(.A).77 G .274(single backslash will quote the &.)144 302.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
+(ous history substitutions took place, the last)144 314.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 .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 .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
+(&)108 326.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1
+(g)108 338.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 350.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
+(delimiter is optional if it is the last character of the e)144 362.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 374.4 Q F0
+(.)A F1(G)108 386.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 403.2 Q(UIL)-.11 E
+(TIN COMMANDS)-1.007 E F0 .062(Unless otherwise noted, each b)108 415.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.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
+receded by)-.2 F F1<ad>108 427.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
F0(,)A F1(true)2.534 E F0(,)A F1(false)2.534 E F0 2.534(,a)C(nd)-2.534 E
-F1(test)2.534 E F0 -.2(bu)2.534 G .034(iltins do not accept options and)
-.2 F .078(do not treat)108 547.2 R F1<adad>2.577 E F0(specially)2.577 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 439.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 .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>
+.077(iltins accept and process ar).2 F(gu-)-.18 E .32(ments be)108 451.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 463.2 R 1.143(guments be)-.18 F 1.143(ginning with)-.15 F F1<ad>
3.643 E F0 1.143(as in)3.643 F -.25(va)-.4 G 1.143
-(lid options and require).25 F F1<adad>3.643 E F0 1.143(to pre)3.643 F
--.15(ve)-.25 G 1.143(nt this).15 F(interpretation.)108 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
+(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 475.2 Q F1(:)108
+493.2 Q F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .452(No ef)144 505.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
+517.2 R(zero e)2.5 E(xit code is returned.)-.15 E F1(.)110.5 534 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
-(])A 1.02(Read and e)144 666 R -.15(xe)-.15 G 1.02(cute commands from)
+546 Q(ce)-.18 E F2(\214lename)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0
+(])A 1.02(Read and e)144 558 R -.15(xe)-.15 G 1.02(cute commands from)
.15 F F2(\214lename)5.43 E F0 1.02(in the current shell en)3.7 F 1.02
(vironment and return the e)-.4 F(xit)-.15 E 1.68
-(status of the last command e)144 678 R -.15(xe)-.15 G 1.68(cuted from)
+(status of the last command e)144 570 R -.15(xe)-.15 G 1.68(cuted from)
.15 F F2(\214lename)4.18 E F0 6.68(.I).18 G(f)-6.68 E F2(\214lename)6.09
-E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 690
+E F0 1.68(does not contain a slash, \214le)4.36 F .608(names in)144 582
R/F4 9/Times-Bold@0 SF -.666(PA)3.108 G(TH)-.189 E F0 .608
(are used to \214nd the directory containing)2.858 F F2(\214lename)3.108
E F0 5.608(.T).18 G .608(he \214le searched for in)-5.608 F F4 -.666(PA)
-3.108 G(TH)-.189 E F0 .832(need not be e)144 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
+3.108 G(TH)-.189 E F0 .833(need not be e)144 594 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
+(\214le is found in)144 606 R F4 -.666(PA)3.481 G(TH)-.189 E/F5 9
/Times-Roman@0 SF(.)A F0 .981(If the)5.481 F F1(sour)3.481 E(cepath)-.18
E F0 .981(option to the)3.481 F F1(shopt)3.481 E F0 -.2(bu)3.481 G .981
-(iltin command is turned of).2 F .981(f, the)-.25 F F4 -.666(PA)144 726
-S(TH)-.189 E F0 .112(is not searched.)2.362 F .112(If an)5.112 F(y)-.15
+(iltin command is turned of).2 F .982(f, the)-.25 F F4 -.666(PA)144 618
+S(TH)-.189 E F0 .112(is not searched.)2.363 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.1)72 768 Q(2009 December 29)135.965 E(48)185.955 E 0 Cg EP
-%%Page: 49 49
+(yb)-.15 G .112(ecome the positional parameters when)-2.612 F F2
+(\214lename)144 630 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 642 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 F2(\214lename)145.91 654 Q
+F0(is not found or cannot be read.)2.68 E F1(alias)108 670.8 Q F0([)2.5
+E F1<ad70>A F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
+(..])-2.5 E F1(Alias)144 682.8 Q F0 2.724(with no ar)5.224 F 2.724
+(guments or with the)-.18 F F1<ad70>5.224 E F0 2.724
+(option prints the list of aliases in the form)5.224 F F1(alias)5.225 E
+F2(name)144 694.8 Q F0(=)A F2(value)A F0 .58(on standard output.)3.08 F
+.58(When ar)5.58 F .58
+(guments are supplied, an alias is de\214ned for each)-.18 F F2(name)
+3.08 E F0(whose)144 706.8 Q F2(value)2.895 E F0 .395(is gi)2.895 F -.15
+(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F2(value)
+5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395
+(ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
+(stitution when the alias is e)144 718.8 R 2.554(xpanded. F)-.15 F .054
+(or each)-.15 F F2(name)2.554 E F0 .054(in the ar)2.554 F .054
+(gument list for which no)-.18 F F2(value)2.554 E F0 .053(is sup-)2.553
+F 1.313(plied, the name and v)144 730.8 R 1.314
+(alue of the alias is printed.)-.25 F F1(Alias)6.314 E F0 1.314
+(returns true unless a)3.814 F F2(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(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(49)185.955 E 0 Cg EP
+%%Page: 50 50
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-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 .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.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.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
-(ve)-.25 G 2.895(n. A).15 F .395(trailing space in)2.895 F F1(value)
-5.395 E F0 .395(causes the ne)2.895 F .395(xt w)-.15 F .395
-(ord to be check)-.1 F .395(ed for alias sub-)-.1 F .054
-(stitution when the alias is e)144 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 .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.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 .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.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
-(function)2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(function)2.5 E F0 2.5(][)C
-F2<ad72>-2.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(])A F2(bind)108 302.4 Q F0
-([)2.5 E F2<ad6d>A F1 -.1(ke)2.5 G(ymap)-.2 E F0(])A F2<ad66>2.5 E F1
-(\214lename)2.5 E F2(bind)108 314.4 Q F0([)2.5 E F2<ad6d>A F1 -.1(ke)2.5
-G(ymap)-.2 E F0(])A F2<ad78>2.5 E F1 -.1(ke)2.5 G(yseq)-.2 E F0(:)A 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 .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.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
+-.35 E(which no alias has been de\214ned.)144 84 Q/F1 10/Times-Bold@0 SF
+(bg)108 100.8 Q F0([)2.5 E/F2 10/Times-Italic@0 SF(jobspec)A F0(...])2.5
+E .745(Resume each suspended job)144 112.8 R F2(jobspec)3.245 E F0 .745
+(in the background, as if it had been started with)3.245 F F1(&)3.244 E
+F0 5.744(.I)C(f)-5.744 E F2(job-)4.984 E(spec)144 124.8 Q F0 .671
+(is not present, the shell')3.481 F 3.171(sn)-.55 G .672(otion of the)
+-3.171 F F2(curr)3.172 E .672(ent job)-.37 F F0 .672(is used.)3.172 F F1
+(bg)5.672 E F2(jobspec)4.912 E F0 .672(returns 0 unless run)3.482 F .419
+(when job control is disabled or)144 136.8 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 F2(jobspec)2.918 E F0 -.1(wa)2.918 G 2.918(sn).1 G
+(ot)-2.918 E(found or w)144 148.8 Q(as started without job control.)-.1
+E F1(bind)108 165.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0
+2.5(][)C F1(\255lpsvPSV)-2.5 E F0(])A F1(bind)108 177.6 Q F0([)2.5 E F1
+<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0 2.5(][)C F1<ad71>-2.5 E F2
+(function)2.5 E F0 2.5(][)C F1<ad75>-2.5 E F2(function)2.5 E F0 2.5(][)C
+F1<ad72>-2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(])A F1(bind)108 189.6 Q F0
+([)2.5 E F1<ad6d>A F2 -.1(ke)2.5 G(ymap)-.2 E F0(])A F1<ad66>2.5 E F2
+(\214lename)2.5 E F1(bind)108 201.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)2.5
+G(ymap)-.2 E F0(])A F1<ad78>2.5 E F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
+(shell\255command)A F1(bind)108 213.6 Q F0([)2.5 E F1<ad6d>A F2 -.1(ke)
+2.5 G(ymap)-.2 E F0(])A F2 -.1(ke)2.5 G(yseq)-.2 E F0(:)A F2
+(function\255name)A F1(bind)108 225.6 Q F2 -.37(re)2.5 G
+(adline\255command).37 E F0 .238(Display current)144 237.6 R F1 -.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 F1 -.18(re)2.739 G(adline).18 E F0 .239(function or)
+2.739 F .476(macro, or set a)144 249.6 R F1 -.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 F2
+(.inputr)144 261.6 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
+(re\255read\255init\255\214le'. Options,)144 273.6 R(if supplied, ha)2.5
+E .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad6d>144
+285.6 Q F2 -.1(ke)2.5 G(ymap)-.2 E F0(Use)180 297.6 Q F2 -.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
+F2 -.1(ke)180 309.6 S(ymap)-.2 E F0 3.192(names are)5.882 F F2 3.192
+(emacs, emacs\255standar)5.692 F 3.193
(d, emacs\255meta, emacs\255ctlx, vi, vi\255mo)-.37 F(ve)-.1 E(,)-.1 E
-(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
+(vi\255command)180 321.6 Q F0 4.43(,a)C(nd)-4.43 E F2(vi\255insert)4.429
+E F0(.).68 E F2(vi)6.929 E F0 1.929(is equi)4.429 F -.25(va)-.25 G 1.929
+(lent to).25 F F2(vi\255command)4.429 E F0(;)A F2(emacs)4.429 E F0 1.929
+(is equi)4.429 F -.25(va)-.25 G 1.929(lent to).25 F F2(emacs\255standar)
+180 333.6 Q(d)-.37 E F0(.)A F1<ad6c>144 345.6 Q F0
+(List the names of all)27.52 E F1 -.18(re)2.5 G(adline).18 E F0
+(functions.)2.5 E F1<ad70>144 357.6 Q F0(Display)24.74 E F1 -.18(re)2.5
G(adline).18 E F0(function names and bindings in such a w)2.5 E
-(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F2<ad50>144 482.4
-Q F0(List current)24.19 E F2 -.18(re)2.5 G(adline).18 E F0
-(function names and bindings.)2.5 E F2<ad73>144 494.4 Q F0(Display)26.41
-E F2 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G
+(ay that the)-.1 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad50>144 369.6
+Q F0(List current)24.19 E F1 -.18(re)2.5 G(adline).18 E F0
+(function names and bindings.)2.5 E F1<ad73>144 381.6 Q F0(Display)26.41
+E F1 -.18(re)3.655 G(adline).18 E F0 -.1(ke)3.655 G 3.655(ys)-.05 G
1.155(equences bound to macros and the strings the)-3.655 F 3.655(yo)
--.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 506.4 S 2.5(yt).1 G
-(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F2<ad53>144 518.4 Q
-F0(Display)24.74 E F2 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)
+-.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 393.6 S 2.5(yt).1 G
+(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E F1<ad53>144 405.6 Q
+F0(Display)24.74 E F1 -.18(re)2.5 G(adline).18 E F0 -.1(ke)2.5 G 2.5(ys)
-.05 G(equences bound to macros and the strings the)-2.5 E 2.5(yo)-.15 G
-(utput.)-2.5 E F2<ad76>144 530.4 Q F0(Display)25.3 E F2 -.18(re)2.5 G
+(utput.)-2.5 E F1<ad76>144 417.6 Q F0(Display)25.3 E F1 -.18(re)2.5 G
(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
(alues in such a w)-.25 E(ay that the)-.1 E 2.5(yc)-.15 G
-(an be re-read.)-2.5 E F2<ad56>144 542.4 Q F0(List current)23.08 E F2
+(an be re-read.)-2.5 E F1<ad56>144 429.6 Q F0(List current)23.08 E F1
-.18(re)2.5 G(adline).18 E F0 -.25(va)2.5 G(riable names and v).25 E
-(alues.)-.25 E F2<ad66>144 554.4 Q F1(\214lename)2.5 E F0(Read k)180
-566.4 Q .3 -.15(ey b)-.1 H(indings from).15 E F1(\214lename)2.5 E F0(.)A
-F2<ad71>144 578.4 Q F1(function)2.5 E F0(Query about which k)180 590.4 Q
+(alues.)-.25 E F1<ad66>144 441.6 Q F2(\214lename)2.5 E F0(Read k)180
+453.6 Q .3 -.15(ey b)-.1 H(indings from).15 E F2(\214lename)2.5 E F0(.)A
+F1<ad71>144 465.6 Q F2(function)2.5 E F0(Query about which k)180 477.6 Q
-.15(ey)-.1 G 2.5(si).15 G -1.9 -.4(nv o)-2.5 H .2 -.1(ke t).4 H
-(he named).1 E F1(function)2.5 E F0(.)A F2<ad75>144 602.4 Q F1(function)
-2.5 E F0(Unbind all k)180 614.4 Q -.15(ey)-.1 G 2.5(sb).15 G
-(ound to the named)-2.5 E F1(function)2.5 E F0(.)A F2<ad72>144 626.4 Q
-F1 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 638.4 Q .3 -.15(ve a)-.15 H .3
--.15(ny c).15 H(urrent binding for).15 E F1 -.1(ke)2.5 G(yseq)-.2 E F0
-(.)A F2<ad78>144 650.4 Q F1 -.1(ke)2.5 G(yseq)-.2 E F2(:)A F1
-(shell\255command)A F0(Cause)180 662.4 Q F1(shell\255command)4.325 E F0
+(he named).1 E F2(function)2.5 E F0(.)A F1<ad75>144 489.6 Q F2(function)
+2.5 E F0(Unbind all k)180 501.6 Q -.15(ey)-.1 G 2.5(sb).15 G
+(ound to the named)-2.5 E F2(function)2.5 E F0(.)A F1<ad72>144 513.6 Q
+F2 -.1(ke)2.5 G(yseq)-.2 E F0(Remo)180 525.6 Q .3 -.15(ve a)-.15 H .3
+-.15(ny c).15 H(urrent binding for).15 E F2 -.1(ke)2.5 G(yseq)-.2 E F0
+(.)A F1<ad78>144 537.6 Q F2 -.1(ke)2.5 G(yseq)-.2 E F1(:)A F2
+(shell\255command)A F0(Cause)180 549.6 Q F2(shell\255command)4.325 E F0
1.825(to be e)4.325 F -.15(xe)-.15 G 1.825(cuted whene).15 F -.15(ve)
--.25 G(r).15 E 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.765(is e)
-4.265 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9
+-.25 G(r).15 E F2 -.1(ke)4.325 G(yseq)-.2 E F0 1.825(is entered.)4.325 F
+(When)6.825 E F2(shell\255com-)4.325 E(mand)180 561.6 Q F0 1.764(is e)
+4.264 F -.15(xe)-.15 G 1.765(cuted, the shell sets the).15 F/F3 9
/Times-Bold@0 SF(READLINE_LINE)4.265 E F0 -.25(va)4.015 G 1.765
-(riable to the contents of the).25 F F2 -.18(re)180 686.4 S(adline).18 E
-F0 1.353(line b)3.852 F(uf)-.2 E 1.353(fer and the)-.25 F F3
+(riable to the contents of the).25 F F1 -.18(re)180 573.6 S(adline).18 E
+F0 1.353(line b)3.853 F(uf)-.2 E 1.353(fer and the)-.25 F F3
(READLINE_POINT)3.853 E F0 -.25(va)3.603 G 1.353
-(riable to the current location of the).25 F 2.012(insertion point.)180
-698.4 R 2.011(If the e)7.012 F -.15(xe)-.15 G 2.011
+(riable to the current location of the).25 F 2.011(insertion point.)180
+585.6 R 2.011(If the e)7.011 F -.15(xe)-.15 G 2.011
(cuted command changes the v).15 F 2.011(alue of)-.25 F F3
-(READLINE_LINE)4.511 E F0(or)4.261 E F3(READLINE_POINT)180 710.4 Q/F4 9
+(READLINE_LINE)4.512 E F0(or)4.262 E F3(READLINE_POINT)180 597.6 Q/F4 9
/Times-Roman@0 SF(,)A F0(those ne)2.25 E 2.5(wv)-.25 G
(alues will be re\215ected in the editing state.)-2.75 E(The return v)
-144 727.2 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15
+144 614.4 Q(alue is 0 unless an unrecognized option is gi)-.25 E -.15
(ve)-.25 G 2.5(no).15 G 2.5(ra)-2.5 G 2.5(ne)-2.5 G(rror occurred.)-2.5
-E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(49)185.955 E 0 Cg EP
-%%Page: 50 50
+E F1(br)108 631.2 Q(eak)-.18 E F0([)2.5 E F2(n)A F0(])A .055
+(Exit from within a)144 643.2 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 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/F5 10/Symbol SF<b3>2.554
+E F0(1.)2.554 E(If)144 655.2 Q F2(n)3.074 E F0 .215(is 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(is 0 unless)144
+667.2 Q F2(n)2.5 E F0(is not greater than or equal to 1.)2.5 E F1 -.2
+(bu)108 684 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 696 Q .793
+(ecute the speci\214ed shell b)-.15 F .793(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
+(when de\214ning a function whose name is the same as a shell b)144 708
+R .616(uiltin, retaining the functionality of)-.2 F .57(the b)144 720 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(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(50)185.955 E 0 Cg EP
+%%Page: 51 51
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(br)108 84 Q(eak)-.18 E F0([)2.5 E/F2 10
-/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.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.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 .792
-(ecute the speci\214ed shell b)-.15 F .792(uiltin, passing it)-.2 F F2
-(ar)3.293 E(guments)-.37 E F0 3.293(,a).27 G .793(nd return its e)-3.293
-F .793(xit status.)-.15 F .793(This is useful)5.793 F .616
-(when de\214ning a function whose name is the same as a shell b)144
-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 .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
+-.35 E(is f)144 84 Q(alse if)-.1 E/F1 10/Times-Italic@0 SF(shell\255b)
+2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E(uiltin command.)-.2 E/F2
+10/Times-Bold@0 SF(caller)108 100.8 Q F0([)2.5 E F1 -.2(ex)C(pr).2 E F0
+(])A .253(Returns the conte)144 112.8 R .254(xt of an)-.15 F 2.754(ya)
+-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254
(ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
-.254(cuted with the).15 F F1(.)2.753 E F0(or)2.753 E F1(sour)144 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
-.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\
+.254(cuted with the).15 F F2(.)2.754 E F0(or)2.754 E F2(sour)144 124.8 Q
+(ce)-.18 E F0 -.2(bu)2.825 G 2.825(iltins\). W).2 F(ithout)-.4 E F1 -.2
+(ex)2.825 G(pr).2 E F0(,)A F2(caller)2.825 E F0 .324
+(displays the line number and source \214lename of the current)2.824 F
+.253(subroutine call.)144 136.8 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 F1 -.2(ex)2.753 G(pr).2 E F0(,)A F2(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\
tine name, and source \214le corresponding to that position in the curr\
-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 .776
-(de\214nes the search path for the directory containing)144 326.4 R F2
-(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H
-.777(irectory names in).15 F F4(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0
-.764(are separated by a colon \(:\).)144 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.973
-(,i)-.65 G .473(.e., `)-2.973 F(`)-.74 E F1(.)A F0 -.74('')C 5.473(.I)
-.74 G(f)-5.473 E F2(dir)3.323 E F0(be)3.703 E .474
-(gins with a slash \(/\), then)-.15 F F4(CDP)2.974 E -.855(AT)-.666 G(H)
-.855 E F0 .474(is not used. The)2.724 F F1<ad50>2.974 E F0 .474
-(option says to use)2.974 F .58(the ph)144 362.4 R .58
+ent e)144 148.8 R -.15(xe)-.15 G 1.327(cution call stack.).15 F(This e)
+144 160.8 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 172.8 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 F1 -.2(ex)3.019 G(pr).2 E F0 .519
+(does not corre-)3.019 F(spond to a v)144 184.8 Q
+(alid position in the call stack.)-.25 E F2(cd)108 201.6 Q F0([)2.5 E F2
+<ad4c>A F0(|[)A F2<ad50>A F0([)2.5 E F2<ad65>A F0(]]] [)A F1(dir)A F0(])
+A .21(Change the current directory to)144 213.6 R F1(dir)2.71 E F0 5.21
+(.T)C .21(he v)-5.21 F(ariable)-.25 E/F3 9/Times-Bold@0 SF(HOME)2.71 E
+F0 .21(is the def)2.46 F(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21
+(he v)-5.21 F(ariable)-.25 E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0
+.777(de\214nes the search path for the directory containing)144 225.6 R
+F1(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 F3(CDP)3.276 E -.855(AT)-.666 G(H).855 E
+F0 .764(are separated by a colon \(:\).)144 237.6 R 3.264(An)5.764 G
+.764(ull directory name in)-3.264 F F3(CDP)3.264 E -.855(AT)-.666 G(H)
+.855 E F0 .764(is the same as the current direc-)3.014 F(tory)144 249.6
+Q 2.974(,i)-.65 G .474(.e., `)-2.974 F(`)-.74 E F2(.)A F0 -.74('')C
+5.474(.I).74 G(f)-5.474 E F1(dir)3.324 E F0(be)3.704 E .474
+(gins with a slash \(/\), then)-.15 F F3(CDP)2.974 E -.855(AT)-.666 G(H)
+.855 E F0 .473(is not used. The)2.724 F F2<ad50>2.973 E F0 .473
+(option says to use)2.973 F .579(the ph)144 261.6 R .579
(ysical directory structure instead of follo)-.05 F .579
-(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.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 .316(lent to).25 F F4($OLDPWD)2.816 E/F5 9
-/Times-Roman@0 SF(.)A F0 .316(If a non-empty directory name from)4.816 F
-F4(CDP)2.815 E -.855(AT)-.666 G(H).855 E F0 .315(is used, or if)2.565 F
-F1<ad>2.815 E F0 .315(is the \214rst)2.815 F(ar)144 398.4 Q .116(gument\
-, and the directory change is successful, the absolute pathname of the \
-ne)-.18 F 2.616(ww)-.25 G .116(orking direc-)-2.716 F 1.165
-(tory is written to the standard output.)144 410.4 R 1.164(The return v)
-6.164 F 1.164(alue is true if the directory w)-.25 F 1.164
-(as successfully)-.1 F(changed; f)144 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.956
-E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257
+(wing symbolic links \(see also the)-.25 F F2<ad50>3.08 E F0 .58
+(option to the)3.08 F F2(set)144 273.6 Q F0 -.2(bu)2.717 G .217
+(iltin command\); the).2 F F2<ad4c>2.717 E F0 .217
+(option forces symbolic links to be follo)2.717 F 2.716(wed. If)-.25 F
+(the)2.716 E F2<ad65>2.716 E F0 .216(option is sup-)2.716 F 1.086
+(plied with)144 285.6 R F2<ad50>3.586 E F0 3.586(,a)C 1.086
+(nd the current w)-3.586 F 1.087
+(orking directory cannot be successfully determined after a suc-)-.1 F
+.44(cessful directory change,)144 297.6 R F2(cd)2.94 E F0 .44
+(will return an unsuccessful status.)2.94 F .44(An ar)5.44 F .44
+(gument of)-.18 F F2<ad>2.94 E F0 .44(is equi)2.94 F -.25(va)-.25 G .44
+(lent to).25 F F3($OLDPWD)144 309.6 Q/F4 9/Times-Roman@0 SF(.)A F0 1.044
+(If a non-empty directory name from)5.544 F F3(CDP)3.544 E -.855(AT)
+-.666 G(H).855 E F0 1.045(is used, or if)3.295 F F2<ad>3.545 E F0 1.045
+(is the \214rst ar)3.545 F(gument,)-.18 E .021(and the directory change\
+ is successful, the absolute pathname of the ne)144 321.6 R 2.521(ww)
+-.25 G .021(orking directory is writ-)-2.621 F .165
+(ten to the standard output.)144 333.6 R .165(The return v)5.165 F .165
+(alue is true if the directory w)-.25 F .165(as successfully changed; f)
+-.1 F(alse)-.1 E(otherwise.)144 345.6 Q F2(command)108 362.4 Q F0([)2.5
+E F2(\255pVv)A F0(])A F1(command)2.5 E F0([)2.5 E F1(ar)A(g)-.37 E F0
+(...])2.5 E(Run)144 374.4 Q F1(command)2.957 E F0(with)3.527 E F1(ar)
+3.087 E(gs)-.37 E F0 .257
(suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .502(commands found in the)144 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 .501(n, the search for).15 F F2(command)3.201 E F0(is)
-3.771 E .399(performed using a def)144 475.2 R .399(ault v)-.1 F .399
-(alue for)-.25 F F4 -.666(PA)2.899 G(TH)-.189 E F0 .4
+(uiltin commands or)-.2 F .501(commands found in the)144 386.4 R F3
+-.666(PA)3.001 G(TH)-.189 E F0 .502(are e)2.751 F -.15(xe)-.15 G 3.002
+(cuted. If).15 F(the)3.002 E F2<ad70>3.002 E F0 .502(option is gi)3.002
+F -.15(ve)-.25 G .502(n, the search for).15 F F1(command)3.202 E F0(is)
+3.772 E .4(performed using a def)144 398.4 R .4(ault v)-.1 F .4
+(alue for)-.25 F F3 -.666(PA)2.9 G(TH)-.189 E F0 .399
(that is guaranteed to \214nd all of the standard utilities.)2.649 F(If)
-5.4 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 .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.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 .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.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 .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)
+5.399 E .174(either the)144 410.4 R F2<ad56>2.674 E F0(or)2.674 E F2
+<ad76>2.674 E F0 .175(option is supplied, a description of)2.674 F F1
+(command)2.875 E F0 .175(is printed.)3.445 F(The)5.175 E F2<ad76>2.675 E
+F0 .175(option causes)2.675 F 3.11(as)144 422.4 S .61(ingle w)-3.11 F
+.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
+-.4 G -.1(ke).2 G F1(command)3.41 E F0 .61(to be displayed; the)3.88 F
+F2<ad56>144 434.4 Q F0 .249(option produces a more v)2.749 F .249
+(erbose description.)-.15 F .249(If the)5.249 F F2<ad56>2.749 E F0(or)
+2.749 E F2<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 446.4 R F1(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
+(If neither option is supplied and an error occurred or)6.005 F F1
+(command)144.2 458.4 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 F2(command)4.099 E F0 -.2(bu)144 470.4 S
+(iltin is the e).2 E(xit status of)-.15 E F1(command)2.5 E F0(.).77 E F2
+(compgen)108 487.2 Q F0([)2.5 E F1(option)A F0 2.5(][)C F1(wor)-2.5 E(d)
+-.37 E F0(])A .013(Generate possible completion matches for)144 499.2 R
+F1(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F1(option)2.513
+E F0 .013(s, which may be an)B 2.512(yo)-.15 G(ption)-2.512 E .981
+(accepted by the)144 511.2 R F2(complete)3.481 E F0 -.2(bu)3.481 G .981
+(iltin with the e).2 F .981(xception of)-.15 F F2<ad70>3.481 E F0(and)
+3.481 E F2<ad72>3.481 E F0 3.481(,a)C .982(nd write the matches to the)
+-3.481 F 1.415(standard output.)144 523.2 R 1.415(When using the)6.415 F
+F2<ad46>3.915 E F0(or)3.915 E F2<ad43>3.915 E F0 1.415(options, the v)
3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
-F(grammable completion f)144 612 Q(acilities, while a)-.1 E -.25(va)-.2
-G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)-.25
-E .352(The matches will be generated in the same w)144 636 R .352
+F(grammable completion f)144 535.2 Q(acilities, while a)-.1 E -.25(va)
+-.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
+-.25 E .352(The matches will be generated in the same w)144 559.2 R .352
(ay as if the programmable completion code had gen-)-.1 F .02(erated th\
em directly from a completion speci\214cation with the same \215ags.)144
-648 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)2.52
-F(those completions matching)144 660 Q F2(wor)2.5 E(d)-.37 E F0
-(will be displayed.)2.5 E(The return v)144 684 Q
+571.2 R(If)5.02 E F1(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 583.2 Q F1(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 607.2 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.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C
-F1<ad6f>-3.729 E F2(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E
-F0 3.728(][)C F1<ad41>-3.728 E F2(action)3.728 E F0 3.728(][)C F1<ad47>
--3.728 E F2(globpat)3.728 E F0 3.728(][)C F1<ad57>-3.728 E F2(wor)3.728
-E(dlist)-.37 E F0 3.728(][)C F1<ad46>-3.728 E F2(func-)3.728 E(tion)108
-712.8 Q F0 2.5(][)C F1<ad43>-2.5 E 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.1)72 768 Q
-(2009 December 29)135.965 E(50)185.955 E 0 Cg EP
-%%Page: 51 51
+(lid option is supplied, or no matches were generated.).25 E F2
+(complete)108 624 Q F0([)3.728 E F2(\255abcdefgjksuv)A F0 3.728(][)C F2
+<ad6f>-3.728 E F1(comp-option)3.728 E F0 3.728(][)C F2(\255DE)-3.728 E
+F0 3.728(][)C F2<ad41>-3.728 E F1(action)3.728 E F0 3.728(][)C F2<ad47>
+-3.728 E F1(globpat)3.728 E F0 3.729(][)C F2<ad57>-3.729 E F1(wor)3.729
+E(dlist)-.37 E F0 3.729(][)C F2<ad46>-3.729 E F1(func-)3.729 E(tion)108
+636 Q F0 2.5(][)C F2<ad43>-2.5 E F1(command)2.5 E F0(])A([)144 648 Q F2
+<ad58>A F1(\214lterpat)2.5 E F0 2.5(][)C F2<ad50>-2.5 E F1(pr)2.5 E
+(e\214x)-.37 E F0 2.5(][)C F2<ad53>-2.5 E F1(suf)2.5 E<8c78>-.18 E F0(])
+A F1(name)2.5 E F0([)2.5 E F1(name ...)A F0(])A F2(complete \255pr)108
+660 Q F0([)2.5 E F2(\255DE)A F0 2.5(][)C F1(name)-2.5 E F0(...])2.5 E
+.633(Specify ho)144 672 R 3.133(wa)-.25 G -.18(rg)-3.133 G .633
+(uments to each).18 F F1(name)3.133 E F0 .633(should be completed.)3.133
+F .634(If the)5.634 F F2<ad70>3.134 E F0 .634
+(option is supplied, or if no)3.134 F .14(options are supplied, e)144
+684 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 696 R(The)5.31 E F2<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
+-.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F1
+(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
+F1(name)2.81 E F0(s)A 1.347
+(are supplied, all completion speci\214cations.)144 708 R(The)6.347 E F2
+<ad44>3.847 E F0 1.346(option indicates that the remaining options)3.847
+F .5(and actions should apply to the `)144 720 R(`def)-.74 E(ault')-.1 E
+3('c)-.74 G .5(ommand completion; that is, completion attempted on)-3 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(51)185.955 E 0 Cg EP
+%%Page: 52 52
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(complete \255pr)108 84 Q F0([)2.5 E F1
-(\255DE)A F0 2.5(][)C/F2 10/Times-Italic@0 SF(name)-2.5 E F0(...])2.5 E
-.634(Specify ho)144 96 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
-(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
-F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
-(option is supplied, or if no)3.133 F .139(options are supplied, e)144
-108 R .139(xisting completion speci\214cations are printed in a w)-.15 F
-.14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)144
-120 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)-.15 G
-2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2(name)
-2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F2
-(name)2.81 E F0(s)A 1.346
-(are supplied, all completion speci\214cations.)144 132 R(The)6.347 E F1
-<ad44>3.847 E F0 1.347(option indicates that the remaining options)3.847
-F .5(and actions should apply to the `)144 144 R(`def)-.74 E(ault')-.1 E
-3('c)-.74 G .5(ommand completion; that is, completion attempted on)-3 F
-3.455(ac)144 156 S .955(ommand for which no completion has pre)-3.455 F
-.955(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955
-(option indicates that)3.455 F .065
-(the remaining options and actions should apply to `)144 168 R(`empty')
--.74 E 2.564('c)-.74 G .064(ommand completion; that is, comple-)-2.564 F
-(tion attempted on a blank line.)144 180 Q 1.437
+-.35 E 3.455(ac)144 84 S .955(ommand for which no completion has pre)
+-3.455 F .955(viously been de\214ned.)-.25 F(The)5.955 E/F1 10
+/Times-Bold@0 SF<ad45>3.455 E F0 .955(option indicates that)3.455 F .064
+(the remaining options and actions should apply to `)144 96 R(`empty')
+-.74 E 2.565('c)-.74 G .065(ommand completion; that is, comple-)-2.565 F
+(tion attempted on a blank line.)144 108 Q 1.438
(The process of applying these completion speci\214cations when w)144
-204 R 1.438(ord completion is attempted is)-.1 F(described abo)144 216 Q
+132 R 1.437(ord completion is attempted is)-.1 F(described abo)144 144 Q
.3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E(ogrammable Completion)-.18 E
-F0(.)A .556(Other options, if speci\214ed, ha)144 240 R .856 -.15(ve t)
+F0(.)A .555(Other options, if speci\214ed, ha)144 168 R .855 -.15(ve t)
-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F
-.555(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0
-3.055(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722
-(options \(and, if necessary)144 252 R 3.222(,t)-.65 G(he)-3.222 E F1
-<ad50>3.222 E F0(and)3.222 E F1<ad53>3.222 E F0 .723
-(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
-(sion before the)144 264 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 276 Q F2
-(comp-option)2.5 E F0(The)184 288 Q F2(comp-option)2.791 E F0 .291
-(controls se)2.791 F -.15(ve)-.25 G .291(ral aspects of the compspec')
-.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
-(yond the simple)-.15 F(generation of completions.)184 300 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 312 Q F0
-.281(Perform the rest of the def)224 324 R(ault)-.1 E F1(bash)2.781 E F0
-.281(completions if the compspec generates no)2.781 F(matches.)224 336 Q
-F1(default)184 348 Q F0 2.876(Use readline')10 F 5.376(sd)-.55 G(ef)
--5.376 E 2.875(ault \214lename completion if the compspec generates no)
--.1 F(matches.)224 360 Q F1(dir)184 372 Q(names)-.15 E F0(Perform direc\
-tory name completion if the compspec generates no matches.)224 384 Q F1
-(\214lenames)184 396 Q F0 -.7(Te)224 408 S .137(ll readline that the co\
-mpspec generates \214lenames, so it can perform an).7 F 2.637<798c>-.15
-G(le-)-2.637 E .134(name\255speci\214c processing \(lik)224 420 R 2.634
-(ea)-.1 G .134(dding a slash to directory names, quoting spe-)-2.634 F
-.45(cial characters, or suppressing trailing spaces\).)224 432 R .45
-(Intended to be used with shell)5.45 F(functions.)224 444 Q F1(nospace)
-184 456 Q F0 -.7(Te)6.11 G .22
+.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 180 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
+(sion before the)144 192 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 204 Q/F2
+10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 216 Q F2(comp-option)
+2.79 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 228 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
+240 Q F0 .281(Perform the rest of the def)224 252 R(ault)-.1 E F1(bash)
+2.781 E F0 .281(completions if the compspec generates no)2.781 F
+(matches.)224 264 Q F1(default)184 276 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)-.1 F(matches.)
+224 288 Q F1(dir)184 300 Q(names)-.15 E F0(Perform directory name compl\
+etion if the compspec generates no matches.)224 312 Q F1(\214lenames)184
+324 Q F0 -.7(Te)224 336 S .137(ll readline that the compspec 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 348 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 360 R .45
+(Intended to be used with shell)5.45 F(functions.)224 372 Q F1(nospace)
+184 384 Q F0 -.7(Te)6.11 G .22
(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 F
-.22(ords completed at the end)-.1 F(of the line.)224 468 Q F1(plusdirs)
-184 480 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
+.22(ords completed at the end)-.1 F(of the line.)224 396 Q F1(plusdirs)
+184 408 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
(atches de\214ned by the compspec are generated, directory name)-4.485 F
-.584(completion is attempted and an)224 492 R 3.084(ym)-.15 G .584
-(atches are added to the results of the other)-3.084 F(actions.)224 504
-Q F1<ad41>144 516 Q F2(action)2.5 E F0(The)184 528 Q F2(action)2.5 E F0
+.583(completion is attempted and an)224 420 R 3.084(ym)-.15 G .584
+(atches are added to the results of the other)-3.084 F(actions.)224 432
+Q F1<ad41>144 444 Q F2(action)2.5 E F0(The)184 456 Q F2(action)2.5 E F0
(may be one of the follo)2.5 E
(wing to generate a list of possible completions:)-.25 E F1(alias)184
-540 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
-E F0(.)A F1(arrayv)184 552 Q(ar)-.1 E F0(Array v)224 564 Q
-(ariable names.)-.25 E F1 4.7(binding Readline)184 576 R F0 -.1(ke)2.5 G
-2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 588 S(iltin).2 E F0
+468 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
+E F0(.)A F1(arrayv)184 480 Q(ar)-.1 E F0(Array v)224 492 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 504 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 516 S(iltin).2 E F0
(Names of shell b)11.85 E(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 600
-Q F0(Command names.)224 612 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 624 Q(ectory)-.18 E F0(Directory names.)224 636 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 648
-Q F0(Names of disabled shell b)224 660 Q(uiltins.)-.2 E F1(enabled)184
-672 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
-684 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 528
+Q F0(Command names.)224 540 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 552 Q(ectory)-.18 E F0(Directory names.)224 564 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 576
+Q F0(Names of disabled shell b)224 588 Q(uiltins.)-.2 E F1(enabled)184
+600 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
+612 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
-.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
-696 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(51)185.955 E 0
-Cg EP
-%%Page: 52 52
+624 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
+E F0(.)A F1(function)184 636 Q F0(Names of shell functions.)224 648 Q F1
+(gr)184 660 Q(oup)-.18 E F0(Group names.)14.62 E
+(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
+672 Q F0(Help topics as accepted by the)224 684 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 696 Q F0(Hostnames, as tak)224 708
+Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(52)185.955 E 0 Cg EP
+%%Page: 53 53
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(function)184 84 Q F0
-(Names of shell functions.)224 96 Q F1(gr)184 108 Q(oup)-.18 E F0
-(Group names.)14.62 E(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)
-A F1(helptopic)184 120 Q F0(Help topics as accepted by the)224 132 Q F1
-(help)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(hostname)184 144 Q F0
-(Hostnames, as tak)224 156 Q(en from the \214le speci\214ed by the)-.1 E
-/F2 9/Times-Bold@0 SF(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E
-F1(job)184 168 Q F0(Job names, if job control is acti)26.11 E -.15(ve)
--.25 G 5(.M).15 G(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1
--.1(ke)184 180 S(yw).1 E(ord)-.1 E F0(Shell reserv)224 192 Q(ed w)-.15 E
-2.5(ords. May)-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1
-(running)184 204 Q F0(Names of running jobs, if job control is acti)5.54
-E -.15(ve)-.25 G(.).15 E F1(ser)184 216 Q(vice)-.1 E F0(Service names.)
-10.67 E(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)
-184 228 Q F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1
-<ad6f>2.5 E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.)
-.2 E F1(shopt)184 240 Q F0(Shell option names as accepted by the)16.66 E
-F1(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 252 Q F0
-(Signal names.)14.99 E F1(stopped)184 264 Q F0
+-.35 E/F1 10/Times-Bold@0 SF(job)184 84 Q F0
+(Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G
+(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 96 S
+(yw).1 E(ord)-.1 E F0(Shell reserv)224 108 Q(ed w)-.15 E 2.5(ords. May)
+-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
+120 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
+-.25 G(.).15 E F1(ser)184 132 Q(vice)-.1 E F0(Service names.)10.67 E
+(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 144 Q
+F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
+F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
+(shopt)184 156 Q F0(Shell option names as accepted by the)16.66 E F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 168 Q F0
+(Signal names.)14.99 E F1(stopped)184 180 Q F0
(Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 276 Q F0(User names.)21.67 E
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 288 S
+.15 E F1(user)184 192 Q F0(User names.)21.67 E
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 204 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 300 Q/F3
-10/Times-Italic@0 SF(globpat)2.5 E F0 1.007(The pathname e)184 312 R
-1.007(xpansion pattern)-.15 F F3(globpat)3.507 E F0 1.007(is e)3.507 F
-1.008(xpanded to generate the possible comple-)-.15 F(tions.)184 324 Q
-F1<ad57>144 336 Q F3(wor)2.5 E(dlist)-.37 E F0(The)184 348 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 360 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 372 Q(ord being completed.)
--.1 E F1<ad43>144 384 Q F3(command)2.5 E(command)184 396 Q F0 1.056
-(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 216 Q/F2
+10/Times-Italic@0 SF(command)2.5 E(command)184 228 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 408 Q F1<ad46>144 420 Q F3(function)2.5 E F0 1.18
-(The shell function)184 432 R F3(function)3.68 E F0 1.181(is e)3.681 F
+184 240 Q F1<ad46>144 252 Q F2(function)2.5 E F0 1.18
+(The shell function)184 264 R F2(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 444 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.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184 456 S(riable.)
-.25 E F1<ad58>144 468 Q F3(\214lterpat)2.5 E(\214lterpat)184 480 Q F0
-.455(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15
-F .456(is applied to the list of possible)2.956 F 1.596
-(completions generated by the preceding options and ar)184 492 R 1.596
-(guments, and each completion)-.18 F(matching)184 504 Q F3(\214lterpat)
-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 516 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 528 Q F3(pr)2.5 E(e\214x)-.37 E(pr)
-184 540 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
+(ishes, the possible completions are retrie)184 276 R -.15(ve)-.25 G
+3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F/F3 9
+/Times-Bold@0 SF(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184
+288 S(riable.).25 E F1<ad47>144 300 Q F2(globpat)2.5 E F0 1.007
+(The pathname e)184 312 R 1.007(xpansion pattern)-.15 F F2(globpat)3.507
+E F0 1.007(is e)3.507 F 1.008(xpanded to generate the possible comple-)
+-.15 F(tions.)184 324 Q F1<ad50>144 336 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
+184 348 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 552 Q F1<ad53>144 564 Q F3(suf)2.5 E
+-.15(ve)-.2 G(been applied.)184 360 Q F1<ad53>144 372 Q F2(suf)2.5 E
2.81(\214x suf)-.18 F<8c78>-.18 E F0
(is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 580.8 R
-.466(alue is true unless an in)-.25 F -.25(va)-.4 G .466
-(lid option is supplied, an option other than).25 F F1<ad70>2.967 E F0
-(or)2.967 E F1<ad72>2.967 E F0 .467(is sup-)2.967 F 1.362
-(plied without a)144 592.8 R F3(name)3.862 E F0(ar)3.862 E 1.361
-(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
-1.361(ompletion speci\214cation for a).15 F F3(name)144 604.8 Q F0
+E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 384 Q F2(wor)2.5 E
+(dlist)-.37 E F0(The)184 396 Q F2(wor)3.639 E(dlist)-.37 E F0 1.14
+(is split using the characters in the)3.639 F F3(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 408 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 420 Q(ord being completed.)-.1 E
+F1<ad58>144 432 Q F2(\214lterpat)2.5 E(\214lterpat)184 444 Q F0 .455
+(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F
+.456(is applied to the list of possible)2.956 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 F2(\214lterpat)
+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 F2(\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 F2(\214lterpat)2.5 E F0(is remo)2.5 E
+-.15(ve)-.15 G(d.).15 E .467(The return v)144 496.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 508.8 R F2(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 F2(name)144 520.8 Q F0
(for which no speci\214cation e)2.5 E
(xists, or an error occurs adding a completion speci\214cation.)-.15 E
-F1(compopt)108 621.6 Q F0([)2.5 E F1<ad6f>A F3(option)2.5 E F0 2.5(][)C
-F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F3(option)2.5 E F0 2.5(][)C F3
-(name)-2.5 E F0(])A .447(Modify completion options for each)144 633.6 R
-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 .726
-(completion if no)144 645.6 R F3(name)3.226 E F0 3.226(sa)C .726
-(re supplied.)-3.226 F .725(If no)5.725 F F3(option)3.225 E F0 3.225(sa)
-C .725(re gi)-3.225 F -.15(ve)-.25 G .725
-(n, display the completion options for).15 F(each)144 657.6 Q F3(name)
-3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
-5.724 F .724(alues of)-.25 F F3(option)3.224 E F0 .724(are those v)3.224
-F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 669.6 Q F0 -.2(bu)
-2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
+F1(compopt)108 537.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
+F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2
+(name)-2.5 E F0(])A .447(Modify completion options for each)144 549.6 R
+F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
+.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .725
+(completion if no)144 561.6 R F2(name)3.225 E F0 3.225(sa)C .725
+(re supplied.)-3.225 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa)
+C .725(re gi)-3.225 F -.15(ve)-.25 G .726
+(n, display the completion options for).15 F(each)144 573.6 Q F2(name)
+3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v)
+5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224
+F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 585.6 Q F0 -.2(bu)
+2.797 G .297(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
-5.297 E F1<ad44>2.797 E F0 .297
(option indicates that the remaining options should apply to)2.797 F
-1.227(the `)144 681.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
+1.228(the `)144 597.6 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(o\
mmand completion; that is, completion attempted on a command for which \
-no)-3.727 F 2.178(completion has pre)144 693.6 R 2.178
-(viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177
-(option indicates that the remaining options)4.677 F(should apply to `)
-144 705.6 Q(`empty')-.74 E 2.5('c)-.74 G
+no)-3.728 F 2.177(completion has pre)144 609.6 R 2.177
+(viously been de\214ned.)-.25 F(The)7.177 E F1<ad45>4.677 E F0 2.178
+(option indicates that the remaining options)4.678 F(should apply to `)
+144 621.6 Q(`empty')-.74 E 2.5('c)-.74 G
(ommand completion; that is, completion attempted on a blank line.)-2.5
-E .327(The return v)108 722.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(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(52)185.955 E 0 Cg
-EP
-%%Page: 53 53
+E 1.388(The return v)144 645.6 R 1.388(alue is true unless an in)-.25 F
+-.25(va)-.4 G 1.387
+(lid option is supplied, an attempt is made to modify the).25 F
+(options for a)144 657.6 Q F2(name)2.5 E F0
+(for which no completion speci\214cation e)2.5 E
+(xists, or an output error occurs.)-.15 E F1(continue)108 674.4 Q F0([)
+2.5 E F2(n)A F0(])A 1.753(Resume the ne)144 686.4 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.254(loop. If)4.254 F F2(n)4.614 E F0 1.754
+(is speci\214ed,)4.494 F 1.209(resume at the)144 698.4 R F2(n)3.709 E F0
+1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F4 10
+/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
+(is greater than the number of enclosing)3.949 F .513
+(loops, the last enclosing loop \(the `)144 710.4 R(`top-le)-.74 E -.15
+(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 F2(n)3.014 E F0(is)
+3.014 E(not greater than or equal to 1.)144 722.4 Q(GNU Bash-4.2)72 768
+Q(2010 December 28)135.965 E(53)185.955 E 0 Cg EP
+%%Page: 54 54
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Italic@0 SF(name)108 84 Q F0
-(for which no completion speci\214cation e)2.5 E
-(xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF
-(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144
-112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
-.25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)
--4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0
-1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709
-E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3
-10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209
-(is greater than the number of enclosing)3.949 F .514
-(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15
-(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
-(The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is)
-3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6
-Q(e)-.18 E F0([)2.5 E F2(\255aAfFilrtux)A F0 2.5(][)C F2<ad70>-2.5 E F0
-2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2
-(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFilrtux)A F0 2.5(][)C F2<ad70>
--2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])
--2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F 1.564
--.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)3.765 E
-F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25 G 3.765
-(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F -.25
-(va)144 201.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983
-(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
-(alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2
-<ad70>3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)3.579 E
-F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F
-(When)6.079 E F2<ad70>3.579 E F0 1.079(is supplied without)3.579 F F1
-(name)3.58 E F0(ar)3.58 E(gu-)-.18 E .151
-(ments, it will display the attrib)144 225.6 R .151(utes and v)-.2 F
-.151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib)
--.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144
-237.6 R .046(If no other options are supplied with)5.046 F F2<ad70>2.547
-E F0(,)A F2(declar)2.547 E(e)-.18 E F0 .047(will display the attrib)
-2.547 F .047(utes and)-.2 F -.25(va)144 249.6 S 1.363
-(lues of all shell v).25 F 3.863(ariables. The)-.25 F F2<ad66>3.863 E F0
-1.362(option will restrict the display to shell functions.)3.863 F(The)
-6.362 E F2<ad46>3.862 E F0 2.422(option inhibits the display of functio\
-n de\214nitions; only the function name and attrib)144 261.6 R 2.423
-(utes are)-.2 F 2.664(printed. If)144 273.6 R(the)2.664 E F2(extdeb)
-2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F2(shopt)
-2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664
-F 1.382(where the function is de\214ned are displayed as well.)144 285.6
-R(The)6.382 E F2<ad46>3.882 E F0 1.382(option implies)3.882 F F2<ad66>
-3.882 E F0 6.382(.T)C 1.382(he follo)-6.382 F(wing)-.25 E .794
-(options can be used to restrict output to v)144 297.6 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 309.6 Q(utes:)-.2 E F2
-<ad61>144 321.6 Q F0(Each)25.3 E F1(name)2.5 E F0(is an inde)2.5 E -.15
-(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2(Arrays)2.5
-E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 333.6 Q F0(Each)
-23.08 E F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25 H
-(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E -.15(ve)
--.15 G(\).).15 E F2<ad66>144 345.6 Q F0(Use function names only)26.97 E
-(.)-.65 E F2<ad69>144 357.6 Q F0 .557(The v)27.52 F .558
-(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
-(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558
-(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 369.6 Q F0(abo)
-2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)
--2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 381.6 Q
-F0 .91(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909
-(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
-G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 393.6 R
-(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad72>144 405.6
-Q F0(Mak)25.86 E(e)-.1 E F1(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
-7.546(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.546 F
-2.547(alues by subsequent)-.25 F(assignment statements or unset.)180
-417.6 Q F2<ad74>144 429.6 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E
-F1(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E
-2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2(DEB)2.929
-E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0
-(traps from the calling shell.)180 441.6 Q(The trace attrib)5 E
-(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
-453.6 Q F0 .909(When the v)24.74 F .909(ariable is assigned a v)-.25 F
-.909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2 F
--.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 465.6 R
-(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
-144 477.6 Q F0(Mark)25.3 E F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
-(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
-(Using `+' instead of `\255' turns of)144 494.4 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 F2(+a)2.62 E F0 .12(may not be used)2.62 F .644
-(to destro)144 506.4 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
--3.144 F .644(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
+-.35 E/F1 10/Times-Bold@0 SF(declar)108 84 Q(e)-.18 E F0([)2.5 E F1
+(\255aAfFgilrtux)A F0 2.5(][)C F1<ad70>-2.5 E F0 2.5(][)C/F2 10
+/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E
+F1(typeset)108 96 Q F0([)2.5 E F1(\255aAfFgilrtux)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.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.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.288
+(where the function is de\214ned are displayed as well.)144 204 R(The)
+6.288 E F1<ad46>3.788 E F0 1.288(option implies)3.788 F F1<ad66>3.788 E
+F0 6.288(.T)C(he)-6.288 E F1<ad67>3.788 E F0(option)3.788 E .49
+(forces v)144 216 R .49
+(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
+(ve)-.25 G 2.991(nw).15 G(hen)-2.991 E F1(declar)2.991 E(e)-.18 E F0
+.491(is e)2.991 F -.15(xe)-.15 G .491(cuted in a).15 F .125
+(shell function.)144 228 R .125(It is ignored in all other cases.)5.125
+F .125(The follo)5.125 F .124
+(wing options can be used to restrict output)-.25 F(to v)144 240 Q
+(ariables with the speci\214ed attrib)-.25 E(ute or to gi)-.2 E .3 -.15
+(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2 E F1<ad61>144 252 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 264 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
+276 Q F0(Use function names only)26.97 E(.)-.65 E F1<ad69>144 288 Q F0
+.557(The v)27.52 F .558(ariable is treated as an inte)-.25 F .558
+(ger; arithmetic e)-.15 F -.25(va)-.25 G .558(luation \(see).25 F/F3 9
+/Times-Bold@0 SF .558(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)
+180 300 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G
+(erformed when the v)-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E
+F1<ad6c>144 312 Q F0 .91(When the v)27.52 F .909
+(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909
+(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer)
+-.25 E(-)-.2 E 2.5(case. The)180 324 R(upper)2.5 E(-case attrib)-.2 E
+(ute is disabled.)-.2 E F1<ad72>144 336 Q F0(Mak)25.86 E(e)-.1 E F2
+(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T)-.65 G 2.546
+(hese names cannot then be assigned v)-7.546 F 2.547
+(alues by subsequent)-.25 F(assignment statements or unset.)180 348 Q F1
+<ad74>144 360 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F2(name)
+2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929
+(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 E(UG)
+-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0(traps from the calling shell.)
+180 372 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
+(ariables.)-.25 E F1<ad75>144 384 Q F0 .909(When the v)24.74 F .909
+(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909
+(-case characters are con)-.2 F -.15(ve)-.4 G .91(rted to upper).15 F(-)
+-.2 E 2.5(case. The)180 396 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E
+(ute is disabled.)-.2 E F1<ad78>144 408 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 424.8 R
+2.621(ft)-.25 G .121(he attrib)-2.621 F .121(ute instead, with the e)-.2
+F .12(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F
+.644(to destro)144 436.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
+-3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
-(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 518.4
-R 1.945(es each)-.1 F F1(name)4.445 E F0 1.945(local, as with the)4.445
-F F2(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944
-(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 530.4 Q F1
-(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 F1(value)3.238 E F0 5.738(.T)C .738
-(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G
-.739(lid option is).25 F .603
-(encountered, an attempt is made to de\214ne a function using)144 542.4
-R/F5 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 554.4 R
-1.242(alue to a readonly v)-.25 F 1.242
-(ariable, an attempt is made to assign a v)-.25 F 1.243
-(alue to an array v)-.25 F(ariable)-.25 E 1.386
-(without using the compound assignment syntax \(see)144 566.4 R F2
-(Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F
-F1(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 578.4 S .171
-(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
-F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
-(ariable, an)-.25 F .96(attempt is made to turn of)144 590.4 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 602.4 Q
-(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A F2(dirs [+)108 619.2
-Q F1(n)A F2 2.5(][)C<ad>-2.5 E F1(n)A F2 2.5(][)C(\255cplv])-2.5 E F0
--.4(Wi)144 631.2 S .328
+(ute. When)-.2 F .645(used in a func-)3.145 F 1.186(tion, mak)144 448.8
+R 1.186(es each)-.1 F F2(name)3.686 E F0 1.186(local, as with the)3.686
+F F1(local)3.686 E F0 1.186(command, unless the)3.686 F F1<ad67>3.686 E
+F0 1.186(option is supplied, If a)3.686 F -.25(va)144 460.8 S .117
+(riable name is follo).25 F .118(wed by =)-.25 F F2(value)A F0 2.618(,t)
+C .118(he v)-2.618 F .118(alue of the v)-.25 F .118(ariable is set to)
+-.25 F F2(value)2.618 E F0 5.118(.T)C .118(he return v)-5.118 F .118
+(alue is 0)-.25 F 2.794(unless an in)144 472.8 R -.25(va)-.4 G 2.793(li\
+d option is encountered, an attempt is made to de\214ne a function usin\
+g).25 F/F4 10/Courier@0 SF<ad66>5.293 E(foo=bar)144 484.8 Q F0 3.992(,a)
+C 3.993(na)-3.992 G 1.493(ttempt is made to assign a v)-3.993 F 1.493
+(alue to a readonly v)-.25 F 1.493(ariable, an attempt is made to)-.25 F
+1.183(assign a v)144 496.8 R 1.183(alue to an array v)-.25 F 1.183
+(ariable without using the compound assignment syntax \(see)-.25 F F1
+(Arrays)3.682 E F0(abo)144 508.8 Q -.15(ve)-.15 G .096(\), one of the)
+.15 F F2(names)2.597 E F0 .097(is not a v)2.597 F .097(alid shell v)-.25
+F .097(ariable name, an attempt is made to turn of)-.25 F 2.597(fr)-.25
+G(eadonly)-2.597 E .659(status for a readonly v)144 520.8 R .658
+(ariable, an attempt is made to turn of)-.25 F 3.158(fa)-.25 G .658
+(rray status for an array v)-3.158 F .658(ariable, or)-.25 F
+(an attempt is made to display a non-e)144 532.8 Q
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 549.6
+Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1 2.5(][)C(\255clpv])-2.5 E F0
+-.4(Wi)144 561.6 S .328
(thout options, displays the list of currently remembered directories.)
.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 643.2 R 1.238
-(Directories are added to the list with the)6.238 F F2(pushd)144 655.2 Q
-F0(command; the)2.5 E F2(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F2(+)144 667.2 Q F1(n)A F0
-1.564(Displays the)25.3 F F1(n)4.064 E F0 1.565
-(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F2
+(single line with directory names separated by spaces.)144 573.6 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 585.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 597.6 Q F2(n)A F0
+1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565
+(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1
(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 679.2 Q F2<ad>144 691.2 Q F1
-(n)A F0 1.194(Displays the)25.3 F F1(n)3.694 E F0 1.194
+(without options, starting with zero.)180 609.6 Q F1<ad>144 621.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
-F2(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 703.2 Q F2<ad63>144 715.2 Q F0
-(Clears the directory stack by deleting all of the entries.)25.86 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(53)185.955 E 0 Cg EP
-%%Page: 54 54
+F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 633.6 Q F1<ad63>144 645.6 Q F0
+(Clears the directory stack by deleting all of the entries.)25.86 E F1
+<ad6c>144 657.6 Q F0 .324(Produces a longer listing; the def)27.52 F
+.324(ault listing format uses a tilde to denote the home direc-)-.1 F
+(tory)180 669.6 Q(.)-.65 E F1<ad70>144 681.6 Q F0
+(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
+693.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 705.6 Q 1.706(The return v)144 722.4 R 1.706
+(alue is 0 unless an in)-.25 F -.25(va)-.4 G 1.707
+(lid option is supplied or).25 F F2(n)4.207 E F0(inde)4.207 E -.15(xe)
+-.15 G 4.207(sb).15 G -.15(ey)-4.207 G 1.707(ond the end of the).15 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(54)185.955 E 0 Cg EP
+%%Page: 55 55
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad6c>144 84 Q F0 .324
-(Produces a longer listing; the def)27.52 F .324
-(ault listing format uses a tilde to denote the home direc-)-.1 F(tory)
-180 96 Q(.)-.65 E F1<ad70>144 108 Q F0
-(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-120 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 132 Q .257(The return v)144 148.8 R .258
-(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F/F2 10/Times-Italic@0 SF(n)2.758 E F0
-(inde)2.758 E -.15(xe)-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258
-(ond the end of the direc-).15 F(tory stack.)144 160.8 Q F1(diso)108
-177.6 Q(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0
-2.5(][)C F2(jobspec)-2.5 E F0(...])2.5 E -.4(Wi)144 189.6 S .295
-(thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F
+-.35 E(directory stack.)144 84 Q/F1 10/Times-Bold@0 SF(diso)108 100.8 Q
+(wn)-.1 E F0([)2.5 E F1(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C
+/F2 10/Times-Italic@0 SF(jobspec)-2.5 E F0(...])2.5 E -.4(Wi)144 112.8 S
+.295(thout options, each).4 F F2(jobspec)4.535 E F0 .295(is remo)3.105 F
-.15(ve)-.15 G 2.795(df).15 G .295(rom the table of acti)-2.795 F .595
-.15(ve j)-.25 H 2.795(obs. If).15 F F2(jobspec)4.535 E F0 .295
-(is not present,)3.105 F .422(and neither)144 201.6 R F1<ad61>2.922 E F0
+(is not present,)3.105 F .422(and neither)144 124.8 R F1<ad61>2.922 E F0
(nor)2.922 E F1<ad72>2.922 E F0 .422(is supplied, the shell')2.922 F
2.922(sn)-.55 G .422(otion of the)-2.922 F F2(curr)2.923 E .423(ent job)
-.37 F F0 .423(is used.)2.923 F .423(If the)5.423 F F1<ad68>2.923 E F0
-.423(option is)2.923 F(gi)144 213.6 Q -.15(ve)-.25 G .141(n, each).15 F
+.423(option is)2.923 F(gi)144 136.8 Q -.15(ve)-.25 G .141(n, each).15 F
F2(jobspec)4.381 E F0 .141(is not remo)2.951 F -.15(ve)-.15 G 2.641(df)
.15 G .141(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141
(ed so that)-.1 F/F3 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14
-(is not sent to the)2.39 F .004(job if the shell recei)144 225.6 R -.15
+(is not sent to the)2.39 F .004(job if the shell recei)144 148.8 R -.15
(ve)-.25 G 2.504(sa).15 G F3(SIGHUP)A/F4 9/Times-Roman@0 SF(.)A F0 .004
(If no)4.504 F F2(jobspec)4.244 E F0 .004(is present, and neither the)
2.814 F F1<ad61>2.504 E F0 .005(nor the)2.504 F F1<ad72>2.505 E F0 .005
-(option is)2.505 F 1.229(supplied, the)144 237.6 R F2(curr)3.729 E 1.229
+(option is)2.505 F 1.229(supplied, the)144 160.8 R F2(curr)3.729 E 1.229
(ent job)-.37 F F0 1.229(is used.)3.729 F 1.229(If no)6.229 F F2
(jobspec)5.469 E F0 1.229(is supplied, the)4.039 F F1<ad61>3.729 E F0
1.228(option means to remo)3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656
-(mark all jobs; the)144 249.6 R F1<ad72>3.156 E F0 .657
+(mark all jobs; the)144 172.8 R F1<ad72>3.156 E F0 .657
(option without a)3.156 F F2(jobspec)4.897 E F0(ar)3.467 E .657
(gument restricts operation to running jobs.)-.18 F(The)5.657 E
-(return v)144 261.6 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0
-(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 278.4 Q
+(return v)144 184.8 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E F0
+(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 201.6 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 290.4 R F2(ar)2.895 E(g)-.37 E F0 .395
+.395(Output the)144 213.6 R F2(ar)2.895 E(g)-.37 E F0 .395
(s, separated by spaces, follo)B .395(wed by a ne)-.25 F 2.895
(wline. The)-.25 F .394(return status is al)2.895 F -.1(wa)-.1 G .394
(ys 0.).1 F(If)5.394 E F1<ad6e>2.894 E F0 .548
-(is speci\214ed, the trailing ne)144 302.4 R .548(wline is suppressed.)
+(is speci\214ed, the trailing ne)144 225.6 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 314.4 Q
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 237.6 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 326.4 R -.15(ve)-.25 G 4.002(no).15 G
+F 1.502(escape characters, e)144 249.6 R -.15(ve)-.25 G 4.002(no).15 G
4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502
(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003
E F0(shell)4.003 E .009
-(option may be used to dynamically determine whether or not)144 338.4 R
+(option may be used to dynamically determine whether or not)144 261.6 R
F1(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters)
-.15 F .659(by def)144 350.4 R(ault.)-.1 E F1(echo)5.659 E F0 .659
+.15 F .659(by def)144 273.6 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 362.4 Q
-F1(\\a)144 374.4 Q F0(alert \(bell\))28.22 E F1(\\b)144 386.4 Q F0
-(backspace)27.66 E F1(\\c)144 398.4 Q F0(suppress further output)28.78 E
-F1(\\e)144 410.4 Q F0(an escape character)28.78 E F1(\\f)144 422.4 Q F0
-(form feed)29.89 E F1(\\n)144 434.4 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)
--2.5 E F1(\\r)144 446.4 Q F0(carriage return)28.78 E F1(\\t)144 458.4 Q
-F0(horizontal tab)29.89 E F1(\\v)144 470.4 Q F0 -.15(ve)28.22 G
-(rtical tab).15 E F1(\\\\)144 482.4 Q F0(backslash)30.44 E F1(\\0)144
-494.4 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
+(interprets the follo)3.16 F(wing)-.25 E(escape sequences:)144 285.6 Q
+F1(\\a)144 297.6 Q F0(alert \(bell\))28.22 E F1(\\b)144 309.6 Q F0
+(backspace)27.66 E F1(\\c)144 321.6 Q F0(suppress further output)28.78 E
+F1(\\e)144 333.6 Q(\\E)144 345.6 Q F0(an escape character)26.55 E F1
+(\\f)144 357.6 Q F0(form feed)29.89 E F1(\\n)144 369.6 Q F0(ne)27.66 E
+2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 381.6 Q F0(carriage return)28.78 E
+F1(\\t)144 393.6 Q F0(horizontal tab)29.89 E F1(\\v)144 405.6 Q F0 -.15
+(ve)28.22 G(rtical tab).15 E F1(\\\\)144 417.6 Q F0(backslash)30.44 E F1
+(\\0)144 429.6 Q F2(nnn)A F0(the eight-bit character whose v)13.22 E
(alue is the octal v)-.25 E(alue)-.25 E F2(nnn)2.5 E F0
-(\(zero to three octal digits\))2.5 E F1(\\x)144 506.4 Q F2(HH)A F0
+(\(zero to three octal digits\))2.5 E F1(\\x)144 441.6 Q F2(HH)A F0
(the eight-bit character whose v)13.78 E(alue is the he)-.25 E
(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0(\(one or tw)2.5 E 2.5(oh)
--.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(enable)108 523.2 Q F0([)2.5 E
-F1<ad61>A F0 2.5(][)C F1(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2
-(\214lename)2.5 E F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E .278
-(Enable and disable b)144 535.2 R .278(uiltin shell commands.)-.2 F .278
-(Disabling a b)5.278 F .278(uiltin allo)-.2 F .278
-(ws a disk command which has)-.25 F .833(the same name as a shell b)144
-547.2 R .834(uiltin to be e)-.2 F -.15(xe)-.15 G .834
-(cuted without specifying a full pathname, e).15 F -.15(ve)-.25 G 3.334
-(nt).15 G(hough)-3.334 E .99(the shell normally searches for b)144 559.2
-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 571.2 R F2(names)4.082 E F0 1.582(are enabled.)
+-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1(\\u)144 453.6 Q F2(HHHH)A F0
+1.507(the Unicode \(ISO/IEC 10646\) character whose v)180 465.6 R 1.506
+(alue is the he)-.25 F 1.506(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
+4.006 E F0(\(one to four he)180 477.6 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 489.6 Q F2(HHHHHHHH)A F0 .547
+(the Unicode \(ISO/IEC 10646\) character whose v)180 501.6 R .547
+(alue is the he)-.25 F .548(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
+3.048 E(HHH)180 513.6 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G
+(igits\))-2.5 E F1(enable)108 530.4 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(Enable and disable b)144 542.4 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 554.4 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 566.4 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 578.4 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 583.2 R .081(uiltin v)
+G(TH)-.189 E F0 .081(instead of the shell b)144 590.4 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 595.2 S 1.524
+(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 602.4 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 607.2 Q F1<ad64>
+(ystems that support dynamic loading.)-4.024 F(The)144 614.4 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 619.2 R F1<ad70>
+-.18 F -.15(ve)-.25 G .366(n, or).15 F .398(if the)144 626.4 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
-631.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
+638.4 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 643.2 R 1.916
+(is supplied, the list printed includes all b)144 650.4 R 1.916
(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 655.2 R F1<ad73>2.879 E F0 .379
+(enabled. If)144 662.4 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 667.2 R F2(name)3.854 E F0 .994
+(alue)-.25 E .994(is 0 unless a)144 674.4 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
-679.2 Q F1 -2.3 -.15(ev a)108 696 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37 E
-F0(...])2.5 E(The)144 708 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 720 R -.15(xe)-.15 G
-.495(cuted by the shell, and its e).15 F .495
+686.4 Q F1 -2.3 -.15(ev a)108 703.2 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(The)144 715.2 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 727.2 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(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(54)185.955 E 0 Cg EP
-%%Page: 55 55
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(55)185.955 E 0 Cg EP
+%%Page: 56 56
%%BeginPageSetup
BP
%%EndPageSetup
@@ -6573,9 +6701,9 @@ R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
-.1 F 2.862(,w)-.4 G .363(hen run with job control enabled, if)-2.862 F
F2(jobspec)145.74 720 Q F0 .004(does not specify a v)2.815 F .004
(alid job or)-.25 F F2(jobspec)4.244 E F0 .004(speci\214es a job that w)
-2.814 F .004(as started without job control.)-.1 F(GNU Bash-4.1)72 768 Q
-(2009 December 29)135.965 E(55)185.955 E 0 Cg EP
-%%Page: 56 56
+2.814 F .004(as started without job control.)-.1 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(56)185.955 E 0 Cg EP
+%%Page: 57 57
%%BeginPageSetup
BP
%%EndPageSetup
@@ -6613,7 +6741,7 @@ BP
E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
(alue greater than zero.)-.25 F F3(OPTIND)144 240 Q F0
(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
(is set to ?.)2.5 E F1(getopts)144 264 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
@@ -6649,49 +6777,51 @@ E F1(getopts)144 456 Q F0 .902
3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
(options is encountered or an error occurs.)144 468 Q F1(hash)108 484.8
Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)2.5 E
-F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A -.15(Fo)
-144 496.8 S 3.555(re).15 G(ach)-3.555 E F2(name)3.555 E F0 3.555(,t).18
-G 1.054(he full \214le name of the command is determined by searching t\
-he directories in)-3.555 F F1($P)144 508.8 Q -.95(AT)-.74 G(H).95 E F0
-.349(and remembered.)2.849 F .349(If the)5.349 F F1<ad70>2.849 E F0 .349
-(option is supplied, no path search is performed, and)2.849 F F2
-(\214lename)4.76 E F0 .452
-(is used as the full \214le name of the command.)144 520.8 R(The)5.452 E
-F1<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 532.8 R(The)5.592 E F1
-<ad64>3.092 E F0 .593(option causes the shell to for)3.092 F .593
-(get the remembered location of each)-.18 F F2(name)3.093 E F0(.)A .021
-(If the)144 544.8 R F1<ad74>2.521 E F0 .021
-(option is supplied, the full pathname to which each)2.521 F F2(name)
-2.52 E F0 .02(corresponds is printed.)2.52 F .02(If multi-)5.02 F(ple)
-144 556.8 Q F2(name)3.703 E F0(ar)3.703 E 1.203
-(guments are supplied with)-.18 F F1<ad74>3.703 E F0 3.703(,t)C(he)
--3.703 E F2(name)3.703 E F0 1.204
-(is printed before the hashed full pathname.)3.703 F(The)144 568.8 Q F1
-<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 580.8 R -.15(ve)-.25 G 1.183(n, or if only).15 F
-F1<ad6c>3.683 E F0 1.184
-(is supplied, information about remembered commands is printed.)3.684 F
-(The return status is true unless a)144 592.8 Q F2(name)2.86 E F0
-(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
-E F1(help)108 609.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern)
--2.5 E F0(])A .867(Display helpful information about b)144 621.6 R .867
-(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .866
-(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G
-3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144
-633.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307
-(therwise help for all the b)-2.807 F .307
-(uiltins and shell control struc-)-.2 F(tures is printed.)144 645.6 Q F1
-<ad64>144 657.6 Q F0(Display a short description of each)24.74 E F2
-(pattern)2.5 E F1<ad6d>144 669.6 Q F0(Display the description of each)
+F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858
+(Each time)144 496.8 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4
+G -.1(ke).2 G .858(d, the full pathname of the command).1 F F2(name)
+3.718 E F0 .858(is determined by searching)3.538 F .956
+(the directories in)144 508.8 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0
+.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956
+(viously-remembered pathname is discarded.)-.25 F .099(If the)144 520.8
+R F1<ad70>2.599 E F0 .099
+(option is supplied, no path search is performed, and)2.599 F F2
+(\214lename)4.508 E F0 .098(is used as the full \214le name)2.778 F
+1.711(of the command.)144 532.8 R(The)6.711 E F1<ad72>4.211 E F0 1.711
+(option causes the shell to for)4.211 F 1.712
+(get all remembered locations.)-.18 F(The)6.712 E F1<ad64>4.212 E F0
+.833(option causes the shell to for)144 544.8 R .833
+(get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I)
+C 3.333(ft)-5.833 G(he)-3.333 E F1<ad74>3.333 E F0 .833(option is sup-)
+3.333 F .703(plied, the full pathname to which each)144 556.8 R F2(name)
+3.204 E F0 .704(corresponds is printed.)3.204 F .704(If multiple)5.704 F
+F2(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
+568.8 R F1<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0
+.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1
+<ad6c>3.295 E F0 .795(option causes)3.295 F .934
+(output to be displayed in a format that may be reused as input.)144
+580.8 R .934(If no ar)5.934 F .935(guments are gi)-.18 F -.15(ve)-.25 G
+.935(n, or if).15 F(only)144 592.8 Q F1<ad6c>2.822 E F0 .322
+(is supplied, information about remembered commands is printed.)2.822 F
+.321(The return status is true)5.321 F(unless a)144 604.8 Q F2(name)2.86
+E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
+.25 E F1(help)108 621.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2
+(pattern)-2.5 E F0(])A .866(Display helpful information about b)144
+633.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0
+.867(is speci\214ed,)3.607 F F1(help)3.367 E F0(gi)3.367 E -.15(ve)-.25
+G 3.367(sd).15 G(etailed)-3.367 E .307(help on all commands matching)144
+645.6 R F2(pattern)2.807 E F0 2.807(;o).24 G .307
+(therwise help for all the b)-2.807 F .306
+(uiltins and shell control struc-)-.2 F(tures is printed.)144 657.6 Q F1
+<ad64>144 669.6 Q F0(Display a short description of each)24.74 E F2
+(pattern)2.5 E F1<ad6d>144 681.6 Q F0(Display the description of each)
21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)
--2.5 E F1<ad73>144 681.6 Q F0
+-2.5 E F1<ad73>144 693.6 Q F0
(Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E
-F0(The return status is 0 unless no command matches)108 693.6 Q F2
-(pattern)2.5 E F0(.).24 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965
-E(56)185.955 E 0 Cg EP
-%%Page: 57 57
+F0(The return status is 0 unless no command matches)144 710.4 Q F2
+(pattern)2.5 E F0(.).24 E(GNU Bash-4.2)72 768 Q(2010 December 28)135.965
+E(57)185.955 E 0 Cg EP
+%%Page: 58 58
%%BeginPageSetup
BP
%%EndPageSetup
@@ -6704,13 +6834,13 @@ BP
-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144 156
S .752
(th no options, display the command history list with line numbers.).4 F
-.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G .38(been modi\214ed.)144 168 R .38(An ar)5.38 F .38(gument of)-.18 F
+.752(Lines listed with a)5.752 F F1(*)3.252 E F0(ha)3.252 E -.15(ve)-.2
+G .381(been modi\214ed.)144 168 R .38(An ar)5.38 F .38(gument of)-.18 F
F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E/F3 9
-/Times-Bold@0 SF(HISTTIMEFOR-)2.881 E(MA)144 180 Q(T)-.855 E F0 .265
-(is set and not null, it is used as a format string for)2.515 F F2
-(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019
+/Times-Bold@0 SF(HISTTIMEFOR-)2.88 E(MA)144 180 Q(T)-.855 E F0 .264
+(is set and not null, it is used as a format string for)2.514 F F2
+(strftime)2.765 E F0 .265(\(3\) to display the time stamp asso-)B 1.02
(ciated with each displayed history entry)144 192 R 6.019(.N)-.65 G
3.519(oi)-6.019 G(nterv)-3.519 E 1.019
(ening blank is printed between the formatted)-.15 F .176
@@ -6722,67 +6852,68 @@ E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E
(wing meanings:)-.25 E F1<ad63>144 228 Q F0
(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
240 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 252 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 264 Q F0 .598
-(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.098 F .599
+180 252 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 264 Q F0 .599
+(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.099('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.099 F .598
(ginning of the current)-.15 F F1(bash)180 276 Q F0
(session\) to the history \214le.)2.5 E F1<ad6e>144 288 Q F0 .854(Read \
the history lines not already read from the history \214le into the cur\
-rent history list.)24.74 F .772
+rent history list.)24.74 F .773
(These are lines appended to the history \214le since the be)180 300 R
-.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
+.772(ginning of the current)-.15 F F1(bash)3.272 E F0(ses-)3.272 E
(sion.)180 312 Q F1<ad72>144 324 Q F0(Read the contents of the history \
\214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144
336 Q F0(Write the current history to the history \214le, o)23.08 E -.15
(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.)
--2.5 E F1<ad70>144 348 Q F0 .626
+-2.5 E F1<ad70>144 348 Q F0 .625
(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
-3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
+3.125 E(gs)-.37 E F0 .626(and display the result on the standard)3.125 F
2.975(output. Does)180 360 R .475
(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 372 Q(xpansion.)-.15 E F1<ad73>144 384 Q F0 .363
-(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
+(normal history e)180 372 Q(xpansion.)-.15 E F1<ad73>144 384 Q F0 .362
+(Store the)26.41 F F2(ar)3.192 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.132 F 5.363(.T)-.65 G .363
(he last command in the history list is)-5.363 F(remo)180 396 Q -.15(ve)
-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E .145(If the)144 412.8 R F3(HISTTIMEFORMA)2.645 E(T)
+(are added.)2.77 E .146(If the)144 412.8 R F3(HISTTIMEFORMA)2.645 E(T)
-.855 E F0 -.25(va)2.395 G .145
(riable is set, the time stamp information associated with each history)
-.25 F .669(entry is written to the history \214le, mark)144 424.8 R .669
-(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668
-(hen the history)-5.668 F .955(\214le is read, lines be)144 436.8 R .956
-(ginning with the history comment character follo)-.15 F .956
-(wed immediately by a digit)-.25 F .416
+.25 F .668(entry is written to the history \214le, mark)144 424.8 R .669
+(ed with the history comment character)-.1 F 5.669(.W)-.55 G .669
+(hen the history)-5.669 F .956(\214le is read, lines be)144 436.8 R .956
+(ginning with the history comment character follo)-.15 F .955
+(wed immediately by a digit)-.25 F .415
(are interpreted as timestamps for the pre)144 448.8 R .416
-(vious history line.)-.25 F .416(The return v)5.416 F .415
+(vious history line.)-.25 F .416(The return v)5.416 F .416
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .499(option is e\
ncountered, an error occurs while reading or writing the history \214le\
-, an in)144 460.8 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is)
-3 E(supplied as an ar)144 472.8 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5
-(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
-E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
-489.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
-E F1(jobs \255x)108 501.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
--.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 513.6 Q .3
--.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
-(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 525.6 Q F0
+, an in)144 460.8 R -.25(va)-.4 G(lid).25 E F2(of)2.999 E(fset)-.18 E F0
+(is)2.999 E(supplied as an ar)144 472.8 Q(gument to)-.18 E F1<ad64>2.5 E
+F0 2.5(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E
+(xpansion supplied as an ar)-.15 E(gument to)-.18 E F1<ad70>2.5 E F0 -.1
+(fa)2.5 G(ils.).1 E F1(jobs)108 489.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5
+(][)C F2(jobspec)A F0(... ])2.5 E F1(jobs \255x)108 501.6 Q F2(command)
+2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
+(The \214rst form lists the acti)144 513.6 Q .3 -.15(ve j)-.25 H 2.5
+(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F1<ad6c>144 525.6 Q F0
(List process IDs in addition to the normal information.)27.52 E F1
-<ad70>144 537.6 Q F0(List only the process ID of the job')24.74 E 2.5
-(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F1<ad6e>144 549.6 Q F0
-.194(Display information only about jobs that ha)24.74 F .494 -.15(ve c)
--.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F
-(\214ed of their status.)180 561.6 Q F1<ad72>144 573.6 Q F0
+<ad6e>144 537.6 Q F0 .193(Display information only about jobs that ha)
+24.74 F .494 -.15(ve c)-.2 H .194(hanged status since the user w).15 F
+.194(as last noti-)-.1 F(\214ed of their status.)180 549.6 Q F1<ad70>144
+561.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
+(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 573.6 Q F0
(Restrict output to running jobs.)25.86 E F1<ad73>144 585.6 Q F0
(Restrict output to stopped jobs.)26.41 E(If)144 602.4 Q F2(jobspec)
-4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
-(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 614.4 Q -.25
+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 614.4 Q -.25
(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 631.2 R F1
-<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
+E F2(jobspec)4.24 E F0(is supplied.)2.81 E .394(If the)144 631.2 R F1
+<ad78>2.894 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
.394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in)
-3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
+3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .395
(with the corre-)3.164 F(sponding process group ID, and e)144 643.2 Q
-.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)
2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
@@ -6790,61 +6921,61 @@ F1(kill)108 660 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
(kill \255l)108 672 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
-(it_status).2 E F0(])A .119(Send the signal named by)144 684 R F2
-(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
-(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
-(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
-(either a case-insensiti)144 696 R .619 -.15(ve s)-.25 H .319
-(ignal name such as).15 F F3(SIGKILL)2.819 E F0 .318
-(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 708 Q F2(signum)4.188 E F0
-1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
+(it_status).2 E F0(])A .12(Send the signal named by)144 684 R F2
+(sigspec)2.96 E F0(or)2.93 E F2(signum)2.96 E F0 .119
+(to the processes named by)2.939 F F2(pid)3.869 E F0(or)3.389 E F2
+(jobspec)2.619 E F0(.).31 E F2(sigspec)5.459 E F0(is)2.929 E .318
+(either a case-insensiti)144 696 R .618 -.15(ve s)-.25 H .318
+(ignal name such as).15 F F3(SIGKILL)2.818 E F0 .319
+(\(with or without the)2.569 F F3(SIG)2.819 E F0 .319
+(pre\214x\) or a signal)2.569 F(number;)144 708 Q F2(signum)4.189 E F0
+1.349(is a signal number)4.169 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 720 Q .523(gument of)-.18 F
+1.348(is assumed.)3.599 F(An)6.348 E(ar)144 720 Q .522(gument of)-.18 F
F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
-.15 F(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(57)185.955 E 0 Cg
+.15 F(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(58)185.955 E 0 Cg
EP
-%%Page: 58 58
+%%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 .28(of the signals corresponding to the ar)144 84 R .28
(guments are listed, and the return status is 0.)-.18 F(The)5.28 E/F1 10
-/Times-Italic@0 SF -.2(ex)2.78 G(it_status).2 E F0(ar)144 96 Q .378
-(gument to)-.18 F/F2 10/Times-Bold@0 SF<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 108 R
+/Times-Italic@0 SF -.2(ex)2.78 G(it_status).2 E F0(ar)144 96 Q .377
+(gument to)-.18 F/F2 10/Times-Bold@0 SF<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 108 R
F2(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
-.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
+.593(as successfully sent, or f)-.1 F .593(alse if an error)-.1 F
(occurs or an in)144 120 Q -.25(va)-.4 G(lid option is encountered.).25
E F2(let)108 136.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 148.8 Q F1(ar)3.027 E(g)-.37 E F0 .197
-(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G
-.196(luated \(see).25 F/F3 9/Times-Bold@0 SF .196(ARITHMETIC EV)2.696 F
-(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G
-2.696(\). If).15 F(the last)144 160.8 Q F1(ar)2.83 E(g)-.37 E F0 -.25
+(...])2.5 E(Each)144 148.8 Q F1(ar)3.026 E(g)-.37 E F0 .196
+(is an arithmetic e)2.916 F .197(xpression to be e)-.15 F -.25(va)-.25 G
+.197(luated \(see).25 F/F3 9/Times-Bold@0 SF .197(ARITHMETIC EV)2.697 F
+(ALU)-1.215 E -.855(AT)-.54 G(ION).855 E F0(abo)2.447 E -.15(ve)-.15 G
+2.697(\). If).15 F(the last)144 160.8 Q F1(ar)2.83 E(g)-.37 E F0 -.25
(eva)2.72 G(luates to 0,).25 E F2(let)2.5 E F0
(returns 1; 0 is returned otherwise.)2.5 E F2(local)108 177.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 189.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 201.6 Q 3.153(yo)
--.15 G 3.153(ft)-3.153 G .653(he options accepted by)-3.153 F F2(declar)
-3.153 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F2(local)3.152 E F0 .652
+-5.06 E F1(option)2.56 E F0 .06(can be)2.56 F(an)144 201.6 Q 3.152(yo)
+-.15 G 3.152(ft)-3.152 G .652(he options accepted by)-3.152 F F2(declar)
+3.152 E(e)-.18 E F0 5.652(.W)C(hen)-5.652 E F2(local)3.152 E F0 .653
(is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-213.6 Q F1(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
-(isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F2(local)144 225.6 Q F0 1.165
-(writes a list of local v)3.665 F 1.165
+213.6 Q F1(name)3.721 E F0 .861(to ha)3.541 F 1.161 -.15(ve a v)-.2 H
+.861(isible scope restricted to that function and its children.).15 F
+-.4(Wi)5.86 G .86(th no operands,).4 F F2(local)144 225.6 Q F0 1.164
+(writes a list of local v)3.664 F 1.165
(ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F2(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 237.6 R .233(The return status is 0 unless)5.232
+6.165 F F2(local)3.665 E F0 1.165(when not)3.665 F .233
+(within a function.)144 237.6 R .233(The return status is 0 unless)5.233
F F2(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
--.25(va)-.4 G(lid).25 E F1(name)3.093 E F0(is)2.913 E(supplied, or)144
+-.25(va)-.4 G(lid).25 E F1(name)3.092 E F0(is)2.912 E(supplied, or)144
249.6 Q F1(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F2
(logout)108 266.4 Q F0(Exit a login shell.)9.33 E F2(map\214le)108 283.2
Q F0([)2.5 E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f>-2.5 E F1
@@ -6856,21 +6987,21 @@ Q F0([)2.5 E F2<ad6e>A F1(count)2.5 E F0 2.5(][)C F2<ad4f>-2.5 E F1
-2.5 E F1(origin)2.5 E F0 2.5(][)C F2<ad73>-2.5 E F1(count)2.5 E F0 2.5
(][)C F2<ad74>-2.5 E F0 2.5(][)C F2<ad75>-2.5 E F1(fd)2.5 E F0 2.5(][)C
F2<ad43>-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1
-(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .351
+(quantum)2.5 E F0 2.5(][)C F1(arr)-2.5 E(ay)-.15 E F0(])A .35
(Read lines from the standard input into the inde)144 307.2 R -.15(xe)
--.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F1(arr)2.85 E
-(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)
--2.85 F F1(fd)2.85 E F0 1.248(if the)144 319.2 R F2<ad75>3.748 E F0
-1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F3
-(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F1(arr)3.749 E
-(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F(ha)144
-331.2 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad6e>
-144 343.2 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 355.2 Q F0(Be)22.52 E
-(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
--.15 E F1(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi)
--.15 G 2.5(s0)-2.5 G(.)-2.5 E F2<ad73>144 367.2 Q F0
+-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F1(arr)2.851 E
+(ay)-.15 E F0 2.851(,o).32 G 2.851(rf)-2.851 G .351
+(rom \214le descriptor)-2.851 F F1(fd)2.851 E F0 1.249(if the)144 319.2
+R F2<ad75>3.749 E F0 1.249(option is supplied.)3.749 F 1.249(The v)6.249
+F(ariable)-.25 E F3(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1
+E F1(arr)3.748 E(ay)-.15 E F0 6.248(.O)C 1.248(ptions, if supplied,)
+-6.248 F(ha)144 331.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad6e>144 343.2 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 355.2 Q F0
+(Be)22.52 E(gin assigning to)-.15 E F1(arr)2.83 E(ay)-.15 E F0(at inde)
+2.82 E(x)-.15 E F1(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1
+E 2.5(xi)-.15 G 2.5(s0)-2.5 G(.)-2.5 E F2<ad73>144 367.2 Q F0
(Discard the \214rst)26.41 E F1(count)2.5 E F0(lines read.)2.5 E F2
<ad74>144 379.2 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E
(wline from each line read.)-.25 E F2<ad75>144 391.2 Q F0
@@ -6880,1323 +7011,1376 @@ F2<ad43>-2.5 E F1(callbac)2.5 E(k)-.2 E F0 2.5(][)C F2<ad63>-2.5 E F1
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 415.2
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 432 Q F2<ad43>2.968 E F0 .467
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 432 Q F2<ad43>2.967 E F0 .467
(is speci\214ed without)2.967 F F2<ad63>2.967 E F0 2.967(,t)C .467
(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F1
(callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F 1.22(plied the inde)144 444 R 3.72(xo)-.15 G
-3.72(ft)-3.72 G 1.22(he ne)-3.72 F 1.22
-(xt array element to be assigned as an additional ar)-.15 F(gument.)-.18
-E F1(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 456 S
-(luated after the line is read b).25 E
-(ut before the array element is assigned.)-.2 E
-(If not supplied with an e)144 472.8 Q(xplicit origin,)-.15 E F2
+(luated, it is sup-).25 F .262(plied the inde)144 444 R 2.762(xo)-.15 G
+2.762(ft)-2.762 G .262(he ne)-2.762 F .261(xt array element to be assig\
+ned and the line to be assigned to that element)-.15 F .274
+(as additional ar)144 456 R(guments.)-.18 E F1(callbac)5.274 E(k)-.2 E
+F0 .274(is e)2.774 F -.25(va)-.25 G .274
+(luated after the line is read b).25 F .275
+(ut before the array element is)-.2 F(assigned.)144 468 Q
+(If not supplied with an e)144 484.8 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 489.6 Q F0 1.906
+(before assigning to it.)2.5 E F2(map\214le)144 501.6 Q F0 1.906
(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905
(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F1(arr)
-4.405 E(ay)-.15 E F0(is)4.405 E(in)144 501.6 Q -.25(va)-.4 G
+4.405 E(ay)-.15 E F0(is)4.405 E(in)144 513.6 Q -.25(va)-.4 G
(lid or unassignable, or if).25 E F1(arr)2.5 E(ay)-.15 E F0
(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F2(popd)108 518.4 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 530.4 Q -.15(ve)-.15 G 2.799
+F2(popd)108 530.4 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 542.4 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
-542.4 R F2(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
+554.4 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 554.4 Q F2<ad6e>144 566.4 Q F0 .551
+F(wing)-.25 E(meanings:)144 566.4 Q F2<ad6e>144 578.4 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 578.4 Q F2(+)144 590.4 Q F1(n)A
+(that only the stack is manipulated.)180 590.4 Q F2(+)144 602.4 Q F1(n)A
F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F1(n)2.64 E F0
.14(th entry counting from the left of the list sho)B .14(wn by)-.25 F
F2(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
-602.4 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0
+614.4 S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0
(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
--.65 E F4(popd +1)2.5 E F0(the second.)2.5 E F2<ad>144 614.4 Q F1(n)A F0
+-.65 E F4(popd +1)2.5 E F0(the second.)2.5 E F2<ad>144 626.4 Q F1(n)A F0
(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F1(n)3.759 E F0
1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
F F2(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
-626.4 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0(remo)2.5 E -.15
+638.4 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0(remo)2.5 E -.15
(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F4(popd -1)2.5
-E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 643.2 R F2(popd)
+E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 655.2 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 655.2 R .415(alse if an in)-.1 F -.25(va)-.4 G
+E F0 .415(returns f)144 667.2 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 667.2 Q
-(ails.)-.1 E F2(printf)108 684 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
-(Write the formatted)144 696 R F1(ar)2.872 E(guments)-.37 E F0 .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 708 R 1.859
-(copied to standard output, character escape sequences, which are con)
-144 720 R -.15(ve)-.4 G 1.858(rted and copied to the).15 F(GNU Bash-4.1)
-72 768 Q(2009 December 29)135.965 E(58)185.955 E 0 Cg EP
-%%Page: 59 59
+(tory stack entry is speci\214ed, or the directory change f)144 679.2 Q
+(ails.)-.1 E F2(printf)108 696 Q F0([)2.5 E F2<ad76>A F1(var)2.5 E F0(])
+A F1(format)2.5 E F0([)2.5 E F1(ar)A(guments)-.37 E F0(])A 1.437
+(Write the formatted)144 708 R F1(ar)3.937 E(guments)-.37 E F0 1.437
+(to the standard output under the control of the)3.937 F F1(format)3.936
+E F0 6.436(.T)C(he)-6.436 E F2<ad76>3.936 E F0 .126
+(option causes the output to be assigned to the v)144 720 R(ariable)-.25
+E F1(var)2.626 E F0 .126(rather than being printed to the standard)2.626
+F(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(59)185.955 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 1.171(standard output, and format speci\214cations, each of whic\
-h causes printing of the ne)144 84 R 1.172(xt successi)-.15 F -.15(ve)
--.25 G/F1 10/Times-Italic@0 SF(ar)144 96 Q(gument)-.37 E F0 6.274(.I)C
-3.774(na)-6.274 G 1.274(ddition to the standard)-3.774 F F1(printf)3.774
-E F0 1.274(\(1\) formats,)B/F2 10/Times-Bold@0 SF(%b)3.774 E F0(causes)
-3.774 E F2(printf)3.774 E F0 1.273(to e)3.774 F 1.273(xpand backslash)
--.15 F .619(escape sequences in the corresponding)144 108 R F1(ar)3.119
-E(gument)-.37 E F0(\(e)3.119 E .619(xcept that)-.15 F F2(\\c)3.119 E F0
-.62(terminates output, backslashes in)3.119 F F2<5c08>144 120 Q F0(,)A
-F2(\\")2.985 E F0 2.985(,a)C(nd)-2.985 E F2(\\?)2.985 E F0 .485
-(are not remo)2.985 F -.15(ve)-.15 G .485(d, and octal escapes be).15 F
-.484(ginning with)-.15 F F2(\\0)2.984 E F0 .484
-(may contain up to four digits\),)2.984 F(and)144 132 Q F2(%q)2.567 E F0
-(causes)2.567 E F2(printf)2.567 E F0 .067(to output the corresponding)
-2.567 F F1(ar)2.568 E(gument)-.37 E F0 .068
-(in a format that can be reused as shell)2.568 F(input.)144 144 Q(The)
-144 168 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 180 Q(The)144 204 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 .924(requires more)3.424 F F1(ar)144 216 Q(guments)-.37 E F0
-.033(than are supplied, the e)2.534 F .033
+-.35 E(output.)144 84 Q(The)144 108 Q/F1 10/Times-Italic@0 SF(format)
+3.018 E F0 .517(is a character string which contains three types of obj\
+ects: plain characters, which are)3.018 F .704(simply copied to standar\
+d output, character escape sequences, which are con)144 120 R -.15(ve)
+-.4 G .704(rted and copied to).15 F .036(the standard output, and forma\
+t speci\214cations, each of which causes printing of the ne)144 132 R
+.036(xt successi)-.15 F -.15(ve)-.25 G F1(ar)144 144 Q(gument)-.37 E F0
+5.531(.I)C 3.031(na)-5.531 G .531(ddition to the standard)-3.031 F F1
+(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B/F2 10
+/Times-Bold@0 SF(printf)3.032 E F0 .532(interprets the follo)3.032 F(w-)
+-.25 E(ing e)144 156 Q(xtensions:)-.15 E F2(%b)144 168 Q F0(causes)20.44
+E F2(printf)5.115 E F0 2.615(to e)5.115 F 2.615
+(xpand backslash escape sequences in the corresponding)-.15 F F1(ar)
+5.115 E(gument)-.37 E F0(\(e)180 180 Q .608(xcept that)-.15 F F2(\\c)
+3.108 E F0 .608(terminates output, backslashes in)3.108 F F2<5c08>3.108
+E F0(,)A F2(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F2(\\?)3.108 E F0 .608
+(are not remo)3.108 F -.15(ve)-.15 G .608(d, and octal).15 F(escapes be)
+180 192 Q(ginning with)-.15 E F2(\\0)2.5 E F0
+(may contain up to four digits\).)2.5 E F2(%q)144 204 Q F0(causes)20.44
+E F2(printf)2.51 E F0 .01(to output the corresponding)2.51 F F1(ar)2.51
+E(gument)-.37 E F0 .01(in a format that can be reused as shell)2.51 F
+(input.)180 216 Q F2(%\()144 228 Q F1(datefmt)A F2(\)T)A F0(causes)180
+240 Q F2(printf)4.403 E F0 1.904
+(to output the date-time string resulting from using)4.403 F F1(datefmt)
+4.404 E F0 1.904(as a format)4.404 F .381(string for)180 252 R F1
+(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F1(ar)
+2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
+(ger representing the number)-.15 F .457(of seconds since the epoch.)180
+264 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
+.458(alues may be used: -1 represents the)-.25 F
+(current time, and -2 represents the time the shell w)180 276 Q(as in)
+-.1 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 292.8 Q .464(guments to n\
+on-string format speci\214ers are treated as C constants, e)-.18 F .463
+(xcept that a leading plus or)-.15 F 1.258(minus sign is allo)144 304.8
+R 1.259
+(wed, and if the leading character is a single or double quote, the v)
+-.25 F 1.259(alue is the)-.25 F(ASCII v)144 316.8 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 333.6 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(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 F1(ar)144 345.6 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.533 F .033
(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 228 Q(The return v)5 E
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .034(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 357.6 Q(The return v)5 E
(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F2(pushd)
-108 244.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 256.8 Q F0([)2.5 E F2<ad6e>A F0
-2.5(][)C F1(dir)-2.5 E F0(])A .639(Adds a directory to the top of the d\
-irectory stack, or rotates the stack, making the ne)144 268.8 R 3.14(wt)
--.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 280.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 292.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 304.8 Q
-F2<ad6e>144 316.8 Q F0 .902(Suppresses the normal change of directory w\
+108 374.4 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)-2.5 E F1(n)A F0 2.5(][)C
+<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 386.4 Q F0([)2.5 E F2<ad6e>A F0
+2.5(][)C F1(dir)-2.5 E F0(])A .64(Adds a directory to the top of the di\
+rectory stack, or rotates the stack, making the ne)144 398.4 R 3.139(wt)
+-.25 G .639(op of the)-3.139 F 1.315(stack the current w)144 410.4 R
+1.315(orking directory)-.1 F 6.315(.W)-.65 G 1.315(ith no ar)-6.715 F
+1.315(guments, e)-.18 F 1.316(xchanges the top tw)-.15 F 3.816(od)-.1 G
+1.316(irectories and)-3.816 F .872
+(returns 0, unless the directory stack is empty)144 422.4 R 5.871(.A)
+-.65 G -.18(rg)-5.871 G .871(uments, if supplied, ha).18 F 1.171 -.15
+(ve t)-.2 H .871(he follo).15 F .871(wing mean-)-.25 F(ings:)144 434.4 Q
+F2<ad6e>144 446.4 Q F0 .902(Suppresses the normal change of directory w\
hen adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 328.8 Q F2(+)144 340.8 Q F1(n)A F0
-1.267(Rotates the stack so that the)25.3 F F1(n)3.767 E F0 1.268
-(th directory \(counting from the left of the list sho)B 1.268(wn by)
--.25 F F2(dirs)180 352.8 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F2<ad>144 364.8 Q F1(n)A F0
+(only the stack is manipulated.)180 458.4 Q F2(+)144 470.4 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)
+-.25 F F2(dirs)180 482.4 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F2<ad>144 494.4 Q F1(n)A F0
.92(Rotates the stack so that the)25.3 F F1(n)3.42 E F0 .92
(th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F2(dirs)180 376.8 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F1(dir)144.35 388.8 Q F0(Adds)23.98 E F1(dir)2.85 E F0
+F F2(dirs)180 506.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1(dir)144.35 518.4 Q F0(Adds)23.98 E F1(dir)2.85 E F0
(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 405.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 417.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
-429.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 441.6 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
-(ails.)-.1 E F2(pwd)108 458.4 Q F0([)2.5 E F2(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 470.4 R .845
-(orking directory)-.1 F 5.844(.T)-.65 G .844
-(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-482.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 .182(iltin command is).2 F 3.264
-(enabled. If)144 494.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 506.4 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 518.4 Q F2 -.18(re)108 535.2 S
-(ad).18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2<ad61>-3.817 E F1
-(aname)3.817 E F0 3.817(][)C F2<ad64>-3.817 E F1(delim)3.817 E F0 3.817
-(][)C F2<ad69>-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2<ad6e>
--3.817 E F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad4e>-3.816 E
-F1(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad70>-3.816 E F1(pr)
-3.816 E(ompt)-.45 E F0 3.816(][)C F2<ad74>-3.816 E F1(timeout)3.816 E F0
-3.816(][)C F2<ad75>-3.816 E F1(fd)3.816 E F0(])A([)108 547.2 Q F1(name)A
-F0(...])2.5 E .516(One line is read from the standard input, or from th\
-e \214le descriptor)144 559.2 R F1(fd)3.016 E F0 .516(supplied as an ar)
-3.016 F .516(gument to)-.18 F(the)144 571.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 583.2 R -.15(ve)-.15 G 2.92(rw).15 G .42
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .489(If the)144 535.2
+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 547.2 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 559.2
+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
+571.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F2(pwd)108
+588 Q F0([)2.5 E F2(\255LP)A F0(])A .844
+(Print the absolute pathname of the current w)144 600 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
+612 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 624 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\
+ reading the name of the current directory or an in)144 636 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 648 Q F2 -.18(re)108 664.8 S(ad)
+.18 E F0([)3.816 E F2(\255ers)A F0 3.816(][)C F2<ad61>-3.816 E F1(aname)
+3.816 E F0 3.816(][)C F2<ad64>-3.816 E F1(delim)3.816 E F0 3.816(][)C F2
+<ad69>-3.816 E F1(te)3.816 E(xt)-.2 E F0 3.816(][)C F2<ad6e>-3.816 E F1
+(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.817(][)C F2<ad4e>-3.817 E F1(nc)
+3.817 E(har)-.15 E(s)-.1 E F0 3.817(][)C F2<ad70>-3.817 E F1(pr)3.817 E
+(ompt)-.45 E F0 3.817(][)C F2<ad74>-3.817 E F1(timeout)3.817 E F0 3.817
+(][)C F2<ad75>-3.817 E F1(fd)3.817 E F0(])A([)108 676.8 Q F1(name)A F0
+(...])2.5 E .516(One line is read from the standard input, or from the \
+\214le descriptor)144 688.8 R F1(fd)3.016 E F0 .516(supplied as an ar)
+3.016 F .517(gument to)-.18 F(the)144 700.8 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(,).18 E .42
+(and so on, with lefto)144 712.8 R -.15(ve)-.15 G 2.92(rw).15 G .42
(ords and their interv)-3.02 F .42
(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 595.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 607.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
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .541(are fe)144 724.8 R .541(wer w)
+-.25 F .541(ords read from the input stream than names, the remaining n\
+ames are assigned empty)-.1 F(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(60)185.955 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 -.25(va)144 84 S 2.51(lues. The).25 F .011(characters in)2.511 F
+/F1 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
(are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
-(backslash character \()2.511 F F2(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
-(be used to remo)144 619.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
+(backslash character \()2.511 F/F2 10/Times-Bold@0 SF(\\)A F0 2.511(\)m)
+C(ay)-2.511 E 1.891(be used to remo)144 96 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
(xt character read and for line continuation.)-.15 F
-(Options, if supplied, ha)144 631.2 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F2<ad61>144 643.2 Q F1(aname)2.5 E F0 1.05(The w)
-180 655.2 R 1.049
+(Options, if supplied, ha)144 108 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad61>144 120 Q/F3 10/Times-Italic@0 SF(aname)
+2.5 E F0 1.049(The w)180 132 R 1.049
(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F1(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
-F1(aname)180.33 667.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 679.2 Q F1(delim)2.5 E
-F0(The \214rst character of)180 691.2 Q F1(delim)2.5 E F0
+-.25 E F3(aname)3.55 E F0 3.55(,s).18 G 1.05(tarting at 0.)-3.55 F F3
+(aname)180.33 144 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 F3(name)2.5 E F0(ar)2.5
+E(guments are ignored.)-.18 E F2<ad64>144 156 Q F3(delim)2.5 E F0
+(The \214rst character of)180 168 Q F3(delim)2.5 E F0
(is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F2<ad65>144 703.2 Q F0 .372
+F2<ad65>144 180 Q F0 .373
(If the standard input is coming from a terminal,)25.86 F F2 -.18(re)
-2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
--.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218
-(to obtain the line.)180 715.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 727.2 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(59)185.955 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<ad69>144 84 Q/F2 10/Times-Italic@0 SF(te)
-2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715 G(adline).18 E F0 .216
-(is being used to read the line,)2.715 F F2(te)2.716 E(xt)-.2 E F0 .216
-(is placed into the editing b)2.716 F(uf)-.2 E .216(fer before edit-)
--.25 F(ing be)180 96 Q(gins.)-.15 E F1<ad6e>144 108 Q F2(nc)2.5 E(har)
--.15 E(s)-.1 E F1 -.18(re)180 120 S(ad).18 E F0 1.395
-(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E F0 1.395
-(characters rather than w)3.895 F 1.394(aiting for a complete line of)
--.1 F(input, b)180 132 Q(ut honor a delimiter if fe)-.2 E(wer than)-.25
-E F2(nc)2.5 E(har)-.15 E(s)-.1 E F0
-(characters are read before the delimiter)2.5 E(.)-.55 E F1<ad4e>144 144
-Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 156 S(ad).18 E F0 1.269
-(returns after reading e)3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E
-(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.27
-(aiting for a complete)-.1 F .275
-(line of input, unless EOF is encountered or)180 168 R F1 -.18(re)2.775
-G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-)
-5.274 F 1.002
-(tered in the input are not treated specially and do not cause)180 180 R
-F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503
-E(har)-.15 E(s)-.1 E F0(characters are read.)180 192 Q F1<ad70>144 204 Q
-F2(pr)2.5 E(ompt)-.45 E F0(Display)180 216 Q F2(pr)3.661 E(ompt)-.45 E
-F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
+2.873 G(adline).18 E F0(\(see)2.873 E F1(READLINE)2.872 E F0(abo)2.622 E
+-.15(ve)-.15 G 2.872(\)i).15 G 2.872(su)-2.872 G(sed)-2.872 E .218
+(to obtain the line.)180 192 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 204 Q -.15(ve)-.25 G 2.5(\)e).15 G
+(diting settings.)-2.5 E F2<ad69>144 216 Q F3(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 F3(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 228 Q(gins.)-.15 E F2<ad6e>144 240 Q F3(nc)2.5 E(har)
+-.15 E(s)-.1 E F2 -.18(re)180 252 S(ad).18 E F0 1.394
+(returns after reading)3.894 F F3(nc)3.894 E(har)-.15 E(s)-.1 E F0 1.395
+(characters rather than w)3.894 F 1.395(aiting for a complete line of)
+-.1 F(input, b)180 264 Q(ut honor a delimiter if fe)-.2 E(wer than)-.25
+E F3(nc)2.5 E(har)-.15 E(s)-.1 E F0
+(characters are read before the delimiter)2.5 E(.)-.55 E F2<ad4e>144 276
+Q F3(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 288 S(ad).18 E F0 1.269
+(returns after reading e)3.77 F(xactly)-.15 E F3(nc)3.769 E(har)-.15 E
+(s)-.1 E F0 1.269(characters rather than w)3.769 F 1.269
+(aiting for a complete)-.1 F .274
+(line of input, unless EOF is encountered or)180 300 R F2 -.18(re)2.775
+G(ad).18 E F0 .275(times out.)2.775 F .275(Delimiter characters encoun-)
+5.275 F 1.003
+(tered in the input are not treated specially and do not cause)180 312 R
+F2 -.18(re)3.502 G(ad).18 E F0 1.002(to return until)3.502 F F3(nc)3.502
+E(har)-.15 E(s)-.1 E F0(characters are read.)180 324 Q F2<ad70>144 336 Q
+F3(pr)2.5 E(ompt)-.45 E F0(Display)180 348 Q F3(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 228 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
-(prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 240 Q F0 .543(Backslash does not act as an escape character)
-25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 252 Q(In particular)5 E 2.5(,ab)-.4 G
+-.25 F(an)180 360 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 372 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 384 Q(In particular)5 E 2.5(,ab)-.4 G
(ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 264 Q F0(Silent mode.)26.41 E
-(If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 276 Q F2(timeout)2.5 E F0(Cause)180 288 Q F1 -.18(re)3.549 G
-(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
-(ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 300 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
-(may be a decimal number with a fractional portion follo)3.496 F(wing)
--.25 E .576(the decimal point.)180 312 R .576(This option is only ef)
-5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
-(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141
-(pipe, or other special \214le; it has no ef)180 324 R .142
-(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.142 E
-F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 336 S(ad).18 E
-F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113
-(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113
-(ailure otherwise.)-2.713 F(The e)180 348 Q
+-.25 E F2<ad73>144 396 Q F0(Silent mode.)26.41 E
+(If input is coming from a terminal, characters are not echoed.)5 E F2
+<ad74>144 408 Q F3(timeout)2.5 E F0(Cause)180 420 Q F2 -.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 F3(timeout)
+180 432 Q F0(seconds.)3.497 E F3(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 444 R .576(This option is only ef)
+5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F2 -.18(re)3.076 G
+(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .142
+(pipe, or other special \214le; it has no ef)180 456 R .142
+(fect when reading from re)-.25 F .142(gular \214les.)-.15 F(If)5.141 E
+F3(timeout)2.641 E F0 .141(is 0,)2.641 F F2 -.18(re)180 468 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 480 Q
(xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
-E F1<ad75>144 360 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
-14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 376.8 R F2(names)3.051 E F0
-.191(are supplied, the line read is assigned to the v)2.961 F(ariable)
--.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF
-(.)A F0 .192(The return code is zero,)4.692 F 1.344
-(unless end-of-\214le is encountered,)144 388.8 R F1 -.18(re)3.844 G(ad)
+E F2<ad75>144 492 Q F3(fd)2.5 E F0(Read input from \214le descriptor)
+14.46 E F3(fd)2.5 E F0(.)A .192(If no)144 508.8 R F3(names)3.052 E F0
+.192(are supplied, the line read is assigned to the v)2.962 F(ariable)
+-.25 E F1(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 520.8 R F2 -.18(re)3.843 G(ad)
.18 E F0 1.343
-(times out \(in which case the return code is greater than)3.844 F
-(128\), or an in)144 400.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 417.6 S(adonly).18 E F0([)2.5 E F1
-(\255aA)A(pf)-.25 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
-F0 2.5(].)C(..])-2.5 E .77(The gi)144 429.6 R -.15(ve)-.25 G(n).15 E F2
-(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77
-(alues of these)-.25 F F2(names)3.63 E F0 .77
-(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 441.6 R
-1.097(If the)6.097 F 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 453.6 Q 3.334(ed. The)
--.1 F F1<ad61>3.334 E F0 .834(option restricts the v)3.334 F .834
+(times out \(in which case the return code is greater than)3.843 F
+(128\), or an in)144 532.8 Q -.25(va)-.4 G
+(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F2
+<ad75>2.5 E F0(.)A F2 -.18(re)108 549.6 S(adonly).18 E F0([)2.5 E F2
+(\255aAf)A F0 2.5(][)C F2<ad70>-2.5 E F0 2.5(][)C F3(name)-2.5 E F0([=)A
+F3(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77(The gi)144 561.6 R -.15(ve)
+-.25 G(n).15 E F3(names)3.27 E F0 .77(are mark)3.27 F .77
+(ed readonly; the v)-.1 F .77(alues of these)-.25 F F3(names)3.63 E F0
+.77(may not be changed by subse-)3.54 F 1.096(quent assignment.)144
+573.6 R 1.096(If the)6.096 F F2<ad66>3.596 E F0 1.097
+(option is supplied, the functions corresponding to the)3.596 F F3
+(names)3.597 E F0 1.097(are so)3.597 F(mark)144 585.6 Q 3.334(ed. The)
+-.1 F F2<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 465.6 R .838 -.15(ve a)-.25 H 3.038
-(rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538
-(guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70>
-3.038 E F0 .537(option is supplied, a list)3.038 F .08
-(of all readonly names is printed.)144 477.6 R(The)5.08 E 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 489.6 R 1.177(If a v)6.177 F 1.176
-(ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0
-3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176
-(ariable is set to)-.25 F F2(wor)144 501.6 Q(d)-.37 E F0 6.205(.T)C
-1.205(he return status is 0 unless an in)-6.205 F -.25(va)-.4 G 1.206
-(lid option is encountered, one of the).25 F F2(names)4.066 E F0 1.206
-(is not a)3.976 F -.25(va)144 513.6 S(lid shell v).25 E
-(ariable name, or)-.25 E 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 530.4 S
-(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587
-(Causes a function to e)144 542.4 R .587(xit with the return v)-.15 F
-.587(alue speci\214ed by)-.25 F F2(n)3.087 E F0 5.587(.I).24 G(f)-5.587
-E F2(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335
-(that of the last command e)144 554.4 R -.15(xe)-.15 G 1.335
+-3.334 F F2<ad41>3.334 E F0 .834(option restricts the v)3.334 F(ari-)
+-.25 E .776(ables to associati)144 597.6 R 1.076 -.15(ve a)-.25 H 3.276
+(rrays. If).15 F .777(both options are supplied,)3.276 F F2<ad41>3.277 E
+F0(tak)3.277 E .777(es precedence.)-.1 F .777(If no)5.777 F F3(name)
+3.637 E F0(ar)3.457 E(gu-)-.18 E .522(ments are gi)144 609.6 R -.15(ve)
+-.25 G .521(n, or if the).15 F F2<ad70>3.021 E F0 .521
+(option is supplied, a list of all readonly names is printed.)3.021 F
+.521(The other)5.521 F .295(options may be used to restrict the output \
+to a subset of the set of readonly names.)144 621.6 R(The)5.296 E F2
+<ad70>2.796 E F0(option)2.796 E .786
+(causes output to be displayed in a format that may be reused as input.)
+144 633.6 R .786(If a v)5.786 F .785(ariable name is fol-)-.25 F(lo)144
+645.6 Q .717(wed by =)-.25 F F3(wor)A(d)-.37 E F0 3.218(,t)C .718(he v)
+-3.218 F .718(alue of the v)-.25 F .718(ariable is set to)-.25 F F3(wor)
+3.218 E(d)-.37 E F0 5.718(.T)C .718(he return status is 0 unless an in)
+-5.718 F -.25(va)-.4 G(lid).25 E .26(option is encountered, one of the)
+144 657.6 R F3(names)3.12 E F0 .26(is not a v)3.03 F .26(alid shell v)
+-.25 F .26(ariable name, or)-.25 F F2<ad66>2.76 E F0 .26
+(is supplied with a)2.76 F F3(name)144.36 669.6 Q F0
+(that is not a function.)2.68 E F2 -.18(re)108 686.4 S(tur).18 E(n)-.15
+E F0([)2.5 E F3(n)A F0(])A .586(Causes a function to e)144 698.4 R .587
+(xit with the return v)-.15 F .587(alue speci\214ed by)-.25 F F3(n)3.087
+E F0 5.587(.I).24 G(f)-5.587 E F3(n)3.447 E F0 .587
+(is omitted, the return status is)3.327 F 1.335
+(that of the last command e)144 710.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 566.4 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
-5.794 E F1(sour)A(ce)-.18 E F0 3.294(\)c)C .794
-(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .794
-(cuting that script).15 F .245(and return either)144 578.4 R F2(n)3.105
-E F0 .246(or the e)2.985 F .246(xit status of the last command e)-.15 F
--.15(xe)-.15 G .246(cuted within the script as the e).15 F .246
-(xit sta-)-.15 F .082(tus of the script.)144 590.4 R .082
-(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
-(cution of a script by).15 F F1(.)2.582 E F0 2.581(,t).833 G .081
-(he return sta-)-2.581 F 2.305(tus is f)144 602.4 R 4.805(alse. An)-.1 F
-4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN)
-4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
-.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
-144 614.4 Q F1(set)108 631.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 643.2 Q F0
-([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)-2.5 E F2(option)
-2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E -.4(Wi)144 655.2 S
-.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
-.835(ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 667.2
-R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .784
-(riables cannot be).25 F 2.947(reset. In)144 679.2 R F2 .447(posix mode)
-2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
-(ariables are listed.)-.25 F .447
-(The output is sorted according to the current)5.447 F 3.53
-(locale. When)144 691.2 R 1.031(options are speci\214ed, the)3.53 F
-3.531(ys)-.15 G 1.031(et or unset shell attrib)-3.531 F 3.531(utes. An)
--.2 F 3.531(ya)-.15 G -.18(rg)-3.531 G 1.031(uments remaining).18 F
-1.624(after option processing are treated as v)144 703.2 R 1.623
-(alues for the positional parameters and are assigned, in)-.25 F(order)
-144 715.2 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
-F1 2.5(... $)2.5 F F2(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
--.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E(GNU Bash-4.1)72 768
-Q(2009 December 29)135.965 E(60)185.955 E 0 Cg EP
-%%Page: 61 61
+144 722.4 S .794(cution of a script by the).15 F F2(.)3.294 E F0(\()
+5.794 E F2(sour)A(ce)-.18 E F0 3.294(\)c)C .794
+(ommand, it causes the shell to stop e)-3.294 F -.15(xe)-.15 G .795
+(cuting that script).15 F(GNU Bash-4.2)72 768 Q(2010 December 28)135.965
+E(61)185.955 E 0 Cg EP
+%%Page: 62 62
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad61>144 84 Q F0 .539(Automatically mark v)
-29.3 F .539
-(ariables and functions which are modi\214ed or created for e)-.25 F .54
-(xport to)-.15 F(the en)184 96 Q(vironment of subsequent commands.)-.4 E
-F1<ad62>144 108 Q F0 .132
+-.35 E .246(and return either)144 84 R/F1 10/Times-Italic@0 SF(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 96 R .082
+(If used outside a function and not during e)5.082 F -.15(xe)-.15 G .082
+(cution of a script by).15 F/F2 10/Times-Bold@0 SF(.)2.582 E F0 2.582
+(,t).833 G .082(he return sta-)-2.582 F 2.306(tus is f)144 108 R 4.806
+(alse. An)-.1 F 4.806(yc)-.15 G 2.305(ommand associated with the)-4.806
+F F2(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 120 Q F2(set)108 136.8 Q F0
+([)2.5 E F2(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2<ad6f>-2.5 E F1
+(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0(...])2.5 E F2
+(set)108 148.8 Q F0([)2.5 E F2(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F2(+o)
+-2.5 E F1(option\255name)2.5 E F0 2.5(][)C F1(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 160.8 S .835(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .836
+(ariable are displayed in a format that can be)-.25 F .784
+(reused as input for setting or resetting the currently-set v)144 172.8
+R 3.284(ariables. Read-only)-.25 F -.25(va)3.284 G .783
+(riables cannot be).25 F 2.946(reset. In)144 184.8 R F1 .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.531
+(locale. When)144 196.8 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 208.8 R 1.624
+(alues for the positional parameters and are assigned, in)-.25 F(order)
+144 220.8 Q 2.5(,t)-.4 G(o)-2.5 E F2($1)2.5 E F0(,)A F2($2)2.5 E F0(,)A
+F2 2.5(... $)2.5 F F1(n)A F0 5(.O)C(ptions, if speci\214ed, ha)-5 E .3
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F2<ad61>144 232.8 Q
+F0 .54(Automatically mark v)29.3 F .539
+(ariables and functions which are modi\214ed or created for e)-.25 F
+.539(xport to)-.15 F(the en)184 244.8 Q
+(vironment of subsequent commands.)-.4 E F2<ad62>144 256.8 Q F0 .131
(Report the status of terminated background jobs immediately)28.74 F
-2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 120 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 132 Q F0 .51
-(Exit immediately if a)29.86 F/F2 10/Times-Italic@0 SF(pipeline)3.01 E
-F0 .511(\(which may consist of a single)3.011 F F2 .511(simple command)
-3.011 F F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 144 Q F0 .872
-(command enclosed in parentheses, or one of the commands e)3.373 F -.15
+2.632(,r)-.65 G .132(ather than before the ne)-2.632 F(xt)-.15 E
+(primary prompt.)184 268.8 Q(This is ef)5 E(fecti)-.25 E .3 -.15(ve o)
+-.25 H(nly when job control is enabled.).15 E F2<ad65>144 280.8 Q F0
+.511(Exit immediately if a)29.86 F F1(pipeline)3.011 E F0 .511
+(\(which may consist of a single)3.011 F F1 .51(simple command)3.01 F F0
+3.01(\), a)B F1(sub-)3.01 E(shell)184 292.8 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 156 R/F3 9/Times-Bold@0 SF
+(command list enclosed by braces \(see)184 304.8 R/F3 9/Times-Bold@0 SF
.399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G
-.399(xits with a non-zero)-3.049 F 3.969(status. The)184 168 R 1.468
-(shell does not e)3.969 F 1.468(xit if the command that f)-.15 F 1.468
-(ails is part of the command list)-.1 F .569(immediately follo)184 180 R
-.569(wing a)-.25 F F1(while)3.069 E F0(or)3.069 E F1(until)3.069 E F0
--.1(ke)3.069 G(yw)-.05 E .569(ord, part of the test follo)-.1 F .57
-(wing the)-.25 F F1(if)3.07 E F0(or)3.07 E F1(elif)3.07 E F0(reserv)184
-192 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G .544
-(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044 E F0
-(or)3.044 E/F4 10/Symbol SF<efef>3.044 E F0 .544(list e)3.044 F .544
-(xcept the command)-.15 F(follo)184 204 Q 1.23(wing the \214nal)-.25 F
-F1(&&)3.73 E F0(or)3.73 E F4<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 216 Q 3.191(sr)-.55 G .691
-(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691
-(rted with).15 F F1(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F1(ERR)
-3.19 E F0 3.19(,i)C 3.19(fs)-3.19 G .69(et, is e)-3.19 F -.15(xe)-.15 G
-.69(cuted before).15 F .686(the shell e)184 228 R 3.186(xits. This)-.15
-F .686(option applies to the shell en)3.186 F .686
-(vironment and each subshell en)-.4 F(viron-)-.4 E .068
-(ment separately \(see)184 240 R F3 .068(COMMAND EXECUTION ENVIR)2.568 F
-(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15
-F(subshells to e)184 252 Q(xit before e)-.15 E -.15(xe)-.15 G
-(cuting all the commands in the subshell.).15 E F1<ad66>144 264 Q F0
-(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 276 Q F0 2.238
-(Remember the location of commands as the)28.74 F 4.738(ya)-.15 G 2.239
-(re look)-4.738 F 2.239(ed up for e)-.1 F -.15(xe)-.15 G 4.739
-(cution. This).15 F(is)4.739 E(enabled by def)184 288 Q(ault.)-.1 E F1
-<ad6b>144 300 Q F0 .514(All ar)28.74 F .514
+.399(xits with a non-zero)-3.049 F 3.968(status. The)184 316.8 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 328.8
+R .57(wing a)-.25 F F2(while)3.07 E F0(or)3.07 E F2(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 F2(if)3.069 E F0(or)3.069 E F2(elif)3.069 E F0(reserv)
+184 340.8 Q .909(ed w)-.15 F .909(ords, part of an)-.1 F 3.409(yc)-.15 G
+.909(ommand e)-3.409 F -.15(xe)-.15 G .909(cuted in a).15 F F2(&&)3.409
+E F0(or)3.409 E F2(||)3.41 E F0 .91(list e)3.41 F .91(xcept the command)
+-.15 F(follo)184 352.8 Q .05(wing the \214nal)-.25 F F2(&&)2.55 E F0(or)
+2.55 E F2(||)2.55 E F0 2.55(,a)C .35 -.15(ny c)-2.55 H .049
+(ommand in a pipeline b).15 F .049(ut the last, or if the command')-.2 F
+(s)-.55 E .372(return v)184 364.8 R .372(alue is being in)-.25 F -.15
+(ve)-.4 G .372(rted with).15 F F2(!)2.872 E F0 5.372(.A)C .372(trap on)
+-2.5 F F2(ERR)2.872 E F0 2.872(,i)C 2.873(fs)-2.872 G .373(et, is e)
+-2.873 F -.15(xe)-.15 G .373(cuted before the shell).15 F -.15(ex)184
+376.8 S 2.897(its. This).15 F .397(option applies to the shell en)2.897
+F .396(vironment and each subshell en)-.4 F .396(vironment sepa-)-.4 F
+.19(rately \(see)184 388.8 R F3 .19(COMMAND EXECUTION ENVIR)2.69 F
+(ONMENT)-.27 E F0(abo)2.44 E -.15(ve)-.15 G .19
+(\), and may cause subshells).15 F(to e)184 400.8 Q(xit before e)-.15 E
+-.15(xe)-.15 G(cuting all the commands in the subshell.).15 E F2<ad66>
+144 412.8 Q F0(Disable pathname e)30.97 E(xpansion.)-.15 E F2<ad68>144
+424.8 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 436.8 Q(ault.)-.1
+E F2<ad6b>144 448.8 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
-(command, not just those that precede the command name.)184 312 Q F1
-<ad6d>144 324 Q F0 .148(Monitor mode.)25.97 F .148
-(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
-.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637
-(on systems that support it \(see)184 336 R F3 .636(JOB CONTR)3.136 F
-(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .636
-(processes run in a)3.136 F .641
-(separate process group and a line containing their e)184 348 R .642
-(xit status is printed upon their com-)-.15 F(pletion.)184 360 Q F1
-<ad6e>144 372 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F
--.15(xe)-.15 G .653(cute them.).15 F .652
-(This may be used to check a shell script for)5.653 F(syntax errors.)184
-384 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1<ad6f>144 396 Q F2(option\255name)2.5 E F0(The)184 408 Q F2
-(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F1
-(allexport)184 420 Q F0(Same as)224 432 Q F1<ad61>2.5 E F0(.)A F1
-(braceexpand)184 444 Q F0(Same as)224 456 Q F1<ad42>2.5 E F0(.)A F1
-(emacs)184 468 Q F0 .089(Use an emacs-style command line editing interf)
-13.9 F 2.589(ace. This)-.1 F .089(is enabled by def)2.589 F(ault)-.1 E
-.95(when the shell is interacti)224 480 R -.15(ve)-.25 G 3.45(,u).15 G
-.95(nless the shell is started with the)-3.45 F F1(\255\255noediting)
-3.45 E F0 2.5(option. This)224 492 R(also af)2.5 E
-(fects the editing interf)-.25 E(ace used for)-.1 E F1 -.18(re)2.5 G
-(ad \255e).18 E F0(.)A F1(err)184 504 Q(exit)-.18 E F0(Same as)11.31 E
-F1<ad65>2.5 E F0(.)A F1(errtrace)184 516 Q F0(Same as)5.03 E F1<ad45>2.5
-E F0(.)A F1(functrace)184 528 Q F0(Same as)224 540 Q F1<ad54>2.5 E F0(.)
-A F1(hashall)184 552 Q F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1
-(histexpand)184 564 Q F0(Same as)224 576 Q F1<ad48>2.5 E F0(.)A F1
-(history)184 588 Q F0 .586(Enable command history)10 F 3.087(,a)-.65 G
-3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder)
-.15 E F3(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F5 9/Times-Roman@0 SF(.)A F0
-.587(This option is)5.087 F(on by def)224 600 Q(ault in interacti)-.1 E
-.3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184 612 Q(eeof)-.18 E F0 1.657
-(The ef)224 624 R 1.657(fect is as if the shell command)-.25 F/F6 10
-/Courier@0 SF(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)
--.15 G(cuted).15 E(\(see)224 636 Q F1(Shell V)2.5 E(ariables)-.92 E F0
-(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1 -.1(ke)184 648 S(yw).1 E(ord)-.1
-E F0(Same as)224 660 Q F1<ad6b>2.5 E F0(.)A F1(monitor)184 672 Q F0
-(Same as)5.56 E F1<ad6d>2.5 E F0(.)A F1(noclob)184 684 Q(ber)-.1 E F0
-(Same as)224 696 Q F1<ad43>2.5 E F0(.)A F1(noexec)184 708 Q F0(Same as)
-11.12 E F1<ad6e>2.5 E F0(.)A(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(61)185.955 E 0 Cg EP
-%%Page: 62 62
+F .514(vironment for a)-.4 F
+(command, not just those that precede the command name.)184 460.8 Q F2
+<ad6d>144 472.8 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 484.8 R F3 .636(JOB CONTR)3.136 F
+(OL)-.27 E F0(abo)2.886 E -.15(ve)-.15 G 3.136(\). Background).15 F .637
+(processes run in a)3.136 F .642
+(separate process group and a line containing their e)184 496.8 R .641
+(xit status is printed upon their com-)-.15 F(pletion.)184 508.8 Q F2
+<ad6e>144 520.8 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
+532.8 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15
+E F2<ad6f>144 544.8 Q F1(option\255name)2.5 E F0(The)184 556.8 Q F1
+(option\255name)2.5 E F0(can be one of the follo)2.5 E(wing:)-.25 E F2
+(allexport)184 568.8 Q F0(Same as)224 580.8 Q F2<ad61>2.5 E F0(.)A F2
+(braceexpand)184 592.8 Q F0(Same as)224 604.8 Q F2<ad42>2.5 E F0(.)A F2
+(emacs)184 616.8 Q F0 .089
+(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
+-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
+(when the shell is interacti)224 628.8 R -.15(ve)-.25 G 3.45(,u).15 G
+.95(nless the shell is started with the)-3.45 F F2(\255\255noediting)
+3.45 E F0 2.5(option. This)224 640.8 R(also af)2.5 E
+(fects the editing interf)-.25 E(ace used for)-.1 E F2 -.18(re)2.5 G
+(ad \255e).18 E F0(.)A F2(err)184 652.8 Q(exit)-.18 E F0(Same as)11.31 E
+F2<ad65>2.5 E F0(.)A F2(errtrace)184 664.8 Q F0(Same as)5.03 E F2<ad45>
+2.5 E F0(.)A F2(functrace)184 676.8 Q F0(Same as)224 688.8 Q F2<ad54>2.5
+E F0(.)A F2(hashall)184 700.8 Q F0(Same as)9.43 E F2<ad68>2.5 E F0(.)A
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(62)185.955 E 0 Cg EP
+%%Page: 63 63
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(noglob)184 84 Q F0(Same as)11.1 E F1<ad66>
-2.5 E F0(.)A F1(nolog)184 96 Q F0(Currently ignored.)16.66 E F1(notify)
-184 108 Q F0(Same as)15 E F1<ad62>2.5 E F0(.)A F1(nounset)184 120 Q F0
-(Same as)6.66 E F1<ad75>2.5 E F0(.)A F1(onecmd)184 132 Q F0(Same as)6.67
-E F1<ad74>2.5 E F0(.)A F1(ph)184 144 Q(ysical)-.15 E F0(Same as)5.14 E
-F1<ad50>2.5 E F0(.)A F1(pipefail)184 156 Q F0 1.029
-(If set, the return v)7.77 F 1.029(alue of a pipeline is the v)-.25 F
-1.03(alue of the last \(rightmost\) com-)-.25 F 1.137(mand to e)224 168
-R 1.136
+-.35 E/F1 10/Times-Bold@0 SF(histexpand)184 84 Q F0(Same as)224 96 Q F1
+<ad48>2.5 E F0(.)A F1(history)184 108 Q F0 .587(Enable command history)
+10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587(escribed abo)-3.087 F .887
+-.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E
+(Y)-.315 E/F3 9/Times-Roman@0 SF(.)A F0 .587(This option is)5.087 F
+(on by def)224 120 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(ignor)184 132 Q(eeof)-.18 E F0 1.656(The ef)224 144 R 1.656
+(fect is as if the shell command)-.25 F/F4 10/Courier@0 SF(IGNOREEOF=10)
+4.157 E F0 1.657(had been e)4.157 F -.15(xe)-.15 G(cuted).15 E(\(see)224
+156 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 168 S(yw).1 E(ord)-.1 E F0(Same as)224 180 Q F1
+<ad6b>2.5 E F0(.)A F1(monitor)184 192 Q F0(Same as)5.56 E F1<ad6d>2.5 E
+F0(.)A F1(noclob)184 204 Q(ber)-.1 E F0(Same as)224 216 Q F1<ad43>2.5 E
+F0(.)A F1(noexec)184 228 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
+(noglob)184 240 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
+252 Q F0(Currently ignored.)16.66 E F1(notify)184 264 Q F0(Same as)15 E
+F1<ad62>2.5 E F0(.)A F1(nounset)184 276 Q F0(Same as)6.66 E F1<ad75>2.5
+E F0(.)A F1(onecmd)184 288 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
+(ph)184 300 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
+(pipefail)184 312 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 324 R
+1.136
(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 180 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 192 Q F0
-2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
+-.15 F -.15(ex)224 336 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 348 Q 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 204 Q
-/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 216 Q(vileged)
--.1 E F0(Same as)224 228 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 240 S
-(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 252 Q F0
-1.466(Use a vi-style command line editing interf)32.22 F 3.965
-(ace. This)-.1 F 1.465(also af)3.965 F 1.465(fects the editing)-.25 F
-(interf)224 264 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
-(.)A F1(xtrace)184 276 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
-294 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2
-(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
-(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
-306 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
-3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
-(commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 318 Q F1<ad70>
-144 330 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
-(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
-/F3 9/Times-Bold@0 SF($ENV)3.572 E F0(and)3.322 E F3($B)3.572 E(ASH_ENV)
--.27 E F0 1.072(\214les are not pro-)3.322 F 1.501
-(cessed, shell functions are not inherited from the en)184 342 R 1.5
-(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
--.27(BA)184 354 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
-.855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G
-.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 366 R .38
-(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
--.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 378 R F1<ad70>2.961 E F0 .461
-(option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 390 Q .695 -.15(ve u)-.25 H .395
+(fers from the)-.25 F(POSIX standard to match the standard \()224 360 Q
+/F5 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 372 Q(vileged)
+-.1 E F0(Same as)224 384 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 396 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 408 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 420 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 432 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+450 Q F1<ad6f>3.053 E F0 .553(is supplied with no)3.053 F F5
+(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .552
+(alues of the current options are printed.)-.25 F(If)5.552 E F1(+o)184
+462 Q F0 1.071(is supplied with no)3.571 F F5(option\255name)3.571 E F0
+3.571(,as)C 1.071(eries of)-3.571 F F1(set)3.572 E F0 1.072
+(commands to recreate the current)3.572 F
+(option settings is displayed on the standard output.)184 474 Q F1<ad70>
+144 486 Q F0 -.45(Tu)28.74 G 1.072(rn on).45 F F5(privile)4.822 E -.1
+(ge)-.4 G(d).1 E F0 3.572(mode. In)4.342 F 1.072(this mode, the)3.572 F
+F2($ENV)3.572 E F0(and)3.322 E F2($B)3.572 E(ASH_ENV)-.27 E F0 1.071
+(\214les are not pro-)3.322 F 1.5
+(cessed, shell functions are not inherited from the en)184 498 R 1.501
+(vironment, and the)-.4 F F2(SHELLOPTS)4.001 E F3(,)A F2 -.27(BA)184 510
+S(SHOPTS).27 E F3(,)A F2(CDP)2.775 E -.855(AT)-.666 G(H).855 E F3(,)A F0
+(and)2.775 E F2(GLOBIGNORE)3.025 E F0 -.25(va)2.775 G .524
+(riables, if the).25 F 3.024(ya)-.15 G .524(ppear in the en)-3.024 F
+(vironment,)-.4 E .379(are ignored.)184 522 R .379
+(If the shell is started with the ef)5.379 F(fecti)-.25 E .679 -.15
+(ve u)-.25 H .38(ser \(group\) id not equal to the real).15 F .462
+(user \(group\) id, and the)184 534 R F1<ad70>2.961 E F0 .461
+(option is not supplied, these actions are tak)2.961 F .461
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 546 Q .694 -.15(ve u)-.25 H .394
(ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
-2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 402 R -.45(Tu)5.386 G
-.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
-F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(set to the real user and group ids.)184 414 Q F1<ad74>144 426 Q F0
+2.895 E F0 .395(option is supplied at startup, the ef)2.895 F(fecti)-.25
+E -.15(ve)-.25 G .387(user id is not reset.)184 558 R -.45(Tu)5.387 G
+.387(rning this option of).45 F 2.886(fc)-.25 G .386(auses the ef)-2.886
+F(fecti)-.25 E .686 -.15(ve u)-.25 H .386(ser and group ids to be).15 F
+(set to the real user and group ids.)184 570 Q F1<ad74>144 582 Q F0
(Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
-E F1<ad75>144 438 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
+E F1<ad75>144 594 Q F0 -.35(Tr)28.74 G .043(eat unset v).35 F .044(aria\
bles and parameters other than the special parameters "@" and "*" as an)
--.25 F .182(error when performing parameter e)184 450 R 2.682
-(xpansion. If)-.15 F -.15(ex)2.682 G .183
+-.25 F .183(error when performing parameter e)184 606 R 2.683
+(xpansion. If)-.15 F -.15(ex)2.683 G .182
(pansion is attempted on an unset v).15 F(ari-)-.25 E .746
-(able or parameter)184 462 R 3.246(,t)-.4 G .746
+(able or parameter)184 618 R 3.246(,t)-.4 G .746
(he shell prints an error message, and, if not interacti)-3.246 F -.15
(ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
-474 Q F1<ad76>144 486 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 498 Q F0 .315(After e)29.3 F .315
-(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
+630 Q F1<ad76>144 642 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 654 Q F0 .315(After e)29.3 F .315
+(xpanding each)-.15 F F5 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
-F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 510 R F1
+F1(select)2.815 E F0(command,)2.815 E 1.235(or arithmetic)184 666 R F1
-.25(fo)3.736 G(r).25 E F0 1.236(command, display the e)3.736 F 1.236
-(xpanded v)-.15 F 1.236(alue of)-.25 F F3(PS4)3.736 E F4(,)A F0(follo)
-3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 522 Q
+(xpanded v)-.15 F 1.236(alue of)-.25 F F2(PS4)3.736 E F3(,)A F0(follo)
+3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 678 Q
(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 534 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+<ad42>144 690 Q F0 2.579(The shell performs brace e)27.63 F 2.578
(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 546 Q
-(ault.)-.1 E F1<ad43>144 558 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
-F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
+-.15(ve)-.15 G 5.078(\). This).15 F 2.578(is on by)5.078 F(def)184 702 Q
+(ault.)-.1 E F1<ad43>144 714 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
(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
-2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 570 R .553(may be o)3.053 F -.15(ve)-.15 G .553
-(rridden when creating output \214les by using the redirection opera-)
-.15 F(tor)184 582 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 594 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
--2.604 F F1(ERR)2.604 E F0 .103
-(is inherited by shell functions, command substitutions, and com-)2.604
-F .838(mands e)184 606 R -.15(xe)-.15 G .838(cuted in a subshell en).15
-F 3.338(vironment. The)-.4 F F1(ERR)3.338 E F0 .839
-(trap is normally not inherited in)3.339 F(such cases.)184 618 Q F1
-<ad48>144 630 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
-(style history substitution.)5.532 F .531(This option is on by def)5.532
-F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 642 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 654 Q F0 1.164
+2.714(,a)C(nd)-2.714 E F1(<>)2.714 E F0 .214(redirection opera-)2.714 F
+5.436(tors. This)184 726 R 2.936(may be o)5.436 F -.15(ve)-.15 G 2.936
+(rridden when creating output \214les by using the redirection).15 F
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(63)185.955 E 0 Cg EP
+%%Page: 64 64
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(operator)184 84 Q/F1 10/Times-Bold@0 SF(>|)2.5 E F0(instead of)
+2.5 E F1(>)2.5 E F0(.)A F1<ad45>144 96 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 108 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 120 Q F1
+<ad48>144 132 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 144 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 156 Q F0 1.165
(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
-(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
-(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 666 R 2.822(orking directory)-.1 F 7.822
-(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 678 R(def)2.685
+(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.164
+(cuting commands such as).15 F F1(cd)3.664 E F0 2.821
+(that change the current w)184 168 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 180 R(def)2.686
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 690 Q(.)-.65 E F1<ad54>144
-702 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 192 Q(.)-.65 E F1<ad54>144
+204 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 714 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 216 R -.15(xe)-.15 G 1.932
(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 726 Q F0
-(traps are normally not inherited in such cases.)2.5 E(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(62)185.955 E 0 Cg EP
-%%Page: 63 63
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<adad>144 84 Q F0 .401(If no ar)28.6 F .401
-(guments follo)-.18 F 2.901(wt)-.25 G .401
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 228 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 240 Q
+F0 .4(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
(his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 96 Q/F2
-10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5(ni)
-.15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>2.5 E
-F0(.)A F1<ad>144 108 Q F0 1.944
+(Otherwise,)5.401 E(the positional parameters are set to the)184 252 Q
+/F2 10/Times-Italic@0 SF(ar)2.5 E(g)-.37 E F0(s, e)A -.15(ve)-.25 G 2.5
+(ni).15 G 2.5(fs)-2.5 G(ome of them be)-2.5 E(gin with a)-.15 E F1<ad>
+2.5 E F0(.)A F1<ad>144 264 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.445(ea)-4.444 G 1.945
-(ssigned to the positional)-4.445 F 3.446(parameters. The)184 120 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 132 Q .425(The options are of)144
-148.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+-.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 276 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
+(parameters remain unchanged.)184 288 Q .425(The options are of)144
+304.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
(ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 160.8 R 2.678(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F .177
+(to be turned of)144 316.8 R 2.677(f. The)-.25 F .178
(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
--.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 172.8 R F1<24ad>2.566 E F0
+-.18 F -.2(vo)-.4 G .178(cation of the shell.).2 F(The)5.178 E .066
+(current set of options may be found in)144 328.8 R F1<24ad>2.566 E F0
5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
-(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
-(is encountered.)144 184.8 Q F1(shift)108 201.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 213.6 R F2(n)2.929 E F0
-.429(+1 ... are renamed to)B F1 .429($1 ....)2.929 F F0 -.15(Pa)5.428 G
-.428(rameters represented by the num-).15 F(bers)144 225.6 Q F1($#)2.582
-E F0(do)2.582 E .082(wn to)-.25 F F1($#)2.582 E 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 237.6 R(If)5.06 E F2(n)2.92 E F0
+(ys true unless an in).1 F -.25(va)-.4 G .066(lid option).25 F
+(is encountered.)144 340.8 Q F1(shift)108 357.6 Q F0([)2.5 E F2(n)A F0
+(])A .428(The positional parameters from)144 369.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 381.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
+(is 0, no parameters are changed.)144 393.6 R(If)5.06 E F2(n)2.92 E F0
.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 249.6 R
-.144(The return status is greater than zero if)5.143 F F2(n)3.004 E F0
-.144(is greater than)2.884 F F1($#)2.644 E F0
-(or less than zero; otherwise 0.)144 261.6 Q F1(shopt)108 278.4 Q F0([)
+(,t)C(he)-2.56 E .144(positional parameters are not changed.)144 405.6 R
+.144(The return status is greater than zero if)5.144 F F2(n)3.003 E F0
+.143(is greater than)2.883 F F1($#)2.643 E F0
+(or less than zero; otherwise 0.)144 417.6 Q F1(shopt)108 434.4 Q F0([)
2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 290.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 446.4 S .222(ggle the v).8 F .222
(alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
(vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
<ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 302.4 R(The)
-144 314.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
-d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 326.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 338.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 350.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 362.4 Q F0 .003(Suppresses normal out\
+ed, with an indication of whether or not each is set.)144 458.4 R(The)
+144 470.4 Q F1<ad70>2.827 E F0 .327(option causes output to be displaye\
+d in a form that may be reused as input.)2.827 F .328(Other options)
+5.328 F(ha)144 482.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 494.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 506.4 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 518.4 Q F0 .003(Suppresses normal out\
put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 374.4 R .256
-(If multiple)5.256 F F2(optname)2.756 E F0(ar)2.756 E .256
+(optname)2.503 E F0(is)2.503 E .255(set or unset.)180 530.4 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.755(,t)C .255(he return status is zero if)-2.755 F
-(all)180 386.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E F1<ad6f>144 398.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+<ad71>2.756 E F0 2.756(,t)C .256(he return status is zero if)-2.756 F
+(all)180 542.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 554.4 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
(optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
-(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127
-(If either)144 415.2 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 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 571.2 R F1<ad73>2.628 E F0(or)2.628 E F1<ad75>2.628 E F0
.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
-(guments, the display is limited to those options which)-.18 F 1.024
-(are set or unset, respecti)144 427.2 R -.15(ve)-.25 G(ly).15 E 6.024
-(.U)-.65 G 1.024(nless otherwise noted, the)-6.024 F F1(shopt)3.523 E F0
-1.023(options are disabled \(unset\) by)3.523 F(def)144 439.2 Q(ault.)
+(guments, the display is limited to those options which)-.18 F 1.023
+(are set or unset, respecti)144 583.2 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 595.2 Q(ault.)
-.1 E 1.544(The return status when listing options is zero if all)144
-456 R F2(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)
-4.045 F .696
+612 R F2(optnames)4.044 E F0 1.544(are enabled, non-zero otherwise.)
+4.044 F .696
(When setting or unsetting options, the return status is zero unless an)
-144 468 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695(alid shell)
--.25 F(option.)144 480 Q(The list of)144 496.8 Q F1(shopt)2.5 E F0
-(options is:)2.5 E F1(autocd)144 514.8 Q F0 .199
+144 624 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .696(alid shell)
+-.25 F(option.)144 636 Q(The list of)144 652.8 Q F1(shopt)2.5 E F0
+(options is:)2.5 E F1(autocd)144 670.8 Q F0 .2
(If set, a command name that is the name of a directory is e)11.11 F
--.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 526.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+-.15(xe)-.15 G .199(cuted as if it were the ar).15 F(gu-)-.18 E
+(ment to the)184 682.8 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
(option is only used by interacti)2.5 E .3 -.15(ve s)-.25 H(hells.).15 E
-F1(cdable_v)144 538.8 Q(ars)-.1 E F0 .156(If set, an ar)184 550.8 R .156
-(gument to the)-.18 F F1(cd)2.656 E F0 -.2(bu)2.656 G .155
+F1(cdable_v)144 694.8 Q(ars)-.1 E F0 .155(If set, an ar)184 706.8 R .155
+(gument to the)-.18 F F1(cd)2.655 E F0 -.2(bu)2.655 G .156
(iltin command that is not a directory is assumed to be the).2 F
-(name of a v)184 562.8 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 574.8 Q F0
-1.055
-(If set, minor errors in the spelling of a directory component in a)
-10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 586.8 R 1.488(errors check)3.988 F 1.487
-(ed for are transposed characters, a missing character)-.1 F 3.987(,a)
--.4 G(nd)-3.987 E .552(one character too man)184 598.8 R 4.352 -.65
-(y. I)-.15 H 3.052(fac).65 G .552
-(orrection is found, the corrected \214le name is printed, and)-3.052 F
-(the command proceeds.)184 610.8 Q
-(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 622.8 Q F0 2.08(If set,)184 634.8 R F1(bash)4.58
-E F0 2.079(checks that a command found in the hash table e)4.58 F 2.079
-(xists before trying to)-.15 F -.15(exe)184 646.8 S(cute it.).15 E
-(If a hashed command no longer e)5 E
-(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 658.8
-Q F0 .448(If set,)184 670.8 R F1(bash)2.948 E F0 .448
-(lists the status of an)2.948 F 2.949(ys)-.15 G .449
-(topped and running jobs before e)-2.949 F .449(xiting an interacti)-.15
-F -.15(ve)-.25 G 3.439(shell. If)184 682.8 R(an)3.439 E 3.439(yj)-.15 G
-.938(obs are running, this causes the e)-3.439 F .938
-(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 694.8 R 2.203(ening command \(see)-.15
-F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 706.8 Q -.1(wa)
--.1 G(ys postpones e).1 E(xiting if an)-.15 E 2.5(yj)-.15 G
-(obs are stopped.)-2.5 E(GNU Bash-4.1)72 768 Q(2009 December 29)135.965
-E(63)185.955 E 0 Cg EP
-%%Page: 64 64
+(name of a v)184 718.8 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(64)185.955 E 0 Cg EP
+%%Page: 65 65
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(checkwinsize)144 84 Q F0 .797(If set,)184
-96 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
-.796(ize after each command and, if necessary)-3.297 F 3.296(,u)-.65 G
-.796(pdates the)-3.296 F -.25(va)184 108 S(lues of).25 E/F2 9
-/Times-Bold@0 SF(LINES)2.5 E F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9
-/Times-Roman@0 SF(.)A F1(cmdhist)144 120 Q F0 1.202(If set,)6.11 F F1
-(bash)3.702 E F0 1.202(attempts to sa)3.702 F 1.502 -.15(ve a)-.2 H
-1.202(ll lines of a multiple-line command in the same history).15 F
-(entry)184 132 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 144 Q
-F0 .42(If set,)184 156 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
-.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
--.15 F(guments)-.18 E(to the conditional command')184 168 Q 2.5(s=)-.55
-G 2.5(~o)-2.5 G(perator)-2.5 E(.)-.55 E F1(compat32)144 180 Q F0 1.409
-(If set,)184 192 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F
-1.409(vior to that of v)-.2 F 1.41
-(ersion 3.2 with respect to locale-speci\214c)-.15 F
-(string comparison when using the conditional command')184 204 Q 2.5
-(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 216 Q F0 1.41
-(If set,)184 228 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F 1.409
-(vior to that of v)-.2 F 1.409
-(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692
-(string comparison when using the conditional command')184 240 R 4.193
-(s<a)-.55 G 1.693(nd > operators and the)-4.193 F(ef)184 252 Q
-(fect of interrupting a command list.)-.25 E F1(dirspell)144 264 Q F0
-.859(If set,)7.77 F F1(bash)3.359 E F0 .858
-(attempts spelling correction on directory names during w)3.359 F .858
+-.35 E/F1 10/Times-Bold@0 SF(cdspell)144 84 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 96 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 108 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 120 Q(This option is only used by interacti)5
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 132 Q F0 2.079
+(If set,)184 144 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 156 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 168 Q
+F0 .449(If set,)184 180 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 192 R(an)3.438 E 3.438(yj)-.15 G
+.938(obs are running, this causes the e)-3.438 F .938
+(xit to be deferred until a second e)-.15 F .939(xit is)-.15 F 2.203
+(attempted without an interv)184 204 R 2.203(ening command \(see)-.15 F
+/F2 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.703 E(al)184 216 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 228 Q F0 .796(If set,)184
+240 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 252 S(lues of).25 E F2(LINES)2.5 E
+F0(and)2.25 E F2(COLUMNS)2.5 E/F3 9/Times-Roman@0 SF(.)A F1(cmdhist)144
+264 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
+276 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 288 Q
+F0 .419(If set,)184 300 R F1(bash)2.919 E F0 .419(changes its beha)2.919
+F .419(vior to that of v)-.2 F .42(ersion 3.1 with respect to quoted ar)
+-.15 F(guments)-.18 E(to the)184 312 Q F1([[)2.5 E F0
+(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0(operator)2.5 E(.)
+-.55 E F1(compat32)144 324 Q F0 1.41(If set,)184 336 R F1(bash)3.91 E F0
+1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F 1.409
+(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.265
+(string comparison when using the)184 348 R F1([[)3.766 E F0 1.266
+(conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
+3.766 E F0 3.766(operators. Bash)3.766 F -.15(ve)184 360 S .513
+(rsions prior to bash-4.1 use ASCII collation and).15 F/F4 10
+/Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .512
+(\(3\); bash-4.1 and later use the).19 F(current locale')184 372 Q 2.5
+(sc)-.55 G(ollation sequence and)-2.5 E F4(str)2.5 E(coll)-.37 E F0
+(\(3\).).51 E F1(compat40)144 384 Q F0 1.409(If set,)184 396 R F1(bash)
+3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F
+1.41(ersion 4.0 with respect to locale-speci\214c)-.15 F .423
+(string comparison when using the)184 408 R F1([[)2.922 E F0 .422
+(conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
+2.922 E F0 .422(operators \(see pre-)2.922 F(vious item\) and the ef)184
+420 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 432 Q
+F0 1.443(If set,)184 444 R F1(bash)3.943 E F0 3.943(,w)C 1.444
+(hen in posix mode, treats a single quote in a double-quoted parameter)
+-3.943 F -.15(ex)184 456 S .959(pansion as a special character).15 F
+5.959(.T)-.55 G .958(he single quotes must match \(an e)-5.959 F -.15
+(ve)-.25 G 3.458(nn).15 G .958(umber\) and)-3.458 F .59
+(the characters between the single quotes are considered quoted.)184 468
+R .59(This is the beha)5.59 F .59(vior of)-.2 F .59
+(posix mode through v)184 480 R .589(ersion 4.1.)-.15 F .589(The def)
+5.589 F .589(ault bash beha)-.1 F .589(vior remains as in pre)-.2 F .589
+(vious v)-.25 F(er)-.15 E(-)-.2 E(sions.)184 492 Q F1(dirspell)144 504 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 276 Q(xist.)-.15 E
-F1(dotglob)144 288 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 516 Q(xist.)-.15 E
+F1(dotglob)144 528 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 300 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 540 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 312 Q
+1.387(cute the \214le speci\214ed as an).15 F(ar)184 552 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 324 Q F0
-.716(If set, aliases are e)184 336 R .717(xpanded as described abo)-.15
-F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .717
-(This option is enabled)5.217 F(by def)184 348 Q(ault for interacti)-.1
-E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 360 Q(ug)-.2 E F0
-(If set, beha)184 372 Q(vior intended for use by deb)-.2 E
-(uggers is enabled:)-.2 E F1(1.)184 384 Q F0(The)28.5 E F1<ad46>4.251 E
-F0 1.751(option to the)4.251 F F1(declar)4.251 E(e)-.18 E F0 -.2(bu)
-4.251 G 1.751(iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 396 Q
-(gument.)-.18 E F1(2.)184 408 Q F0 1.667(If the command run by the)28.5
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 564 Q F0
+.717(If set, aliases are e)184 576 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E F2(ALIASES)3.217 E F3(.)A F0 .716
+(This option is enabled)5.217 F(by def)184 588 Q(ault for interacti)-.1
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144 600 Q(ug)-.2 E F0
+(If set, beha)184 612 Q(vior intended for use by deb)-.2 E
+(uggers is enabled:)-.2 E F1(1.)184 624 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 636 Q
+(gument.)-.18 E F1(2.)184 648 Q F0 1.667(If the command run by the)28.5
F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
-1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 420
-Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 432 Q F0 .841
-(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
-(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
-(exe)220 444 S .488
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 660
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 672 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 684 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 456 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 468 Q
-F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2 -.27(BA)3.404 G
+(sour)220 696 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 708 Q
+F2 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.153 E F2 -.27(BA)3.403 G
(SH_ARGV).27 E F0 .904(are updated as described in their descriptions)
-3.154 F(abo)220 480 Q -.15(ve)-.15 G(.).15 E F1(5.)184 492 Q F0 1.359
+3.154 F(abo)220 720 Q -.15(ve)-.15 G(.).15 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(65)185.955 E 0 Cg EP
+%%Page: 66 66
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(5.)184 84 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
-504 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F4 10
+96 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 516 Q F0 .805(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 528
-Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F4
-(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0
-(trap.)2.5 E F1(extglob)144 540 Q F0 .4(If set, the e)8.89 F .4
+184 108 Q F0 .804(Error tracing is enabled:)28.5 F .805
+(command substitution, shell functions, and subshells)5.804 F(in)220 120
+Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2
+(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
+2.5 E F1(extglob)144 132 Q F0 .4(If set, the e)8.89 F .4
(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 552 Q
-F0(are enabled.)2.5 E F1(extquote)144 564 Q F0 2.473(If set,)184 576 R
-F1($)4.973 E F0<08>A F4(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
-E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
--4.973 F F1(${)4.973 E F4(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 588 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 600 Q F0
-1.424(If set, patterns which f)7.77 F 1.425
-(ail to match \214lenames during pathname e)-.1 F 1.425
-(xpansion result in an)-.15 F -.15(ex)184 612 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 624 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.937(If set, the suf)184 636 R<8c78>-.25 E .936(es speci\214ed by the)
--.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 648 R .32
-(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
-(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
-(pletions. See)184 660 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
-(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.947 E F3(.)A F0 .447(This option is)4.947 F(enabled by def)
-184 672 Q(ault.)-.1 E F1(globstar)144 684 Q F0 .178(If set, the pattern)
-5 F F1(**)2.678 E F0 .178(used in a pathname e)2.678 F .178
-(xpansion conte)-.15 F .179(xt will match a \214les and zero or)-.15 F
-1.298(more directories and subdirectories.)184 696 R 1.298
-(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
-3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
-708 Q(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(64)185.955 E 0 Cg
-EP
-%%Page: 65 65
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(gnu_errfmt)144 84 Q F0(If set, shell error\
- messages are written in the standard GNU error message format.)184 96 Q
-F1(histappend)144 108 Q F0 .676
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 144 Q
+F0(are enabled.)2.5 E F1(extquote)144 156 Q F0 2.473(If set,)184 168 R
+F1($)4.973 E F0<08>A F2(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
+E F0(")A F2(string)A F0 4.973("q)C 2.473(uoting is performed within)
+-4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
+(pansions).15 E(enclosed in double quotes.)184 180 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 192 Q F0
+1.425(If set, patterns which f)7.77 F 1.425
+(ail to match \214lenames during pathname e)-.1 F 1.424
+(xpansion result in an)-.15 F -.15(ex)184 204 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 216 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.936(If set, the suf)184 228 R<8c78>-.25 E .936(es speci\214ed by the)
+-.15 F/F3 9/Times-Bold@0 SF(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936
+(ariable cause w)-.25 F .937(ords to be ignored)-.1 F .32
+(when performing w)184 240 R .32(ord completion e)-.1 F -.15(ve)-.25 G
+2.82(ni).15 G 2.82(ft)-2.82 G .32(he ignored w)-2.82 F .32
+(ords are the only possible com-)-.1 F 2.947(pletions. See)184 252 R F3
+.447(SHELL V)2.947 F(ARIABLES)-1.215 E F0(abo)2.697 E .747 -.15(ve f)
+-.15 H .448(or a description of).15 F F3(FIGNORE)2.948 E/F4 9
+/Times-Roman@0 SF(.)A F0 .448(This option is)4.948 F(enabled by def)184
+264 Q(ault.)-.1 E F1(globstar)144 276 Q F0 .519(If set, the pattern)5 F
+F1(**)3.019 E F0 .519(used in a pathname e)3.019 F .519(xpansion conte)
+-.15 F .518(xt will match all \214les and zero)-.15 F .431
+(or more directories and subdirectories.)184 288 R .431
+(If the pattern is follo)5.431 F .432(wed by a)-.25 F F1(/)2.932 E F0
+2.932(,o)C .432(nly directories)-2.932 F(and subdirectories match.)184
+300 Q F1(gnu_errfmt)144 312 Q F0(If set, shell error messages are writt\
+en in the standard GNU error message format.)184 324 Q F1(histappend)144
+336 Q F0 .676
(If set, the history list is appended to the \214le named by the v)184
-120 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.177 E F0
--.25(va)2.927 G(ri-).25 E(able when the shell e)184 132 Q
-(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1
-(histr)144 144 Q(eedit)-.18 E F0 .576(If set, and)184 156 R F1 -.18(re)
-3.076 G(adline).18 E F0 .575(is being used, a user is gi)3.076 F -.15
-(ve)-.25 G 3.075(nt).15 G .575(he opportunity to re-edit a f)-3.075 F
-.575(ailed his-)-.1 F(tory substitution.)184 168 Q F1(histv)144 180 Q
-(erify)-.1 E F0 .402(If set, and)184 192 R F1 -.18(re)2.903 G(adline).18
-E F0 .403
+348 R .676(alue of the)-.25 F F3(HISTFILE)3.176 E F0 -.25(va)2.926 G
+(ri-).25 E(able when the shell e)184 360 Q(xits, rather than o)-.15 E
+-.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 372 Q(eedit)-.18
+E F0 .575(If set, and)184 384 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 396 Q F1(histv)144 408 Q(erify)-.1 E F0 .403
+(If set, and)184 420 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 204 R 5.662(.I)-.55 G .661
-(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
-G(adline).18 E F0(editing)3.161 E -.2(bu)184 216 S -.25(ff).2 G(er).25 E
+2.903 F .661(passed to the shell parser)184 432 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 444 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 228 Q F0 1.181(If set, and)184 240 R F1 -.18(re)3.681
-G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
-(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
-252 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
-(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
-F2(READLINE)3.88 E F0(abo)184 264 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 276 Q F0(If set,)
-184 288 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+(hostcomplete)144 456 Q F0 1.182(If set, and)184 468 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
+480 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 492 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 504 Q F0(If set,)
+184 516 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)
-.15 E(xits.)-.15 E F1(interacti)144 300 Q -.1(ve)-.1 G(_comments).1 E F0
-.33(If set, allo)184 312 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+.15 E(xits.)-.15 E F1(interacti)144 528 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 540 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
(ord and all remaining characters on)-.1 F .967
-(that line to be ignored in an interacti)184 324 R 1.267 -.15(ve s)-.25
-H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 336 Q
-(ault.)-.1 E F1(lithist)144 348 Q F0 .654(If set, and the)15.55 F F1
-(cmdhist)3.154 E F0 .654(option is enabled, multi-line commands are sa)
-3.154 F -.15(ve)-.2 G 3.155(dt).15 G 3.155(ot)-3.155 G .655(he history)
--3.155 F(with embedded ne)184 360 Q
+(that line to be ignored in an interacti)184 552 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 .968(option is)3.468 F(enabled by def)184 564 Q
+(ault.)-.1 E F1(lastpipe)144 576 Q F0 1.212
+(If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
+G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
+(exe)184 588 S(cuted in the background in the current shell en).15 E
+(vironment.)-.4 E F1(lithist)144 600 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 612 Q
(wlines rather than using semicolon separators where possible.)-.25 E F1
-(login_shell)144 372 Q F0 .486
+(login_shell)144 624 Q F0 .486
(The shell sets this option if it is started as a login shell \(see)184
-384 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 396 S(lue may not be changed.).25
-E F1(mailwar)144 408 Q(n)-.15 E F0 .814(If set, and a \214le that)184
-420 R F1(bash)3.314 E F0 .815
+636 R F3(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 648 S(lue may not be changed.).25
+E F1(mailwar)144 660 Q(n)-.15 E F0 .814(If set, and a \214le that)184
+672 R F1(bash)3.314 E F0 .815
(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 432 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
-(`The mail in)-.74 E/F3 10/Times-Italic@0 SF(mail\214le)2.5 E F0
-(has been read')2.5 E 2.5('i)-.74 G 2.5(sd)-2.5 G(isplayed.)-2.5 E F1
-(no_empty_cmd_completion)144 444 Q F0 .325(If set, and)184 456 R F1 -.18
-(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.824 G(TH)
--.189 E F0 .324(for possible)2.574 F
-(completions when completion is attempted on an empty line.)184 468 Q F1
-(nocaseglob)144 480 Q F0 .436(If set,)184 492 R F1(bash)2.936 E F0 .436
-(matches \214lenames in a case\255insensiti)2.936 F .737 -.15(ve f)-.25
-H .437(ashion when performing pathname).05 F -.15(ex)184 504 S
-(pansion \(see).15 E F1 -.1(Pa)2.5 G(thname Expansion).1 E F0(abo)2.5 E
--.15(ve)-.15 G(\).).15 E F1(nocasematch)144 516 Q F0 1.194(If set,)184
-528 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
-F(while e)184 540 Q -.15(xe)-.15 G(cuting).15 E F1(case)2.5 E F0(or)2.5
-E F1([[)2.5 E F0(conditional commands.)2.5 E F1(nullglob)144 552 Q F0
-.854(If set,)184 564 R F1(bash)3.354 E F0(allo)3.354 E .855
+-.1(wa)184 684 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
+(`The mail in)-.74 E F2(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 696
+Q F0 .325(If set, and)184 708 R F1 -.18(re)2.825 G(adline).18 E F0 .325
+(is being used,)2.825 F F1(bash)2.824 E F0 .324
+(will not attempt to search the)2.824 F F3 -.666(PA)2.824 G(TH)-.189 E
+F0 .324(for possible)2.574 F
+(completions when completion is attempted on an empty line.)184 720 Q
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(66)185.955 E 0 Cg EP
+%%Page: 67 67
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(nocaseglob)144 84 Q F0 .436(If set,)184 96
+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 108 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 120 Q F0
+1.194(If set,)184 132 R F1(bash)3.694 E F0 1.194
+(matches patterns in a case\255insensiti)3.694 F 1.493 -.15(ve f)-.25 H
+1.193(ashion when performing matching).05 F(while e)184 144 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 156 Q F0 .854(If set,)184
+168 R F1(bash)3.354 E F0(allo)3.354 E .855
(ws patterns which match no \214les \(see)-.25 F F1 -.1(Pa)3.355 G .855
(thname Expansion).1 F F0(abo)3.355 E -.15(ve)-.15 G 3.355(\)t).15 G(o)
--3.355 E -.15(ex)184 576 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 588 Q(ogcomp)-.18 E F0 .677
-(If set, the programmable completion f)184 600 R .677(acilities \(see)
+-3.355 E -.15(ex)184 180 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 192 Q(ogcomp)-.18 E F0 .677
+(If set, the programmable completion f)184 204 R .677(acilities \(see)
-.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
--.15(ve)-.15 G(\)).15 E(are enabled.)184 612 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 624 Q(omptv)
--.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 636 R 1.448
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 216 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 228 Q(omptv)
+-.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 240 R 1.448
(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 648 S .171(pansion, and quote remo).15 F -.25(va)-.15
+-.15 F -.15(ex)184 252 S .171(pansion, and quote remo).15 F -.25(va)-.15
G 2.67(la).25 G .17(fter being e)-2.67 F .17(xpanded as described in)
--.15 F F2(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15(ve)-.15 G(.).15 E
-(This option is enabled by def)184 660 Q(ault.)-.1 E F1 -.18(re)144 672
-S(stricted_shell).18 E F0 1.069
+-.15 F/F2 9/Times-Bold@0 SF(PR)2.67 E(OMPTING)-.27 E F0(abo)2.42 E -.15
+(ve)-.15 G(.).15 E(This option is enabled by def)184 264 Q(ault.)-.1 E
+F1 -.18(re)144 276 S(stricted_shell).18 E F0 1.069
(The shell sets this option if it is started in restricted mode \(see)
-184 684 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 696 Q 4.178
+184 288 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 300 Q 4.178
(w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F
1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
-184 708 S(cuted, allo).15 E(wing the startup \214les to disco)-.25 E
+184 312 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
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(65)185.955 E 0 Cg EP
-%%Page: 66 66
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(shift_v)144 84 Q(erbose)-.1 E F0 .501
-(If set, the)184 96 R F1(shift)3.001 E F0 -.2(bu)3.001 G .501
+F1(shift_v)144 324 Q(erbose)-.1 E F0 .501(If set, the)184 336 R F1
+(shift)3.001 E F0 -.2(bu)3.001 G .501
(iltin prints an error message when the shift count e).2 F .502
-(xceeds the number)-.15 F(of positional parameters.)184 108 Q F1(sour)
-144 120 Q(cepath)-.18 E F0 .771(If set, the)184 132 R F1(sour)3.271 E
+(xceeds the number)-.15 F(of positional parameters.)184 348 Q F1(sour)
+144 360 Q(cepath)-.18 E F0 .771(If set, the)184 372 R F1(sour)3.271 E
(ce)-.18 E F0(\()3.271 E F1(.)A F0 3.271(\)b)C .771(uiltin uses the v)
--3.471 F .771(alue of)-.25 F/F2 9/Times-Bold@0 SF -.666(PA)3.27 G(TH)
--.189 E F0 .77(to \214nd the directory containing the)3.02 F
-(\214le supplied as an ar)184 144 Q 2.5(gument. This)-.18 F
-(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 156 Q F0
-(If set, the)184 168 Q F1(echo)2.5 E F0 -.2(bu)2.5 G(iltin e).2 E
-(xpands backslash-escape sequences by def)-.15 E(ault.)-.1 E F1(suspend)
-108 180 Q F0([)2.5 E F1<ad66>A F0(])A 1.001(Suspend the e)144 192 R -.15
-(xe)-.15 G 1.001(cution of this shell until it recei).15 F -.15(ve)-.25
-G 3.501(sa).15 G F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002
-(login shell cannot be)3.502 F .023(suspended; the)144 204 R F1<ad66>
-2.523 E F0 .023(option can be used to o)2.523 F -.15(ve)-.15 G .022
+-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 384 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
+-.1 E F1(xpg_echo)144 396 Q F0(If set, the)184 408 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 424.8 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
+(Suspend the e)144 436.8 R -.15(xe)-.15 G 1.001
+(cution of this shell until it recei).15 F -.15(ve)-.25 G 3.501(sa).15 G
+F2(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
+3.502 F .023(suspended; the)144 448.8 R F1<ad66>2.523 E F0 .023
+(option can be used to o)2.523 F -.15(ve)-.15 G .022
(rride this and force the suspension.).15 F .022(The return status is)
-5.022 F 2.5(0u)144 216 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 228 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108
-240 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
+5.022 F 2.5(0u)144 460.8 S(nless the shell is a login shell and)-2.5 E
+F1<ad66>2.5 E F0(is not supplied, or if job control is not enabled.)2.5
+E F1(test)108 477.6 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)
+108 489.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(])2.5 E F0 1.15
(Return a status of 0 or 1 depending on the e)6.77 F -.25(va)-.25 G 1.15
(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
-(operator and operand must be a separate ar)144 252 R 3.688
+(operator and operand must be a separate ar)144 501.6 R 3.688
(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 264 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
+1.889(described abo)144 513.6 R 2.189 -.15(ve u)-.15 H(nder).15 E F2
(CONDITION)4.389 E 1.889(AL EXPRESSIONS)-.18 F/F4 9/Times-Roman@0 SF(.)A
F1(test)6.389 E F0 1.89(does not accept an)4.389 F 4.39(yo)-.15 G 1.89
-(ptions, nor)-4.39 F(does it accept and ignore an ar)144 276 Q
+(ptions, nor)-4.39 F(does it accept and ignore an ar)144 525.6 Q
(gument of)-.18 E F1<adad>2.5 E F0(as signifying the end of options.)2.5
-E .786(Expressions may be combined using the follo)144 294 R .785
-(wing operators, listed in decreasing order of prece-)-.25 F 2.5
-(dence. The)144 306 R -.25(eva)2.5 G
-(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
-(w.)-.25 G F1(!)144 318 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G
-(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()
-144 330 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77
-F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26
-(his may be used to o)-5.26 F -.15(ve)-.15 G .26
-(rride the normal precedence of opera-).15 F(tors.)180 342 Q F3 -.2(ex)
-144 354 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 366 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3
--.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 378 S(pr1).2 E
-F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 390 S
-(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2(ex)2.5 G
-(pr2).2 E F0(is true.)2.52 E F1(test)144 406.8 Q F0(and)2.5 E F1([)2.5 E
-F0 -.25(eva)2.5 G(luate conditional e).25 E
+E .786(Expressions may be combined using the follo)144 543.6 R .785
+(wing operators, listed in decreasing order of prece-)-.25 F 3.411
+(dence. The)144 555.6 R -.25(eva)3.411 G .911
+(luation depends on the number of ar).25 F .912(guments; see belo)-.18 F
+4.712 -.65(w. O)-.25 H .912(perator precedence is).65 F
+(used when there are \214v)144 567.6 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G
+(ore ar)-2.5 E(guments.)-.18 E F1(!)144 579.6 Q F3 -.2(ex)2.5 G(pr).2 E
+F0 -.35(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E
+(alse.)-.1 E F1(\()144 591.6 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0
+.26(Returns the v)6.77 F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0
+5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
+(rride the normal precedence of opera-).15 F(tors.)180 603.6 Q F3 -.2
+(ex)144 615.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
+-.35(Tr)180 627.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
+E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 639.6 S
+(pr1).2 E F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180
+651.6 S(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2
+(ex)2.5 G(pr2).2 E F0(is true.)2.52 E F1(test)144 668.4 Q F0(and)2.5 E
+F1([)2.5 E F0 -.25(eva)2.5 G(luate conditional e).25 E
(xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E 2.5(0a)144 424.8 S -.18(rg)-2.5 G(uments).18 E(The e)
-180 436.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 448.8 S -.18
-(rg)-2.5 G(ument).18 E(The e)180 460.8 Q
-(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 472.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
-180 484.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
-F .37(xpression is true if and only if the second ar)-.15 F .37
-(gument is null.)-.18 F .379(If the \214rst ar)180 496.8 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 508.8 Q .553
-(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
-(xpression is true if the unary test is true.)-.15 F .552
-(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 520.8 Q
-(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
-(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 532.8 S -.18(rg)-2.5 G
-(uments).18 E .023(If the second ar)180 544.8 R .023
-(gument is one of the binary conditional operators listed abo)-.18 F
-.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 556.8 Q
-1.478(AL EXPRESSIONS)-.18 F F4(,)A F0 1.477(the result of the e)3.727 F
-1.477(xpression is the result of the binary test)-.15 F .513
-(using the \214rst and third ar)180 568.8 R .513(guments as operands.)
--.18 F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0
-.513(operators are considered)3.013 F .972
-(binary operators when there are three ar)180 580.8 R 3.472(guments. If)
--.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
-3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 592.8
-R -.05(ga)-.15 G .883(tion of the tw).05 F(o-ar)-.1 E .884
-(gument test using the second and third ar)-.18 F 3.384(guments. If)-.18
-F .884(the \214rst)3.384 F(ar)180 604.8 Q .875(gument is e)-.18 F
-(xactly)-.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875
-(gument is e)-.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874
-(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar)
-180 616.8 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)
--.15 E(alse.)-.1 E 2.5(4a)144 628.8 S -.18(rg)-2.5 G(uments).18 E .384
-(If the \214rst ar)180 640.8 R .384(gument is)-.18 F F1(!)2.884 E F0
-2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385
-(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-)
--.15 F 1.648(posed of the remaining ar)180 652.8 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
-(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
-(according to precedence using the rules listed abo)180 664.8 Q -.15(ve)
--.15 G(.).15 E 2.5(5o)144 676.8 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)
--.18 E 1.635(The e)180 688.8 R 1.635(xpression is parsed and e)-.15 F
--.25(va)-.25 G 1.635
-(luated according to precedence using the rules listed).25 F(abo)180
-700.8 Q -.15(ve)-.15 G(.).15 E F1(times)108 717.6 Q F0 1.229(Print the \
-accumulated user and system times for the shell and for processes run f\
-rom the shell.)13.23 F(The return status is 0.)144 729.6 Q(GNU Bash-4.1)
-72 768 Q(2009 December 29)135.965 E(66)185.955 E 0 Cg EP
-%%Page: 67 67
+(guments.)-.18 E 2.5(0a)144 686.4 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 698.4 Q(xpression is f)-.15 E(alse.)-.1 E(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(67)185.955 E 0 Cg EP
+%%Page: 68 68
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF(trap)108 84 Q F0([)2.5 E F1(\255lp)A F0 2.5
-(][)C([)-2.5 E/F2 10/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F2(sigspec)
-2.5 E F0(...])2.5 E .702(The command)144 96 R F2(ar)3.532 E(g)-.37 E F0
-.702(is to be read and e)3.422 F -.15(xe)-.15 G .702
+-.35 E 2.5(1a)144 84 S -.18(rg)-2.5 G(ument).18 E(The e)180 96 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 108 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)180
+120 R .37(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)2.87 E F0 2.87(,t)C
+.37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15
+F .37(gument is null.)-.18 F .38(If the \214rst ar)180 132 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .679
+-.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.879 E(TION)180
+144 Q .552(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552
+(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
+.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 156 Q
+(alid unary conditional operator)-.25 E 2.5(,t)-.4 G(he e)-2.5 E
+(xpression is f)-.15 E(alse.)-.1 E 2.5(3a)144 168 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 180 R .236
+(wing conditions are applied in the order listed.)-.25 F .236
+(If the second ar)5.236 F .236(gument is one of)-.18 F .855
+(the binary conditional operators listed abo)180 192 R 1.155 -.15(ve u)
+-.15 H(nder).15 E F2(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F F3(,)A
+F0(the)3.105 E .579(result of the e)180 204 R .578(xpression is the res\
+ult of the binary test using the \214rst and third ar)-.15 F(guments)
+-.18 E 1.332(as operands.)180 216 R(The)6.332 E F1<ad61>3.832 E F0(and)
+3.832 E F1<ad6f>3.832 E F0 1.333
+(operators are considered binary operators when there are)3.832 F .558
+(three ar)180 228 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058 F
+.558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F .558
+(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F(o-ar)-.1
+E(gument)-.18 E .52(test using the second and third ar)180 240 R 3.021
+(guments. If)-.18 F .521(the \214rst ar)3.021 F .521(gument is e)-.18 F
+(xactly)-.15 E F1(\()3.021 E F0 .521(and the third)3.021 F(ar)180 252 Q
+.485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0 2.985(,t)C .485
+(he result is the one-ar)-2.985 F .485(gument test of the second ar)-.18
+F 2.985(gument. Other)-.18 F(-)-.2 E(wise, the e)180 264 Q
+(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144 276 S -.18(rg)-2.5 G
+(uments).18 E .384(If the \214rst ar)180 288 R .384(gument is)-.18 F F1
+(!)2.884 E F0 2.885(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15
+G .385(tion of the three-ar).05 F .385(gument e)-.18 F .385
+(xpression com-)-.15 F 1.648(posed of the remaining ar)180 300 R 4.147
+(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
+(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
+(according to precedence using the rules listed abo)180 312 Q -.15(ve)
+-.15 G(.).15 E 2.5(5o)144 324 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
+E 1.635(The e)180 336 R 1.635(xpression is parsed and e)-.15 F -.25(va)
+-.25 G 1.635(luated according to precedence using the rules listed).25 F
+(abo)180 348 Q -.15(ve)-.15 G(.).15 E(When used with)144 366 Q F1(test)
+2.5 E F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0(and)2.5
+E F1(>)2.5 E F0(operators sort le)2.5 E
+(xicographically using ASCII ordering.)-.15 E F1(times)108 382.8 Q F0
+1.229(Print the accumulated user and system times for the shell and for\
+ processes run from the shell.)13.23 F(The return status is 0.)144 394.8
+Q F1(trap)108 411.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10
+/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E
+.702(The command)144 423.6 R F4(ar)3.532 E(g)-.37 E F0 .702
+(is to be read and e)3.422 F -.15(xe)-.15 G .702
(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
-(ignal\(s\))-3.203 E F2(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F2
+(ignal\(s\))-3.203 E F4(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F4
(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
-144 108 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E F0
-3.108(,e)C .608
+144 435.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+F0 3.108(,e)C .608
(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 120 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
-144.34 132 Q F0 .581(is ignored by the shell and by the commands it in)
-3.391 F -.2(vo)-.4 G -.1(ke).2 G 3.08(s. If).1 F F2(ar)3.41 E(g)-.37 E
-F0 .58(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 144 R F2
-(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215 F
-(gu-)-.18 E .86(ments are supplied or if only)144 156 R F1<ad70>3.36 E
-F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
+.658(\(the v)144 447.6 R .658(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
+(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
+144.34 459.6 Q F0 .581
+(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
+-.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
+(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
+(been supplied, then the trap commands associated with each)144 471.6 R
+F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
+F(gu-)-.18 E .86(ments are supplied or if only)144 483.6 R F1<ad70>3.36
+E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 168 R F1<ad6c>2.83 E F0 .33(option causes the shell to\
- print a list of signal names and their corresponding num-)2.83 F 4.311
-(bers. Each)144 180 R F2(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
+(signal. The)144 495.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F
+4.311(bers. Each)144 507.6 R F4(sigspec)4.651 E F0 1.811
+(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 192 Q .3 -.15(ve a)-.25 H
-(nd the SIG pre\214x is optional.).15 E 1.648(If a)144 210 R F2(sigspec)
-4.488 E F0(is)4.458 E/F3 9/Times-Bold@0 SF(EXIT)4.148 E F0 1.648
-(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
+(names are case insensiti)144 519.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
+F2(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.648(If a)144 537.6 R F4
+(sigspec)4.488 E F0(is)4.458 E F2(EXIT)4.148 E F0 1.648
+(\(0\) the command)3.898 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
-.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
-1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144 222 Q(UG)
--.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.168(the command)3.418 F F2(ar)
-3.998 E(g)-.37 E F0 1.168(is e)3.888 F -.15(xe)-.15 G 1.167
-(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.167(simple command)
-3.667 F F0(,)A F2(for)3.667 E F0(command,)3.667 E F2(case)3.667 E F0
-(com-)3.667 E(mand,)144 234 Q F2(select)2.646 E F0 .146(command, e)2.646
-F -.15(ve)-.25 G .146(ry arithmetic).15 F F2(for)2.646 E F0 .147
+1.649(If a)6.649 F F4(sigspec)4.489 E F0(is)4.459 E F2(DEB)144 549.6 Q
+(UG)-.09 E F3(,)A F0 1.168(the command)3.418 F F4(ar)3.998 E(g)-.37 E F0
+1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
+-.25 G(ry).15 E F4 1.167(simple command)3.667 F F0(,)A F4(for)3.667 E F0
+(command,)3.667 E F4(case)3.667 E F0(com-)3.667 E(mand,)144 561.6 Q F4
+(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
+(ry arithmetic).15 F F4(for)2.646 E F0 .147
(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
-(cutes in a).15 F .146(shell function \(see)144 246 R F3 .146
+(cutes in a).15 F .146(shell function \(see)144 573.6 R F2 .146
(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0
-.145(option to)2.645 F(the)144 258 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
+.145(option to)2.645 F(the)144 585.6 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG)
--.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E F3
-(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 270 Q F2(ar)3.474
-E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
+-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E F2
+(RETURN)3.2 E F3(,)A F0 .701(the com-)2.951 F(mand)144 597.6 Q F4(ar)
+3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 282 Q -.15(xe)-.15
-G(cuting.).15 E .928(If a)144 300 R F2(sigspec)3.768 E F0(is)3.738 E F3
-(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E(g)-.37 E
-F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F -.15(ve)-.25
-G 3.429(ras).15 G .929(imple command has a non\255zero)-3.429 F -.15(ex)
-144 312 S 1.009(it status, subject to the follo).15 F 1.009
-(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009
+-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 609.6 Q -.15(xe)
+-.15 G(cuting.).15 E .928(If a)144 627.6 R F4(sigspec)3.768 E F0(is)
+3.738 E F2(ERR)3.429 E F3(,)A F0 .929(the command)3.179 F F4(ar)3.759 E
+(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
+-.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
+-3.429 F -.15(ex)144 639.6 S 1.009(it status, subject to the follo).15 F
+1.009(wing conditions.)-.25 F(The)6.009 E F2(ERR)3.509 E F0 1.009
(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
(ailed com-)-.1 F .324
-(mand is part of the command list immediately follo)144 324 R .324
+(mand is part of the command list immediately follo)144 651.6 R .324
(wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
-(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144
-336 R F2(if)3.639 E F0 1.129(statement, part of a command e)5.589 F -.15
-(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10
-/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.628
-(sr)-.55 G(eturn)-3.628 E -.25(va)144 348 S(lue is being in).25 E -.15
-(ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C
-(hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E
-(exit)-.18 E F0(option.)2.5 E 1.095
+(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F .151(in an)144
+663.6 R F4(if)2.661 E F0 .151(statement, part of a command e)4.611 F
+-.15(xe)-.15 G .151(cuted in a).15 F F1(&&)2.651 E F0(or)2.651 E F1(||)
+2.651 E F0 .151(list, or if the command')2.651 F 2.651(sr)-.55 G .151
+(eturn v)-2.651 F(alue)-.25 E(is being in)144 675.6 Q -.15(ve)-.4 G
+(rted via).15 E F1(!)2.5 E F0 5(.T)C(hese are the same conditions obe)-5
+E(yed by the)-.15 E F1(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-366 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
-(being ignored are reset to their original v)144 378 R .662
+693.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
+(being ignored are reset to their original v)144 705.6 R .662
(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
--.4 F 2.5(created. The)144 390 R(return status is f)2.5 E(alse if an)-.1
-E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
-(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
-406.8 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
-(name)A F0(...])2.5 E -.4(Wi)144 418.8 S .173
-(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name)
-3.033 E F0 -.1(wo)2.853 G .174
+-.4 F 2.5(created. The)144 717.6 R(return status is f)2.5 E(alse if an)
+-.1 E(y)-.15 E F4(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
+(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E(GNU Bash-4.2)
+72 768 Q(2010 December 28)135.965 E(68)185.955 E 0 Cg EP
+%%Page: 69 69
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E/F1 10/Times-Bold@0 SF(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 430.8 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
+F1<ad74>144 108 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2
-(\214le)5.252 E F0(if)3.522 E F2(name)144.36 442.8 Q F0 .086
+(\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
-(found, then nothing is printed, and an e)144 454.8 R .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
-(either returns the name of the disk \214le that w)144 466.8 R .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 478.8 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
-G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
-F1<ad50>3.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189
-E F0 .112(search for each)144 490.8 R F2(name)2.612 E F0 2.612(,e)C -.15
-(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0
--.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I)
-.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F1<ad70>2.613 E
-F0(and)144 502.8 Q F1<ad50>2.945 E F0 .445(print the hashed v)2.945 F
-.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F3
--.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F1<ad61>2.944
-E F0(option)2.944 E .265(is used,)144 514.8 R F1(type)2.765 E F0 .265
-(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265
-(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265
-(his includes aliases)-5.265 F .427(and functions, if and only if the)
-144 526.8 R 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 538.8 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 550.8 S(iltin.).2 E F1(type)5 E F0
+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
+(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
+(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
+(type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F
+-.15(xe)-.15 G .265(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18
+G .265(his includes aliases)-5.265 F .427
+(and functions, if and only if the)144 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
(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 567.6
+(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 579.6 Q .244(vides control o)-.15 F -.15(ve)
+(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
(ilable to the shell and to processes started by it, on systems).25 F
-.943(that allo)144 591.6 R 3.443(ws)-.25 G .943(uch control.)-3.443 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
(options specify that the hard or soft limit is set for the)3.444 F(gi)
-144 603.6 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.709(nr).15 G 2.709(esource. A)-2.709 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
-ft limit may)2.709 F .425(be increased up to the v)144 615.6 R .425
+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
-627.6 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
+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 639.6 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
+.741(of the special v)144 316.8 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .78
-(soft limit, and no limit, respecti)144 651.6 R -.15(ve)-.25 G(ly).15 E
+(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 663.6 R F1<ad48>2.999 E F0
+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
(more than one resource is speci\214ed, the)2.999 F
-(limit name and unit are printed before the v)144 675.6 Q 2.5
+(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
-<ad61>144 687.6 Q F0(All current limits are reported)25.3 E F1<ad62>144
-699.6 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
-F1<ad63>144 711.6 Q F0(The maximum size of core \214les created)25.86 E
-(GNU Bash-4.1)72 768 Q(2009 December 29)135.965 E(67)185.955 E 0 Cg EP
-%%Page: 68 68
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E/F1 10/Times-Bold@0 SF<ad64>144 84 Q F0
-(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E
-(gment)-.15 E F1<ad65>144 96 Q F0
-(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 108 Q F0
-(The maximum size of \214les written by the shell and its children)26.97
-E F1<ad69>144 120 Q F0(The maximum number of pending signals)27.52 E F1
-<ad6c>144 132 Q F0(The maximum size that may be lock)27.52 E
-(ed into memory)-.1 E F1<ad6d>144 144 Q F0
+<ad61>144 364.8 Q F0(All current limits are reported)25.3 E F1<ad62>144
+376.8 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
+F1<ad63>144 388.8 Q F0(The maximum size of core \214les created)25.86 E
+F1<ad64>144 400.8 Q F0(The maximum size of a process')24.74 E 2.5(sd)
+-.55 G(ata se)-2.5 E(gment)-.15 E F1<ad65>144 412.8 Q F0
+(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 424.8 Q
+F0(The maximum size of \214les written by the shell and its children)
+26.97 E F1<ad69>144 436.8 Q F0(The maximum number of pending signals)
+27.52 E F1<ad6c>144 448.8 Q F0(The maximum size that may be lock)27.52 E
+(ed into memory)-.1 E F1<ad6d>144 460.8 Q F0
(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F1<ad6e>144 156 Q F0 .791(The \
-maximum number of open \214le descriptors \(most systems do not allo)
+(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
-168 Q F1<ad70>144 180 Q F0
+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 192 Q F0(The maximum number of bytes in POSIX message queues)
-24.74 E F1<ad72>144 204 Q F0(The maximum real-time scheduling priority)
-25.86 E F1<ad73>144 216 Q F0(The maximum stack size)26.41 E F1<ad74>144
-228 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144
-240 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
-(ilable to a single user).25 E F1<ad76>144 252 Q F0
-(The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
-(ilable to the shell).25 E F1<ad78>144 264 Q F0
-(The maximum number of \214le locks)25.3 E F1<ad54>144 276 Q F0
-(The maximum number of threads)23.63 E(If)144 292.8 Q/F2 10
-/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G
-.343(n, it is the ne).15 F 2.843(wv)-.25 G .343
+<ad71>144 508.8 Q F0
+(The maximum number of bytes in POSIX message queues)24.74 E F1<ad72>144
+520.8 Q F0(The maximum real-time scheduling priority)25.86 E F1<ad73>144
+532.8 Q F0(The maximum stack size)26.41 E F1<ad74>144 544.8 Q F0
+(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 556.8 Q
+F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
+(ilable to a single user).25 E F1<ad76>144 568.8 Q F0 .47
+(The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180
+580.8 Q F1<ad78>144 592.8 Q F0(The maximum number of \214le locks)25.3 E
+F1<ad54>144 604.8 Q F0(The maximum number of threads)23.63 E(If)144
+621.6 Q F2(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343
+(n, it is the ne).15 F 2.843(wv)-.25 G .343
(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>2.843 E F0 .343
-(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi)
-144 304.8 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 316.8
-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 328.8 R 1.287(return status is 0 unless an in)3.787 F
+(option is display only\).)2.843 F .343(If no)5.343 F .175(option is gi)
+144 633.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 645.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 657.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
-340.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 357.6 Q F0([)2.5 E F1
+669.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 686.4 Q F0([)2.5 E F1
<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2
-(The user \214le-creation mask is set to)144 369.6 R F2(mode)2.7 E F0
+(The user \214le-creation mask is set to)144 698.4 R F2(mode)2.7 E F0
5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
-pted by)144 381.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
-393.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+pted by)144 710.4 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+722.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 405.6 R .547
+(option causes the mask to be)2.882 F(GNU Bash-4.2)72 768 Q
+(2010 December 28)135.965 E(69)185.955 E 0 Cg EP
+%%Page: 70 70
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E .547(printed in symbolic form; the def)144 84 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
-(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
-(mode)144.38 417.6 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 429.6 Q
+(he)-3.047 E/F1 10/Times-Bold@0 SF<ad70>3.047 E F0 .547
+(option is supplied, and)3.047 F/F2 10/Times-Italic@0 SF(mode)144.38 96
+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 108 Q
(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
-(unalias)108 446.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
-(...])2.5 E(Remo)144 458.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
+(unalias)108 124.8 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
+(...])2.5 E(Remo)144 136.8 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
-F(remo)144 470.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+F(remo)144 148.8 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
-(is not a de\214ned alias.)2.68 E F1(unset)108 487.2 Q F0<5bad>2.5 E F1
-(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 499.2 S 3.106
-(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E
-.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607
-(ariable or function.)-.25 F .607(If no options are supplied, or the)
-5.607 F F1<ad76>144 511.2 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
-.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F
-2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304
-(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 523.2 Q F0 .459
-(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459
-(refers to a shell function, and the function de\214nition is remo)3.139
-F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 535.2 R .903
+(is not a de\214ned alias.)2.68 E F1(unset)108 165.6 Q F0<5bad>2.5 E F1
+(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 177.6 S 3.107
+(re).15 G(ach)-3.107 E F2(name)3.107 E F0 3.107(,r).18 G(emo)-3.107 E
+.907 -.15(ve t)-.15 H .607(he corresponding v).15 F .607
+(ariable or function.)-.25 F .606(If no options are supplied, or the)
+5.607 F F1<ad76>144 189.6 Q F0 .304(option is gi)2.804 F -.15(ve)-.25 G
+.304(n, each).15 F F2(name)3.164 E F0 .305(refers to a shell v)2.985 F
+2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .305
+(riables may not be unset.).25 F(If)5.305 E F1<ad66>144 201.6 Q F0 .46
+(is speci\214ed, each)2.96 F F2(name)3.32 E F0 .459
+(refers to a shell function, and the function de\214nition is remo)3.14
+F -.15(ve)-.15 G 2.959(d. Each).15 F .902(unset v)144 213.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 547.2 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0
-SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)
+(rom the en)-3.402 F .903(vironment passed to subsequent commands.)-.4 F
+(If)5.903 E(an)144 225.6 Q 6.916(yo)-.15 G(f)-6.916 E/F3 9/Times-Bold@0
+SF(COMP_W)6.916 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)
6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3
-(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144
-559.2 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81
+(HISTCMD)6.665 E F4(,)A F3(FUNCN)6.665 E(AME)-.18 E F4(,)A F3(GR)144
+237.6 Q(OUPS)-.27 E F4(,)A F0(or)2.522 E F3(DIRST)2.772 E -.495(AC)-.81
G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272
(ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G
-2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently)
--2.772 F 2.5(reset. The)144 571.2 R -.15(ex)2.5 G
+2.772(ft)-2.772 G(he)-2.772 E 2.773(ya)-.15 G .273(re subsequently)
+-2.773 F 2.5(reset. The)144 249.6 R -.15(ex)2.5 G
(it status is true unless a).15 E F2(name)2.86 E F0(is readonly)2.68 E
-(.)-.65 E F1(wait)108 588 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A -.8
-(Wa)144 600 S .288
+(.)-.65 E F1(wait)108 266.4 Q F0([)2.5 E F2 2.5(n.)C(..)-2.5 E F0(])A
+-.8(Wa)144 278.4 S .288
(it for each speci\214ed process and return its termination status.).8 F
-(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
-(job speci\214cation; if a job spec is gi)144 612 R -.15(ve)-.25 G .722
-(n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w)
--3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.582 E F0
-(is)3.462 E 1.265(not gi)144 624 R -.15(ve)-.25 G 1.265
-(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
-(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
-(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
-(speci\214es a non-e)144 636 R .457
+(Each)5.288 E F2(n)3.148 E F0 .287(may be a process ID or a)3.028 F .722
+(job speci\214cation; if a job spec is gi)144 290.4 R -.15(ve)-.25 G
+.722(n, all processes in that job').15 F 3.222(sp)-.55 G .722
+(ipeline are w)-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E
+F2(n)3.583 E F0(is)3.463 E 1.266(not gi)144 302.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 F2(n)4.125 E F0 .456
+(speci\214es a non-e)144 314.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 648 S
+(Otherwise, the return status is the)5.457 F -.15(ex)144 326.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 664.8 Q F0(If)108 676.8 Q
-F1(bash)4.396 E F0 1.896(is started with the name)4.396 F F1(rbash)4.397
-E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<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 688.8 R .945
-(restricted shell is used to set up an en)3.446 F .945
-(vironment more controlled than the standard shell.)-.4 F(It)5.945 E
-(beha)108 700.8 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
+/F5 10.95/Times-Bold@0 SF(RESTRICTED SHELL)72 343.2 Q F0(If)108 355.2 Q
+F1(bash)4.397 E F0 1.897(is started with the name)4.397 F F1(rbash)4.397
+E F0 4.397(,o)C 4.397(rt)-4.397 G(he)-4.397 E F1<ad72>4.397 E F0 1.896
+(option is supplied at in)4.397 F -.2(vo)-.4 G 1.896
+(cation, the shell becomes).2 F 3.445(restricted. A)108 367.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 379.2 Q -.15(ve)-.2 G 2.5(si).15 G(dentically to)-2.5 E F1
(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
-(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
-717.6 S(hanging directories with)-32.5 E F1(cd)2.5 E F0(GNU Bash-4.1)72
-768 Q(2009 December 29)135.965 E(68)185.955 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 32.5<8373>108 84 S(etting or unsetting the v)-32.5 E(alues of)
--.25 E/F1 9/Times-Bold@0 SF(SHELL)2.5 E/F2 9/Times-Roman@0 SF(,)A F1
--.666(PA)2.25 G(TH)-.189 E F2(,)A F1(ENV)2.25 E F2(,)A F0(or)2.25 E F1
--.27(BA)2.5 G(SH_ENV).27 E F0 32.5<8373>108 100.8 S
-(pecifying command names containing)-32.5 E/F3 10/Times-Bold@0 SF(/)2.5
-E F0 32.5<8373>108 117.6 S(pecifying a \214le name containing a)-32.5 E
-F3(/)2.5 E F0(as an ar)2.5 E(gument to the)-.18 E F3(.)2.5 E F0 -.2(bu)5
-G(iltin command).2 E 32.5<8353>108 134.4 S .351
-(pecifying a \214lename containing a slash as an ar)-32.5 F .351
-(gument to the)-.18 F F3<ad70>2.851 E F0 .351(option to the)2.851 F F3
-(hash)2.852 E F0 -.2(bu)2.852 G .352(iltin com-).2 F(mand)144 146.4 Q
-32.5<8369>108 163.2 S(mporting function de\214nitions from the shell en)
--32.5 E(vironment at startup)-.4 E 32.5<8370>108 180 S(arsing the v)
--32.5 E(alue of)-.25 E F1(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
-(vironment at startup)-.4 E 32.5<8372>108 196.8 S(edirecting output usi\
+(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108 396
+S(hanging directories with)-32.5 E F1(cd)2.5 E F0 32.5<8373>108 412.8 S
+(etting or unsetting the v)-32.5 E(alues of)-.25 E F3(SHELL)2.5 E F4(,)A
+F3 -.666(PA)2.25 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E
+F3 -.27(BA)2.5 G(SH_ENV).27 E F0 32.5<8373>108 429.6 S
+(pecifying command names containing)-32.5 E F1(/)2.5 E F0 32.5<8373>108
+446.4 S(pecifying a \214le name containing a)-32.5 E F1(/)2.5 E F0
+(as an ar)2.5 E(gument to the)-.18 E F1(.)2.5 E F0 -.2(bu)5 G
+(iltin command).2 E 32.5<8373>108 463.2 S .45
+(pecifying a \214lename containing a slash as an ar)-32.5 F .449
+(gument to the)-.18 F F1<ad70>2.949 E F0 .449(option to the)2.949 F F1
+(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 475.2 Q
+32.5<8369>108 492 S(mporting function de\214nitions from the shell en)
+-32.5 E(vironment at startup)-.4 E 32.5<8370>108 508.8 S(arsing the v)
+-32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
+(vironment at startup)-.4 E 32.5<8372>108 525.6 S(edirecting output usi\
ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
-<8375>108 213.6 S(sing the)-32.5 E F3(exec)2.5 E F0 -.2(bu)2.5 G
+<8375>108 542.4 S(sing the)-32.5 E F1(exec)2.5 E F0 -.2(bu)2.5 G
(iltin command to replace the shell with another command).2 E 32.5<8361>
-108 230.4 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
-F3<ad66>2.5 E F0(and)2.5 E F3<ad64>2.5 E F0(options to the)2.5 E F3
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 247.2 S
-(sing the)-32.5 E F3(enable)2.5 E F0 -.2(bu)2.5 G
+108 559.2 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
+F1<ad66>2.5 E F0(and)2.5 E F1<ad64>2.5 E F0(options to the)2.5 E F1
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 576 S
+(sing the)-32.5 E F1(enable)2.5 E F0 -.2(bu)2.5 G
(iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
-108 264 S(pecifying the)-32.5 E F3<ad70>2.5 E F0(option to the)2.5 E F3
-(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 280.8 S
-(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F3(set +r)
-2.5 E F0(or)2.5 E F3(set +o r)2.5 E(estricted)-.18 E F0(.)A
-(These restrictions are enforced after an)108 297.6 Q 2.5(ys)-.15 G
+108 592.8 S(pecifying the)-32.5 E F1<ad70>2.5 E F0(option to the)2.5 E
+F1(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8374>108 609.6
+S(urning of)-32.5 E 2.5(fr)-.25 G(estricted mode with)-2.5 E F1(set +r)
+2.5 E F0(or)2.5 E F1(set +o r)2.5 E(estricted)-.18 E F0(.)A
+(These restrictions are enforced after an)108 626.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 314.4 R -.15
-(xe)-.15 G 1.566(cuted \(see).15 F F1 1.566(COMMAND EXECUTION)4.066 F F0
-(abo)3.816 E -.15(ve)-.15 G(\),).15 E F3(rbash)108 326.4 Q F0(turns of)
+(When a command that is found to be a shell script is e)108 643.2 R -.15
+(xe)-.15 G 1.567(cuted \(see).15 F F3 1.567(COMMAND EXECUTION)4.067 F F0
+(abo)3.817 E -.15(ve)-.15 G(\),).15 E F1(rbash)108 655.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/F4 10.95
-/Times-Bold@0 SF(SEE ALSO)72 343.2 Q/F5 10/Times-Italic@0 SF(Bash Refer)
-108 355.2 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F5(The Gnu Readline Libr)108 367.2 Q
+E(wned to e)-.15 E -.15(xe)-.15 G(cute the script.).15 E F5(SEE ALSO)72
+672 Q F2(Bash Refer)108 684 Q(ence Manual)-.37 E F0 2.5(,B)C(rian F)-2.5
+E(ox and Chet Rame)-.15 E(y)-.15 E F2(The Gnu Readline Libr)108 696 Q
(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E
-F5(The Gnu History Libr)108 379.2 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E
-(ox and Chet Rame)-.15 E(y)-.15 E F5 -.8(Po)108 391.2 S(rtable Oper).8 E
-(ating System Interface \(POSIX\) P)-.15 E(art 2: Shell and Utilities)
--.8 E F0 2.5(,I)C(EEE)-2.5 E F5(sh)108 403.2 Q F0(\(1\),)A F5(ksh)2.5 E
-F0(\(1\),)A F5(csh)2.5 E F0(\(1\))A F5(emacs)108 415.2 Q F0(\(1\),)A F5
-(vi)2.5 E F0(\(1\))A F5 -.37(re)108 427.2 S(adline).37 E F0(\(3\))A F4
-(FILES)72 444 Q F5(/bin/bash)109.666 456 Q F0(The)144 468 Q F3(bash)2.5
-E F0 -.15(exe)2.5 G(cutable).15 E F5(/etc/pr)109.666 480 Q(o\214le)-.45
-E F0(The systemwide initialization \214le, e)144 492 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F5(~/.bash_pr)109.666 504 Q(o\214le)-.45 E
-F0(The personal initialization \214le, e)144 516 Q -.15(xe)-.15 G
-(cuted for login shells).15 E F5(~/.bashr)109.666 528 Q(c)-.37 E F0
-(The indi)144 540 Q(vidual per)-.25 E(-interacti)-.2 E -.15(ve)-.25 G
-(-shell startup \214le).15 E F5(~/.bash_lo)109.666 552 Q(gout)-.1 E F0
-(The indi)144 564 Q(vidual login shell cleanup \214le, e)-.25 E -.15(xe)
--.15 G(cuted when a login shell e).15 E(xits)-.15 E F5(~/.inputr)109.666
-576 Q(c)-.37 E F0(Indi)144 588 Q(vidual)-.25 E F5 -.37(re)2.5 G(adline)
-.37 E F0(initialization \214le)2.5 E F4 -.548(AU)72 604.8 S(THORS).548 E
-F0(Brian F)108 616.8 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15
-E(bfox@gnu.or)108 628.8 Q(g)-.18 E(Chet Rame)108 645.6 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 657.6 Q(y@case.edu)-.15 E F4 -.11(BU)72
-674.4 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .567
-(If you \214nd a b)108 686.4 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 698.4 R 5.625(ersion of)-.15
-F F3(bash)8.125 E F0 10.625(.T)C 5.625(he latest v)-10.625 F 5.625
-(ersion is al)-.15 F -.1(wa)-.1 G 5.625(ys a).1 F -.25(va)-.2 G 5.625
-(ilable from).25 F F5(ftp://ftp.gnu.or)108 710.4 Q(g/pub/bash/)-.37 E F0
-(.)A .41(Once you ha)108 727.2 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 F5(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(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(69)185.955 E 0 Cg EP
-%%Page: 70 70
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(70)185.955 E 0 Cg EP
+%%Page: 71 71
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
--.35 E .595(you ha)108 84 R .895 -.15(ve a \214)-.2 H .595
-(x, you are encouraged to mail that as well!).15 F .594
-(Suggestions and `philosophical' b)5.595 F .594(ug reports may)-.2 F
-(be mailed to)108 96 Q/F1 10/Times-Italic@0 SF -.2(bu)2.5 G
-(g-bash@gnu.or).2 E(g)-.37 E F0(or posted to the Usenet ne)2.5 E
-(wsgroup)-.25 E/F2 10/Times-Bold@0 SF(gnu.bash.b)2.5 E(ug)-.2 E F0(.)A
-(ALL b)108 112.8 Q(ug reports should include:)-.2 E(The v)108 129.6 Q
-(ersion number of)-.15 E F2(bash)2.5 E F0(The hardw)108 141.6 Q
-(are and operating system)-.1 E(The compiler used to compile)108 153.6 Q
-2.5(Ad)108 165.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2 E
-2.5(As)108 177.6 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15 G
-(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 194.4 Q(ug)-.2 E F0
+-.35 E/F1 10/Times-Italic@0 SF(The Gnu History Libr)108 84 Q(ary)-.15 E
+F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E F1 -.8(Po)108
+96 S(rtable Oper).8 E(ating System Interface \(POSIX\) P)-.15 E
+(art 2: Shell and Utilities)-.8 E F0 2.5(,I)C(EEE)-2.5 E F1(sh)108 108 Q
+F0(\(1\),)A F1(ksh)2.5 E F0(\(1\),)A F1(csh)2.5 E F0(\(1\))A F1(emacs)
+108 120 Q F0(\(1\),)A F1(vi)2.5 E F0(\(1\))A F1 -.37(re)108 132 S
+(adline).37 E F0(\(3\))A/F2 10.95/Times-Bold@0 SF(FILES)72 148.8 Q F1
+(/bin/bash)109.666 160.8 Q F0(The)144 172.8 Q/F3 10/Times-Bold@0 SF
+(bash)2.5 E F0 -.15(exe)2.5 G(cutable).15 E F1(/etc/pr)109.666 184.8 Q
+(o\214le)-.45 E F0(The systemwide initialization \214le, e)144 196.8 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F1(~/.bash_pr)109.666 208.8
+Q(o\214le)-.45 E F0(The personal initialization \214le, e)144 220.8 Q
+-.15(xe)-.15 G(cuted for login shells).15 E F1(~/.bashr)109.666 232.8 Q
+(c)-.37 E F0(The indi)144 244.8 Q(vidual per)-.25 E(-interacti)-.2 E
+-.15(ve)-.25 G(-shell startup \214le).15 E F1(~/.bash_lo)109.666 256.8 Q
+(gout)-.1 E F0(The indi)144 268.8 Q
+(vidual login shell cleanup \214le, e)-.25 E -.15(xe)-.15 G
+(cuted when a login shell e).15 E(xits)-.15 E F1(~/.inputr)109.666 280.8
+Q(c)-.37 E F0(Indi)144 292.8 Q(vidual)-.25 E F1 -.37(re)2.5 G(adline).37
+E F0(initialization \214le)2.5 E F2 -.548(AU)72 309.6 S(THORS).548 E F0
+(Brian F)108 321.6 Q(ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E
+(bfox@gnu.or)108 333.6 Q(g)-.18 E(Chet Rame)108 350.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 362.4 Q(y@case.edu)-.15 E F2 -.11(BU)72
+379.2 S 2.738(GR).11 G(EPOR)-2.738 E(TS)-.438 E F0 .568
+(If you \214nd a b)108 391.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 .567(ug, and)-.2
+F 5.625(that it appears in the latest v)108 403.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 415.2 Q(g/pub/gnu/bash/)-.37
+E F0(.)A .411(Once you ha)108 432 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 444 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 456 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 472.8 Q(ug reports should include:)-.2 E(The v)
+108 489.6 Q(ersion number of)-.15 E F3(bash)2.5 E F0(The hardw)108 501.6
+Q(are and operating system)-.1 E(The compiler used to compile)108 513.6
+Q 2.5(Ad)108 525.6 S(escription of the b)-2.5 E(ug beha)-.2 E(viour)-.2
+E 2.5(As)108 537.6 S(hort script or `recipe' which e)-2.5 E -.15(xe)-.15
+G(rcises the b).15 E(ug)-.2 E F1(bashb)108.27 554.4 Q(ug)-.2 E F0
(inserts the \214rst three items automatically into the template it pro)
2.72 E(vides for \214ling a b)-.15 E(ug report.)-.2 E(Comments and b)108
-211.2 Q(ug reports concerning this manual page should be directed to)-.2
-E F1 -.15(ch)2.5 G(et@po.cwru.edu).15 E F0(.).25 E/F3 10.95/Times-Bold@0
-SF -.11(BU)72 228 S(GS).11 E F0(It')108 240 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 256.8 R 1.868(ferences between)-.25 F F2
+571.2 Q(ug reports concerning this manual page should be directed to)-.2
+E F1 -.15(ch)2.5 G(et.r).15 E(ame)-.15 E(y@case)-.3 E(.edu)-.15 E F0(.)
+.25 E F2 -.11(BU)72 588 S(GS).11 E F0(It')108 600 Q 2.5(st)-.55 G
+(oo big and too slo)-2.5 E -.65(w.)-.25 G 1.869
+(There are some subtle dif)108 616.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
-F2(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 268.8 Q F0(speci\214cation.)2.25 E
-(Aliases are confusing in some uses.)108 285.6 Q(Shell b)108 302.4 Q
+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 628.8 Q F0(speci\214cation.)2.25 E
+(Aliases are confusing in some uses.)108 645.6 Q(Shell b)108 662.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 319.2 R .389
-(process suspension is attempted.)108 331.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 343.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 355.2 Q(Array v)108 372 Q
-(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
-(There may be only one acti)108 388.8 Q .3 -.15(ve c)-.25 H
-(oprocess at a time.).15 E(GNU Bash-4.1)72 768 Q(2009 December 29)
-135.965 E(70)185.955 E 0 Cg EP
+re not handled gracefully when)108 679.2 R .39
+(process suspension is attempted.)108 691.2 R .389
+(When a process is stopped, the shell immediately e)5.39 F -.15(xe)-.15
+G .389(cutes the ne).15 F .389(xt com-)-.15 F .192
+(mand in the sequence.)108 703.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 715.2 Q
+(GNU Bash-4.2)72 768 Q(2010 December 28)135.965 E(71)185.955 E 0 Cg EP
+%%Page: 72 72
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S 389.54(SH\(1\) B).35 F(ASH\(1\))
+-.35 E(Array v)108 84 Q(ariables may not \(yet\) be e)-.25 E(xported.)
+-.15 E(There may be only one acti)108 100.8 Q .3 -.15(ve c)-.25 H
+(oprocess at a time.).15 E(GNU Bash-4.2)72 768 Q(2010 December 28)
+135.965 E(72)185.955 E 0 Cg EP
%%Trailer
end
%%EOF
diff --git a/doc/bashref.dvi b/doc/bashref.dvi
index 652145a..5494dbf 100644
--- a/doc/bashref.dvi
+++ b/doc/bashref.dvi
Binary files differ
diff --git a/doc/bashref.html b/doc/bashref.html
index d36b72b..ee63422 100644
--- a/doc/bashref.html
+++ b/doc/bashref.html
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<!-- Created on December, 29 2009 by texi2html 1.64 -->
+<!-- Created on December, 28 2010 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -27,18 +27,18 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<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.1, 23 December 2009).
+the Bash shell (version 4.2, 28 December 2010).
</P><P>
-This is Edition 4.1, last updated 23 December 2009,
+This is Edition 4.2, last updated 28 December 2010,
of <CITE>The GNU Bash Reference Manual</CITE>,
-for <CODE>Bash</CODE>, Version 4.1.
+for <CODE>Bash</CODE>, Version 4.2.
</P><P>
Bash contains features that appear in other popular shells, and some
@@ -60,21 +60,21 @@ reference on shell behavior.
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC4">2. Definitions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Some definitions used in the rest of this
manual.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC5">3. Basic Shell Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The shell "building blocks".</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC58">4. Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands that are a part of the shell.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC65">5. Shell Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables used or set by Bash.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC68">6. Bash Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Features found only in Bash.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC91">7. Job Control</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What job control is and how Bash allows you
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC59">4. Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands that are a part of the shell.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC66">5. Shell Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables used or set by Bash.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC69">6. Bash Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Features found only in Bash.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC92">7. Job Control</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What job control is and how Bash allows you
to use it.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC95">8. Command Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Chapter describing the command line
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC96">8. Command Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Chapter describing the command line
editing features.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC119">9. Using History Interactively</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command History Expansion</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC126">10. Installing Bash</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to build and install Bash on your system.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC135">A. Reporting Bugs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to report bugs in Bash.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC136">B. Major Differences From The Bourne Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A terse list of the differences
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC120">9. Using History Interactively</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command History Expansion</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC127">10. Installing Bash</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to build and install Bash on your system.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC136">A. Reporting Bugs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to report bugs in Bash.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC137">B. Major Differences From The Bourne Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A terse list of the differences
between Bash and historical
versions of /bin/sh.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC138">C. GNU Free Documentation License</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Copying and sharing this documentation.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC140">D. Indexes</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Various indexes for this manual.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC139">C. GNU Free Documentation License</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Copying and sharing this documentation.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC141">D. Indexes</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Various indexes for this manual.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -88,7 +88,7 @@ reference on shell behavior.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC4"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<A NAME="Introduction"></A>
@@ -111,7 +111,7 @@ reference on shell behavior.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC4"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 1.1 What is Bash? </H2>
@@ -155,7 +155,7 @@ and Windows platforms.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC4"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 1.2 What is a shell? </H2>
@@ -232,7 +232,7 @@ described in this manual.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 2. Definitions </H1>
@@ -317,7 +317,7 @@ Also referred to as an <CODE>identifier</CODE>.
<DT><CODE>operator</CODE>
<DD><A NAME="IDX12"></A>
A <CODE>control operator</CODE> or a <CODE>redirection operator</CODE>.
-See section <A HREF="bashref.html#SEC39">3.6 Redirections</A>, for a list of redirection operators.
+See section <A HREF="bashref.html#SEC40">3.6 Redirections</A>, for a list of redirection operators.
Operators contain at least one unquoted <CODE>metacharacter</CODE>.
<P>
@@ -376,12 +376,12 @@ Words may not include unquoted <CODE>metacharacters</CODE>.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC4"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC6"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 3. Basic Shell Features </H1>
@@ -406,13 +406,13 @@ and to named files, and how the shell executes commands.
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC6">3.1 Shell Syntax</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What your input means to the shell.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC15">3.2 Shell Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The types of commands you can use.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC24">3.3 Shell Functions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Grouping commands by name.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC25">3.4 Shell Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the shell stores values.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC28">3.5 Shell Expansions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands parameters and the various
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC25">3.3 Shell Functions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Grouping commands by name.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC26">3.4 Shell Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the shell stores values.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC29">3.5 Shell Expansions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands parameters and the various
expansions available.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC39">3.6 Redirections</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A way to control where input and output go.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC50">3.7 Executing Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What happens when you run a command.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC57">3.8 Shell Scripts</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Executing files of shell commands.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC40">3.6 Redirections</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A way to control where input and output go.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC51">3.7 Executing Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What happens when you run a command.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC58">3.8 Shell Scripts</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Executing files of shell commands.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -427,7 +427,7 @@ and to named files, and how the shell executes commands.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.1 Shell Syntax </H2>
@@ -467,7 +467,7 @@ available for further inspection or processing.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.1.1 Shell Operation </H3>
@@ -481,16 +481,16 @@ following:
<OL>
<LI>
-Reads its input from a file (see section <A HREF="bashref.html#SEC57">3.8 Shell Scripts</A>), from a string
+Reads its input from a file (see section <A HREF="bashref.html#SEC58">3.8 Shell Scripts</A>), from a string
supplied as an argument to the <SAMP>`-c'</SAMP> invocation option
-(see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>), or from the user's terminal.
+(see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>), or from the user's terminal.
<P>
<LI>
Breaks the input into words and operators, obeying the quoting rules
described in <A HREF="bashref.html#SEC8">3.1.2 Quoting</A>. These tokens are separated by
<CODE>metacharacters</CODE>. Alias expansion is performed by this step
-(see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>).
+(see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
<P>
<LI>
@@ -499,23 +499,23 @@ Parses the tokens into simple and compound commands
<P>
<LI>
-Performs the various shell expansions (see section <A HREF="bashref.html#SEC28">3.5 Shell Expansions</A>), breaking
-the expanded tokens into lists of filenames (see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>)
+Performs the various shell expansions (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>), breaking
+the expanded tokens into lists of filenames (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>)
and commands and arguments.
<P>
<LI>
-Performs any necessary redirections (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>) and removes
+Performs any necessary redirections (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>) and removes
the redirection operators and their operands from the argument list.
<P>
<LI>
-Executes the command (see section <A HREF="bashref.html#SEC50">3.7 Executing Commands</A>).
+Executes the command (see section <A HREF="bashref.html#SEC51">3.7 Executing Commands</A>).
<P>
<LI>
Optionally waits for the command to complete and collects its exit
-status (see section <A HREF="bashref.html#SEC55">3.7.5 Exit Status</A>).
+status (see section <A HREF="bashref.html#SEC56">3.7.5 Exit Status</A>).
<P>
</OL>
@@ -532,7 +532,7 @@ status (see section <A HREF="bashref.html#SEC55">3.7.5 Exit Status</A>).
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.1.2 Quoting </H3>
@@ -560,9 +560,9 @@ Each of the shell metacharacters (see section <A HREF="bashref.html#SEC4">2. Def
has special meaning to the shell and must be quoted if it is to
represent itself.
When the command history expansion facilities are being used
-(see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>), the
+(see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>), the
<VAR>history expansion</VAR> character, usually <SAMP>`!'</SAMP>, must be quoted
-to prevent history expansion. See section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>, for
+to prevent history expansion. See section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>, for
more details concerning history expansion.
</P><P>
@@ -581,7 +581,7 @@ There are three quoting mechanisms: the
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.1.2.1 Escape Character </H4>
@@ -605,7 +605,7 @@ the input stream and effectively ignored).
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.1.2.2 Single Quotes </H4>
@@ -628,7 +628,7 @@ between single quotes, even when preceded by a backslash.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.1.2.3 Double Quotes </H4>
@@ -640,7 +640,7 @@ of all characters within the quotes, with the exception of
<SAMP>`$'</SAMP>, <SAMP>``'</SAMP>, <SAMP>`\'</SAMP>,
and, when history expansion is enabled, <SAMP>`!'</SAMP>.
The characters <SAMP>`$'</SAMP> and <SAMP>``'</SAMP>
-retain their special meaning within double quotes (see section <A HREF="bashref.html#SEC28">3.5 Shell Expansions</A>).
+retain their special meaning within double quotes (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>).
The backslash retains its special meaning only when followed by one of
the following characters:
<SAMP>`$'</SAMP>, <SAMP>``'</SAMP>, <SAMP>`"'</SAMP>, <SAMP>`\'</SAMP>, or <CODE>newline</CODE>.
@@ -655,7 +655,7 @@ The backslash preceding the <SAMP>`!'</SAMP> is not removed.
</P><P>
The special parameters <SAMP>`*'</SAMP> and <SAMP>`@'</SAMP> have special meaning
-when in double quotes (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+when in double quotes (see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
</P><P>
<A NAME="ANSI-C Quoting"></A>
@@ -669,7 +669,7 @@ when in double quotes (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Para
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.1.2.4 ANSI-C Quoting </H4>
@@ -712,6 +712,12 @@ present, are decoded as follows:
<DT><CODE>\x<VAR>HH</VAR></CODE>
<DD>the eight-bit character whose value is the hexadecimal value <VAR>HH</VAR>
(one or two hex digits)
+<DT><CODE>\u<VAR>HHHH</VAR></CODE>
+<DD>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<VAR>HHHH</VAR> (one to four hex digits)
+<DT><CODE>\U<VAR>HHHHHHHH</VAR></CODE>
+<DD>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<VAR>HHHHHHHH</VAR> (one to eight hex digits)
<DT><CODE>\c<VAR>x</VAR></CODE>
<DD>a control-<VAR>x</VAR> character
</DL>
@@ -732,7 +738,7 @@ been present.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.1.2.5 Locale-Specific Translation </H4>
@@ -771,7 +777,7 @@ fashion:
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.1.3 Comments </H3>
@@ -780,13 +786,13 @@ fashion:
In a non-interactive shell, or an interactive shell in which the
<CODE>interactive_comments</CODE> option to the <CODE>shopt</CODE>
-builtin is enabled (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>),
+builtin is enabled (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>),
a word beginning with <SAMP>`#'</SAMP>
causes that word and all remaining characters on that line to
be ignored. An interactive shell without the <CODE>interactive_comments</CODE>
option enabled does not allow comments. The <CODE>interactive_comments</CODE>
option is on by default in interactive shells.
-See section <A HREF="bashref.html#SEC78">6.3 Interactive Shells</A>, for a description of what makes
+See section <A HREF="bashref.html#SEC79">6.3 Interactive Shells</A>, for a description of what makes
a shell interactive.
</P><P>
@@ -796,12 +802,12 @@ a shell interactive.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC14"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC16"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.2 Shell Commands </H2>
@@ -825,6 +831,7 @@ some other grouping.
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC18">3.2.3 Lists of Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to execute commands sequentially.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC19">3.2.4 Compound Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Shell commands for control flow.</TD></TR>
<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC23">3.2.5 Coprocesses</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Two-way communication between commands.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC24">3.2.6 GNU Parallel</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Running commands in parallel.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -834,12 +841,12 @@ some other grouping.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC17"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.2.1 Simple Commands </H3>
@@ -853,7 +860,7 @@ first word generally specifies a command to be executed, with the
rest of the words being that command's arguments.
</P><P>
-The return status (see section <A HREF="bashref.html#SEC55">3.7.5 Exit Status</A>) of a simple command is
+The return status (see section <A HREF="bashref.html#SEC56">3.7.5 Exit Status</A>) of a simple command is
its exit status as provided
by the POSIX 1003.1 <CODE>waitpid</CODE> function, or 128+<VAR>n</VAR> if
the command was terminated by signal <VAR>n</VAR>.
@@ -867,10 +874,10 @@ the command was terminated by signal <VAR>n</VAR>.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC18"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC18"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.2.2 Pipelines </H3>
@@ -907,23 +914,33 @@ The statistics currently consist of elapsed (wall-clock) time and
user and system time consumed by the command's execution.
The <SAMP>`-p'</SAMP> option changes the output format to that specified
by POSIX.
+When the shell is in POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>),
+it does not recognize <CODE>time</CODE> as a reserved word if the next
+token begins with a <SAMP>`-'</SAMP>.
The <CODE>TIMEFORMAT</CODE> variable may be set to a format string that
specifies how the timing information should be displayed.
-See section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>, for a description of the available formats.
+See section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>, for a description of the available formats.
The use of <CODE>time</CODE> as a reserved word permits the timing of
shell builtins, shell functions, and pipelines. An external
<CODE>time</CODE> command cannot time these easily.
</P><P>
+When the shell is in POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>), <CODE>time</CODE>
+may be followed by a newline. In this case, the shell displays the
+total user and system time consumed by the shell and its children.
+The <CODE>TIMEFORMAT</CODE> variable may be used to specify the format of
+the time information.
+</P><P>
+
If the pipeline is not executed asynchronously (see section <A HREF="bashref.html#SEC18">3.2.3 Lists of Commands</A>), the
shell waits for all commands in the pipeline to complete.
</P><P>
Each command in a pipeline is executed in its own subshell
-(see section <A HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A>). The exit
+(see section <A HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A>). The exit
status of a pipeline is the exit status of the last command in the
pipeline, unless the <CODE>pipefail</CODE> option is enabled
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
If <CODE>pipefail</CODE> is enabled, the pipeline's return status is the
value of the last (rightmost) command to exit with a non-zero status,
or zero if all commands exit successfully.
@@ -942,10 +959,10 @@ returning a value.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC19"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC19"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.2.3 Lists of Commands </H3>
@@ -972,7 +989,7 @@ the shell executes the command asynchronously in a subshell.
This is known as executing the command in the <VAR>background</VAR>.
The shell does not wait for the command to finish, and the return
status is 0 (true).
-When job control is not active (see section <A HREF="bashref.html#SEC91">7. Job Control</A>),
+When job control is not active (see section <A HREF="bashref.html#SEC92">7. Job Control</A>),
the standard input for asynchronous commands, in the absence of any
explicit redirections, is redirected from <CODE>/dev/null</CODE>.
</P><P>
@@ -1020,7 +1037,7 @@ executed in the list.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC23"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.2.4 Compound Commands </H3>
@@ -1037,7 +1054,7 @@ executed in the list.
Compound commands are the shell programming constructs.
Each construct begins with a reserved word or control operator and is
terminated by a corresponding reserved word or operator.
-Any redirections (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>) associated with a compound command
+Any redirections (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>) associated with a compound command
apply to all commands within that compound command unless explicitly overridden.
</P><P>
@@ -1056,7 +1073,7 @@ to group commands and execute them as a unit.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC23"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.2.4.1 Looping Constructs </H4>
@@ -1106,7 +1123,7 @@ in the resultant list, with <VAR>name</VAR> bound to the current member.
If <SAMP>`in <VAR>words</VAR>'</SAMP> is not present, the <CODE>for</CODE> command
executes the <VAR>commands</VAR> once for each positional parameter that is
set, as if <SAMP>`in "$@"'</SAMP> had been specified
-(see section <A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A>).
+(see section <A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A>).
The return status is the exit status of the last command that executes.
If there are no items in the expansion of <VAR>words</VAR>, no commands are
executed, and the return status is zero.
@@ -1117,20 +1134,20 @@ An alternate form of the <CODE>for</CODE> command is also supported:
<TABLE><tr><td>&nbsp;</td><td class=example><pre>for (( <VAR>expr1</VAR> ; <VAR>expr2</VAR> ; <VAR>expr3</VAR> )) ; do <VAR>commands</VAR> ; done
</pre></td></tr></table>First, the arithmetic expression <VAR>expr1</VAR> is evaluated according
-to the rules described below (see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>).
+to the rules described below (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
The arithmetic expression <VAR>expr2</VAR> is then evaluated repeatedly
until it evaluates to zero.
Each time <VAR>expr2</VAR> evaluates to a non-zero value, <VAR>commands</VAR> are
executed and the arithmetic expression <VAR>expr3</VAR> is evaluated.
If any expression is omitted, it behaves as if it evaluates to 1.
-The return value is the exit status of the last command in <VAR>list</VAR>
+The return value is the exit status of the last command in <VAR>commands</VAR>
that is executed, or false if any of the expressions is invalid.
</P><P>
</DL>
<P>
-The <CODE>break</CODE> and <CODE>continue</CODE> builtins (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>)
+The <CODE>break</CODE> and <CODE>continue</CODE> builtins (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>)
may be used to control loop execution.
</P><P>
@@ -1145,7 +1162,7 @@ may be used to control loop execution.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC23"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.2.4.2 Conditional Constructs </H4>
@@ -1196,7 +1213,7 @@ The syntax of the <CODE>case</CODE> command is:
<CODE>case</CODE> will selectively execute the <VAR>command-list</VAR> corresponding to
the first <VAR>pattern</VAR> that matches <VAR>word</VAR>.
If the shell option <CODE>nocasematch</CODE>
-(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>)
+(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>)
is enabled, the match is performed without regard to the case
of alphabetic characters.
The <SAMP>`|'</SAMP> is used to separate multiple patterns, and the <SAMP>`)'</SAMP>
@@ -1296,11 +1313,11 @@ done
</pre></td></tr></table><P>
The arithmetic <VAR>expression</VAR> is evaluated according to the rules
-described below (see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>).
+described below (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
If the value of the expression is non-zero, the return status is 0;
otherwise the return status is 1. This is exactly equivalent to
<TABLE><tr><td>&nbsp;</td><td class=example><pre>let "<VAR>expression</VAR>"
-</pre></td></tr></table>See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>, for a full description of the <CODE>let</CODE> builtin.
+</pre></td></tr></table>See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>, for a full description of the <CODE>let</CODE> builtin.
</P><P>
<DT><CODE>[[<small>...</small>]]</CODE>
@@ -1312,7 +1329,7 @@ otherwise the return status is 1. This is exactly equivalent to
Return a status of 0 or 1 depending on the evaluation of
the conditional expression <VAR>expression</VAR>.
Expressions are composed of the primaries described below in
-<A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A>.
+<A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>.
Word splitting and filename expansion are not performed on the words
between the <SAMP>`[['</SAMP> and <SAMP>`]]'</SAMP>; tilde expansion, parameter and
variable expansion, arithmetic expansion, command substitution, process
@@ -1321,15 +1338,15 @@ Conditional operators such as <SAMP>`-f'</SAMP> must be unquoted to be recognize
as primaries.
</P><P>
-When used with <SAMP>`[['</SAMP>, The <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators sort
+When used with <SAMP>`[['</SAMP>, the <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators sort
lexicographically using the current locale.
</P><P>
When the <SAMP>`=='</SAMP> and <SAMP>`!='</SAMP> operators are used, the string to the
right of the operator is considered a pattern and matched according
-to the rules described below in <A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A>.
+to the rules described below in <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>.
If the shell option <CODE>nocasematch</CODE>
-(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>)
+(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>)
is enabled, the match is performed without regard to the case
of alphabetic characters.
The return value is 0 if the string matches (<SAMP>`=='</SAMP>) or does not
@@ -1347,7 +1364,7 @@ the pattern, and 1 otherwise.
If the regular expression is syntactically incorrect, the conditional
expression's return value is 2.
If the shell option <CODE>nocasematch</CODE>
-(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>)
+(see the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>)
is enabled, the match is performed without regard to the case
of alphabetic characters.
Any part of the pattern may be quoted to force it to be matched as a
@@ -1400,7 +1417,7 @@ value of the entire conditional expression.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC23"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.2.4.3 Grouping Commands </H4>
@@ -1419,7 +1436,7 @@ commands in the list may be redirected to a single stream.
</pre></td></tr></table><P>
Placing a list of commands between parentheses causes a subshell
-environment to be created (see section <A HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A>), and each
+environment to be created (see section <A HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A>), and each
of the commands in <VAR>list</VAR> to be executed in that subshell. Since the
<VAR>list</VAR> is executed in a subshell, variable assignments do not remain in
effect after the subshell completes.
@@ -1458,10 +1475,10 @@ The exit status of both of these constructs is the exit status of
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.2.5 Coprocesses </H3>
@@ -1487,7 +1504,7 @@ the first word of the simple command.
</P><P>
When the coproc is executed, the shell creates an array variable
-(see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>)
+(see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>)
named <VAR>NAME</VAR> in the context of the executing shell.
The standard output of <VAR>command</VAR>
is connected via a pipe to a file descriptor in the executing shell,
@@ -1496,12 +1513,12 @@ The standard input of <VAR>command</VAR>
is connected via a pipe to a file descriptor in the executing shell,
and that file descriptor is assigned to <VAR>NAME</VAR>[1].
This pipe is established before any redirections specified by the
-command (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+command (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
The file descriptors can be utilized as arguments to shell commands
and redirections using standard word expansions.
</P><P>
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
available as the value of the variable <VAR>NAME</VAR>_PID.
The <CODE>wait</CODE>
builtin command may be used to wait for the coprocess to terminate.
@@ -1510,22 +1527,99 @@ builtin command may be used to wait for the coprocess to terminate.
The return status of a coprocess is the exit status of <VAR>command</VAR>.
</P><P>
-<A NAME="Shell Functions"></A>
+<A NAME="GNU Parallel"></A>
<HR SIZE="6">
<A NAME="SEC24"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC23"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC15"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H3> 3.2.6 GNU Parallel </H3>
+<!--docid::SEC24::-->
+<P>
+
+GNU Parallel, as its name suggests, can be used to build and run commands
+in parallel. You may run the same command with different arguments, whether
+they are filenames, usernames, hostnames, or lines read from files.
+</P><P>
+
+For a complete description, refer to the GNU Parallel documentation. A few
+examples should provide a brief introduction to its use.
+</P><P>
+
+For example, it is easy to prefix each line in a text file with a specified
+string:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>cat file | parallel -k echo prefix_string
+</pre></td></tr></table>The <SAMP>`-k'</SAMP> option is required to preserve the lines' order.
+</P><P>
+
+Similarly, you can append a specified string to each line in a text file:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>cat file | parallel -k echo {} append_string
+</pre></td></tr></table></P><P>
+
+You can use Parallel to move files from the current directory when the
+number of files is too large to process with one <CODE>mv</CODE> invocation:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>ls | parallel mv {} destdir
+</pre></td></tr></table></P><P>
+
+As you can see, the {} is replaced with each line read from standard input.
+This will run as many <CODE>mv</CODE> commands as there are files in the current
+directory. You can emulate a parallel <CODE>xargs</CODE> by adding the <SAMP>`-X'</SAMP>
+option:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>ls | parallel -X mv {} destdir
+</pre></td></tr></table></P><P>
+
+GNU Parallel can replace certain common idioms that operate on lines read
+from a file (in this case, filenames):
+<TABLE><tr><td>&nbsp;</td><td class=example><pre> for x in $(cat list); do
+ do-something1 $x config-$x
+ do-something2 &#60; $x
+ done | process-output
+</pre></td></tr></table></P><P>
+
+with a more compact syntax reminiscent of lambdas:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output
+</pre></td></tr></table></P><P>
+
+Parallel provides a built-in mechanism to remove filename extensions, which
+lends itself to batch file transformations or renaming:
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 &&#38; rm {}"
+</pre></td></tr></table>This will recompress all files in the current directory with names ending
+in .gz using bzip2, running one job per CPU (-j+0) in parallel.
+</P><P>
+
+If a command generates output, you may want to preserve the input order in
+the output. For instance, the following command
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel traceroute
+</pre></td></tr></table>will display as output the traceroute invocation that finishes first. Using
+the <SAMP>`-k'</SAMP> option, as we saw above
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>{ echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+</pre></td></tr></table>will ensure that the output of <CODE>traceroute foss.org.my</CODE> is displayed first.
+</P><P>
+
+<A NAME="Shell Functions"></A>
+<HR SIZE="6">
+<A NAME="SEC25"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.3 Shell Functions </H2>
-<!--docid::SEC24::-->
+<!--docid::SEC25::-->
<P>
Shell functions are a way to group commands for later execution
@@ -1539,7 +1633,8 @@ shell context; no new process is created to interpret them.
Functions are declared using this syntax:
<A NAME="IDX45"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>[ <CODE>function</CODE> ] <VAR>name</VAR> () <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre><VAR>name</VAR> () <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]<BR>or<BR>
+<CODE>function</CODE> <VAR>name</VAR> [()] <VAR>compound-command</VAR> [ <VAR>redirections</VAR> ]
</pre></td></tr></table></P><P>
This defines a shell function named <VAR>name</VAR>. The reserved
@@ -1552,12 +1647,12 @@ That command is usually a <VAR>list</VAR> enclosed between { and }, but
may be any compound command listed above.
<VAR>compound-command</VAR> is executed whenever <VAR>name</VAR> is specified as the
name of a command.
-Any redirections (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>) associated with the shell function
+Any redirections (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>) associated with the shell function
are performed when the function is executed.
</P><P>
A function definition may be deleted using the <SAMP>`-f'</SAMP> option to the
-<CODE>unset</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+<CODE>unset</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
</P><P>
The exit status of a function definition is zero unless a syntax error
@@ -1578,7 +1673,7 @@ a <SAMP>`&#38;'</SAMP>, or a newline.
When a function is executed, the arguments to the
function become the positional parameters
-during its execution (see section <A HREF="bashref.html#SEC26">3.4.1 Positional Parameters</A>).
+during its execution (see section <A HREF="bashref.html#SEC27">3.4.1 Positional Parameters</A>).
The special parameter <SAMP>`#'</SAMP> that expands to the number of
positional parameters is updated to reflect the change.
Special parameter <CODE>0</CODE> is unchanged.
@@ -1597,10 +1692,16 @@ the <CODE>set</CODE> builtin,
(in which case all functions inherit the <CODE>DEBUG</CODE> and <CODE>RETURN</CODE> traps),
and the <CODE>ERR</CODE> trap is not inherited unless the <CODE>-o errtrace</CODE>
shell option has been enabled.
-See section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>, for the description of the
+See section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>, for the description of the
<CODE>trap</CODE> builtin.
</P><P>
+The <CODE>FUNCNEST</CODE> variable, if set to a numeric value greater
+than 0, defines a maximum function nesting level. Function
+invocations that exceed the limit cause the entire command to
+abort.
+</P><P>
+
If the builtin command <CODE>return</CODE>
is executed in a function, the function completes and
execution resumes with the next command after the function
@@ -1623,7 +1724,7 @@ the function and the commands it invokes.
Function names and definitions may be listed with the
<SAMP>`-f'</SAMP> option to the <CODE>declare</CODE> or <CODE>typeset</CODE>
-builtin commands (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+builtin commands (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
The <SAMP>`-F'</SAMP> option to <CODE>declare</CODE> or <CODE>typeset</CODE>
will list the function names only
(and optionally the source file and line number, if the <CODE>extdebug</CODE>
@@ -1631,38 +1732,40 @@ shell option is enabled).
Functions may be exported so that subshells
automatically have them defined with the
<SAMP>`-f'</SAMP> option to the <CODE>export</CODE> builtin
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
Note that shell functions and variables with the same name may result
in multiple identically-named entries in the environment passed to the
shell's children.
Care should be taken in cases where this may cause a problem.
</P><P>
-Functions may be recursive. No limit is placed on the number of
-recursive calls.
+Functions may be recursive.
+The <CODE>FUNCNEST</CODE> variable may be used to limit the depth of the
+function call stack and restrict the number of function invocations.
+By default, no limit is placed on the number of recursive calls.
</P><P>
<A NAME="Shell Parameters"></A>
<HR SIZE="6">
-<A NAME="SEC25"></A>
+<A NAME="SEC26"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC24"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC27"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.4 Shell Parameters </H2>
-<!--docid::SEC25::-->
+<!--docid::SEC26::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC26">3.4.1 Positional Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The shell's command-line arguments.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Parameters denoted by special characters.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC27">3.4.1 Positional Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The shell's command-line arguments.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Parameters denoted by special characters.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -1672,7 +1775,7 @@ listed below.
A <VAR>variable</VAR> is a parameter denoted by a <CODE>name</CODE>.
A variable has a <VAR>value</VAR> and zero or more <VAR>attributes</VAR>.
Attributes are assigned using the <CODE>declare</CODE> builtin command
-(see the description of the <CODE>declare</CODE> builtin in <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+(see the description of the <CODE>declare</CODE> builtin in <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
</P><P>
A parameter is set if it has been assigned a value. The null string is
@@ -1689,7 +1792,7 @@ command substitution, arithmetic expansion, and quote
removal (detailed below). If the variable has its <CODE>integer</CODE>
attribute set, then <VAR>value</VAR>
is evaluated as an arithmetic expression even if the <CODE>$((<small>...</small>))</CODE>
-expansion is not used (see section <A HREF="bashref.html#SEC33">3.5.5 Arithmetic Expansion</A>).
+expansion is not used (see section <A HREF="bashref.html#SEC34">3.5.5 Arithmetic Expansion</A>).
Word splitting is not performed, with the exception
of <CODE>"$@"</CODE> as explained below.
Filename expansion is not performed.
@@ -1700,14 +1803,14 @@ and <CODE>local</CODE> builtin commands.
</P><P>
In the context where an assignment statement is assigning a value
-to a shell variable or array index (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>), the <SAMP>`+='</SAMP>
+to a shell variable or array index (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>), the <SAMP>`+='</SAMP>
operator can be used to
append to or add to the variable's previous value.
-When <SAMP>`+='</SAMP> is applied to a variable for which the integer attribute
+When <SAMP>`+='</SAMP> is applied to a variable for which the <VAR>integer</VAR> attribute
has been set, <VAR>value</VAR> is evaluated as an arithmetic expression and
added to the variable's current value, which is also evaluated.
When <SAMP>`+='</SAMP> is applied to an array variable using compound assignment
-(see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>), the
+(see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>), the
variable's value is not unset (as it is when using <SAMP>`='</SAMP>), and new
values are appended to the array beginning at one greater than the array's
maximum index (for indexed arrays), or added as additional key-value pairs
@@ -1718,20 +1821,20 @@ appended to the variable's value.
<A NAME="Positional Parameters"></A>
<HR SIZE="6">
-<A NAME="SEC26"></A>
+<A NAME="SEC27"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC27"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.4.1 Positional Parameters </H3>
-<!--docid::SEC26::-->
+<!--docid::SEC27::-->
<P>
A <VAR>positional parameter</VAR> is a parameter denoted by one or more
@@ -1742,10 +1845,10 @@ Positional parameter <CODE>N</CODE> may be referenced as <CODE>${N}</CODE>, or
as <CODE>$N</CODE> when <CODE>N</CODE> consists of a single digit.
Positional parameters may not be assigned to with assignment statements.
The <CODE>set</CODE> and <CODE>shift</CODE> builtins are used to set and
-unset them (see section <A HREF="bashref.html#SEC58">4. Shell Builtin Commands</A>).
+unset them (see section <A HREF="bashref.html#SEC59">4. Shell Builtin Commands</A>).
The positional parameters are
temporarily replaced when a shell function is executed
-(see section <A HREF="bashref.html#SEC24">3.3 Shell Functions</A>).
+(see section <A HREF="bashref.html#SEC25">3.3 Shell Functions</A>).
</P><P>
When a positional parameter consisting of more than a single
@@ -1754,20 +1857,20 @@ digit is expanded, it must be enclosed in braces.
<A NAME="Special Parameters"></A>
<HR SIZE="6">
-<A NAME="SEC27"></A>
+<A NAME="SEC28"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC25"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC27"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC26"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.4.2 Special Parameters </H3>
-<!--docid::SEC27::-->
+<!--docid::SEC28::-->
<P>
The shell treats several parameters specially. These parameters may
@@ -1849,8 +1952,8 @@ Expands to the process ID of the most recently executed background
<DD><A NAME="IDX61"></A>
Expands to the name of the shell or shell script. This is set at
shell initialization. If Bash is invoked with a file of commands
-(see section <A HREF="bashref.html#SEC57">3.8 Shell Scripts</A>), <CODE>$0</CODE> is set to the name of that file.
-If Bash is started with the <SAMP>`-c'</SAMP> option (see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>),
+(see section <A HREF="bashref.html#SEC58">3.8 Shell Scripts</A>), <CODE>$0</CODE> is set to the name of that file.
+If Bash is started with the <SAMP>`-c'</SAMP> option (see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>),
then <CODE>$0</CODE> is set to the first argument after the string to be
executed, if one is present. Otherwise, it is set
to the filename used to invoke Bash, as given by argument zero.
@@ -1873,20 +1976,20 @@ When checking mail, this parameter holds the name of the mail file.
<A NAME="Shell Expansions"></A>
<HR SIZE="6">
-<A NAME="SEC28"></A>
+<A NAME="SEC29"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC27"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC30"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.5 Shell Expansions </H2>
-<!--docid::SEC28::-->
+<!--docid::SEC29::-->
<P>
Expansion is performed on the command line after it has been split into
@@ -1903,17 +2006,17 @@ Expansion is performed on the command line after it has been split into
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Expansion of expressions within braces.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Expansion of the ~ character.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands variables to their values.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC32">3.5.4 Command Substitution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Using the output of a command as an argument.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC33">3.5.5 Arithmetic Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to use arithmetic in shell expansions.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC34">3.5.6 Process Substitution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A way to write and read to and from a
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Expansion of expressions within braces.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Expansion of the ~ character.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands variables to their values.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC33">3.5.4 Command Substitution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Using the output of a command as an argument.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC34">3.5.5 Arithmetic Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to use arithmetic in shell expansions.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC35">3.5.6 Process Substitution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A way to write and read to and from a
command.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC35">3.5.7 Word Splitting</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the results of expansion are split into separate
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC36">3.5.7 Word Splitting</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the results of expansion are split into separate
arguments.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A shorthand for specifying filenames matching patterns.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC38">3.5.9 Quote Removal</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How and when quote characters are removed from
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A shorthand for specifying filenames matching patterns.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC39">3.5.9 Quote Removal</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How and when quote characters are removed from
words.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -1935,35 +2038,35 @@ Only brace expansion, word splitting, and filename expansion
can change the number of words of the expansion; other expansions
expand a single word to a single word.
The only exceptions to this are the expansions of
-<CODE>"$@"</CODE> (see section <A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A>) and <CODE>"${<VAR>name</VAR>[@]}"</CODE>
-(see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>).
+<CODE>"$@"</CODE> (see section <A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A>) and <CODE>"${<VAR>name</VAR>[@]}"</CODE>
+(see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>).
</P><P>
-After all expansions, <CODE>quote removal</CODE> (see section <A HREF="bashref.html#SEC38">3.5.9 Quote Removal</A>)
+After all expansions, <CODE>quote removal</CODE> (see section <A HREF="bashref.html#SEC39">3.5.9 Quote Removal</A>)
is performed.
</P><P>
<A NAME="Brace Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC29"></A>
+<A NAME="SEC30"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC30"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC31"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.1 Brace Expansion </H3>
-<!--docid::SEC29::-->
+<!--docid::SEC30::-->
<P>
Brace expansion is a mechanism by which arbitrary strings may be generated.
This mechanism is similar to
-<VAR>filename expansion</VAR> (see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>),
+<VAR>filename expansion</VAR> (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>),
but the file names generated need not exist.
Patterns to be brace expanded take the form of an optional <VAR>preamble</VAR>,
followed by either a series of comma-separated strings or a seqeunce expression
@@ -2029,20 +2132,20 @@ above example:
<A NAME="Tilde Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC30"></A>
+<A NAME="SEC31"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC31"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC31"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC30"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.2 Tilde Expansion </H3>
-<!--docid::SEC30::-->
+<!--docid::SEC31::-->
<P>
If a word begins with an unquoted tilde character (<SAMP>`~'</SAMP>), all of the
@@ -2070,7 +2173,7 @@ number <VAR>N</VAR>, optionally prefixed by a <SAMP>`+'</SAMP> or a <SAMP>`-'</S
the tilde-prefix is replaced with the
corresponding element from the directory stack, as it would be displayed
by the <CODE>dirs</CODE> builtin invoked with the characters following tilde
-in the tilde-prefix as an argument (see section <A HREF="bashref.html#SEC86">6.8 The Directory Stack</A>).
+in the tilde-prefix as an argument (see section <A HREF="bashref.html#SEC87">6.8 The Directory Stack</A>).
If the tilde-prefix, sans the tilde, consists of a number without a
leading <SAMP>`+'</SAMP> or <SAMP>`-'</SAMP>, <SAMP>`+'</SAMP> is assumed.
</P><P>
@@ -2127,20 +2230,20 @@ The following table shows how Bash treats unquoted tilde-prefixes:
<A NAME="Shell Parameter Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC31"></A>
+<A NAME="SEC32"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC30"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC31"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.3 Shell Parameter Expansion </H3>
-<!--docid::SEC31::-->
+<!--docid::SEC32::-->
<P>
The <SAMP>`$'</SAMP> character introduces parameter expansion,
@@ -2173,7 +2276,7 @@ Bash uses the value of the variable formed from the rest of
expanded and that value is used in the rest of the substitution, rather
than the value of <VAR>parameter</VAR> itself.
This is known as <CODE>indirect expansion</CODE>.
-The exceptions to this are the expansions of ${!<VAR>prefix*</VAR>}
+The exceptions to this are the expansions of ${!<VAR>prefix</VAR><BR>}
and ${!<VAR>name</VAR>[@]}
described below.
The exclamation point must immediately follow the left brace in order to
@@ -2231,13 +2334,17 @@ starting at the character specified by <VAR>offset</VAR>.
If <VAR>length</VAR> is omitted, expands to the substring of
<VAR>parameter</VAR> starting at the character specified by <VAR>offset</VAR>.
<VAR>length</VAR> and <VAR>offset</VAR> are arithmetic expressions
-(see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>).
+(see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
This is referred to as Substring Expansion.
<P>
-<VAR>length</VAR> must evaluate to a number greater than or equal to zero.
If <VAR>offset</VAR> evaluates to a number less than zero, the value
is used as an offset from the end of the value of <VAR>parameter</VAR>.
+If <VAR>length</VAR> evaluates to a number less than zero, and <VAR>parameter</VAR>
+is not <SAMP>`@'</SAMP> and not an indexed or associative array, it is interpreted
+as an offset from the end of the value of <VAR>parameter</VAR> rather than
+a number of characters, and the expansion is the characters between the
+two offsets.
If <VAR>parameter</VAR> is <SAMP>`@'</SAMP>, the result is <VAR>length</VAR> positional
parameters beginning at <VAR>offset</VAR>.
If <VAR>parameter</VAR> is an indexed array name subscripted
@@ -2288,7 +2395,7 @@ the value substituted is the number of elements in the array.
<DD><DT><CODE>${<VAR>parameter</VAR>##<VAR>word</VAR>}</CODE>
<DD>The <VAR>word</VAR>
is expanded to produce a pattern just as in filename
-expansion (see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>). If the pattern matches
+expansion (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>). If the pattern matches
the beginning of the expanded value of <VAR>parameter</VAR>,
then the result of the expansion is the expanded value of <VAR>parameter</VAR>
with the shortest matching pattern (the <SAMP>`#'</SAMP> case) or the
@@ -2372,20 +2479,20 @@ array in turn, and the expansion is the resultant list.
<A NAME="Command Substitution"></A>
<HR SIZE="6">
-<A NAME="SEC32"></A>
+<A NAME="SEC33"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC31"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.4 Command Substitution </H3>
-<!--docid::SEC32::-->
+<!--docid::SEC33::-->
<P>
Command substitution allows the output of a command to replace
@@ -2424,20 +2531,20 @@ filename expansion are not performed on the results.
<A NAME="Arithmetic Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC33"></A>
+<A NAME="SEC34"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC32"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.5 Arithmetic Expansion </H3>
-<!--docid::SEC33::-->
+<!--docid::SEC34::-->
<P>
Arithmetic expansion allows the evaluation of an arithmetic expression
@@ -2455,27 +2562,27 @@ Arithmetic expansions may be nested.
</P><P>
The evaluation is performed according to the rules listed below
-(see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>).
+(see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
If the expression is invalid, Bash prints a message indicating
failure to the standard error and no substitution occurs.
</P><P>
<A NAME="Process Substitution"></A>
<HR SIZE="6">
-<A NAME="SEC34"></A>
+<A NAME="SEC35"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC33"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.6 Process Substitution </H3>
-<!--docid::SEC34::-->
+<!--docid::SEC35::-->
<P>
Process substitution is supported on systems that support named
@@ -2503,20 +2610,20 @@ expansion.
<A NAME="Word Splitting"></A>
<HR SIZE="6">
-<A NAME="SEC35"></A>
+<A NAME="SEC36"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC34"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.7 Word Splitting </H3>
-<!--docid::SEC35::-->
+<!--docid::SEC36::-->
<P>
The shell scans the results of parameter expansion, command substitution,
@@ -2557,22 +2664,22 @@ is performed.
<A NAME="Filename Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC36"></A>
+<A NAME="SEC37"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC35"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.8 Filename Expansion </H3>
-<!--docid::SEC36::-->
+<!--docid::SEC37::-->
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the shell matches patterns.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How the shell matches patterns.</TD></TR>
</TABLE></BLOCKQUOTE>
<A NAME="IDX64"></A>
<A NAME="IDX65"></A>
@@ -2581,7 +2688,7 @@ is performed.
<P>
After word splitting, unless the <SAMP>`-f'</SAMP> option has been set
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>), Bash scans each word for the characters
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>), Bash scans each word for the characters
<SAMP>`*'</SAMP>, <SAMP>`?'</SAMP>, and <SAMP>`['</SAMP>.
If one of these characters appears, then the word is
regarded as a <VAR>pattern</VAR>,
@@ -2605,7 +2712,7 @@ matched explicitly.
In other cases, the <SAMP>`.'</SAMP> character is not treated specially.
</P><P>
-See the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>,
+See the description of <CODE>shopt</CODE> in <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>,
for a description of the <CODE>nocaseglob</CODE>, <CODE>nullglob</CODE>,
<CODE>failglob</CODE>, and <CODE>dotglob</CODE> options.
</P><P>
@@ -2630,20 +2737,20 @@ is unset.
<A NAME="Pattern Matching"></A>
<HR SIZE="6">
-<A NAME="SEC37"></A>
+<A NAME="SEC38"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC36"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H4> 3.5.8.1 Pattern Matching </H4>
-<!--docid::SEC37::-->
+<!--docid::SEC38::-->
<P>
Any character that appears in a pattern, other than the special pattern
@@ -2746,20 +2853,20 @@ sub-patterns:
<A NAME="Quote Removal"></A>
<HR SIZE="6">
-<A NAME="SEC38"></A>
+<A NAME="SEC39"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC37"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC28"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC29"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.5.9 Quote Removal </H3>
-<!--docid::SEC38::-->
+<!--docid::SEC39::-->
<P>
After the preceding expansions, all unquoted occurrences of the
@@ -2769,20 +2876,20 @@ result from one of the above expansions are removed.
<A NAME="Redirections"></A>
<HR SIZE="6">
-<A NAME="SEC39"></A>
+<A NAME="SEC40"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC38"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC41"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.6 Redirections </H2>
-<!--docid::SEC39::-->
+<!--docid::SEC40::-->
<P>
Before a command is executed, its input and output
@@ -2876,20 +2983,20 @@ internally.
</P><P>
<HR SIZE="6">
-<A NAME="SEC40"></A>
+<A NAME="SEC41"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC41"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.1 Redirecting Input </H3>
-<!--docid::SEC40::-->
+<!--docid::SEC41::-->
Redirection of input causes the file whose name results from
the expansion of <VAR>word</VAR>
to be opened for reading on file descriptor <CODE>n</CODE>,
@@ -2902,20 +3009,20 @@ The general format for redirecting input is:
</pre></td></tr></table></P><P>
<HR SIZE="6">
-<A NAME="SEC41"></A>
+<A NAME="SEC42"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC41"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.2 Redirecting Output </H3>
-<!--docid::SEC41::-->
+<!--docid::SEC42::-->
Redirection of output causes the file whose name results from
the expansion of <VAR>word</VAR>
to be opened for writing on file descriptor <VAR>n</VAR>,
@@ -2938,20 +3045,20 @@ is attempted even if the file named by <VAR>word</VAR> exists.
</P><P>
<HR SIZE="6">
-<A NAME="SEC42"></A>
+<A NAME="SEC43"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC41"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.3 Appending Redirected Output </H3>
-<!--docid::SEC42::-->
+<!--docid::SEC43::-->
Redirection of output in this fashion
causes the file whose name results from
the expansion of <VAR>word</VAR>
@@ -2965,20 +3072,20 @@ The general format for appending output is:
</pre></td></tr></table></P><P>
<HR SIZE="6">
-<A NAME="SEC43"></A>
+<A NAME="SEC44"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.4 Redirecting Standard Output and Standard Error </H3>
-<!--docid::SEC43::-->
+<!--docid::SEC44::-->
This construct allows both the
standard output (file descriptor 1) and
the standard error output (file descriptor 2)
@@ -2997,20 +3104,20 @@ This is semantically equivalent to
</pre></td></tr></table></P><P>
<HR SIZE="6">
-<A NAME="SEC44"></A>
+<A NAME="SEC45"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC43"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.5 Appending Standard Output and Standard Error </H3>
-<!--docid::SEC44::-->
+<!--docid::SEC45::-->
This construct allows both the
standard output (file descriptor 1) and
the standard error output (file descriptor 2)
@@ -3025,20 +3132,20 @@ The format for appending standard output and standard error is:
</pre></td></tr></table></P><P>
<HR SIZE="6">
-<A NAME="SEC45"></A>
+<A NAME="SEC46"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC44"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.6 Here Documents </H3>
-<!--docid::SEC45::-->
+<!--docid::SEC46::-->
This type of redirection instructs the shell to read input from the
current source until a line containing only <VAR>word</VAR>
(with no trailing blanks) is seen. All of
@@ -3073,20 +3180,20 @@ natural fashion.
</P><P>
<HR SIZE="6">
-<A NAME="SEC46"></A>
+<A NAME="SEC47"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC45"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.7 Here Strings </H3>
-<!--docid::SEC46::-->
+<!--docid::SEC47::-->
A variant of here documents, the format is:
<TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;&#60;&#60; <VAR>word</VAR>
</pre></td></tr></table><P>
@@ -3096,20 +3203,20 @@ input.
</P><P>
<HR SIZE="6">
-<A NAME="SEC47"></A>
+<A NAME="SEC48"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC46"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC49"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC49"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.8 Duplicating File Descriptors </H3>
-<!--docid::SEC47::-->
+<!--docid::SEC48::-->
The redirection operator
<TABLE><tr><td>&nbsp;</td><td class=example><pre>[<VAR>n</VAR>]&#60;&#38;<VAR>word</VAR>
</pre></td></tr></table>is used to duplicate input file descriptors.
@@ -3135,20 +3242,20 @@ error are redirected as described previously.
</P><P>
<HR SIZE="6">
-<A NAME="SEC48"></A>
+<A NAME="SEC49"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC47"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC49"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.9 Moving File Descriptors </H3>
-<!--docid::SEC48::-->
+<!--docid::SEC49::-->
The redirection operator
<TABLE><tr><td>&nbsp;</td><td class=example><pre>[<VAR>n</VAR>]&#60;&#38;<VAR>digit</VAR>-
</pre></td></tr></table>moves the file descriptor <VAR>digit</VAR> to file descriptor <VAR>n</VAR>,
@@ -3163,20 +3270,20 @@ or the standard output (file descriptor 1) if <VAR>n</VAR> is not specified.
</P><P>
<HR SIZE="6">
-<A NAME="SEC49"></A>
+<A NAME="SEC50"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC48"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC41"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC39"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC49"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC42"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC40"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.6.10 Opening File Descriptors for Reading and Writing </H3>
-<!--docid::SEC49::-->
+<!--docid::SEC50::-->
The redirection operator
<TABLE><tr><td>&nbsp;</td><td class=example><pre>[<VAR>n</VAR>]&#60;&#62;<VAR>word</VAR>
</pre></td></tr></table>causes the file whose name is the expansion of <VAR>word</VAR>
@@ -3187,53 +3294,53 @@ is not specified. If the file does not exist, it is created.
<A NAME="Executing Commands"></A>
<HR SIZE="6">
-<A NAME="SEC50"></A>
+<A NAME="SEC51"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC49"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC52"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.7 Executing Commands </H2>
-<!--docid::SEC50::-->
+<!--docid::SEC51::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC51">3.7.1 Simple Command Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands simple commands before
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC52">3.7.1 Simple Command Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash expands simple commands before
executing them.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC52">3.7.2 Command Search and Execution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash finds commands and runs them.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment in which Bash
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC53">3.7.2 Command Search and Execution</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash finds commands and runs them.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment in which Bash
executes commands that are not
shell builtins.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC54">3.7.4 Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment given to a command.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC55">3.7.5 Exit Status</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The status returned by commands and how Bash
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC55">3.7.4 Environment</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The environment given to a command.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC56">3.7.5 Exit Status</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The status returned by commands and how Bash
interprets it.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC56">3.7.6 Signals</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What happens when Bash or a command it runs
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC57">3.7.6 Signals</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What happens when Bash or a command it runs
receives a signal.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Simple Command Expansion"></A>
<HR SIZE="6">
-<A NAME="SEC51"></A>
+<A NAME="SEC52"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC52"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC53"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.1 Simple Command Expansion </H3>
-<!--docid::SEC51::-->
+<!--docid::SEC52::-->
<P>
When a simple command is executed, the shell performs the following
@@ -3249,14 +3356,14 @@ processing.
<LI>
The words that are not variable assignments or redirections are
-expanded (see section <A HREF="bashref.html#SEC28">3.5 Shell Expansions</A>).
+expanded (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>).
If any words remain after expansion, the first word
is taken to be the name of the command and the remaining words are
the arguments.
<P>
<LI>
-Redirections are performed as described above (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+Redirections are performed as described above (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<LI>
@@ -3287,20 +3394,20 @@ were no command substitutions, the command exits with a status of zero.
<A NAME="Command Search and Execution"></A>
<HR SIZE="6">
-<A NAME="SEC52"></A>
+<A NAME="SEC53"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC53"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC53"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC52"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.2 Command Search and Execution </H3>
-<!--docid::SEC52::-->
+<!--docid::SEC53::-->
<P>
After a command has been split into words, if it results in a
@@ -3312,7 +3419,7 @@ actions are taken.
<LI>
If the command name contains no slashes, the shell attempts to
locate it. If there exists a shell function by that name, that
-function is invoked as described in <A HREF="bashref.html#SEC24">3.3 Shell Functions</A>.
+function is invoked as described in <A HREF="bashref.html#SEC25">3.3 Shell Functions</A>.
<P>
<LI>
@@ -3327,7 +3434,7 @@ and contains no slashes, Bash searches each element of
<CODE>$PATH</CODE> for a directory containing an executable file
by that name. Bash uses a hash table to remember the full
pathnames of executable files to avoid multiple <CODE>PATH</CODE> searches
-(see the description of <CODE>hash</CODE> in <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see the description of <CODE>hash</CODE> in <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
A full search of the directories in <CODE>$PATH</CODE>
is performed only if the command is not found in the hash table.
If the search is unsuccessful, the shell searches for a defined shell
@@ -3351,7 +3458,7 @@ to the command are set to the arguments supplied, if any.
If this execution fails because the file is not in executable
format, and the file is not a directory, it is assumed to be a
<VAR>shell script</VAR> and the shell executes it as described in
-<A HREF="bashref.html#SEC57">3.8 Shell Scripts</A>.
+<A HREF="bashref.html#SEC58">3.8 Shell Scripts</A>.
<P>
<LI>
@@ -3364,20 +3471,20 @@ the command to complete and collects its exit status.
<A NAME="Command Execution Environment"></A>
<HR SIZE="6">
-<A NAME="SEC53"></A>
+<A NAME="SEC54"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC52"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC53"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.3 Command Execution Environment </H3>
-<!--docid::SEC53::-->
+<!--docid::SEC54::-->
<P>
The shell has an <VAR>execution environment</VAR>, which consists of the
@@ -3420,11 +3527,11 @@ arguments) or by <CODE>set</CODE>
<P>
<LI>
-options enabled by <CODE>shopt</CODE> (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>)
+options enabled by <CODE>shopt</CODE> (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>)
<P>
<LI>
-shell aliases defined with <CODE>alias</CODE> (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>)
+shell aliases defined with <CODE>alias</CODE> (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>)
<P>
<LI>
@@ -3459,7 +3566,7 @@ the file creation mode mask
<LI>
shell variables and functions marked for export, along with variables
-exported for the command, passed in the environment (see section <A HREF="bashref.html#SEC54">3.7.4 Environment</A>)
+exported for the command, passed in the environment (see section <A HREF="bashref.html#SEC55">3.7.4 Environment</A>)
<P>
<LI>
@@ -3497,20 +3604,20 @@ shell as modified by redirections.
<A NAME="Environment"></A>
<HR SIZE="6">
-<A NAME="SEC54"></A>
+<A NAME="SEC55"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC53"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.4 Environment </H3>
-<!--docid::SEC54::-->
+<!--docid::SEC55::-->
<P>
When a program is invoked it is given an array of strings
@@ -3537,12 +3644,12 @@ commands, plus any additions via the <CODE>export</CODE> and
The environment for any simple command
or function may be augmented temporarily by prefixing it with
-parameter assignments, as described in <A HREF="bashref.html#SEC25">3.4 Shell Parameters</A>.
+parameter assignments, as described in <A HREF="bashref.html#SEC26">3.4 Shell Parameters</A>.
These assignment statements affect only the environment seen
by that command.
</P><P>
-If the <SAMP>`-k'</SAMP> option is set (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>), then all
+If the <SAMP>`-k'</SAMP> option is set (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>), then all
parameter assignments are placed in the environment for a command,
not just those that precede the command name.
</P><P>
@@ -3554,20 +3661,20 @@ command in its environment.
<A NAME="Exit Status"></A>
<HR SIZE="6">
-<A NAME="SEC55"></A>
+<A NAME="SEC56"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC54"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.5 Exit Status </H3>
-<!--docid::SEC55::-->
+<!--docid::SEC56::-->
<P>
The exit status of an executed command is the value returned by the
@@ -3611,20 +3718,20 @@ All builtins return an exit status of 2 to indicate incorrect usage.
<A NAME="Signals"></A>
<HR SIZE="6">
-<A NAME="SEC56"></A>
+<A NAME="SEC57"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC55"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC50"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC51"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 3.7.6 Signals </H3>
-<!--docid::SEC56::-->
+<!--docid::SEC57::-->
<P>
When Bash is interactive, in the absence of any traps, it ignores
@@ -3633,7 +3740,7 @@ and <CODE>SIGINT</CODE>
is caught and handled (so that the <CODE>wait</CODE> builtin is interruptible).
When Bash receives a <CODE>SIGINT</CODE>, it breaks out of any executing loops.
In all cases, Bash ignores <CODE>SIGQUIT</CODE>.
-If job control is in effect (see section <A HREF="bashref.html#SEC91">7. Job Control</A>), Bash
+If job control is in effect (see section <A HREF="bashref.html#SEC92">7. Job Control</A>), Bash
ignores <CODE>SIGTTIN</CODE>, <CODE>SIGTTOU</CODE>, and <CODE>SIGTSTP</CODE>.
</P><P>
@@ -3655,12 +3762,12 @@ the <CODE>SIGHUP</CODE>.
To prevent the shell from sending the <CODE>SIGHUP</CODE> signal to a
particular job, it should be removed
from the jobs table with the <CODE>disown</CODE>
-builtin (see section <A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A>) or marked
+builtin (see section <A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A>) or marked
to not receive <CODE>SIGHUP</CODE> using <CODE>disown -h</CODE>.
</P><P>
If the <CODE>huponexit</CODE> shell option has been set with <CODE>shopt</CODE>
-(see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>), Bash sends a <CODE>SIGHUP</CODE> to all jobs when
+(see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>), Bash sends a <CODE>SIGHUP</CODE> to all jobs when
an interactive login shell exits.
</P><P>
@@ -3676,26 +3783,26 @@ which the trap is executed.
<A NAME="Shell Scripts"></A>
<HR SIZE="6">
-<A NAME="SEC57"></A>
+<A NAME="SEC58"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC56"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC5"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 3.8 Shell Scripts </H2>
-<!--docid::SEC57::-->
+<!--docid::SEC58::-->
<P>
A shell script is a text file containing shell commands. When such
a file is used as the first non-option argument when invoking Bash,
and neither the <SAMP>`-c'</SAMP> nor <SAMP>`-s'</SAMP> option is supplied
-(see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>),
+(see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>),
Bash reads and executes commands from the file, then exits. This
mode of operation creates a non-interactive shell. The shell first
searches for the file in the current directory, and looks in the
@@ -3723,7 +3830,7 @@ if <CODE>filename</CODE> is an executable shell script.
This subshell reinitializes itself, so that the effect is as if a
new shell had been invoked to interpret the script, with the
exception that the locations of commands remembered by the parent
-(see the description of <CODE>hash</CODE> in <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>)
+(see the description of <CODE>hash</CODE> in <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>)
are retained by the child.
</P><P>
@@ -3752,29 +3859,29 @@ under another shell.
<A NAME="Shell Builtin Commands"></A>
<HR SIZE="6">
-<A NAME="SEC58"></A>
+<A NAME="SEC59"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC57"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC60"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 4. Shell Builtin Commands </H1>
-<!--docid::SEC58::-->
+<!--docid::SEC59::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands inherited from the Bourne
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands inherited from the Bourne
Shell.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Table of builtins specific to Bash.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC61">4.3 Modifying Shell Behavior</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtins to modify shell attributes and
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Table of builtins specific to Bash.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC62">4.3 Modifying Shell Behavior</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtins to modify shell attributes and
optional behavior.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC64">4.4 Special Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands classified specially by
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC65">4.4 Special Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands classified specially by
POSIX.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -3794,10 +3901,10 @@ to or have been extended in Bash.
Several builtin commands are described in other chapters: builtin
commands which provide the Bash interface to the job control
-facilities (see section <A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A>), the directory stack
-(see section <A HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A>), the command history
-(see section <A HREF="bashref.html#SEC121">9.2 Bash History Builtins</A>), and the programmable completion
-facilities (see section <A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A>).
+facilities (see section <A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A>), the directory stack
+(see section <A HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A>), the command history
+(see section <A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A>), and the programmable completion
+facilities (see section <A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A>).
</P><P>
Many of the builtins have been extended by POSIX or Bash.
@@ -3818,20 +3925,20 @@ require <SAMP>`--'</SAMP> to prevent this interpretation.
<A NAME="Bourne Shell Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC59"></A>
+<A NAME="SEC60"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC60"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.1 Bourne Shell Builtins </H2>
-<!--docid::SEC59::-->
+<!--docid::SEC60::-->
<P>
The following shell builtin commands are inherited from the Bourne Shell.
@@ -3874,7 +3981,7 @@ The return status is zero unless <VAR>n</VAR> is not greater than or equal to 1.
<DT><CODE>cd</CODE>
<DD><A NAME="IDX71"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>cd [-L|-P] [<VAR>directory</VAR>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>cd [-L|[-P [-e]]] [<VAR>directory</VAR>]
</pre></td></tr></table>Change the current working directory to <VAR>directory</VAR>.
If <VAR>directory</VAR> is not given, the value of the <CODE>HOME</CODE> shell
variable is used.
@@ -3884,6 +3991,10 @@ If <VAR>directory</VAR> begins with a slash, <CODE>CDPATH</CODE> is not used.
The <SAMP>`-P'</SAMP> option means to not follow symbolic links; symbolic
links are followed by default or with the <SAMP>`-L'</SAMP> option.
+If the <SAMP>`-e'</SAMP> option is supplied with <SAMP>`-P'</SAMP>
+and the current working directory cannot be successfully determined
+after a successful directory change, <CODE>cd</CODE> will return an unsuccessful
+status.
If <VAR>directory</VAR> is <SAMP>`-'</SAMP>, it is equivalent to <CODE>$OLDPWD</CODE>.
</P><P>
@@ -3988,7 +4099,7 @@ invocation if a new set of parameters is to be used.
When the end of options is encountered, <CODE>getopts</CODE> exits with a
return value greater than zero.
<CODE>OPTIND</CODE> is set to the index of the first non-option argument,
-and <CODE>name</CODE> is set to <SAMP>`?'</SAMP>.
+and <VAR>name</VAR> is set to <SAMP>`?'</SAMP>.
</P><P>
<CODE>getopts</CODE>
@@ -4023,10 +4134,12 @@ If <CODE>getopts</CODE> is silent, then a colon (<SAMP>`:'</SAMP>) is placed in
<DT><CODE>hash</CODE>
<DD><A NAME="IDX78"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>hash [-r] [-p <VAR>filename</VAR>] [-dt] [<VAR>name</VAR>]
-</pre></td></tr></table>Remember the full pathnames of commands specified as <VAR>name</VAR> arguments,
+</pre></td></tr></table>Each time <CODE>hash</CODE> is invoked, it remembers the full pathnames of the
+commands specified as <VAR>name</VAR> arguments,
so they need not be searched for on subsequent invocations.
The commands are found by searching through the directories listed in
<CODE>$PATH</CODE>.
+Any previously-remembered pathname is discarded.
The <SAMP>`-p'</SAMP> option inhibits the path search, and <VAR>filename</VAR> is
used as the location of <VAR>name</VAR>.
The <SAMP>`-r'</SAMP> option causes the shell to forget all remembered locations.
@@ -4117,7 +4230,7 @@ less than zero, non-zero otherwise.
Evaluate a conditional expression <VAR>expr</VAR>.
Each operator and operand must be a separate argument.
Expressions are composed of the primaries described below in
-<A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A>.
+<A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>.
<CODE>test</CODE> does not accept any options, nor does it accept and ignore
an argument of <SAMP>`--'</SAMP> as signifying the end of options.
<P>
@@ -4129,6 +4242,7 @@ be a <CODE>]</CODE>.
Expressions may be combined using the following operators, listed in
decreasing order of precedence.
The evaluation depends on the number of arguments; see below.
+Operator precedence is used when there are five or more arguments.
</P><P>
<DL COMPACT>
@@ -4167,15 +4281,16 @@ expressions using a set of rules based on the number of arguments.
<DD>If the first argument is <SAMP>`!'</SAMP>, the expression is true if and
only if the second argument is null.
If the first argument is one of the unary conditional operators
-(see section <A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A>), the expression
+(see section <A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>), the expression
is true if the unary test is true.
If the first argument is not a valid unary operator, the expression is
false.
<P>
<DT>3 arguments
-<DD>If the second argument is one of the binary conditional
-operators (see section <A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A>), the
+<DD>The following conditions are applied in the order listed.
+If the second argument is one of the binary conditional
+operators (see section <A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>), the
result of the expression is the result of the binary test using the
first and third arguments as operands.
The <SAMP>`-a'</SAMP> and <SAMP>`-o'</SAMP> operators are considered binary operators
@@ -4201,6 +4316,10 @@ using the rules listed above.
</DL>
<P>
+When used with <CODE>test</CODE> or <SAMP>`['</SAMP>, the <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP>
+operators sort lexicographically using ASCII ordering.
+</P><P>
+
<DT><CODE>times</CODE>
<DD><A NAME="IDX85"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>times
@@ -4237,7 +4356,7 @@ before every simple command, <CODE>for</CODE> command, <CODE>case</CODE> command
<CODE>select</CODE> command, every arithmetic <CODE>for</CODE> command, and before
the first command executes in a shell function.
Refer to the description of the <CODE>extdebug</CODE> option to the
-<CODE>shopt</CODE> builtin (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>) for details of its
+<CODE>shopt</CODE> builtin (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>) for details of its
effect on the <CODE>DEBUG</CODE> trap.
If a <VAR>sigspec</VAR> is <CODE>RETURN</CODE>, the command <VAR>arg</VAR> is executed
each time a shell function or a script executed with the <CODE>.</CODE> or
@@ -4301,20 +4420,20 @@ The return status is zero unless a <VAR>name</VAR> is readonly.
<A NAME="Bash Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC60"></A>
+<A NAME="SEC61"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC60"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.2 Bash Builtin Commands </H2>
-<!--docid::SEC60::-->
+<!--docid::SEC61::-->
<P>
This section describes builtin commands which are unique to
@@ -4335,7 +4454,7 @@ them to be reused as input.
If arguments are supplied, an alias is defined for each <VAR>name</VAR>
whose <VAR>value</VAR> is given. If no <VAR>value</VAR> is given, the name
and value of the alias is printed.
-Aliases are described in <A HREF="bashref.html#SEC84">6.6 Aliases</A>.
+Aliases are described in <A HREF="bashref.html#SEC85">6.6 Aliases</A>.
</P><P>
<DT><CODE>bind</CODE>
@@ -4348,12 +4467,12 @@ bind [-m <VAR>keymap</VAR>] <VAR>keyseq:function-name</VAR>
bind <VAR>readline-command</VAR>
</pre></td></tr></table><P>
-Display current Readline (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>)
+Display current Readline (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>)
key and function bindings,
bind a key sequence to a Readline function or macro,
or set a Readline variable.
Each non-option argument is a command as it would appear in a
-Readline initialization file (see section <A HREF="bashref.html#SEC103">8.3 Readline Init File</A>),
+Readline initialization file (see section <A HREF="bashref.html#SEC104">8.3 Readline Init File</A>),
but each binding or command must be passed as a separate argument; e.g.,
<SAMP>`"\C-x\C-r":re-read-init-file'</SAMP>.
</P><P>
@@ -4526,20 +4645,27 @@ option will restrict the display to shell functions.
The <SAMP>`-F'</SAMP> option inhibits the display of function definitions;
only the function name and attributes are printed.
If the <CODE>extdebug</CODE> shell option is enabled using <CODE>shopt</CODE>
-(see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>), the source file name and line number where
+(see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>), the source file name and line number where
the function is defined are displayed as well.
<SAMP>`-F'</SAMP> implies <SAMP>`-f'</SAMP>.
+</P><P>
+
+The <SAMP>`-g'</SAMP> option forces variables to be created or modified at
+the global scope, even when \fBdeclare\fP is executed in a shell function.
+It is ignored in all other cases.
+</P><P>
+
The following options can be used to restrict output to variables with
the specified attributes or to give variables attributes:
</P><P>
<DL COMPACT>
<DT><CODE>-a</CODE>
-<DD>Each <VAR>name</VAR> is an indexed array variable (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>).
+<DD>Each <VAR>name</VAR> is an indexed array variable (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>).
<P>
<DT><CODE>-A</CODE>
-<DD>Each <VAR>name</VAR> is an associative array variable (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>).
+<DD>Each <VAR>name</VAR> is an associative array variable (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>).
<P>
<DT><CODE>-f</CODE>
@@ -4548,7 +4674,7 @@ the specified attributes or to give variables attributes:
<DT><CODE>-i</CODE>
<DD>The variable is to be treated as
-an integer; arithmetic evaluation (see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>) is
+an integer; arithmetic evaluation (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>) is
performed when the variable is assigned a value.
<P>
@@ -4587,15 +4713,16 @@ with the exceptions that <SAMP>`+a'</SAMP>
may not be used to destroy an array variable and <SAMP>`+r'</SAMP> will not
remove the readonly attribute.
When used in a function, <CODE>declare</CODE> makes each <VAR>name</VAR> local,
-as with the <CODE>local</CODE> command. If a variable name is followed by
-=<VAR>value</VAR>, the value of the variable is set to <VAR>value</VAR>.
+as with the <CODE>local</CODE> command, unless the <SAMP>`-g'</SAMP> option is used.
+If a variable name is followed by =<VAR>value</VAR>, the value of the variable
+is set to <VAR>value</VAR>.
</P><P>
The return status is zero unless an invalid option is encountered,
an attempt is made to define a function using <SAMP>`-f foo=bar'</SAMP>,
an attempt is made to assign a value to a readonly variable,
an attempt is made to assign a value to an array variable without
-using the compound assignment syntax (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>),
+using the compound assignment syntax (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>),
one of the <VAR>names</VAR> is not a valid shell variable name,
an attempt is made to turn off readonly status for a readonly variable,
an attempt is made to turn off array status for an array variable,
@@ -4628,6 +4755,7 @@ escape characters by default.
<DT><CODE>\c</CODE>
<DD>suppress further output
<DT><CODE>\e</CODE>
+<DD><DT><CODE>\E</CODE>
<DD>escape
<DT><CODE>\f</CODE>
<DD>form feed
@@ -4647,6 +4775,12 @@ escape characters by default.
<DT><CODE>\x<VAR>HH</VAR></CODE>
<DD>the eight-bit character whose value is the hexadecimal value <VAR>HH</VAR>
(one or two hex digits)
+<DT><CODE>\u<VAR>HHHH</VAR></CODE>
+<DD>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<VAR>HHHH</VAR> (one to four hex digits)
+<DT><CODE>\U<VAR>HHHHHHHH</VAR></CODE>
+<DD>the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+<VAR>HHHHHHHH</VAR> (one to eight hex digits)
</DL>
<P>
@@ -4678,7 +4812,7 @@ The <SAMP>`-d'</SAMP> option will delete a builtin loaded with <SAMP>`-f'</SAMP>
If there are no options, a list of the shell builtins is displayed.
The <SAMP>`-s'</SAMP> option restricts <CODE>enable</CODE> to the POSIX special
builtins. If <SAMP>`-s'</SAMP> is used with <SAMP>`-f'</SAMP>, the new builtin becomes
-a special builtin (see section <A HREF="bashref.html#SEC64">4.4 Special Builtins</A>).
+a special builtin (see section <A HREF="bashref.html#SEC65">4.4 Special Builtins</A>).
</P><P>
The return status is zero unless a <VAR>name</VAR> is not a shell builtin
@@ -4715,7 +4849,7 @@ The return status is zero unless no command matches <VAR>pattern</VAR>.
<TABLE><tr><td>&nbsp;</td><td class=example><pre>let <VAR>expression</VAR> [<VAR>expression</VAR>]
</pre></td></tr></table>The <CODE>let</CODE> builtin allows arithmetic to be performed on shell
variables. Each <VAR>expression</VAR> is evaluated according to the
-rules given below in <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>. If the
+rules given below in <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>. If the
last <VAR>expression</VAR> evaluates to 0, <CODE>let</CODE> returns 1;
otherwise 0 is returned.
<P>
@@ -4773,7 +4907,8 @@ The <SAMP>`-c'</SAMP> option specifies <VAR>quantum</VAR>.
If <SAMP>`-C'</SAMP> is specified without <SAMP>`-c'</SAMP>,
the default quantum is 5000.
When <VAR>callback</VAR> is evaluated, it is supplied the index of the next
-array element to be assigned as an additional argument.
+array element to be assigned and the line to be assigned to that element
+as additional arguments.
<VAR>callback</VAR> is evaluated after the line is read but before the
array element is assigned.
</P><P>
@@ -4792,23 +4927,42 @@ is not an indexed array.
<TABLE><tr><td>&nbsp;</td><td class=example><pre>printf [-v <VAR>var</VAR>] <VAR>format</VAR> [<VAR>arguments</VAR>]
</pre></td></tr></table>Write the formatted <VAR>arguments</VAR> to the standard output under the
control of the <VAR>format</VAR>.
+The <SAMP>`-v'</SAMP> option causes the output to be assigned to the variable
+<VAR>var</VAR> rather than being printed to the standard output.
+<P>
+
The <VAR>format</VAR> is a character string which contains three types of objects:
plain characters, which are simply copied to standard output, character
escape sequences, which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive
<VAR>argument</VAR>.
-In addition to the standard <CODE>printf(1)</CODE> formats, <SAMP>`%b'</SAMP> causes
-<CODE>printf</CODE> to expand backslash escape sequences in the corresponding
-<VAR>argument</VAR>,
+In addition to the standard <CODE>printf(1)</CODE> formats, <CODE>printf</CODE>
+interprets the following extensions:
+</P><P>
+
+<DL COMPACT>
+<DT><CODE>%b</CODE>
+<DD>causes <CODE>printf</CODE> to expand backslash escape sequences in the
+corresponding <VAR>argument</VAR>,
(except that <SAMP>`\c'</SAMP> terminates output, backslashes in
<SAMP>`\''</SAMP>, <SAMP>`\"'</SAMP>, and <SAMP>`\?'</SAMP> are not removed, and octal escapes
-beginning with <SAMP>`\0'</SAMP> may contain up to four digits),
-and <SAMP>`%q'</SAMP> causes <CODE>printf</CODE> to output the
+beginning with <SAMP>`\0'</SAMP> may contain up to four digits).
+<DT><CODE>%q</CODE>
+<DD>causes <CODE>printf</CODE> to output the
corresponding <VAR>argument</VAR> in a format that can be reused as shell input.
+<DT><CODE>%(<VAR>datefmt</VAR>)T</CODE>
+<DD>causes <CODE>printf</CODE> to output the date-time string resulting from using
+<VAR>datefmt</VAR> as a format string for <CODE>strftime</CODE>(3). The corresponding
+<VAR>argument</VAR> is an integer representing the number of seconds since the
+epoch. Two special argument values may be used: -1 represents the current
+time, and -2 represents the time the shell was invoked.
+</DL>
<P>
-The <SAMP>`-v'</SAMP> option causes the output to be assigned to the variable
-<VAR>var</VAR> rather than being printed to the standard output.
+Arguments to non-string format specifiers are treated as C language constants,
+except that a leading plus or minus sign is allowed, and if the leading
+character is a single or double quote, the value is the ASCII value of
+the following character.
</P><P>
The <VAR>format</VAR> is reused as necessary to consume all of the <VAR>arguments</VAR>.
@@ -4856,7 +5010,7 @@ rather than newline.
<P>
<DT><CODE>-e</CODE>
-<DD>Readline (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>) is used to obtain the line.
+<DD>Readline (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>) is used to obtain the line.
Readline uses the current (or default, if line editing was not previously
active) editing settings.
<P>
@@ -4934,7 +5088,7 @@ A synonym for <CODE>mapfile</CODE>.
<DT><CODE>source</CODE>
<DD><A NAME="IDX105"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>source <VAR>filename</VAR>
-</pre></td></tr></table>A synonym for <CODE>.</CODE> (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+</pre></td></tr></table>A synonym for <CODE>.</CODE> (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<DT><CODE>type</CODE>
@@ -5069,7 +5223,8 @@ allow this value to be set).
<P>
<DT><CODE>-v</CODE>
-<DD>The maximum amount of virtual memory available to the process.
+<DD>The maximum amount of virtual memory available to the shell, and, on
+some systems, to its children.
<P>
<DT><CODE>-x</CODE>
@@ -5110,7 +5265,7 @@ or an error occurs while setting a new limit.
Remove each <VAR>name</VAR> from the list of aliases. If <SAMP>`-a'</SAMP> is
supplied, all aliases are removed.
-Aliases are described in <A HREF="bashref.html#SEC84">6.6 Aliases</A>.
+Aliases are described in <A HREF="bashref.html#SEC85">6.6 Aliases</A>.
</P><P>
</DL>
@@ -5118,44 +5273,44 @@ Aliases are described in <A HREF="bashref.html#SEC84">6.6 Aliases</A>.
<A NAME="Modifying Shell Behavior"></A>
<HR SIZE="6">
-<A NAME="SEC61"></A>
+<A NAME="SEC62"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC60"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC63"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.3 Modifying Shell Behavior </H2>
-<!--docid::SEC61::-->
+<!--docid::SEC62::-->
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Change the values of shell attributes and
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Change the values of shell attributes and
positional parameters.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Modify shell optional behavior.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Modify shell optional behavior.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="The Set Builtin"></A>
<HR SIZE="6">
-<A NAME="SEC62"></A>
+<A NAME="SEC63"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC63"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 4.3.1 The Set Builtin </H3>
-<!--docid::SEC62::-->
+<!--docid::SEC63::-->
<P>
This builtin is so complicated that it deserves its own section. <CODE>set</CODE>
@@ -5166,8 +5321,8 @@ parameters, or to display the names and values of shell variables.
<DL COMPACT>
<DT><CODE>set</CODE>
<DD><A NAME="IDX110"></A>
-<TABLE><tr><td>&nbsp;</td><td class=example><pre>set [--abefhkmnptuvxBCEHPT] [-o <VAR>option</VAR>] [<VAR>argument</VAR> <small>...</small>]
-set [+abefhkmnptuvxBCEHPT] [+o <VAR>option</VAR>] [<VAR>argument</VAR> <small>...</small>]
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>set [--abefhkmnptuvxBCEHPT] [-o <VAR>option-name</VAR>] [<VAR>argument</VAR> <small>...</small>]
+set [+abefhkmnptuvxBCEHPT] [+o <VAR>option-name</VAR>] [<VAR>argument</VAR> <small>...</small>]
</pre></td></tr></table><P>
If no options or arguments are supplied, <CODE>set</CODE> displays the names
@@ -5211,7 +5366,7 @@ A trap on <CODE>ERR</CODE>, if set, is executed before the shell exits.
<P>
This option applies to the shell environment and each subshell environment
-separately (see section <A HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A>), and may cause
+separately (see section <A HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A>), and may cause
subshells to exit before executing all the commands in the subshell.
</P><P>
@@ -5231,7 +5386,7 @@ the command name.
<P>
<DT><CODE>-m</CODE>
-<DD>Job control is enabled (see section <A HREF="bashref.html#SEC91">7. Job Control</A>).
+<DD>Job control is enabled (see section <A HREF="bashref.html#SEC92">7. Job Control</A>).
<P>
<DT><CODE>-n</CODE>
@@ -5256,7 +5411,7 @@ Set the option corresponding to <VAR>option-name</VAR>:
<P>
<DT><CODE>emacs</CODE>
-<DD>Use an <CODE>emacs</CODE>-style line editing interface (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>).
+<DD>Use an <CODE>emacs</CODE>-style line editing interface (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>).
This also affects the editing interface used for <CODE>read -e</CODE>.
<P>
@@ -5281,7 +5436,7 @@ This also affects the editing interface used for <CODE>read -e</CODE>.
<P>
<DT><CODE>history</CODE>
-<DD>Enable command history, as described in <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>.
+<DD>Enable command history, as described in <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>.
This option is on by default in interactive shells.
<P>
@@ -5339,7 +5494,7 @@ This option is disabled by default.
<DT><CODE>posix</CODE>
<DD>Change the behavior of Bash where the default operation differs
from the POSIX standard to match the standard
-(see section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>).
+(see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>).
This is intended to make Bash behave as a strict superset of that
standard.
<P>
@@ -5402,7 +5557,7 @@ the command and its expanded arguments.
<P>
<DT><CODE>-B</CODE>
-<DD>The shell will perform brace expansion (see section <A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A>).
+<DD>The shell will perform brace expansion (see section <A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>).
This option is on by default.
<P>
@@ -5418,7 +5573,7 @@ The <CODE>ERR</CODE> trap is normally not inherited in such cases.
<P>
<DT><CODE>-H</CODE>
-<DD>Enable <SAMP>`!'</SAMP> style history substitution (see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>).
+<DD>Enable <SAMP>`!'</SAMP> style history substitution (see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
This option is on by default for interactive shells.
<P>
@@ -5483,20 +5638,20 @@ The return status is always zero unless an invalid option is supplied.
<A NAME="The Shopt Builtin"></A>
<HR SIZE="6">
-<A NAME="SEC63"></A>
+<A NAME="SEC64"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC61"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC63"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC62"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 4.3.2 The Shopt Builtin </H3>
-<!--docid::SEC63::-->
+<!--docid::SEC64::-->
<P>
This builtin allows you to change additional shell optional behavior.
@@ -5535,7 +5690,7 @@ non-zero otherwise.
<DT><CODE>-o</CODE>
<DD>Restricts the values of
<VAR>optname</VAR> to be those defined for the <SAMP>`-o'</SAMP> option to the
-<CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+<CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
</DL>
<P>
@@ -5589,7 +5744,7 @@ longer exists, a normal path search is performed.
<DD>If set, Bash lists the status of any stopped and running jobs before
exiting an interactive shell. If any jobs are running, this causes
the exit to be deferred until a second exit is attempted without an
-intervening command (see section <A HREF="bashref.html#SEC91">7. Job Control</A>).
+intervening command (see section <A HREF="bashref.html#SEC92">7. Job Control</A>).
The shell always postpones exiting if any jobs are stopped.
<P>
@@ -5609,7 +5764,32 @@ easy re-editing of multi-line commands.
<DT><CODE>compat31</CODE>
<DD>If set, Bash
changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the conditional command's <SAMP>`=~'</SAMP> operator.
+<P>
+
+<DT><CODE>compat32</CODE>
+<DD>If set, Bash
+changes its behavior to that of version 3.2 with respect to locale-specific
+string comparison when using the <SAMP>`[['</SAMP>
+conditional command's <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators.
+Bash versions prior to bash-4.0 use ASCII collation and strcmp(3);
+bash-4.1 and later use the current locale's collation sequence and strcoll(3).
+<P>
+
+<DT><CODE>compat40</CODE>
+<DD>If set, Bash
+changes its behavior to that of version 4.0 with respect to locale-specific
+string comparison when using the <SAMP>`[['</SAMP>
+conditional command's <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators (see previous item)
+and the effect of interrupting a command list.
+<P>
+
+<DT><CODE>compat41</CODE>
+<DD>If set, Bash, when in posix mode, treats a single quote in a double-quoted
+parameter expansion as a special character. The single quotes must match
+(an even number) and the characters between the single quotes are considered
+quoted. This is the behavior of POSIX mode through version 4.1.
+The default Bash behavior remains as in previous versions.
<P>
<DT><CODE>dirspell</CODE>
@@ -5632,7 +5812,7 @@ fails.
<DT><CODE>expand_aliases</CODE>
<DD>If set, aliases are expanded as described below under Aliases,
-<A HREF="bashref.html#SEC84">6.6 Aliases</A>.
+<A HREF="bashref.html#SEC85">6.6 Aliases</A>.
This option is enabled by default for interactive shells.
<P>
@@ -5642,7 +5822,7 @@ This option is enabled by default for interactive shells.
<OL>
<LI>
-The <SAMP>`-F'</SAMP> option to the <CODE>declare</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>)
+The <SAMP>`-F'</SAMP> option to the <CODE>declare</CODE> builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>)
displays the source file name and line number corresponding to each function
name supplied as an argument.
<P>
@@ -5661,7 +5841,7 @@ executed by the <CODE>.</CODE> or <CODE>source</CODE> builtins), a call to
<LI>
<CODE>BASH_ARGC</CODE> and <CODE>BASH_ARGV</CODE> are updated as described in their
-descriptions (see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+descriptions (see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
<P>
<LI>
@@ -5673,13 +5853,13 @@ subshells invoked with <CODE>( <VAR>command</VAR> )</CODE> inherit the
<LI>
Error tracing is enabled: command substitution, shell functions, and
subshells invoked with <CODE>( <VAR>command</VAR> )</CODE> inherit the
-<CODE>ERROR</CODE> trap.
+<CODE>ERR</CODE> trap.
</OL>
<P>
<DT><CODE>extglob</CODE>
<DD>If set, the extended pattern matching features described above
-(see section <A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A>) are enabled.
+(see section <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>) are enabled.
<P>
<DT><CODE>extquote</CODE>
@@ -5697,7 +5877,7 @@ result in an expansion error.
<DD>If set, the suffixes specified by the <CODE>FIGNORE</CODE> shell variable
cause words to be ignored when performing word completion even if
the ignored words are the only possible completions.
-See section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>, for a description of <CODE>FIGNORE</CODE>.
+See section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>, for a description of <CODE>FIGNORE</CODE>.
This option is enabled by default.
<P>
@@ -5735,13 +5915,13 @@ the Readline editing buffer, allowing further modification.
<DT><CODE>hostcomplete</CODE>
<DD>If set, and Readline is being used, Bash will attempt to perform
hostname completion when a word containing a <SAMP>`@'</SAMP> is being
-completed (see section <A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A>). This option is enabled
+completed (see section <A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A>). This option is enabled
by default.
<P>
<DT><CODE>huponexit</CODE>
<DD>If set, Bash will send <CODE>SIGHUP</CODE> to all jobs when an interactive
-login shell exits (see section <A HREF="bashref.html#SEC56">3.7.6 Signals</A>).
+login shell exits (see section <A HREF="bashref.html#SEC57">3.7.6 Signals</A>).
<P>
<DT><CODE>interactive_comments</CODE>
@@ -5751,6 +5931,11 @@ line to be ignored in an interactive shell.
This option is enabled by default.
<P>
+<DT><CODE>lastpipe</CODE>
+<DD>If set, and job control is not active, the shell runs the last command of
+a pipeline not executed in the background in the current shell environment.
+<P>
+
<DT><CODE>lithist</CODE>
<DD>If enabled, and the <CODE>cmdhist</CODE>
option is enabled, multi-line commands are saved to the history with
@@ -5759,7 +5944,7 @@ embedded newlines rather than using semicolon separators where possible.
<DT><CODE>login_shell</CODE>
<DD>The shell sets this option if it is started as a login shell
-(see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>).
+(see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>).
The value may not be changed.
<P>
@@ -5793,7 +5978,7 @@ files to expand to a null string, rather than themselves.
<DT><CODE>progcomp</CODE>
<DD>If set, the programmable completion facilities
-(see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>) are enabled.
+(see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>) are enabled.
This option is enabled by default.
<P>
@@ -5801,13 +5986,13 @@ This option is enabled by default.
<DD>If set, prompt strings undergo
parameter expansion, command substitution, arithmetic
expansion, and quote removal after being expanded
-as described below (see section <A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>).
+as described below (see section <A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>).
This option is enabled by default.
<P>
<DT><CODE>restricted_shell</CODE>
<DD>The shell sets this option if it is started in restricted mode
-(see section <A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>).
+(see section <A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>).
The value may not be changed.
This is not reset when the startup files are executed, allowing
the startup files to discover whether or not a shell is restricted.
@@ -5844,20 +6029,20 @@ When setting or unsetting options, the return status is zero unless an
<A NAME="Special Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC64"></A>
+<A NAME="SEC65"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC63"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC58"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC59"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 4.4 Special Builtins </H2>
-<!--docid::SEC64::-->
+<!--docid::SEC65::-->
<P>
For historical reasons, the POSIX standard has classified
@@ -5883,7 +6068,7 @@ environment after the command completes.
When Bash is not executing in POSIX mode, these builtins behave no
differently than the rest of the Bash builtin commands.
-The Bash POSIX mode is described in <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>.
+The Bash POSIX mode is described in <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>.
</P><P>
These are the POSIX special builtins:
@@ -5893,26 +6078,26 @@ shift trap unset
<A NAME="Shell Variables"></A>
<HR SIZE="6">
-<A NAME="SEC65"></A>
+<A NAME="SEC66"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC64"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC67"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 5. Shell Variables </H1>
-<!--docid::SEC65::-->
+<!--docid::SEC66::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables which Bash uses in the same way
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables which Bash uses in the same way
as the Bourne Shell.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">List of variables that exist in Bash.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">List of variables that exist in Bash.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -5922,20 +6107,20 @@ Bash automatically assigns default values to a number of variables.
<A NAME="Bourne Shell Variables"></A>
<HR SIZE="6">
-<A NAME="SEC66"></A>
+<A NAME="SEC67"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC67"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.1 Bourne Shell Variables </H2>
-<!--docid::SEC66::-->
+<!--docid::SEC67::-->
<P>
Bash uses certain shell variables in the same way as the Bourne shell.
@@ -5957,7 +6142,7 @@ the <CODE>cd</CODE> builtin command.
The current user's home directory; the default for the <CODE>cd</CODE> builtin
command.
The value of this variable is also used by tilde expansion
-(see section <A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A>).
+(see section <A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A>).
<P>
<A NAME="IDX116"></A>
@@ -5970,9 +6155,10 @@ words as part of expansion.
<A NAME="IDX118"></A>
<DT><CODE>MAIL</CODE>
<DD><A NAME="IDX119"></A>
-If this parameter is set to a filename and the <CODE>MAILPATH</CODE> variable
+If this parameter is set to a filename or directory name
+and the <CODE>MAILPATH</CODE> variable
is not set, Bash informs the user of the arrival of mail in
-the specified file.
+the specified file or Maildir-format directory.
<P>
<A NAME="IDX120"></A>
@@ -6014,7 +6200,7 @@ or trailing colon.
<DT><CODE>PS1</CODE>
<DD><A NAME="IDX129"></A>
The primary prompt string. The default value is <SAMP>`\s-\v\$ '</SAMP>.
-See section <A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>, for the complete list of escape
+See section <A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>, for the complete list of escape
sequences that are expanded before <CODE>PS1</CODE> is displayed.
<P>
@@ -6029,20 +6215,20 @@ The secondary prompt string. The default value is <SAMP>`&#62; '</SAMP>.
<A NAME="Bash Variables"></A>
<HR SIZE="6">
-<A NAME="SEC67"></A>
+<A NAME="SEC68"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC65"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC67"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC66"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 5.2 Bash Variables </H2>
-<!--docid::SEC67::-->
+<!--docid::SEC68::-->
<P>
These variables are set or used by Bash, but other shells
@@ -6051,7 +6237,7 @@ do not normally treat them specially.
A few variables used by Bash are described in different chapters:
variables for controlling the job control facilities
-(see section <A HREF="bashref.html#SEC94">7.3 Job Control Variables</A>).
+(see section <A HREF="bashref.html#SEC95">7.3 Job Control Variables</A>).
</P><P>
<DL COMPACT>
@@ -6067,7 +6253,7 @@ The full pathname used to execute the current instance of Bash.
<DD><A NAME="IDX135"></A>
A colon-separated list of enabled shell options. Each word in
the list is a valid argument for the <SAMP>`-s'</SAMP> option to the
-<CODE>shopt</CODE> builtin command (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>).
+<CODE>shopt</CODE> builtin command (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>).
The options appearing in <CODE>BASHOPTS</CODE> are those reported
as <SAMP>`on'</SAMP> by <SAMP>`shopt'</SAMP>.
If this variable is in the environment when Bash
@@ -6078,7 +6264,7 @@ reading any startup files. This variable is readonly.
<A NAME="IDX136"></A>
<DT><CODE>BASHPID</CODE>
<DD><A NAME="IDX137"></A>
-Expands to the process id of the current Bash process.
+Expands to the process ID of the current Bash process.
This differs from <CODE>$$</CODE> under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
<P>
@@ -6087,8 +6273,8 @@ that do not require Bash to be re-initialized.
<DT><CODE>BASH_ALIASES</CODE>
<DD><A NAME="IDX139"></A>
An associative array variable whose members correspond to the internal
-list of aliases as maintained by the <CODE>alias</CODE> builtin
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+list of aliases as maintained by the <CODE>alias</CODE> builtin.
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
Elements added to this array appear in the alias list; unsetting array
elements cause aliases to be removed from the alias list.
<P>
@@ -6103,7 +6289,7 @@ with <CODE>.</CODE> or <CODE>source</CODE>) is at the top of the stack. When a
subroutine is executed, the number of parameters passed is pushed onto
<CODE>BASH_ARGC</CODE>.
The shell sets <CODE>BASH_ARGC</CODE> only when in extended debugging mode
-(see <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>
+(see <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>
for a description of the <CODE>extdebug</CODE> option to the <CODE>shopt</CODE>
builtin).
<P>
@@ -6117,7 +6303,7 @@ is at the top of the stack; the first parameter of the initial call is
at the bottom. When a subroutine is executed, the parameters supplied
are pushed onto <CODE>BASH_ARGV</CODE>.
The shell sets <CODE>BASH_ARGV</CODE> only when in extended debugging mode
-(see <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>
+(see <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>
for a description of the <CODE>extdebug</CODE> option to the <CODE>shopt</CODE>
builtin).
<P>
@@ -6127,7 +6313,7 @@ builtin).
<DD><A NAME="IDX145"></A>
An associative array variable whose members correspond to the internal
hash table of commands as maintained by the <CODE>hash</CODE> builtin
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
Elements added to this array appear in the hash table; unsetting array
elements cause commands to be removed from the hash table.
<P>
@@ -6145,7 +6331,7 @@ in which case it is the command executing at the time of the trap.
<DD><A NAME="IDX149"></A>
If this variable is set when Bash is invoked to execute a shell
script, its value is expanded and used as the name of a startup file
-to read before executing the script. See section <A HREF="bashref.html#SEC70">6.2 Bash Startup Files</A>.
+to read before executing the script. See section <A HREF="bashref.html#SEC71">6.2 Bash Startup Files</A>.
<P>
<A NAME="IDX150"></A>
@@ -6158,11 +6344,11 @@ The command argument to the <SAMP>`-c'</SAMP> invocation option.
<DT><CODE>BASH_LINENO</CODE>
<DD><A NAME="IDX153"></A>
An array variable whose members are the line numbers in source files
-corresponding to each member of <VAR>FUNCNAME</VAR>.
-<CODE>${BASH_LINENO[$i]}</CODE> is the line number in the source file where
+where each corresponding member of <VAR>FUNCNAME</VAR> was invoked.
+<CODE>${BASH_LINENO[$i]}</CODE> is the line number in the source file
+(<CODE>${BASH_SOURCE[$i+1]}</CODE>) where
<CODE>${FUNCNAME[$i]}</CODE> was called (or <CODE>${BASH_LINENO[$i-1]}</CODE> if
-referenced within another shell function).
-The corresponding source file name is <CODE>${BASH_SOURCE[$i]}</CODE>.
+referenced within another shell function).
Use <CODE>LINENO</CODE> to obtain the current line number.
<P>
@@ -6182,8 +6368,11 @@ This variable is read-only.
<A NAME="IDX156"></A>
<DT><CODE>BASH_SOURCE</CODE>
<DD><A NAME="IDX157"></A>
-An array variable whose members are the source filenames corresponding
-to the elements in the <CODE>FUNCNAME</CODE> array variable.
+An array variable whose members are the source filenames where the
+corresponding shell function names in the <CODE>FUNCNAME</CODE> array
+variable are defined.
+The shell function <CODE>${FUNCNAME[$i]}</CODE> is defined in the file
+<CODE>${BASH_SOURCE[$i]}</CODE> and called from <CODE>${BASH_SOURCE[$i+1]}</CODE>
<P>
<A NAME="IDX158"></A>
@@ -6196,7 +6385,7 @@ The initial value is 0.
<A NAME="IDX160"></A>
<DT><CODE>BASH_VERSINFO</CODE>
<DD><A NAME="IDX161"></A>
-A readonly array variable (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>)
+A readonly array variable (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>)
whose members hold version information for this instance of Bash.
The values assigned to the array members are as follows:
<P>
@@ -6256,7 +6445,7 @@ being closed.
<A NAME="IDX166"></A>
<DT><CODE>COLUMNS</CODE>
<DD><A NAME="IDX167"></A>
-Used by the <CODE>select</CODE> builtin command to determine the terminal width
+Used by the <CODE>select</CODE> command to determine the terminal width
when printing selection lists. Automatically set upon receipt of a
<CODE>SIGWINCH</CODE>.
<P>
@@ -6267,7 +6456,7 @@ when printing selection lists. Automatically set upon receipt of a
An index into <CODE>${COMP_WORDS}</CODE> of the word containing the current
cursor position.
This variable is available only in shell functions invoked by the
-programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+programmable completion facilities (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX170"></A>
@@ -6276,7 +6465,7 @@ programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.
The current command line.
This variable is available only in shell functions and external
commands invoked by the
-programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+programmable completion facilities (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX172"></A>
@@ -6288,7 +6477,7 @@ If the current cursor position is at the end of the current command,
the value of this variable is equal to <CODE>${#COMP_LINE}</CODE>.
This variable is available only in shell functions and external
commands invoked by the
-programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+programmable completion facilities (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX174"></A>
@@ -6304,7 +6493,7 @@ or
<SAMP>`%'</SAMP>, for menu completion.
This variable is available only in shell functions and external
commands invoked by the
-programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+programmable completion facilities (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX176"></A>
@@ -6331,7 +6520,7 @@ words in the current command line.
The line is split into words as Readline would split it, using
<CODE>COMP_WORDBREAKS</CODE> as described above.
This variable is available only in shell functions invoked by the
-programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+programmable completion facilities (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX182"></A>
@@ -6339,12 +6528,19 @@ programmable completion facilities (see section <A HREF="bashref.html#SEC117">8.
<DD><A NAME="IDX183"></A>
An array variable from which Bash reads the possible completions
generated by a shell function invoked by the programmable completion
-facility (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+facility (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
<P>
<A NAME="IDX184"></A>
-<DT><CODE>DIRSTACK</CODE>
+<DT><CODE>COPROC</CODE>
<DD><A NAME="IDX185"></A>
+An array variable created to hold the file descriptors
+for output from and input to an unnamed coprocess (see section <A HREF="bashref.html#SEC23">3.2.5 Coprocesses</A>).
+<P>
+
+<A NAME="IDX186"></A>
+<DT><CODE>DIRSTACK</CODE>
+<DD><A NAME="IDX187"></A>
An array variable containing the current contents of the directory stack.
Directories appear in the stack in the order they are displayed by the
<CODE>dirs</CODE> builtin.
@@ -6356,31 +6552,38 @@ If <CODE>DIRSTACK</CODE> is unset, it loses its special properties, even if
it is subsequently reset.
<P>
-<A NAME="IDX186"></A>
+<A NAME="IDX188"></A>
<DT><CODE>EMACS</CODE>
-<DD><A NAME="IDX187"></A>
+<DD><A NAME="IDX189"></A>
If Bash finds this variable in the environment when the shell
starts with value <SAMP>`t'</SAMP>, it assumes that the shell is running in an
-emacs shell buffer and disables line editing.
+Emacs shell buffer and disables line editing.
<P>
-<A NAME="IDX188"></A>
+<A NAME="IDX190"></A>
+<DT><CODE>ENV</CODE>
+<DD><A NAME="IDX191"></A>
+Similar to <CODE>BASH_ENV</CODE>; used when the shell is invoked in
+POSIX Mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>).
+<P>
+
+<A NAME="IDX192"></A>
<DT><CODE>EUID</CODE>
-<DD><A NAME="IDX189"></A>
+<DD><A NAME="IDX193"></A>
The numeric effective user id of the current user. This variable
is readonly.
<P>
-<A NAME="IDX190"></A>
+<A NAME="IDX194"></A>
<DT><CODE>FCEDIT</CODE>
-<DD><A NAME="IDX191"></A>
+<DD><A NAME="IDX195"></A>
The editor used as a default by the <SAMP>`-e'</SAMP> option to the <CODE>fc</CODE>
builtin command.
<P>
-<A NAME="IDX192"></A>
+<A NAME="IDX196"></A>
<DT><CODE>FIGNORE</CODE>
-<DD><A NAME="IDX193"></A>
+<DD><A NAME="IDX197"></A>
A colon-separated list of suffixes to ignore when performing
filename completion.
A file name whose suffix matches one of the entries in
@@ -6389,23 +6592,41 @@ is excluded from the list of matched file names. A sample
value is <SAMP>`.o:~'</SAMP>
<P>
-<A NAME="IDX194"></A>
+<A NAME="IDX198"></A>
<DT><CODE>FUNCNAME</CODE>
-<DD><A NAME="IDX195"></A>
+<DD><A NAME="IDX199"></A>
An array variable containing the names of all shell functions
currently in the execution call stack.
The element with index 0 is the name of any currently-executing
shell function.
-The bottom-most element is <CODE>"main"</CODE>.
+The bottom-most element (the one with the highest index)
+is <CODE>"main"</CODE>.
This variable exists only when a shell function is executing.
Assignments to <CODE>FUNCNAME</CODE> have no effect and return an error status.
If <CODE>FUNCNAME</CODE> is unset, it loses its special properties, even if
it is subsequently reset.
<P>
-<A NAME="IDX196"></A>
+This variable can be used with <CODE>BASH_LINENO</CODE> and <CODE>BASH_SOURCE</CODE>.
+Each element of <CODE>FUNCNAME</CODE> has corresponding elements in
+<CODE>BASH_LINENO</CODE> and <CODE>BASH_SOURCE</CODE> to describe the call stack.
+For instance, <CODE>${FUNCNAME[$i]}</CODE> was called from the file
+<CODE>${BASH_SOURCE[$i+1]}</CODE> at line number <CODE>${BASH_LINENO[$i]}</CODE>.
+The <CODE>caller</CODE> builtin displays the current call stack using this
+information.
+</P><P>
+
+<A NAME="IDX200"></A>
+<DT><CODE>FUNCNEST</CODE>
+<DD><A NAME="IDX201"></A>
+If set to a numeric value greater than 0, defines a maximum function
+nesting level. Function invocations that exceed this nesting level
+will cause the current command to abort.
+<P>
+
+<A NAME="IDX202"></A>
<DT><CODE>GLOBIGNORE</CODE>
-<DD><A NAME="IDX197"></A>
+<DD><A NAME="IDX203"></A>
A colon-separated list of patterns defining the set of filenames to
be ignored by filename expansion.
If a filename matched by a filename expansion pattern also matches one
@@ -6413,9 +6634,9 @@ of the patterns in <CODE>GLOBIGNORE</CODE>, it is removed from the list
of matches.
<P>
-<A NAME="IDX198"></A>
+<A NAME="IDX204"></A>
<DT><CODE>GROUPS</CODE>
-<DD><A NAME="IDX199"></A>
+<DD><A NAME="IDX205"></A>
An array variable containing the list of groups of which the current
user is a member.
Assignments to <CODE>GROUPS</CODE> have no effect and return an error status.
@@ -6423,11 +6644,11 @@ If <CODE>GROUPS</CODE> is unset, it loses its special properties, even if it is
subsequently reset.
<P>
-<A NAME="IDX200"></A>
+<A NAME="IDX206"></A>
<DT><CODE>histchars</CODE>
-<DD><A NAME="IDX201"></A>
+<DD><A NAME="IDX207"></A>
Up to three characters which control history expansion, quick
-substitution, and tokenization (see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>).
+substitution, and tokenization (see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
The first character is the
<VAR>history expansion</VAR> character, that is, the character which signifies the
start of a history expansion, normally <SAMP>`!'</SAMP>. The second character is the
@@ -6440,17 +6661,17 @@ remaining words on the line. It does not necessarily cause the shell
parser to treat the rest of the line as a comment.
<P>
-<A NAME="IDX202"></A>
+<A NAME="IDX208"></A>
<DT><CODE>HISTCMD</CODE>
-<DD><A NAME="IDX203"></A>
+<DD><A NAME="IDX209"></A>
The history number, or index in the history list, of the current
command. If <CODE>HISTCMD</CODE> is unset, it loses its special properties,
even if it is subsequently reset.
<P>
-<A NAME="IDX204"></A>
+<A NAME="IDX210"></A>
<DT><CODE>HISTCONTROL</CODE>
-<DD><A NAME="IDX205"></A>
+<DD><A NAME="IDX211"></A>
A colon-separated list of values controlling how commands are saved on
the history list.
If the list of values includes <SAMP>`ignorespace'</SAMP>, lines which begin
@@ -6471,16 +6692,16 @@ not tested, and are added to the history regardless of the value of
<CODE>HISTCONTROL</CODE>.
<P>
-<A NAME="IDX206"></A>
+<A NAME="IDX212"></A>
<DT><CODE>HISTFILE</CODE>
-<DD><A NAME="IDX207"></A>
+<DD><A NAME="IDX213"></A>
The name of the file to which the command history is saved. The
default value is <TT>`~/.bash_history'</TT>.
<P>
-<A NAME="IDX208"></A>
+<A NAME="IDX214"></A>
<DT><CODE>HISTFILESIZE</CODE>
-<DD><A NAME="IDX209"></A>
+<DD><A NAME="IDX215"></A>
The maximum number of lines contained in the history file. When this
variable is assigned a value, the history file is truncated, if
necessary, by removing the oldest entries,
@@ -6490,9 +6711,9 @@ writing it when an interactive shell exits.
The default value is 500.
<P>
-<A NAME="IDX210"></A>
+<A NAME="IDX216"></A>
<DT><CODE>HISTIGNORE</CODE>
-<DD><A NAME="IDX211"></A>
+<DD><A NAME="IDX217"></A>
A colon-separated list of patterns used to decide which command
lines should be saved on the history list. Each pattern is
anchored at the beginning of the line and must match the complete
@@ -6514,16 +6735,16 @@ Combining these two patterns, separating them with a colon,
provides the functionality of <CODE>ignoreboth</CODE>.
</P><P>
-<A NAME="IDX212"></A>
+<A NAME="IDX218"></A>
<DT><CODE>HISTSIZE</CODE>
-<DD><A NAME="IDX213"></A>
+<DD><A NAME="IDX219"></A>
The maximum number of commands to remember on the history list.
The default value is 500.
<P>
-<A NAME="IDX214"></A>
+<A NAME="IDX220"></A>
<DT><CODE>HISTTIMEFORMAT</CODE>
-<DD><A NAME="IDX215"></A>
+<DD><A NAME="IDX221"></A>
If this variable is set and not null, its value is used as a format string
for <VAR>strftime</VAR> to print the time stamp associated with each history
entry displayed by the <CODE>history</CODE> builtin.
@@ -6533,9 +6754,9 @@ This uses the history comment character to distinguish timestamps from
other history lines.
<P>
-<A NAME="IDX216"></A>
+<A NAME="IDX222"></A>
<DT><CODE>HOSTFILE</CODE>
-<DD><A NAME="IDX217"></A>
+<DD><A NAME="IDX223"></A>
Contains the name of a file in the same format as <TT>`/etc/hosts'</TT> that
should be read when the shell needs to complete a hostname.
The list of possible hostname completions may be changed while the shell
@@ -6549,21 +6770,21 @@ Bash attempts to read
When <CODE>HOSTFILE</CODE> is unset, the hostname list is cleared.
<P>
-<A NAME="IDX218"></A>
+<A NAME="IDX224"></A>
<DT><CODE>HOSTNAME</CODE>
-<DD><A NAME="IDX219"></A>
+<DD><A NAME="IDX225"></A>
The name of the current host.
<P>
-<A NAME="IDX220"></A>
+<A NAME="IDX226"></A>
<DT><CODE>HOSTTYPE</CODE>
-<DD><A NAME="IDX221"></A>
+<DD><A NAME="IDX227"></A>
A string describing the machine Bash is running on.
<P>
-<A NAME="IDX222"></A>
+<A NAME="IDX228"></A>
<DT><CODE>IGNOREEOF</CODE>
-<DD><A NAME="IDX223"></A>
+<DD><A NAME="IDX229"></A>
Controls the action of the shell on receipt of an <CODE>EOF</CODE> character
as the sole input. If set, the value denotes the number
of consecutive <CODE>EOF</CODE> characters that can be read as the
@@ -6574,82 +6795,82 @@ If the variable does not exist, then <CODE>EOF</CODE> signifies the end of
input to the shell. This is only in effect for interactive shells.
<P>
-<A NAME="IDX224"></A>
+<A NAME="IDX230"></A>
<DT><CODE>INPUTRC</CODE>
-<DD><A NAME="IDX225"></A>
+<DD><A NAME="IDX231"></A>
The name of the Readline initialization file, overriding the default
of <TT>`~/.inputrc'</TT>.
<P>
-<A NAME="IDX226"></A>
+<A NAME="IDX232"></A>
<DT><CODE>LANG</CODE>
-<DD><A NAME="IDX227"></A>
+<DD><A NAME="IDX233"></A>
Used to determine the locale category for any category not specifically
selected with a variable starting with <CODE>LC_</CODE>.
<P>
-<A NAME="IDX228"></A>
+<A NAME="IDX234"></A>
<DT><CODE>LC_ALL</CODE>
-<DD><A NAME="IDX229"></A>
+<DD><A NAME="IDX235"></A>
This variable overrides the value of <CODE>LANG</CODE> and any other
<CODE>LC_</CODE> variable specifying a locale category.
<P>
-<A NAME="IDX230"></A>
+<A NAME="IDX236"></A>
<DT><CODE>LC_COLLATE</CODE>
-<DD><A NAME="IDX231"></A>
+<DD><A NAME="IDX237"></A>
This variable determines the collation order used when sorting the
results of filename expansion, and
determines the behavior of range expressions, equivalence classes,
and collating sequences within filename expansion and pattern matching
-(see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>).
+(see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>).
<P>
-<A NAME="IDX232"></A>
+<A NAME="IDX238"></A>
<DT><CODE>LC_CTYPE</CODE>
-<DD><A NAME="IDX233"></A>
+<DD><A NAME="IDX239"></A>
This variable determines the interpretation of characters and the
behavior of character classes within filename expansion and pattern
-matching (see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>).
+matching (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>).
<P>
-<A NAME="IDX234"></A>
+<A NAME="IDX240"></A>
<DT><CODE>LC_MESSAGES</CODE>
-<DD><A NAME="IDX235"></A>
+<DD><A NAME="IDX241"></A>
This variable determines the locale used to translate double-quoted
strings preceded by a <SAMP>`$'</SAMP> (see section <A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A>).
<P>
-<A NAME="IDX236"></A>
+<A NAME="IDX242"></A>
<DT><CODE>LC_NUMERIC</CODE>
-<DD><A NAME="IDX237"></A>
+<DD><A NAME="IDX243"></A>
This variable determines the locale category used for number formatting.
<P>
-<A NAME="IDX238"></A>
+<A NAME="IDX244"></A>
<DT><CODE>LINENO</CODE>
-<DD><A NAME="IDX239"></A>
+<DD><A NAME="IDX245"></A>
The line number in the script or shell function currently executing.
<P>
-<A NAME="IDX240"></A>
+<A NAME="IDX246"></A>
<DT><CODE>LINES</CODE>
-<DD><A NAME="IDX241"></A>
-Used by the <CODE>select</CODE> builtin command to determine the column length
+<DD><A NAME="IDX247"></A>
+Used by the <CODE>select</CODE> command to determine the column length
for printing selection lists. Automatically set upon receipt of a
<CODE>SIGWINCH</CODE>.
<P>
-<A NAME="IDX242"></A>
+<A NAME="IDX248"></A>
<DT><CODE>MACHTYPE</CODE>
-<DD><A NAME="IDX243"></A>
+<DD><A NAME="IDX249"></A>
A string that fully describes the system type on which Bash
is executing, in the standard GNU <VAR>cpu-company-system</VAR> format.
<P>
-<A NAME="IDX244"></A>
+<A NAME="IDX250"></A>
<DT><CODE>MAILCHECK</CODE>
-<DD><A NAME="IDX245"></A>
+<DD><A NAME="IDX251"></A>
How often (in seconds) that the shell should check for mail in the
files specified in the <CODE>MAILPATH</CODE> or <CODE>MAIL</CODE> variables.
The default is 60 seconds. When it is time to check
@@ -6658,39 +6879,46 @@ If this variable is unset, or set to a value that is not a number
greater than or equal to zero, the shell disables mail checking.
<P>
-<A NAME="IDX246"></A>
+<A NAME="IDX252"></A>
+<DT><CODE>MAPFILE</CODE>
+<DD><A NAME="IDX253"></A>
+An array variable created to hold the text read by the
+<CODE>mapfile</CODE> builtin when no variable name is supplied.
+<P>
+
+<A NAME="IDX254"></A>
<DT><CODE>OLDPWD</CODE>
-<DD><A NAME="IDX247"></A>
+<DD><A NAME="IDX255"></A>
The previous working directory as set by the <CODE>cd</CODE> builtin.
<P>
-<A NAME="IDX248"></A>
+<A NAME="IDX256"></A>
<DT><CODE>OPTERR</CODE>
-<DD><A NAME="IDX249"></A>
+<DD><A NAME="IDX257"></A>
If set to the value 1, Bash displays error messages
generated by the <CODE>getopts</CODE> builtin command.
<P>
-<A NAME="IDX250"></A>
+<A NAME="IDX258"></A>
<DT><CODE>OSTYPE</CODE>
-<DD><A NAME="IDX251"></A>
+<DD><A NAME="IDX259"></A>
A string describing the operating system Bash is running on.
<P>
-<A NAME="IDX252"></A>
+<A NAME="IDX260"></A>
<DT><CODE>PIPESTATUS</CODE>
-<DD><A NAME="IDX253"></A>
-An array variable (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>)
+<DD><A NAME="IDX261"></A>
+An array variable (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>)
containing a list of exit status values from the processes
in the most-recently-executed foreground pipeline (which may
contain only a single command).
<P>
-<A NAME="IDX254"></A>
+<A NAME="IDX262"></A>
<DT><CODE>POSIXLY_CORRECT</CODE>
-<DD><A NAME="IDX255"></A>
+<DD><A NAME="IDX263"></A>
If this variable is in the environment when <CODE>bash</CODE> starts, the shell
-enters POSIX mode (see section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>) before reading the
+enters POSIX mode (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>) before reading the
startup files, as if the <SAMP>`--posix'</SAMP> invocation option had been supplied.
If it is set while the shell is running, <CODE>bash</CODE> enables POSIX mode,
as if the command
@@ -6698,70 +6926,84 @@ as if the command
</pre></td></tr></table>had been executed.
<P>
-<A NAME="IDX256"></A>
+<A NAME="IDX264"></A>
<DT><CODE>PPID</CODE>
-<DD><A NAME="IDX257"></A>
+<DD><A NAME="IDX265"></A>
The process ID of the shell's parent process. This variable
is readonly.
<P>
-<A NAME="IDX258"></A>
+<A NAME="IDX266"></A>
<DT><CODE>PROMPT_COMMAND</CODE>
-<DD><A NAME="IDX259"></A>
+<DD><A NAME="IDX267"></A>
If set, the value is interpreted as a command to execute
before the printing of each primary prompt (<CODE>$PS1</CODE>).
<P>
-<A NAME="IDX260"></A>
+<A NAME="IDX268"></A>
<DT><CODE>PROMPT_DIRTRIM</CODE>
-<DD><A NAME="IDX261"></A>
+<DD><A NAME="IDX269"></A>
If set to a number greater than zero, the value is used as the number of
trailing directory components to retain when expanding the <CODE>\w</CODE> and
-<CODE>\W</CODE> prompt string escapes (see section <A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>).
+<CODE>\W</CODE> prompt string escapes (see section <A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>).
Characters removed are replaced with an ellipsis.
<P>
-<A NAME="IDX262"></A>
+<A NAME="IDX270"></A>
<DT><CODE>PS3</CODE>
-<DD><A NAME="IDX263"></A>
+<DD><A NAME="IDX271"></A>
The value of this variable is used as the prompt for the
<CODE>select</CODE> command. If this variable is not set, the
<CODE>select</CODE> command prompts with <SAMP>`#? '</SAMP>
<P>
-<A NAME="IDX264"></A>
+<A NAME="IDX272"></A>
<DT><CODE>PS4</CODE>
-<DD><A NAME="IDX265"></A>
+<DD><A NAME="IDX273"></A>
The value is the prompt printed before the command line is echoed
-when the <SAMP>`-x'</SAMP> option is set (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+when the <SAMP>`-x'</SAMP> option is set (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
The first character of <CODE>PS4</CODE> is replicated multiple times, as
necessary, to indicate multiple levels of indirection.
The default is <SAMP>`+ '</SAMP>.
<P>
-<A NAME="IDX266"></A>
+<A NAME="IDX274"></A>
<DT><CODE>PWD</CODE>
-<DD><A NAME="IDX267"></A>
+<DD><A NAME="IDX275"></A>
The current working directory as set by the <CODE>cd</CODE> builtin.
<P>
-<A NAME="IDX268"></A>
+<A NAME="IDX276"></A>
<DT><CODE>RANDOM</CODE>
-<DD><A NAME="IDX269"></A>
+<DD><A NAME="IDX277"></A>
Each time this parameter is referenced, a random integer
between 0 and 32767 is generated. Assigning a value to this
variable seeds the random number generator.
<P>
-<A NAME="IDX270"></A>
+<A NAME="IDX278"></A>
+<DT><CODE>READLINE_LINE</CODE>
+<DD><A NAME="IDX279"></A>
+The contents of the Readline line buffer, for use
+with <SAMP>`bind -x'</SAMP> (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
+<P>
+
+<A NAME="IDX280"></A>
+<DT><CODE>READLINE_POINT</CODE>
+<DD><A NAME="IDX281"></A>
+The position of the insertion point in the Readline line buffer, for use
+with <SAMP>`bind -x'</SAMP> (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
+<P>
+
+<A NAME="IDX282"></A>
<DT><CODE>REPLY</CODE>
-<DD><A NAME="IDX271"></A>
+<DD><A NAME="IDX283"></A>
The default variable for the <CODE>read</CODE> builtin.
<P>
-<A NAME="IDX272"></A>
+<A NAME="IDX284"></A>
<DT><CODE>SECONDS</CODE>
-<DD><A NAME="IDX273"></A>
+<DD><A NAME="IDX285"></A>
This variable expands to the number of seconds since the
shell was started. Assignment to this variable resets
the count to the value assigned, and the expanded value
@@ -6769,20 +7011,20 @@ becomes the value assigned plus the number of seconds
since the assignment.
<P>
-<A NAME="IDX274"></A>
+<A NAME="IDX286"></A>
<DT><CODE>SHELL</CODE>
-<DD><A NAME="IDX275"></A>
+<DD><A NAME="IDX287"></A>
The full pathname to the shell is kept in this environment variable.
If it is not set when the shell starts,
Bash assigns to it the full pathname of the current user's login shell.
<P>
-<A NAME="IDX276"></A>
+<A NAME="IDX288"></A>
<DT><CODE>SHELLOPTS</CODE>
-<DD><A NAME="IDX277"></A>
+<DD><A NAME="IDX289"></A>
A colon-separated list of enabled shell options. Each word in
the list is a valid argument for the <SAMP>`-o'</SAMP> option to the
-<CODE>set</CODE> builtin command (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+<CODE>set</CODE> builtin command (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
The options appearing in <CODE>SHELLOPTS</CODE> are those reported
as <SAMP>`on'</SAMP> by <SAMP>`set -o'</SAMP>.
If this variable is in the environment when Bash
@@ -6790,16 +7032,16 @@ starts up, each shell option in the list will be enabled before
reading any startup files. This variable is readonly.
<P>
-<A NAME="IDX278"></A>
+<A NAME="IDX290"></A>
<DT><CODE>SHLVL</CODE>
-<DD><A NAME="IDX279"></A>
+<DD><A NAME="IDX291"></A>
Incremented by one each time a new instance of Bash is started. This is
intended to be a count of how deeply your Bash shells are nested.
<P>
-<A NAME="IDX280"></A>
+<A NAME="IDX292"></A>
<DT><CODE>TIMEFORMAT</CODE>
-<DD><A NAME="IDX281"></A>
+<DD><A NAME="IDX293"></A>
The value of this parameter is used as a format string specifying
how the timing information for pipelines prefixed with the <CODE>time</CODE>
reserved word should be displayed.
@@ -6852,11 +7094,11 @@ If this variable is not set, Bash acts as if it had the value
A trailing newline is added when the format string is displayed.
</P><P>
-<A NAME="IDX282"></A>
+<A NAME="IDX294"></A>
<DT><CODE>TMOUT</CODE>
-<DD><A NAME="IDX283"></A>
+<DD><A NAME="IDX295"></A>
If set to a value greater than zero, <CODE>TMOUT</CODE> is treated as the
-default timeout for the <CODE>read</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+default timeout for the <CODE>read</CODE> builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
The <CODE>select</CODE> command (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>) terminates
if input does not arrive after <CODE>TMOUT</CODE> seconds when input is coming
from a terminal.
@@ -6869,16 +7111,16 @@ Bash terminates after that number of seconds if input does
not arrive.
</P><P>
-<A NAME="IDX284"></A>
+<A NAME="IDX296"></A>
<DT><CODE>TMPDIR</CODE>
-<DD><A NAME="IDX285"></A>
+<DD><A NAME="IDX297"></A>
If set, Bash uses its value as the name of a directory in which
Bash creates temporary files for the shell's use.
<P>
-<A NAME="IDX286"></A>
+<A NAME="IDX298"></A>
<DT><CODE>UID</CODE>
-<DD><A NAME="IDX287"></A>
+<DD><A NAME="IDX299"></A>
The numeric real user id of the current user. This variable is readonly.
<P>
@@ -6887,59 +7129,59 @@ The numeric real user id of the current user. This variable is readonly.
<A NAME="Bash Features"></A>
<HR SIZE="6">
-<A NAME="SEC68"></A>
+<A NAME="SEC69"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC67"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 6. Bash Features </H1>
-<!--docid::SEC68::-->
+<!--docid::SEC69::-->
<P>
This section describes features unique to Bash.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC69">6.1 Invoking Bash</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command line options that you can give
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC70">6.1 Invoking Bash</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Command line options that you can give
to Bash.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC70">6.2 Bash Startup Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">When and how Bash executes scripts.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC78">6.3 Interactive Shells</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What an interactive shell is.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Primitives used in composing expressions for
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC71">6.2 Bash Startup Files</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">When and how Bash executes scripts.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC79">6.3 Interactive Shells</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What an interactive shell is.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Primitives used in composing expressions for
the <CODE>test</CODE> builtin.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Arithmetic on shell variables.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC84">6.6 Aliases</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Substituting one command for another.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC85">6.7 Arrays</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Array Variables.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC86">6.8 The Directory Stack</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">History of visited directories.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Controlling the PS1 string.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A more controlled mode of shell execution.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Making Bash behave more closely to what
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Arithmetic on shell variables.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC85">6.6 Aliases</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Substituting one command for another.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC86">6.7 Arrays</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Array Variables.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC87">6.8 The Directory Stack</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">History of visited directories.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Controlling the PS1 string.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A more controlled mode of shell execution.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Making Bash behave more closely to what
the POSIX standard specifies.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Invoking Bash"></A>
<HR SIZE="6">
-<A NAME="SEC69"></A>
+<A NAME="SEC70"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC71"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.1 Invoking Bash </H2>
-<!--docid::SEC69::-->
+<!--docid::SEC70::-->
<P>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o <VAR>option</VAR>] [-O <VAR>shopt_option</VAR>] [<VAR>argument</VAR> <small>...</small>]
@@ -6947,8 +7189,9 @@ bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o <VAR>option</VAR>] [-O <VAR>shopt_opt
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o <VAR>option</VAR>] [-O <VAR>shopt_option</VAR>] [<VAR>argument</VAR> <small>...</small>]
</pre></td></tr></table></P><P>
-In addition to the single-character shell command-line options
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>), there are several multi-character
+All of the single-character options used with the <CODE>set</CODE> builtin
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>) can be used as options when the shell is invoked.
+In addition, there are several multi-character
options that you can use. These options must appear on the command
line before the single-character options to be recognized.
</P><P>
@@ -6956,11 +7199,9 @@ line before the single-character options to be recognized.
<DL COMPACT>
<DT><CODE>--debugger</CODE>
<DD>Arrange for the debugger profile to be executed before the shell
-starts. Turns on extended debugging mode (see <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>
+starts. Turns on extended debugging mode (see <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>
for a description of the <CODE>extdebug</CODE> option to the <CODE>shopt</CODE>
-builtin) and shell function tracing
-(see <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A> for a description of the <CODE>-o functrace</CODE>
-option).
+builtin).
<P>
<DT><CODE>--dump-po-strings</CODE>
@@ -6989,7 +7230,7 @@ in an interactive shell.
<P>
<DT><CODE>--noediting</CODE>
-<DD>Do not use the GNU Readline library (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>)
+<DD>Do not use the GNU Readline library (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>)
to read command lines when the shell is interactive.
<P>
@@ -7010,12 +7251,12 @@ invoked as <CODE>sh</CODE>.
<DD>Change the behavior of Bash where the default operation differs
from the POSIX standard to match the standard. This
is intended to make Bash behave as a strict superset of that
-standard. See section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>, for a description of the Bash
+standard. See section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>, for a description of the Bash
POSIX mode.
<P>
<DT><CODE>--restricted</CODE>
-<DD>Make the shell a restricted shell (see section <A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>).
+<DD>Make the shell a restricted shell (see section <A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>).
<P>
<DT><CODE>--verbose</CODE>
@@ -7043,7 +7284,7 @@ positional parameters, starting with <CODE>$0</CODE>.
<DT><CODE>-i</CODE>
<DD>Force the shell to run interactively. Interactive shells are
-described in <A HREF="bashref.html#SEC78">6.3 Interactive Shells</A>.
+described in <A HREF="bashref.html#SEC79">6.3 Interactive Shells</A>.
<P>
<DT><CODE>-l</CODE>
@@ -7054,12 +7295,12 @@ When the shell is not interactive, the login shell startup files will
be executed.
<SAMP>`exec bash -l'</SAMP> or <SAMP>`exec bash --login'</SAMP>
will replace the current shell with a Bash login shell.
-See section <A HREF="bashref.html#SEC70">6.2 Bash Startup Files</A>, for a description of the special behavior
+See section <A HREF="bashref.html#SEC71">6.2 Bash Startup Files</A>, for a description of the special behavior
of a login shell.
<P>
<DT><CODE>-r</CODE>
-<DD>Make the shell a restricted shell (see section <A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>).
+<DD>Make the shell a restricted shell (see section <A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>).
<P>
<DT><CODE>-s</CODE>
@@ -7080,7 +7321,7 @@ This implies the <SAMP>`-n'</SAMP> option; no commands will be executed.
<DT><CODE>[-+]O [<VAR>shopt_option</VAR>]</CODE>
<DD><VAR>shopt_option</VAR> is one of the shell options accepted by the
-<CODE>shopt</CODE> builtin (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>).
+<CODE>shopt</CODE> builtin (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>).
If <VAR>shopt_option</VAR> is present, <SAMP>`-O'</SAMP> sets the value of that option;
<SAMP>`+O'</SAMP> unsets it.
If <VAR>shopt_option</VAR> is not supplied, the names and values of the shell
@@ -7098,24 +7339,24 @@ Any arguments after the <CODE>--</CODE> are treated as filenames and arguments.
</DL>
<P>
-<A NAME="IDX288"></A>
+<A NAME="IDX300"></A>
A <EM>login</EM> shell is one whose first character of argument zero is
<SAMP>`-'</SAMP>, or one invoked with the <SAMP>`--login'</SAMP> option.
</P><P>
-<A NAME="IDX289"></A>
+<A NAME="IDX301"></A>
An <EM>interactive</EM> shell is one started without non-option arguments,
unless <SAMP>`-s'</SAMP> is specified,
without specifying the <SAMP>`-c'</SAMP> option, and whose input and output are both
connected to terminals (as determined by <CODE>isatty(3)</CODE>), or one
-started with the <SAMP>`-i'</SAMP> option. See section <A HREF="bashref.html#SEC78">6.3 Interactive Shells</A>, for more
+started with the <SAMP>`-i'</SAMP> option. See section <A HREF="bashref.html#SEC79">6.3 Interactive Shells</A>, for more
information.
</P><P>
If arguments remain after option processing, and neither the
<SAMP>`-c'</SAMP> nor the <SAMP>`-s'</SAMP>
option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands (see section <A HREF="bashref.html#SEC57">3.8 Shell Scripts</A>).
+be the name of a file containing shell commands (see section <A HREF="bashref.html#SEC58">3.8 Shell Scripts</A>).
When Bash is invoked in this fashion, <CODE>$0</CODE>
is set to the name of the file, and the positional parameters
are set to the remaining arguments.
@@ -7126,34 +7367,34 @@ in the script. If no commands are executed, the exit status is 0.
<A NAME="Bash Startup Files"></A>
<HR SIZE="6">
-<A NAME="SEC70"></A>
+<A NAME="SEC71"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.2 Bash Startup Files </H2>
-<!--docid::SEC70::-->
+<!--docid::SEC71::-->
<P>
This section describes how Bash executes its startup files.
If any of the files exist but cannot be read, Bash reports an error.
Tildes are expanded in file names as described above under
-Tilde Expansion (see section <A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A>).
+Tilde Expansion (see section <A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A>).
</P><P>
-Interactive shells are described in <A HREF="bashref.html#SEC78">6.3 Interactive Shells</A>.
+Interactive shells are described in <A HREF="bashref.html#SEC79">6.3 Interactive Shells</A>.
</P><P>
-<A NAME="SEC71"></A>
+<A NAME="SEC72"></A>
<H4> Invoked as an interactive login shell, or with <SAMP>`--login'</SAMP> </H4>
-<!--docid::SEC71::-->
+<!--docid::SEC72::-->
<P>
When Bash is invoked as an interactive login shell, or as a
@@ -7170,9 +7411,9 @@ When a login shell exits, Bash reads and executes commands from
the file <TT>`~/.bash_logout'</TT>, if it exists.
</P><P>
-<A NAME="SEC72"></A>
+<A NAME="SEC73"></A>
<H4> Invoked as an interactive non-login shell </H4>
-<!--docid::SEC72::-->
+<!--docid::SEC73::-->
<P>
When an interactive shell that is not a login shell is started, Bash
@@ -7187,9 +7428,9 @@ So, typically, your <TT>`~/.bash_profile'</TT> contains the line
</pre></td></tr></table>after (or before) any login-specific initializations.
</P><P>
-<A NAME="SEC73"></A>
+<A NAME="SEC74"></A>
<H4> Invoked non-interactively </H4>
-<!--docid::SEC73::-->
+<!--docid::SEC74::-->
<P>
When Bash is started non-interactively, to run a shell script,
@@ -7207,9 +7448,9 @@ As noted above, if a non-interactive shell is invoked with the
login shell startup files.
</P><P>
-<A NAME="SEC74"></A>
+<A NAME="SEC75"></A>
<H4> Invoked with name <CODE>sh</CODE> </H4>
-<!--docid::SEC74::-->
+<!--docid::SEC75::-->
<P>
If Bash is invoked with the name <CODE>sh</CODE>, it tries to mimic the
@@ -7236,9 +7477,9 @@ When invoked as <CODE>sh</CODE>, Bash enters POSIX mode after
the startup files are read.
</P><P>
-<A NAME="SEC75"></A>
+<A NAME="SEC76"></A>
<H4> Invoked in POSIX mode </H4>
-<!--docid::SEC75::-->
+<!--docid::SEC76::-->
<P>
When Bash is started in POSIX mode, as with the
@@ -7250,13 +7491,13 @@ expanded value.
No other startup files are read.
</P><P>
-<A NAME="SEC76"></A>
+<A NAME="SEC77"></A>
<H4> Invoked by remote shell daemon </H4>
-<!--docid::SEC76::-->
+<!--docid::SEC77::-->
<P>
Bash attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
daemon, usually <CODE>rshd</CODE>, or the secure shell daemon <CODE>sshd</CODE>.
If Bash determines it is being run in
this fashion, it reads and executes commands from <TT>`~/.bashrc'</TT>, if that
@@ -7268,9 +7509,9 @@ The <SAMP>`--norc'</SAMP> option may be used to inhibit this behavior, and the
allow them to be specified.
</P><P>
-<A NAME="SEC77"></A>
+<A NAME="SEC78"></A>
<H4> Invoked with unequal effective and real UID/GIDs </H4>
-<!--docid::SEC77::-->
+<!--docid::SEC78::-->
<P>
If Bash is started with the effective user (group) id not equal to the
@@ -7285,45 +7526,45 @@ the same, but the effective user id is not reset.
<A NAME="Interactive Shells"></A>
<HR SIZE="6">
-<A NAME="SEC78"></A>
+<A NAME="SEC79"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC71"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC80"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.3 Interactive Shells </H2>
-<!--docid::SEC78::-->
+<!--docid::SEC79::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC79">6.3.1 What is an Interactive Shell?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What determines whether a shell is Interactive.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC80">6.3.2 Is this Shell Interactive?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to tell if a shell is interactive.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC81">6.3.3 Interactive Shell Behavior</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What changes in a interactive shell?</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC80">6.3.1 What is an Interactive Shell?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What determines whether a shell is Interactive.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC81">6.3.2 Is this Shell Interactive?</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to tell if a shell is interactive.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC82">6.3.3 Interactive Shell Behavior</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What changes in a interactive shell?</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="What is an Interactive Shell?"></A>
<HR SIZE="6">
-<A NAME="SEC79"></A>
+<A NAME="SEC80"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC80"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC81"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 6.3.1 What is an Interactive Shell? </H3>
-<!--docid::SEC79::-->
+<!--docid::SEC80::-->
<P>
An interactive shell
@@ -7344,20 +7585,20 @@ when an interactive shell is started.
<A NAME="Is this Shell Interactive?"></A>
<HR SIZE="6">
-<A NAME="SEC80"></A>
+<A NAME="SEC81"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC81"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC81"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC80"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 6.3.2 Is this Shell Interactive? </H3>
-<!--docid::SEC80::-->
+<!--docid::SEC81::-->
<P>
To determine within a startup script whether or not Bash is
@@ -7386,20 +7627,20 @@ fi
<A NAME="Interactive Shell Behavior"></A>
<HR SIZE="6">
-<A NAME="SEC81"></A>
+<A NAME="SEC82"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC80"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC78"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC81"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC79"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 6.3.3 Interactive Shell Behavior </H3>
-<!--docid::SEC81::-->
+<!--docid::SEC82::-->
<P>
When the shell is running interactively, it changes its behavior in
@@ -7408,11 +7649,11 @@ several ways.
<OL>
<LI>
-Startup files are read and executed as described in <A HREF="bashref.html#SEC70">6.2 Bash Startup Files</A>.
+Startup files are read and executed as described in <A HREF="bashref.html#SEC71">6.2 Bash Startup Files</A>.
<P>
<LI>
-Job Control (see section <A HREF="bashref.html#SEC91">7. Job Control</A>) is enabled by default. When job
+Job Control (see section <A HREF="bashref.html#SEC92">7. Job Control</A>) is enabled by default. When job
control is in effect, Bash ignores the keyboard-generated job control
signals <CODE>SIGTTIN</CODE>, <CODE>SIGTTOU</CODE>, and <CODE>SIGTSTP</CODE>.
<P>
@@ -7426,69 +7667,69 @@ second and subsequent lines of a multi-line command.
<LI>
Bash executes the value of the <CODE>PROMPT_COMMAND</CODE> variable as a command
before printing the primary prompt, <CODE>$PS1</CODE>
-(see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+(see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
<P>
<LI>
-Readline (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>) is used to read commands from
+Readline (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>) is used to read commands from
the user's terminal.
<P>
<LI>
Bash inspects the value of the <CODE>ignoreeof</CODE> option to <CODE>set -o</CODE>
instead of exiting immediately when it receives an <CODE>EOF</CODE> on its
-standard input when reading a command (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+standard input when reading a command (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<LI>
-Command history (see section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>)
-and history expansion (see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>)
+Command history (see section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>)
+and history expansion (see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>)
are enabled by default.
Bash will save the command history to the file named by <CODE>$HISTFILE</CODE>
when an interactive shell exits.
<P>
<LI>
-Alias expansion (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>) is performed by default.
+Alias expansion (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>) is performed by default.
<P>
<LI>
In the absence of any traps, Bash ignores <CODE>SIGTERM</CODE>
-(see section <A HREF="bashref.html#SEC56">3.7.6 Signals</A>).
+(see section <A HREF="bashref.html#SEC57">3.7.6 Signals</A>).
<P>
<LI>
In the absence of any traps, <CODE>SIGINT</CODE> is caught and handled
-((see section <A HREF="bashref.html#SEC56">3.7.6 Signals</A>).
+((see section <A HREF="bashref.html#SEC57">3.7.6 Signals</A>).
<CODE>SIGINT</CODE> will interrupt some shell builtins.
<P>
<LI>
An interactive login shell sends a <CODE>SIGHUP</CODE> to all jobs on exit
-if the <CODE>huponexit</CODE> shell option has been enabled (see section <A HREF="bashref.html#SEC56">3.7.6 Signals</A>).
+if the <CODE>huponexit</CODE> shell option has been enabled (see section <A HREF="bashref.html#SEC57">3.7.6 Signals</A>).
<P>
<LI>
The <SAMP>`-n'</SAMP> invocation option is ignored, and <SAMP>`set -n'</SAMP> has
-no effect (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+no effect (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<LI>
Bash will check for mail periodically, depending on the values of the
<CODE>MAIL</CODE>, <CODE>MAILPATH</CODE>, and <CODE>MAILCHECK</CODE> shell variables
-(see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+(see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
<P>
<LI>
Expansion errors due to references to unbound shell variables after
<SAMP>`set -u'</SAMP> has been enabled will not cause the shell to exit
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<LI>
The shell will not exit on expansion errors caused by <VAR>var</VAR> being unset
or null in <CODE>${<VAR>var</VAR>:?<VAR>word</VAR>}</CODE> expansions
-(see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+(see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
@@ -7498,12 +7739,12 @@ shell to exit.
<LI>
When running in POSIX mode, a special builtin returning an error
-status will not cause the shell to exit (see section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>).
+status will not cause the shell to exit (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>).
<P>
<LI>
A failed <CODE>exec</CODE> will not cause the shell to exit
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<LI>
@@ -7513,13 +7754,13 @@ Parser syntax errors will not cause the shell to exit.
<LI>
Simple spelling correction for directory arguments to the <CODE>cd</CODE>
builtin is enabled by default (see the description of the <CODE>cdspell</CODE>
-option to the <CODE>shopt</CODE> builtin in <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>).
+option to the <CODE>shopt</CODE> builtin in <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>).
<P>
<LI>
The shell will check the value of the <CODE>TMOUT</CODE> variable and exit
if a command is not read within the specified number of seconds after
-printing <CODE>$PS1</CODE> (see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+printing <CODE>$PS1</CODE> (see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
<P>
</OL>
@@ -7527,20 +7768,20 @@ printing <CODE>$PS1</CODE> (see section <A HREF="bashref.html#SEC67">5.2 Bash Va
<A NAME="Bash Conditional Expressions"></A>
<HR SIZE="6">
-<A NAME="SEC82"></A>
+<A NAME="SEC83"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC81"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.4 Bash Conditional Expressions </H2>
-<!--docid::SEC82::-->
+<!--docid::SEC83::-->
<P>
Conditional expressions are used by the <CODE>[[</CODE> compound command
@@ -7557,8 +7798,9 @@ If the <VAR>file</VAR> argument to one of the primaries is one of
descriptor 0, 1, or 2, respectively, is checked.
</P><P>
-When used with <SAMP>`[['</SAMP>, The <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators sort
+When used with <SAMP>`[['</SAMP>, the <SAMP>`&#60;'</SAMP> and <SAMP>`&#62;'</SAMP> operators sort
lexicographically using the current locale.
+The <CODE>test</CODE> command uses ASCII ordering.
</P><P>
Unless otherwise specified, primaries that operate on files follow symbolic
@@ -7630,10 +7872,6 @@ links and operate on the target of the link, rather than the link itself.
<DD>True if <VAR>file</VAR> exists and is executable.
<P>
-<DT><CODE>-O <VAR>file</VAR></CODE>
-<DD>True if <VAR>file</VAR> exists and is owned by the effective user id.
-<P>
-
<DT><CODE>-G <VAR>file</VAR></CODE>
<DD>True if <VAR>file</VAR> exists and is owned by the effective group id.
<P>
@@ -7642,12 +7880,21 @@ links and operate on the target of the link, rather than the link itself.
<DD>True if <VAR>file</VAR> exists and is a symbolic link.
<P>
+<DT><CODE>-N <VAR>file</VAR></CODE>
+<DD>True if <VAR>file</VAR> exists and has been modified since it was last read.
+<P>
+
+<DT><CODE>-O <VAR>file</VAR></CODE>
+<DD>True if <VAR>file</VAR> exists and is owned by the effective user id.
+<P>
+
<DT><CODE>-S <VAR>file</VAR></CODE>
<DD>True if <VAR>file</VAR> exists and is a socket.
<P>
-<DT><CODE>-N <VAR>file</VAR></CODE>
-<DD>True if <VAR>file</VAR> exists and has been modified since it was last read.
+<DT><CODE><VAR>file1</VAR> -ef <VAR>file2</VAR></CODE>
+<DD>True if <VAR>file1</VAR> and <VAR>file2</VAR> refer to the same device and
+inode numbers.
<P>
<DT><CODE><VAR>file1</VAR> -nt <VAR>file2</VAR></CODE>
@@ -7660,15 +7907,14 @@ than <VAR>file2</VAR>, or if <VAR>file1</VAR> exists and <VAR>file2</VAR> does n
or if <VAR>file2</VAR> exists and <VAR>file1</VAR> does not.
<P>
-<DT><CODE><VAR>file1</VAR> -ef <VAR>file2</VAR></CODE>
-<DD>True if <VAR>file1</VAR> and <VAR>file2</VAR> refer to the same device and
-inode numbers.
-<P>
-
<DT><CODE>-o <VAR>optname</VAR></CODE>
-<DD>True if shell option <VAR>optname</VAR> is enabled.
+<DD>True if the shell option <VAR>optname</VAR> is enabled.
The list of options appears in the description of the <SAMP>`-o'</SAMP>
-option to the <CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+option to the <CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
+<P>
+
+<DT><CODE>-v <VAR>varname</VAR></CODE>
+<DD>True if the shell variable <VAR>varname</VAR> is set (has been assigned a value).
<P>
<DT><CODE>-z <VAR>string</VAR></CODE>
@@ -7713,20 +7959,20 @@ may be positive or negative integers.
<A NAME="Shell Arithmetic"></A>
<HR SIZE="6">
-<A NAME="SEC83"></A>
+<A NAME="SEC84"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC82"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.5 Shell Arithmetic </H2>
-<!--docid::SEC83::-->
+<!--docid::SEC84::-->
<P>
The shell allows arithmetic expressions to be evaluated, as one of
@@ -7828,13 +8074,13 @@ The value of a variable is evaluated as an arithmetic expression
when it is referenced, or when a variable which has been given the
<VAR>integer</VAR> attribute using <SAMP>`declare -i'</SAMP> is assigned a value.
A null value evaluates to 0.
-A shell variable need not have its integer attribute turned on
+A shell variable need not have its <VAR>integer</VAR> attribute turned on
to be used in an expression.
</P><P>
Constants with a leading 0 are interpreted as octal numbers.
A leading <SAMP>`0x'</SAMP> or <SAMP>`0X'</SAMP> denotes hexadecimal. Otherwise,
-numbers take the form [<VAR>base</VAR><CODE>#</CODE>]<VAR>n</VAR>, where <VAR>base</VAR>
+numbers take the form [<VAR>base</VAR><CODE>#</CODE>]<VAR>n</VAR>, where the optional <VAR>base</VAR>
is a decimal number between 2 and 64 representing the arithmetic
base, and <VAR>n</VAR> is a number in that base. If <VAR>base</VAR><CODE>#</CODE> is
omitted, then base 10 is used.
@@ -7852,20 +8098,20 @@ rules above.
<A NAME="Aliases"></A>
<HR SIZE="6">
-<A NAME="SEC84"></A>
+<A NAME="SEC85"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC83"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.6 Aliases </H2>
-<!--docid::SEC84::-->
+<!--docid::SEC85::-->
<P>
<VAR>Aliases</VAR> allow a string to be substituted for a word when it is used
@@ -7899,12 +8145,12 @@ command, and removed with the <CODE>unalias</CODE> command.
There is no mechanism for using arguments in the replacement text,
as in <CODE>csh</CODE>.
If arguments are needed, a shell function should be used
-(see section <A HREF="bashref.html#SEC24">3.3 Shell Functions</A>).
+(see section <A HREF="bashref.html#SEC25">3.3 Shell Functions</A>).
</P><P>
Aliases are not expanded when the shell is not interactive,
unless the <CODE>expand_aliases</CODE> shell option is set using
-<CODE>shopt</CODE> (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>).
+<CODE>shopt</CODE> (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>).
</P><P>
The rules concerning the definition and use of aliases are
@@ -7932,20 +8178,20 @@ For almost every purpose, shell functions are preferred over aliases.
<A NAME="Arrays"></A>
<HR SIZE="6">
-<A NAME="SEC85"></A>
+<A NAME="SEC86"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC84"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.7 Arrays </H2>
-<!--docid::SEC85::-->
+<!--docid::SEC86::-->
<P>
Bash provides one-dimensional indexed and associative array variables.
@@ -7955,7 +8201,7 @@ There is no maximum
limit on the size of an array, nor any requirement that members
be indexed or assigned contiguously.
Indexed arrays are referenced using integers (including arithmetic
-expressions (see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>) and are zero-based;
+expressions (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>) and are zero-based;
associative arrays use arbitrary strings.
</P><P>
@@ -7965,8 +8211,11 @@ using the syntax
</pre></td></tr></table></P><P>
The <VAR>subscript</VAR>
-is treated as an arithmetic expression that must evaluate to a number
-greater than or equal to zero. To explicitly declare an array, use
+is treated as an arithmetic expression that must evaluate to a number.
+If <VAR>subscript</VAR> evaluates to a number less than zero, it is used as
+an offset from one greater than the array's maximum index (so a subcript
+of -1 refers to the last element of the array).
+To explicitly declare an array, use
<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare -a <VAR>name</VAR>
</pre></td></tr></table>The syntax
<TABLE><tr><td>&nbsp;</td><td class=example><pre>declare -a <VAR>name</VAR>[<VAR>subscript</VAR>]
@@ -8056,24 +8305,24 @@ reused as input.
<A NAME="The Directory Stack"></A>
<HR SIZE="6">
-<A NAME="SEC86"></A>
+<A NAME="SEC87"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC85"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.8 The Directory Stack </H2>
-<!--docid::SEC86::-->
+<!--docid::SEC87::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Bash builtin commands to manipulate
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Bash builtin commands to manipulate
the directory stack.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -8092,26 +8341,26 @@ as the value of the <CODE>DIRSTACK</CODE> shell variable.
<A NAME="Directory Stack Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC87"></A>
+<A NAME="SEC88"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC86"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 6.8.1 Directory Stack Builtins </H3>
-<!--docid::SEC87::-->
+<!--docid::SEC88::-->
<P>
<DL COMPACT>
<DT><CODE>dirs</CODE>
-<DD><A NAME="IDX290"></A>
+<DD><A NAME="IDX302"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>dirs [+<VAR>N</VAR> | -<VAR>N</VAR>] [-clpv]
</pre></td></tr></table>Display the list of currently remembered directories. Directories
are added to the list with the <CODE>pushd</CODE> command; the
@@ -8140,7 +8389,7 @@ line, prefixing each entry with its index in the stack.
<P>
<DT><CODE>popd</CODE>
-<DD><A NAME="IDX291"></A>
+<DD><A NAME="IDX303"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>popd [+<VAR>N</VAR> | -<VAR>N</VAR>] [-n]
</pre></td></tr></table><P>
@@ -8164,7 +8413,7 @@ from the stack, so that only the stack is manipulated.
</DL>
<P>
-<A NAME="IDX292"></A>
+<A NAME="IDX304"></A>
<DT><CODE>pushd</CODE>
<DD><TABLE><tr><td>&nbsp;</td><td class=example><pre>pushd [-n] [<VAR>+N</VAR> | <VAR>-N</VAR> | <VAR>dir</VAR> ]
</pre></td></tr></table><P>
@@ -8198,20 +8447,20 @@ executes the equivalent of `<CODE>cd</CODE> <VAR>dir</VAR>'.
<A NAME="Printing a Prompt"></A>
<HR SIZE="6">
-<A NAME="SEC88"></A>
+<A NAME="SEC89"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC87"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC90"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.9 Controlling the Prompt </H2>
-<!--docid::SEC88::-->
+<!--docid::SEC89::-->
<P>
The value of the variable <CODE>PROMPT_COMMAND</CODE> is examined just before
@@ -8290,7 +8539,7 @@ embed a terminal control sequence into the prompt.
The command number and the history number are usually different:
the history number of a command is its position in the history
list, which may include commands restored from the history file
-(see section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>), while the command number is
+(see section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>), while the command number is
the position in the sequence of commands executed during the current
shell session.
</P><P>
@@ -8298,25 +8547,25 @@ shell session.
After the string is decoded, it is expanded via
parameter expansion, command substitution, arithmetic
expansion, and quote removal, subject to the value of the
-<CODE>promptvars</CODE> shell option (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+<CODE>promptvars</CODE> shell option (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
</P><P>
<A NAME="The Restricted Shell"></A>
<HR SIZE="6">
-<A NAME="SEC89"></A>
+<A NAME="SEC90"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC88"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC90"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC71"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.10 The Restricted Shell </H2>
-<!--docid::SEC89::-->
+<!--docid::SEC90::-->
<P>
If Bash is started with the name <CODE>rbash</CODE>, or the
@@ -8369,26 +8618,26 @@ These restrictions are enforced after any startup files are read.
</P><P>
When a command that is found to be a shell script is executed
-(see section <A HREF="bashref.html#SEC57">3.8 Shell Scripts</A>), <CODE>rbash</CODE> turns off any restrictions in
+(see section <A HREF="bashref.html#SEC58">3.8 Shell Scripts</A>), <CODE>rbash</CODE> turns off any restrictions in
the shell spawned to execute the script.
</P><P>
<A NAME="Bash POSIX Mode"></A>
<HR SIZE="6">
-<A NAME="SEC90"></A>
+<A NAME="SEC91"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC89"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC70"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC68"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC90"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC71"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC69"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 6.11 Bash POSIX Mode </H2>
-<!--docid::SEC90::-->
+<!--docid::SEC91::-->
<P>
Starting Bash with the <SAMP>`--posix'</SAMP> command-line option or executing
@@ -8476,6 +8725,12 @@ results in an invalid expression.
<P>
<LI>
+Non-interactive shells exit if there is a syntax error in a script read
+with the <CODE>.</CODE> or <CODE>source</CODE> builtins, or in a string processed by
+the <CODE>eval</CODE> builtin.
+<P>
+
+<LI>
Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
<P>
@@ -8498,6 +8753,26 @@ during command lookup.
<P>
<LI>
+The <CODE>time</CODE> reserved word may be used by itself as a command. When
+used in this way, it displays timing statistics for the shell and its
+completed children. The <CODE>TIMEFORMAT</CODE> variable controls the format
+of the timing information.
+<P>
+
+<LI>
+When parsing and expanding a ${<small>...</small>} expansion that appears within
+double quotes, single quotes are no longer special and cannot be used to
+quote a closing brace or other special character, unless the operator is
+one of those defined to perform pattern removal. In this case, they do
+not have to appear as matched pairs.
+<P>
+
+<LI>
+The parser does not recognize <CODE>time</CODE> as a reserved word if the next
+token begins with a <SAMP>`-'</SAMP>.
+<P>
+
+<LI>
If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect options,
@@ -8506,15 +8781,6 @@ the command name, and so on.
<P>
<LI>
-If <CODE>CDPATH</CODE> is set, the <CODE>cd</CODE> builtin will not implicitly
-append the current directory to it. This means that <CODE>cd</CODE> will
-fail if no valid directory name can be constructed from
-any of the entries in <CODE>$CDPATH</CODE>, even if the a directory with
-the same name as the name given as an argument to <CODE>cd</CODE> exists
-in the current directory.
-<P>
-
-<LI>
A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements.
@@ -8523,6 +8789,12 @@ a value to a readonly variable.
<P>
<LI>
+A non-interactive shell exists with an error status if a variable
+assignment error occurs in an assignment statement preceding a special
+builtin, but not with any other simple command.
+<P>
+
+<LI>
A non-interactive shell exits with an error status if the iteration
variable in a <CODE>for</CODE> statement or the selection variable in a
<CODE>select</CODE> statement is a readonly variable.
@@ -8602,11 +8874,6 @@ falling back to <VAR>physical</VAR> mode.
<P>
<LI>
-When the <CODE>pwd</CODE> builtin is supplied the <SAMP>`-P'</SAMP> option, it resets
-<CODE>$PWD</CODE> to a pathname containing no symlinks.
-<P>
-
-<LI>
The <CODE>pwd</CODE> builtin verifies that the value it prints is the same as the
current directory, even if it is not asked to check the file system with the
<SAMP>`-P'</SAMP> option.
@@ -8676,25 +8943,25 @@ the <CODE>echo</CODE> builtin to be fully conformant.
Bash can be configured to be POSIX-conformant by default, by specifying
the <SAMP>`--enable-strict-posix-default'</SAMP> to <CODE>configure</CODE> when building
-(see section <A HREF="bashref.html#SEC134">10.8 Optional Features</A>).
+(see section <A HREF="bashref.html#SEC135">10.8 Optional Features</A>).
</P><P>
<A NAME="Job Control"></A>
<HR SIZE="6">
-<A NAME="SEC91"></A>
+<A NAME="SEC92"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC90"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC93"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 7. Job Control </H1>
-<!--docid::SEC91::-->
+<!--docid::SEC92::-->
<P>
This chapter discusses what job control is, how it works, and how
@@ -8702,30 +8969,30 @@ Bash allows you to access its facilities.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC92">7.1 Job Control Basics</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How job control works.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Bash builtin commands used to interact
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC93">7.1 Job Control Basics</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How job control works.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Bash builtin commands used to interact
with job control.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC94">7.3 Job Control Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables Bash uses to customize job
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC95">7.3 Job Control Variables</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Variables Bash uses to customize job
control.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Job Control Basics"></A>
<HR SIZE="6">
-<A NAME="SEC92"></A>
+<A NAME="SEC93"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC93"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC94"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.1 Job Control Basics </H2>
-<!--docid::SEC92::-->
+<!--docid::SEC93::-->
<P>
Job control
@@ -8819,13 +9086,13 @@ Normally, Bash waits until it is about to print a prompt
before reporting changes in a job's status so as to not interrupt
any other output.
If the <SAMP>`-b'</SAMP> option to the <CODE>set</CODE> builtin is enabled,
-Bash reports such changes immediately (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+Bash reports such changes immediately (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
Any trap on <CODE>SIGCHLD</CODE> is executed for each child process
that exits.
</P><P>
If an attempt to exit Bash is made while jobs are stopped, (or running, if
-the <CODE>checkjobs</CODE> option is enabled -- see <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>), the
+the <CODE>checkjobs</CODE> option is enabled -- see <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>), the
shell prints a warning message, and if the <CODE>checkjobs</CODE> option is
enabled, lists the jobs and their statuses.
The <CODE>jobs</CODE> command may then be used to inspect their status.
@@ -8835,26 +9102,26 @@ Bash does not print another warning, and any stopped jobs are terminated.
<A NAME="Job Control Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC93"></A>
+<A NAME="SEC94"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC94"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC94"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC93"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.2 Job Control Builtins </H2>
-<!--docid::SEC93::-->
+<!--docid::SEC94::-->
<P>
<DL COMPACT>
<DT><CODE>bg</CODE>
-<DD><A NAME="IDX293"></A>
+<DD><A NAME="IDX305"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>bg [<VAR>jobspec</VAR> <small>...</small>]
</pre></td></tr></table>Resume each suspended job <VAR>jobspec</VAR> in the background, as if it
had been started with <SAMP>`&#38;'</SAMP>.
@@ -8866,7 +9133,7 @@ that was started without job control.
<P>
<DT><CODE>fg</CODE>
-<DD><A NAME="IDX294"></A>
+<DD><A NAME="IDX306"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>fg [<VAR>jobspec</VAR>]
</pre></td></tr></table>Resume the job <VAR>jobspec</VAR> in the foreground and make it the current job.
If <VAR>jobspec</VAR> is not supplied, the current job is used.
@@ -8877,7 +9144,7 @@ job control enabled, <VAR>jobspec</VAR> does not specify a valid job or
<P>
<DT><CODE>jobs</CODE>
-<DD><A NAME="IDX295"></A>
+<DD><A NAME="IDX307"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>jobs [-lnprs] [<VAR>jobspec</VAR>]
jobs -x <VAR>command</VAR> [<VAR>arguments</VAR>]
</pre></td></tr></table><P>
@@ -8922,7 +9189,7 @@ passing it <VAR>argument</VAR>s, returning its exit status.
</P><P>
<DT><CODE>kill</CODE>
-<DD><A NAME="IDX296"></A>
+<DD><A NAME="IDX308"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>kill [-s <VAR>sigspec</VAR>] [-n <VAR>signum</VAR>] [-<VAR>sigspec</VAR>] <VAR>jobspec</VAR> or <VAR>pid</VAR>
kill -l [<VAR>exit_status</VAR>]
</pre></td></tr></table>Send a signal specified by <VAR>sigspec</VAR> or <VAR>signum</VAR> to the process
@@ -8942,7 +9209,7 @@ or non-zero if an error occurs or an invalid option is encountered.
<P>
<DT><CODE>wait</CODE>
-<DD><A NAME="IDX297"></A>
+<DD><A NAME="IDX309"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>wait [<VAR>jobspec</VAR> or <VAR>pid</VAR> ...]
</pre></td></tr></table>Wait until the child process specified by each process ID <VAR>pid</VAR>
or job specification <VAR>jobspec</VAR> exits and return the exit status of the
@@ -8955,7 +9222,7 @@ of the shell, the return status is 127.
<P>
<DT><CODE>disown</CODE>
-<DD><A NAME="IDX298"></A>
+<DD><A NAME="IDX310"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>disown [-ar] [-h] [<VAR>jobspec</VAR> <small>...</small>]
</pre></td></tr></table>Without options, each <VAR>jobspec</VAR> is removed from the table of
active jobs.
@@ -8970,7 +9237,7 @@ argument restricts operation to running jobs.
<P>
<DT><CODE>suspend</CODE>
-<DD><A NAME="IDX299"></A>
+<DD><A NAME="IDX311"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>suspend [-f]
</pre></td></tr></table>Suspend the execution of this shell until it receives a
<CODE>SIGCONT</CODE> signal.
@@ -8988,27 +9255,27 @@ supplied process IDs.
<A NAME="Job Control Variables"></A>
<HR SIZE="6">
-<A NAME="SEC94"></A>
+<A NAME="SEC95"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC93"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC91"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC94"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC92"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 7.3 Job Control Variables </H2>
-<!--docid::SEC94::-->
+<!--docid::SEC95::-->
<P>
<DL COMPACT>
-<A NAME="IDX300"></A>
+<A NAME="IDX312"></A>
<DT><CODE>auto_resume</CODE>
-<DD><A NAME="IDX301"></A>
+<DD><A NAME="IDX313"></A>
This variable controls how the shell interacts with the user and
job control. If this variable exists then single word simple
commands without redirections are treated as candidates for resumption
@@ -9021,7 +9288,7 @@ the string supplied must match the name of a stopped job exactly;
if set to <SAMP>`substring'</SAMP>,
the string supplied needs to match a substring of the name of a
stopped job. The <SAMP>`substring'</SAMP> value provides functionality
-analogous to the <SAMP>`%?'</SAMP> job ID (see section <A HREF="bashref.html#SEC92">7.1 Job Control Basics</A>).
+analogous to the <SAMP>`%?'</SAMP> job ID (see section <A HREF="bashref.html#SEC93">7.1 Job Control Basics</A>).
If set to any other value, the supplied string must
be a prefix of a stopped job's name; this provides functionality
analogous to the <SAMP>`%'</SAMP> job ID.
@@ -9030,25 +9297,25 @@ analogous to the <SAMP>`%'</SAMP> job ID.
</DL>
<P>
-<A NAME="IDX302"></A>
+<A NAME="IDX314"></A>
</P><P>
<A NAME="Command Line Editing"></A>
<HR SIZE="6">
-<A NAME="SEC95"></A>
+<A NAME="SEC96"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC94"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 8. Command Line Editing </H1>
-<!--docid::SEC95::-->
+<!--docid::SEC96::-->
<P>
This chapter describes the basic features of the GNU
@@ -9058,46 +9325,46 @@ used by several different programs, including Bash.
Command line editing is enabled by default when using an interactive shell,
unless the <SAMP>`--noediting'</SAMP> option is supplied at shell invocation.
Line editing is also used when using the <SAMP>`-e'</SAMP> option to the
-<CODE>read</CODE> builtin command (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
-By default, the line editing commands are similar to those of emacs.
+<CODE>read</CODE> builtin command (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
+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 <SAMP>`-o emacs'</SAMP> or
<SAMP>`-o vi'</SAMP> options to the <CODE>set</CODE> builtin command
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>), or disabled using the <SAMP>`+o emacs'</SAMP> or
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>), or disabled using the <SAMP>`+o emacs'</SAMP> or
<SAMP>`+o vi'</SAMP> options to <CODE>set</CODE>.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC96">8.1 Introduction to Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Notation used in this text.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC97">8.2 Readline Interaction</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The minimum set of commands for editing a line.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC103">8.3 Readline Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Customizing Readline from a user's view.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC107">8.4 Bindable Readline Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A description of most of the Readline commands
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC97">8.1 Introduction to Line Editing</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Notation used in this text.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC98">8.2 Readline Interaction</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The minimum set of commands for editing a line.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC104">8.3 Readline Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Customizing Readline from a user's view.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC108">8.4 Bindable Readline Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A description of most of the Readline commands
available for binding</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC116">8.5 Readline vi Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A short description of how to make Readline
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC117">8.5 Readline vi Mode</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">A short description of how to make Readline
behave like the vi editor.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC117">8.6 Programmable Completion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify the possible completions for
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC118">8.6 Programmable Completion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify the possible completions for
a specific command.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands to specify how to
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Builtin commands to specify how to
complete arguments for a particular command.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Introduction and Notation"></A>
<HR SIZE="6">
-<A NAME="SEC96"></A>
+<A NAME="SEC97"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.1 Introduction to Line Editing </H2>
-<!--docid::SEC96::-->
+<!--docid::SEC97::-->
<P>
The following paragraphs describe the notation used to represent
@@ -9134,7 +9401,7 @@ character produced by <EM>metafying</EM> <KBD>C-k</KBD>.
In addition, several keys have their own names. Specifically,
<KBD>DEL</KBD>, <KBD>ESC</KBD>, <KBD>LFD</KBD>, <KBD>SPC</KBD>, <KBD>RET</KBD>, and <KBD>TAB</KBD> all
stand for themselves when seen in this text, or in an init file
-(see section <A HREF="bashref.html#SEC103">8.3 Readline Init File</A>).
+(see section <A HREF="bashref.html#SEC104">8.3 Readline Init File</A>).
If your keyboard lacks a <KBD>LFD</KBD> key, typing <KBD>C-j</KBD> will
produce the desired character.
The <KBD>RET</KBD> key may be labeled <KBD>Return</KBD> or <KBD>Enter</KBD> on
@@ -9143,20 +9410,20 @@ some keyboards.
<A NAME="Readline Interaction"></A>
<HR SIZE="6">
-<A NAME="SEC97"></A>
+<A NAME="SEC98"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC99"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.2 Readline Interaction </H2>
-<!--docid::SEC97::-->
+<!--docid::SEC98::-->
<P>
Often during an interactive session you type in a long line of text,
@@ -9172,30 +9439,30 @@ regardless of the location of the cursor within the line.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC98">8.2.1 Readline Bare Essentials</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The least you need to know about Readline.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC99">8.2.2 Readline Movement Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the input line.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC100">8.2.3 Readline Killing Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to delete text, and how to get it back!</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC101">8.2.4 Readline Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Giving numeric arguments to commands.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC102">8.2.5 Searching for Commands in the History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Searching through previous lines.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC99">8.2.1 Readline Bare Essentials</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The least you need to know about Readline.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC100">8.2.2 Readline Movement Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the input line.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC101">8.2.3 Readline Killing Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to delete text, and how to get it back!</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC102">8.2.4 Readline Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Giving numeric arguments to commands.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC103">8.2.5 Searching for Commands in the History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Searching through previous lines.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Readline Bare Essentials"></A>
<HR SIZE="6">
-<A NAME="SEC98"></A>
+<A NAME="SEC99"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC99"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC100"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.2.1 Readline Bare Essentials </H3>
-<!--docid::SEC98::-->
+<!--docid::SEC99::-->
<P>
In order to enter characters into the line, simply type them. The typed
@@ -9244,20 +9511,20 @@ than the character to the left of the cursor.)
<A NAME="Readline Movement Commands"></A>
<HR SIZE="6">
-<A NAME="SEC99"></A>
+<A NAME="SEC100"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC100"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC100"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC99"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.2.2 Readline Movement Commands </H3>
-<!--docid::SEC99::-->
+<!--docid::SEC100::-->
<P>
The above table describes the most basic keystrokes that you need
@@ -9288,24 +9555,24 @@ operate on characters while meta keystrokes operate on words.
<A NAME="Readline Killing Commands"></A>
<HR SIZE="6">
-<A NAME="SEC100"></A>
+<A NAME="SEC101"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC99"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC100"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.2.3 Readline Killing Commands </H3>
-<!--docid::SEC100::-->
+<!--docid::SEC101::-->
<P>
-<A NAME="IDX303"></A>
-<A NAME="IDX304"></A>
+<A NAME="IDX315"></A>
+<A NAME="IDX316"></A>
</P><P>
<EM>Killing</EM> text means to delete the text from the line, but to save
@@ -9325,7 +9592,7 @@ that when you yank it back, you get it all. The kill
ring is not line specific; the text that you killed on a previously
typed line is available to be yanked back later, when you are typing
another line.
-<A NAME="IDX305"></A>
+<A NAME="IDX317"></A>
</P><P>
Here is the list of commands for killing text.
@@ -9373,20 +9640,20 @@ the prior command is <KBD>C-y</KBD> or <KBD>M-y</KBD>.
<A NAME="Readline Arguments"></A>
<HR SIZE="6">
-<A NAME="SEC101"></A>
+<A NAME="SEC102"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC100"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.2.4 Readline Arguments </H3>
-<!--docid::SEC101::-->
+<!--docid::SEC102::-->
<P>
You can pass numeric arguments to Readline commands. Sometimes the
@@ -9408,24 +9675,24 @@ which will delete the next ten characters on the input line.
<A NAME="Searching"></A>
<HR SIZE="6">
-<A NAME="SEC102"></A>
+<A NAME="SEC103"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC101"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC97"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC98"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.2.5 Searching for Commands in the History </H3>
-<!--docid::SEC102::-->
+<!--docid::SEC103::-->
<P>
Readline provides commands for searching through the command history
-(see section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>)
+(see section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>)
for lines containing a specified string.
There are two search modes: <EM>incremental</EM> and <EM>non-incremental</EM>.
</P><P>
@@ -9471,20 +9738,20 @@ typed by the user or be part of the contents of the current line.
<A NAME="Readline Init File"></A>
<HR SIZE="6">
-<A NAME="SEC103"></A>
+<A NAME="SEC104"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC102"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC105"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.3 Readline Init File </H2>
-<!--docid::SEC103::-->
+<!--docid::SEC104::-->
<P>
Although the Readline library comes with a set of Emacs-like
@@ -9508,43 +9775,43 @@ incorporating any changes that you might have made to it.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Syntax for the commands in the inputrc file.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Syntax for the commands in the inputrc file.</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC105">8.3.2 Conditional Init Constructs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Conditional key bindings in the inputrc file.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC106">8.3.2 Conditional Init Constructs</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Conditional key bindings in the inputrc file.</TD></TR>
</TABLE>
<br>
<TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC106">8.3.3 Sample Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">An example inputrc file.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC107">8.3.3 Sample Init File</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">An example inputrc file.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Readline Init File Syntax"></A>
<HR SIZE="6">
-<A NAME="SEC104"></A>
+<A NAME="SEC105"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC105"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC106"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.3.1 Readline Init File Syntax </H3>
-<!--docid::SEC104::-->
+<!--docid::SEC105::-->
<P>
There are only a few basic constructs allowed in the
Readline init file. Blank lines are ignored.
Lines beginning with a <SAMP>`#'</SAMP> are comments.
Lines beginning with a <SAMP>`$'</SAMP> indicate conditional
-constructs (see section <A HREF="bashref.html#SEC105">8.3.2 Conditional Init Constructs</A>). Other lines
+constructs (see section <A HREF="bashref.html#SEC106">8.3.2 Conditional Init Constructs</A>). Other lines
denote variable settings and key bindings.
</P><P>
@@ -9577,18 +9844,18 @@ value results in the variable being set to off.
</P><P>
The <CODE>bind -V</CODE> command lists the current Readline variable names
-and values. See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>.
+and values. See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>.
</P><P>
A great deal of run-time behavior is changeable with the following
variables.
</P><P>
-<A NAME="IDX306"></A>
+<A NAME="IDX318"></A>
<DL COMPACT>
<DT><CODE>bell-style</CODE>
-<DD><A NAME="IDX307"></A>
+<DD><A NAME="IDX319"></A>
Controls what happens when Readline wants to ring the terminal bell.
If set to <SAMP>`none'</SAMP>, Readline never rings the bell. If set to
<SAMP>`visible'</SAMP>, Readline uses a visible bell if one is available.
@@ -9597,27 +9864,45 @@ the terminal's bell.
<P>
<DT><CODE>bind-tty-special-chars</CODE>
-<DD><A NAME="IDX308"></A>
+<DD><A NAME="IDX320"></A>
If set to <SAMP>`on'</SAMP>, Readline attempts to bind the control characters
treated specially by the kernel's terminal driver to their Readline
equivalents.
<P>
<DT><CODE>comment-begin</CODE>
-<DD><A NAME="IDX309"></A>
+<DD><A NAME="IDX321"></A>
The string to insert at the beginning of the line when the
<CODE>insert-comment</CODE> command is executed. The default value
is <CODE>"#"</CODE>.
<P>
+<DT><CODE>completion-display-width</CODE>
+<DD><A NAME="IDX322"></A>
+The number of screen columns used to display possible matches
+when performing completion.
+The value is ignored if it is less than 0 or greater than the terminal
+screen width.
+A value of 0 will cause matches to be displayed one per line.
+The default value is -1.
+<P>
+
<DT><CODE>completion-ignore-case</CODE>
-<DD>If set to <SAMP>`on'</SAMP>, Readline performs filename matching and completion
+<DD><A NAME="IDX323"></A>
+If set to <SAMP>`on'</SAMP>, Readline performs filename matching and completion
in a case-insensitive fashion.
The default value is <SAMP>`off'</SAMP>.
<P>
+<DT><CODE>completion-map-case</CODE>
+<DD><A NAME="IDX324"></A>
+If set to <SAMP>`on'</SAMP>, and <VAR>completion-ignore-case</VAR> is enabled, Readline
+treats hyphens (<SAMP>`-'</SAMP>) and underscores (<SAMP>`_'</SAMP>) as equivalent when
+performing case-insensitive filename matching and completion.
+<P>
+
<DT><CODE>completion-prefix-display-length</CODE>
-<DD><A NAME="IDX310"></A>
+<DD><A NAME="IDX325"></A>
The length in characters of the common prefix of a list of possible
completions that is displayed without modification. When set to a
value greater than zero, common prefixes longer than this value are
@@ -9625,7 +9910,7 @@ replaced with an ellipsis when displaying possible completions.
<P>
<DT><CODE>completion-query-items</CODE>
-<DD><A NAME="IDX311"></A>
+<DD><A NAME="IDX326"></A>
The number of possible completions that determines when the user is
asked whether the list of possibilities should be displayed.
If the number of possible completions is greater than this value,
@@ -9637,7 +9922,7 @@ The default limit is <CODE>100</CODE>.
<P>
<DT><CODE>convert-meta</CODE>
-<DD><A NAME="IDX312"></A>
+<DD><A NAME="IDX327"></A>
If set to <SAMP>`on'</SAMP>, Readline will convert characters with the
eighth bit set to an ASCII key sequence by stripping the eighth
bit and prefixing an <KBD>ESC</KBD> character, converting them to a
@@ -9645,14 +9930,14 @@ meta-prefixed key sequence. The default value is <SAMP>`on'</SAMP>.
<P>
<DT><CODE>disable-completion</CODE>
-<DD><A NAME="IDX313"></A>
+<DD><A NAME="IDX328"></A>
If set to <SAMP>`On'</SAMP>, Readline will inhibit word completion.
Completion characters will be inserted into the line as if they had
been mapped to <CODE>self-insert</CODE>. The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>editing-mode</CODE>
-<DD><A NAME="IDX314"></A>
+<DD><A NAME="IDX329"></A>
The <CODE>editing-mode</CODE> variable controls which default set of
key bindings is used. By default, Readline starts up in Emacs editing
mode, where the keystrokes are most similar to Emacs. This variable can be
@@ -9666,7 +9951,7 @@ keyboard. The default is <SAMP>`on'</SAMP>.
<P>
<DT><CODE>enable-keypad</CODE>
-<DD><A NAME="IDX315"></A>
+<DD><A NAME="IDX330"></A>
When set to <SAMP>`on'</SAMP>, Readline will try to enable the application
keypad when it is called. Some systems need this to enable the
arrow keys. The default is <SAMP>`off'</SAMP>.
@@ -9680,13 +9965,13 @@ The default is <SAMP>`on'</SAMP>.
<P>
<DT><CODE>expand-tilde</CODE>
-<DD><A NAME="IDX316"></A>
+<DD><A NAME="IDX331"></A>
If set to <SAMP>`on'</SAMP>, tilde expansion is performed when Readline
attempts word completion. The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>history-preserve-point</CODE>
-<DD><A NAME="IDX317"></A>
+<DD><A NAME="IDX332"></A>
If set to <SAMP>`on'</SAMP>, the history code attempts to place the point (the
current cursor position) at the
same location on each history line retrieved with <CODE>previous-history</CODE>
@@ -9694,13 +9979,13 @@ or <CODE>next-history</CODE>. The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>history-size</CODE>
-<DD><A NAME="IDX318"></A>
+<DD><A NAME="IDX333"></A>
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.
<P>
<DT><CODE>horizontal-scroll-mode</CODE>
-<DD><A NAME="IDX319"></A>
+<DD><A NAME="IDX334"></A>
This variable can be set to either <SAMP>`on'</SAMP> or <SAMP>`off'</SAMP>. Setting it
to <SAMP>`on'</SAMP> means that the text of the lines being edited will scroll
horizontally on a single screen line when they are longer than the width
@@ -9709,8 +9994,8 @@ this variable is set to <SAMP>`off'</SAMP>.
<P>
<DT><CODE>input-meta</CODE>
-<DD><A NAME="IDX320"></A>
-<A NAME="IDX321"></A>
+<DD><A NAME="IDX335"></A>
+<A NAME="IDX336"></A>
If set to <SAMP>`on'</SAMP>, Readline will enable eight-bit input (it
will not clear the eighth bit in the characters it reads),
regardless of what the terminal claims it can support. The
@@ -9719,15 +10004,15 @@ synonym for this variable.
<P>
<DT><CODE>isearch-terminators</CODE>
-<DD><A NAME="IDX322"></A>
+<DD><A NAME="IDX337"></A>
The string of characters that should terminate an incremental search without
-subsequently executing the character as a command (see section <A HREF="bashref.html#SEC102">8.2.5 Searching for Commands in the History</A>).
+subsequently executing the character as a command (see section <A HREF="bashref.html#SEC103">8.2.5 Searching for Commands in the History</A>).
If this variable has not been given a value, the characters <KBD>ESC</KBD> and
<KBD>C-J</KBD> will terminate an incremental search.
<P>
<DT><CODE>keymap</CODE>
-<DD><A NAME="IDX323"></A>
+<DD><A NAME="IDX338"></A>
Sets Readline's idea of the current keymap for key binding commands.
Acceptable <CODE>keymap</CODE> names are
<CODE>emacs</CODE>,
@@ -9750,14 +10035,14 @@ appended. The default is <SAMP>`on'</SAMP>.
<P>
<DT><CODE>mark-modified-lines</CODE>
-<DD><A NAME="IDX324"></A>
+<DD><A NAME="IDX339"></A>
This variable, when set to <SAMP>`on'</SAMP>, causes Readline to display an
asterisk (<SAMP>`*'</SAMP>) at the start of history lines which have been modified.
This variable is <SAMP>`off'</SAMP> by default.
<P>
<DT><CODE>mark-symlinked-directories</CODE>
-<DD><A NAME="IDX325"></A>
+<DD><A NAME="IDX340"></A>
If set to <SAMP>`on'</SAMP>, completed names which are symbolic links
to directories have a slash appended (subject to the value of
<CODE>mark-directories</CODE>).
@@ -9765,23 +10050,31 @@ The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>match-hidden-files</CODE>
-<DD><A NAME="IDX326"></A>
+<DD><A NAME="IDX341"></A>
This variable, when set to <SAMP>`on'</SAMP>, causes Readline to match files whose
names begin with a <SAMP>`.'</SAMP> (hidden files) when performing filename
-completion, unless the leading <SAMP>`.'</SAMP> is
+completion.
+If set to <SAMP>`off'</SAMP>, the leading <SAMP>`.'</SAMP> must be
supplied by the user in the filename to be completed.
This variable is <SAMP>`on'</SAMP> by default.
<P>
+<DT><CODE>menu-complete-display-prefix</CODE>
+<DD><A NAME="IDX342"></A>
+If set to <SAMP>`on'</SAMP>, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list. The default is <SAMP>`off'</SAMP>.
+<P>
+
<DT><CODE>output-meta</CODE>
-<DD><A NAME="IDX327"></A>
+<DD><A NAME="IDX343"></A>
If set to <SAMP>`on'</SAMP>, Readline will display characters with the
eighth bit set directly rather than as a meta-prefixed escape
sequence. The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>page-completions</CODE>
-<DD><A NAME="IDX328"></A>
+<DD><A NAME="IDX344"></A>
If set to <SAMP>`on'</SAMP>, Readline uses an internal <CODE>more</CODE>-like pager
to display a screenful of possible completions at a time.
This variable is <SAMP>`on'</SAMP> by default.
@@ -9794,7 +10087,7 @@ The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>revert-all-at-newline</CODE>
-<DD><A NAME="IDX329"></A>
+<DD><A NAME="IDX345"></A>
If set to <SAMP>`on'</SAMP>, Readline will undo all changes to history lines
before returning when <CODE>accept-line</CODE> is executed. By default,
history lines may be modified and retain individual undo lists across
@@ -9802,7 +10095,7 @@ calls to <CODE>readline</CODE>. The default is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>show-all-if-ambiguous</CODE>
-<DD><A NAME="IDX330"></A>
+<DD><A NAME="IDX346"></A>
This alters the default behavior of the completion functions. If
set to <SAMP>`on'</SAMP>,
words which have more than one possible completion cause the
@@ -9811,7 +10104,7 @@ The default value is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>show-all-if-unmodified</CODE>
-<DD><A NAME="IDX331"></A>
+<DD><A NAME="IDX347"></A>
This alters the default behavior of the completion functions in
a fashion similar to <VAR>show-all-if-ambiguous</VAR>.
If set to <SAMP>`on'</SAMP>,
@@ -9823,7 +10116,7 @@ The default value is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>skip-completed-text</CODE>
-<DD><A NAME="IDX332"></A>
+<DD><A NAME="IDX348"></A>
If set to <SAMP>`on'</SAMP>, this alters the default completion behavior when
inserting a single match into the line. It's only active when
performing completion in the middle of a word. If enabled, readline
@@ -9838,7 +10131,7 @@ The default value is <SAMP>`off'</SAMP>.
<P>
<DT><CODE>visible-stats</CODE>
-<DD><A NAME="IDX333"></A>
+<DD><A NAME="IDX349"></A>
If set to <SAMP>`on'</SAMP>, a character denoting a file's type
is appended to the filename when listing possible
completions. The default is <SAMP>`off'</SAMP>.
@@ -9871,7 +10164,7 @@ to a string that is inserted when the key is pressed (a <VAR>macro</VAR>).
The <CODE>bind -p</CODE> command displays Readline function names and
bindings in a format that can put directly into an initialization file.
-See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>.
+See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>.
</P><P>
<DL COMPACT>
@@ -9995,20 +10288,20 @@ insert a single <SAMP>`\'</SAMP> into the line:
<A NAME="Conditional Init Constructs"></A>
<HR SIZE="6">
-<A NAME="SEC105"></A>
+<A NAME="SEC106"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC106"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC106"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC105"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.3.2 Conditional Init Constructs </H3>
-<!--docid::SEC105::-->
+<!--docid::SEC106::-->
<P>
Readline implements a facility similar in spirit to the conditional
@@ -10080,20 +10373,20 @@ For example, the following directive reads from <TT>`/etc/inputrc'</TT>:
<A NAME="Sample Init File"></A>
<HR SIZE="6">
-<A NAME="SEC106"></A>
+<A NAME="SEC107"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC105"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC103"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC106"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC104"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.3.3 Sample Init File </H3>
-<!--docid::SEC106::-->
+<!--docid::SEC107::-->
<P>
Here is an example of an <VAR>inputrc</VAR> file. This illustrates key
@@ -10203,31 +10496,31 @@ $endif
<A NAME="Bindable Readline Commands"></A>
<HR SIZE="6">
-<A NAME="SEC107"></A>
+<A NAME="SEC108"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC106"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC109"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.4 Bindable Readline Commands </H2>
-<!--docid::SEC107::-->
+<!--docid::SEC108::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the line.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting at previous lines.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for changing text.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for killing and yanking.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying numeric arguments, repeat counts.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting Readline to do the typing for you.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Saving and re-executing typed characters</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Other miscellaneous commands.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Moving about the line.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting at previous lines.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for changing text.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Commands for killing and yanking.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying numeric arguments, repeat counts.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Getting Readline to do the typing for you.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Saving and re-executing typed characters</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Other miscellaneous commands.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
@@ -10235,7 +10528,7 @@ This section describes Readline commands that may be bound to key
sequences.
You can list your key bindings by executing
<CODE>bind -P</CODE> or, for a more terse format, suitable for an
-<VAR>inputrc</VAR> file, <CODE>bind -p</CODE>. (See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>.)
+<VAR>inputrc</VAR> file, <CODE>bind -p</CODE>. (See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>.)
Command names without an accompanying key sequence are unbound by default.
</P><P>
@@ -10247,83 +10540,83 @@ The text between the point and mark is referred to as the <EM>region</EM>.
<A NAME="Commands For Moving"></A>
<HR SIZE="6">
-<A NAME="SEC108"></A>
+<A NAME="SEC109"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC109"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC110"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.1 Commands For Moving </H3>
-<!--docid::SEC108::-->
+<!--docid::SEC109::-->
<DL COMPACT>
-<A NAME="IDX334"></A>
+<A NAME="IDX350"></A>
<DT><CODE>beginning-of-line (C-a)</CODE>
-<DD><A NAME="IDX335"></A>
+<DD><A NAME="IDX351"></A>
Move to the start of the current line.
<P>
-<A NAME="IDX336"></A>
+<A NAME="IDX352"></A>
<DT><CODE>end-of-line (C-e)</CODE>
-<DD><A NAME="IDX337"></A>
+<DD><A NAME="IDX353"></A>
Move to the end of the line.
<P>
-<A NAME="IDX338"></A>
+<A NAME="IDX354"></A>
<DT><CODE>forward-char (C-f)</CODE>
-<DD><A NAME="IDX339"></A>
+<DD><A NAME="IDX355"></A>
Move forward a character.
<P>
-<A NAME="IDX340"></A>
+<A NAME="IDX356"></A>
<DT><CODE>backward-char (C-b)</CODE>
-<DD><A NAME="IDX341"></A>
+<DD><A NAME="IDX357"></A>
Move back a character.
<P>
-<A NAME="IDX342"></A>
+<A NAME="IDX358"></A>
<DT><CODE>forward-word (M-f)</CODE>
-<DD><A NAME="IDX343"></A>
+<DD><A NAME="IDX359"></A>
Move forward to the end of the next word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX344"></A>
+<A NAME="IDX360"></A>
<DT><CODE>backward-word (M-b)</CODE>
-<DD><A NAME="IDX345"></A>
+<DD><A NAME="IDX361"></A>
Move back to the start of the current or previous word.
Words are composed of letters and digits.
<P>
-<A NAME="IDX346"></A>
+<A NAME="IDX362"></A>
<DT><CODE>shell-forward-word ()</CODE>
-<DD><A NAME="IDX347"></A>
+<DD><A NAME="IDX363"></A>
Move forward to the end of the next word.
Words are delimited by non-quoted shell metacharacters.
<P>
-<A NAME="IDX348"></A>
+<A NAME="IDX364"></A>
<DT><CODE>shell-backward-word ()</CODE>
-<DD><A NAME="IDX349"></A>
+<DD><A NAME="IDX365"></A>
Move back to the start of the current or previous word.
Words are delimited by non-quoted shell metacharacters.
<P>
-<A NAME="IDX350"></A>
+<A NAME="IDX366"></A>
<DT><CODE>clear-screen (C-l)</CODE>
-<DD><A NAME="IDX351"></A>
+<DD><A NAME="IDX367"></A>
Clear the screen and redraw the current line,
leaving the current line at the top of the screen.
<P>
-<A NAME="IDX352"></A>
+<A NAME="IDX368"></A>
<DT><CODE>redraw-current-line ()</CODE>
-<DD><A NAME="IDX353"></A>
+<DD><A NAME="IDX369"></A>
Refresh the current line. By default, this is unbound.
<P>
@@ -10332,26 +10625,26 @@ Refresh the current line. By default, this is unbound.
<A NAME="Commands For History"></A>
<HR SIZE="6">
-<A NAME="SEC109"></A>
+<A NAME="SEC110"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC110"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC110"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC109"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.2 Commands For Manipulating The History </H3>
-<!--docid::SEC109::-->
+<!--docid::SEC110::-->
<P>
<DL COMPACT>
-<A NAME="IDX354"></A>
+<A NAME="IDX370"></A>
<DT><CODE>accept-line (Newline or Return)</CODE>
-<DD><A NAME="IDX355"></A>
+<DD><A NAME="IDX371"></A>
Accept the line regardless of where the cursor is.
If this line is
non-empty, add it to the history list according to the setting of
@@ -10360,81 +10653,81 @@ If this line is a modified history line, then restore the history line
to its original state.
<P>
-<A NAME="IDX356"></A>
+<A NAME="IDX372"></A>
<DT><CODE>previous-history (C-p)</CODE>
-<DD><A NAME="IDX357"></A>
+<DD><A NAME="IDX373"></A>
Move `back' through the history list, fetching the previous command.
<P>
-<A NAME="IDX358"></A>
+<A NAME="IDX374"></A>
<DT><CODE>next-history (C-n)</CODE>
-<DD><A NAME="IDX359"></A>
+<DD><A NAME="IDX375"></A>
Move `forward' through the history list, fetching the next command.
<P>
-<A NAME="IDX360"></A>
+<A NAME="IDX376"></A>
<DT><CODE>beginning-of-history (M-&#60;)</CODE>
-<DD><A NAME="IDX361"></A>
+<DD><A NAME="IDX377"></A>
Move to the first line in the history.
<P>
-<A NAME="IDX362"></A>
+<A NAME="IDX378"></A>
<DT><CODE>end-of-history (M-&#62;)</CODE>
-<DD><A NAME="IDX363"></A>
+<DD><A NAME="IDX379"></A>
Move to the end of the input history, i.e., the line currently
being entered.
<P>
-<A NAME="IDX364"></A>
+<A NAME="IDX380"></A>
<DT><CODE>reverse-search-history (C-r)</CODE>
-<DD><A NAME="IDX365"></A>
+<DD><A NAME="IDX381"></A>
Search backward starting at the current line and moving `up' through
the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX366"></A>
+<A NAME="IDX382"></A>
<DT><CODE>forward-search-history (C-s)</CODE>
-<DD><A NAME="IDX367"></A>
+<DD><A NAME="IDX383"></A>
Search forward starting at the current line and moving `down' through
the the history as necessary. This is an incremental search.
<P>
-<A NAME="IDX368"></A>
+<A NAME="IDX384"></A>
<DT><CODE>non-incremental-reverse-search-history (M-p)</CODE>
-<DD><A NAME="IDX369"></A>
+<DD><A NAME="IDX385"></A>
Search backward starting at the current line and moving `up'
through the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX370"></A>
+<A NAME="IDX386"></A>
<DT><CODE>non-incremental-forward-search-history (M-n)</CODE>
-<DD><A NAME="IDX371"></A>
+<DD><A NAME="IDX387"></A>
Search forward starting at the current line and moving `down'
through the the history as necessary using a non-incremental search
for a string supplied by the user.
<P>
-<A NAME="IDX372"></A>
+<A NAME="IDX388"></A>
<DT><CODE>history-search-forward ()</CODE>
-<DD><A NAME="IDX373"></A>
+<DD><A NAME="IDX389"></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.
By default, this command is unbound.
<P>
-<A NAME="IDX374"></A>
+<A NAME="IDX390"></A>
<DT><CODE>history-search-backward ()</CODE>
-<DD><A NAME="IDX375"></A>
+<DD><A NAME="IDX391"></A>
Search backward through the history for the string of characters
between the start of the current line and the point. This
is a non-incremental search. By default, this command is unbound.
<P>
-<A NAME="IDX376"></A>
+<A NAME="IDX392"></A>
<DT><CODE>yank-nth-arg (M-C-y)</CODE>
-<DD><A NAME="IDX377"></A>
+<DD><A NAME="IDX393"></A>
Insert the first argument to the previous command (usually
the second word on the previous line) at point.
With an argument <VAR>n</VAR>,
@@ -10445,14 +10738,18 @@ Once the argument <VAR>n</VAR> is computed, the argument is extracted
as if the <SAMP>`!<VAR>n</VAR>'</SAMP> history expansion had been specified.
<P>
-<A NAME="IDX378"></A>
+<A NAME="IDX394"></A>
<DT><CODE>yank-last-arg (M-. or M-_)</CODE>
-<DD><A NAME="IDX379"></A>
+<DD><A NAME="IDX395"></A>
Insert last argument to the previous command (the last word of the
-previous history entry). With an
-argument, behave exactly like <CODE>yank-nth-arg</CODE>.
+previous history entry).
+With a numeric argument, behave exactly like <CODE>yank-nth-arg</CODE>.
Successive calls to <CODE>yank-last-arg</CODE> move back through the history
-list, inserting the last argument of each line in turn.
+list, inserting the last word (or the word specified by the argument to
+the first call) of each line in turn.
+Any numeric argument supplied to these successive calls determines
+the direction to move through the history. A negative argument switches
+the direction through the history (back or forward).
The history expansion facilities are used to extract the last argument,
as if the <SAMP>`!$'</SAMP> history expansion had been specified.
<P>
@@ -10462,63 +10759,63 @@ as if the <SAMP>`!$'</SAMP> history expansion had been specified.
<A NAME="Commands For Text"></A>
<HR SIZE="6">
-<A NAME="SEC110"></A>
+<A NAME="SEC111"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC109"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC110"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.3 Commands For Changing Text </H3>
-<!--docid::SEC110::-->
+<!--docid::SEC111::-->
<P>
<DL COMPACT>
-<A NAME="IDX380"></A>
+<A NAME="IDX396"></A>
<DT><CODE>delete-char (C-d)</CODE>
-<DD><A NAME="IDX381"></A>
+<DD><A NAME="IDX397"></A>
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 <CODE>delete-char</CODE>, then
return EOF.
<P>
-<A NAME="IDX382"></A>
+<A NAME="IDX398"></A>
<DT><CODE>backward-delete-char (Rubout)</CODE>
-<DD><A NAME="IDX383"></A>
+<DD><A NAME="IDX399"></A>
Delete the character behind the cursor. A numeric argument means
to kill the characters instead of deleting them.
<P>
-<A NAME="IDX384"></A>
+<A NAME="IDX400"></A>
<DT><CODE>forward-backward-delete-char ()</CODE>
-<DD><A NAME="IDX385"></A>
+<DD><A NAME="IDX401"></A>
Delete the character under the cursor, unless the cursor is at the
end of the line, in which case the character behind the cursor is
deleted. By default, this is not bound to a key.
<P>
-<A NAME="IDX386"></A>
+<A NAME="IDX402"></A>
<DT><CODE>quoted-insert (C-q or C-v)</CODE>
-<DD><A NAME="IDX387"></A>
+<DD><A NAME="IDX403"></A>
Add the next character typed to the line verbatim. This is
how to insert key sequences like <KBD>C-q</KBD>, for example.
<P>
-<A NAME="IDX388"></A>
+<A NAME="IDX404"></A>
<DT><CODE>self-insert (a, b, A, 1, !, <small>...</small>)</CODE>
-<DD><A NAME="IDX389"></A>
+<DD><A NAME="IDX405"></A>
Insert yourself.
<P>
-<A NAME="IDX390"></A>
+<A NAME="IDX406"></A>
<DT><CODE>transpose-chars (C-t)</CODE>
-<DD><A NAME="IDX391"></A>
+<DD><A NAME="IDX407"></A>
Drag the character before the cursor forward over
the character at the cursor, moving the
cursor forward as well. If the insertion point
@@ -10527,39 +10824,39 @@ transposes the last two characters of the line.
Negative arguments have no effect.
<P>
-<A NAME="IDX392"></A>
+<A NAME="IDX408"></A>
<DT><CODE>transpose-words (M-t)</CODE>
-<DD><A NAME="IDX393"></A>
+<DD><A NAME="IDX409"></A>
Drag the word before point past the word after point,
moving point past that word as well.
If the insertion point is at the end of the line, this transposes
the last two words on the line.
<P>
-<A NAME="IDX394"></A>
+<A NAME="IDX410"></A>
<DT><CODE>upcase-word (M-u)</CODE>
-<DD><A NAME="IDX395"></A>
+<DD><A NAME="IDX411"></A>
Uppercase the current (or following) word. With a negative argument,
uppercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX396"></A>
+<A NAME="IDX412"></A>
<DT><CODE>downcase-word (M-l)</CODE>
-<DD><A NAME="IDX397"></A>
+<DD><A NAME="IDX413"></A>
Lowercase the current (or following) word. With a negative argument,
lowercase the previous word, but do not move the cursor.
<P>
-<A NAME="IDX398"></A>
+<A NAME="IDX414"></A>
<DT><CODE>capitalize-word (M-c)</CODE>
-<DD><A NAME="IDX399"></A>
+<DD><A NAME="IDX415"></A>
Capitalize the current (or following) word. With a negative argument,
capitalize the previous word, but do not move the cursor.
<P>
-<A NAME="IDX400"></A>
+<A NAME="IDX416"></A>
<DT><CODE>overwrite-mode ()</CODE>
-<DD><A NAME="IDX401"></A>
+<DD><A NAME="IDX417"></A>
Toggle overwrite mode. With an explicit positive numeric argument,
switches to overwrite mode. With an explicit non-positive numeric
argument, switches to insert mode. This command affects only
@@ -10581,139 +10878,139 @@ By default, this command is unbound.
<A NAME="Commands For Killing"></A>
<HR SIZE="6">
-<A NAME="SEC111"></A>
+<A NAME="SEC112"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC110"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.4 Killing And Yanking </H3>
-<!--docid::SEC111::-->
+<!--docid::SEC112::-->
<P>
<DL COMPACT>
-<A NAME="IDX402"></A>
+<A NAME="IDX418"></A>
<DT><CODE>kill-line (C-k)</CODE>
-<DD><A NAME="IDX403"></A>
+<DD><A NAME="IDX419"></A>
Kill the text from point to the end of the line.
<P>
-<A NAME="IDX404"></A>
+<A NAME="IDX420"></A>
<DT><CODE>backward-kill-line (C-x Rubout)</CODE>
-<DD><A NAME="IDX405"></A>
+<DD><A NAME="IDX421"></A>
Kill backward to the beginning of the line.
<P>
-<A NAME="IDX406"></A>
+<A NAME="IDX422"></A>
<DT><CODE>unix-line-discard (C-u)</CODE>
-<DD><A NAME="IDX407"></A>
+<DD><A NAME="IDX423"></A>
Kill backward from the cursor to the beginning of the current line.
<P>
-<A NAME="IDX408"></A>
+<A NAME="IDX424"></A>
<DT><CODE>kill-whole-line ()</CODE>
-<DD><A NAME="IDX409"></A>
+<DD><A NAME="IDX425"></A>
Kill all characters on the current line, no matter where point is.
By default, this is unbound.
<P>
-<A NAME="IDX410"></A>
+<A NAME="IDX426"></A>
<DT><CODE>kill-word (M-d)</CODE>
-<DD><A NAME="IDX411"></A>
+<DD><A NAME="IDX427"></A>
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 <CODE>forward-word</CODE>.
<P>
-<A NAME="IDX412"></A>
+<A NAME="IDX428"></A>
<DT><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE>
-<DD><A NAME="IDX413"></A>
+<DD><A NAME="IDX429"></A>
Kill the word behind point.
Word boundaries are the same as <CODE>backward-word</CODE>.
<P>
-<A NAME="IDX414"></A>
+<A NAME="IDX430"></A>
<DT><CODE>shell-kill-word ()</CODE>
-<DD><A NAME="IDX415"></A>
+<DD><A NAME="IDX431"></A>
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 <CODE>shell-forward-word</CODE>.
<P>
-<A NAME="IDX416"></A>
-<DT><CODE>backward-kill-word ()</CODE>
-<DD><A NAME="IDX417"></A>
+<A NAME="IDX432"></A>
+<DT><CODE>shell-backward-kill-word ()</CODE>
+<DD><A NAME="IDX433"></A>
Kill the word behind point.
Word boundaries are the same as <CODE>shell-backward-word</CODE>.
<P>
-<A NAME="IDX418"></A>
+<A NAME="IDX434"></A>
<DT><CODE>unix-word-rubout (C-w)</CODE>
-<DD><A NAME="IDX419"></A>
+<DD><A NAME="IDX435"></A>
Kill the word behind point, using white space as a word boundary.
The killed text is saved on the kill-ring.
<P>
-<A NAME="IDX420"></A>
+<A NAME="IDX436"></A>
<DT><CODE>unix-filename-rubout ()</CODE>
-<DD><A NAME="IDX421"></A>
+<DD><A NAME="IDX437"></A>
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.
<P>
-<A NAME="IDX422"></A>
+<A NAME="IDX438"></A>
<DT><CODE>delete-horizontal-space ()</CODE>
-<DD><A NAME="IDX423"></A>
+<DD><A NAME="IDX439"></A>
Delete all spaces and tabs around point. By default, this is unbound.
<P>
-<A NAME="IDX424"></A>
+<A NAME="IDX440"></A>
<DT><CODE>kill-region ()</CODE>
-<DD><A NAME="IDX425"></A>
+<DD><A NAME="IDX441"></A>
Kill the text in the current region.
By default, this command is unbound.
<P>
-<A NAME="IDX426"></A>
+<A NAME="IDX442"></A>
<DT><CODE>copy-region-as-kill ()</CODE>
-<DD><A NAME="IDX427"></A>
+<DD><A NAME="IDX443"></A>
Copy the text in the region to the kill buffer, so it can be yanked
right away. By default, this command is unbound.
<P>
-<A NAME="IDX428"></A>
+<A NAME="IDX444"></A>
<DT><CODE>copy-backward-word ()</CODE>
-<DD><A NAME="IDX429"></A>
+<DD><A NAME="IDX445"></A>
Copy the word before point to the kill buffer.
The word boundaries are the same as <CODE>backward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX430"></A>
+<A NAME="IDX446"></A>
<DT><CODE>copy-forward-word ()</CODE>
-<DD><A NAME="IDX431"></A>
+<DD><A NAME="IDX447"></A>
Copy the word following point to the kill buffer.
The word boundaries are the same as <CODE>forward-word</CODE>.
By default, this command is unbound.
<P>
-<A NAME="IDX432"></A>
+<A NAME="IDX448"></A>
<DT><CODE>yank (C-y)</CODE>
-<DD><A NAME="IDX433"></A>
+<DD><A NAME="IDX449"></A>
Yank the top of the kill ring into the buffer at point.
<P>
-<A NAME="IDX434"></A>
+<A NAME="IDX450"></A>
<DT><CODE>yank-pop (M-y)</CODE>
-<DD><A NAME="IDX435"></A>
+<DD><A NAME="IDX451"></A>
Rotate the kill-ring, and yank the new top. You can only do this if
the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
</DL>
@@ -10721,32 +11018,32 @@ the prior command is <CODE>yank</CODE> or <CODE>yank-pop</CODE>.
<A NAME="Numeric Arguments"></A>
<HR SIZE="6">
-<A NAME="SEC112"></A>
+<A NAME="SEC113"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC111"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.5 Specifying Numeric Arguments </H3>
-<!--docid::SEC112::-->
+<!--docid::SEC113::-->
<DL COMPACT>
-<A NAME="IDX436"></A>
+<A NAME="IDX452"></A>
<DT><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, <small>...</small> <KBD>M--</KBD>)</CODE>
-<DD><A NAME="IDX437"></A>
+<DD><A NAME="IDX453"></A>
Add this digit to the argument already accumulating, or start a new
argument. <KBD>M--</KBD> starts a negative argument.
<P>
-<A NAME="IDX438"></A>
+<A NAME="IDX454"></A>
<DT><CODE>universal-argument ()</CODE>
-<DD><A NAME="IDX439"></A>
+<DD><A NAME="IDX455"></A>
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.
@@ -10764,26 +11061,26 @@ By default, this is not bound to a key.
<A NAME="Commands For Completion"></A>
<HR SIZE="6">
-<A NAME="SEC113"></A>
+<A NAME="SEC114"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC112"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.6 Letting Readline Type For You </H3>
-<!--docid::SEC113::-->
+<!--docid::SEC114::-->
<P>
<DL COMPACT>
-<A NAME="IDX440"></A>
+<A NAME="IDX456"></A>
<DT><CODE>complete (<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX441"></A>
+<DD><A NAME="IDX457"></A>
Attempt to perform completion on the text before point.
The actual completion performed is application-specific.
Bash attempts completion treating the text as a variable (if the
@@ -10793,22 +11090,25 @@ command (including aliases and functions) in turn. If none
of these produces a match, filename completion is attempted.
<P>
-<A NAME="IDX442"></A>
+<A NAME="IDX458"></A>
<DT><CODE>possible-completions (M-?)</CODE>
-<DD><A NAME="IDX443"></A>
+<DD><A NAME="IDX459"></A>
List the possible completions of the text before point.
+When displaying completions, Readline sets the number of columns used
+for display to the value of <CODE>completion-display-width</CODE>, the value of
+the environment variable <CODE>COLUMNS</CODE>, or the screen width, in that order.
<P>
-<A NAME="IDX444"></A>
+<A NAME="IDX460"></A>
<DT><CODE>insert-completions (M-*)</CODE>
-<DD><A NAME="IDX445"></A>
+<DD><A NAME="IDX461"></A>
Insert all completions of the text before point that would have
been generated by <CODE>possible-completions</CODE>.
<P>
-<A NAME="IDX446"></A>
+<A NAME="IDX462"></A>
<DT><CODE>menu-complete ()</CODE>
-<DD><A NAME="IDX447"></A>
+<DD><A NAME="IDX463"></A>
Similar to <CODE>complete</CODE>, but replaces the word to be completed
with a single match from the list of possible completions.
Repeated execution of <CODE>menu-complete</CODE> steps through the list
@@ -10823,17 +11123,17 @@ This command is intended to be bound to <KBD>TAB</KBD>, but is unbound
by default.
<P>
-<A NAME="IDX448"></A>
+<A NAME="IDX464"></A>
<DT><CODE>menu-complete-backward ()</CODE>
-<DD><A NAME="IDX449"></A>
+<DD><A NAME="IDX465"></A>
Identical to <CODE>menu-complete</CODE>, but moves backward through the list
of possible completions, as if <CODE>menu-complete</CODE> had been given a
negative argument.
<P>
-<A NAME="IDX450"></A>
+<A NAME="IDX466"></A>
<DT><CODE>delete-char-or-list ()</CODE>
-<DD><A NAME="IDX451"></A>
+<DD><A NAME="IDX467"></A>
Deletes the character under the cursor if not at the beginning or
end of the line (like <CODE>delete-char</CODE>).
If at the end of the line, behaves identically to
@@ -10841,64 +11141,64 @@ If at the end of the line, behaves identically to
This command is unbound by default.
<P>
-<A NAME="IDX452"></A>
+<A NAME="IDX468"></A>
<DT><CODE>complete-filename (M-/)</CODE>
-<DD><A NAME="IDX453"></A>
+<DD><A NAME="IDX469"></A>
Attempt filename completion on the text before point.
<P>
-<A NAME="IDX454"></A>
+<A NAME="IDX470"></A>
<DT><CODE>possible-filename-completions (C-x /)</CODE>
-<DD><A NAME="IDX455"></A>
+<DD><A NAME="IDX471"></A>
List the possible completions of the text before point,
treating it as a filename.
<P>
-<A NAME="IDX456"></A>
+<A NAME="IDX472"></A>
<DT><CODE>complete-username (M-~)</CODE>
-<DD><A NAME="IDX457"></A>
+<DD><A NAME="IDX473"></A>
Attempt completion on the text before point, treating
it as a username.
<P>
-<A NAME="IDX458"></A>
+<A NAME="IDX474"></A>
<DT><CODE>possible-username-completions (C-x ~)</CODE>
-<DD><A NAME="IDX459"></A>
+<DD><A NAME="IDX475"></A>
List the possible completions of the text before point,
treating it as a username.
<P>
-<A NAME="IDX460"></A>
+<A NAME="IDX476"></A>
<DT><CODE>complete-variable (M-$)</CODE>
-<DD><A NAME="IDX461"></A>
+<DD><A NAME="IDX477"></A>
Attempt completion on the text before point, treating
it as a shell variable.
<P>
-<A NAME="IDX462"></A>
+<A NAME="IDX478"></A>
<DT><CODE>possible-variable-completions (C-x $)</CODE>
-<DD><A NAME="IDX463"></A>
+<DD><A NAME="IDX479"></A>
List the possible completions of the text before point,
treating it as a shell variable.
<P>
-<A NAME="IDX464"></A>
+<A NAME="IDX480"></A>
<DT><CODE>complete-hostname (M-@)</CODE>
-<DD><A NAME="IDX465"></A>
+<DD><A NAME="IDX481"></A>
Attempt completion on the text before point, treating
it as a hostname.
<P>
-<A NAME="IDX466"></A>
+<A NAME="IDX482"></A>
<DT><CODE>possible-hostname-completions (C-x @)</CODE>
-<DD><A NAME="IDX467"></A>
+<DD><A NAME="IDX483"></A>
List the possible completions of the text before point,
treating it as a hostname.
<P>
-<A NAME="IDX468"></A>
+<A NAME="IDX484"></A>
<DT><CODE>complete-command (M-!)</CODE>
-<DD><A NAME="IDX469"></A>
+<DD><A NAME="IDX485"></A>
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
@@ -10906,35 +11206,35 @@ functions, shell builtins, and finally executable filenames,
in that order.
<P>
-<A NAME="IDX470"></A>
+<A NAME="IDX486"></A>
<DT><CODE>possible-command-completions (C-x !)</CODE>
-<DD><A NAME="IDX471"></A>
+<DD><A NAME="IDX487"></A>
List the possible completions of the text before point,
treating it as a command name.
<P>
-<A NAME="IDX472"></A>
+<A NAME="IDX488"></A>
<DT><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE>
-<DD><A NAME="IDX473"></A>
+<DD><A NAME="IDX489"></A>
Attempt completion on the text before point, comparing
the text against lines from the history list for possible
completion matches.
<P>
-<A NAME="IDX474"></A>
+<A NAME="IDX490"></A>
<DT><CODE>dabbrev-expand ()</CODE>
-<DD><A NAME="IDX475"></A>
+<DD><A NAME="IDX491"></A>
Attempt menu completion on the text before point, comparing
the text against lines from the history list for possible
completion matches.
<P>
-<A NAME="IDX476"></A>
+<A NAME="IDX492"></A>
<DT><CODE>complete-into-braces (M-{)</CODE>
-<DD><A NAME="IDX477"></A>
+<DD><A NAME="IDX493"></A>
Perform filename completion and insert the list of possible completions
enclosed within braces so the list is available to the shell
-(see section <A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A>).
+(see section <A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>).
<P>
</DL>
@@ -10942,38 +11242,38 @@ enclosed within braces so the list is available to the shell
<A NAME="Keyboard Macros"></A>
<HR SIZE="6">
-<A NAME="SEC114"></A>
+<A NAME="SEC115"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC113"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.7 Keyboard Macros </H3>
-<!--docid::SEC114::-->
+<!--docid::SEC115::-->
<DL COMPACT>
-<A NAME="IDX478"></A>
+<A NAME="IDX494"></A>
<DT><CODE>start-kbd-macro (C-x ()</CODE>
-<DD><A NAME="IDX479"></A>
+<DD><A NAME="IDX495"></A>
Begin saving the characters typed into the current keyboard macro.
<P>
-<A NAME="IDX480"></A>
+<A NAME="IDX496"></A>
<DT><CODE>end-kbd-macro (C-x ))</CODE>
-<DD><A NAME="IDX481"></A>
+<DD><A NAME="IDX497"></A>
Stop saving the characters typed into the current keyboard macro
and save the definition.
<P>
-<A NAME="IDX482"></A>
+<A NAME="IDX498"></A>
<DT><CODE>call-last-kbd-macro (C-x e)</CODE>
-<DD><A NAME="IDX483"></A>
+<DD><A NAME="IDX499"></A>
Re-execute the last keyboard macro defined, by making the characters
in the macro appear as if typed at the keyboard.
<P>
@@ -10983,103 +11283,103 @@ in the macro appear as if typed at the keyboard.
<A NAME="Miscellaneous Commands"></A>
<HR SIZE="6">
-<A NAME="SEC115"></A>
+<A NAME="SEC116"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC114"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC107"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC108"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 8.4.8 Some Miscellaneous Commands </H3>
-<!--docid::SEC115::-->
+<!--docid::SEC116::-->
<DL COMPACT>
-<A NAME="IDX484"></A>
+<A NAME="IDX500"></A>
<DT><CODE>re-read-init-file (C-x C-r)</CODE>
-<DD><A NAME="IDX485"></A>
+<DD><A NAME="IDX501"></A>
Read in the contents of the <VAR>inputrc</VAR> file, and incorporate
any bindings or variable assignments found there.
<P>
-<A NAME="IDX486"></A>
+<A NAME="IDX502"></A>
<DT><CODE>abort (C-g)</CODE>
-<DD><A NAME="IDX487"></A>
+<DD><A NAME="IDX503"></A>
Abort the current editing command and
ring the terminal's bell (subject to the setting of
<CODE>bell-style</CODE>).
<P>
-<A NAME="IDX488"></A>
+<A NAME="IDX504"></A>
<DT><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, <small>...</small>)</CODE>
-<DD><A NAME="IDX489"></A>
+<DD><A NAME="IDX505"></A>
If the metafied character <VAR>x</VAR> is lowercase, run the command
that is bound to the corresponding uppercase character.
<P>
-<A NAME="IDX490"></A>
+<A NAME="IDX506"></A>
<DT><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE>
-<DD><A NAME="IDX491"></A>
+<DD><A NAME="IDX507"></A>
Metafy the next character typed. This is for keyboards
without a meta key. Typing <SAMP>`<KBD>ESC</KBD> f'</SAMP> is equivalent to typing
<KBD>M-f</KBD>.
<P>
-<A NAME="IDX492"></A>
+<A NAME="IDX508"></A>
<DT><CODE>undo (C-_ or C-x C-u)</CODE>
-<DD><A NAME="IDX493"></A>
+<DD><A NAME="IDX509"></A>
Incremental undo, separately remembered for each line.
<P>
-<A NAME="IDX494"></A>
+<A NAME="IDX510"></A>
<DT><CODE>revert-line (M-r)</CODE>
-<DD><A NAME="IDX495"></A>
+<DD><A NAME="IDX511"></A>
Undo all changes made to this line. This is like executing the <CODE>undo</CODE>
command enough times to get back to the beginning.
<P>
-<A NAME="IDX496"></A>
+<A NAME="IDX512"></A>
<DT><CODE>tilde-expand (M-&#38;)</CODE>
-<DD><A NAME="IDX497"></A>
+<DD><A NAME="IDX513"></A>
Perform tilde expansion on the current word.
<P>
-<A NAME="IDX498"></A>
+<A NAME="IDX514"></A>
<DT><CODE>set-mark (C-@)</CODE>
-<DD><A NAME="IDX499"></A>
+<DD><A NAME="IDX515"></A>
Set the mark to the point. If a
numeric argument is supplied, the mark is set to that position.
<P>
-<A NAME="IDX500"></A>
+<A NAME="IDX516"></A>
<DT><CODE>exchange-point-and-mark (C-x C-x)</CODE>
-<DD><A NAME="IDX501"></A>
+<DD><A NAME="IDX517"></A>
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.
<P>
-<A NAME="IDX502"></A>
+<A NAME="IDX518"></A>
<DT><CODE>character-search (C-])</CODE>
-<DD><A NAME="IDX503"></A>
+<DD><A NAME="IDX519"></A>
A character is read and point is moved to the next occurrence of that
character. A negative count searches for previous occurrences.
<P>
-<A NAME="IDX504"></A>
+<A NAME="IDX520"></A>
<DT><CODE>character-search-backward (M-C-])</CODE>
-<DD><A NAME="IDX505"></A>
+<DD><A NAME="IDX521"></A>
A character is read and point is moved to the previous occurrence
of that character. A negative count searches for subsequent
occurrences.
<P>
-<A NAME="IDX506"></A>
+<A NAME="IDX522"></A>
<DT><CODE>skip-csi-sequence ()</CODE>
-<DD><A NAME="IDX507"></A>
+<DD><A NAME="IDX523"></A>
Read enough characters to consume a multi-key sequence such as those
defined for keys like Home and End. Such sequences begin with a
Control Sequence Indicator (CSI), usually ESC-[. If this sequence is
@@ -11089,9 +11389,9 @@ stray characters into the editing buffer. This is unbound by default,
but usually bound to ESC-[.
<P>
-<A NAME="IDX508"></A>
+<A NAME="IDX524"></A>
<DT><CODE>insert-comment (M-#)</CODE>
-<DD><A NAME="IDX509"></A>
+<DD><A NAME="IDX525"></A>
Without a numeric argument, the value of the <CODE>comment-begin</CODE>
variable is inserted at the beginning of the current line.
If a numeric argument is supplied, this command acts as a toggle: if
@@ -11106,115 +11406,115 @@ If a numeric argument causes the comment character to be removed, the line
will be executed by the shell.
<P>
-<A NAME="IDX510"></A>
+<A NAME="IDX526"></A>
<DT><CODE>dump-functions ()</CODE>
-<DD><A NAME="IDX511"></A>
+<DD><A NAME="IDX527"></A>
Print all of the functions and their key bindings to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX512"></A>
+<A NAME="IDX528"></A>
<DT><CODE>dump-variables ()</CODE>
-<DD><A NAME="IDX513"></A>
+<DD><A NAME="IDX529"></A>
Print all of the settable variables and their values to the
Readline output stream. If a numeric argument is supplied,
the output is formatted in such a way that it can be made part
of an <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX514"></A>
+<A NAME="IDX530"></A>
<DT><CODE>dump-macros ()</CODE>
-<DD><A NAME="IDX515"></A>
+<DD><A NAME="IDX531"></A>
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 <VAR>inputrc</VAR> file. This command is unbound by default.
<P>
-<A NAME="IDX516"></A>
+<A NAME="IDX532"></A>
<DT><CODE>glob-complete-word (M-g)</CODE>
-<DD><A NAME="IDX517"></A>
+<DD><A NAME="IDX533"></A>
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.
<P>
-<A NAME="IDX518"></A>
+<A NAME="IDX534"></A>
<DT><CODE>glob-expand-word (C-x *)</CODE>
-<DD><A NAME="IDX519"></A>
+<DD><A NAME="IDX535"></A>
The word before point is treated as a pattern for pathname expansion,
and the list of matching file names is inserted, replacing the word.
If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
pathname expansion.
<P>
-<A NAME="IDX520"></A>
+<A NAME="IDX536"></A>
<DT><CODE>glob-list-expansions (C-x g)</CODE>
-<DD><A NAME="IDX521"></A>
+<DD><A NAME="IDX537"></A>
The list of expansions that would have been generated by
<CODE>glob-expand-word</CODE> is displayed, and the line is redrawn.
If a numeric argument is supplied, a <SAMP>`*'</SAMP> is appended before
pathname expansion.
<P>
-<A NAME="IDX522"></A>
+<A NAME="IDX538"></A>
<DT><CODE>display-shell-version (C-x C-v)</CODE>
-<DD><A NAME="IDX523"></A>
+<DD><A NAME="IDX539"></A>
Display version information about the current instance of Bash.
<P>
-<A NAME="IDX524"></A>
+<A NAME="IDX540"></A>
<DT><CODE>shell-expand-line (M-C-e)</CODE>
-<DD><A NAME="IDX525"></A>
+<DD><A NAME="IDX541"></A>
Expand the line as the shell does.
This performs alias and history expansion as well as all of the shell
-word expansions (see section <A HREF="bashref.html#SEC28">3.5 Shell Expansions</A>).
+word expansions (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>).
<P>
-<A NAME="IDX526"></A>
+<A NAME="IDX542"></A>
<DT><CODE>history-expand-line (M-^)</CODE>
-<DD><A NAME="IDX527"></A>
+<DD><A NAME="IDX543"></A>
Perform history expansion on the current line.
<P>
-<A NAME="IDX528"></A>
+<A NAME="IDX544"></A>
<DT><CODE>magic-space ()</CODE>
-<DD><A NAME="IDX529"></A>
+<DD><A NAME="IDX545"></A>
Perform history expansion on the current line and insert a space
-(see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>).
+(see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
<P>
-<A NAME="IDX530"></A>
+<A NAME="IDX546"></A>
<DT><CODE>alias-expand-line ()</CODE>
-<DD><A NAME="IDX531"></A>
-Perform alias expansion on the current line (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>).
+<DD><A NAME="IDX547"></A>
+Perform alias expansion on the current line (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
<P>
-<A NAME="IDX532"></A>
+<A NAME="IDX548"></A>
<DT><CODE>history-and-alias-expand-line ()</CODE>
-<DD><A NAME="IDX533"></A>
+<DD><A NAME="IDX549"></A>
Perform history and alias expansion on the current line.
<P>
-<A NAME="IDX534"></A>
+<A NAME="IDX550"></A>
<DT><CODE>insert-last-argument (M-. or M-_)</CODE>
-<DD><A NAME="IDX535"></A>
+<DD><A NAME="IDX551"></A>
A synonym for <CODE>yank-last-arg</CODE>.
<P>
-<A NAME="IDX536"></A>
+<A NAME="IDX552"></A>
<DT><CODE>operate-and-get-next (C-o)</CODE>
-<DD><A NAME="IDX537"></A>
+<DD><A NAME="IDX553"></A>
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.
<P>
-<A NAME="IDX538"></A>
+<A NAME="IDX554"></A>
<DT><CODE>edit-and-execute-command (C-xC-e)</CODE>
-<DD><A NAME="IDX539"></A>
+<DD><A NAME="IDX555"></A>
Invoke an editor on the current command line, and execute the result as shell
commands.
Bash attempts to invoke
@@ -11227,31 +11527,31 @@ as the editor, in that order.
<A NAME="Readline vi Mode"></A>
<HR SIZE="6">
-<A NAME="SEC116"></A>
+<A NAME="SEC117"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC115"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.5 Readline vi Mode </H2>
-<!--docid::SEC116::-->
+<!--docid::SEC117::-->
<P>
While the Readline library does not have a full set of <CODE>vi</CODE>
editing functions, it does contain enough to allow simple editing
of the line. The Readline <CODE>vi</CODE> mode behaves as specified in
-the POSIX 1003.2 standard.
+the POSIX standard.
</P><P>
In order to switch interactively between <CODE>emacs</CODE> and <CODE>vi</CODE>
editing modes, use the <SAMP>`set -o emacs'</SAMP> and <SAMP>`set -o vi'</SAMP>
-commands (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+commands (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
The Readline default is <CODE>emacs</CODE> mode.
</P><P>
@@ -11265,25 +11565,25 @@ so forth.
<A NAME="Programmable Completion"></A>
<HR SIZE="6">
-<A NAME="SEC117"></A>
+<A NAME="SEC118"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC116"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.6 Programmable Completion </H2>
-<!--docid::SEC117::-->
+<!--docid::SEC118::-->
<P>
When word completion is attempted for an argument to a command for
which a completion specification (a <VAR>compspec</VAR>) has been defined
-using the <CODE>complete</CODE> builtin (see section <A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A>),
+using the <CODE>complete</CODE> builtin (see section <A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A>),
the programmable completion facilities are invoked.
</P><P>
@@ -11304,7 +11604,7 @@ the <SAMP>`-D'</SAMP> option to <CODE>complete</CODE> is used as the default.
Once a compspec has been found, it is used to generate the list of
matching words.
If a compspec is not found, the default Bash completion
-described above (see section <A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A>) is performed.
+described above (see section <A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A>) is performed.
</P><P>
First, the actions specified by the compspec are used.
@@ -11313,7 +11613,7 @@ returned.
When the <SAMP>`-f'</SAMP> or <SAMP>`-d'</SAMP> option is used for filename or
directory name completion, the shell variable <CODE>FIGNORE</CODE> is
used to filter the matches.
-See section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>, for a description of <CODE>FIGNORE</CODE>.
+See section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>, for a description of <CODE>FIGNORE</CODE>.
</P><P>
Any completions specified by a filename expansion pattern to the
@@ -11331,9 +11631,9 @@ Shell quoting is honored.
Each word is then expanded using
brace expansion, tilde expansion, parameter and variable expansion,
command substitution, and arithmetic expansion,
-as described above (see section <A HREF="bashref.html#SEC28">3.5 Shell Expansions</A>).
+as described above (see section <A HREF="bashref.html#SEC29">3.5 Shell Expansions</A>).
The results are split using the rules described above
-(see section <A HREF="bashref.html#SEC35">3.5.7 Word Splitting</A>).
+(see section <A HREF="bashref.html#SEC36">3.5.7 Word Splitting</A>).
The results of the expansion are prefix-matched against the word being
completed, and the matching words become the possible completions.
</P><P>
@@ -11342,7 +11642,7 @@ After these matches have been generated, any shell function or command
specified with the <SAMP>`-F'</SAMP> and <SAMP>`-C'</SAMP> options is invoked.
When the command or function is invoked, the <CODE>COMP_LINE</CODE>,
<CODE>COMP_POINT</CODE>, <CODE>COMP_KEY</CODE>, and <CODE>COMP_TYPE</CODE> variables are
-assigned values as described above (see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+assigned values as described above (see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
If a shell function is being invoked, the <CODE>COMP_WORDS</CODE> and
<CODE>COMP_CWORD</CODE> variables are also set.
When the function or command is invoked, the first argument is the
@@ -11357,7 +11657,7 @@ the matches.
Any function specified with <SAMP>`-F'</SAMP> is invoked first.
The function may use any of the shell facilities, including the
<CODE>compgen</CODE> and <CODE>compopt</CODE> builtins described below
-(see section <A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A>), to generate the matches.
+(see section <A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A>), to generate the matches.
It must put the possible completions in the <CODE>COMPREPLY</CODE> array
variable.
</P><P>
@@ -11424,7 +11724,7 @@ exit status of 124. If a shell function returns 124, and changes
the compspec associated with the command on which completion is being
attempted (supplied as the first argument when the function is executed),
programmable completion restarts from the beginning, with an
-attempt to find a compspec for that command. This allows a set of
+attempt to find a new compspec for that command. This allows a set of
completions to be built dynamically as completion is attempted, rather than
being loaded all at once.
</P><P>
@@ -11443,20 +11743,20 @@ complete -D -F _completion_loader
<A NAME="Programmable Completion Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC118"></A>
+<A NAME="SEC119"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC117"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC95"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC96"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 8.7 Programmable Completion Builtins </H2>
-<!--docid::SEC118::-->
+<!--docid::SEC119::-->
<P>
Two builtin commands are available to manipulate the programmable completion
@@ -11465,7 +11765,7 @@ facilities.
<DL COMPACT>
<DT><CODE>compgen</CODE>
-<DD><A NAME="IDX540"></A>
+<DD><A NAME="IDX556"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compgen [<VAR>option</VAR>] [<VAR>word</VAR>]</CODE>
</pre></td></tr></table><P>
@@ -11491,7 +11791,7 @@ matches were generated.
</P><P>
<DT><CODE>complete</CODE>
-<DD><A NAME="IDX541"></A>
+<DD><A NAME="IDX557"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>complete [-abcdefgjksuv] [-o <VAR>comp-option</VAR>] [-DE] [-A <VAR>action</VAR>] [-G <VAR>globpat</VAR>] [-W <VAR>wordlist</VAR>]
[-F <VAR>function</VAR>] [-C <VAR>command</VAR>] [-X <VAR>filterpat</VAR>]
[-P <VAR>prefix</VAR>] [-S <VAR>suffix</VAR>] <VAR>name</VAR> [<VAR>name</VAR> <small>...</small>]</CODE>
@@ -11514,7 +11814,7 @@ blank line.
</P><P>
The process of applying these completion specifications when word completion
-is attempted is described above (see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>). The
+is attempted is described above (see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>). The
<SAMP>`-D'</SAMP> option takes precedence over <SAMP>`-E'</SAMP>.
</P><P>
@@ -11585,7 +11885,7 @@ completions:
<P>
<DT><CODE>binding</CODE>
-<DD>Readline key binding names (see section <A HREF="bashref.html#SEC107">8.4 Bindable Readline Commands</A>).
+<DD>Readline key binding names (see section <A HREF="bashref.html#SEC108">8.4 Bindable Readline Commands</A>).
<P>
<DT><CODE>builtin</CODE>
@@ -11625,12 +11925,12 @@ completions:
<P>
<DT><CODE>helptopic</CODE>
-<DD>Help topics as accepted by the <CODE>help</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+<DD>Help topics as accepted by the <CODE>help</CODE> builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<DT><CODE>hostname</CODE>
<DD>Hostnames, as taken from the file specified by the
-<CODE>HOSTFILE</CODE> shell variable (see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>).
+<CODE>HOSTFILE</CODE> shell variable (see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>).
<P>
<DT><CODE>job</CODE>
@@ -11651,12 +11951,12 @@ completions:
<DT><CODE>setopt</CODE>
<DD>Valid arguments for the <SAMP>`-o'</SAMP> option to the <CODE>set</CODE> builtin
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<DT><CODE>shopt</CODE>
<DD>Shell option names as accepted by the <CODE>shopt</CODE> builtin
-(see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+(see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<DT><CODE>signal</CODE>
@@ -11676,19 +11976,6 @@ completions:
</DL>
<P>
-<DT><CODE>-G <VAR>globpat</VAR></CODE>
-<DD>The filename expansion pattern <VAR>globpat</VAR> is expanded to generate
-the possible completions.
-<P>
-
-<DT><CODE>-W <VAR>wordlist</VAR></CODE>
-<DD>The <VAR>wordlist</VAR> is split using the characters in the
-<CODE>IFS</CODE> 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 completed.
-<P>
-
<DT><CODE>-C <VAR>command</VAR></CODE>
<DD><VAR>command</VAR> is executed in a subshell environment, and its output is
used as the possible completions.
@@ -11701,13 +11988,9 @@ When it finishes, the possible completions are retrieved from the value
of the <CODE>COMPREPLY</CODE> array variable.
<P>
-<DT><CODE>-X <VAR>filterpat</VAR></CODE>
-<DD><VAR>filterpat</VAR> is a pattern as used for filename expansion.
-It is applied to the list of possible completions generated by the
-preceding options and arguments, and each completion matching
-<VAR>filterpat</VAR> is removed from the list.
-A leading <SAMP>`!'</SAMP> in <VAR>filterpat</VAR> negates the pattern; in this
-case, any completion not matching <VAR>filterpat</VAR> is removed.
+<DT><CODE>-G <VAR>globpat</VAR></CODE>
+<DD>The filename expansion pattern <VAR>globpat</VAR> is expanded to generate
+the possible completions.
<P>
<DT><CODE>-P <VAR>prefix</VAR></CODE>
@@ -11718,6 +12001,23 @@ after all other options have been applied.
<DT><CODE>-S <VAR>suffix</VAR></CODE>
<DD><VAR>suffix</VAR> is appended to each possible completion
after all other options have been applied.
+<P>
+
+<DT><CODE>-W <VAR>wordlist</VAR></CODE>
+<DD>The <VAR>wordlist</VAR> is split using the characters in the
+<CODE>IFS</CODE> 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 completed.
+<P>
+
+<DT><CODE>-X <VAR>filterpat</VAR></CODE>
+<DD><VAR>filterpat</VAR> is a pattern as used for filename expansion.
+It is applied to the list of possible completions generated by the
+preceding options and arguments, and each completion matching
+<VAR>filterpat</VAR> is removed from the list.
+A leading <SAMP>`!'</SAMP> in <VAR>filterpat</VAR> negates the pattern; in this
+case, any completion not matching <VAR>filterpat</VAR> is removed.
</DL>
<P>
@@ -11729,10 +12029,10 @@ an error occurs adding a completion specification.
</P><P>
<DT><CODE>compopt</CODE>
-<DD><A NAME="IDX542"></A>
+<DD><A NAME="IDX558"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>compopt</CODE> [-o <VAR>option</VAR>] [-DE] [+o <VAR>option</VAR>] [<VAR>name</VAR>]
</pre></td></tr></table>Modify completion options for each <VAR>name</VAR> according to the
-<VAR>option</VAR>s, or for the currently-execution completion if no <VAR>name</VAR>s
+<VAR>option</VAR>s, or for the currently-executing completion if no <VAR>name</VAR>s
are supplied.
If no <VAR>option</VAR>s are given, display the completion options for each
<VAR>name</VAR> or the current completion.
@@ -11757,25 +12057,25 @@ specification exists, or an output error occurs.
</DL>
<P>
-<A NAME="IDX543"></A>
+<A NAME="IDX559"></A>
</P><P>
<A NAME="Using History Interactively"></A>
<HR SIZE="6">
-<A NAME="SEC119"></A>
+<A NAME="SEC120"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC118"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC121"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 9. Using History Interactively </H1>
-<!--docid::SEC119::-->
+<!--docid::SEC120::-->
<P>
This chapter describes how to use the GNU History Library
@@ -11786,34 +12086,34 @@ see the GNU Readline Library Manual.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash lets you manipulate your command
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How Bash lets you manipulate your command
history.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC121">9.2 Bash History Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The Bash builtin commands that manipulate
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">The Bash builtin commands that manipulate
the command history.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC122">9.3 History Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What it feels like using History as a user.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC123">9.3 History Expansion</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">What it feels like using History as a user.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Bash History Facilities"></A>
<HR SIZE="6">
-<A NAME="SEC120"></A>
+<A NAME="SEC121"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC121"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 9.1 Bash History Facilities </H2>
-<!--docid::SEC120::-->
+<!--docid::SEC121::-->
<P>
When the <SAMP>`-o history'</SAMP> option to the <CODE>set</CODE> builtin
-is enabled (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>),
+is enabled (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>),
the shell provides access to the <EM>command history</EM>,
the list of commands previously typed.
The value of the <CODE>HISTSIZE</CODE> shell variable is used as the
@@ -11835,7 +12135,7 @@ the value of the <CODE>HISTFILESIZE</CODE> variable.
When an interactive shell exits, the last
<CODE>$HISTSIZE</CODE> lines are copied from the history list to the file
named by <CODE>$HISTFILE</CODE>.
-If the <CODE>histappend</CODE> shell option is set (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>),
+If the <CODE>histappend</CODE> shell option is set (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>),
the lines are appended to the history file,
otherwise the history file is overwritten.
If <CODE>HISTFILE</CODE>
@@ -11859,7 +12159,7 @@ The <CODE>history</CODE> builtin may be used to display or modify the history
list and manipulate the history file.
When using command-line editing, search commands
are available in each editing mode that provide access to the
-history list (see section <A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A>).
+history list (see section <A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A>).
</P><P>
The shell allows control over which commands are saved on the history
@@ -11874,25 +12174,25 @@ The <CODE>lithist</CODE>
shell option causes the shell to save the command with embedded newlines
instead of semicolons.
The <CODE>shopt</CODE> builtin is used to set these options.
-See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>, for a description of <CODE>shopt</CODE>.
+See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>, for a description of <CODE>shopt</CODE>.
</P><P>
<A NAME="Bash History Builtins"></A>
<HR SIZE="6">
-<A NAME="SEC121"></A>
+<A NAME="SEC122"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC121"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 9.2 Bash History Builtins </H2>
-<!--docid::SEC121::-->
+<!--docid::SEC122::-->
<P>
Bash provides two builtin commands which manipulate the
@@ -11902,7 +12202,7 @@ history list and history file.
<DL COMPACT>
<DT><CODE>fc</CODE>
-<DD><A NAME="IDX544"></A>
+<DD><A NAME="IDX560"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre><CODE>fc [-e <VAR>ename</VAR>] [-lnr] [<VAR>first</VAR>] [<VAR>last</VAR>]</CODE>
<CODE>fc -s [<VAR>pat</VAR>=<VAR>rep</VAR>] [<VAR>command</VAR>]</CODE>
</pre></td></tr></table><P>
@@ -11932,11 +12232,11 @@ of <VAR>pat</VAR> in the selected command is replaced by <VAR>rep</VAR>.
A useful alias to use with the <CODE>fc</CODE> command is <CODE>r='fc -s'</CODE>, so
that typing <SAMP>`r cc'</SAMP> runs the last command beginning with <CODE>cc</CODE>
-and typing <SAMP>`r'</SAMP> re-executes the last command (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>).
+and typing <SAMP>`r'</SAMP> re-executes the last command (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
</P><P>
<DT><CODE>history</CODE>
-<DD><A NAME="IDX545"></A>
+<DD><A NAME="IDX561"></A>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>history [<VAR>n</VAR>]
history -c
history -d <VAR>offset</VAR>
@@ -12014,20 +12314,20 @@ the value of the <CODE>HISTFILE</CODE> variable is used.
<A NAME="History Interaction"></A>
<HR SIZE="6">
-<A NAME="SEC122"></A>
+<A NAME="SEC123"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC121"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC124"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC119"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC120"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 9.3 History Expansion </H2>
-<!--docid::SEC122::-->
+<!--docid::SEC123::-->
<P>
The History library provides a history expansion feature that is similar
@@ -12057,7 +12357,7 @@ character.
</P><P>
Several shell options settable with the <CODE>shopt</CODE>
-builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>) may be used to tailor
+builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>) may be used to tailor
the behavior of history expansion. If the
<CODE>histverify</CODE> shell option is enabled, and Readline
is being used, history substitutions are not immediately passed to
@@ -12077,39 +12377,41 @@ This is most useful in conjunction with Readline.
The shell allows control of the various characters used by the
history expansion mechanism with the <CODE>histchars</CODE> variable,
-as explained above (see section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>). The shell uses
+as explained above (see section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>). The shell uses
the history comment character to mark history timestamps when
writing the history file.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC123">9.3.1 Event Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify which history line to use.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC124">9.3.2 Word Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying which words are of interest.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC125">9.3.3 Modifiers</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Modifying the results of substitution.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC124">9.3.1 Event Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to specify which history line to use.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC125">9.3.2 Word Designators</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Specifying which words are of interest.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC126">9.3.3 Modifiers</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Modifying the results of substitution.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Event Designators"></A>
<HR SIZE="6">
-<A NAME="SEC123"></A>
+<A NAME="SEC124"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC124"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC125"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 9.3.1 Event Designators </H3>
-<!--docid::SEC123::-->
+<!--docid::SEC124::-->
<P>
An event designator is a reference to a command line entry in the
history list.
-<A NAME="IDX546"></A>
+Unless the reference is absolute, events are relative to the current
+position in the history list.
+<A NAME="IDX562"></A>
</P><P>
<DL COMPACT>
@@ -12133,11 +12435,16 @@ the end of the line, <SAMP>`='</SAMP> or <SAMP>`('</SAMP> (when the
<P>
<DT><CODE>!<VAR>string</VAR></CODE>
-<DD>Refer to the most recent command starting with <VAR>string</VAR>.
+<DD>Refer to the most recent command
+preceding the current position in the history list
+starting with <VAR>string</VAR>.
<P>
<DT><CODE>!?<VAR>string</VAR>[?]</CODE>
-<DD>Refer to the most recent command containing <VAR>string</VAR>. The trailing
+<DD>Refer to the most recent command
+preceding the current position in the history list
+containing <VAR>string</VAR>.
+The trailing
<SAMP>`?'</SAMP> may be omitted if the <VAR>string</VAR> is followed immediately by
a newline.
<P>
@@ -12157,20 +12464,20 @@ with <VAR>string2</VAR>. Equivalent to
<A NAME="Word Designators"></A>
<HR SIZE="6">
-<A NAME="SEC124"></A>
+<A NAME="SEC125"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC125"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC125"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC124"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 9.3.2 Word Designators </H3>
-<!--docid::SEC124::-->
+<!--docid::SEC125::-->
<P>
Word designators are used to select desired words from the event.
@@ -12252,20 +12559,20 @@ previous command is used as the event.
<A NAME="Modifiers"></A>
<HR SIZE="6">
-<A NAME="SEC125"></A>
+<A NAME="SEC126"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC124"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC125"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC122"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC123"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H3> 9.3.3 Modifiers </H3>
-<!--docid::SEC125::-->
+<!--docid::SEC126::-->
<P>
After the optional word designator, you can add a sequence of one or more
@@ -12334,20 +12641,20 @@ or with <SAMP>`&#38;'</SAMP>.
<A NAME="Installing Bash"></A>
<HR SIZE="6">
-<A NAME="SEC126"></A>
+<A NAME="SEC127"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC125"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC128"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC4"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> 10. Installing Bash </H1>
-<!--docid::SEC126::-->
+<!--docid::SEC127::-->
<P>
This chapter provides basic instructions for installing Bash on
@@ -12359,38 +12666,38 @@ MS-DOS, OS/2, and Windows platforms.
</P><P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC127">10.1 Basic Installation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Installation instructions.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC128">10.2 Compilers and Options</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set special options for various
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC128">10.1 Basic Installation</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Installation instructions.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC129">10.2 Compilers and Options</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set special options for various
systems.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC129">10.3 Compiling For Multiple Architectures</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to compile Bash for more
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC130">10.3 Compiling For Multiple Architectures</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to compile Bash for more
than one kind of system from
the same source tree.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC130">10.4 Installation Names</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set the various paths used by the installation.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC131">10.5 Specifying the System Type</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to configure Bash for a particular system.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC132">10.6 Sharing Defaults</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to share default configuration values among GNU
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC131">10.4 Installation Names</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to set the various paths used by the installation.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC132">10.5 Specifying the System Type</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to configure Bash for a particular system.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC133">10.6 Sharing Defaults</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to share default configuration values among GNU
programs.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC133">10.7 Operation Controls</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Options recognized by the configuration program.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC134">10.8 Optional Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to enable and disable optional features when
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC134">10.7 Operation Controls</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Options recognized by the configuration program.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC135">10.8 Optional Features</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">How to enable and disable optional features when
building Bash.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Basic Installation"></A>
<HR SIZE="6">
-<A NAME="SEC127"></A>
+<A NAME="SEC128"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC128"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC129"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.1 Basic Installation </H2>
-<!--docid::SEC127::-->
+<!--docid::SEC128::-->
<P>
These are installation instructions for Bash.
@@ -12480,20 +12787,20 @@ a different kind of computer), type <SAMP>`make distclean'</SAMP>.
<A NAME="Compilers and Options"></A>
<HR SIZE="6">
-<A NAME="SEC128"></A>
+<A NAME="SEC129"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC129"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC129"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC128"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.2 Compilers and Options </H2>
-<!--docid::SEC128::-->
+<!--docid::SEC129::-->
<P>
Some systems require unusual options for compilation or linking
@@ -12518,20 +12825,20 @@ is available.
<A NAME="Compiling For Multiple Architectures"></A>
<HR SIZE="6">
-<A NAME="SEC129"></A>
+<A NAME="SEC130"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC128"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC129"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.3 Compiling For Multiple Architectures </H2>
-<!--docid::SEC129::-->
+<!--docid::SEC130::-->
<P>
You can compile Bash for more than one kind of computer at the
@@ -12570,20 +12877,20 @@ directories for other architectures.
<A NAME="Installation Names"></A>
<HR SIZE="6">
-<A NAME="SEC130"></A>
+<A NAME="SEC131"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC129"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.4 Installation Names </H2>
-<!--docid::SEC130::-->
+<!--docid::SEC131::-->
<P>
By default, <SAMP>`make install'</SAMP> will install into
@@ -12604,20 +12911,20 @@ Documentation and other data files will still use the regular prefix.
<A NAME="Specifying the System Type"></A>
<HR SIZE="6">
-<A NAME="SEC131"></A>
+<A NAME="SEC132"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC130"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.5 Specifying the System Type </H2>
-<!--docid::SEC131::-->
+<!--docid::SEC132::-->
<P>
There may be some features <CODE>configure</CODE> can not figure out
@@ -12636,20 +12943,20 @@ values of each field.
<A NAME="Sharing Defaults"></A>
<HR SIZE="6">
-<A NAME="SEC132"></A>
+<A NAME="SEC133"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC131"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.6 Sharing Defaults </H2>
-<!--docid::SEC132::-->
+<!--docid::SEC133::-->
<P>
If you want to set default values for <CODE>configure</CODE> scripts to
@@ -12665,20 +12972,20 @@ but not all <CODE>configure</CODE> scripts do.
<A NAME="Operation Controls"></A>
<HR SIZE="6">
-<A NAME="SEC133"></A>
+<A NAME="SEC134"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC132"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.7 Operation Controls </H2>
-<!--docid::SEC133::-->
+<!--docid::SEC134::-->
<P>
<CODE>configure</CODE> recognizes the following options to control how it
@@ -12721,20 +13028,20 @@ options. <SAMP>`configure --help'</SAMP> prints the complete list.
<A NAME="Optional Features"></A>
<HR SIZE="6">
-<A NAME="SEC134"></A>
+<A NAME="SEC135"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC133"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> 10.8 Optional Features </H2>
-<!--docid::SEC134::-->
+<!--docid::SEC135::-->
<P>
The Bash <CODE>configure</CODE> has a number of <SAMP>`--enable-<VAR>feature</VAR>'</SAMP>
@@ -12841,7 +13148,7 @@ necessary support.
<DL COMPACT>
<DT><CODE>--enable-alias</CODE>
<DD>Allow alias expansion and include the <CODE>alias</CODE> and <CODE>unalias</CODE>
-builtins (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>).
+builtins (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
<P>
<DT><CODE>--enable-arith-for-command</CODE>
@@ -12852,18 +13159,18 @@ that behaves like the C language <CODE>for</CODE> statement
<DT><CODE>--enable-array-variables</CODE>
<DD>Include support for one-dimensional array shell variables
-(see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>).
+(see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>).
<P>
<DT><CODE>--enable-bang-history</CODE>
<DD>Include support for <CODE>csh</CODE>-like history substitution
-(see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>).
+(see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
<P>
<DT><CODE>--enable-brace-expansion</CODE>
<DD>Include <CODE>csh</CODE>-like brace expansion
( <CODE>b{a,b}c</CODE> ==> <CODE>bac bbc</CODE> ).
-See <A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A>, for a complete description.
+See <A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>, for a complete description.
<P>
<DT><CODE>--enable-casemod-attributes</CODE>
@@ -12906,13 +13213,13 @@ This allows pipelines as well as shell builtins and functions to be timed.
<DT><CODE>--enable-directory-stack</CODE>
<DD>Include support for a <CODE>csh</CODE>-like directory stack and the
<CODE>pushd</CODE>, <CODE>popd</CODE>, and <CODE>dirs</CODE> builtins
-(see section <A HREF="bashref.html#SEC86">6.8 The Directory Stack</A>).
+(see section <A HREF="bashref.html#SEC87">6.8 The Directory Stack</A>).
<P>
<DT><CODE>--enable-disabled-builtins</CODE>
<DD>Allow builtin commands to be invoked via <SAMP>`builtin xxx'</SAMP>
even after <CODE>xxx</CODE> has been disabled using <SAMP>`enable -n xxx'</SAMP>.
-See <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>, for details of the <CODE>builtin</CODE> and
+See <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>, for details of the <CODE>builtin</CODE> and
<CODE>enable</CODE> builtin commands.
<P>
@@ -12923,26 +13230,26 @@ See <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>, for details of t
<DT><CODE>--enable-extended-glob</CODE>
<DD>Include support for the extended pattern matching features described
-above under <A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A>.
+above under <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>.
<P>
<DT><CODE>--enable-extended-glob-default</CODE>
<DD>Set the default value of the <VAR>extglob</VAR> shell option described
-above under <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A> to be enabled.
+above under <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A> to be enabled.
<P>
<DT><CODE>--enable-help-builtin</CODE>
<DD>Include the <CODE>help</CODE> builtin, which displays help on shell builtins and
-variables (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+variables (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<DT><CODE>--enable-history</CODE>
<DD>Include command history and the <CODE>fc</CODE> and <CODE>history</CODE>
-builtin commands (see section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>).
+builtin commands (see section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>).
<P>
<DT><CODE>--enable-job-control</CODE>
-<DD>This enables the job control features (see section <A HREF="bashref.html#SEC91">7. Job Control</A>),
+<DD>This enables the job control features (see section <A HREF="bashref.html#SEC92">7. Job Control</A>),
if the operating system supports them.
<P>
@@ -12955,41 +13262,41 @@ system provides the necessary support.
<DD>This enables the special handling of filenames of the form
<CODE>/dev/tcp/<VAR>host</VAR>/<VAR>port</VAR></CODE> and
<CODE>/dev/udp/<VAR>host</VAR>/<VAR>port</VAR></CODE>
-when used in redirections (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+when used in redirections (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<DT><CODE>--enable-process-substitution</CODE>
-<DD>This enables process substitution (see section <A HREF="bashref.html#SEC34">3.5.6 Process Substitution</A>) if
+<DD>This enables process substitution (see section <A HREF="bashref.html#SEC35">3.5.6 Process Substitution</A>) if
the operating system provides the necessary support.
<P>
<DT><CODE>--enable-progcomp</CODE>
<DD>Enable the programmable completion facilities
-(see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>).
+(see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>).
If Readline is not enabled, this option has no effect.
<P>
<DT><CODE>--enable-prompt-string-decoding</CODE>
<DD>Turn on the interpretation of a number of backslash-escaped characters
in the <CODE>$PS1</CODE>, <CODE>$PS2</CODE>, <CODE>$PS3</CODE>, and <CODE>$PS4</CODE> prompt
-strings. See <A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>, for a complete list of prompt
+strings. See <A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>, for a complete list of prompt
string escape sequences.
<P>
<DT><CODE>--enable-readline</CODE>
<DD>Include support for command-line editing and history with the Bash
-version of the Readline library (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>).
+version of the Readline library (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>).
<P>
<DT><CODE>--enable-restricted</CODE>
<DD>Include support for a <EM>restricted shell</EM>. If this is enabled, Bash,
when called as <CODE>rbash</CODE>, enters a restricted mode. See
-<A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>, for a description of restricted mode.
+<A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>, for a description of restricted mode.
<P>
<DT><CODE>--enable-select</CODE>
-<DD>Include the <CODE>select</CODE> builtin, which allows the generation of simple
-menus (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>).
+<DD>Include the <CODE>select</CODE> compound command, which allows the generation of
+simple menus (see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>).
<P>
<DT><CODE>--enable-separate-helpfiles</CODE>
@@ -13005,7 +13312,7 @@ literals.
<P>
<DT><CODE>--enable-strict-posix-default</CODE>
-<DD>Make Bash POSIX-conformant by default (see section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>).
+<DD>Make Bash POSIX-conformant by default (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>).
<P>
<DT><CODE>--enable-usg-echo-default</CODE>
@@ -13018,7 +13325,7 @@ without requiring the <SAMP>`-e'</SAMP> option.
This sets the default value of the <CODE>xpg_echo</CODE> shell option to <CODE>on</CODE>,
which makes the Bash <CODE>echo</CODE> behave more like the version specified in
the Single Unix Specification, version 3.
-See section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>, for a description of the escape sequences that
+See section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>, for a description of the escape sequences that
<CODE>echo</CODE> recognizes.
<P>
@@ -13036,20 +13343,20 @@ information about its effect.
<A NAME="Reporting Bugs"></A>
<HR SIZE="6">
-<A NAME="SEC135"></A>
+<A NAME="SEC136"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC134"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC126"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC127"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> A. Reporting Bugs </H1>
-<!--docid::SEC135::-->
+<!--docid::SEC136::-->
<P>
Please report all bugs you find in Bash.
@@ -13094,20 +13401,20 @@ Please send all reports concerning this manual to
<A NAME="Major Differences From The Bourne Shell"></A>
<HR SIZE="6">
-<A NAME="SEC136"></A>
+<A NAME="SEC137"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC135"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC139"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC139"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> B. Major Differences From The Bourne Shell </H1>
-<!--docid::SEC136::-->
+<!--docid::SEC137::-->
<P>
Bash implements essentially the same grammar, parameter and
@@ -13126,27 +13433,27 @@ last version of the historical Bourne shell) as the baseline reference.
<LI>
Bash is POSIX-conformant, even where the POSIX specification
-differs from traditional <CODE>sh</CODE> behavior (see section <A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>).
+differs from traditional <CODE>sh</CODE> behavior (see section <A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>).
<P>
<LI>
-Bash has multi-character invocation options (see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>).
+Bash has multi-character invocation options (see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>).
<P>
<LI>
-Bash has command-line editing (see section <A HREF="bashref.html#SEC95">8. Command Line Editing</A>) and
+Bash has command-line editing (see section <A HREF="bashref.html#SEC96">8. Command Line Editing</A>) and
the <CODE>bind</CODE> builtin.
<P>
<LI>
Bash provides a programmable word completion mechanism
-(see section <A HREF="bashref.html#SEC117">8.6 Programmable Completion</A>), and builtin commands
+(see section <A HREF="bashref.html#SEC118">8.6 Programmable Completion</A>), and builtin commands
<CODE>complete</CODE>, <CODE>compgen</CODE>, and <CODE>compopt</CODE>, to
manipulate it.
<P>
<LI>
-Bash has command history (see section <A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>) and the
+Bash has command history (see section <A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>) and the
<CODE>history</CODE> and <CODE>fc</CODE> builtins to manipulate it.
The Bash history list maintains timestamp information and uses the
value of the <CODE>HISTTIMEFORMAT</CODE> variable to display it.
@@ -13154,11 +13461,11 @@ value of the <CODE>HISTTIMEFORMAT</CODE> variable to display it.
<LI>
Bash implements <CODE>csh</CODE>-like history expansion
-(see section <A HREF="bashref.html#SEC122">9.3 History Expansion</A>).
+(see section <A HREF="bashref.html#SEC123">9.3 History Expansion</A>).
<P>
<LI>
-Bash has one-dimensional array variables (see section <A HREF="bashref.html#SEC85">6.7 Arrays</A>), and the
+Bash has one-dimensional array variables (see section <A HREF="bashref.html#SEC86">6.7 Arrays</A>), and the
appropriate variable expansions and assignment syntax to use them.
Several of the Bash builtins take options to act on arrays.
Bash provides a number of built-in array variables.
@@ -13214,19 +13521,19 @@ Bash provides optional case-insensitive matching for the <CODE>case</CODE> and
<P>
<LI>
-Bash includes brace expansion (see section <A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A>) and tilde
-expansion (see section <A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A>).
+Bash includes brace expansion (see section <A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>) and tilde
+expansion (see section <A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A>).
<P>
<LI>
Bash implements command aliases and the <CODE>alias</CODE> and <CODE>unalias</CODE>
-builtins (see section <A HREF="bashref.html#SEC84">6.6 Aliases</A>).
+builtins (see section <A HREF="bashref.html#SEC85">6.6 Aliases</A>).
<P>
<LI>
Bash provides shell arithmetic, the <CODE>((</CODE> compound command
(see section <A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A>),
-and arithmetic expansion (see section <A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>).
+and arithmetic expansion (see section <A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>).
<P>
<LI>
@@ -13244,37 +13551,37 @@ of the variable named on the left hand side.
<LI>
Bash includes the POSIX pattern removal <SAMP>`%'</SAMP>, <SAMP>`#'</SAMP>, <SAMP>`%%'</SAMP>
and <SAMP>`##'</SAMP> expansions to remove leading or trailing substrings from
-variable values (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+variable values (see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
The expansion <CODE>${#xx}</CODE>, which returns the length of <CODE>${xx}</CODE>,
-is supported (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+is supported (see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
The expansion <CODE>${var:</CODE><VAR>offset</VAR><CODE>[:</CODE><VAR>length</VAR><CODE>]}</CODE>,
which expands to the substring of <CODE>var</CODE>'s value of length
<VAR>length</VAR>, beginning at <VAR>offset</VAR>, is present
-(see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+(see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
The expansion
<CODE>${var/[/]</CODE><VAR>pattern</VAR><CODE>[/</CODE><VAR>replacement</VAR><CODE>]}</CODE>,
which matches <VAR>pattern</VAR> and replaces it with <VAR>replacement</VAR> in
-the value of <CODE>var</CODE>, is available (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+the value of <CODE>var</CODE>, is available (see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
The expansion <CODE>${!<VAR>prefix}*</VAR></CODE> expansion, which expands to
the names of all shell variables whose names begin with <VAR>prefix</VAR>,
-is available (see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+is available (see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
Bash has <VAR>indirect</VAR> variable expansion using <CODE>${!word}</CODE>
-(see section <A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>).
+(see section <A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>).
<P>
<LI>
@@ -13284,13 +13591,13 @@ Bash can expand positional parameters beyond <CODE>$9</CODE> using
<LI>
The POSIX <CODE>$()</CODE> form of command substitution
-is implemented (see section <A HREF="bashref.html#SEC32">3.5.4 Command Substitution</A>),
+is implemented (see section <A HREF="bashref.html#SEC33">3.5.4 Command Substitution</A>),
and preferred to the Bourne shell's <CODE>"</CODE> (which
is also implemented for backwards compatibility).
<P>
<LI>
-Bash has process substitution (see section <A HREF="bashref.html#SEC34">3.5.6 Process Substitution</A>).
+Bash has process substitution (see section <A HREF="bashref.html#SEC35">3.5.6 Process Substitution</A>).
<P>
<LI>
@@ -13298,25 +13605,25 @@ Bash automatically assigns variables that provide information about the
current user (<CODE>UID</CODE>, <CODE>EUID</CODE>, and <CODE>GROUPS</CODE>), the current host
(<CODE>HOSTTYPE</CODE>, <CODE>OSTYPE</CODE>, <CODE>MACHTYPE</CODE>, and <CODE>HOSTNAME</CODE>),
and the instance of Bash that is running (<CODE>BASH</CODE>,
-<CODE>BASH_VERSION</CODE>, and <CODE>BASH_VERSINFO</CODE>). See section <A HREF="bashref.html#SEC67">5.2 Bash Variables</A>,
+<CODE>BASH_VERSION</CODE>, and <CODE>BASH_VERSINFO</CODE>). See section <A HREF="bashref.html#SEC68">5.2 Bash Variables</A>,
for details.
<P>
<LI>
The <CODE>IFS</CODE> variable is used to split only the results of expansion,
-not all words (see section <A HREF="bashref.html#SEC35">3.5.7 Word Splitting</A>).
+not all words (see section <A HREF="bashref.html#SEC36">3.5.7 Word Splitting</A>).
This closes a longstanding shell security hole.
<P>
<LI>
Bash implements the full set of POSIX filename expansion operators,
including <VAR>character classes</VAR>, <VAR>equivalence classes</VAR>, and
-<VAR>collating symbols</VAR> (see section <A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>).
+<VAR>collating symbols</VAR> (see section <A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>).
<P>
<LI>
Bash implements extended pattern matching features when the <CODE>extglob</CODE>
-shell option is enabled (see section <A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A>).
+shell option is enabled (see section <A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>).
<P>
<LI>
@@ -13327,12 +13634,12 @@ It is possible to have a variable and a function with the same name;
<LI>
Bash functions are permitted to have local variables using the
<CODE>local</CODE> builtin, and thus useful recursive functions may be written
-(see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+(see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
Variable assignments preceding commands affect only that command, even
-builtins and functions (see section <A HREF="bashref.html#SEC54">3.7.4 Environment</A>).
+builtins and functions (see section <A HREF="bashref.html#SEC55">3.7.4 Environment</A>).
In <CODE>sh</CODE>, all variable assignments
preceding commands are global unless the command is executed from the
file system.
@@ -13340,14 +13647,14 @@ file system.
<LI>
Bash performs filename expansion on filenames specified as operands
-to input and output redirection operators (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+to input and output redirection operators (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<LI>
Bash contains the <SAMP>`&#60;&#62;'</SAMP> redirection operator, allowing a file to be
opened for both reading and writing, and the <SAMP>`&#38;&#62;'</SAMP> redirection
operator, for directing standard output and standard error to the same
-file (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+file (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<LI>
@@ -13362,22 +13669,22 @@ redirection operators, which move one file descriptor to another.
<LI>
Bash treats a number of filenames specially when they are
-used in redirection operators (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+used in redirection operators (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<LI>
Bash can open network connections to arbitrary machines and services
-with the redirection operators (see section <A HREF="bashref.html#SEC39">3.6 Redirections</A>).
+with the redirection operators (see section <A HREF="bashref.html#SEC40">3.6 Redirections</A>).
<P>
<LI>
The <CODE>noclobber</CODE> option is available to avoid overwriting existing
-files with output redirection (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+files with output redirection (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
The <SAMP>`&#62;|'</SAMP> redirection operator may be used to override <CODE>noclobber</CODE>.
<P>
<LI>
-The Bash <CODE>cd</CODE> and <CODE>pwd</CODE> builtins (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>)
+The Bash <CODE>cd</CODE> and <CODE>pwd</CODE> builtins (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>)
each take <SAMP>`-L'</SAMP> and <SAMP>`-P'</SAMP> options to switch between logical and
physical modes.
<P>
@@ -13385,29 +13692,29 @@ physical modes.
<LI>
Bash allows a function to override a builtin with the same name, and provides
access to that builtin's functionality within the function via the
-<CODE>builtin</CODE> and <CODE>command</CODE> builtins (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+<CODE>builtin</CODE> and <CODE>command</CODE> builtins (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
The <CODE>command</CODE> builtin allows selective disabling of functions
-when command lookup is performed (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+when command lookup is performed (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
Individual builtins may be enabled or disabled using the <CODE>enable</CODE>
-builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
The Bash <CODE>exec</CODE> builtin takes additional options that allow users
to control the contents of the environment passed to the executed
command, and what the zeroth argument to the command is to be
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<LI>
Shell functions may be exported to children via the environment
-using <CODE>export -f</CODE> (see section <A HREF="bashref.html#SEC24">3.3 Shell Functions</A>).
+using <CODE>export -f</CODE> (see section <A HREF="bashref.html#SEC25">3.3 Shell Functions</A>).
<P>
<LI>
@@ -13423,21 +13730,21 @@ and values simultaneously.
The Bash <CODE>hash</CODE> builtin allows a name to be associated with
an arbitrary filename, even when that filename cannot be found by
searching the <CODE>$PATH</CODE>, using <SAMP>`hash -p'</SAMP>
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<LI>
Bash includes a <CODE>help</CODE> builtin for quick reference to shell
-facilities (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+facilities (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
The <CODE>printf</CODE> builtin is available to display formatted output
-(see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+(see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
-The Bash <CODE>read</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>)
+The Bash <CODE>read</CODE> builtin (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>)
will read a line ending in <SAMP>`\'</SAMP> with
the <SAMP>`-r'</SAMP> option, and will use the <CODE>REPLY</CODE> variable as a
default if no non-option arguments are supplied.
@@ -13456,28 +13763,28 @@ until a particular character rather than newline.
<LI>
The <CODE>return</CODE> builtin may be used to abort execution of scripts
executed with the <CODE>.</CODE> or <CODE>source</CODE> builtins
-(see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+(see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<LI>
Bash includes the <CODE>shopt</CODE> builtin, for finer control of shell
-optional capabilities (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>), and allows these options
-to be set and unset at shell invocation (see section <A HREF="bashref.html#SEC69">6.1 Invoking Bash</A>).
+optional capabilities (see section <A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>), and allows these options
+to be set and unset at shell invocation (see section <A HREF="bashref.html#SEC70">6.1 Invoking Bash</A>).
<P>
<LI>
Bash has much more optional behavior controllable with the <CODE>set</CODE>
-builtin (see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+builtin (see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<LI>
The <SAMP>`-x'</SAMP> (<CODE>xtrace</CODE>) option displays commands other than
simple commands when performing an execution trace
-(see section <A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>).
+(see section <A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>).
<P>
<LI>
-The <CODE>test</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>)
+The <CODE>test</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>)
is slightly different, as it implements the POSIX algorithm,
which specifies the behavior based on the number of arguments.
<P>
@@ -13490,7 +13797,7 @@ debugger.
<P>
<LI>
-The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>) allows a
+The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>) allows a
<CODE>DEBUG</CODE> pseudo-signal specification, similar to <CODE>EXIT</CODE>.
Commands specified with a <CODE>DEBUG</CODE> trap are executed before every
simple command, <CODE>for</CODE> command, <CODE>case</CODE> command,
@@ -13503,7 +13810,7 @@ The <CODE>extdebug</CODE> shell option has additional effects on the
<CODE>DEBUG</CODE> trap.
<P>
-The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>) allows an
+The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>) allows an
<CODE>ERR</CODE> pseudo-signal specification, similar to <CODE>EXIT</CODE> and <CODE>DEBUG</CODE>.
Commands specified with an <CODE>ERR</CODE> trap are executed after a simple
command fails, with a few exceptions.
@@ -13511,7 +13818,7 @@ The <CODE>ERR</CODE> trap is not inherited by shell functions unless the
<CODE>-o errtrace</CODE> option to the <CODE>set</CODE> builtin is enabled.
</P><P>
-The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>) allows a
+The <CODE>trap</CODE> builtin (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>) allows a
<CODE>RETURN</CODE> pseudo-signal specification, similar to
<CODE>EXIT</CODE> and <CODE>DEBUG</CODE>.
Commands specified with an <CODE>RETURN</CODE> trap are executed before
@@ -13524,36 +13831,36 @@ function has been given the <CODE>trace</CODE> attribute or the
<LI>
The Bash <CODE>type</CODE> builtin is more extensive and gives more information
-about the names it finds (see section <A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>).
+about the names it finds (see section <A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>).
<P>
<LI>
The Bash <CODE>umask</CODE> builtin permits a <SAMP>`-p'</SAMP> option to cause
the output to be displayed in the form of a <CODE>umask</CODE> command
-that may be reused as input (see section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>).
+that may be reused as input (see section <A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>).
<P>
<LI>
Bash implements a <CODE>csh</CODE>-like directory stack, and provides the
<CODE>pushd</CODE>, <CODE>popd</CODE>, and <CODE>dirs</CODE> builtins to manipulate it
-(see section <A HREF="bashref.html#SEC86">6.8 The Directory Stack</A>).
+(see section <A HREF="bashref.html#SEC87">6.8 The Directory Stack</A>).
Bash also makes the directory stack visible as the value of the
<CODE>DIRSTACK</CODE> shell variable.
<P>
<LI>
Bash interprets special backslash-escaped characters in the prompt
-strings when interactive (see section <A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>).
+strings when interactive (see section <A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>).
<P>
<LI>
-The Bash restricted mode is more useful (see section <A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>);
+The Bash restricted mode is more useful (see section <A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>);
the SVR4.2 shell restricted mode is too limited.
<P>
<LI>
The <CODE>disown</CODE> builtin can remove a job from the internal shell
-job table (see section <A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A>) or suppress the sending
+job table (see section <A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A>) or suppress the sending
of <CODE>SIGHUP</CODE> to a job when the shell exits as the result of a
<CODE>SIGHUP</CODE>.
<P>
@@ -13584,24 +13891,24 @@ The SVR4.2 <CODE>sh</CODE> uses a <CODE>TIMEOUT</CODE> variable like Bash uses
</UL>
<P>
-More features unique to Bash may be found in <A HREF="bashref.html#SEC68">6. Bash Features</A>.
+More features unique to Bash may be found in <A HREF="bashref.html#SEC69">6. Bash Features</A>.
</P><P>
<HR SIZE="6">
-<A NAME="SEC137"></A>
+<A NAME="SEC138"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC136"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &gt;&gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC139"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC139"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> B.1 Implementation Differences From The SVR4.2 Shell </H2>
-<!--docid::SEC137::-->
+<!--docid::SEC138::-->
<P>
Since Bash is a completely new implementation, it does not suffer from
@@ -13673,20 +13980,20 @@ The SVR4.2 shell behaves differently when invoked as <CODE>jsh</CODE>
<A NAME="GNU Free Documentation License"></A>
<HR SIZE="6">
-<A NAME="SEC138"></A>
+<A NAME="SEC139"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC137"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> &lt;&lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &lt;&lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> &gt;&gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &gt;&gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> C. GNU Free Documentation License </H1>
-<!--docid::SEC138::-->
+<!--docid::SEC139::-->
<P>
<center>
@@ -14223,9 +14530,9 @@ provided the MMC is eligible for relicensing.
</OL>
<P>
-<A NAME="SEC139"></A>
+<A NAME="SEC140"></A>
<H2> ADDENDUM: How to use this License for your documents </H2>
-<!--docid::SEC139::-->
+<!--docid::SEC140::-->
<P>
To use this License in a document you have written, include a copy of
@@ -14264,49 +14571,49 @@ to permit their use in free software.
<A NAME="Indexes"></A>
<HR SIZE="6">
-<A NAME="SEC140"></A>
+<A NAME="SEC141"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC138"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC139"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC142"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1> D. Indexes </H1>
-<!--docid::SEC140::-->
+<!--docid::SEC141::-->
<P>
<BLOCKQUOTE><TABLE BORDER=0 CELLSPACING=0>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC141">D.1 Index of Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash builtin commands.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC142">D.2 Index of Shell Reserved Words</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash reserved words.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC143">D.3 Parameter and Variable Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Quick reference helps you find the
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC142">D.1 Index of Shell Builtin Commands</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash builtin commands.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC143">D.2 Index of Shell Reserved Words</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of Bash reserved words.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC144">D.3 Parameter and Variable Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Quick reference helps you find the
variable you want.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC144">D.4 Function Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of bindable Readline functions.</TD></TR>
-<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC145">D.5 Concept Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">General index for concepts described in
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC145">D.4 Function Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">Index of bindable Readline functions.</TD></TR>
+<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="bashref.html#SEC146">D.5 Concept Index</A></TD><TD>&nbsp;&nbsp;</TD><TD ALIGN="left" VALIGN="TOP">General index for concepts described in
this manual.</TD></TR>
</TABLE></BLOCKQUOTE>
<P>
<A NAME="Builtin Index"></A>
<HR SIZE="6">
-<A NAME="SEC141"></A>
+<A NAME="SEC142"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC142"> &gt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC143"> &gt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> D.1 Index of Shell Builtin Commands </H2>
-<!--docid::SEC141::-->
+<!--docid::SEC142::-->
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#bt_." style="text-decoration:none"><b>.</b></A>
&nbsp;
<A HREF="bashref.html#bt_:" style="text-decoration:none"><b>:</b></A>
@@ -14355,105 +14662,105 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_."></A>.</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX69"><CODE>.</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX69"><CODE>.</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_:"></A>:</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX68"><CODE>:</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX68"><CODE>:</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_["></A>[</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX84"><CODE>[</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX84"><CODE>[</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX89"><CODE>alias</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX89"><CODE>alias</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX293"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX90"><CODE>bind</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX70"><CODE>break</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX91"><CODE>builtin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305"><CODE>bg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX90"><CODE>bind</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX70"><CODE>break</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX91"><CODE>builtin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX92"><CODE>caller</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX71"><CODE>cd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX93"><CODE>command</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX540"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX541"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX542"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX72"><CODE>continue</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX92"><CODE>caller</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX71"><CODE>cd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX93"><CODE>command</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX556"><CODE>compgen</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX557"><CODE>complete</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX558"><CODE>compopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX72"><CODE>continue</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX94"><CODE>declare</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX94"><CODE>declare</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302"><CODE>dirs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>disown</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX95"><CODE>echo</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX96"><CODE>enable</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX73"><CODE>eval</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX74"><CODE>exec</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX75"><CODE>exit</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX76"><CODE>export</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX95"><CODE>echo</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX96"><CODE>enable</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX73"><CODE>eval</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX74"><CODE>exec</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX75"><CODE>exit</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX76"><CODE>export</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX544"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX294"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX560"><CODE>fc</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306"><CODE>fg</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX77"><CODE>getopts</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX77"><CODE>getopts</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX78"><CODE>hash</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX97"><CODE>help</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX545"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX78"><CODE>hash</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX97"><CODE>help</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX561"><CODE>history</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_J"></A>J</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX295"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>jobs</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>kill</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_L"></A>L</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX98"><CODE>let</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX99"><CODE>local</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX100"><CODE>logout</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX98"><CODE>let</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX99"><CODE>local</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX100"><CODE>logout</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX101"><CODE>mapfile</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX101"><CODE>mapfile</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX102"><CODE>printf</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX79"><CODE>pwd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX303"><CODE>popd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX102"><CODE>printf</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304"><CODE>pushd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX79"><CODE>pwd</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX103"><CODE>read</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX104"><CODE>readarray</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX80"><CODE>readonly</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX81"><CODE>return</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX103"><CODE>read</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX104"><CODE>readarray</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX80"><CODE>readonly</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX81"><CODE>return</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX110"><CODE>set</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX82"><CODE>shift</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX111"><CODE>shopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX105"><CODE>source</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX110"><CODE>set</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX82"><CODE>shift</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX111"><CODE>shopt</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX105"><CODE>source</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>suspend</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX83"><CODE>test</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX85"><CODE>times</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX86"><CODE>trap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX106"><CODE>type</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX107"><CODE>typeset</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX83"><CODE>test</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX85"><CODE>times</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX86"><CODE>trap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX106"><CODE>type</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX107"><CODE>typeset</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX108"><CODE>ulimit</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX87"><CODE>umask</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX109"><CODE>unalias</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX88"><CODE>unset</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX108"><CODE>ulimit</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX87"><CODE>umask</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX109"><CODE>unalias</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX88"><CODE>unset</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="bt_W"></A>W</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.2 Job Control Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>wait</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.2 Job Control Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#bt_." style="text-decoration:none"><b>.</b></A>
&nbsp;
@@ -14502,20 +14809,20 @@ to permit their use in free software.
<A NAME="Reserved Word Index"></A>
<HR SIZE="6">
-<A NAME="SEC142"></A>
+<A NAME="SEC143"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC143"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC143"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> Up </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC142"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> D.2 Index of Shell Reserved Words </H2>
-<!--docid::SEC142::-->
+<!--docid::SEC143::-->
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#rw_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF="bashref.html#rw_[" style="text-decoration:none"><b>[</b></A>
@@ -14579,7 +14886,7 @@ to permit their use in free software.
<TR><TH><A NAME="rw_F"></A>F</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX36"><CODE>fi</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX31"><CODE>for</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC20">3.2.4.1 Looping Constructs</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX45"><CODE>function</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC24">3.3 Shell Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX45"><CODE>function</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.3 Shell Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="rw_I"></A>I</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX32"><CODE>if</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A></TD></TR>
@@ -14631,20 +14938,20 @@ to permit their use in free software.
<A NAME="Variable Index"></A>
<HR SIZE="6">
-<A NAME="SEC143"></A>
+<A NAME="SEC144"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC142"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> Up </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC143"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC145"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC145"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> D.3 Parameter and Variable Index </H2>
-<!--docid::SEC143::-->
+<!--docid::SEC144::-->
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#vr_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
<A HREF="bashref.html#vr_#" style="text-decoration:none"><b>#</b></A>
@@ -14707,286 +15014,302 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_!"></A>!</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX58"><CODE>!</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX59"><CODE>!</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX58"><CODE>!</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX59"><CODE>!</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_#"></A>#</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX50"><CODE>#</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX51"><CODE>#</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX50"><CODE>#</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX51"><CODE>#</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_$"></A>$</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX56"><CODE>$</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX57"><CODE>$</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX56"><CODE>$</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX57"><CODE>$</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_*"></A>*</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX46"><CODE>*</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX47"><CODE>*</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX46"><CODE>*</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX47"><CODE>*</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_-"></A>-</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX54"><CODE>-</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX55"><CODE>-</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX54"><CODE>-</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX55"><CODE>-</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_0"></A>0</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX60"><CODE>0</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX61"><CODE>0</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX60"><CODE>0</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX61"><CODE>0</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_?"></A>?</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX52"><CODE>?</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX53"><CODE>?</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX52"><CODE>?</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX53"><CODE>?</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_@"></A>@</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX48"><CODE>@</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX49"><CODE>@</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX48"><CODE>@</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX49"><CODE>@</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr__"></A>_</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX62"><CODE>_</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX63"><CODE>_</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX62"><CODE>_</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX63"><CODE>_</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.3 Job Control Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX312"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC95">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>auto_resume</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC95">7.3 Job Control Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX132"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX133"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX138"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX139"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX140"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX141"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX142"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX143"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX144"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX145"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX146"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX147"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX148"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX149"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX150"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX151"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX152"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX153"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX154"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX155"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX156"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX157"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX158"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX159"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX160"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX161"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX162"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX163"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX164"><CODE>BASH_XTRACEFD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX165"><CODE>BASH_XTRACEFD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX134"><CODE>BASHOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX135"><CODE>BASHOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX136"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX137"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX307"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX308"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX132"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX133"><CODE>BASH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX138"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX139"><CODE>BASH_ALIASES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX140"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX141"><CODE>BASH_ARGC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX142"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX143"><CODE>BASH_ARGV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX144"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX145"><CODE>BASH_CMDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX146"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX147"><CODE>BASH_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX148"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX149"><CODE>BASH_ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX150"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX151"><CODE>BASH_EXECUTION_STRING</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX152"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX153"><CODE>BASH_LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX154"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX155"><CODE>BASH_REMATCH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX156"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX157"><CODE>BASH_SOURCE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX158"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX159"><CODE>BASH_SUBSHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX160"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX161"><CODE>BASH_VERSINFO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX162"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX163"><CODE>BASH_VERSION</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX164"><CODE>BASH_XTRACEFD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX165"><CODE>BASH_XTRACEFD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX134"><CODE>BASHOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX135"><CODE>BASHOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX136"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX137"><CODE>BASHPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>bell-style</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>bind-tty-special-chars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX112"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX113"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX166"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX167"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX309"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX168"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX169"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX176"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX177"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX170"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX171"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX172"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX173"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX174"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX175"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX178"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX179"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX180"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX181"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX310"><CODE>completion-prefix-display-length</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX311"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX182"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX183"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX312"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX112"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX113"><CODE>CDPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX166"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX167"><CODE>COLUMNS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX321"><CODE>comment-begin</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX168"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX169"><CODE>COMP_CWORD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX176"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX177"><CODE>COMP_KEY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX170"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX171"><CODE>COMP_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX172"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX173"><CODE>COMP_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX174"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX175"><CODE>COMP_TYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX178"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX179"><CODE>COMP_WORDBREAKS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX180"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX181"><CODE>COMP_WORDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>completion-display-width</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>completion-ignore-case</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>completion-map-case</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>completion-prefix-display-length</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>completion-query-items</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX182"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX183"><CODE>COMPREPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>convert-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX184"><CODE>COPROC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX185"><CODE>COPROC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX184"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX185"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX313"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX186"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX187"><CODE>DIRSTACK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX328"><CODE>disable-completion</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX186"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX187"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX188"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX189"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>editing-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX188"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX189"><CODE>EMACS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>enable-keypad</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX190"><CODE>ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX191"><CODE>ENV</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX192"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX193"><CODE>EUID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>expand-tilde</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX190"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX191"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX192"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX193"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX194"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX195"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX194"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX195"><CODE>FCEDIT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX196"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX197"><CODE>FIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX198"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX199"><CODE>FUNCNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX200"><CODE>FUNCNEST</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX201"><CODE>FUNCNEST</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX196"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX197"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX198"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX199"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX202"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX203"><CODE>GLOBIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX204"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX205"><CODE>GROUPS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX200"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX201"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX202"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX203"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX204"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX205"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX206"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX207"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX208"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX209"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX210"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX211"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX317"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318"><CODE>history-size</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX212"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX213"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX214"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX215"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX114"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX115"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX319"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX216"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX217"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX218"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX219"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX220"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX221"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX206"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX207"><CODE>histchars</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX208"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX209"><CODE>HISTCMD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX210"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX211"><CODE>HISTCONTROL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX212"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX213"><CODE>HISTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX214"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX215"><CODE>HISTFILESIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX216"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX217"><CODE>HISTIGNORE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>history-preserve-point</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>history-size</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX218"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX219"><CODE>HISTSIZE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX220"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX221"><CODE>HISTTIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX114"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX115"><CODE>HOME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>horizontal-scroll-mode</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX222"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX223"><CODE>HOSTFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX224"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX225"><CODE>HOSTNAME</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX226"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX227"><CODE>HOSTTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_I"></A>I</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX116"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX117"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX222"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX223"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX320"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX224"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX225"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX322"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX116"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX117"><CODE>IFS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX228"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX229"><CODE>IGNOREEOF</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>input-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX230"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX231"><CODE>INPUTRC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>isearch-terminators</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX323"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>keymap</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_L"></A>L</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX226"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX227"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX228"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX229"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX230"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX231"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX232"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX233"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX232"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX233"><CODE>LANG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX234"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX235"><CODE>LC_ALL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX236"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX237"><CODE>LC_COLLATE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX238"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX239"><CODE>LC_CTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX21"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX234"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX235"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX236"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX237"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX238"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX239"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX240"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX241"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX240"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX241"><CODE>LC_MESSAGES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX242"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX243"><CODE>LC_NUMERIC</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX244"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX245"><CODE>LINENO</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX246"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX247"><CODE>LINES</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX242"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX243"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX118"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX119"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX244"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX245"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX120"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX121"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX324"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX325"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX326"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX321"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX248"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX249"><CODE>MACHTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX118"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX119"><CODE>MAIL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX250"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX251"><CODE>MAILCHECK</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX120"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX121"><CODE>MAILPATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX252"><CODE>MAPFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX253"><CODE>MAPFILE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>mark-modified-lines</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>mark-symlinked-directories</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>match-hidden-files</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>menu-complete-display-prefix</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>meta-flag</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_O"></A>O</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX246"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX247"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX122"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX123"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX248"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX249"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX124"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX125"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX250"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX251"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX327"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX254"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX255"><CODE>OLDPWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX122"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX123"><CODE>OPTARG</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX256"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX257"><CODE>OPTERR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX124"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX125"><CODE>OPTIND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX258"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>OSTYPE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>output-meta</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX328"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX126"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX127"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX252"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX253"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX254"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX255"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX256"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX257"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX258"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX259"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX261"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX128"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX129"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX130"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX131"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX262"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX263"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX264"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX265"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>page-completions</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX126"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX127"><CODE>PATH</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX260"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX261"><CODE>PIPESTATUS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX262"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX263"><CODE>POSIXLY_CORRECT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX264"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX265"><CODE>PPID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX266"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX267"><CODE>PROMPT_COMMAND</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX269"><CODE>PROMPT_DIRTRIM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX128"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX129"><CODE>PS1</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX130"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX131"><CODE>PS2</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271"><CODE>PS3</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>PS4</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX275"><CODE>PWD</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX268"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX269"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX270"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX271"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX329"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX277"><CODE>RANDOM</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278"><CODE>READLINE_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>READLINE_LINE</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX280"><CODE>READLINE_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>READLINE_POINT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283"><CODE>REPLY</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>revert-all-at-newline</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX272"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX273"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX274"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX275"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX276"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX277"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX278"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX279"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX330"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX331"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX332"><CODE>skip-completed-text</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX285"><CODE>SECONDS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX286"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287"><CODE>SHELL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289"><CODE>SHELLOPTS</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX290"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX291"><CODE>SHLVL</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>show-all-if-ambiguous</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>show-all-if-unmodified</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>skip-completed-text</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_T"></A>T</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX22"><CODE>TEXTDOMAIN</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX23"><CODE>TEXTDOMAINDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX280"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX281"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX282"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX283"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX284"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX285"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX292"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX293"><CODE>TIMEFORMAT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX294"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX295"><CODE>TMOUT</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX296"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX297"><CODE>TMPDIR</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX286"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX287"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC67">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX298"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX299"><CODE>UID</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC68">5.2 Bash Variables</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="vr_V"></A>V</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX333"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>visible-stats</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#vr_!" style="text-decoration:none"><b>!</b></A>
&nbsp;
@@ -15049,20 +15372,20 @@ to permit their use in free software.
<A NAME="Function Index"></A>
<HR SIZE="6">
-<A NAME="SEC144"></A>
+<A NAME="SEC145"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC143"> &lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC145"> &gt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC145"> &lt;&lt; </A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> Up </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC146"> &gt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC146"> &lt;&lt; </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> D.4 Function Index </H2>
-<!--docid::SEC144::-->
+<!--docid::SEC145::-->
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#fn_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="bashref.html#fn_B" style="text-decoration:none"><b>B</b></A>
@@ -15108,250 +15431,250 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX530"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX531"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>abort (C-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>accept-line (Newline or Return)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX546"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX547"><CODE>alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX340"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX341"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX344"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX345"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX334"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX335"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>backward-char (C-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>backward-delete-char (Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>backward-kill-line (C-x Rubout)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>backward-kill-word (M-<KBD>DEL</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX360"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX361"><CODE>backward-word (M-b)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>beginning-of-history (M-&#38;#60;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>beginning-of-line (C-a)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX398"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX399"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX502"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX503"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX350"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX351"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX428"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX429"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>call-last-kbd-macro (C-x e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>capitalize-word (M-c)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX518"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519"><CODE>character-search (C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX520"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>character-search-backward (M-C-])</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>clear-screen (C-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX456"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX457"><CODE>complete (<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>complete-command (M-!)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX468"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX469"><CODE>complete-filename (M-/)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>complete-hostname (M-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>complete-into-braces (M-{)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>complete-username (M-~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX476"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX477"><CODE>complete-variable (M-$)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>copy-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>copy-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>copy-region-as-kill ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX522"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX523"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX514"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX512"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX472"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX473"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>dabbrev-expand ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX396"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX397"><CODE>delete-char (C-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>delete-char-or-list ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>delete-horizontal-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX452"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX453"><CODE>digit-argument (<KBD>M-0</KBD>, <KBD>M-1</KBD>, &#60;small&#62;...&#60;/small&#62; <KBD>M--</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX538"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX539"><CODE>display-shell-version (C-x C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX504"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX505"><CODE>do-uppercase-version (M-a, M-b, M-<VAR>x</VAR>, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX412"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX413"><CODE>downcase-word (M-l)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX526"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX527"><CODE>dump-functions ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX530"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX531"><CODE>dump-macros ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX528"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX529"><CODE>dump-variables ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX488"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX489"><CODE>dynamic-complete-history (M-<KBD>TAB</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX538"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX539"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX480"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX481"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX336"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX337"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX554"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX555"><CODE>edit-and-execute-command (C-xC-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>end-kbd-macro (C-x ))</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>end-of-history (M-&#38;#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>end-of-line (C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX516"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>exchange-point-and-mark (C-x C-x)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_F"></A>F</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX338"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX339"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX366"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX367"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX342"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX343"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>forward-backward-delete-char ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX354"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX355"><CODE>forward-char (C-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX382"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX383"><CODE>forward-search-history (C-s)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>forward-word (M-f)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_G"></A>G</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX516"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX517"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX518"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX519"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX520"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX521"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX532"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX533"><CODE>glob-complete-word (M-g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX534"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX535"><CODE>glob-expand-word (C-x *)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX536"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX537"><CODE>glob-list-expansions (C-x g)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX532"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX533"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX526"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX527"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX548"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX549"><CODE>history-and-alias-expand-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX542"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX543"><CODE>history-expand-line (M-^)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>history-search-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>history-search-forward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_I"></A>I</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX444"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX445"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX534"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX535"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX524"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX525"><CODE>insert-comment (M-#)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX460"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX461"><CODE>insert-completions (M-*)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX550"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX551"><CODE>insert-last-argument (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>kill-line (C-k)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX440"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX441"><CODE>kill-region ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX424"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX425"><CODE>kill-whole-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX426"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX427"><CODE>kill-word (M-d)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX528"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX529"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX446"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX447"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX544"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX545"><CODE>magic-space ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>menu-complete ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX464"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX465"><CODE>menu-complete-backward ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_N"></A>N</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX358"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX359"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX370"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX371"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX374"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX375"><CODE>next-history (C-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>non-incremental-forward-search-history (M-n)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX384"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX385"><CODE>non-incremental-reverse-search-history (M-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_O"></A>O</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX536"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX537"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX400"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX401"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX552"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX553"><CODE>operate-and-get-next (C-o)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX416"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX417"><CODE>overwrite-mode ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX442"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX443"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX466"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX467"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX462"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX463"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX490"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX491"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX356"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX357"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX486"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX487"><CODE>possible-command-completions (C-x !)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX458"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX459"><CODE>possible-completions (M-?)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX470"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX471"><CODE>possible-filename-completions (C-x /)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX482"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX483"><CODE>possible-hostname-completions (C-x @)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX474"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX475"><CODE>possible-username-completions (C-x ~)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>possible-variable-completions (C-x $)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>prefix-meta (<KBD>ESC</KBD>)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX372"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX373"><CODE>previous-history (C-p)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Q"></A>Q</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX386"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX387"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX402"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX403"><CODE>quoted-insert (C-q or C-v)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX484"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX485"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX352"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX353"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX500"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX501"><CODE>re-read-init-file (C-x C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX368"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX369"><CODE>redraw-current-line ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX380"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX381"><CODE>reverse-search-history (C-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX510"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX511"><CODE>revert-line (M-r)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX388"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX389"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX498"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX499"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX348"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX349"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX524"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX525"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX346"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX347"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX414"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX415"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX506"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX507"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX478"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX479"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX404"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX405"><CODE>self-insert (a, b, A, 1, !, &#60;small&#62;...&#60;/small&#62;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX514"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX515"><CODE>set-mark (C-@)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>shell-backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>shell-backward-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX364"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX365"><CODE>shell-backward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX540"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX541"><CODE>shell-expand-line (M-C-e)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX362"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX363"><CODE>shell-forward-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX430"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX431"><CODE>shell-kill-word ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX522"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX523"><CODE>skip-csi-sequence ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX494"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX495"><CODE>start-kbd-macro (C-x ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX496"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX497"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX390"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX391"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX512"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX513"><CODE>tilde-expand (M-&#38;#38;)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>transpose-chars (C-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX408"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX409"><CODE>transpose-words (M-t)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_U"></A>U</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX492"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX493"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX438"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX439"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX420"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX421"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX406"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX407"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX418"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX419"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX508"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX509"><CODE>undo (C-_ or C-x C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX454"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX455"><CODE>universal-argument ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX436"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX437"><CODE>unix-filename-rubout ()</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX422"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX423"><CODE>unix-line-discard (C-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>unix-word-rubout (C-w)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX410"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX411"><CODE>upcase-word (M-u)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="fn_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX432"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX433"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX378"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX379"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX376"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX377"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX434"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX435"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX448"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX449"><CODE>yank (C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX394"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX395"><CODE>yank-last-arg (M-. or M-_)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX392"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX393"><CODE>yank-nth-arg (M-C-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX450"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX451"><CODE>yank-pop (M-y)</CODE></A></TD><TD valign=top><A HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#fn_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
@@ -15397,20 +15720,20 @@ to permit their use in free software.
<A NAME="Concept Index"></A>
<HR SIZE="6">
-<A NAME="SEC145"></A>
+<A NAME="SEC146"></A>
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
-<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC144"> &lt; </A>]</TD>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC145"> &lt; </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[ &lt;&lt; ]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140"> Up </A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141"> Up </A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[ &gt;&gt; ]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT"> &nbsp; <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H2> D.5 Concept Index </H2>
-<!--docid::SEC145::-->
+<!--docid::SEC146::-->
<table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
<A HREF="bashref.html#cp_B" style="text-decoration:none"><b>B</b></A>
@@ -15460,27 +15783,27 @@ to permit their use in free software.
<TR><TD></TD><TH ALIGN=LEFT>Index Entry</TH><TH ALIGN=LEFT> Section</TH></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_A"></A>A</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">alias expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.6 Aliases</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">arithmetic evaluation</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC33">arithmetic expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC33">3.5.5 Arithmetic Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">arithmetic, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC85">arrays</A></TD><TD valign=top><A HREF="bashref.html#SEC85">6.7 Arrays</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC85">alias expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC85">6.6 Aliases</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">arithmetic evaluation</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC34">arithmetic expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC34">3.5.5 Arithmetic Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">arithmetic, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC86">arrays</A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.7 Arrays</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_B"></A>B</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC92">background</A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.1 Job Control Basics</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC127">Bash configuration</A></TD><TD valign=top><A HREF="bashref.html#SEC127">10.1 Basic Installation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC127">Bash installation</A></TD><TD valign=top><A HREF="bashref.html#SEC127">10.1 Basic Installation</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC93">background</A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.1 Job Control Basics</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC128">Bash configuration</A></TD><TD valign=top><A HREF="bashref.html#SEC128">10.1 Basic Installation</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC128">Bash installation</A></TD><TD valign=top><A HREF="bashref.html#SEC128">10.1 Basic Installation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC5">Bourne shell</A></TD><TD valign=top><A HREF="bashref.html#SEC5">3. Basic Shell Features</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC29">brace expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC30">brace expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX2">builtin</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_C"></A>C</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC98">command editing</A></TD><TD valign=top><A HREF="bashref.html#SEC98">8.2.1 Readline Bare Essentials</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC52">command execution</A></TD><TD valign=top><A HREF="bashref.html#SEC52">3.7.2 Command Search and Execution</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC51">command expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC51">3.7.1 Simple Command Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC120">command history</A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC52">command search</A></TD><TD valign=top><A HREF="bashref.html#SEC52">3.7.2 Command Search and Execution</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC32">command substitution</A></TD><TD valign=top><A HREF="bashref.html#SEC32">3.5.4 Command Substitution</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC99">command editing</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.1 Readline Bare Essentials</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC53">command execution</A></TD><TD valign=top><A HREF="bashref.html#SEC53">3.7.2 Command Search and Execution</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC52">command expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC52">3.7.1 Simple Command Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC121">command history</A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC53">command search</A></TD><TD valign=top><A HREF="bashref.html#SEC53">3.7.2 Command Search and Execution</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC33">command substitution</A></TD><TD valign=top><A HREF="bashref.html#SEC33">3.5.4 Command Substitution</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX26">command timing</A></TD><TD valign=top><A HREF="bashref.html#SEC17">3.2.2 Pipelines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC19">commands, compound</A></TD><TD valign=top><A HREF="bashref.html#SEC19">3.2.4 Compound Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC21">commands, conditional</A></TD><TD valign=top><A HREF="bashref.html#SEC21">3.2.4.2 Conditional Constructs</A></TD></TR>
@@ -15491,135 +15814,135 @@ to permit their use in free software.
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC15">commands, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC15">3.2 Shell Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC16">commands, simple</A></TD><TD valign=top><A HREF="bashref.html#SEC16">3.2.1 Simple Commands</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC14">comments, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC14">3.1.3 Comments</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC118">completion builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC127">configuration</A></TD><TD valign=top><A HREF="bashref.html#SEC127">10.1 Basic Installation</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC119">completion builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC128">configuration</A></TD><TD valign=top><A HREF="bashref.html#SEC128">10.1 Basic Installation</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX3">control operator</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC23">coprocess</A></TD><TD valign=top><A HREF="bashref.html#SEC23">3.2.5 Coprocesses</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_D"></A>D</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC86">directory stack</A></TD><TD valign=top><A HREF="bashref.html#SEC86">6.8 The Directory Stack</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC87">directory stack</A></TD><TD valign=top><A HREF="bashref.html#SEC87">6.8 The Directory Stack</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_E"></A>E</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC98">editing command lines</A></TD><TD valign=top><A HREF="bashref.html#SEC98">8.2.1 Readline Bare Essentials</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC54">environment</A></TD><TD valign=top><A HREF="bashref.html#SEC54">3.7.4 Environment</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">evaluation, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC123">event designators</A></TD><TD valign=top><A HREF="bashref.html#SEC123">9.3.1 Event Designators</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC53">execution environment</A></TD><TD valign=top><A HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC99">editing command lines</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.1 Readline Bare Essentials</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC55">environment</A></TD><TD valign=top><A HREF="bashref.html#SEC55">3.7.4 Environment</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">evaluation, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC124">event designators</A></TD><TD valign=top><A HREF="bashref.html#SEC124">9.3.1 Event Designators</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC54">execution environment</A></TD><TD valign=top><A HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX4">exit status</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC55">exit status</A></TD><TD valign=top><A HREF="bashref.html#SEC55">3.7.5 Exit Status</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC28">expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.5 Shell Expansions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC33">expansion, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC33">3.5.5 Arithmetic Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC29">expansion, brace</A></TD><TD valign=top><A HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX64">expansion, filename</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC31">expansion, parameter</A></TD><TD valign=top><A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX65">expansion, pathname</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC30">expansion, tilde</A></TD><TD valign=top><A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">expressions, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC82">expressions, conditional</A></TD><TD valign=top><A HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC56">exit status</A></TD><TD valign=top><A HREF="bashref.html#SEC56">3.7.5 Exit Status</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC29">expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC29">3.5 Shell Expansions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC34">expansion, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC34">3.5.5 Arithmetic Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC30">expansion, brace</A></TD><TD valign=top><A HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX64">expansion, filename</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC32">expansion, parameter</A></TD><TD valign=top><A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX65">expansion, pathname</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC31">expansion, tilde</A></TD><TD valign=top><A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">expressions, arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">expressions, conditional</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_F"></A>F</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX5">field</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX6">filename</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX66">filename expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC92">foreground</A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.1 Job Control Basics</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC24">functions, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC24">3.3 Shell Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX66">filename expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC93">foreground</A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.1 Job Control Basics</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC25">functions, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.3 Shell Functions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_H"></A>H</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC121">history builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.2 Bash History Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX546">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC123">9.3.1 Event Designators</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC122">history expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.3 History Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC120">history list</A></TD><TD valign=top><A HREF="bashref.html#SEC120">9.1 Bash History Facilities</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX543">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC122">history builtins</A></TD><TD valign=top><A HREF="bashref.html#SEC122">9.2 Bash History Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX562">history events</A></TD><TD valign=top><A HREF="bashref.html#SEC124">9.3.1 Event Designators</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC123">history expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC123">9.3 History Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC121">history list</A></TD><TD valign=top><A HREF="bashref.html#SEC121">9.1 Bash History Facilities</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX559">History, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_I"></A>I</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX11">identifier</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC103">initialization file, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC103">8.3 Readline Init File</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC127">installation</A></TD><TD valign=top><A HREF="bashref.html#SEC127">10.1 Basic Installation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC97">interaction, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC97">8.2 Readline Interaction</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX289">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC69">6.1 Invoking Bash</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC78">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC78">6.3 Interactive Shells</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC104">initialization file, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3 Readline Init File</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC128">installation</A></TD><TD valign=top><A HREF="bashref.html#SEC128">10.1 Basic Installation</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC98">interaction, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC98">8.2 Readline Interaction</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX301">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC70">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC79">interactive shell</A></TD><TD valign=top><A HREF="bashref.html#SEC79">6.3 Interactive Shells</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">internationalization</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_J"></A>J</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX7">job</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX8">job control</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC92">job control</A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.1 Job Control Basics</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC93">job control</A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.1 Job Control Basics</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_K"></A>K</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX305">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.2.3 Readline Killing Commands</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX303">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX317">kill ring</A></TD><TD valign=top><A HREF="bashref.html#SEC101">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX315">killing text</A></TD><TD valign=top><A HREF="bashref.html#SEC101">8.2.3 Readline Killing Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_L"></A>L</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">localization</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX288">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC69">6.1 Invoking Bash</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX300">login shell</A></TD><TD valign=top><A HREF="bashref.html#SEC70">6.1 Invoking Bash</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC37">matching, pattern</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC38">matching, pattern</A></TD><TD valign=top><A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX9">metacharacter</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_N"></A>N</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX10">name</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">native languages</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC98">notation, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC98">8.2.1 Readline Bare Essentials</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC99">notation, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC99">8.2.1 Readline Bare Essentials</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_O"></A>O</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX12">operator, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_P"></A>P</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC31">parameter expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC25">parameters</A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.4 Shell Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC26">parameters, positional</A></TD><TD valign=top><A HREF="bashref.html#SEC26">3.4.1 Positional Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC27">parameters, special</A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.2 Special Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX67">pathname expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC37">pattern matching</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC32">parameter expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC26">parameters</A></TD><TD valign=top><A HREF="bashref.html#SEC26">3.4 Shell Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC27">parameters, positional</A></TD><TD valign=top><A HREF="bashref.html#SEC27">3.4.1 Positional Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC28">parameters, special</A></TD><TD valign=top><A HREF="bashref.html#SEC28">3.4.2 Special Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX67">pathname expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC38">pattern matching</A></TD><TD valign=top><A HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC17">pipeline</A></TD><TD valign=top><A HREF="bashref.html#SEC17">3.2.2 Pipelines</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX1">POSIX</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC90">POSIX Mode</A></TD><TD valign=top><A HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC91">POSIX Mode</A></TD><TD valign=top><A HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX13">process group</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX14">process group ID</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC34">process substitution</A></TD><TD valign=top><A HREF="bashref.html#SEC34">3.5.6 Process Substitution</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC117">programmable completion</A></TD><TD valign=top><A HREF="bashref.html#SEC117">8.6 Programmable Completion</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC88">prompting</A></TD><TD valign=top><A HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC35">process substitution</A></TD><TD valign=top><A HREF="bashref.html#SEC35">3.5.6 Process Substitution</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC118">programmable completion</A></TD><TD valign=top><A HREF="bashref.html#SEC118">8.6 Programmable Completion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC89">prompting</A></TD><TD valign=top><A HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_Q"></A>Q</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC8">quoting</A></TD><TD valign=top><A HREF="bashref.html#SEC8">3.1.2 Quoting</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC12">quoting, ANSI</A></TD><TD valign=top><A HREF="bashref.html#SEC12">3.1.2.4 ANSI-C Quoting</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX302">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC94">7.3 Job Control Variables</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC39">redirection</A></TD><TD valign=top><A HREF="bashref.html#SEC39">3.6 Redirections</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX314">Readline, how to use</A></TD><TD valign=top><A HREF="bashref.html#SEC95">7.3 Job Control Variables</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC40">redirection</A></TD><TD valign=top><A HREF="bashref.html#SEC40">3.6 Redirections</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX15">reserved word</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC89">restricted shell</A></TD><TD valign=top><A HREF="bashref.html#SEC89">6.10 The Restricted Shell</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC90">restricted shell</A></TD><TD valign=top><A HREF="bashref.html#SEC90">6.10 The Restricted Shell</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX16">return status</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_S"></A>S</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC83">shell arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC24">shell function</A></TD><TD valign=top><A HREF="bashref.html#SEC24">3.3 Shell Functions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC57">shell script</A></TD><TD valign=top><A HREF="bashref.html#SEC57">3.8 Shell Scripts</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC25">shell variable</A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.4 Shell Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC78">shell, interactive</A></TD><TD valign=top><A HREF="bashref.html#SEC78">6.3 Interactive Shells</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC84">shell arithmetic</A></TD><TD valign=top><A HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC25">shell function</A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.3 Shell Functions</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC58">shell script</A></TD><TD valign=top><A HREF="bashref.html#SEC58">3.8 Shell Scripts</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC26">shell variable</A></TD><TD valign=top><A HREF="bashref.html#SEC26">3.4 Shell Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC79">shell, interactive</A></TD><TD valign=top><A HREF="bashref.html#SEC79">6.3 Interactive Shells</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX17">signal</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC56">signal handling</A></TD><TD valign=top><A HREF="bashref.html#SEC56">3.7.6 Signals</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC57">signal handling</A></TD><TD valign=top><A HREF="bashref.html#SEC57">3.7.6 Signals</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX18">special builtin</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC64">special builtin</A></TD><TD valign=top><A HREF="bashref.html#SEC64">4.4 Special Builtins</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC70">startup files</A></TD><TD valign=top><A HREF="bashref.html#SEC70">6.2 Bash Startup Files</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC92">suspending jobs</A></TD><TD valign=top><A HREF="bashref.html#SEC92">7.1 Job Control Basics</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC65">special builtin</A></TD><TD valign=top><A HREF="bashref.html#SEC65">4.4 Special Builtins</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC71">startup files</A></TD><TD valign=top><A HREF="bashref.html#SEC71">6.2 Bash Startup Files</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC93">suspending jobs</A></TD><TD valign=top><A HREF="bashref.html#SEC93">7.1 Job Control Basics</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_T"></A>T</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC30">tilde expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC31">tilde expansion</A></TD><TD valign=top><A HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX19">token</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC13">translation, native languages</A></TD><TD valign=top><A HREF="bashref.html#SEC13">3.1.2.5 Locale-Specific Translation</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC25">variable, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC25">3.4 Shell Parameters</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX306">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC26">variable, shell</A></TD><TD valign=top><A HREF="bashref.html#SEC26">3.4 Shell Parameters</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX318">variables, readline</A></TD><TD valign=top><A HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_W"></A>W</TH><TD></TD><TD></TD></TR>
<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX20">word</A></TD><TD valign=top><A HREF="bashref.html#SEC4">2. Definitions</A></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC35">word splitting</A></TD><TD valign=top><A HREF="bashref.html#SEC35">3.5.7 Word Splitting</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#SEC36">word splitting</A></TD><TD valign=top><A HREF="bashref.html#SEC36">3.5.7 Word Splitting</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
<TR><TH><A NAME="cp_Y"></A>Y</TH><TD></TD><TD></TD></TR>
-<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX304">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC100">8.2.3 Readline Killing Commands</A></TD></TR>
+<TR><TD></TD><TD valign=top><A HREF="bashref.html#IDX316">yanking text</A></TD><TD valign=top><A HREF="bashref.html#SEC101">8.2.3 Readline Killing Commands</A></TD></TR>
<TR><TD COLSPAN=3> <HR></TD></TR>
</TABLE><P></P><table><tr><th valign=top>Jump to: &nbsp; </th><td><A HREF="bashref.html#cp_A" style="text-decoration:none"><b>A</b></A>
&nbsp;
@@ -15672,7 +15995,7 @@ to permit their use in free software.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Table of Contents</H1>
@@ -15733,276 +16056,278 @@ to permit their use in free software.
</UL>
<A NAME="TOC23" HREF="bashref.html#SEC23">3.2.5 Coprocesses</A>
<BR>
+<A NAME="TOC24" HREF="bashref.html#SEC24">3.2.6 GNU Parallel</A>
+<BR>
</UL>
-<A NAME="TOC24" HREF="bashref.html#SEC24">3.3 Shell Functions</A>
+<A NAME="TOC25" HREF="bashref.html#SEC25">3.3 Shell Functions</A>
<BR>
-<A NAME="TOC25" HREF="bashref.html#SEC25">3.4 Shell Parameters</A>
+<A NAME="TOC26" HREF="bashref.html#SEC26">3.4 Shell Parameters</A>
<BR>
<UL>
-<A NAME="TOC26" HREF="bashref.html#SEC26">3.4.1 Positional Parameters</A>
+<A NAME="TOC27" HREF="bashref.html#SEC27">3.4.1 Positional Parameters</A>
<BR>
-<A NAME="TOC27" HREF="bashref.html#SEC27">3.4.2 Special Parameters</A>
+<A NAME="TOC28" HREF="bashref.html#SEC28">3.4.2 Special Parameters</A>
<BR>
</UL>
-<A NAME="TOC28" HREF="bashref.html#SEC28">3.5 Shell Expansions</A>
+<A NAME="TOC29" HREF="bashref.html#SEC29">3.5 Shell Expansions</A>
<BR>
<UL>
-<A NAME="TOC29" HREF="bashref.html#SEC29">3.5.1 Brace Expansion</A>
+<A NAME="TOC30" HREF="bashref.html#SEC30">3.5.1 Brace Expansion</A>
<BR>
-<A NAME="TOC30" HREF="bashref.html#SEC30">3.5.2 Tilde Expansion</A>
+<A NAME="TOC31" HREF="bashref.html#SEC31">3.5.2 Tilde Expansion</A>
<BR>
-<A NAME="TOC31" HREF="bashref.html#SEC31">3.5.3 Shell Parameter Expansion</A>
+<A NAME="TOC32" HREF="bashref.html#SEC32">3.5.3 Shell Parameter Expansion</A>
<BR>
-<A NAME="TOC32" HREF="bashref.html#SEC32">3.5.4 Command Substitution</A>
+<A NAME="TOC33" HREF="bashref.html#SEC33">3.5.4 Command Substitution</A>
<BR>
-<A NAME="TOC33" HREF="bashref.html#SEC33">3.5.5 Arithmetic Expansion</A>
+<A NAME="TOC34" HREF="bashref.html#SEC34">3.5.5 Arithmetic Expansion</A>
<BR>
-<A NAME="TOC34" HREF="bashref.html#SEC34">3.5.6 Process Substitution</A>
+<A NAME="TOC35" HREF="bashref.html#SEC35">3.5.6 Process Substitution</A>
<BR>
-<A NAME="TOC35" HREF="bashref.html#SEC35">3.5.7 Word Splitting</A>
+<A NAME="TOC36" HREF="bashref.html#SEC36">3.5.7 Word Splitting</A>
<BR>
-<A NAME="TOC36" HREF="bashref.html#SEC36">3.5.8 Filename Expansion</A>
+<A NAME="TOC37" HREF="bashref.html#SEC37">3.5.8 Filename Expansion</A>
<BR>
<UL>
-<A NAME="TOC37" HREF="bashref.html#SEC37">3.5.8.1 Pattern Matching</A>
+<A NAME="TOC38" HREF="bashref.html#SEC38">3.5.8.1 Pattern Matching</A>
<BR>
</UL>
-<A NAME="TOC38" HREF="bashref.html#SEC38">3.5.9 Quote Removal</A>
+<A NAME="TOC39" HREF="bashref.html#SEC39">3.5.9 Quote Removal</A>
<BR>
</UL>
-<A NAME="TOC39" HREF="bashref.html#SEC39">3.6 Redirections</A>
+<A NAME="TOC40" HREF="bashref.html#SEC40">3.6 Redirections</A>
<BR>
<UL>
-<A NAME="TOC40" HREF="bashref.html#SEC40">3.6.1 Redirecting Input</A>
+<A NAME="TOC41" HREF="bashref.html#SEC41">3.6.1 Redirecting Input</A>
<BR>
-<A NAME="TOC41" HREF="bashref.html#SEC41">3.6.2 Redirecting Output</A>
+<A NAME="TOC42" HREF="bashref.html#SEC42">3.6.2 Redirecting Output</A>
<BR>
-<A NAME="TOC42" HREF="bashref.html#SEC42">3.6.3 Appending Redirected Output</A>
+<A NAME="TOC43" HREF="bashref.html#SEC43">3.6.3 Appending Redirected Output</A>
<BR>
-<A NAME="TOC43" HREF="bashref.html#SEC43">3.6.4 Redirecting Standard Output and Standard Error</A>
+<A NAME="TOC44" HREF="bashref.html#SEC44">3.6.4 Redirecting Standard Output and Standard Error</A>
<BR>
-<A NAME="TOC44" HREF="bashref.html#SEC44">3.6.5 Appending Standard Output and Standard Error</A>
+<A NAME="TOC45" HREF="bashref.html#SEC45">3.6.5 Appending Standard Output and Standard Error</A>
<BR>
-<A NAME="TOC45" HREF="bashref.html#SEC45">3.6.6 Here Documents</A>
+<A NAME="TOC46" HREF="bashref.html#SEC46">3.6.6 Here Documents</A>
<BR>
-<A NAME="TOC46" HREF="bashref.html#SEC46">3.6.7 Here Strings</A>
+<A NAME="TOC47" HREF="bashref.html#SEC47">3.6.7 Here Strings</A>
<BR>
-<A NAME="TOC47" HREF="bashref.html#SEC47">3.6.8 Duplicating File Descriptors</A>
+<A NAME="TOC48" HREF="bashref.html#SEC48">3.6.8 Duplicating File Descriptors</A>
<BR>
-<A NAME="TOC48" HREF="bashref.html#SEC48">3.6.9 Moving File Descriptors</A>
+<A NAME="TOC49" HREF="bashref.html#SEC49">3.6.9 Moving File Descriptors</A>
<BR>
-<A NAME="TOC49" HREF="bashref.html#SEC49">3.6.10 Opening File Descriptors for Reading and Writing</A>
+<A NAME="TOC50" HREF="bashref.html#SEC50">3.6.10 Opening File Descriptors for Reading and Writing</A>
<BR>
</UL>
-<A NAME="TOC50" HREF="bashref.html#SEC50">3.7 Executing Commands</A>
+<A NAME="TOC51" HREF="bashref.html#SEC51">3.7 Executing Commands</A>
<BR>
<UL>
-<A NAME="TOC51" HREF="bashref.html#SEC51">3.7.1 Simple Command Expansion</A>
+<A NAME="TOC52" HREF="bashref.html#SEC52">3.7.1 Simple Command Expansion</A>
<BR>
-<A NAME="TOC52" HREF="bashref.html#SEC52">3.7.2 Command Search and Execution</A>
+<A NAME="TOC53" HREF="bashref.html#SEC53">3.7.2 Command Search and Execution</A>
<BR>
-<A NAME="TOC53" HREF="bashref.html#SEC53">3.7.3 Command Execution Environment</A>
+<A NAME="TOC54" HREF="bashref.html#SEC54">3.7.3 Command Execution Environment</A>
<BR>
-<A NAME="TOC54" HREF="bashref.html#SEC54">3.7.4 Environment</A>
+<A NAME="TOC55" HREF="bashref.html#SEC55">3.7.4 Environment</A>
<BR>
-<A NAME="TOC55" HREF="bashref.html#SEC55">3.7.5 Exit Status</A>
+<A NAME="TOC56" HREF="bashref.html#SEC56">3.7.5 Exit Status</A>
<BR>
-<A NAME="TOC56" HREF="bashref.html#SEC56">3.7.6 Signals</A>
+<A NAME="TOC57" HREF="bashref.html#SEC57">3.7.6 Signals</A>
<BR>
</UL>
-<A NAME="TOC57" HREF="bashref.html#SEC57">3.8 Shell Scripts</A>
+<A NAME="TOC58" HREF="bashref.html#SEC58">3.8 Shell Scripts</A>
<BR>
</UL>
-<A NAME="TOC58" HREF="bashref.html#SEC58">4. Shell Builtin Commands</A>
+<A NAME="TOC59" HREF="bashref.html#SEC59">4. Shell Builtin Commands</A>
<BR>
<UL>
-<A NAME="TOC59" HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>
+<A NAME="TOC60" HREF="bashref.html#SEC60">4.1 Bourne Shell Builtins</A>
<BR>
-<A NAME="TOC60" HREF="bashref.html#SEC60">4.2 Bash Builtin Commands</A>
+<A NAME="TOC61" HREF="bashref.html#SEC61">4.2 Bash Builtin Commands</A>
<BR>
-<A NAME="TOC61" HREF="bashref.html#SEC61">4.3 Modifying Shell Behavior</A>
+<A NAME="TOC62" HREF="bashref.html#SEC62">4.3 Modifying Shell Behavior</A>
<BR>
<UL>
-<A NAME="TOC62" HREF="bashref.html#SEC62">4.3.1 The Set Builtin</A>
+<A NAME="TOC63" HREF="bashref.html#SEC63">4.3.1 The Set Builtin</A>
<BR>
-<A NAME="TOC63" HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>
+<A NAME="TOC64" HREF="bashref.html#SEC64">4.3.2 The Shopt Builtin</A>
<BR>
</UL>
-<A NAME="TOC64" HREF="bashref.html#SEC64">4.4 Special Builtins</A>
+<A NAME="TOC65" HREF="bashref.html#SEC65">4.4 Special Builtins</A>
<BR>
</UL>
-<A NAME="TOC65" HREF="bashref.html#SEC65">5. Shell Variables</A>
+<A NAME="TOC66" HREF="bashref.html#SEC66">5. Shell Variables</A>
<BR>
<UL>
-<A NAME="TOC66" HREF="bashref.html#SEC66">5.1 Bourne Shell Variables</A>
+<A NAME="TOC67" HREF="bashref.html#SEC67">5.1 Bourne Shell Variables</A>
<BR>
-<A NAME="TOC67" HREF="bashref.html#SEC67">5.2 Bash Variables</A>
+<A NAME="TOC68" HREF="bashref.html#SEC68">5.2 Bash Variables</A>
<BR>
</UL>
-<A NAME="TOC68" HREF="bashref.html#SEC68">6. Bash Features</A>
+<A NAME="TOC69" HREF="bashref.html#SEC69">6. Bash Features</A>
<BR>
<UL>
-<A NAME="TOC69" HREF="bashref.html#SEC69">6.1 Invoking Bash</A>
+<A NAME="TOC70" HREF="bashref.html#SEC70">6.1 Invoking Bash</A>
<BR>
-<A NAME="TOC70" HREF="bashref.html#SEC70">6.2 Bash Startup Files</A>
+<A NAME="TOC71" HREF="bashref.html#SEC71">6.2 Bash Startup Files</A>
<BR>
-<A NAME="TOC78" HREF="bashref.html#SEC78">6.3 Interactive Shells</A>
+<A NAME="TOC79" HREF="bashref.html#SEC79">6.3 Interactive Shells</A>
<BR>
<UL>
-<A NAME="TOC79" HREF="bashref.html#SEC79">6.3.1 What is an Interactive Shell?</A>
+<A NAME="TOC80" HREF="bashref.html#SEC80">6.3.1 What is an Interactive Shell?</A>
<BR>
-<A NAME="TOC80" HREF="bashref.html#SEC80">6.3.2 Is this Shell Interactive?</A>
+<A NAME="TOC81" HREF="bashref.html#SEC81">6.3.2 Is this Shell Interactive?</A>
<BR>
-<A NAME="TOC81" HREF="bashref.html#SEC81">6.3.3 Interactive Shell Behavior</A>
+<A NAME="TOC82" HREF="bashref.html#SEC82">6.3.3 Interactive Shell Behavior</A>
<BR>
</UL>
-<A NAME="TOC82" HREF="bashref.html#SEC82">6.4 Bash Conditional Expressions</A>
+<A NAME="TOC83" HREF="bashref.html#SEC83">6.4 Bash Conditional Expressions</A>
<BR>
-<A NAME="TOC83" HREF="bashref.html#SEC83">6.5 Shell Arithmetic</A>
+<A NAME="TOC84" HREF="bashref.html#SEC84">6.5 Shell Arithmetic</A>
<BR>
-<A NAME="TOC84" HREF="bashref.html#SEC84">6.6 Aliases</A>
+<A NAME="TOC85" HREF="bashref.html#SEC85">6.6 Aliases</A>
<BR>
-<A NAME="TOC85" HREF="bashref.html#SEC85">6.7 Arrays</A>
+<A NAME="TOC86" HREF="bashref.html#SEC86">6.7 Arrays</A>
<BR>
-<A NAME="TOC86" HREF="bashref.html#SEC86">6.8 The Directory Stack</A>
+<A NAME="TOC87" HREF="bashref.html#SEC87">6.8 The Directory Stack</A>
<BR>
<UL>
-<A NAME="TOC87" HREF="bashref.html#SEC87">6.8.1 Directory Stack Builtins</A>
+<A NAME="TOC88" HREF="bashref.html#SEC88">6.8.1 Directory Stack Builtins</A>
<BR>
</UL>
-<A NAME="TOC88" HREF="bashref.html#SEC88">6.9 Controlling the Prompt</A>
+<A NAME="TOC89" HREF="bashref.html#SEC89">6.9 Controlling the Prompt</A>
<BR>
-<A NAME="TOC89" HREF="bashref.html#SEC89">6.10 The Restricted Shell</A>
+<A NAME="TOC90" HREF="bashref.html#SEC90">6.10 The Restricted Shell</A>
<BR>
-<A NAME="TOC90" HREF="bashref.html#SEC90">6.11 Bash POSIX Mode</A>
+<A NAME="TOC91" HREF="bashref.html#SEC91">6.11 Bash POSIX Mode</A>
<BR>
</UL>
-<A NAME="TOC91" HREF="bashref.html#SEC91">7. Job Control</A>
+<A NAME="TOC92" HREF="bashref.html#SEC92">7. Job Control</A>
<BR>
<UL>
-<A NAME="TOC92" HREF="bashref.html#SEC92">7.1 Job Control Basics</A>
+<A NAME="TOC93" HREF="bashref.html#SEC93">7.1 Job Control Basics</A>
<BR>
-<A NAME="TOC93" HREF="bashref.html#SEC93">7.2 Job Control Builtins</A>
+<A NAME="TOC94" HREF="bashref.html#SEC94">7.2 Job Control Builtins</A>
<BR>
-<A NAME="TOC94" HREF="bashref.html#SEC94">7.3 Job Control Variables</A>
+<A NAME="TOC95" HREF="bashref.html#SEC95">7.3 Job Control Variables</A>
<BR>
</UL>
-<A NAME="TOC95" HREF="bashref.html#SEC95">8. Command Line Editing</A>
+<A NAME="TOC96" HREF="bashref.html#SEC96">8. Command Line Editing</A>
<BR>
<UL>
-<A NAME="TOC96" HREF="bashref.html#SEC96">8.1 Introduction to Line Editing</A>
+<A NAME="TOC97" HREF="bashref.html#SEC97">8.1 Introduction to Line Editing</A>
<BR>
-<A NAME="TOC97" HREF="bashref.html#SEC97">8.2 Readline Interaction</A>
+<A NAME="TOC98" HREF="bashref.html#SEC98">8.2 Readline Interaction</A>
<BR>
<UL>
-<A NAME="TOC98" HREF="bashref.html#SEC98">8.2.1 Readline Bare Essentials</A>
+<A NAME="TOC99" HREF="bashref.html#SEC99">8.2.1 Readline Bare Essentials</A>
<BR>
-<A NAME="TOC99" HREF="bashref.html#SEC99">8.2.2 Readline Movement Commands</A>
+<A NAME="TOC100" HREF="bashref.html#SEC100">8.2.2 Readline Movement Commands</A>
<BR>
-<A NAME="TOC100" HREF="bashref.html#SEC100">8.2.3 Readline Killing Commands</A>
+<A NAME="TOC101" HREF="bashref.html#SEC101">8.2.3 Readline Killing Commands</A>
<BR>
-<A NAME="TOC101" HREF="bashref.html#SEC101">8.2.4 Readline Arguments</A>
+<A NAME="TOC102" HREF="bashref.html#SEC102">8.2.4 Readline Arguments</A>
<BR>
-<A NAME="TOC102" HREF="bashref.html#SEC102">8.2.5 Searching for Commands in the History</A>
+<A NAME="TOC103" HREF="bashref.html#SEC103">8.2.5 Searching for Commands in the History</A>
<BR>
</UL>
-<A NAME="TOC103" HREF="bashref.html#SEC103">8.3 Readline Init File</A>
+<A NAME="TOC104" HREF="bashref.html#SEC104">8.3 Readline Init File</A>
<BR>
<UL>
-<A NAME="TOC104" HREF="bashref.html#SEC104">8.3.1 Readline Init File Syntax</A>
+<A NAME="TOC105" HREF="bashref.html#SEC105">8.3.1 Readline Init File Syntax</A>
<BR>
-<A NAME="TOC105" HREF="bashref.html#SEC105">8.3.2 Conditional Init Constructs</A>
+<A NAME="TOC106" HREF="bashref.html#SEC106">8.3.2 Conditional Init Constructs</A>
<BR>
-<A NAME="TOC106" HREF="bashref.html#SEC106">8.3.3 Sample Init File</A>
+<A NAME="TOC107" HREF="bashref.html#SEC107">8.3.3 Sample Init File</A>
<BR>
</UL>
-<A NAME="TOC107" HREF="bashref.html#SEC107">8.4 Bindable Readline Commands</A>
+<A NAME="TOC108" HREF="bashref.html#SEC108">8.4 Bindable Readline Commands</A>
<BR>
<UL>
-<A NAME="TOC108" HREF="bashref.html#SEC108">8.4.1 Commands For Moving</A>
+<A NAME="TOC109" HREF="bashref.html#SEC109">8.4.1 Commands For Moving</A>
<BR>
-<A NAME="TOC109" HREF="bashref.html#SEC109">8.4.2 Commands For Manipulating The History</A>
+<A NAME="TOC110" HREF="bashref.html#SEC110">8.4.2 Commands For Manipulating The History</A>
<BR>
-<A NAME="TOC110" HREF="bashref.html#SEC110">8.4.3 Commands For Changing Text</A>
+<A NAME="TOC111" HREF="bashref.html#SEC111">8.4.3 Commands For Changing Text</A>
<BR>
-<A NAME="TOC111" HREF="bashref.html#SEC111">8.4.4 Killing And Yanking</A>
+<A NAME="TOC112" HREF="bashref.html#SEC112">8.4.4 Killing And Yanking</A>
<BR>
-<A NAME="TOC112" HREF="bashref.html#SEC112">8.4.5 Specifying Numeric Arguments</A>
+<A NAME="TOC113" HREF="bashref.html#SEC113">8.4.5 Specifying Numeric Arguments</A>
<BR>
-<A NAME="TOC113" HREF="bashref.html#SEC113">8.4.6 Letting Readline Type For You</A>
+<A NAME="TOC114" HREF="bashref.html#SEC114">8.4.6 Letting Readline Type For You</A>
<BR>
-<A NAME="TOC114" HREF="bashref.html#SEC114">8.4.7 Keyboard Macros</A>
+<A NAME="TOC115" HREF="bashref.html#SEC115">8.4.7 Keyboard Macros</A>
<BR>
-<A NAME="TOC115" HREF="bashref.html#SEC115">8.4.8 Some Miscellaneous Commands</A>
+<A NAME="TOC116" HREF="bashref.html#SEC116">8.4.8 Some Miscellaneous Commands</A>
<BR>
</UL>
-<A NAME="TOC116" HREF="bashref.html#SEC116">8.5 Readline vi Mode</A>
+<A NAME="TOC117" HREF="bashref.html#SEC117">8.5 Readline vi Mode</A>
<BR>
-<A NAME="TOC117" HREF="bashref.html#SEC117">8.6 Programmable Completion</A>
+<A NAME="TOC118" HREF="bashref.html#SEC118">8.6 Programmable Completion</A>
<BR>
-<A NAME="TOC118" HREF="bashref.html#SEC118">8.7 Programmable Completion Builtins</A>
+<A NAME="TOC119" HREF="bashref.html#SEC119">8.7 Programmable Completion Builtins</A>
<BR>
</UL>
-<A NAME="TOC119" HREF="bashref.html#SEC119">9. Using History Interactively</A>
+<A NAME="TOC120" HREF="bashref.html#SEC120">9. Using History Interactively</A>
<BR>
<UL>
-<A NAME="TOC120" HREF="bashref.html#SEC120">9.1 Bash History Facilities</A>
+<A NAME="TOC121" HREF="bashref.html#SEC121">9.1 Bash History Facilities</A>
<BR>
-<A NAME="TOC121" HREF="bashref.html#SEC121">9.2 Bash History Builtins</A>
+<A NAME="TOC122" HREF="bashref.html#SEC122">9.2 Bash History Builtins</A>
<BR>
-<A NAME="TOC122" HREF="bashref.html#SEC122">9.3 History Expansion</A>
+<A NAME="TOC123" HREF="bashref.html#SEC123">9.3 History Expansion</A>
<BR>
<UL>
-<A NAME="TOC123" HREF="bashref.html#SEC123">9.3.1 Event Designators</A>
+<A NAME="TOC124" HREF="bashref.html#SEC124">9.3.1 Event Designators</A>
<BR>
-<A NAME="TOC124" HREF="bashref.html#SEC124">9.3.2 Word Designators</A>
+<A NAME="TOC125" HREF="bashref.html#SEC125">9.3.2 Word Designators</A>
<BR>
-<A NAME="TOC125" HREF="bashref.html#SEC125">9.3.3 Modifiers</A>
+<A NAME="TOC126" HREF="bashref.html#SEC126">9.3.3 Modifiers</A>
<BR>
</UL>
</UL>
-<A NAME="TOC126" HREF="bashref.html#SEC126">10. Installing Bash</A>
+<A NAME="TOC127" HREF="bashref.html#SEC127">10. Installing Bash</A>
<BR>
<UL>
-<A NAME="TOC127" HREF="bashref.html#SEC127">10.1 Basic Installation</A>
+<A NAME="TOC128" HREF="bashref.html#SEC128">10.1 Basic Installation</A>
<BR>
-<A NAME="TOC128" HREF="bashref.html#SEC128">10.2 Compilers and Options</A>
+<A NAME="TOC129" HREF="bashref.html#SEC129">10.2 Compilers and Options</A>
<BR>
-<A NAME="TOC129" HREF="bashref.html#SEC129">10.3 Compiling For Multiple Architectures</A>
+<A NAME="TOC130" HREF="bashref.html#SEC130">10.3 Compiling For Multiple Architectures</A>
<BR>
-<A NAME="TOC130" HREF="bashref.html#SEC130">10.4 Installation Names</A>
+<A NAME="TOC131" HREF="bashref.html#SEC131">10.4 Installation Names</A>
<BR>
-<A NAME="TOC131" HREF="bashref.html#SEC131">10.5 Specifying the System Type</A>
+<A NAME="TOC132" HREF="bashref.html#SEC132">10.5 Specifying the System Type</A>
<BR>
-<A NAME="TOC132" HREF="bashref.html#SEC132">10.6 Sharing Defaults</A>
+<A NAME="TOC133" HREF="bashref.html#SEC133">10.6 Sharing Defaults</A>
<BR>
-<A NAME="TOC133" HREF="bashref.html#SEC133">10.7 Operation Controls</A>
+<A NAME="TOC134" HREF="bashref.html#SEC134">10.7 Operation Controls</A>
<BR>
-<A NAME="TOC134" HREF="bashref.html#SEC134">10.8 Optional Features</A>
+<A NAME="TOC135" HREF="bashref.html#SEC135">10.8 Optional Features</A>
<BR>
</UL>
-<A NAME="TOC135" HREF="bashref.html#SEC135">A. Reporting Bugs</A>
+<A NAME="TOC136" HREF="bashref.html#SEC136">A. Reporting Bugs</A>
<BR>
-<A NAME="TOC136" HREF="bashref.html#SEC136">B. Major Differences From The Bourne Shell</A>
+<A NAME="TOC137" HREF="bashref.html#SEC137">B. Major Differences From The Bourne Shell</A>
<BR>
<UL>
-<A NAME="TOC137" HREF="bashref.html#SEC137">B.1 Implementation Differences From The SVR4.2 Shell</A>
+<A NAME="TOC138" HREF="bashref.html#SEC138">B.1 Implementation Differences From The SVR4.2 Shell</A>
<BR>
</UL>
-<A NAME="TOC138" HREF="bashref.html#SEC138">C. GNU Free Documentation License</A>
+<A NAME="TOC139" HREF="bashref.html#SEC139">C. GNU Free Documentation License</A>
<BR>
-<A NAME="TOC140" HREF="bashref.html#SEC140">D. Indexes</A>
+<A NAME="TOC141" HREF="bashref.html#SEC141">D. Indexes</A>
<BR>
<UL>
-<A NAME="TOC141" HREF="bashref.html#SEC141">D.1 Index of Shell Builtin Commands</A>
+<A NAME="TOC142" HREF="bashref.html#SEC142">D.1 Index of Shell Builtin Commands</A>
<BR>
-<A NAME="TOC142" HREF="bashref.html#SEC142">D.2 Index of Shell Reserved Words</A>
+<A NAME="TOC143" HREF="bashref.html#SEC143">D.2 Index of Shell Reserved Words</A>
<BR>
-<A NAME="TOC143" HREF="bashref.html#SEC143">D.3 Parameter and Variable Index</A>
+<A NAME="TOC144" HREF="bashref.html#SEC144">D.3 Parameter and Variable Index</A>
<BR>
-<A NAME="TOC144" HREF="bashref.html#SEC144">D.4 Function Index</A>
+<A NAME="TOC145" HREF="bashref.html#SEC145">D.4 Function Index</A>
<BR>
-<A NAME="TOC145" HREF="bashref.html#SEC145">D.5 Concept Index</A>
+<A NAME="TOC146" HREF="bashref.html#SEC146">D.5 Concept Index</A>
<BR>
</UL>
</UL>
@@ -16011,7 +16336,7 @@ to permit their use in free software.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>Short Table of Contents</H1>
@@ -16022,27 +16347,27 @@ to permit their use in free software.
<BR>
<A NAME="TOC5" HREF="bashref.html#SEC5">3. Basic Shell Features</A>
<BR>
-<A NAME="TOC58" HREF="bashref.html#SEC58">4. Shell Builtin Commands</A>
+<A NAME="TOC59" HREF="bashref.html#SEC59">4. Shell Builtin Commands</A>
<BR>
-<A NAME="TOC65" HREF="bashref.html#SEC65">5. Shell Variables</A>
+<A NAME="TOC66" HREF="bashref.html#SEC66">5. Shell Variables</A>
<BR>
-<A NAME="TOC68" HREF="bashref.html#SEC68">6. Bash Features</A>
+<A NAME="TOC69" HREF="bashref.html#SEC69">6. Bash Features</A>
<BR>
-<A NAME="TOC91" HREF="bashref.html#SEC91">7. Job Control</A>
+<A NAME="TOC92" HREF="bashref.html#SEC92">7. Job Control</A>
<BR>
-<A NAME="TOC95" HREF="bashref.html#SEC95">8. Command Line Editing</A>
+<A NAME="TOC96" HREF="bashref.html#SEC96">8. Command Line Editing</A>
<BR>
-<A NAME="TOC119" HREF="bashref.html#SEC119">9. Using History Interactively</A>
+<A NAME="TOC120" HREF="bashref.html#SEC120">9. Using History Interactively</A>
<BR>
-<A NAME="TOC126" HREF="bashref.html#SEC126">10. Installing Bash</A>
+<A NAME="TOC127" HREF="bashref.html#SEC127">10. Installing Bash</A>
<BR>
-<A NAME="TOC135" HREF="bashref.html#SEC135">A. Reporting Bugs</A>
+<A NAME="TOC136" HREF="bashref.html#SEC136">A. Reporting Bugs</A>
<BR>
-<A NAME="TOC136" HREF="bashref.html#SEC136">B. Major Differences From The Bourne Shell</A>
+<A NAME="TOC137" HREF="bashref.html#SEC137">B. Major Differences From The Bourne Shell</A>
<BR>
-<A NAME="TOC138" HREF="bashref.html#SEC138">C. GNU Free Documentation License</A>
+<A NAME="TOC139" HREF="bashref.html#SEC139">C. GNU Free Documentation License</A>
<BR>
-<A NAME="TOC140" HREF="bashref.html#SEC140">D. Indexes</A>
+<A NAME="TOC141" HREF="bashref.html#SEC141">D. Indexes</A>
<BR>
</BLOCKQUOTE>
@@ -16051,11 +16376,11 @@ to permit their use in free software.
<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Top">Top</A>]</TD>
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_Contents">Contents</A>]</TD>
-<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC140">Index</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC141">Index</A>]</TD>
<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>December, 29 2009</I>
+This document was generated by <I>Chet Ramey</I> on <I>December, 28 2010</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -16217,7 +16542,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
-by <I>Chet Ramey</I> on <I>December, 29 2009</I>
+by <I>Chet Ramey</I> on <I>December, 28 2010</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
diff --git a/doc/bashref.info b/doc/bashref.info
index 189e58b..5db3503 100644
--- a/doc/bashref.info
+++ b/doc/bashref.info
@@ -2,12 +2,12 @@ This is bashref.info, produced by makeinfo version 4.13 from
/Users/chet/src/bash/src/doc/bashref.texi.
This text is a brief description of the features that are present in
-the Bash shell (version 4.1, 23 December 2009).
+the Bash shell (version 4.2, 28 December 2010).
- This is Edition 4.1, last updated 23 December 2009, of `The GNU Bash
-Reference Manual', for `Bash', Version 4.1.
+ This is Edition 4.2, last updated 28 December 2010, of `The GNU Bash
+Reference Manual', for `Bash', Version 4.2.
- Copyright (C) 1988-2009 Free Software Foundation, Inc.
+ Copyright (C) 1988-2010 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -38,10 +38,10 @@ Bash Features
*************
This text is a brief description of the features that are present in
-the Bash shell (version 4.1, 23 December 2009).
+the Bash shell (version 4.2, 28 December 2010).
- This is Edition 4.1, last updated 23 December 2009, of `The GNU Bash
-Reference Manual', for `Bash', Version 4.1.
+ This is Edition 4.2, last updated 28 December 2010, of `The GNU Bash
+Reference Manual', for `Bash', Version 4.2.
Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -477,6 +477,14 @@ decoded as follows:
the eight-bit character whose value is the hexadecimal value HH
(one or two hex digits)
+`\uHHHH'
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value HHHH (one to four hex digits)
+
+`\UHHHHHHHH'
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value HHHHHHHH (one to eight hex digits)
+
`\cX'
a control-X character
@@ -539,6 +547,7 @@ construct, or in some other grouping.
* Lists:: How to execute commands sequentially.
* Compound Commands:: Shell commands for control flow.
* Coprocesses:: Two-way communication between commands.
+* GNU Parallel:: Running commands in parallel.

File: bashref.info, Node: Simple Commands, Next: Pipelines, Up: Shell Commands
@@ -582,12 +591,20 @@ any redirections specified by the command.
the pipeline once it finishes. The statistics currently consist of
elapsed (wall-clock) time and user and system time consumed by the
command's execution. The `-p' option changes the output format to that
-specified by POSIX. The `TIMEFORMAT' variable may be set to a format
-string that specifies how the timing information should be displayed.
-*Note Bash Variables::, for a description of the available formats.
-The use of `time' as a reserved word permits the timing of shell
-builtins, shell functions, and pipelines. An external `time' command
-cannot time these easily.
+specified by POSIX. When the shell is in POSIX mode (*note Bash POSIX
+Mode::), it does not recognize `time' as a reserved word if the next
+token begins with a `-'. The `TIMEFORMAT' variable may be set to a
+format string that specifies how the timing information should be
+displayed. *Note Bash Variables::, for a description of the available
+formats. The use of `time' as a reserved word permits the timing of
+shell builtins, shell functions, and pipelines. An external `time'
+command cannot time these easily.
+
+ When the shell is in POSIX mode (*note Bash POSIX Mode::), `time'
+may be followed by a newline. In this case, the shell displays the
+total user and system time consumed by the shell and its children. The
+`TIMEFORMAT' variable may be used to specify the format of the time
+information.
If the pipeline is not executed asynchronously (*note Lists::), the
shell waits for all commands in the pipeline to complete.
@@ -723,7 +740,7 @@ syntax, it may be replaced with one or more newlines.
COMMANDS are executed and the arithmetic expression EXPR3 is
evaluated. If any expression is omitted, it behaves as if it
evaluates to 1. The return value is the exit status of the last
- command in LIST that is executed, or false if any of the
+ command in COMMANDS that is executed, or false if any of the
expressions is invalid.
@@ -859,7 +876,7 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
performed. Conditional operators such as `-f' must be unquoted to
be recognized as primaries.
- When used with `[[', The `<' and `>' operators sort
+ When used with `[[', the `<' and `>' operators sort
lexicographically using the current locale.
When the `==' and `!=' operators are used, the string to the right
@@ -948,7 +965,7 @@ they are not separated from the LIST by whitespace.
LIST.

-File: bashref.info, Node: Coprocesses, Prev: Compound Commands, Up: Shell Commands
+File: bashref.info, Node: Coprocesses, Next: GNU Parallel, Prev: Compound Commands, Up: Shell Commands
3.2.5 Coprocesses
-----------------
@@ -977,13 +994,72 @@ by the command (*note Redirections::). The file descriptors can be
utilized as arguments to shell commands and redirections using standard
word expansions.
- The process id of the shell spawned to execute the coprocess is
+ The process ID of the shell spawned to execute the coprocess is
available as the value of the variable NAME_PID. The `wait' builtin
command may be used to wait for the coprocess to terminate.
The return status of a coprocess is the exit status of COMMAND.

+File: bashref.info, Node: GNU Parallel, Prev: Coprocesses, Up: Shell Commands
+
+3.2.6 GNU Parallel
+------------------
+
+GNU Parallel, as its name suggests, can be used to build and run
+commands in parallel. You may run the same command with different
+arguments, whether they are filenames, usernames, hostnames, or lines
+read from files.
+
+ For a complete description, refer to the GNU Parallel documentation.
+A few examples should provide a brief introduction to its use.
+
+ For example, it is easy to prefix each line in a text file with a
+specified string:
+ cat file | parallel -k echo prefix_string
+ The `-k' option is required to preserve the lines' order.
+
+ Similarly, you can append a specified string to each line in a text
+file:
+ cat file | parallel -k echo {} append_string
+
+ You can use Parallel to move files from the current directory when
+the number of files is too large to process with one `mv' invocation:
+ ls | parallel mv {} destdir
+
+ As you can see, the {} is replaced with each line read from standard
+input. This will run as many `mv' commands as there are files in the
+current directory. You can emulate a parallel `xargs' by adding the
+`-X' option:
+ ls | parallel -X mv {} destdir
+
+ GNU Parallel can replace certain common idioms that operate on lines
+read from a file (in this case, filenames):
+ for x in $(cat list); do
+ do-something1 $x config-$x
+ do-something2 < $x
+ done | process-output
+
+with a more compact syntax reminiscent of lambdas:
+ cat list | parallel "do-something1 {} config-{} ; do-something2 < {}" | process-output
+
+ Parallel provides a built-in mechanism to remove filename
+extensions, which lends itself to batch file transformations or
+renaming:
+ ls *.gz | parallel -j+0 "zcat {} | bzip2 >{.}.bz2 && rm {}"
+ This will recompress all files in the current directory with names
+ending in .gz using bzip2, running one job per CPU (-j+0) in parallel.
+
+ If a command generates output, you may want to preserve the input
+order in the output. For instance, the following command
+ { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel traceroute
+ will display as output the traceroute invocation that finishes
+first. Using the `-k' option, as we saw above
+ { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | parallel -k traceroute
+ will ensure that the output of `traceroute foss.org.my' is displayed
+first.
+
+
File: bashref.info, Node: Shell Functions, Next: Shell Parameters, Prev: Shell Commands, Up: Basic Shell Features
3.3 Shell Functions
@@ -997,7 +1073,10 @@ executed. Shell functions are executed in the current shell context;
no new process is created to interpret them.
Functions are declared using this syntax:
- [ `function' ] NAME () COMPOUND-COMMAND [ REDIRECTIONS ]
+ NAME () COMPOUND-COMMAND [ REDIRECTIONS ]
+ or
+
+ `function' NAME [()] COMPOUND-COMMAND [ REDIRECTIONS ]
This defines a shell function named NAME. The reserved word
`function' is optional. If the `function' reserved word is supplied,
@@ -1043,6 +1122,10 @@ is not inherited unless the `-o errtrace' shell option has been enabled.
*Note Bourne Shell Builtins::, for the description of the `trap'
builtin.
+ The `FUNCNEST' variable, if set to a numeric value greater than 0,
+defines a maximum function nesting level. Function invocations that
+exceed the limit cause the entire command to abort.
+
If the builtin command `return' is executed in a function, the
function completes and execution resumes with the next command after
the function call. Any command associated with the `RETURN' trap is
@@ -1068,7 +1151,9 @@ variables with the same name may result in multiple identically-named
entries in the environment passed to the shell's children. Care should
be taken in cases where this may cause a problem.
- Functions may be recursive. No limit is placed on the number of
+ Functions may be recursive. The `FUNCNEST' variable may be used to
+limit the depth of the function call stack and restrict the number of
+function invocations. By default, no limit is placed on the number of
recursive calls.

@@ -1108,7 +1193,7 @@ and `local' builtin commands.
In the context where an assignment statement is assigning a value to
a shell variable or array index (*note Arrays::), the `+=' operator can
be used to append to or add to the variable's previous value. When
-`+=' is applied to a variable for which the integer attribute has been
+`+=' is applied to a variable for which the INTEGER attribute has been
set, VALUE is evaluated as an arithmetic expression and added to the
variable's current value, which is also evaluated. When `+=' is
applied to an array variable using compound assignment (*note
@@ -1411,9 +1496,9 @@ the variable formed from the rest of PARAMETER as the name of the
variable; this variable is then expanded and that value is used in the
rest of the substitution, rather than the value of PARAMETER itself.
This is known as `indirect expansion'. The exceptions to this are the
-expansions of ${!PREFIX*} and ${!NAME[@]} described below. The
-exclamation point must immediately follow the left brace in order to
-introduce indirection.
+expansions of ${!PREFIX
+} and ${!NAME[@]} described below. The exclamation point must
+immediately follow the left brace in order to introduce indirection.
In each of the cases below, WORD is subject to tilde expansion,
parameter expansion, command substitution, and arithmetic expansion.
@@ -1453,16 +1538,19 @@ omitted, the operator tests only for existence.
OFFSET. LENGTH and OFFSET are arithmetic expressions (*note Shell
Arithmetic::). This is referred to as Substring Expansion.
- LENGTH must evaluate to a number greater than or equal to zero.
If OFFSET evaluates to a number less than zero, the value is used
- as an offset from the end of the value of PARAMETER. If PARAMETER
- is `@', the result is LENGTH positional parameters beginning at
- OFFSET. If PARAMETER is an indexed array name subscripted by `@'
- or `*', the result is the LENGTH members of the array beginning
- with `${PARAMETER[OFFSET]}'. A negative OFFSET is taken relative
- to one greater than the maximum index of the specified array.
- Substring expansion applied to an associative array produces
- undefined results.
+ as an offset from the end of the value of PARAMETER. If LENGTH
+ evaluates to a number less than zero, and PARAMETER is not `@' and
+ not an indexed or associative array, it is interpreted as an
+ offset from the end of the value of PARAMETER rather than a number
+ of characters, and the expansion is the characters between the two
+ offsets. If PARAMETER is `@', the result is LENGTH positional
+ parameters beginning at OFFSET. If PARAMETER is an indexed array
+ name subscripted by `@' or `*', the result is the LENGTH members
+ of the array beginning with `${PARAMETER[OFFSET]}'. A negative
+ OFFSET is taken relative to one greater than the maximum index of
+ the specified array. Substring expansion applied to an
+ associative array produces undefined results.
Note that a negative offset must be separated from the colon by at
least one space to avoid being confused with the `:-' expansion.
@@ -2461,14 +2549,17 @@ standard.
greater than or equal to 1.
`cd'
- cd [-L|-P] [DIRECTORY]
+ cd [-L|[-P [-e]]] [DIRECTORY]
Change the current working directory to DIRECTORY. If DIRECTORY
is not given, the value of the `HOME' shell variable is used. If
the shell variable `CDPATH' exists, it is used as a search path.
If DIRECTORY begins with a slash, `CDPATH' is not used.
The `-P' option means to not follow symbolic links; symbolic links
- are followed by default or with the `-L' option. If DIRECTORY is
+ are followed by default or with the `-L' option. If the `-e'
+ option is supplied with `-P' and the current working directory
+ cannot be successfully determined after a successful directory
+ change, `cd' will return an unsuccessful status. If DIRECTORY is
`-', it is equivalent to `$OLDPWD'.
If a non-empty directory name from `CDPATH' is used, or if `-' is
@@ -2546,7 +2637,7 @@ standard.
When the end of options is encountered, `getopts' exits with a
return value greater than zero. `OPTIND' is set to the index of
- the first non-option argument, and `name' is set to `?'.
+ the first non-option argument, and NAME is set to `?'.
`getopts' normally parses the positional parameters, but if more
arguments are given in ARGS, `getopts' parses those instead.
@@ -2571,18 +2662,19 @@ standard.
`hash'
hash [-r] [-p FILENAME] [-dt] [NAME]
- Remember the full pathnames of commands specified as NAME
- arguments, so they need not be searched for on subsequent
- invocations. The commands are found by searching through the
- directories listed in `$PATH'. The `-p' option inhibits the path
- search, and FILENAME is used as the location of NAME. The `-r'
- option causes the shell to forget all remembered locations. The
- `-d' option causes the shell to forget the remembered location of
- each NAME. If the `-t' option is supplied, the full pathname to
- which each NAME corresponds is printed. If multiple NAME
- arguments are supplied with `-t' the NAME is printed before the
- hashed full pathname. The `-l' option causes output to be
- displayed in a format that may be reused as input. If no
+ Each time `hash' is invoked, it remembers the full pathnames of the
+ commands specified as NAME arguments, so they need not be searched
+ for on subsequent invocations. The commands are found by
+ searching through the directories listed in `$PATH'. Any
+ previously-remembered pathname is discarded. The `-p' option
+ inhibits the path search, and FILENAME is used as the location of
+ NAME. The `-r' option causes the shell to forget all remembered
+ locations. The `-d' option causes the shell to forget the
+ remembered location of each NAME. If the `-t' option is supplied,
+ the full pathname to which each NAME corresponds is printed. If
+ multiple NAME arguments are supplied with `-t' the NAME is printed
+ before the hashed full pathname. The `-l' option causes output to
+ be displayed in a format that may be reused as input. If no
arguments are given, or if only `-l' is supplied, information
about remembered commands is printed. The return status is zero
unless a NAME is not found or an invalid option is supplied.
@@ -2649,7 +2741,8 @@ standard.
Expressions may be combined using the following operators, listed
in decreasing order of precedence. The evaluation depends on the
- number of arguments; see below.
+ number of arguments; see below. Operator precedence is used when
+ there are five or more arguments.
`! EXPR'
True if EXPR is false.
@@ -2683,7 +2776,8 @@ standard.
unary operator, the expression is false.
3 arguments
- If the second argument is one of the binary conditional
+ The following conditions are applied in the order listed. If
+ the second argument is one of the binary conditional
operators (*note Bash Conditional Expressions::), the result
of the expression is the result of the binary test using the
first and third arguments as operands. The `-a' and `-o'
@@ -2705,6 +2799,9 @@ standard.
The expression is parsed and evaluated according to precedence
using the rules listed above.
+ When used with `test' or `[', the `<' and `>' operators sort
+ lexicographically using ASCII ordering.
+
`times'
times
Print out the user and system times used by the shell and its
@@ -2944,9 +3041,14 @@ POSIX standard.
the function name and attributes are printed. If the `extdebug'
shell option is enabled using `shopt' (*note The Shopt Builtin::),
the source file name and line number where the function is defined
- are displayed as well. `-F' implies `-f'. The following options
- can be used to restrict output to variables with the specified
- attributes or to give variables attributes:
+ are displayed as well. `-F' implies `-f'.
+
+ The `-g' option forces variables to be created or modified at the
+ global scope, even when \fBdeclare\fP is executed in a shell
+ function. It is ignored in all other cases.
+
+ The following options can be used to restrict output to variables
+ with the specified attributes or to give variables attributes:
`-a'
Each NAME is an indexed array variable (*note Arrays::).
@@ -2989,8 +3091,8 @@ POSIX standard.
exceptions that `+a' may not be used to destroy an array variable
and `+r' will not remove the readonly attribute. When used in a
function, `declare' makes each NAME local, as with the `local'
- command. If a variable name is followed by =VALUE, the value of
- the variable is set to VALUE.
+ command, unless the `-g' option is used. If a variable name is
+ followed by =VALUE, the value of the variable is set to VALUE.
The return status is zero unless an invalid option is encountered,
an attempt is made to define a function using `-f foo=bar', an
@@ -3026,6 +3128,7 @@ POSIX standard.
suppress further output
`\e'
+ `\E'
escape
`\f'
@@ -3054,6 +3157,14 @@ POSIX standard.
the eight-bit character whose value is the hexadecimal value
HH (one or two hex digits)
+ `\uHHHH'
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value HHHH (one to four hex digits)
+
+ `\UHHHHHHHH'
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value HHHHHHHH (one to eight hex digits)
+
`enable'
enable [-a] [-dnps] [-f FILENAME] [NAME ...]
Enable and disable builtin shell commands. Disabling a builtin
@@ -3158,9 +3269,9 @@ POSIX standard.
If `-C' is specified without `-c', the default quantum is 5000.
When CALLBACK is evaluated, it is supplied the index of the next
- array element to be assigned as an additional argument. CALLBACK
- is evaluated after the line is read but before the array element
- is assigned.
+ array element to be assigned and the line to be assigned to that
+ element as additional arguments. CALLBACK is evaluated after the
+ line is read but before the array element is assigned.
If not supplied with an explicit origin, `mapfile' will clear ARRAY
before assigning to it.
@@ -3172,21 +3283,41 @@ POSIX standard.
`printf'
printf [-v VAR] FORMAT [ARGUMENTS]
Write the formatted ARGUMENTS to the standard output under the
- control of the FORMAT. The FORMAT is a character string which
- contains three types of objects: plain characters, which are
- simply copied to standard output, character escape sequences,
- which are converted and copied to the standard output, and format
- specifications, each of which causes printing of the next
- successive ARGUMENT. In addition to the standard `printf(1)'
- formats, `%b' causes `printf' to expand backslash escape sequences
- in the corresponding ARGUMENT, (except that `\c' terminates
- output, backslashes in `\'', `\"', and `\?' are not removed, and
- octal escapes beginning with `\0' may contain up to four digits),
- and `%q' causes `printf' to output the corresponding ARGUMENT in a
- format that can be reused as shell input.
-
- The `-v' option causes the output to be assigned to the variable
- VAR rather than being printed to the standard output.
+ control of the FORMAT. The `-v' option causes the output to be
+ assigned to the variable VAR rather than being printed to the
+ standard output.
+
+ The FORMAT is a character string which contains three types of
+ objects: plain characters, which are simply copied to standard
+ output, character escape sequences, which are converted and copied
+ to the standard output, and format specifications, each of which
+ causes printing of the next successive ARGUMENT. In addition to
+ the standard `printf(1)' formats, `printf' interprets the
+ following extensions:
+
+ `%b'
+ causes `printf' to expand backslash escape sequences in the
+ corresponding ARGUMENT, (except that `\c' terminates output,
+ backslashes in `\'', `\"', and `\?' are not removed, and
+ octal escapes beginning with `\0' may contain up to four
+ digits).
+
+ `%q'
+ causes `printf' to output the corresponding ARGUMENT in a
+ format that can be reused as shell input.
+
+ `%(DATEFMT)T'
+ causes `printf' to output the date-time string resulting from
+ using DATEFMT as a format string for `strftime'(3). The
+ corresponding ARGUMENT is an integer representing the number
+ of seconds since the epoch. Two special argument values may
+ be used: -1 represents the current time, and -2 represents
+ the time the shell was invoked.
+
+ Arguments to non-string format specifiers are treated as C
+ language constants, except that a leading plus or minus sign is
+ allowed, and if the leading character is a single or double quote,
+ the value is the ASCII value of the following character.
The FORMAT is reused as necessary to consume all of the ARGUMENTS.
If the FORMAT requires more ARGUMENTS than are supplied, the extra
@@ -3386,7 +3517,8 @@ POSIX standard.
The maximum number of processes available to a single user.
`-v'
- The maximum amount of virtual memory available to the process.
+ The maximum amount of virtual memory available to the shell,
+ and, on some systems, to its children.
`-x'
The maximum number of file locks.
@@ -3441,8 +3573,8 @@ allows you to change the values of shell options and set the positional
parameters, or to display the names and values of shell variables.
`set'
- set [--abefhkmnptuvxBCEHPT] [-o OPTION] [ARGUMENT ...]
- set [+abefhkmnptuvxBCEHPT] [+o OPTION] [ARGUMENT ...]
+ set [--abefhkmnptuvxBCEHPT] [-o OPTION-NAME] [ARGUMENT ...]
+ set [+abefhkmnptuvxBCEHPT] [+o OPTION-NAME] [ARGUMENT ...]
If no options or arguments are supplied, `set' displays the names
and values of all shell variables and functions, sorted according
@@ -3784,9 +3916,31 @@ This builtin allows you to change additional shell optional behavior.
`compat31'
If set, Bash changes its behavior to that of version 3.1 with
- respect to quoted arguments to the conditional command's =~
+ respect to quoted arguments to the conditional command's `=~'
operator.
+ `compat32'
+ If set, Bash changes its behavior to that of version 3.2 with
+ respect to locale-specific string comparison when using the
+ `[[' conditional command's `<' and `>' operators. Bash
+ versions prior to bash-4.0 use ASCII collation and strcmp(3);
+ bash-4.1 and later use the current locale's collation
+ sequence and strcoll(3).
+
+ `compat40'
+ If set, Bash changes its behavior to that of version 4.0 with
+ respect to locale-specific string comparison when using the
+ `[[' conditional command's `<' and `>' operators (see
+ previous item) and the effect of interrupting a command list.
+
+ `compat41'
+ If set, Bash, when in posix mode, treats a single quote in a
+ double-quoted parameter expansion as a special character.
+ The single quotes must match (an even number) and the
+ characters between the single quotes are considered quoted.
+ This is the behavior of POSIX mode through version 4.1. The
+ default Bash behavior remains as in previous versions.
+
`dirspell'
If set, Bash attempts spelling correction on directory names
during word completion if the directory name initially
@@ -3833,7 +3987,7 @@ This builtin allows you to change additional shell optional behavior.
6. Error tracing is enabled: command substitution, shell
functions, and subshells invoked with `( COMMAND )'
- inherit the `ERROR' trap.
+ inherit the `ERR' trap.
`extglob'
If set, the extended pattern matching features described above
@@ -3895,6 +4049,11 @@ This builtin allows you to change additional shell optional behavior.
remaining characters on that line to be ignored in an
interactive shell. This option is enabled by default.
+ `lastpipe'
+ If set, and job control is not active, the shell runs the
+ last command of a pipeline not executed in the background in
+ the current shell environment.
+
`lithist'
If enabled, and the `cmdhist' option is enabled, multi-line
commands are saved to the history with embedded newlines
@@ -4032,9 +4191,9 @@ In some cases, Bash assigns a default value to the variable.
splits words as part of expansion.
`MAIL'
- If this parameter is set to a filename and the `MAILPATH' variable
- is not set, Bash informs the user of the arrival of mail in the
- specified file.
+ If this parameter is set to a filename or directory name and the
+ `MAILPATH' variable is not set, Bash informs the user of the
+ arrival of mail in the specified file or Maildir-format directory.
`MAILPATH'
A colon-separated list of filenames which the shell periodically
@@ -4092,13 +4251,13 @@ Variables::).
startup files. This variable is readonly.
`BASHPID'
- Expands to the process id of the current Bash process. This
+ Expands to the process ID of the current Bash process. This
differs from `$$' under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
`BASH_ALIASES'
An associative array variable whose members correspond to the
- internal list of aliases as maintained by the `alias' builtin
+ internal list of aliases as maintained by the `alias' builtin.
(*note Bourne Shell Builtins::). Elements added to this array
appear in the alias list; unsetting array elements cause aliases
to be removed from the alias list.
@@ -4146,12 +4305,11 @@ Variables::).
`BASH_LINENO'
An array variable whose members are the line numbers in source
- files corresponding to each member of FUNCNAME.
- `${BASH_LINENO[$i]}' is the line number in the source file where
- `${FUNCNAME[$i]}' was called (or `${BASH_LINENO[$i-1]}' if
- referenced within another shell function). The corresponding
- source file name is `${BASH_SOURCE[$i]}'. Use `LINENO' to obtain
- the current line number.
+ files where each corresponding member of FUNCNAME was invoked.
+ `${BASH_LINENO[$i]}' is the line number in the source file
+ (`${BASH_SOURCE[$i+1]}') where `${FUNCNAME[$i]}' was called (or
+ `${BASH_LINENO[$i-1]}' if referenced within another shell
+ function). Use `LINENO' to obtain the current line number.
`BASH_REMATCH'
An array variable whose members are assigned by the `=~' binary
@@ -4162,8 +4320,11 @@ Variables::).
parenthesized subexpression. This variable is read-only.
`BASH_SOURCE'
- An array variable whose members are the source filenames
- corresponding to the elements in the `FUNCNAME' array variable.
+ An array variable whose members are the source filenames where the
+ corresponding shell function names in the `FUNCNAME' array
+ variable are defined. The shell function `${FUNCNAME[$i]}' is
+ defined in the file `${BASH_SOURCE[$i]}' and called from
+ `${BASH_SOURCE[$i+1]}'
`BASH_SUBSHELL'
Incremented by one each time a subshell or subshell environment is
@@ -4208,9 +4369,9 @@ Variables::).
unsetting it will result in the standard error being closed.
`COLUMNS'
- Used by the `select' builtin command to determine the terminal
- width when printing selection lists. Automatically set upon
- receipt of a `SIGWINCH'.
+ Used by the `select' command to determine the terminal width when
+ printing selection lists. Automatically set upon receipt of a
+ `SIGWINCH'.
`COMP_CWORD'
An index into `${COMP_WORDS}' of the word containing the current
@@ -4264,6 +4425,10 @@ Variables::).
generated by a shell function invoked by the programmable
completion facility (*note Programmable Completion::).
+`COPROC'
+ An array variable created to hold the file descriptors for output
+ from and input to an unnamed coprocess (*note Coprocesses::).
+
`DIRSTACK'
An array variable containing the current contents of the directory
stack. Directories appear in the stack in the order they are
@@ -4277,7 +4442,11 @@ Variables::).
`EMACS'
If Bash finds this variable in the environment when the shell
starts with value `t', it assumes that the shell is running in an
- emacs shell buffer and disables line editing.
+ Emacs shell buffer and disables line editing.
+
+`ENV'
+ Similar to `BASH_ENV'; used when the shell is invoked in POSIX
+ Mode (*note Bash POSIX Mode::).
`EUID'
The numeric effective user id of the current user. This variable
@@ -4297,10 +4466,24 @@ Variables::).
An array variable containing the names of all shell functions
currently in the execution call stack. The element with index 0
is the name of any currently-executing shell function. The
- bottom-most element is `"main"'. This variable exists only when a
- shell function is executing. Assignments to `FUNCNAME' have no
- effect and return an error status. If `FUNCNAME' is unset, it
- loses its special properties, even if it is subsequently reset.
+ bottom-most element (the one with the highest index) is `"main"'.
+ This variable exists only when a shell function is executing.
+ Assignments to `FUNCNAME' have no effect and return an error
+ status. If `FUNCNAME' is unset, it loses its special properties,
+ even if it is subsequently reset.
+
+ This variable can be used with `BASH_LINENO' and `BASH_SOURCE'.
+ Each element of `FUNCNAME' has corresponding elements in
+ `BASH_LINENO' and `BASH_SOURCE' to describe the call stack. For
+ instance, `${FUNCNAME[$i]}' was called from the file
+ `${BASH_SOURCE[$i+1]}' at line number `${BASH_LINENO[$i]}'. The
+ `caller' builtin displays the current call stack using this
+ information.
+
+`FUNCNEST'
+ If set to a numeric value greater than 0, defines a maximum
+ function nesting level. Function invocations that exceed this
+ nesting level will cause the current command to abort.
`GLOBIGNORE'
A colon-separated list of patterns defining the set of filenames to
@@ -4458,8 +4641,8 @@ Variables::).
executing.
`LINES'
- Used by the `select' builtin command to determine the column length
- for printing selection lists. Automatically set upon receipt of a
+ Used by the `select' command to determine the column length for
+ printing selection lists. Automatically set upon receipt of a
`SIGWINCH'.
`MACHTYPE'
@@ -4474,6 +4657,10 @@ Variables::).
variable is unset, or set to a value that is not a number greater
than or equal to zero, the shell disables mail checking.
+`MAPFILE'
+ An array variable created to hold the text read by the `mapfile'
+ builtin when no variable name is supplied.
+
`OLDPWD'
The previous working directory as set by the `cd' builtin.
@@ -4531,6 +4718,14 @@ Variables::).
and 32767 is generated. Assigning a value to this variable seeds
the random number generator.
+`READLINE_LINE'
+ The contents of the Readline line buffer, for use with `bind -x'
+ (*note Bash Builtins::).
+
+`READLINE_POINT'
+ The position of the insertion point in the Readline line buffer,
+ for use with `bind -x' (*note Bash Builtins::).
+
`REPLY'
The default variable for the `read' builtin.
@@ -4653,17 +4848,17 @@ File: bashref.info, Node: Invoking Bash, Next: Bash Startup Files, Up: Bash F
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] -c STRING [ARGUMENT ...]
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o OPTION] [-O SHOPT_OPTION] [ARGUMENT ...]
- In addition to the single-character shell command-line options
-(*note The Set Builtin::), there are several multi-character options
-that you can use. These options must appear on the command line before
-the single-character options to be recognized.
+ All of the single-character options used with the `set' builtin
+(*note The Set Builtin::) can be used as options when the shell is
+invoked. In addition, there are several multi-character options that
+you can use. These options must appear on the command line before the
+single-character options to be recognized.
`--debugger'
Arrange for the debugger profile to be executed before the shell
starts. Turns on extended debugging mode (see *note The Shopt
Builtin:: for a description of the `extdebug' option to the `shopt'
- builtin) and shell function tracing (see *note The Set Builtin::
- for a description of the `-o functrace' option).
+ builtin).
`--dump-po-strings'
A list of all double-quoted strings preceded by `$' is printed on
@@ -4877,14 +5072,14 @@ Invoked by remote shell daemon
..............................
Bash attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell daemon,
-usually `rshd', or the secure shell daemon `sshd'. If Bash determines
-it is being run in this fashion, it reads and executes commands from
-`~/.bashrc', if that file exists and is readable. It will not do this
-if invoked as `sh'. The `--norc' option may be used to inhibit this
-behavior, and the `--rcfile' option may be used to force another file
-to be read, but `rshd' does not generally invoke the shell with those
-options or allow them to be specified.
+connected to a network connection, as when executed by the remote shell
+daemon, usually `rshd', or the secure shell daemon `sshd'. If Bash
+determines it is being run in this fashion, it reads and executes
+commands from `~/.bashrc', if that file exists and is readable. It
+will not do this if invoked as `sh'. The `--norc' option may be used
+to inhibit this behavior, and the `--rcfile' option may be used to
+force another file to be read, but `rshd' does not generally invoke the
+shell with those options or allow them to be specified.
Invoked with unequal effective and real UID/GIDs
................................................
@@ -5050,8 +5245,9 @@ checked. If the FILE argument to one of the primaries is one of
`/dev/stdin', `/dev/stdout', or `/dev/stderr', file descriptor 0, 1, or
2, respectively, is checked.
- When used with `[[', The `<' and `>' operators sort
-lexicographically using the current locale.
+ When used with `[[', the `<' and `>' operators sort
+lexicographically using the current locale. The `test' command uses
+ASCII ordering.
Unless otherwise specified, primaries that operate on files follow
symbolic links and operate on the target of the link, rather than the
@@ -5105,20 +5301,23 @@ link itself.
`-x FILE'
True if FILE exists and is executable.
-`-O FILE'
- True if FILE exists and is owned by the effective user id.
-
`-G FILE'
True if FILE exists and is owned by the effective group id.
`-L FILE'
True if FILE exists and is a symbolic link.
+`-N FILE'
+ True if FILE exists and has been modified since it was last read.
+
+`-O FILE'
+ True if FILE exists and is owned by the effective user id.
+
`-S FILE'
True if FILE exists and is a socket.
-`-N FILE'
- True if FILE exists and has been modified since it was last read.
+`FILE1 -ef FILE2'
+ True if FILE1 and FILE2 refer to the same device and inode numbers.
`FILE1 -nt FILE2'
True if FILE1 is newer (according to modification date) than
@@ -5128,14 +5327,15 @@ link itself.
True if FILE1 is older than FILE2, or if FILE2 exists and FILE1
does not.
-`FILE1 -ef FILE2'
- True if FILE1 and FILE2 refer to the same device and inode numbers.
-
`-o OPTNAME'
- True if shell option OPTNAME is enabled. The list of options
+ True if the shell option OPTNAME is enabled. The list of options
appears in the description of the `-o' option to the `set' builtin
(*note The Set Builtin::).
+`-v VARNAME'
+ True if the shell variable VARNAME is set (has been assigned a
+ value).
+
`-z STRING'
True if the length of STRING is zero.
@@ -5245,17 +5445,17 @@ expansion syntax. The value of a variable is evaluated as an
arithmetic expression when it is referenced, or when a variable which
has been given the INTEGER attribute using `declare -i' is assigned a
value. A null value evaluates to 0. A shell variable need not have
-its integer attribute turned on to be used in an expression.
+its INTEGER attribute turned on to be used in an expression.
Constants with a leading 0 are interpreted as octal numbers. A
leading `0x' or `0X' denotes hexadecimal. Otherwise, numbers take the
-form [BASE`#']N, where BASE is a decimal number between 2 and 64
-representing the arithmetic base, and N is a number in that base. If
-BASE`#' is omitted, then base 10 is used. The digits greater than 9
-are represented by the lowercase letters, the uppercase letters, `@',
-and `_', in that order. If BASE is less than or equal to 36, lowercase
-and uppercase letters may be used interchangeably to represent numbers
-between 10 and 35.
+form [BASE`#']N, where the optional BASE is a decimal number between 2
+and 64 representing the arithmetic base, and N is a number in that
+base. If BASE`#' is omitted, then base 10 is used. The digits greater
+than 9 are represented by the lowercase letters, the uppercase letters,
+`@', and `_', in that order. If BASE is less than or equal to 36,
+lowercase and uppercase letters may be used interchangeably to
+represent numbers between 10 and 35.
Operators are evaluated in order of precedence. Sub-expressions in
parentheses are evaluated first and may override the precedence rules
@@ -5332,8 +5532,10 @@ assigned to using the syntax
name[SUBSCRIPT]=VALUE
The SUBSCRIPT is treated as an arithmetic expression that must evaluate
-to a number greater than or equal to zero. To explicitly declare an
-array, use
+to a number. If SUBSCRIPT evaluates to a number less than zero, it is
+used as an offset from one greater than the array's maximum index (so a
+subcript of -1 refers to the last element of the array). To explicitly
+declare an array, use
declare -a NAME
The syntax
declare -a NAME[SUBSCRIPT]
@@ -5723,116 +5925,129 @@ startup files.
13. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
- 14. Redirection operators do not perform filename expansion on the word
+ 14. Non-interactive shells exit if there is a syntax error in a script
+ read with the `.' or `source' builtins, or in a string processed by
+ the `eval' builtin.
+
+ 15. Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
- 15. Redirection operators do not perform word splitting on the word in
+ 16. Redirection operators do not perform word splitting on the word in
the redirection.
- 16. Function names must be valid shell `name's. That is, they may not
+ 17. Function names must be valid shell `name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
- 17. POSIX special builtins are found before shell functions during
+ 18. POSIX special builtins are found before shell functions during
command lookup.
- 18. If a POSIX special builtin returns an error status, a
+ 19. The `time' reserved word may be used by itself as a command. When
+ used in this way, it displays timing statistics for the shell and
+ its completed children. The `TIMEFORMAT' variable controls the
+ format of the timing information.
+
+ 20. When parsing and expanding a ${...} expansion that appears within
+ double quotes, single quotes are no longer special and cannot be
+ used to quote a closing brace or other special character, unless
+ the operator is one of those defined to perform pattern removal.
+ In this case, they do not have to appear as matched pairs.
+
+ 21. The parser does not recognize `time' as a reserved word if the next
+ token begins with a `-'.
+
+ 22. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
- 19. If `CDPATH' is set, the `cd' builtin will not implicitly append
- the current directory to it. This means that `cd' will fail if no
- valid directory name can be constructed from any of the entries in
- `$CDPATH', even if the a directory with the same name as the name
- given as an argument to `cd' exists in the current directory.
-
- 20. A non-interactive shell exits with an error status if a variable
+ 23. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
- 21. A non-interactive shell exits with an error status if the iteration
+ 24. A non-interactive shell exists with an error status if a variable
+ assignment error occurs in an assignment statement preceding a
+ special builtin, but not with any other simple command.
+
+ 25. A non-interactive shell exits with an error status if the iteration
variable in a `for' statement or the selection variable in a
`select' statement is a readonly variable.
- 22. Process substitution is not available.
+ 26. Process substitution is not available.
- 23. Assignment statements preceding POSIX special builtins persist in
+ 27. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
- 24. Assignment statements preceding shell function calls persist in the
+ 28. Assignment statements preceding shell function calls persist in the
shell environment after the function returns, as if a POSIX
special builtin command had been executed.
- 25. The `export' and `readonly' builtin commands display their output
+ 29. The `export' and `readonly' builtin commands display their output
in the format required by POSIX.
- 26. The `trap' builtin displays signal names without the leading `SIG'.
+ 30. The `trap' builtin displays signal names without the leading `SIG'.
- 27. The `trap' builtin doesn't check the first argument for a possible
+ 31. The `trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they
should use `-' as the first argument.
- 28. The `.' and `source' builtins do not search the current directory
+ 32. The `.' and `source' builtins do not search the current directory
for the filename argument if it is not found by searching `PATH'.
- 29. Subshells spawned to execute command substitutions inherit the
+ 33. Subshells spawned to execute command substitutions inherit the
value of the `-e' option from the parent shell. When not in POSIX
mode, Bash clears the `-e' option in such subshells.
- 30. Alias expansion is always enabled, even in non-interactive shells.
+ 34. Alias expansion is always enabled, even in non-interactive shells.
- 31. When the `alias' builtin displays alias definitions, it does not
+ 35. When the `alias' builtin displays alias definitions, it does not
display them with a leading `alias ' unless the `-p' option is
supplied.
- 32. When the `set' builtin is invoked without options, it does not
+ 36. When the `set' builtin is invoked without options, it does not
display shell function names and definitions.
- 33. When the `set' builtin is invoked without options, it displays
+ 37. When the `set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
- 34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
+ 38. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from `$PWD' and the directory name supplied as an
argument does not refer to an existing directory, `cd' will fail
instead of falling back to PHYSICAL mode.
- 35. When the `pwd' builtin is supplied the `-P' option, it resets
- `$PWD' to a pathname containing no symlinks.
-
- 36. The `pwd' builtin verifies that the value it prints is the same as
+ 39. The `pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the `-P' option.
- 37. When listing the history, the `fc' builtin does not include an
+ 40. When listing the history, the `fc' builtin does not include an
indication of whether or not a history entry has been modified.
- 38. The default editor used by `fc' is `ed'.
+ 41. The default editor used by `fc' is `ed'.
- 39. The `type' and `command' builtins will not report a non-executable
+ 42. The `type' and `command' builtins will not report a non-executable
file as having been found, though the shell will attempt to
execute such a file if it is the only so-named file found in
`$PATH'.
- 40. The `vi' editing mode will invoke the `vi' editor directly when
+ 43. The `vi' editing mode will invoke the `vi' editor directly when
the `v' command is run, instead of checking `$VISUAL' and
`$EDITOR'.
- 41. When the `xpg_echo' option is enabled, Bash does not attempt to
+ 44. When the `xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to `echo' as options. Each argument is
displayed, after escape characters are converted.
- 42. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
+ 45. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
and `-f' options.
- 43. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
+ 46. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
interrupt the `wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
@@ -6097,7 +6312,7 @@ Command line editing is enabled by default when using an interactive
shell, unless the `--noediting' option is supplied at shell invocation.
Line editing is also used when using the `-e' option to the `read'
builtin command (*note Bash Builtins::). By default, the line editing
-commands are similar to those of emacs. A vi-style line editing
+commands are similar to those of Emacs. A vi-style line editing
interface is also available. Line editing can be enabled at any time
using the `-o emacs' or `-o vi' options to the `set' builtin command
(*note The Set Builtin::), or disabled using the `+o emacs' or `+o vi'
@@ -6457,11 +6672,24 @@ Variable Settings
`insert-comment' command is executed. The default value is
`"#"'.
+ `completion-display-width'
+ The number of screen columns used to display possible matches
+ when performing completion. The value is ignored if it is
+ less than 0 or greater than the terminal screen width. A
+ value of 0 will cause matches to be displayed one per line.
+ The default value is -1.
+
`completion-ignore-case'
If set to `on', Readline performs filename matching and
completion in a case-insensitive fashion. The default value
is `off'.
+ `completion-map-case'
+ If set to `on', and COMPLETION-IGNORE-CASE is enabled,
+ Readline treats hyphens (`-') and underscores (`_') as
+ equivalent when performing case-insensitive filename matching
+ and completion.
+
`completion-prefix-display-length'
The length in characters of the common prefix of a list of
possible completions that is displayed without modification.
@@ -6574,9 +6802,14 @@ Variable Settings
`match-hidden-files'
This variable, when set to `on', causes Readline to match
files whose names begin with a `.' (hidden files) when
- performing filename completion, unless the leading `.' is
- supplied by the user in the filename to be completed. This
- variable is `on' by default.
+ performing filename completion. If set to `off', the leading
+ `.' must be supplied by the user in the filename to be
+ completed. This variable is `on' by default.
+
+ `menu-complete-display-prefix'
+ If set to `on', menu completion displays the common prefix of
+ the list of possible completions (which may be empty) before
+ cycling through the list. The default is `off'.
`output-meta'
If set to `on', Readline will display characters with the
@@ -7062,11 +7295,16 @@ File: bashref.info, Node: Commands For History, Next: Commands For Text, Prev
`yank-last-arg (M-. or M-_)'
Insert last argument to the previous command (the last word of the
- previous history entry). With an argument, behave exactly like
- `yank-nth-arg'. Successive calls to `yank-last-arg' 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 had been specified.
+ previous history entry). With a numeric argument, behave exactly
+ like `yank-nth-arg'. Successive calls to `yank-last-arg' move
+ back through the history list, inserting the last word (or the
+ word specified by the argument to the first call) of each line in
+ turn. Any numeric argument supplied to these successive calls
+ determines the direction to move through the history. A negative
+ argument switches the direction through the history (back or
+ forward). The history expansion facilities are used to extract
+ the last argument, as if the `!$' history expansion had been
+ specified.

@@ -7167,7 +7405,7 @@ File: bashref.info, Node: Commands For Killing, Next: Numeric Arguments, Prev
words, to the end of the next word. Word boundaries are the same
as `shell-forward-word'.
-`backward-kill-word ()'
+`shell-backward-kill-word ()'
Kill the word behind point. Word boundaries are the same as
`shell-backward-word'.
@@ -7248,7 +7486,11 @@ File: bashref.info, Node: Commands For Completion, Next: Keyboard Macros, Pre
completion is attempted.
`possible-completions (M-?)'
- List the possible completions of the text before point.
+ List the possible completions of the text before point. When
+ displaying completions, Readline sets the number of columns used
+ for display to the value of `completion-display-width', the value
+ of the environment variable `COLUMNS', or the screen width, in
+ that order.
`insert-completions (M-*)'
Insert all completions of the text before point that would have
@@ -7504,8 +7746,7 @@ File: bashref.info, Node: Readline vi Mode, Next: Programmable Completion, Pr
While the Readline library does not have a full set of `vi' editing
functions, it does contain enough to allow simple editing of the line.
-The Readline `vi' mode behaves as specified in the POSIX 1003.2
-standard.
+The Readline `vi' mode behaves as specified in the POSIX standard.
In order to switch interactively between `emacs' and `vi' editing
modes, use the `set -o emacs' and `set -o vi' commands (*note The Set
@@ -7636,7 +7877,7 @@ exit status of 124. If a shell function returns 124, and changes the
compspec associated with the command on which completion is being
attempted (supplied as the first argument when the function is
executed), programmable completion restarts from the beginning, with an
-attempt to find a compspec for that command. This allows a set of
+attempt to find a new compspec for that command. This allows a set of
completions to be built dynamically as completion is attempted, rather
than being loaded all at once.
@@ -7825,16 +8066,6 @@ completion facilities.
Names of all shell variables. May also be specified as
`-v'.
- `-G GLOBPAT'
- The filename expansion pattern GLOBPAT is expanded to generate
- the possible completions.
-
- `-W WORDLIST'
- The WORDLIST is split using the characters in the `IFS'
- 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 completed.
-
`-C COMMAND'
COMMAND is executed in a subshell environment, and its output
is used as the possible completions.
@@ -7844,13 +8075,9 @@ completion facilities.
environment. When it finishes, the possible completions are
retrieved from the value of the `COMPREPLY' array variable.
- `-X FILTERPAT'
- FILTERPAT is a pattern as used for filename expansion. It is
- applied to the list of possible completions generated by the
- preceding options and arguments, and each completion matching
- FILTERPAT is removed from the list. A leading `!' in
- FILTERPAT negates the pattern; in this case, any completion
- not matching FILTERPAT is removed.
+ `-G GLOBPAT'
+ The filename expansion pattern GLOBPAT is expanded to generate
+ the possible completions.
`-P PREFIX'
PREFIX is added at the beginning of each possible completion
@@ -7860,6 +8087,20 @@ completion facilities.
SUFFIX is appended to each possible completion after all
other options have been applied.
+ `-W WORDLIST'
+ The WORDLIST is split using the characters in the `IFS'
+ 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 completed.
+
+ `-X FILTERPAT'
+ FILTERPAT is a pattern as used for filename expansion. It is
+ applied to the list of possible completions generated by the
+ preceding options and arguments, and each completion matching
+ FILTERPAT is removed from the list. A leading `!' in
+ FILTERPAT negates the pattern; in this case, any completion
+ not matching FILTERPAT is removed.
+
The return value is true unless an invalid option is supplied, an
option other than `-p' or `-r' is supplied without a NAME
argument, an attempt is made to remove a completion specification
@@ -7869,7 +8110,7 @@ completion facilities.
`compopt'
`compopt' [-o OPTION] [-DE] [+o OPTION] [NAME]
Modify completion options for each NAME according to the OPTIONs,
- or for the currently-execution completion if no NAMEs are supplied.
+ or for the currently-executing completion if no NAMEs are supplied.
If no OPTIONs are given, display the completion options for each
NAME or the current completion. The possible values of OPTION are
those valid for the `complete' builtin described above. The `-D'
@@ -8114,7 +8355,8 @@ File: bashref.info, Node: Event Designators, Next: Word Designators, Up: Hist
-----------------------
An event designator is a reference to a command line entry in the
-history list.
+history list. Unless the reference is absolute, events are relative to
+the current position in the history list.
`!'
Start a history substitution, except when followed by a space, tab,
@@ -8131,12 +8373,13 @@ history list.
Refer to the previous command. This is a synonym for `!-1'.
`!STRING'
- Refer to the most recent command starting with STRING.
+ Refer to the most recent command preceding the current position in
+ the history list starting with STRING.
`!?STRING[?]'
- Refer to the most recent command containing STRING. The trailing
- `?' may be omitted if the STRING is followed immediately by a
- newline.
+ Refer to the most recent command preceding the current position in
+ the history list containing STRING. The trailing `?' may be
+ omitted if the STRING is followed immediately by a newline.
`^STRING1^STRING2^'
Quick Substitution. Repeat the last command, replacing STRING1
@@ -8692,8 +8935,8 @@ does not provide the necessary support.
The Restricted Shell::, for a description of restricted mode.
`--enable-select'
- Include the `select' builtin, which allows the generation of simple
- menus (*note Conditional Constructs::).
+ Include the `select' compound command, which allows the generation
+ of simple menus (*note Conditional Constructs::).
`--enable-separate-helpfiles'
Use external files for the documentation displayed by the `help'
@@ -9641,7 +9884,7 @@ D.1 Index of Shell Builtin Commands
* :: Bourne Shell Builtins.
(line 11)
* [: Bourne Shell Builtins.
- (line 213)
+ (line 217)
* alias: Bash Builtins. (line 11)
* bg: Job Control Builtins.
(line 7)
@@ -9660,75 +9903,75 @@ D.1 Index of Shell Builtin Commands
* compopt: Programmable Completion Builtins.
(line 217)
* continue: Bourne Shell Builtins.
- (line 55)
+ (line 58)
* declare: Bash Builtins. (line 142)
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 83)
-* echo: Bash Builtins. (line 221)
-* enable: Bash Builtins. (line 273)
+* echo: Bash Builtins. (line 226)
+* enable: Bash Builtins. (line 287)
* eval: Bourne Shell Builtins.
- (line 63)
+ (line 66)
* exec: Bourne Shell Builtins.
- (line 70)
+ (line 73)
* exit: Bourne Shell Builtins.
- (line 82)
+ (line 85)
* export: Bourne Shell Builtins.
- (line 88)
+ (line 91)
* fc: Bash History Builtins.
(line 10)
* fg: Job Control Builtins.
(line 16)
* getopts: Bourne Shell Builtins.
- (line 103)
+ (line 106)
* hash: Bourne Shell Builtins.
- (line 145)
-* help: Bash Builtins. (line 301)
+ (line 148)
+* help: Bash Builtins. (line 315)
* history: Bash History Builtins.
(line 39)
* jobs: Job Control Builtins.
(line 25)
* kill: Job Control Builtins.
(line 57)
-* let: Bash Builtins. (line 321)
-* local: Bash Builtins. (line 328)
-* logout: Bash Builtins. (line 338)
-* mapfile: Bash Builtins. (line 342)
+* let: Bash Builtins. (line 335)
+* local: Bash Builtins. (line 342)
+* logout: Bash Builtins. (line 352)
+* mapfile: Bash Builtins. (line 356)
* popd: Directory Stack Builtins.
(line 37)
-* printf: Bash Builtins. (line 388)
+* printf: Bash Builtins. (line 402)
* pushd: Directory Stack Builtins.
(line 58)
* pwd: Bourne Shell Builtins.
- (line 163)
-* read: Bash Builtins. (line 413)
-* readarray: Bash Builtins. (line 493)
+ (line 167)
+* read: Bash Builtins. (line 447)
+* readarray: Bash Builtins. (line 527)
* readonly: Bourne Shell Builtins.
- (line 172)
+ (line 176)
* return: Bourne Shell Builtins.
- (line 188)
+ (line 192)
* set: The Set Builtin. (line 11)
* shift: Bourne Shell Builtins.
- (line 201)
+ (line 205)
* shopt: The Shopt Builtin. (line 9)
-* source: Bash Builtins. (line 501)
+* source: Bash Builtins. (line 535)
* suspend: Job Control Builtins.
(line 94)
* test: Bourne Shell Builtins.
- (line 213)
+ (line 217)
* times: Bourne Shell Builtins.
- (line 281)
+ (line 290)
* trap: Bourne Shell Builtins.
- (line 286)
-* type: Bash Builtins. (line 505)
-* typeset: Bash Builtins. (line 536)
-* ulimit: Bash Builtins. (line 542)
+ (line 295)
+* type: Bash Builtins. (line 539)
+* typeset: Bash Builtins. (line 570)
+* ulimit: Bash Builtins. (line 576)
* umask: Bourne Shell Builtins.
- (line 332)
-* unalias: Bash Builtins. (line 630)
+ (line 341)
+* unalias: Bash Builtins. (line 665)
* unset: Bourne Shell Builtins.
- (line 349)
+ (line 358)
* wait: Job Control Builtins.
(line 73)
@@ -9803,12 +10046,12 @@ D.3 Parameter and Variable Index
* BASH_ENV: Bash Variables. (line 69)
* BASH_EXECUTION_STRING: Bash Variables. (line 75)
* BASH_LINENO: Bash Variables. (line 78)
-* BASH_REMATCH: Bash Variables. (line 87)
-* BASH_SOURCE: Bash Variables. (line 95)
-* BASH_SUBSHELL: Bash Variables. (line 99)
-* BASH_VERSINFO: Bash Variables. (line 103)
-* BASH_VERSION: Bash Variables. (line 127)
-* BASH_XTRACEFD: Bash Variables. (line 130)
+* BASH_REMATCH: Bash Variables. (line 86)
+* BASH_SOURCE: Bash Variables. (line 94)
+* BASH_SUBSHELL: Bash Variables. (line 101)
+* BASH_VERSINFO: Bash Variables. (line 105)
+* BASH_VERSION: Bash Variables. (line 129)
+* BASH_XTRACEFD: Bash Variables. (line 132)
* BASHOPTS: Bash Variables. (line 16)
* BASHPID: Bash Variables. (line 25)
* bell-style: Readline Init File Syntax.
@@ -9817,138 +10060,152 @@ D.3 Parameter and Variable Index
(line 45)
* CDPATH: Bourne Shell Variables.
(line 9)
-* COLUMNS: Bash Variables. (line 141)
+* COLUMNS: Bash Variables. (line 143)
* comment-begin: Readline Init File Syntax.
(line 50)
-* COMP_CWORD: Bash Variables. (line 146)
-* COMP_KEY: Bash Variables. (line 175)
-* COMP_LINE: Bash Variables. (line 152)
-* COMP_POINT: Bash Variables. (line 157)
-* COMP_TYPE: Bash Variables. (line 165)
-* COMP_WORDBREAKS: Bash Variables. (line 179)
-* COMP_WORDS: Bash Variables. (line 185)
+* COMP_CWORD: Bash Variables. (line 148)
+* COMP_KEY: Bash Variables. (line 177)
+* COMP_LINE: Bash Variables. (line 154)
+* COMP_POINT: Bash Variables. (line 159)
+* COMP_TYPE: Bash Variables. (line 167)
+* COMP_WORDBREAKS: Bash Variables. (line 181)
+* COMP_WORDS: Bash Variables. (line 187)
+* completion-display-width: Readline Init File Syntax.
+ (line 55)
+* completion-ignore-case: Readline Init File Syntax.
+ (line 62)
+* completion-map-case: Readline Init File Syntax.
+ (line 67)
* completion-prefix-display-length: Readline Init File Syntax.
- (line 60)
+ (line 73)
* completion-query-items: Readline Init File Syntax.
- (line 67)
-* COMPREPLY: Bash Variables. (line 193)
+ (line 80)
+* COMPREPLY: Bash Variables. (line 195)
* convert-meta: Readline Init File Syntax.
- (line 77)
-* DIRSTACK: Bash Variables. (line 198)
+ (line 90)
+* COPROC: Bash Variables. (line 200)
+* DIRSTACK: Bash Variables. (line 204)
* disable-completion: Readline Init File Syntax.
- (line 83)
+ (line 96)
* editing-mode: Readline Init File Syntax.
- (line 88)
-* EMACS: Bash Variables. (line 208)
+ (line 101)
+* EMACS: Bash Variables. (line 214)
* enable-keypad: Readline Init File Syntax.
- (line 99)
-* EUID: Bash Variables. (line 213)
+ (line 112)
+* ENV: Bash Variables. (line 219)
+* EUID: Bash Variables. (line 223)
* expand-tilde: Readline Init File Syntax.
- (line 110)
-* FCEDIT: Bash Variables. (line 217)
-* FIGNORE: Bash Variables. (line 221)
-* FUNCNAME: Bash Variables. (line 227)
-* GLOBIGNORE: Bash Variables. (line 236)
-* GROUPS: Bash Variables. (line 242)
-* histchars: Bash Variables. (line 248)
-* HISTCMD: Bash Variables. (line 263)
-* HISTCONTROL: Bash Variables. (line 268)
-* HISTFILE: Bash Variables. (line 284)
-* HISTFILESIZE: Bash Variables. (line 288)
-* HISTIGNORE: Bash Variables. (line 296)
+ (line 123)
+* FCEDIT: Bash Variables. (line 227)
+* FIGNORE: Bash Variables. (line 231)
+* FUNCNAME: Bash Variables. (line 237)
+* FUNCNEST: Bash Variables. (line 255)
+* GLOBIGNORE: Bash Variables. (line 260)
+* GROUPS: Bash Variables. (line 266)
+* histchars: Bash Variables. (line 272)
+* HISTCMD: Bash Variables. (line 287)
+* HISTCONTROL: Bash Variables. (line 292)
+* HISTFILE: Bash Variables. (line 308)
+* HISTFILESIZE: Bash Variables. (line 312)
+* HISTIGNORE: Bash Variables. (line 320)
* history-preserve-point: Readline Init File Syntax.
- (line 114)
+ (line 127)
* history-size: Readline Init File Syntax.
- (line 120)
-* HISTSIZE: Bash Variables. (line 315)
-* HISTTIMEFORMAT: Bash Variables. (line 319)
+ (line 133)
+* HISTSIZE: Bash Variables. (line 339)
+* HISTTIMEFORMAT: Bash Variables. (line 343)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
- (line 125)
-* HOSTFILE: Bash Variables. (line 328)
-* HOSTNAME: Bash Variables. (line 339)
-* HOSTTYPE: Bash Variables. (line 342)
+ (line 138)
+* HOSTFILE: Bash Variables. (line 352)
+* HOSTNAME: Bash Variables. (line 363)
+* HOSTTYPE: Bash Variables. (line 366)
* IFS: Bourne Shell Variables.
(line 18)
-* IGNOREEOF: Bash Variables. (line 345)
+* IGNOREEOF: Bash Variables. (line 369)
* input-meta: Readline Init File Syntax.
- (line 132)
-* INPUTRC: Bash Variables. (line 355)
+ (line 145)
+* INPUTRC: Bash Variables. (line 379)
* isearch-terminators: Readline Init File Syntax.
- (line 139)
+ (line 152)
* keymap: Readline Init File Syntax.
- (line 146)
-* LANG: Bash Variables. (line 359)
-* LC_ALL: Bash Variables. (line 363)
-* LC_COLLATE: Bash Variables. (line 367)
-* LC_CTYPE: Bash Variables. (line 374)
+ (line 159)
+* LANG: Bash Variables. (line 383)
+* LC_ALL: Bash Variables. (line 387)
+* LC_COLLATE: Bash Variables. (line 391)
+* LC_CTYPE: Bash Variables. (line 398)
* LC_MESSAGES <1>: Locale Translation. (line 11)
-* LC_MESSAGES: Bash Variables. (line 379)
-* LC_NUMERIC: Bash Variables. (line 383)
-* LINENO: Bash Variables. (line 387)
-* LINES: Bash Variables. (line 391)
-* MACHTYPE: Bash Variables. (line 396)
+* LC_MESSAGES: Bash Variables. (line 403)
+* LC_NUMERIC: Bash Variables. (line 407)
+* LINENO: Bash Variables. (line 411)
+* LINES: Bash Variables. (line 415)
+* MACHTYPE: Bash Variables. (line 420)
* MAIL: Bourne Shell Variables.
(line 22)
-* MAILCHECK: Bash Variables. (line 400)
+* MAILCHECK: Bash Variables. (line 424)
* MAILPATH: Bourne Shell Variables.
(line 27)
+* MAPFILE: Bash Variables. (line 432)
* mark-modified-lines: Readline Init File Syntax.
- (line 159)
+ (line 172)
* mark-symlinked-directories: Readline Init File Syntax.
- (line 164)
+ (line 177)
* match-hidden-files: Readline Init File Syntax.
- (line 169)
+ (line 182)
+* menu-complete-display-prefix: Readline Init File Syntax.
+ (line 189)
* meta-flag: Readline Init File Syntax.
- (line 132)
-* OLDPWD: Bash Variables. (line 408)
+ (line 145)
+* OLDPWD: Bash Variables. (line 436)
* OPTARG: Bourne Shell Variables.
(line 34)
-* OPTERR: Bash Variables. (line 411)
+* OPTERR: Bash Variables. (line 439)
* OPTIND: Bourne Shell Variables.
(line 38)
-* OSTYPE: Bash Variables. (line 415)
+* OSTYPE: Bash Variables. (line 443)
* output-meta: Readline Init File Syntax.
- (line 176)
+ (line 194)
* page-completions: Readline Init File Syntax.
- (line 181)
+ (line 199)
* PATH: Bourne Shell Variables.
(line 42)
-* PIPESTATUS: Bash Variables. (line 418)
-* POSIXLY_CORRECT: Bash Variables. (line 423)
-* PPID: Bash Variables. (line 432)
-* PROMPT_COMMAND: Bash Variables. (line 436)
-* PROMPT_DIRTRIM: Bash Variables. (line 440)
+* PIPESTATUS: Bash Variables. (line 446)
+* POSIXLY_CORRECT: Bash Variables. (line 451)
+* PPID: Bash Variables. (line 460)
+* PROMPT_COMMAND: Bash Variables. (line 464)
+* PROMPT_DIRTRIM: Bash Variables. (line 468)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
-* PS3: Bash Variables. (line 446)
-* PS4: Bash Variables. (line 451)
-* PWD: Bash Variables. (line 457)
-* RANDOM: Bash Variables. (line 460)
-* REPLY: Bash Variables. (line 465)
+* PS3: Bash Variables. (line 474)
+* PS4: Bash Variables. (line 479)
+* PWD: Bash Variables. (line 485)
+* RANDOM: Bash Variables. (line 488)
+* READLINE_LINE: Bash Variables. (line 493)
+* READLINE_POINT: Bash Variables. (line 497)
+* REPLY: Bash Variables. (line 501)
* revert-all-at-newline: Readline Init File Syntax.
- (line 191)
-* SECONDS: Bash Variables. (line 468)
-* SHELL: Bash Variables. (line 474)
-* SHELLOPTS: Bash Variables. (line 479)
-* SHLVL: Bash Variables. (line 488)
+ (line 209)
+* SECONDS: Bash Variables. (line 504)
+* SHELL: Bash Variables. (line 510)
+* SHELLOPTS: Bash Variables. (line 515)
+* SHLVL: Bash Variables. (line 524)
* show-all-if-ambiguous: Readline Init File Syntax.
- (line 197)
+ (line 215)
* show-all-if-unmodified: Readline Init File Syntax.
- (line 203)
+ (line 221)
* skip-completed-text: Readline Init File Syntax.
- (line 212)
+ (line 230)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
-* TIMEFORMAT: Bash Variables. (line 493)
-* TMOUT: Bash Variables. (line 531)
-* TMPDIR: Bash Variables. (line 543)
-* UID: Bash Variables. (line 547)
+* TIMEFORMAT: Bash Variables. (line 529)
+* TMOUT: Bash Variables. (line 567)
+* TMPDIR: Bash Variables. (line 579)
+* UID: Bash Variables. (line 583)
* visible-stats: Readline Init File Syntax.
- (line 225)
+ (line 243)

File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -9983,7 +10240,7 @@ D.4 Function Index
* copy-region-as-kill (): Commands For Killing. (line 54)
* delete-char (C-d): Commands For Text. (line 6)
* delete-char-or-list (): Commands For Completion.
- (line 39)
+ (line 43)
* delete-horizontal-space (): Commands For Killing. (line 46)
* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6)
* do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands.
@@ -10009,15 +10266,15 @@ D.4 Function Index
* insert-comment (M-#): Miscellaneous Commands.
(line 60)
* insert-completions (M-*): Commands For Completion.
- (line 18)
+ (line 22)
* kill-line (C-k): Commands For Killing. (line 6)
* kill-region (): Commands For Killing. (line 50)
* kill-whole-line (): Commands For Killing. (line 15)
* kill-word (M-d): Commands For Killing. (line 19)
* menu-complete (): Commands For Completion.
- (line 22)
+ (line 26)
* menu-complete-backward (): Commands For Completion.
- (line 34)
+ (line 38)
* next-history (C-n): Commands For History. (line 17)
* non-incremental-forward-search-history (M-n): Commands For History.
(line 41)
@@ -10135,7 +10392,7 @@ D.5 Concept Index
* functions, shell: Shell Functions. (line 6)
* history builtins: Bash History Builtins.
(line 6)
-* history events: Event Designators. (line 7)
+* history events: Event Designators. (line 8)
* history expansion: History Interaction. (line 6)
* history list: Bash History Facilities.
(line 6)
@@ -10230,119 +10487,120 @@ Node: Escape Character14830
Node: Single Quotes15315
Node: Double Quotes15663
Node: ANSI-C Quoting16788
-Node: Locale Translation17773
-Node: Comments18669
-Node: Shell Commands19287
-Node: Simple Commands20111
-Node: Pipelines20742
-Node: Lists22998
-Node: Compound Commands24727
-Node: Looping Constructs25531
-Node: Conditional Constructs27986
-Node: Command Grouping36099
-Node: Coprocesses37578
-Node: Shell Functions39222
-Node: Shell Parameters43776
-Node: Positional Parameters46192
-Node: Special Parameters47092
-Node: Shell Expansions50056
-Node: Brace Expansion51981
-Node: Tilde Expansion54736
-Node: Shell Parameter Expansion57087
-Node: Command Substitution65988
-Node: Arithmetic Expansion67321
-Node: Process Substitution68171
-Node: Word Splitting69221
-Node: Filename Expansion70844
-Node: Pattern Matching72983
-Node: Quote Removal76622
-Node: Redirections76917
-Node: Executing Commands85442
-Node: Simple Command Expansion86112
-Node: Command Search and Execution88042
-Node: Command Execution Environment90379
-Node: Environment93365
-Node: Exit Status95025
-Node: Signals96646
-Node: Shell Scripts98614
-Node: Shell Builtin Commands101132
-Node: Bourne Shell Builtins103160
-Node: Bash Builtins120536
-Node: Modifying Shell Behavior145364
-Node: The Set Builtin145709
-Node: The Shopt Builtin155233
-Node: Special Builtins166095
-Node: Shell Variables167074
-Node: Bourne Shell Variables167514
-Node: Bash Variables169495
-Node: Bash Features192981
-Node: Invoking Bash193864
-Node: Bash Startup Files199673
-Node: Interactive Shells204685
-Node: What is an Interactive Shell?205095
-Node: Is this Shell Interactive?205744
-Node: Interactive Shell Behavior206559
-Node: Bash Conditional Expressions209839
-Node: Shell Arithmetic213488
-Node: Aliases216234
-Node: Arrays218806
-Node: The Directory Stack222764
-Node: Directory Stack Builtins223478
-Node: Printing a Prompt226370
-Node: The Restricted Shell229122
-Node: Bash POSIX Mode230954
-Node: Job Control239011
-Node: Job Control Basics239471
-Node: Job Control Builtins244188
-Node: Job Control Variables248552
-Node: Command Line Editing249710
-Node: Introduction and Notation251277
-Node: Readline Interaction252899
-Node: Readline Bare Essentials254090
-Node: Readline Movement Commands255879
-Node: Readline Killing Commands256844
-Node: Readline Arguments258764
-Node: Searching259808
-Node: Readline Init File261994
-Node: Readline Init File Syntax263141
-Node: Conditional Init Constructs277628
-Node: Sample Init File280161
-Node: Bindable Readline Commands283278
-Node: Commands For Moving284485
-Node: Commands For History285629
-Node: Commands For Text288784
-Node: Commands For Killing291457
-Node: Numeric Arguments293908
-Node: Commands For Completion295047
-Node: Keyboard Macros299007
-Node: Miscellaneous Commands299578
-Node: Readline vi Mode305384
-Node: Programmable Completion306298
-Node: Programmable Completion Builtins313504
-Node: Using History Interactively322640
-Node: Bash History Facilities323324
-Node: Bash History Builtins326238
-Node: History Interaction330095
-Node: Event Designators332800
-Node: Word Designators333815
-Node: Modifiers335454
-Node: Installing Bash336858
-Node: Basic Installation337995
-Node: Compilers and Options340687
-Node: Compiling For Multiple Architectures341428
-Node: Installation Names343092
-Node: Specifying the System Type343910
-Node: Sharing Defaults344626
-Node: Operation Controls345299
-Node: Optional Features346257
-Node: Reporting Bugs355816
-Node: Major Differences From The Bourne Shell357017
-Node: GNU Free Documentation License373704
-Node: Indexes398900
-Node: Builtin Index399354
-Node: Reserved Word Index406181
-Node: Variable Index408629
-Node: Function Index420722
-Node: Concept Index427731
+Node: Locale Translation18032
+Node: Comments18928
+Node: Shell Commands19546
+Node: Simple Commands20418
+Node: Pipelines21049
+Node: Lists23743
+Node: Compound Commands25472
+Node: Looping Constructs26276
+Node: Conditional Constructs28735
+Node: Command Grouping36848
+Node: Coprocesses38327
+Node: GNU Parallel39992
+Node: Shell Functions42460
+Node: Shell Parameters47404
+Node: Positional Parameters49820
+Node: Special Parameters50720
+Node: Shell Expansions53684
+Node: Brace Expansion55609
+Node: Tilde Expansion58364
+Node: Shell Parameter Expansion60715
+Node: Command Substitution69850
+Node: Arithmetic Expansion71183
+Node: Process Substitution72033
+Node: Word Splitting73083
+Node: Filename Expansion74706
+Node: Pattern Matching76845
+Node: Quote Removal80484
+Node: Redirections80779
+Node: Executing Commands89304
+Node: Simple Command Expansion89974
+Node: Command Search and Execution91904
+Node: Command Execution Environment94241
+Node: Environment97227
+Node: Exit Status98887
+Node: Signals100508
+Node: Shell Scripts102476
+Node: Shell Builtin Commands104994
+Node: Bourne Shell Builtins107022
+Node: Bash Builtins124952
+Node: Modifying Shell Behavior151166
+Node: The Set Builtin151511
+Node: The Shopt Builtin161045
+Node: Special Builtins173217
+Node: Shell Variables174196
+Node: Bourne Shell Variables174636
+Node: Bash Variables176663
+Node: Bash Features201572
+Node: Invoking Bash202455
+Node: Bash Startup Files208219
+Node: Interactive Shells213240
+Node: What is an Interactive Shell?213650
+Node: Is this Shell Interactive?214299
+Node: Interactive Shell Behavior215114
+Node: Bash Conditional Expressions218394
+Node: Shell Arithmetic222183
+Node: Aliases224942
+Node: Arrays227514
+Node: The Directory Stack231629
+Node: Directory Stack Builtins232343
+Node: Printing a Prompt235235
+Node: The Restricted Shell237987
+Node: Bash POSIX Mode239819
+Node: Job Control248480
+Node: Job Control Basics248940
+Node: Job Control Builtins253657
+Node: Job Control Variables258021
+Node: Command Line Editing259179
+Node: Introduction and Notation260746
+Node: Readline Interaction262368
+Node: Readline Bare Essentials263559
+Node: Readline Movement Commands265348
+Node: Readline Killing Commands266313
+Node: Readline Arguments268233
+Node: Searching269277
+Node: Readline Init File271463
+Node: Readline Init File Syntax272610
+Node: Conditional Init Constructs287952
+Node: Sample Init File290485
+Node: Bindable Readline Commands293602
+Node: Commands For Moving294809
+Node: Commands For History295953
+Node: Commands For Text299388
+Node: Commands For Killing302061
+Node: Numeric Arguments304518
+Node: Commands For Completion305657
+Node: Keyboard Macros309849
+Node: Miscellaneous Commands310420
+Node: Readline vi Mode316226
+Node: Programmable Completion317133
+Node: Programmable Completion Builtins324343
+Node: Using History Interactively333479
+Node: Bash History Facilities334163
+Node: Bash History Builtins337077
+Node: History Interaction340934
+Node: Event Designators343639
+Node: Word Designators344861
+Node: Modifiers346500
+Node: Installing Bash347904
+Node: Basic Installation349041
+Node: Compilers and Options351733
+Node: Compiling For Multiple Architectures352474
+Node: Installation Names354138
+Node: Specifying the System Type354956
+Node: Sharing Defaults355672
+Node: Operation Controls356345
+Node: Optional Features357303
+Node: Reporting Bugs366871
+Node: Major Differences From The Bourne Shell368072
+Node: GNU Free Documentation License384759
+Node: Indexes409955
+Node: Builtin Index410409
+Node: Reserved Word Index417236
+Node: Variable Index419684
+Node: Function Index432779
+Node: Concept Index439788

End Tag Table
diff --git a/doc/bashref.pdf b/doc/bashref.pdf
index 61b2472..ef90d3b 100644
--- a/doc/bashref.pdf
+++ b/doc/bashref.pdf
Binary files differ
diff --git a/doc/bashref.ps b/doc/bashref.ps
index 8eb5d43..b49bef7 100644
--- a/doc/bashref.ps
+++ b/doc/bashref.ps
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
%%Title: bashref.dvi
-%%Pages: 164
+%%Pages: 168
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: CMBX12 CMR10 CMTT10 CMSL10 CMSY10 CMMI12 CMMI10 CMCSC10
@@ -11,7 +11,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.12.29:1559
+%DVIPSSource: TeX output 2010.12.28:1430
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -3224,7 +3224,6 @@ end readonly def
dup 11 /ff put
dup 12 /fi put
dup 14 /ffi put
-dup 42 /asterisk put
dup 45 /hyphen put
dup 49 /one put
dup 50 /two put
@@ -3304,346 +3303,339 @@ EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
-2E080C10DE923C195ED0A46BD535972F0A59D3977A0C4E4C413050044C486CCE
-9413D853E3FDF83C84B0A7E5FC5AA859BD382DC2D94780F2B9FACCDD437183AF
-E656EDA4147CB501BC39013529A953D6D78F640BD51EE6D1526D1D27F2538715
-2BFA7F33FC8CE7A1B811D7E4251EE8C0640097D655F9EBB15102F85DAFFAB797
-0E07D701E1BA93C6196EDE47DCF0491F102A3ADD983898E72900D1398033A2C1
-CB464B9EE9A47E7DE97F7D4ED4E99530C9A770F43EA6FFCBA27C41B4668C6047
-FD5DCECE8899E1603D3DEB282DFBEB30C8040E7EAAB83B8E78B2F7F61B7E8A77
-4C544F5ED83E5056EED08C1A29221D05A4949A0AD635D9C930F7FE8601D74FA5
-33B2F4FD4C29FAE4346FE914B123BA9CF5BA732FC430A128EDE270E3C60BD7AF
-CF54674799A0DC1C214E10BA5511B29813AF2E3768AE494D240EC647D9851CB2
-EC38976C6D8763F8C413B8CBFCF8EDD0FAE02F72C6366F5CEC2715BB7C90440F
-2D7BB30CD1F107CB2340075D2A0D9D4114D644A09003403685A7D466CF47362A
-B3187106FB1E2B32D7FE26F9231BE1AA87C8556A5421528BF5FC0478AC567DDF
-EC95E6151FB92C7986631F641E23CA968DBDDC42A5880B89CCC00F09B82ABF41
-F72B2F9F28806308176EA7081DAC3DE89BC389FBC54E60D2C6B666F18562BA0E
-32B5906EF1C2B6A31FE0946E648C73142ADB3136E7D2BE4BCC42E08DE3A5F02C
-4B8575B1A296F04735C0F30C32D3DB7423FBFE682109815234C88BE292C8F313
-F667207D842DE2052A8D3701AE71C44F6C4788AA08A967D66270C5EA7DDB61C7
-56D7BCBD106F1CF4EA7BC3A532CE23E29368899E7DE2175C4EB20802FAD3E840
-FD7B7B9956777195B646FCA2E5F4ABA05940E269858FDF5CBD236269C9FB0621
-C8224C63BC120EC8B8ECB643468C468CECAD06EA59C1CC6131F8091ECDD0D23A
-419DA3F684B229B64CADEF0AD3314C91186EC445B596FD398F41880FECC56453
-6459474EAD902F020B750E99DE425498DB3ABFCEF48305FF9B0C412ACE5363C2
-75EEA02FC8395179DF95E2A257E273F07CB0B899EC5E5AC093C9EEC345F6FA2E
-AF7A6FF8AC2786F25DFA834FDF023B1DA2C4301D807999010C5EFF3DEE1EEBD9
-F4D888F285847810A3DA48BE7B63D23D432231E1C3FD7D7F249A68DB43C0B439
-6EB0ACCE9083508830ED8BA1D9DC575938B07F07D9DAABA164281A09C7D00FDC
-78DB17CF89185DFF736892A6741CAF6B3864E92E7DE32A677E64B10C9765F925
-CFF01D76799957C8E2A4789CF754E9352C4957520A1D5303E4DFC850A5918A9D
-B90735BED913175122AAA4426917ABE09DC19218EABDE6FEF861669F60819DBF
-6A76690FE9C9CD86851FE1D1AAD0219178779037A3C0C66589ACDDB712CD236F
-DDC950DC13E099B747F7892B0B2DAB00161BA35240DD4CAE298B0EEAE5A4A2E5
-4DB38F070F3985205B2391FEDC8AF24256323A68AF8FD7A62BBA1A2F702F5402
-4EDC17889993E0D56817E6D2AE1469180286651F6C6643770D0251C8626A2A6E
-2CC25B87A3A520335B2AB1544807683BD52C3B8C3DAE7AD46077BC08E91D0701
-387312C9481A4CE788A11DF9E94A5700EA62581EC3BC2D0DDC709ADF5ED14CD2
-6B23D4480BFFD15828AA39A5E6A9BD9ED07C03F3B9528FEC1328AC1B35B5A1EA
-C0BBAB5E5ACEDE99FF0099625897168374623C391A76441CCB7ADA5B458D0EFA
-B829328D3A34C297BC605B3979C7110C90FA41295C25F84616A8F79A31B4E6D5
-B6F443022FB9F3AE6A0C23DC97F1811F50E38C254126EC2B9DD3992A6F61DED7
-02C3535B414C33DA24D5F172A6B34AA29336AB5AD10EDE4DBCDF08574BAFCAB2
-25D741156747BA56BF1069EDF0EF8AEF00C0B98860E8928DD5FA7600B2068188
-CF933C1C23DE74BDA86B3680D1E81401FE2FFF2905DDB015ED31F68F57BFF691
-DBBD798632E85A68477BAA42755C34A14D063059F88F411A0FDF0DFADFDC2F7F
-B77353A472CFF8B6C420C535288CB18B0B0CEE480DAB9A767F2F6C7C427310A9
-BB1FCBC48C194E91855E54CA50C1EEF64B1BE0F7C8CEE9E1EB620902FA40DE3E
-96F962F6E38B2C64BB774F45BA51986434C8E25716EC38E320D0914F68645DCF
-67454133BBFDD4AFFF0A8ADB82E9730F94B17964A5E8A4FC1D630D4C7A9CE970
-82C0B79D4E4B98CB3E173175CF1DDBD28A47FB67BAE582F9D072C1EA0B5A2B42
-988B173EFC21F67BE388BD8C9D1D83D4752DD5A6CC8DA57A86BEC2FE2B1E269C
-DBEAED127C4526C27FD349564F988DAF675C80E491162FDD7BCEBD7F3B13153C
-2AFD7F9D5CE941C6FCB0E585FF99D5706B3B90E630CF4985BD5CAE567CE919EB
-2DF4C66A7F366F68009E80373C0A9C386C1D30CE77A112C2BC3C59A2EBE50225
-75B58ADCB776094FCCA56C3892D8FE0911361D3FB581A7F2B2DFCA79042BE3A5
-80AFA160903B86CD46C65BC4BD9487928B06F6E387E8069AFFE9B2F784C0F722
-53E3FAE45E96D993999645621D2633035DF829279F51E25161A7A48317C904EF
-264642205EF3D61840425EDDF9B5B80D5F66D642F7C393CACEBC8DF6838E074F
-FB1FEDE41F42726CFBCC96B5BEF17EC26B27EF29087A163F40E3A1A777D4352E
-7E4E389F0685FDF4A6ACB6C88D997250104A35E879A0C0203BFC3BA7AE49AFCB
-3E8DFE3ACCC3F4A7364514AC94346332EFF06D7199CC29F017D9A21AB8731ECD
-1E01E0CC9B503C58A7093B2FE69282AAAF604849D7B916B477673CEB81C37AD7
-65B3CE3EA27E158868CF723F803409E48EE3B5B68D5116ED1276C95FA12C46F1
-EF8633329220C07A6C5830EF35E5F510F50A762EC69C0C4464175A7F8556860A
-1D8C0CA834721A33CAF6CDAFD6658B8E0FFE72369B355AD2A854D6DF4D5E2922
-EDB5DDB055ED9E349AA71B211A6C07ABD6A9184CAD668AE16F0DE68D7ABDAC6E
-1AD0A61EE9864500045F0F033303BBA2879BE36D4A52AEAF51CC1377A85D326D
-424E03664C527F74CD4466987C232AAA468048E5B517B79E4276EFE4B9B881AC
-E9BEC15016A207F3B270507EA8477A8F97E8E8B108733B4DC48505F14E93B75D
-1AEB210FA5E55F8C6EA04AA441A385E336B9FCB337C53261659A7AE9F69489B0
-E4B38ADE248B90043A6EB0DFA3795DD111931CE6462CACAD0B69B185E627B156
-960F46F9031790770D6A8BD3FC3F535CE85FDA7E27629AA14B3D97DE676EB440
-DE7ABD25EE41CC51BEC18F707D35DAD24662EA4EEAC59FA0A8F8AE09CED2653B
-013226BFFB578ABD5E2341759B229CA9D1882465784D5BCD351E3884620D0A9F
-075F1EA689A99C7F24878E8F79ED2AE6A8536F9D1BA1C07A2DC05807C438CA44
-F3E9708C877AB2BDD3F6467C39419606083598F1BD22DEDE6CDECEA07A838249
-1D289F98A1108574C5F13B25E2545B7146CD9AF5D11BA3DB3140EFCC7365C143
-DE5C87525122EC71BD00E3ABF2939DA6BCE4EE64C4B56271B393F3CB00413620
-B4AB8AA010B38FF264E76A5E74F1EBAD812BF9E7E0188F3308D85434360F124F
-8E9B24133BB853F4E64D973254E304BE6EAD60E2343DD994E61C26C496B4517E
-69F577D13817EB375933FD3FA53C9A1BF02A89CDFC00296E2A2D2689CC850088
-73E181933D90A88078AB76EF5C50598AFC12CEEF15A2BFE3C87B773B7FF1B8DC
-3F9A8D68908615F621BB695C57215308F69C069C24433349DFF17E8CA7273691
-845DE5B2B736CECA05A5BA8B3B61C04305C5CFB5E089FD4A8B9E6BAE31C4C5FF
-A84FBCB040C72A8D453BE0B263B223A8A9D1B74AA175F9AE02F2F4C34BA87263
-830A03CF5D34E060ED148221E3C617D1D4C70003EA05623C4C1F2082DC633E79
-A1E9D57A4AC834BFED02856B32DC13A39F39139D59F9637B8470C944D03A8D97
-DF61859A53954B7DED4738BFB91165EC60A44BB69D607AC6B70F592224121960
-E56BE9A190DFEC3F07EE60AC62AB28678F8DCB6A77CCF44B153789AFDB28CBBE
-BB99798FA478CEBF9C1BEDE10DCC704FC3FA0280EEABB6E909056242B7A2E193
-DCE348EC8587CF15D40C219251DAEA07854234A9EC835190EFD1CC69B3C7EC82
-AE57FEE324AA2F1A45EA3BDE5F60E1A232270C2105D57D3845A48837DFD389E1
-02293DC23B6E76AD95282017E91E7042D9734D82D46E3DBEE0CC790F4052E008
-B3792AD9822B94CC445AA1C9185466DD7D28A0F7D6A33D727A485F24E709DB18
-86AA1A798CC7758BE528C4300BA560FB89AD49AD57961E96799A1B31DEA2C715
-4E804BE9396A1AE54C7549E73B2ED2F548B042D8DED2B7C7BAA049C7D120149A
-A90B7D458D15B8DA6F533CCDF7E82D64A7E0CDEDC2D281D6B7E470D93849CF17
-2A579C3403F6FD16EF49C6F136449EED08BAFC1E0D03CBA37B4765BCA1F26699
-17E542001E2614D83877E37EBAD25029B97B94AC1586BC42A0A0C49066708051
-0DBD7B46D45A02E2FDD9F2FEFC8B1217811A3BE709F392AAA03D2F7EAEC828C3
-3C5EE95A5E273702A176ABB4B2C4BA48EE7F16348F650D426BC71C3EB740323A
-A8BEF22F6EBAADB73AD4C9883557AB33451A89DFBE25CA6C184A3C37F058C3A5
-4C6EFDA4E2B0354845CC6A38293891891FEF286712171E56FBD8B7A9EBFFF47E
-FBD889E1EA7D08F7A06BAF9CD988773FCD4DAE43FC6A9F80F1D6A56E550CF799
-3BBAEE0303933E02D1427A5842C9272D3D0A0ED94ECEAA9B82E81EDC54560F8F
-2A4C0D28B3264EA640491E24D3F7165A17725C28A6F153C742D01C7E95C79C1E
-8229B8183B8C10F00DF68899914534C58E2DFBF7087D7B6A3A4BF875F5A754C3
-B4B8713DC4EB1682B84151887B8461EE05A0C9FFD6F619B83444BA9ECE1D0C7B
-D17E96315220F7C341194994375CEA1AC7C061D9E7700B6B30B5F15A6A2A61E4
-25E6C3D0B1E13BCBE7FB89C24327AF46AC62B2EE332348B55D9E6D599D9FBD79
-E64E8BA6C960A598600EAEB080E08A0D9AF13FBC60218A9FB400D5CF3507DD38
-FE41BFBB0594F43F10EAE9CF159097226DE7706F34871A76661B6CB9EC1127DC
-09651E98E34D3ECA5BA7D695B27645AC8C16364CA380D45524D700A460051B62
-A69ED221BDA45051C1723796A305A3A7C85A62F5DFF7F7ED690DEE4C0BE2571A
-155ADB8BF7DD4E6B31AAD3D884337C1A2F99FAA44BFDA357966C77C35A435411
-2AF36766DC0BBEF0B50B742A9C9E8541C58AD964B26C47BED17B5BDD9C5520F5
-947E4B8017AFFF9FDD3BF15B2DDA6CD750E09222A3DF1D9ECE2AA6E22CC5FCD4
-C6746E58BD628558A7157B72F6370507AB0596FD4F4821A800A358BE7B62C7FD
-92131D308957E99FE4408ECDC0F48F5C747680992721F9D96B41B956C14F8E13
-FB260376C508F88D30355C94D0208D419F81019EE01A114E20EC2438C3894C79
-62096B4A5F6288116308FB98EB0DDADDB259205A11C56C6AC6C5E1C8FF45A25A
-F16596B76397BF54C3DBD0ACA1599AC886415E46EF99FD15C9218125CF0426CC
-B6B5BC60C0A14CFD116DCDCC3CE7DA6962B972AE23BCBDC5F283A807A63C1C8C
-9EDC5D95CBED7A9E1D63876A55C7A8878DBE0C66FAF5E7A680416840156FC63D
-FD8FD7FD12F32245B3084FC3532F3883DEEEFD52325439EDADE56EC1B4845CCB
-282FA0EDBC405ED2FC3B01FC93D1ABF06B64B2EF4D6FE40B6BC91D7540BDC5EB
-F3681BA084FE84FA153E8E11442A7840C6F7FEF98E346601A67885B3B0AE2EF2
-E3703ED14AB786488C48CD937E9DE8B666CD25DFC9AA9351338605D653BA6EC8
-16A18D7181B2DB084BB1D3E75C84D8CD3533EB35F150F006C6047BFCABDE14EA
-32FE9A0C1BACCBBAB3F6595E1D11D279A34CE66D0BDC09764436A23BAFC467E7
-A986D6947DE65B77BC8480B94E6F66F8B4D93FDB517FE1A6C2AE5FF3BDA37919
-6F34C72EDBD09CDA95D751CB5ADD93B422E98560EA03AFE810E1435490C19405
-C534026D001C4E2A86EFA7F342E3967059BE771E728361AA77E8C2F497442E24
-AB938CBA02C5FD0561A601BBA8AE96E8232212DB222C202C1AB4B4EDB4494CA2
-77221C9EE7810640B730DD31FFF60F2A05DB7FB80577A48513BB9A76B262EC6B
-751157FA65B47B7CE97D61DC0161877F89210EF3C9A8CEC5DBC5EDA5B9A8770D
-7643300C9C3A5D00F0FA18BCBED0295833612A57246D8184975ADF14D84C32F4
-BBF15E6BEBDA45A2E8BBA461D53C090C25BF7FD351CBF69CC904EEEF8D7802D5
-D14A4EBE6804075D2F742384749150174603F14519BAC00B220E83F7309D15BF
-12A0DC08230DBE23EF40048A77ED17D9F931C817F780C67E59ECFEA62FD4D8E9
-DEB4D1A8D28643C4E476AFB2F86FE8E5C353F08B9D0F0C10035B1737A7D51F4A
-6141D0000F04113A7FD710DFEAA16CED294E5AFC3856BB243E2A676794DE99EF
-660C4B522E5A4EDAD43C3A0A359B4B34AA9A59A6E2D4E5217553B790ADF45A9A
-7636529EF840879F18A34C3C2D5207B4D14C59E264A6415F142A7C0294597D64
-D02A28F126E774A31604FCC671E1BC0FF681082B2818792A60DAE56FFEDEE3B7
-6EA7A834D088E6D10B1673F3250D229F1BF59CE4D0AE3376E6FD99D883B2ED03
-71B72A3F679A5DBD76BD2FF6C04435D14364C4A61AFBC0D5B31E48BC631C0545
-DD3C1C0FBF3123EC3944C404D37398D05BE3756848E59FA54EE7C34D0D5382D8
-74DB6A6E70C7A5AAEC7B941B4F5D800B226D8976473FDABB34FDBFF2C6016FBC
-5E34BAA392A29B7CA9F667D609EA7A391C6067566631FA910BF17DDC0CE56F37
-A2E6A22228A4A0AE138924F09275921C8DA60D818AAB8C2B06108DCB9A85D6B9
-DF6BF40ED6E86DEC75A2DB917E605C1735D5896F29D762C77AC212994AA2F9D3
-96857C5A2F3E86FBE7E34F34D8E0CAB1024AAF59699844CECB49D7A429F4BD02
-5567416D4D0152C3D0B6B77D7104B20EE19EDB264DF437E51F4BD92D21873FBF
-3D35B2EFCDC5F146491099BCBD3B381AEE555FC25A7B0713FFB082389975552A
-825B8762D630B204B99D97E0F0062B358E1E443D65CD8DF3CF8284CF38066DEF
-3F130A06CCEA592955EA05F416E0F67AEEB690D626728426BA54BC4C4083CBD0
-F3F9A0E7EBF3B1489C019F7A29FA78F77D8A96251B66D73C7C858E2B7AA768C0
-31CCD34792D6D093643502BCB4453C3D5DEA5B577EF92D3EDAA22E90827F3573
-A811FF5C5F6697AB88C42291498BC348F4102BFBE007D68092C0057DD8576A9B
-5BD032CF7196103028156CDFEA122F9A7101F0DFB1C73D3B5605A73C1B335EC8
-7DA6B4CD39E976F7DB91CDA187B1CB4E4338F7C72873F24D5C02934BDFDA019A
-69FAD10C96BD82D12D07A2EF76D86C3082E1D68B0A4462D0635A8F15245EBDA4
-4EDBC69D510B12637F02ACEB3A1DF278C4055B98D77ECFF82BDDBEF4C5AFE2B0
-B88A9EB5333AE842093A80E2064BD36D5D81AAB9D80CAA04B55943FF5A1DDE94
-CF3CA32648BDCFAAC88E72CD3ACE65C880FD8BB75B11A8A6ED351524E1DA35F3
-13466B349A3E4CEEF0C1160B1F95643B500A171B33ADE7D55F4EEE1934952333
-2CBD044D07A12985D93FE51C93EC8F629DC423458C1B631A7364E17B07E89C40
-256DEF8A88897ACA388014A2C6969ACB9B3AE6925B4B4543BC924061EDCF86E7
-F51F447A7FB62E03A05EA6FA2DA1CD76615680FE009621148647C7C74E4BC6E0
-B34B356A3CB8947E0F775AE6079FC4594F39A4B8218E5D27DDA4583D9D5BAF07
-009CA08E3E08E407D0AA9EE80E3B0B049F37DC38FE8F7FD055CE316D72A6993D
-60CAAB09DB8A899E5EBD8AF11BBB8B2EA8E644D2B6CB4D9EED9266EDDC3A7ECC
-FBEBADD9506987DE2945A65D027DE828D5A12FB0D6AEF5D6A2035421DB46313A
-9CB95EEABB6F5A87013C3F3130DB32B3D955D22C9F3095A19715D341FD118259
-C661FC30E9D781B32396A8A2EA06122045D98EC5FCC6CFE11AF9B2A2FBBC99CE
-45925EDE91D6A964B68EE20032B96A71B48DACDBFC145B6F6DEA7F011DD7B246
-D9DBC3CC6B1EB35F471FFC463E8444F1E1CE43D3D41A113D9601C12FDD755E34
-86B8202134691C4DA22717CD3F9F958CC6E7BE20CFAE9F10EB67C0BB58E40F17
-5E3A142AE71E3619B1B61F706F611496EF29DC07111BEAFCF4D2979D39660C0D
-05A8A2BA5D2E0BBE2F522B6BA0A39B27AFB2FD2DD4666A0F895F49F7833C2661
-88D28BFD7522A9CE8EA109E1B8273A1295F4982907109518E82A156A9C4D7F27
-9B7EA2CAD89D22A3D56637D5427AEDEDA98A6D9257B419D761C8AC925B61C93D
-5E4C47DA6EFCC66A6A4D3B7FC1DF27C6F5C7919E34E9E7CA982C0D40C5D53F0D
-0A09C57FF29657A7FA230102C9487A8D68F93F278BFF94E6CFE8E5E3BA38A082
-744F9D018A6D7452D2BF0D06BB61D72F7767A4E9936DDB660C8CA18468262471
-3C81A68BCC375326C935B90D02F80B704F479DD7F030B089685F091B3144E794
-11D284BF2B8502964E4F6C7B79FC2C37197D52166E377D66AD0E7D0325909D46
-E0F8A35807DFB8C8208BA672EC21188149F3155027F16A23AAEFDD2F3AD642F9
-310D631E07655AB6885C6C3882CCC8690D05D96779CC83A117D946E2F9F6521F
-B8F4458B8E01FC30CF59ACDB52DAEAD21F7B7F490D74898F2570C6FA5B4DB522
-C077FF694CBEF398F0207C708D7C3E4F8EF42FAB91ADB4CEACB592E56035DA1D
-E8C44FE37116712D588C873D8C2C51B960E97D07651D611AB133D950258F0A2A
-D8C4557DE5EC6D98E1298B71FF08B5F59C6619AEA88CEA839A16B9C810438B78
-060594A85095D525246CA31DB045C2BEEBC0B1F8262C59F9A687951AD2A1A5E1
-3049E4BC2CF76E90956DC45670A6A7A6A4A07983758BA4887552CB30DDCFDB02
-090E12B56D356EBA8E7AEED14E4EA4C36A528A7F5105A545BD9EA5BDFD1F04E6
-C65428A54A41C5977142EBEB7F49D65F1FAB9FBBC2C283EC7AAB8562047E013D
-369A009127BAE150E7822A278BB3638BDEDE5A1985DD3081F08EDE5E0EC8C4EE
-56AAA592D3EB3BAA1CFFCE3AC23854790D0B648E83E2FE3C2CF7A14ED0601761
-E5A377DD4CFAAAA59D375499CF40DFC355D344AE50DFC65E4E5AEDC0ABB48A2D
-12DCA4C33F9671CBE7CBFF6D302805F433F581B4A6B1E4537EFE9C11F8C808F1
-F9C56321C402BA29DA2BDA3D2468CF3A26276929980D53E3BED09C5D9C2FAED6
-DBF053142E82A04F618CED7F51D09C28A1885DA028F275B85D3BF5DB6D20FCAC
-6202ED88D2DFC36D642FCB236F51B4016D7380CB85FC2306D986345F8A127EB8
-E32C7118C0F77B1B668D54FC2E8A4C70A681535A5117DB2E3D9ECD1B59A476CC
-8BE712591E1135B8E05652849F3A0737EDAA98E160D39A1C83AB9E586DE2524F
-C22C5BAB3075D6198C15F9E6EC9C066B085B532B8B1ACD16EDBA42DDA0C6E2C7
-DA50A742E55A1C4B86332FC7406BEE517373BD0E5A252763DF5886F433E60A64
-7BC6B0E70FB998C448F7C2D431249B581BF20680572405853CFB5CCAA1DE68B9
-D6AB0E0FE7E0C4D9DF2444267C6428C6D5CFAE69D651651FBF84C606282B4F95
-0C81904C77350ECA5B82128A4BD281C9889912ECB461D651652986EFA8B701F1
-4B721AFE6AD536CB1968FE14D0BADCBBDF798D11F4DC6A3EF533B3BB8A236595
-B70C4A03E6E33A6D44F93FB54A63063328305D2193E012D24E4D31E62CAE4DE2
-87D59D842475522204CEBB88D08AB0DD5DF57B6F165C693DD0AD34B87F89AAA4
-9F7B7A880BC3A5DBDFD9FD9C3D3B9DA30B132CA968A216BB52434FD3FE77BA51
-A70210B1ACFD28B81BDB75F97712DF6F7297F34A59A393006A881E2B3CCC3F7B
-B39C8D6E99AAAC39B071B7F383F9E8EC407118C5DC17BEB0D737059ED7DCE758
-83EE43E0514015D490C2271FA5463B93EAEF9B3BD3C88CD74A19D9DC95660C96
-0A38B26D3B023FFDD27FF6E9D98ADDADB54825D2B555206F0E7C889DB55347DA
-9A4C9519C0C8A8D3ACDC06AB3069268BA83984376BFED1CFE3B1417845911CAC
-5428A0800146CF549EE78C263F36DDD8A04A75BFBA4534A78412B7C2B6EC47DC
-49223DB72FCDC5E88839709D704C196133A3032149AD0AE29950C8D6509F877E
-04B849B5AC09421BB33B658D30CE6E04DA1A35862043BDEAB7BC684E1A6DE8E5
-CAF33EFC866D6D075C269693690750D526B801DBAF5099A04BD3E911135B118D
-EF01207599588E25EDE475FA428E67AD93FFF63682A9B1F9ED495C7AD50EB96E
-836A965C2B27CAC71CE79170C4F56E0497F0F6CA9041E92E1D01078FC922DDD7
-3F79147EA667173AB4E64AB4E3664054547AFC2E2E1382FE059C37B352120D69
-6A15BBA8670CAE7E310B03C2A4B12FB33617C17CB9D992AFE2DB2A1BC1DA806B
-1B82DACB2C1157A8D3F5D86353C12F474078418FAE22EB4213FBDFED904F0156
-C17A9C5205DE359694C899E992E40C2B54A565F4777C0147E864F25FD4C487ED
-6CB1C1BDD93702AEBC7278FD7E62A79A28F7E3A16E763F154471E001D21D4FE3
-2FD8ACBBCF301995528042E861A9830ACACB99669EABA851FF2A8609D30B9775
-A048BEA2E1B538D9865A8A646E907407EEBFAB32F76BDF132E905764EAF10891
-907EC36BDB2D8F89CDCF5365D2FDEF131B23A8308E05A696E5FF6EC44066FA26
-9348C4249B64F87D71C552F9CEE2AD126AB9A9B6FBFCC58438C6248A7C0962C5
-6D7622CF440288F906566E4947699270D4E5BB1E9D80E10C17A7147852495892
-707F47DD09B09802B37B1D40F848BB9C732941996EBF595184E4F484BE6561EE
-9BA94C00F1AA76BCBF817C814CDD4ED94F025A31765A118C75E6F3B2C6C2767A
-090D5389DCCB5A0ACCC67CB1B1DA2EB5B4B3EEAF5A4D7F390BC83A0C1B2B0910
-C180698E9E7F9D288C3BDEBD37D74CB5710AAACD2FAA4686A9A750064F6B306B
-F86C9F4BB77ED693419232AF4C1D897A6A5B737B41647A7E37350BC7853FBA31
-C5CA92ED67367D9858919229645A81EC6E30BE97FFF25AE6FE8CB16709D4550C
-DD5B4098ADD0D4D60ECE796384C007203A2B00595CB4608AB8C265C4E67FEAAD
-7B5AEDADDE94CCB6FFC545A9E3C47B8B911110EDCAF2160135492B722879C62A
-6A8FBB02BE4AC067194682264771595601859CDF549C3BD7A3DBF7F681D01F2A
-1FF5329CE52A00E9FB7F76E7F50A2B37AD1DF467A7B63EE8555FCFEC2A8C42CF
-C2297EF18EE8D49B0FAE5FE08857F0E0424FFCC5804D3063715F039C7F87396D
-579C57944840382C2A9524DDA1BB3C87866EF386581F2B1ABC18BD49490EC9DE
-5D184B752A976528892A0401AB4F165BEDA7597236C6A5433D7B8486FB007DF5
-A0A8503322639EA7916CE8D727284E90CD3F657E07C10370B3D8708B26AB933E
-DAF9BC060C2DE8345802CB0A3FF962FCA229295E15A02FB35D15476EFD85EB05
-AB102C504AC86BDFC3613EC7E947D5411CBE0A66AFC012115334ECA15BB0A353
-EAD3C33090046DD5FE981BE10A7EE6FEB747178AB6357EE22F6BE81D0FD617D7
-ABBA0F7ED0CB5E14F213A96854FE0FB0FAD0C3469A9590BCF9E7076BDC8BDF20
-933DE9DD6E99EA0C7DF1D28114B7EAD10367BD28A82314829E4FAB344F3A8882
-080BD2A920FBBD2227D2DA1FD6AF21E538DC10E50648535187EFAE304D0F72E5
-0746BE1853D59A1FC89BC3847BB8A0EB5A1BFD83B6E465D79012A80E27AE7BDA
-590BCDFDAA602DDD8D596F3B57490A564120EAEBCDCE0EA0000C572266CAA363
-536E654DEB595B137CB03701ABF08EC994B2D48622DCF99E137BB27DF2FC85B3
-FFFB9D781ED87B39054756B9B9AE7A13978E8EABD8F30804031CF77E698F8852
-F26626A3D817D3A3234475A80C1768CABAE431CC6E552596818F9B47161B8C67
-CFB0618039025E0B76E95B770BD302F3EE622C5E0898B34027932498345DF0D8
-32C65257F9DB75D158EF0081911CFBFD8E73BCC7F254C17C0B72AB39CE7EEDC8
-8ADD52AEB813C016D982BA5F10268E28466947C765F65C80E2595B2F732D4E68
-D69A757D8230F6ADEB79D31EEAEE284EBEE7E40A99C422050B338A07564BF7CB
-EBDB383FB6E5F632A972450E4F88241F4C7CA492A860822054E41BEEB3A59E7B
-6D6E769894FD8FE20B47D25F43809077696F516DE603D4EF1D683FC9895B9C4F
-00D38E738BC1899C9403F9BD7D861B0FB18AE11BBAF4438303AF6D1942A41DA0
-29FB10183B46BAC9AB9E858D95CD54DE11D3167B94F0642E89BB08082A3E589B
-33797A5B481669A45C76463B69BB4EF884CE76812BA488BD8A32DEE0AD6E9762
-10DE07FF0216F6B88AECD07E5A1DFE60801607FDC4F03D9A5B074E59A2EB23B8
-D85503FA1D12A6717FDC69220E31B04911E249446AF19FF550B09DBE833AE75D
-6BE48EB06866CDFB7999E9FCD923E5CAC8286D638C643AC161A80B1FF87A44AB
-6181929F69A6795591D319879BE5999F200F0556650475472F9863BE3525F6B3
-9DE2D2CD94229A257602F4956A0018A4211324E3ECEABE650EEA36D34A77E5D3
-DCA8AC728A71377A9E7A9B12E58492196C852303B9DD4EAE6983066C6ABD4D9C
-7787C837EFAA2F9D3FDE032665323585D4450A9D3E8C7E8FB2FBC87234CAF228
-B5C1654EB2B36AA06224C22A33C7E0300ABA12825C47D2F20BD71C03D546E4FB
-2FDD37D7069C6A8EE431A45D810E52CF05A478945988DF389AC0DC8C807CD51F
-EB049AC262A09D5355907421A5D3A5903A67C79F2F82BC62EAA06EFF45872229
-1E9AE5A761FBE2BAE8276314A1ABB109FCD681A0E339182720A41099D77C47EE
-7B6586829BC6728C44BA90D2A259130B78EA3648EAADF62B501D8482D7A0955C
-C7972E5C22435AE131CC837EA6481371E79535B455861023D881FFE838FEAAEB
-CA47DDB85DAF8FEBE91A5897CBCFC4E2E49213855ABFE6FBB558A9E27AA46244
-49FD8FABD897417E0008B57675283EFA92780046E5A1D41B3FFB3399518EB86F
-4D110EAA5C0AF45563103B89A9388929E719EF8FE2794B8BD18388DD66F2EF1E
-8C4206510EB7BE863F23D255C45B40CCCFCA951EF67582C00AFFF61C2199B046
-5D7C463F3AD70446A29F899E95EB6898721C737850E4350FD3660BE1FF7B317F
-E2F170120F972AE9923F79D453B5E51845E6264A41E1CD7545C35BC1AAAAA545
-BDF3D419D9D2E6B1F8DC295004689506BDBF6BF47BAC17CFEBB565C41700E784
-70BA1163B66A4FA197EF0D2868B1FC46E0E8695F8C92BBECE917C792442AE284
-A2F859DE93424F51D52D5D1C00DEF99BD1F1160EC2F94F84C3BB59C1EE56CA69
-A6616AD396B9469FBECB6B4986EAF6E439441CCDED87607BDDA10757BD4B439D
-28ABDB82D4CC8D4095831509F1087252BBB1DF0557B2F6275F7CC610E8742C01
-ACD9F985641A3C16A8BE1B172BFDFD36115855AC40A04C6C26060D6D95A10707
-B1F56D0DEDA7A48E25D9281790D3A2FFDDD479F24A3A0E68FD097448CF500597
-B662EF8DD419AE338D4C81859547CB86FABDD162907034D2ED814895115E76F5
-B8BA5DF352CBC93260002C3D72015180067F1A74ACB5A6BC48225E116395EA43
-65C12774423923E4859AF3374456F204E0FDC9460E8EE2E87098B9E7A3977992
-F106D0A8C542DED8B2E4C67527810CD19E03275998684483F33E9A6242ED0330
-EC553A673B1B34C89057D5972BE82AED5E88B5619C748DEBF6EE02489C51D3C5
-6DA3478C65521B8FFCADFA3E569963649019CF46AEA9357B5EDBA74A43A4A199
-A132885B74D5879BD2DDD2E444187737BE8CDEC939500F1CFF538BC8373266F9
-2E91BFCEDF58A2CC1F197EA1A941E85E021AAD4F94AB54986AA42E138BF54E26
-78BC33104EDD4E86565FF8456CD151FA2ECCEFC15943B7F0F23C359608D48D79
-B1BDE2A0308CD359089009E0B39CBC21FA4B337E7F502595D6B22CB92C096709
-EEB2B4D1D8F697EDA69C13EABAC0FAC550C5A15D1018B6DD4D740EDB2F9C700E
-9383D7307D0F6CB98006B0453EEFF884949DE1CDB38A681B412E2A98312C3A8E
-FCDB7080BBCAD61746027D3261389CCC55A6159B18B3B29B36C5071846117431
-C67079CDF2E5DC78EE02F82716E31D6B63AE901E7BFA1EE86F3858FBA107B735
-D42155673489A7714B683D2BC5D630D492F1537823001E70EF18242F06F52F38
-80901A5EF067BE5F2473DBE171E8D85A89796C98074424D384F01DE987F5544F
-118527F4C19427E8338B8CC7050DC48AC4BDB23C160EC2918EDD2AFD17B4DB92
-7B9736676D6AC40AF23A6541AA47141C047D0BFECF7DE8BC917FD34A13F2EB7A
-28A0EA62137A8A1CE7BC5F1439242084A4DF8DFEEF495D308830F04DD7D2286A
-499E3802995BEE8D3236511C1C2F6B5CF4668857386AA2AA42872E5769B49F66
-61F058103691825DCDEF5AA4554F4DA460FACBF69DD8956FE3F1766A72143EEB
-80D4F8D3A109C2277C620322B6B33C62382F4AC88E8A49451914A5FDC69E33FF
-3C65D1FF4A193AEDCA633FC5BAE6D10D63A98E0A2596B6E65456327E59EFBD37
-B5C45EDC86A4BBD9072061856C4FA228250640406F9976645171978F6DFF12B2
-C7946FF5FB10F4532F4A780BA48F5B203B223AF1043646A484CF7B4DB3628B9C
-B06DC7D8847A42F21328BC90A7BD8131B330D9EA2F513C564EB8B4B0EB3E404C
-13069D6ED4599EE4DCCD36A4178007D1AE551FC0863FBDE1CD639F05484598BD
-33325BBE61C5B10EF6A89886D854D6AD643005210262770A6F4D92E7328BB00C
-9E2D4DF7F41D941952F9A08D318EC90A5A6E0EA95DA7F21BBE72DBEA4BBD0002
-C7677F14F2DEFA91794674B4C06696C5D11C1350CFBD4F56FEDB1EFBAF120B6D
-D6CEF9ED27A6BDB215C4D25A0973CDFFDDEE574D4BEFA05AD9EF3BC70129B888
-84B6160AA09A3C2DDF44283511B376658B9985732F27A8B60CB60B87D8BE7383
-6A2EE83043FB5390E0CE89D7CE02E9C0B90183E959CB233AF3754C137962563D
-253B70B07A45DE56E476437DE41DBF7D178A902E899021E822C511CCD4EAA212
-4687E475F6817C093719800AC5E9B6F6F80C7A275DED35E7E8F35D365C070654
-DC5ABEC55536DC085808CE8B657711B9CE5F2347A5F99808EDFC577E587A6878
-DEC190AFFBB5E443EF719E72A8B5541EEE670E90B36042712FBB0AEED585B70F
-4260EC637590AECC2407A7DAB5D789AACC819C3460881FCBD0BDE3DA20E5A62B
-3B021CAC46DC9557559B483AB41ABD4B0EA498F483730454826891EB93523F32
-C07794BE2DEC3A86F0ADE128E9FAAE879A961B04C12F1F0E65CB869DF7C6A79F
-C7CE635163CBE878B3E8723706AB83A9334F4C67F72D28BD1D02F9600BEED3D0
-B4DBC423710CDE7FFD92C96E5B80D79E2142EBF216F4F10A857A744DC7BCFD44
-CA57CC9ACC7726B1A8F09039F77F0B1CD29FD64DFCD6A179961CA869E3AF0A63
-C1D1
+2E080C10DE923C195F9FB3A03CAAEEA6A78E5994B2DC3A318F06679925ABB1AB
+5BEEBB2591961C13F25248DF7E43D2F7D8EF2DFE0C9F6332503E58DFFC63582F
+A120BF80E4342491BFE3833012907CFD93A90AA3E216D6D4DC0EB815173DDE5C
+1B9B2AB54706738CD00FEE5539B6BAFA1957F5A9BF70EEBCCE9CC306B11E36D8
+D00BF55A9FA5CFB32E7CDCA2DD37A5BB2D1F9A8EC0B5C1FB6EB83ACA9BD33028
+7F991C4E7C1BA5427C9D4463C864B44A0A8ABE45F89E3AC2EF454AF0ADD564EB
+8A3B841717842866E2EA6A60AD1926E861C6311C58B110EFA8911575FFEC54CB
+14C69B630B15EB96B1310195FB1274EAA3F3C603FBA6DE75B66E47556197AD6B
+FD13D8BAA3135913B0A7C692238A0450F7734D408552ABC33EF3AA89B7D1C8AC
+1D74CF4703117DD038CC44E24325F00B3A67598BE2A6A218553A744BC88AC513
+AF9FB3489FBF50078B4948BF637F7D458D558E8DA8DDF2F2A5498E52A3AFBE84
+50F28EA42228C1CB07B5DA81C34D733F6DA3BD02224AA73F1AA7FDF92ED9FF0D
+AD7277231AF2BBD9575C73DADAA9A9113DF3899C43C972750B18809815979408
+B477D75F9BAD6DE0339A2DFD07B42A84FDA822D31AB47096B8505F9FA2079B80
+10DD05033A17149C3B7A34BEE8E0962214393A269DF2F2CA131F367DED66320D
+79A03AE8239B8E5A095BB7FC90C1DA766880D29AFD86B9E7F61A3F7A406DD78C
+02CCF7AB8521C47FA61BCC7CFFC45CEDA072972A3F5F5C9FF09C5AF9F00F9DD3
+D77EA32D12371C2377FD2249C74E8FCDC1E389322E7A0616A99C14A352ECDA21
+E6CE1BFA9098C23A7BE5063C4654AB93338B46015B05C850EA549BAC9FF23959
+91966A4F50C5FE67C4D5657632BCEA14D9E226A78F13705282ABFEF36D4327CD
+811B421B12E319356136394B13B1D1C2A0AE9C62D37FA9DE80A00AC25CDEB3BD
+BF74FC8D4AC35C5EF6876D5C0E267847106FE804A1909728A6D75542ECA271A7
+3B4F5C761D3E195E5DE6BB53598EC77322A22AAFF7C39649DE9133EEFA9B3654
+5D0951EC63A5CFAF33DAF36D7778DFC3AC9914919288E3C470FE6D43917D0731
+2BAA724A14C2DE535ABA30380CAE8B192D0AC98FEC1F93A497754B2D3AF768EB
+A990CD19A702C770B7B6DB0615AC790F28CD55B3EB1C810ABB629EAB912AF685
+03D98799716FC3E69B3A6FE4640FE4D2169249A5989C068AAD5A6C185C70E3B6
+4845B07E3CD5C3C340C29F3FBB3FBBA8C4F408089F54FE801A67D0D320946DE0
+CF81EC5D4FFE38CF5C2F8DD4D505F668F45561DF35B6117A7AEAABD46CD3CB83
+26F2A8E51AC3A5F9BA131810FE9D548F0AB54D20FB4FE8B184864720D26F4D44
+43BFCC6070FB83466F17247665E982315994821DE0E6924D4F2DE3621FE25EA2
+D1FE7C26315203C2919AEADF40CC210ECEA00E2AEA76FCA5F38BE974B163D109
+48BA098253209538DC5B4BC02EEE99E68E234C2300E7EA7277524C6D8A92B6B8
+7169F198C9CE8FC862467B5283EE850FEC268A39656C395B34ECD2A990022935
+5673077EC8AD9833E6874C8C992149A836D32729A16984B5D8A18A3DD7A7A04C
+F657CB45A5C00B967B26864BC028D6E84DEAE880C6C5212D5F4FC2929C4BC816
+607556E9618828F6B462CD5D487F281B44A711A37B52685F0EB881742E9C9483
+CBDA125B50585CC0A4FCF825D738CC46B5F1D693ECFD11638D697FC16E2D2C52
+7B99F63D4456A9BA07FFD4F5D49B2862567EFB7BC7C33A3835E7252075245CFA
+4BCD96142A2185E73B1649A348DD67440444D2ABC80573D476624221862F4F1D
+4C8AFC555B65708F031581438B9B658A0269310ED50820E38B3B8725A6A97B29
+98B04F1247FEC25DCBF3C97DA581C98C45185C5343A357952B16ADE3893437E1
+FDEBF35BF4F7A2D5AF54492A9FA18A7F7A97F8BE69DEA33D57752946D89FBEAE
+0BAD1D1C4B0FAAD7CEAECB26F232DA0314C01DE27B0E5DA9565775DED6FC769D
+A6CFFF4E9DAF2F4C6FE1D4FFE3EEF0A1AD8B9A7962A56652361B0DB3B27C4E52
+437E044630C93B67BF1D60CF28886BAF465AA6F44E4B5BE901D83C7FBCC8BF47
+9C5DFD55E6B9BF3520E8598D588B1992ABDDAF159BF48DEFB2C393A6144CFB59
+15DCE0EF0EC32BD5E1B1A0C7C2DF6B28F14D9FF169474F7551E9759012C80C71
+45838DAEE81AEB19C0DCDFF69DBAF8B277A414E34069EDB972D462662A05D562
+C52F89CD26B4F7ABA626E3594428C7CD338715681868D211C58C8AB4A8A1D3AF
+D97A8E0CC1F06443A0244F605408283A34E01BD7898F7DB44E550896B3C20E29
+C0EC3C0666BA33CB37FC2AB60CBDACFBC7F031E04FE1E2BDD8B66AAE5CFAC42F
+59AF8143DEFFD1A0AF78BD4B0F308C2B3678939C1101D6C9CFDAC360D9990043
+3E89501BBD512C9CD8321FB4A61AB75ACD70B5060498E0243199AB40035E46EC
+BF87BE3FB31DDB23C348B7208715DC69DB525C4A85F65F579D3DB1DC207574EC
+EC90C6B0D5837C6384AF77127529778C0579C0379E24194BC97BEAF77A08A5E8
+D70A830D279733FF0F7FDCF0137A40FE0555DB9F7177F84120805F60D120D08F
+720445A8BE8CB8F54AA91BA20DAA3BAEFAD8BBD5B5A6086BB3B52379477466F8
+957F0F061F919355CBD428C5D5027780EC29962567BC8F5E8CC16DA90D8A02F7
+4D7A02FEB05F30838FF1358C9245130DEF0F9D6786ED2CC21394DC92D782F260
+1E755FDF36380FF3FAFF86B0AFE6EC3C6F7F0646B1E967688A2F9088AF47A34E
+C55CF8B4C448E1E3A34987FAB1A7D18AC65B2D18B672D88D9C82D38D73D3B76D
+BAD7C8431F0F3A7D24A3D118D14AA60345C87AF92D7BF9C1BFE9BAC5B8EBA3BF
+E62C289C768895CA437C4F1FE179C12EC83221DBEDF80F46763A0B891E0917B5
+0B214D274B6681AE254721172BA7AECBF10CEFD6CF71F97F43310AE31A411303
+18DBBC4DD143326A22B0D5DA01FD32627383C958BF352C77854BCD6B5AE52D4A
+36D850C91CAC38632EB80396E677513731164ACC3A7198056B46B02A8171EFC0
+E19C4E05A9214566DD5C358A2EE6F22DD401B33D99BF5F8B8BD0DEAB0C6C544A
+D2CAD78521B69F58B7321C18C4E0E97FE1684716D485B12C980C4A263466B42C
+2A01BDDF7A5D0FC8DD75A83959DAFB9B7BC87D1B5F6171B5914878B34CDFD463
+3FBAF3758FD63E5ECE0E86EF5F3AE1A465947ABF33421E111C5C76E28D94A4DA
+B255FC172AC45D34E52AD3F719591A2BD58AED84C1A906F80211D4AAB8189838
+313B39AA70C044C01CB09DF64CCB426480FC60050C965FD05184C0923BD8387C
+93976A1BB5E3049CBDA89307EB9487BEC4C946F537FD278D5CC0764B927AD35C
+249B3D925C0434F55D799D2F42FD6A8379DCAB9350025F6138ED5BC4AB033DC0
+02445CEF7DF52B42B3D841E32A957104B3CDA0A86348886701A39763C5B9B745
+6C24642787F4CCB9593D181D40721161778D65EB8895184EB658CC267824978D
+28EECBDAC4BFD429B2FA117B9FD2AA37BBA522D1CD3C0D027D0FE11D2DA19FA8
+BBEAF201A8DB15CD18B88DBFCCAE92051B80F905B6257C39395D6B792DC549E5
+7CAD489D79059242D71F57CA1C13ADF5A2BC8EE437EAEA7889B1583FB6DB65D4
+0B4B8B27F71F4221DC637479B69BCB071C8619A071D8A19EA1F86408104800A8
+3C08A2E55BC78A48F416CED858B29EE15569EE23824F7474B2154C022B4A029C
+A6B398D15EC7A352C90EEF8F2C946293AAE238113A242A378EB407EFB3C91930
+5F96B9A93C320648C8EA0ABFD072F92B954B64E84EE8B5822A8B8E9C2E672D03
+9CA1CA795CE1F2B6F345926E475BD47C48E4ED0ED7010DFA44C14D8BCDEC0C7F
+BFA4732A73975F1C9C4838EA438149CE62DB2DD99935283572372039E094E691
+74F8801AA0E414783E957B5DE99E55DE8B99A0D53D1C725D7B469587C7A27250
+71708ABA923B08B37F0147364D9C8EEF74FE7EBC06C647E2CEEE77EEEAE97C13
+AA0B25568EF8FCF971CB5AA2DF05D2CD2B03C79350C3ED3EBEA8408253A1E76D
+9B646DB119AA2BC1FFDD56CDA020BB3E08AE16AB0AB41932538CE4F38C69455F
+FA9CFD80CDF8F178C402A6B328F182AF842D7C489191B1C55DC833C414D2641C
+3E0770D4F3C41383F2689DC49E9F560BFEED8E9388CB8C042BF52A9121F4578D
+F2B957786C1252422BC65EB930E13BE614416344C817FD40E9DB6B539279B90D
+0D865F83C0CB1AD567B1B6339C0C5F47C6DBD456CB45B4D27768E71BA3BE6212
+46D0239D970B4D6EBEE52C4A0DDB9F07D69CDF193569688754834BE42624416C
+27135FE152A2FEAC9CB98F3041675B4A4C321E3B2A8681E76A0160644D5B2FF9
+970D2035C3C2AE3E0C6176C7DF7B46BC8286F2959D5DD190061395B58FCA8A0C
+35E3CE3E56B5E7504EBCC9F64221CC07056D3B7BA81E93365A20EA592A853A82
+E261A4CC7F2A6BBD366BA051837BD3ABB5DA5D7B700BECE6E9CB296DFE877E0A
+2EAE61B3898ED4BCA46A06D6E30670E6BD4B8749D993419688C430BADC1963A8
+1F10B657CDBD25653A9F33401688478E9FB00309B756AF05C6F3D0E9E2F3726C
+12DF044561F0878C812A9B55830BEB0CED4858618FCC235FD6C7D1F6198E278B
+0D4A12C2B6994EB41D688BD7D06CFCEED043D0544A8295F811B89E006E470440
+4C8BC39A21A5E00C26D07C37DA951EA36F9CF2BF4473F4449BE816EB733DCF25
+99220E9B3F8E083FE2A7A7F28D5FA867B8562991A543F64D323ECAD370DCF8FB
+94E3A1221C12C84D6ECAF55AE55B5920F60F2051DE3C3179DB49C3E44A6D4687
+FBFECC7A026F590806041DB8B5E2699A2768A8E4B39B4CC3C8A28937C7D264F0
+0A155696106FF74E604B262147CDF20AC9C310644F46544D983501838A56A5B2
+AC1AB33F40572F1DD11775C2F056F19CCCD2CBC45234742DB65D1DF2D3CE370E
+4F3B64283BFDDBCFA51331415CB78E03A73B3E592764F9CACE7BCD69C4B47714
+FDF3E3AE384DA9051DF522A59E3D9499C5DE0C352A880650348D18EAE23A737B
+39840E5B56127C297CDEF537241FC1A53AFF283F6393E74E1F02BEDFCDFD0667
+0BA98DEEE0CFDB5E0C03CA1CF5D2720283EB01CEFB1B79976D6F406FA389B59C
+789559CE3BF2ECB4A5CCFF2CFA855EA2FE6917ECCAC25438DADEC709706E0726
+772AB15D6DCAE1F36AB91EB583D1CFCBE8E007C04366CEFA905E9783C00D4B99
+CA4DE0AC8792A6585B8D471240B51F5BB638B2D63CD5AD9C13ECBDE314F28EF6
+4A4B32D3679BC0009B7845194BD0905712923F88555B9BB80E1957D9CF6378F3
+31AB292B0920D7A7F4D519F8C9A7CBE4988D1C26F9DA61BFD392CB474B4BB668
+FE77DCF953DE8B9DD1608CEC4A26F1AC5DF2C09873CC61B68850D29761D727E9
+912B5EBF7E6E57C503C22F18AB4FC094E3CA7DB7B0345276166EC5CF38C27DC1
+1F337229BA53EB197028FE6829933278953ADCD6FE73AA13204EC1795F25F477
+75A23ECC18D554268467EDF71A3E4642564F3FDC622B23D590994A4DACE02B6D
+0591E13AF6FA382313601A6FD7B6CFEF0179270D75C40635A064B255C14C8B85
+8DB554B30A064B7B7FAE922523E519AC871629C2A73F98EE0184306CE9609C7B
+FF06283A051E48D6E8EFC6B62FC1012264CBFC274C9BC28B12CAD77B43391514
+E3FC9EBA95ADD2481B8949EF4DCE0585BE0E8DCC3F564E4A2B5A00DCE2329377
+149933D27D2AC192CA70F4C78D759854BAADF229D20264E725D886263375CDE1
+7FC3C2FA2AEF0583BE68AC6C694E9C1D5D76273C9ED4786A6F0B0F4CB670F2E1
+05EB78958B038CBBE0BF6926DA3412FAA53269FA60C45E352E2F66000F9CF179
+570D01B796CAF9B2DEBCF35A759E102F589038EB06BC5D7047B9234FFC84C57D
+4710DC3148954E27A3EC7BB7D306943B0DEA92A21B52D33937ACAE51A7DA1C79
+9FED622157B532784C158D9B137741D3B32C70028FE99E54CAA98602E603692D
+E3FFDD148431BDFF8AFFC5FBB10F7F304A42410FB54868B41B2104A8500FFD64
+3437AFF9717E4814F90F742833EE0E9601ED93EFEA6CC174A07F57B7727D6AEF
+6C94EF4905258729023703188A6B69004D25EEA6F2FDA6357A0A83DD49FA3B1D
+6529FDDD8576C8D249B87A00994F315B2ADE21214AA9642A58D2331ED4B2A633
+4325503E9E4D98934EFB374CB5A1D9C76D03AFDE9829F5EA3B21CD685044AE1D
+26FBFAC83068B2AF4BB93841F1CE89A92BA7DCD5C58A020C003D01B389B302F3
+CE95588EDDBD8E6F2AD1FE66B1A27C9ECBBF0AB4A4E470CE288B7599DAD31E08
+C752251C2102B9B78DE589E2E0914A4DC2DF0BAD66A79B444DFA4624C9FED940
+9C49AF5127B6A534928ADA9E971B07245E3E7A5C4B34A30CA7A703BEE659CBA0
+E7ADB8EEC843BAAD46B8681AF4098DEADBE7B56ACC2C5187A961F105AFF18251
+5CB8C886FAEA453F6B9DAFF8AE2CF0FB6ACFDFC8726B657BC13C93F4F4AF0E5F
+1FD259DD724D7A4A9DEBE844A3E8AADCAB1A437DEC6A42BC0FA6CF19C0DA7777
+9393FE650CFEA5761EF824E946BCDE69B6B9DC72F228C34BF2D3A275FE1AB3C4
+B76649FE1791E3124858F8B634D0CC4C68E50CEFAF96C936F16270891BEACD72
+1A804EECD7AA06D8CF90D1FDDDB412B980CA2B8268EFA49328BC7E7C7AE016C4
+4E1DC48118D635CFE7FDBFE223B4A631A94645CE522988621B26858ECA7DC122
+3A1FC1B14750990FF721F1EB7ED1D8B447A51A0DB2C721409707245BC1BB6ADA
+9303713CBA7FA185052BBF254F5613EEFB5A8279212ABC39E340CDB7844459D2
+5DFB805531A4E1BFE7A377A0395FAFEB8CEBFFF8809EC547404986B6D7876752
+C9181E07C84E0114588452844020CF1028E5B782F7D3F2B716836B66C8E68A22
+F55EE41606E0A035FC109AB7A294EA3D504285F28D2B9054B9ADAE04093CCA6E
+3F768CE4E587F85E29496708CADA5BD7719D4650C67FB1458353687DFCFE3B6A
+7868B4BC7B9825A6372B13F455C454DC37B6807A9069D17E7E336360B10CCE14
+83861D6131993FE148A9BB9F7681DCFA477D5E3A3E82CE00650FCE40639992A6
+4D1206C42BB1A87BB3ABE72966C48F85F5237A7A1ACF7E4FD71105A65F0D1F01
+E01C7B7DEDC88198C7CCE8617E109080BFE1F2AAE6AFD476A71F4EE67EFB5692
+8F35045C3DFA8B18957D87923C66951080414A229F8C83B72A85CD060C6971B8
+1EB996B4E8F13536E3903BC49EEB3E736D5DC41C63356F0FE468CC0B872E44E5
+E7B78DAEF8C0F79D26F3EA6F08C80258429F21394937B03421F39035666B2A9F
+4EB75DFC2909F60D19669AEAF8933E1D5A7E9CC45ECC34D68854124B62D0FCC1
+05946FE9C0E872380756DFE431EE8B5941F03C7832C1BD08E8174216E4018821
+3EEC3E49097E8421D92785868785C6D883EA8181E820BEC8C39E30386B59F099
+B8BC4FBC1D22608FFA88C4DB42D79290FDCE5A68AE57F751CD8CC5AE6CD9181D
+C11FC078DF2933CE800AF554C9D857A58E29B60E01E77AB1703188488E4CBB01
+BC821D7254B0AE1B3DE113CD6584C18D89472BE9EBD1DFCCA15CE83F7C8D195E
+EA75DCA5316CE3CE6087F85B895F7DF73D15ABAB6DB710B478C17F1C17F7C770
+32A1E39FF1EAB4734D2BA37AED9A296BB5FE06E220871FEE08CB67E5F429930C
+84F23DCE0F3F0415775CA86C871CEB7BEBE68DA4D39780B12D11E2A8A49F2724
+95FCFB836C880BB3BD3EEAD4A4BD4416CE9EDBEAB4AFF4E0494EC8A4228A4BDA
+7B2DED10F7B1C46D13C121CC6ACB12664E492E8025C344A5F71A7B8B3BF099E3
+5BD0A9C72BCD1297C634CE18E5B7B857902EE403CB275AF0A6F0B986ED8B01ED
+3A9418AB0EC6386EBD13A3608BC0FD8DC7D55F7134CCE3C62BD499655DD03FBC
+FE82A10C9D4B9FADF7FF06A62A1C5FD3C6F4AD8195551F82D960062FF58B29E5
+ADE3A77BD9AD07A277DE8333DC431C18FB39FC035ACEA068170181DC571C374A
+69D5F07D0B64BFF4C3B79DE152A055A0EE5A18522D74E59FBF796017E9B4EC86
+6B108A9CA1386458B2B6AAB7909794942E70AE15D9543A87F2A8715A639BD2F8
+3EC20F8DCDD32D2228DB053BA5B1F54A733965332DF51F44C6B6291609E2CC46
+D80C8759EB5E1CE7FE3E945C2892FC1396AEA8BE5501AF3DEE22DAD887E7BB49
+2AC303D5A1009869E4ECC7F2C9B759BB1C2B441C866473C67B6F246E5E81EC55
+6C0E1E117440A4C71ED8F77FF9FE77601C8B1BD1331EC06157FBDC52DBC85A9A
+8B6F0A7D578DBA4923CABB923D6E87A6AFEEAD714AEB730930B1A08C3368CEC0
+6811253A57630C1B25C4148FDBEF94F6B5DF38EBB862651780AF468127EB084A
+914BE8CBD4E96557B2718F1F2623DA3DCC3391CC68D71CC1545F8D3082736969
+D8501656BA4A689D41D2310F4B7B36F271EF16927CC828C1A8B5467D26250BED
+A1C8A8BAE59B5C657BCDB7350D728B21DDF1E848D9482228CD120C85FC9ACDDB
+978AC509F933470EDB1A31CDA4850C368D8FF7C1669CC62C286979AE74F07FFB
+E2FDA0869C0D5884B9E48457EC19EE3E95B4DA9605D611DB1A5CDC2487A7CD0A
+7A0CCDB7BDF4B032B62E8551C4B948025F22404CCB18801CF9FDAE0C9C777B73
+A25008CF809712EBCBB770B250EA9347C864064AA88F942286FE1BD04E99A385
+B2DE0EFA3DC20FA84E15AF6B4CD6ACDAF67717827CAFB6BEC5C23552566C4B3E
+2DF783F09EE7E9872D1892ADC49BF9103E1B705EBCE07F7041BB29C0950CE6C1
+BC719ADAFAB7BA379DC44BF0EB42A306384BEE1C2266F509063A91F989AFF994
+DC94290DDCE511D731F2D1016D2076377CD41A44EBB569AE1E01D5B8253F58B6
+1D834CF2437B10CF22F9EE9BAC3C942D5565E8807C5C0005E9C764531DA374A0
+D3D6343FCAAC903C5F6845ABF15651D91EAF66463ED51E098BF31C911050A7EA
+826B8FCCA42C2664FD31F2D37A930F6BCCA2BBAEE925B232C005107628BCCC2F
+D8EC132E205A888D79ACC0BF5651EF2BC73003144DCA4D30F2E3FCD80B1A93F1
+D177C1F556BFB1A925F52E82B9E3CFFCA4C6683F5EA237AB81DF8C533DEB2EA6
+6263DF951938A62AF2B05BF8D1A5644DAE0125899B6438D5223944C9FCC8076A
+5CAB809BEC2EA32016FFF0A2D69EAA2F0E85ABA5116D3A18E6A2D01A1F525144
+94502CFF746D8CC1201EEEAEE04885C15D66F62E54ADEAA008C53F5550F76C94
+62BE7AC0BFD4DA723E8A6291B14E2CFF4F59965A39EA256726D296F1DA987995
+2E1BF72D17924B88BC285F1799C930FDE1C701ACF32E3EFAB5CBF14084DBEDBD
+FDE3711FF58C0B7DBDAAEACAE9869559767C4AD35820D2B2569E8A7E1884E363
+E597F6956A036C65BD1F36085743AAF8400F3028CE806F4BA722300DA8C16ED0
+2561339100E28E07F7F372FA9676047B471777292045AECB35471BFB02EE0754
+FD2B321388A7D1EBE5DBCF70E9A1F144C80BEC5FA78277C16A9073C6D83B19FC
+1B2817027169660B8BA2EB08445BE1C66EF2135E453F41FA094E6AB4D505187E
+C67821FA59C9322253100E4422D593627BEFC4C30296ABEACC704FCFEB7EA562
+12C4D93839F26DD0133DF5E839C8D32AC273B2923B29EDED7436FA9DE8F907FF
+B6C1A15248DA6548C53C2506CD9E99B627BED7C518988ADAEB7BDF5233DD9DC0
+F68608079220AC2BF3AC730605E782132640BF4C869A9983AA3861C474DF9F46
+5A0644313917D426B1408AB392199A758DB4A15FC2AA965BFB0854F4698E3347
+368E40396715620B5D7A21FFE9C7636DAAC7E4B0DD44D9D6EE6FFAE47B99661F
+7CD3601FCCCB4F0489996F6E1F510F79192F50CABB38C51A6A3F954C2748A0AD
+A69221E7ACAB681AC81AB52EC969D5B8DA96BD6B34145E52DFE419BA5A825561
+4D2B2D8B32376D17DE4AAFD72BB54955F68BA791E01957FFD02BEE0F4BEB00E9
+C829B6682E6B6F4454FD3B79C102C2CC60BB384878DA057CDD1493E0F8A5A15F
+8000295338DDCFFFBCFC44F27C2DFB07FD0ECB0018C192EFC34A6DC1F9176851
+3E0328B62E589154241721E0541962765F0190A9D17CF219F663125288AE196E
+CF6F784A7A635D8CFF6A76D0E11465EB8A63C2A4D4E9A5C283EDDAA489C7FBD2
+73CF2C91A0A1C33110F88D5B6D27A0B352A6B9E10EBEBDB3B826EEB50841554C
+8B69094C65555429252AF4D3B924CF411BEB9AEB235429DE4936E7798A8D610C
+377E294A19B1DBD9CDF8A63F6D7CDCE28B72DB4C7F0F6EA1F6DC8F4686B3F1E3
+B8C67AA7370D607DB6DD0263393E6486AC09CF6B489C45C9B2E8B2C72891D307
+488A58E440B956317C1D5FB8F98930AF076818780D25EA2C0D0819CD7E5CEB7C
+497981D54B1D8F8E62BB07B2F5242883CF314331A81BE11DB375B895212B5A83
+4E68377DC532DE6C9F639474F518B60CDB5CFB9CD3DD963BD720CDAABC82E7FD
+0D540442FA9763488B77A0592FEF7AFFBB40B80CD0F42CE73615D7190219ACB5
+1BDABAFD4E51DEB4AB0C296738AFCAD36E57ACA30CCDA22B79E67C3CD89AF603
+5EDAC77A324B6A0BB4C89B7BB17EF43A1BAACDCC8A3E626B8B11E8DE73BFFE07
+45210F8BE4E530623890F4039B65117F0523D9261988F1EDA864AEB2B37528C4
+D5C6A0BE0BBD170E505451C53B381FBD3ECB7A329F7E6501BEBDA228440CFE12
+768F5FC9DD948C6E92060B64465DF451ABA0BBEFA8D8C1CEC434AB82FA978967
+3A01813BBC9147105F2C49504CF9AA9CFCEE4A976DA3ADA0D6207DF43501E06F
+5226B6B90433790AB24009ED005F5CC228F05E221485E475389A253124A49074
+2C3983517CB731B50F2E4003B1E25F648794A9AD8E64BFEE2DA083B32EE2D0F9
+2CE8820EEBA9B91E7D1561D8B4FC45ED66C95D364524FE7CBCF7B16EE97DB739
+B9B45DDB8C45918B0664F6BE537AE14671D8AEC2F4807341ABBFEA7A1CD63CDC
+CFDCEED3DE1035AC803AF46305983BD156B089ADD0A81CD9988280A9E16BD900
+A65A332DE5F3A2E2433DB662255FD31580C88854E754817125B059F10000A1CE
+441E40ED502BA7F620E21F6FA85F011F281DB3CB63723A8A66C4F1288170351A
+042CEDD611AF550E235E9ED1BB2E878655D68BA7F7602E84237C52F99D95DBF9
+FF8F68E98C081209390368B65E4F94587F9E0DD527146A592D807DA4D377C0C9
+F2DBA29080842E6D3F7F34E11454BF54BD9F312308A73CBF464C0758E517DB00
+73F494D29CF03D40FB6842E2CA8C8E7309500F35F47DF50847CF47AE5FA60225
+F468DB13E79532AAA4272A45F1A55CBF7E0C01B7A54D5AD1186BD1D73E602162
+01E24798F5BFA86787A5DA2695E3354EB25B7DB726FAB3A17FA09A6B212F051F
+F6FB3215A24A05B3D3F4F93634B4FFF4960BE17644A981B9FE17B586F952E4C8
+7506F4F0590EC85128AFF5C7CEFFD6BCA39261E0C5275D8C8B03A5CB52C7D5CF
+B9183782E12AA1184373C41EF0E5E759EFF61EB627ABFCA8C90D2A1DAEDD7422
+1CFFDAE95479ED216468ADB29ECD32654FF799C1EB92C64A844A55BC52D513C4
+DB2794F2D436D4F9A224CB760781143C61A92161D563F0AFA6842D61E96D8FC4
+8353102B2520DD96B25E41F968CDE061E80BD0FA0820D7B98471FAB1889293E8
+5A0D903B6572B1163998B02432AE8D020304F200FE743B5AA6E0C0B7730CB260
+06B5EE9FCDF4A4BFF2C8E523703565EC7DD6CF077A0CF27A80C6ADF54148F28F
+2B774E35E1FEF541418F38DD2556FA01BC257076AA9872B6456C6F5C959BE404
+CB6673B29D63868CDBD199D643EEF0D59DB858FBFD759C812C7EEC46720217EC
+295543072288962D4063A1F08030BCC6EA1EFA3DA5FF240F216C90322D34FCBA
+9522FF5623A082B828AC9C2EA9666A1C0C33725502F86AEF34E884E17160291C
+8659DF678716331930EFAA7096AA26E6285BD4CA81B8890D48378B62867F7928
+3D78C20B5655BC15C81961A0238043EE85E09247E1847E4534F0ADAB4B51D39A
+99944191109D0FFD4809343E39FBE36B05B947C4EFF2CB26CAB8C540C7D215D4
+D3E4B0C116851A9B4858DBE7BF9E19975757A59AFD6DDE4285B546020123D0AA
+C03A073004396E54571D0DBB593DCE2E4C29A375B8001970CB88E500E6AC8628
+B0D0E414CDCD7F5AC164D1B03795442B7DEC0FEFE0318C327E766DB06B112BDB
+18B06908B760B4804A5F55881AEEBA79704454852D7EF4C75A58BE0F02CA46B2
+E4183D4326AE732D5105DBD50E55DE2BC2406B66589F711A7CCF4CBC3C95AE62
+BCBCA54F63440A6A2EF1F7897FFFA4D1D479769137E06EDA52707ED2536359DC
+D7A54EF6E1BF5FF917AC2E499AD9C4EA1B7D81D03C9F14AAA9D85E6951712E3D
+8E9CB2370FF6D068A9D80203247AE015E4E1C9A8C252DF6F287A1B2AE74607DC
+96A63A846C24F3465CDE3D7C54A11D35A15EB5BA9943AFDBF9414CF00CC1C3AC
+512787218DE526D4549F4506279CD297DBC84A5CCF67BC922C4F158810558805
+344A7F209E977E13E700387ABDEBD9C26155747A9679E5D0B15A8820FD1E97F4
+478DCEA900DAC3751439EB73DE0D0AF49F1AF0606511E3812D81AD585AA7EEAA
+13CD7EC33D9F6A90370D5198184F47B75E6F0DFE40F0AFD2BFDBE46B2F4AA233
+47622B9B863E728096BDC9559CF0FF5F1796C50258E75D90A4AFBAC4A17EB9C4
+466C58C9618BDA37967F172EF7DFA4614B41F05838AFC2E31DB21A8ABBB903E8
+7F5BCF4E4A1E0BB48BA96C999483054FAA7086EED4F329B15C73AF7A48B4E046
+54DBE0B7BDBB377D74CF97B8184B10D3EAE35665140702D3FDC76F25DDABA545
+54B2A10C965315DDC1F4BAF074984881FBF5EAA91355FAAB57CD2B35A009FAAF
+B509C32E0DE465688F55A4BD86295B4CF8DE632D1CF1ED8FC9A3B443BB11B2C4
+26D566465ADD22C061EABD8C48430BA23290DC8A22FE12A49EF82C560EC2790A
+9C87CA983B173A5CAF4B89EA9700A751546CEFAEA91F7FDD678CB77929DDD5B9
+4A405EC6BC3A4823915A3CC58400966A64B92D23DDF891EC8D0AAAF2A4AA6CC0
+0AC53F6FD876A44CC621307CB9F34F0380B991A55FFE1C9FA8775BB842B0C89F
+DAF0D32FE956947EBE97D5703582AAEF3D4DFA918F028636F80920DDE2D3FEBF
+ED998E530D59CC919A2DBF6DF91192097B160C6168310BCD1F8600C18B3DC46E
+A899979F762C1426ED046D94486A149B08B476A2A67DAFFE87C812CC84A5A7F2
+FFA96E4712592AE0F3AEF41983B19FEDAC029EB6E99D130856B2E7516F192783
+9A57B32A047C95CFDEEF612FB006C07E49AA0A9052232BE5CB243C8D9078B077
+0BD19CDB8AF2C7F56FDF7BD826E1D8ED52D7D994EAAE31661302651651EAAAED
+DB4C8E62F9793539BC54E33E682268A10190A1AD8C30359821A26C178E3EFE20
+8BB0F168DFBAADFD297737640B7CEE6BD6AD96AF38570490AD7C7479D2A42296
+9BE596CB48A0DDE1EDF46FCBEE7C62C3F2B3FC989371D057EFE951AFCCC84CD6
+BA834EEFD27B14F9BE22BE047892D9DB051A11756ECEBB27CB8F1A1C516F0B27
+EDE6A8FFC9645B383C6B9F2C5D1EF5C6B9D21450BB199F99B611A6124E1868CE
+7CAFA0A287ADFFD2C8F28A8E68DE6F77FAA0256F6D3432FC886BD17658F0C0C7
+26879EBDD3D021D6FD5C20DB7DE49CB11E85F727C6CFFD188563874473D3E90B
+6171BE1A410B74BEA342360C0C95D8963E03C1F1816CE5E75531FFD42D9EB334
+CC2118C94269E229AA825E1750DFC6CA12F62875E3CFA4883B28E307EDC2DE52
+10EC5F0C2CD03A0B796E34D71CE901438D59288ED1A4BF063B2BB042DD9A0863
+F356D1AE896CA6C9DE32D0717E880AAD1440E8E1C34E7BA81DD4C65290638369
+6E37E74BDA09AE2AB1FA8DE2CB27A88D43DCEF77DABE29526C006541EB2843BB
+E83ECED0E872136662D81295D55F860A6C2183DCEA90D9FE702F510C5B62BAD3
+8834110293318956D1724C07794A6F8D6A312118333B5DA3AE05DB7C773EE7AD
+EA36A38FC4EBB21CF46E16A33B76D50CA6789AC16117CB1254C1FDFE5F51662F
+E442D9C52AA971C031FE337741E63DA8C1D544E68F0F80CC6D2CF141EA89638F
+9D14F1A63DA1503AB23BF1D7B19E5E0E543660F3ABACBCF3D0FD3F288A8EB696
+B1EF39C30042BFC4A899E4B528B38E8EEF04DBDBF072C31FF0D7A4F8A406F6F9
+6D40D86C613305B82BC1BCE1D29152D63FF0277248E618C42AE5F35B02293F3A
+981ABB4CF0D5349944F5EA5AC9BE4D7F86E18AED6548B98AB6F63E046ED4D1A4
+98BD87B5CFC7C541E3DC974554EF88290E00FF088A42363A74B6B2B5CD073C72
+917AB7C15AC443337F5552C183AC8271D7584E952E3C83A2205AB00E16A974B7
+0D4B908402BC16FDE747592952B5D2105E223428F1DAF74C85879CF74CA6D181
+7722E820B30CE7FC492E67C3D29B22D998AEEADDD054674D71C98E720CFEDCFE
+165BD34889992AF05778FE73C99087C7CC6288847D879EC77C21C73E5AEC1D05
+08BCEB3689CC9D7E197F95087AF8B16DBFD1BDC1CD450948237C54C409A9FE85
+BF0385545954105364DF6AFE293C36E236616A981C2B1A2311F9338426256A69
+F7A896D9BA6530622D1191E82317DCAAD8622B51DA357014203665315E09406A
+691EE4D94B6D84589DD8D3A8B594455F66A74824F4739C5F5D8E956525CF9273
+05E3094E4CC0FE16FC5F0D68556CB0120AA431737837CF774B06BD17D6287781
+350DB06055A3BFA5E7A0253136CFC871A26F1477B3C6AC4D0C54DBB2D5BEFDE6
+A7E4914ED195CEBBFF8E1445C7EA36875770631D5E417E7CD6EAE8C1B13441EC
+F62CE056CFB2DC8368F4C0B2D65AFACD82E07324C3F8904CB71AF2E85CC98116
+9A7F9394ADAD6B8107D6358E7B465E454D058B78BE2A55D0B937561535265BB1
+4184F8D7723BC0F7CA7B5334009C7624D30E846B3DA4CC77CF54364B34B2F25E
+77664C76F12462C5B2D2EC2178BDAA2C35011DCA5E094DBEA5BFB8342BBD9677
+FF493BA9B30F2F8D1250D4B1D5B51BB6219C673FD0145DD86900398F796B8AE8
+5868D33B8E71ADB374DA3D312FAABE8B32276D537966758C57A18AD3A8890806
+1FAB4F9F6A5FC613EF38CE39A1567E520F779E98
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@@ -4277,9 +4269,9 @@ TeXDict begin 40258431 52099146 1000 600 600 (bashref.dvi)
48 48 1[48 48 48 1[48 48 48 48 1[48 6[48 6[48 48 48 48
2[48 2[48 2[48 39[{}50 90.9091 /CMSLTT10 rf /Fj 134[65
65 89 65 68 48 48 50 65 68 61 68 102 34 65 1[34 68 61
-37 56 68 55 68 60 34 6[93 1[127 2[85 68 92 92 84 92 96
-116 74 96 1[46 96 96 77 81 94 89 87 93 1[58 5[61 61 61
-61 61 61 61 61 61 61 1[34 41 34 4[34 26[68 72 11[{}63
+37 56 68 55 68 60 34 6[93 1[127 1[94 85 68 92 92 84 92
+96 116 74 96 1[46 96 96 77 81 94 89 87 93 1[58 5[61 61
+61 61 61 61 61 61 61 61 1[34 41 34 4[34 26[68 72 11[{}64
109.091 /CMBX12 rf /Fk 135[42 1[42 1[30 37 38 1[46 46
51 74 23 2[28 1[42 1[42 46 42 1[46 51[33 32[51 12[{}18
90.9091 /CMTI10 rf /Fl 135[56 2[56 1[42 55 1[51 58 56
@@ -4293,27 +4285,27 @@ rf /Fn 197[33 58[{}1 119.552 /CMMI12 rf /Fo 134[85 85
21[91 17[45 1[91 12[71{}5 90.9091 /CMSY10 rf /Fq 134[48
48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 25 51 45
28 40 51 40 51 45 8[68 93 1[68 66 51 67 1[62 71 68 83
-57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45 3[30 2[45
-27[76 1[51 53 11[{}54 90.9091 /CMSL10 rf /Fr 134[71 71
-97 71 75 52 53 55 1[75 67 75 112 37 71 41 37 75 67 41
-61 75 60 75 65 3[37 1[37 1[102 102 139 102 103 94 75
-100 101 92 101 105 128 81 105 69 50 105 106 85 88 103
-97 96 102 105 64 4[37 67 67 67 67 67 67 67 67 67 67 1[37
-45 37 1[67 5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12
-rf /Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48
+57 71 1[33 68 71 59 62 69 66 64 68 13[45 45 45 3[30 30[76
+1[51 53 11[{}53 90.9091 /CMSL10 rf /Fr 134[71 71 97 71
+75 52 53 55 1[75 67 75 112 37 71 41 37 75 67 41 61 75
+60 75 65 3[37 1[37 1[102 102 139 102 103 94 75 100 101
+92 101 105 128 81 105 69 50 105 106 85 88 103 97 96 102
+105 64 4[37 67 67 67 67 67 67 67 67 67 67 1[37 45 37
+1[67 5[67 112 1[41 20[75 78 11[{}73 119.552 /CMBX12 rf
+/Fs 129[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 1[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
-48 48 48 48 48 48 48 48 33[{}93 90.9091 /CMTT10 rf /Ft
-131[91 45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25
-48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68
-68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71
-59 62 69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45
-45 45 45 45 45 25 30 25 2[35 35 25 71 76 45 1[45 25 18[76
-51 51 53 11[{}88 90.9091 /CMR10 rf /Fu 138[108 1[76 79
-3[108 1[54 3[108 1[59 88 1[86 1[94 14[144 4[184 10[138
-66[{}13 172.154 /CMBX12 rf end
+48 48 48 48 48 48 48 33[{}93 90.9091 /CMTT10 rf /Ft 131[91
+45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
+25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
+68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
+69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45
+45 45 45 25 30 25 2[35 35 25 71 76 45 1[45 25 18[76 51
+51 53 11[{}88 90.9091 /CMR10 rf /Fu 138[108 1[76 79 3[108
+1[54 3[108 1[59 88 1[86 1[94 14[144 4[184 10[138 66[{}13
+172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
@@ -4326,8 +4318,8 @@ letter
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fu(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Ft(Reference)31
-b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.1,)g(for)f
-Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.1.)3145 1697 y(Decem)m(b)s(er)g(2009)
+b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.2,)g(for)f
+Fs(Bash)g Ft(V)-8 b(ersion)31 b(4.2.)3145 1697 y(Decem)m(b)s(er)g(2010)
150 4935 y Fr(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068
y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
@@ -4335,12 +4327,12 @@ b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 2889 a Ft(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
-(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.1,)c(23)f(Decem)m(b)s
-(er)g(2009\).)150 3133 y(This)f(is)g(Edition)h(4.1,)h(last)g(up)s
-(dated)d(23)i(Decem)m(b)s(er)h(2009,)h(of)d Fq(The)g(GNU)i(Bash)e
+(the)h(Bash)f(shell)h(\(v)m(ersion)150 2999 y(4.2,)c(28)f(Decem)m(b)s
+(er)g(2010\).)150 3133 y(This)f(is)g(Edition)h(4.2,)h(last)g(up)s
+(dated)d(28)i(Decem)m(b)s(er)h(2010,)h(of)d Fq(The)g(GNU)i(Bash)e
(Reference)i(Man)m(ual)p Ft(,)150 3243 y(for)e Fs(Bash)p
-Ft(,)g(V)-8 b(ersion)31 b(4.1.)150 3377 y(Cop)m(yrigh)m(t)602
-3374 y(c)577 3377 y Fp(\015)f Ft(1988{2009)35 b(F)-8
+Ft(,)g(V)-8 b(ersion)31 b(4.2.)150 3377 y(Cop)m(yrigh)m(t)602
+3374 y(c)577 3377 y Fp(\015)f Ft(1988{2010)35 b(F)-8
b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)150
3512 y(P)m(ermission)h(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d
(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m
@@ -4421,7 +4413,7 @@ g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b
Ft(7)275 2523 y(3.2)92 b(Shell)30 b(Commands)21 b Fm(:)14
b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b Ft(7)399
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51 b Ft(8)399
2633 y(3.2.1)93 b(Simple)30 b(Commands)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57
@@ -4432,13 +4424,13 @@ h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
2852 y(3.2.3)93 b(Lists)30 b(of)h(Commands)15 b Fm(:)f(:)h(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)45
-b Ft(8)399 2961 y(3.2.4)93 b(Comp)s(ound)28 b(Commands)22
+b Ft(9)399 2961 y(3.2.4)93 b(Comp)s(ound)28 b(Commands)22
b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)54 b Ft(9)524 3071 y(3.2.4.1)93 b(Lo)s(oping)30
-b(Constructs)11 b Fm(:)k(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)41 b Ft(9)524 3181 y(3.2.4.2)93 b(Conditional)31
+b(Constructs)8 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
+f(:)h(:)f(:)g(:)38 b Ft(10)524 3181 y(3.2.4.2)93 b(Conditional)31
b(Constructs)18 b Fm(:)d(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47
b Ft(10)524 3290 y(3.2.4.3)93 b(Grouping)30 b(Commands)15
@@ -4447,392 +4439,396 @@ h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45
b Ft(13)399 3400 y(3.2.5)93 b(Copro)s(cesses)18 b Fm(:)d(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)47 b Ft(14)275 3509 y(3.3)92
-b(Shell)30 b(F)-8 b(unctions)29 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)58 b Ft(14)275 3619 y(3.4)92 b(Shell)30
-b(P)m(arameters)17 b Fm(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46
-b Ft(15)399 3729 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)20
+h(:)f(:)g(:)h(:)f(:)h(:)47 b Ft(14)399 3509 y(3.2.6)93
+b(GNU)31 b(P)m(arallel)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)55
+b Ft(14)275 3619 y(3.3)92 b(Shell)30 b(F)-8 b(unctions)29
+b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58
+b Ft(15)275 3729 y(3.4)92 b(Shell)30 b(P)m(arameters)17
+b Fm(:)f(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(17)399
+3838 y(3.4.1)93 b(P)m(ositional)32 b(P)m(arameters)20
b Fm(:)d(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)50 b Ft(16)399 3838 y(3.4.2)93 b(Sp)s(ecial)30
+(:)f(:)50 b Ft(17)399 3948 y(3.4.2)93 b(Sp)s(ecial)30
b(P)m(arameters)16 b Fm(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46 b Ft(16)275 3948
+f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)46 b Ft(18)275 4057
y(3.5)92 b(Shell)30 b(Expansions)17 b Fm(:)d(:)h(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)46 b Ft(17)399 4057 y(3.5.1)93 b(Brace)31
+f(:)g(:)h(:)46 b Ft(19)399 4167 y(3.5.1)93 b(Brace)31
b(Expansion)21 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(18)399
-4167 y(3.5.2)93 b(Tilde)30 b(Expansion)10 b Fm(:)15 b(:)h(:)f(:)g(:)h
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(19)399
+4276 y(3.5.2)93 b(Tilde)30 b(Expansion)10 b Fm(:)15 b(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)40 b Ft(19)399 4276 y(3.5.3)93 b(Shell)30 b(P)m(arameter)i
+(:)f(:)40 b Ft(20)399 4386 y(3.5.3)93 b(Shell)30 b(P)m(arameter)i
(Expansion)18 b Fm(:)d(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-48 b Ft(19)399 4386 y(3.5.4)93 b(Command)29 b(Substitution)12
+48 b Ft(21)399 4496 y(3.5.4)93 b(Command)29 b(Substitution)12
b Fm(:)j(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)42 b Ft(22)399 4496 y(3.5.5)93 b(Arithmetic)31 b(Expansion)19
+(:)42 b Ft(24)399 4605 y(3.5.5)93 b(Arithmetic)31 b(Expansion)19
b Fm(:)c(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)48 b Ft(23)399 4605 y(3.5.6)93 b(Pro)s(cess)30
+(:)h(:)48 b Ft(24)399 4715 y(3.5.6)93 b(Pro)s(cess)30
b(Substitution)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Ft(23)399 4715 y(3.5.7)93
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)57 b Ft(24)399 4824 y(3.5.7)93
b(W)-8 b(ord)31 b(Splitting)20 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49
-b Ft(23)399 4824 y(3.5.8)93 b(Filename)32 b(Expansion)13
+b Ft(25)399 4934 y(3.5.8)93 b(Filename)32 b(Expansion)13
b Fm(:)i(:)g(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)43 b Ft(24)524 4934 y(3.5.8.1)93 b(P)m(attern)31
+(:)f(:)h(:)f(:)43 b Ft(25)524 5044 y(3.5.8.1)93 b(P)m(attern)31
b(Matc)m(hing)d Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)56 b Ft(24)399 5044 y(3.5.9)93 b(Quote)31
+h(:)f(:)g(:)h(:)f(:)56 b Ft(26)399 5153 y(3.5.9)93 b(Quote)31
b(Remo)m(v)-5 b(al)9 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
-b Ft(25)275 5153 y(3.6)92 b(Redirections)26 b Fm(:)15
+b Ft(27)275 5263 y(3.6)92 b(Redirections)26 b Fm(:)15
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)55
-b Ft(26)399 5263 y(3.6.1)93 b(Redirecting)31 b(Input)23
-b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)52 b Ft(27)p eop end
+b Ft(27)p eop end
%%Page: -2 4
TeXDict begin -2 3 bop 150 -116 a Ft(ii)2612 b(Bash)31
-b(Reference)g(Man)m(ual)399 83 y(3.6.2)93 b(Redirecting)31
-b(Output)26 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(27)399 193 y(3.6.3)93
-b(App)s(ending)28 b(Redirected)k(Output)12 b Fm(:)h(:)j(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)41 b Ft(27)399 302 y(3.6.4)93 b(Redirecting)31
-b(Standard)e(Output)h(and)f(Standard)h(Error)d Fm(:)15
-b(:)g(:)h(:)f(:)h(:)f(:)g(:)58 b Ft(27)399 412 y(3.6.5)93
-b(App)s(ending)28 b(Standard)i(Output)f(and)h(Standard)f(Error)19
-b Fm(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)48 b Ft(28)399
-521 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)c Fm(:)15
-b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+b(Reference)g(Man)m(ual)399 83 y(3.6.1)93 b(Redirecting)31
+b(Input)23 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)52 b Ft(28)399 193
+y(3.6.2)93 b(Redirecting)31 b(Output)26 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)56 b Ft(28)399 631 y(3.6.7)93 b(Here)31
-b(Strings)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58
-b Ft(28)399 741 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)16
+g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56
+b Ft(28)399 302 y(3.6.3)93 b(App)s(ending)28 b(Redirected)k(Output)12
+b Fm(:)h(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(29)399
+412 y(3.6.4)93 b(Redirecting)31 b(Standard)e(Output)h(and)f(Standard)h
+(Error)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)58 b Ft(29)399
+521 y(3.6.5)93 b(App)s(ending)28 b(Standard)i(Output)f(and)h(Standard)f
+(Error)19 b Fm(:)14 b(:)h(:)h(:)f(:)h(:)f(:)g(:)h(:)48
+b Ft(29)399 631 y(3.6.6)93 b(Here)31 b(Do)s(cumen)m(ts)c
+Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)56 b Ft(29)399 741 y(3.6.7)93
+b(Here)31 b(Strings)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
+(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58
+b Ft(30)399 850 y(3.6.8)93 b(Duplicating)32 b(File)f(Descriptors)16
b Fm(:)g(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46
-b Ft(28)399 850 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)19
+b Ft(30)399 960 y(3.6.9)93 b(Mo)m(ving)32 b(File)f(Descriptors)19
b Fm(:)d(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)49
-b Ft(29)399 960 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f(for)
-f(Reading)h(and)f(W)-8 b(riting)19 b Fm(:)e(:)e(:)h(:)f(:)h(:)f(:)49
-b Ft(29)275 1069 y(3.7)92 b(Executing)31 b(Commands)17
+b Ft(30)399 1069 y(3.6.10)93 b(Op)s(ening)29 b(File)j(Descriptors)f
+(for)f(Reading)h(and)f(W)-8 b(riting)19 b Fm(:)e(:)e(:)h(:)f(:)h(:)f(:)
+49 b Ft(30)275 1179 y(3.7)92 b(Executing)31 b(Commands)17
b Fm(:)d(:)h(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Ft(29)399 1179 y(3.7.1)93
+(:)h(:)f(:)g(:)h(:)f(:)h(:)46 b Ft(30)399 1289 y(3.7.1)93
b(Simple)30 b(Command)f(Expansion)23 b Fm(:)15 b(:)g(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)52 b Ft(29)399 1289 y(3.7.2)93 b(Command)29
+(:)g(:)h(:)f(:)h(:)52 b Ft(31)399 1398 y(3.7.2)93 b(Command)29
b(Searc)m(h)i(and)f(Execution)d Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56
-b Ft(30)399 1398 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m
+b Ft(31)399 1508 y(3.7.3)93 b(Command)29 b(Execution)i(En)m(vironmen)m
(t)8 b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b Ft(30)399 1508
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)38 b Ft(32)399 1617
y(3.7.4)93 b(En)m(vironmen)m(t)18 b Fm(:)d(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)47 b Ft(31)399 1617 y(3.7.5)93 b(Exit)31 b(Status)c
+(:)h(:)47 b Ft(33)399 1727 y(3.7.5)93 b(Exit)31 b(Status)c
Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57 b
-Ft(32)399 1727 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)g
+Ft(33)399 1836 y(3.7.6)93 b(Signals)15 b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Ft(32)275 1836
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)44 b Ft(34)275 1946
y(3.8)92 b(Shell)30 b(Scripts)23 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 b Ft(33)150 2079 y Fr(4)135
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)53 b Ft(34)150 2188 y Fr(4)135
b(Shell)45 b(Builtin)g(Commands)22 b Fn(:)e(:)g(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)67
-b Fr(35)275 2216 y Ft(4.1)92 b(Bourne)30 b(Shell)g(Builtins)e
+b Fr(37)275 2325 y Ft(4.1)92 b(Bourne)30 b(Shell)g(Builtins)e
Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b Ft(35)275 2325 y(4.2)92
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)57 b Ft(37)275 2435 y(4.2)92
b(Bash)30 b(Builtin)h(Commands)24 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)54
-b Ft(41)275 2435 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9
+b Ft(43)275 2545 y(4.3)92 b(Mo)s(difying)30 b(Shell)g(Beha)m(vior)9
b Fm(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)39 b Ft(51)399 2545 y(4.3.1)93 b(The)30
+h(:)f(:)h(:)f(:)39 b Ft(53)399 2654 y(4.3.1)93 b(The)30
b(Set)g(Builtin)c Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)55 b
-Ft(51)399 2654 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)13
+Ft(54)399 2764 y(4.3.2)93 b(The)30 b(Shopt)f(Builtin)13
b Fm(:)j(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)43 b Ft(55)275 2764 y(4.4)92 b(Sp)s(ecial)30
+(:)h(:)f(:)h(:)f(:)g(:)43 b Ft(57)275 2873 y(4.4)92 b(Sp)s(ecial)30
b(Builtins)21 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
-b Ft(59)150 3006 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19
+b Ft(62)150 3116 y Fr(5)135 b(Shell)45 b(V)-11 b(ariables)19
b Fn(:)h(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)64
-b Fr(61)275 3143 y Ft(5.1)92 b(Bourne)30 b(Shell)g(V)-8
+b Fr(63)275 3253 y Ft(5.1)92 b(Bourne)30 b(Shell)g(V)-8
b(ariables)22 b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(61)275
-3253 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)16 b Fm(:)h(:)f(:)f(:)h(:)f
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(63)275
+3362 y(5.2)92 b(Bash)30 b(V)-8 b(ariables)16 b Fm(:)h(:)f(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Ft(61)150 3495 y
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Ft(63)150 3605 y
Fr(6)135 b(Bash)44 b(F)-11 b(eatures)13 b Fn(:)20 b(:)g(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Fr(71)275
-3632 y Ft(6.1)92 b(In)m(v)m(oking)31 b(Bash)d Fm(:)16
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Fr(73)275
+3742 y Ft(6.1)92 b(In)m(v)m(oking)31 b(Bash)d Fm(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b
-Ft(71)275 3742 y(6.2)92 b(Bash)30 b(Startup)g(Files)20
+Ft(73)275 3851 y(6.2)92 b(Bash)30 b(Startup)g(Files)20
b Fm(:)c(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Ft(73)275
-3851 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)11 b Fm(:)16
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Ft(75)275
+3961 y(6.3)92 b(In)m(teractiv)m(e)32 b(Shells)11 b Fm(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(75)399
-3961 y(6.3.1)93 b(What)31 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)17
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)41 b Ft(76)399
+4071 y(6.3.1)93 b(What)31 b(is)f(an)h(In)m(teractiv)m(e)h(Shell?)17
b Fm(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)47 b
-Ft(75)399 4071 y(6.3.2)93 b(Is)30 b(this)g(Shell)g(In)m(teractiv)m(e?)
+Ft(77)399 4180 y(6.3.2)93 b(Is)30 b(this)g(Shell)g(In)m(teractiv)m(e?)
14 b Fm(:)k(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-44 b Ft(75)399 4180 y(6.3.3)93 b(In)m(teractiv)m(e)33
+44 b Ft(77)399 4290 y(6.3.3)93 b(In)m(teractiv)m(e)33
b(Shell)d(Beha)m(vior)23 b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)52 b Ft(75)275 4290 y(6.4)92 b(Bash)30
+(:)g(:)h(:)f(:)h(:)52 b Ft(77)275 4399 y(6.4)92 b(Bash)30
b(Conditional)h(Expressions)22 b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(76)275 4399 y(6.5)92
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)51 b Ft(78)275 4509 y(6.5)92
b(Shell)30 b(Arithmetic)c Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)55 b Ft(78)275 4509 y(6.6)92 b(Aliases)12 b Fm(:)k(:)g(:)f(:)h(:)f
+(:)55 b Ft(80)275 4619 y(6.6)92 b(Aliases)12 b Fm(:)k(:)g(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)42
-b Ft(79)275 4619 y(6.7)92 b(Arra)m(ys)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g
+b Ft(81)275 4728 y(6.7)92 b(Arra)m(ys)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47
-b Ft(80)275 4728 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)e
+b Ft(82)275 4838 y(6.8)92 b(The)29 b(Directory)j(Stac)m(k)e
Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(81)399 4838 y(6.8.1)93
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(83)399 4947 y(6.8.1)93
b(Directory)32 b(Stac)m(k)f(Builtins)14 b Fm(:)i(:)g(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Ft(81)275
-4947 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)24 b
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Ft(83)275
+5057 y(6.9)92 b(Con)m(trolling)31 b(the)g(Prompt)24 b
Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)54 b Ft(82)275 5057 y(6.10)92 b(The)30
+g(:)h(:)f(:)h(:)f(:)54 b Ft(84)275 5166 y(6.10)92 b(The)30
b(Restricted)h(Shell)23 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53
-b Ft(84)275 5166 y(6.11)92 b(Bash)31 b(POSIX)e(Mo)s(de)9
+b Ft(86)275 5276 y(6.11)92 b(Bash)31 b(POSIX)e(Mo)s(de)9
b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Ft(84)p eop
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38 b Ft(86)p eop
end
%%Page: -3 5
TeXDict begin -3 4 bop 3674 -116 a Ft(iii)150 83 y Fr(7)135
b(Job)45 b(Con)l(trol)24 b Fn(:)c(:)g(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)69 b Fr(89)275 220 y
+f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)69 b Fr(91)275 220 y
Ft(7.1)92 b(Job)30 b(Con)m(trol)h(Basics)17 b Fm(:)f(:)g(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)47 b Ft(89)275 330 y(7.2)92 b(Job)30 b(Con)m(trol)h
+g(:)h(:)f(:)47 b Ft(91)275 330 y(7.2)92 b(Job)30 b(Con)m(trol)h
(Builtins)25 b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 b Ft(90)275
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)55 b Ft(92)275
439 y(7.3)92 b(Job)30 b(Con)m(trol)h(V)-8 b(ariables)19
b Fm(:)e(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
-(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Ft(92)150 682 y Fr(8)135
+(:)f(:)h(:)f(:)g(:)h(:)f(:)49 b Ft(94)150 682 y Fr(8)135
b(Command)45 b(Line)g(Editing)27 b Fn(:)20 b(:)g(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)72
-b Fr(93)275 819 y Ft(8.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f
+b Fr(95)275 819 y Ft(8.1)92 b(In)m(tro)s(duction)30 b(to)h(Line)f
(Editing)d Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)56 b Ft(93)275 928 y(8.2)92 b(Readline)31
+(:)h(:)f(:)56 b Ft(95)275 928 y(8.2)92 b(Readline)31
b(In)m(teraction)8 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)38
-b Ft(93)399 1038 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)d
+b Ft(95)399 1038 y(8.2.1)93 b(Readline)31 b(Bare)g(Essen)m(tials)d
Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)57
-b Ft(94)399 1147 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
+b Ft(96)399 1147 y(8.2.2)93 b(Readline)31 b(Mo)m(v)m(emen)m(t)i
(Commands)27 b Fm(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57
-b Ft(94)399 1257 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)19
+b Ft(96)399 1257 y(8.2.3)93 b(Readline)31 b(Killing)g(Commands)19
b Fm(:)14 b(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)49
-b Ft(95)399 1367 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)11
+b Ft(97)399 1367 y(8.2.4)93 b(Readline)31 b(Argumen)m(ts)11
b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)41 b Ft(95)399 1476 y(8.2.5)93 b(Searc)m(hing)31
+f(:)g(:)h(:)f(:)41 b Ft(97)399 1476 y(8.2.5)93 b(Searc)m(hing)31
b(for)f(Commands)f(in)h(the)h(History)9 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)38
-b Ft(95)275 1586 y(8.3)92 b(Readline)31 b(Init)f(File)23
+b Ft(97)275 1586 y(8.3)92 b(Readline)31 b(Init)f(File)23
b Fm(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Ft(96)399
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Ft(98)399
1695 y(8.3.1)93 b(Readline)31 b(Init)f(File)i(Syn)m(tax)15
b Fm(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)44
-b Ft(96)399 1805 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)25
+b Ft(98)399 1805 y(8.3.2)93 b(Conditional)31 b(Init)f(Constructs)25
b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)56
-b Ft(102)399 1914 y(8.3.3)93 b(Sample)30 b(Init)g(File)12
+b Ft(104)399 1914 y(8.3.3)93 b(Sample)30 b(Init)g(File)12
b Fm(:)17 b(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 b Ft(103)275 2024 y(8.4)92
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)42 b Ft(105)275 2024 y(8.4)92
b(Bindable)30 b(Readline)h(Commands)11 b Fm(:)k(:)g(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(106)399 2134 y(8.4.1)93
+g(:)h(:)f(:)h(:)f(:)g(:)h(:)41 b Ft(108)399 2134 y(8.4.1)93
b(Commands)29 b(F)-8 b(or)31 b(Mo)m(ving)e Fm(:)16 b(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(106)399
+(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)58 b Ft(108)399
2243 y(8.4.2)93 b(Commands)29 b(F)-8 b(or)31 b(Manipulating)g(The)f
(History)17 b Fm(:)g(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)47 b Ft(107)399 2353 y(8.4.3)93 b(Commands)29 b(F)-8
+h(:)47 b Ft(109)399 2353 y(8.4.3)93 b(Commands)29 b(F)-8
b(or)31 b(Changing)f(T)-8 b(ext)21 b Fm(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-51 b Ft(108)399 2462 y(8.4.4)93 b(Killing)31 b(And)e(Y)-8
+51 b Ft(110)399 2462 y(8.4.4)93 b(Killing)31 b(And)e(Y)-8
b(anking)22 b Fm(:)17 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
-f(:)g(:)h(:)f(:)h(:)52 b Ft(109)399 2572 y(8.4.5)93 b(Sp)s(ecifying)30
+f(:)g(:)h(:)f(:)h(:)52 b Ft(111)399 2572 y(8.4.5)93 b(Sp)s(ecifying)30
b(Numeric)g(Argumen)m(ts)17 b Fm(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47
-b Ft(110)399 2682 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)
+b Ft(112)399 2682 y(8.4.6)93 b(Letting)31 b(Readline)g(T)m(yp)s(e)f(F)
-8 b(or)31 b(Y)-8 b(ou)12 b Fm(:)k(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)42
-b Ft(110)399 2791 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)21
+b Ft(112)399 2791 y(8.4.7)93 b(Keyb)s(oard)29 b(Macros)21
b Fm(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)f(:)g(:)51 b Ft(112)399 2901 y(8.4.8)93 b(Some)30
+h(:)f(:)h(:)f(:)g(:)51 b Ft(114)399 2901 y(8.4.8)93 b(Some)30
b(Miscellaneous)j(Commands)24 b Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)55
-b Ft(112)275 3010 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)20
+b Ft(114)275 3010 y(8.5)92 b(Readline)31 b(vi)f(Mo)s(de)20
b Fm(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)50 b Ft(114)275
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)50 b Ft(117)275
3120 y(8.6)92 b(Programmable)30 b(Completion)16 b Fm(:)g(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)46
-b Ft(115)275 3230 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)c
+b Ft(117)275 3230 y(8.7)92 b(Programmable)30 b(Completion)h(Builtins)c
Fm(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
-(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(117)150
+(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Ft(119)150
3472 y Fr(9)135 b(Using)45 b(History)h(In)l(teractiv)l(ely)39
b Fn(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
-(:)80 b Fr(121)275 3609 y Ft(9.1)92 b(Bash)30 b(History)h(F)-8
+(:)80 b Fr(125)275 3609 y Ft(9.1)92 b(Bash)30 b(History)h(F)-8
b(acilities)21 b Fm(:)d(:)e(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)51 b Ft(121)275 3719
+g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)51 b Ft(125)275 3719
y(9.2)92 b(Bash)30 b(History)h(Builtins)19 b Fm(:)d(:)g(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)49
-b Ft(121)275 3828 y(9.3)92 b(History)31 b(Expansion)21
+b Ft(125)275 3828 y(9.3)92 b(History)31 b(Expansion)21
b Fm(:)15 b(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 b Ft(123)399 3938
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)52 b Ft(127)399 3938
y(9.3.1)93 b(Ev)m(en)m(t)31 b(Designators)10 b Fm(:)18
b(:)d(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
-h(:)f(:)h(:)40 b Ft(123)399 4047 y(9.3.2)93 b(W)-8 b(ord)31
+h(:)f(:)h(:)40 b Ft(127)399 4047 y(9.3.2)93 b(W)-8 b(ord)31
b(Designators)17 b Fm(:)g(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b Ft(124)399 4157
+h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)47 b Ft(128)399 4157
y(9.3.3)93 b(Mo)s(di\014ers)26 b Fm(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)57 b Ft(125)150 4399 y Fr(10)135 b(Installing)46
+(:)f(:)g(:)h(:)57 b Ft(129)150 4399 y Fr(10)135 b(Installing)46
b(Bash)24 b Fn(:)c(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)68
-b Fr(127)275 4536 y Ft(10.1)92 b(Basic)32 b(Installation)20
+b Fr(131)275 4536 y Ft(10.1)92 b(Basic)32 b(Installation)20
b Fm(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(127)275 4646
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)50 b Ft(131)275 4646
y(10.2)92 b(Compilers)30 b(and)g(Options)8 b Fm(:)15
b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)38 b Ft(128)275 4755 y(10.3)92 b(Compiling)30
+f(:)h(:)38 b Ft(132)275 4755 y(10.3)92 b(Compiling)30
b(F)-8 b(or)32 b(Multiple)f(Arc)m(hitectures)21 b Fm(:)c(:)e(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
-(:)52 b Ft(128)275 4865 y(10.4)92 b(Installation)32 b(Names)13
+(:)52 b Ft(132)275 4865 y(10.4)92 b(Installation)32 b(Names)13
b Fm(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43 b Ft(128)275 4975 y(10.5)92
+(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)43 b Ft(132)275 4975 y(10.5)92
b(Sp)s(ecifying)30 b(the)g(System)h(T)m(yp)s(e)12 b Fm(:)j(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 b Ft(128)275
+g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)42 b Ft(132)275
5084 y(10.6)92 b(Sharing)30 b(Defaults)15 b Fm(:)i(:)e(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
-(:)f(:)g(:)46 b Ft(129)275 5194 y(10.7)92 b(Op)s(eration)30
+(:)f(:)g(:)46 b Ft(133)275 5194 y(10.7)92 b(Op)s(eration)30
b(Con)m(trols)24 b Fm(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54 b Ft(129)275
+(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54 b Ft(133)275
5303 y(10.8)92 b(Optional)31 b(F)-8 b(eatures)10 b Fm(:)17
b(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)40 b Ft(129)p eop end
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)40 b Ft(133)p eop end
%%Page: -4 6
TeXDict begin -4 5 bop 150 -116 a Ft(iv)2589 b(Bash)31
b(Reference)g(Man)m(ual)150 83 y Fr(App)t(endix)44 b(A)160
b(Rep)t(orting)46 b(Bugs)35 b Fn(:)20 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
-(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)80 b Fr(135)150 353 y(App)t(endix)44
+(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)80 b Fr(139)150 353 y(App)t(endix)44
b(B)166 b(Ma)7 b(jor)45 b(Di\013erences)i(F)-11 b(rom)44
b(The)419 486 y(Bourne)g(Shell)35 b Fn(:)19 b(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)78 b Fr(137)275 623 y Ft(B.1)92
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)78 b Fr(141)275 623 y Ft(B.1)92
b(Implemen)m(tation)31 b(Di\013erences)h(F)-8 b(rom)31
b(The)e(SVR4.2)j(Shell)13 b Fm(:)i(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)43
-b Ft(141)150 865 y Fr(App)t(endix)h(C)165 b(GNU)45 b(F)-11
+b Ft(145)150 865 y Fr(App)t(endix)h(C)165 b(GNU)45 b(F)-11
b(ree)45 b(Do)t(cumen)l(tation)h(License)439 998 y Fn(:)19
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b Fr(143)150
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)64 b Fr(147)150
1268 y(App)t(endix)44 b(D)159 b(Indexes)15 b Fn(:)20
b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
-(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fr(151)275 1405
+(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fr(155)275 1405
y Ft(D.1)92 b(Index)29 b(of)i(Shell)f(Builtin)h(Commands)16
b Fm(:)e(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
-h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(151)275
+h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Ft(155)275
1514 y(D.2)92 b(Index)29 b(of)i(Shell)f(Reserv)m(ed)h(W)-8
b(ords)12 b Fm(:)j(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)42
-b Ft(152)275 1624 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
+b Ft(156)275 1624 y(D.3)92 b(P)m(arameter)31 b(and)f(V)-8
b(ariable)32 b(Index)20 b Fm(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)50 b Ft(152)275 1733 y(D.4)92 b(F)-8 b(unction)31
+f(:)h(:)f(:)50 b Ft(156)275 1733 y(D.4)92 b(F)-8 b(unction)31
b(Index)16 b Fm(:)f(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)47
-b Ft(154)275 1843 y(D.5)92 b(Concept)30 b(Index)d Fm(:)15
+b Ft(158)275 1843 y(D.5)92 b(Concept)30 b(Index)d Fm(:)15
b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
-f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)57 b Ft(156)p
+f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)57 b Ft(160)p
eop end
%%Page: 1 7
TeXDict begin 1 6 bop 150 -116 a Ft(Chapter)30 b(1:)41
@@ -4982,7 +4978,7 @@ b(ariable)24 b(and)e(function)h(names.)630 4020 y(Also)31
b(referred)f(to)h(as)f(an)h Fs(identifier)p Ft(.)150
4186 y Fs(operator)96 b Ft(A)38 b Fs(control)28 b(operator)36
b Ft(or)h(a)i Fs(redirection)27 b(operator)p Ft(.)61
-b(See)38 b(Section)g(3.6)h([Redirec-)630 4295 y(tions],)f(page)f(26,)i
+b(See)38 b(Section)g(3.6)h([Redirec-)630 4295 y(tions],)f(page)f(27,)i
(for)d(a)g(list)h(of)f(redirection)h(op)s(erators.)58
b(Op)s(erators)35 b(con)m(tain)j(at)f(least)630 4405
y(one)31 b(unquoted)e Fs(metacharacter)p Ft(.)150 4570
@@ -5056,34 +5052,34 @@ y Ft(The)c(follo)m(wing)h(is)f(a)h(brief)e(description)i(of)f(the)g
(shell's)h(op)s(eration)f(when)f(it)i(reads)f(and)f(executes)j(a)150
3297 y(command.)h(Basically)-8 b(,)34 b(the)c(shell)h(do)s(es)f(the)h
(follo)m(wing:)199 3454 y(1.)61 b(Reads)42 b(its)h(input)e(from)h(a)g
-(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(33\),)k
+(\014le)h(\(see)g(Section)g(3.8)g([Shell)f(Scripts],)j(page)e(34\),)k
(from)41 b(a)i(string)330 3564 y(supplied)26 b(as)i(an)f(argumen)m(t)g
(to)h(the)g(`)p Fs(-c)p Ft(')f(in)m(v)m(o)s(cation)i(option)f(\(see)g
-(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)330 3673 y(page)j(71\),)h(or)
+(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)330 3673 y(page)j(73\),)h(or)
e(from)g(the)h(user's)f(terminal.)199 3820 y(2.)61 b(Breaks)43
b(the)g(input)f(in)m(to)h(w)m(ords)f(and)g(op)s(erators,)k(ob)s(eying)d
(the)g(quoting)g(rules)f(describ)s(ed)f(in)330 3929 y(Section)27
b(3.1.2)i([Quoting],)f(page)f(6.)40 b(These)26 b(tok)m(ens)i(are)f
(separated)g(b)m(y)f Fs(metacharacters)p Ft(.)36 b(Alias)330
4039 y(expansion)30 b(is)h(p)s(erformed)d(b)m(y)j(this)f(step)g(\(see)i
-(Section)f(6.6)g([Aliases],)i(page)e(79\).)199 4185 y(3.)61
+(Section)f(6.6)g([Aliases],)i(page)e(81\).)199 4185 y(3.)61
b(P)m(arses)35 b(the)g(tok)m(ens)g(in)m(to)h(simple)e(and)g(comp)s
(ound)f(commands)h(\(see)h(Section)h(3.2)f([Shell)g(Com-)330
-4294 y(mands],)30 b(page)h(7\).)199 4441 y(4.)61 b(P)m(erforms)40
+4294 y(mands],)30 b(page)h(8\).)199 4441 y(4.)61 b(P)m(erforms)40
b(the)h(v)-5 b(arious)40 b(shell)h(expansions)f(\(see)h(Section)g(3.5)g
-([Shell)g(Expansions],)h(page)f(17\),)330 4550 y(breaking)35
+([Shell)g(Expansions],)h(page)f(19\),)330 4550 y(breaking)35
b(the)g(expanded)g(tok)m(ens)h(in)m(to)g(lists)f(of)g(\014lenames)h
(\(see)g(Section)f(3.5.8)i([Filename)g(Ex-)330 4660 y(pansion],)30
-b(page)h(24\))h(and)e(commands)g(and)g(argumen)m(ts.)199
+b(page)h(25\))h(and)e(commands)g(and)g(argumen)m(ts.)199
4806 y(5.)61 b(P)m(erforms)36 b(an)m(y)i(necessary)f(redirections)g
-(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(26\))g(and)e(re-)330
+(\(see)h(Section)f(3.6)h([Redirections],)i(page)e(27\))g(and)e(re-)330
4915 y(mo)m(v)m(es)c(the)e(redirection)h(op)s(erators)g(and)f(their)g
(op)s(erands)f(from)h(the)h(argumen)m(t)f(list.)199 5062
y(6.)61 b(Executes)31 b(the)g(command)f(\(see)h(Section)g(3.7)h
-([Executing)f(Commands],)f(page)h(29\).)199 5208 y(7.)61
+([Executing)f(Commands],)f(page)h(30\).)199 5208 y(7.)61
b(Optionally)40 b(w)m(aits)g(for)f(the)g(command)g(to)h(complete)g(and)
f(collects)i(its)f(exit)g(status)f(\(see)h(Sec-)330 5317
-y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(32\).)p
+y(tion)31 b(3.7.5)h([Exit)f(Status],)g(page)g(33\).)p
eop end
%%Page: 6 12
TeXDict begin 6 11 bop 150 -116 a Ft(6)2617 b(Bash)31
@@ -5100,11 +5096,11 @@ e(sp)s(ecial)i(meaning)150 902 y(to)40 b(the)g(shell)f(and)g(m)m(ust)g
(b)s(e)g(quoted)g(if)h(it)g(is)f(to)h(represen)m(t)g(itself.)68
b(When)39 b(the)h(command)f(history)150 1012 y(expansion)i(facilities)j
(are)e(b)s(eing)f(used)g(\(see)h(Section)h(9.3)f([History)h(In)m
-(teraction],)j(page)c(123\),)47 b(the)150 1122 y Fq(history)30
+(teraction],)j(page)c(127\),)47 b(the)150 1122 y Fq(history)30
b(expansion)h Ft(c)m(haracter,)h(usually)f(`)p Fs(!)p
Ft(',)g(m)m(ust)f(b)s(e)g(quoted)h(to)g(prev)m(en)m(t)g(history)g
(expansion.)41 b(See)150 1231 y(Section)22 b(9.1)g([Bash)f(History)h(F)
--8 b(acilities],)26 b(page)c(121,)j(for)20 b(more)h(details)h
+-8 b(acilities],)26 b(page)c(125,)j(for)20 b(more)h(details)h
(concerning)g(history)f(expansion.)275 1359 y(There)36
b(are)i(three)f(quoting)g(mec)m(hanisms:)55 b(the)37
b Fq(escap)s(e)h(c)m(haracter)7 b Ft(,)40 b(single)d(quotes,)j(and)c
@@ -5135,7 +5131,7 @@ Ft(',)h(`)p Fs(`)p Ft(',)g(`)p Fs(\\)p Ft(',)g(and,)f(when)f(history)g
y(The)25 b(c)m(haracters)h(`)p Fs($)p Ft(')g(and)f(`)p
Fs(`)p Ft(')g(retain)h(their)f(sp)s(ecial)h(meaning)f(within)g(double)g
(quotes)h(\(see)g(Section)g(3.5)150 3345 y([Shell)j(Expansions],)g
-(page)h(17\).)41 b(The)28 b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f
+(page)h(19\).)41 b(The)28 b(bac)m(kslash)i(retains)f(its)h(sp)s(ecial)f
(meaning)g(only)g(when)f(follo)m(w)m(ed)150 3454 y(b)m(y)41
b(one)f(of)h(the)g(follo)m(wing)h(c)m(haracters:)63 b(`)p
Fs($)p Ft(',)43 b(`)p Fs(`)p Ft(',)h(`)p Fs(")p Ft(',)g(`)p
@@ -5154,7 +5150,7 @@ b(preceding)f(the)h(`)p Fs(!)p Ft(')f(is)h(not)g(remo)m(v)m(ed.)275
4130 y(The)41 b(sp)s(ecial)h(parameters)f(`)p Fs(*)p
Ft(')h(and)f(`)p Fs(@)p Ft(')h(ha)m(v)m(e)g(sp)s(ecial)g(meaning)g
(when)f(in)g(double)g(quotes)h(\(see)150 4240 y(Section)31
-b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h(19\).)150
+b(3.5.3)h([Shell)f(P)m(arameter)h(Expansion],)e(page)h(21\).)150
4426 y Fj(3.1.2.4)63 b(ANSI-C)40 b(Quoting)150 4573 y
Ft(W)-8 b(ords)41 b(of)h(the)f(form)g Fs($')p Fi(string)11
b Fs(')38 b Ft(are)k(treated)g(sp)s(ecially)-8 b(.)75
@@ -5169,2184 +5165,2290 @@ b Ft(alert)31 b(\(b)s(ell\))150 5084 y Fs(\\b)384 b Ft(bac)m(kspace)150
%%Page: 7 13
TeXDict begin 7 12 bop 150 -116 a Ft(Chapter)30 b(3:)41
b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(7)150 299
-y Fs(\\f)384 b Ft(form)30 b(feed)150 475 y Fs(\\n)384
-b Ft(newline)150 652 y Fs(\\r)g Ft(carriage)32 b(return)150
-828 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1005
-y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1181 y Fs(\\\\)384
-b Ft(bac)m(kslash)150 1358 y Fs(\\')g Ft(single)31 b(quote)150
-1534 y Fs(\\")384 b Ft(double)30 b(quote)150 1711 y Fs(\\)p
+y Fs(\\f)384 b Ft(form)30 b(feed)150 488 y Fs(\\n)384
+b Ft(newline)150 678 y Fs(\\r)g Ft(carriage)32 b(return)150
+868 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)150 1057
+y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)150 1247 y Fs(\\\\)384
+b Ft(bac)m(kslash)150 1436 y Fs(\\')g Ft(single)31 b(quote)150
+1626 y Fs(\\")384 b Ft(double)30 b(quote)150 1816 y Fs(\\)p
Fi(nnn)288 b Ft(the)31 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
b(alue)31 b(is)f(the)h(o)s(ctal)g(v)-5 b(alue)31 b Fq(nnn)e
-Ft(\(one)i(to)g(three)g(digits\))150 1887 y Fs(\\x)p
+Ft(\(one)i(to)g(three)g(digits\))150 2005 y Fs(\\x)p
Fi(HH)288 b Ft(the)36 b(eigh)m(t-bit)i(c)m(haracter)f(whose)f(v)-5
b(alue)36 b(is)g(the)g(hexadecimal)h(v)-5 b(alue)36 b
-Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 1997 y(hex)30
-b(digits\))150 2173 y Fs(\\c)p Fi(x)336 b Ft(a)31 b(con)m(trol-)p
-Fq(x)38 b Ft(c)m(haracter)150 2358 y(The)30 b(expanded)f(result)i(is)f
+Fq(HH)46 b Ft(\(one)37 b(or)f(t)m(w)m(o)630 2115 y(hex)30
+b(digits\))150 2304 y Fs(\\u)p Fi(HHHH)192 b Ft(the)33
+b(Unico)s(de)f(\(ISO/IEC)g(10646\))j(c)m(haracter)f(whose)e(v)-5
+b(alue)33 b(is)g(the)g(hexadecimal)g(v)-5 b(alue)630
+2414 y Fq(HHHH)41 b Ft(\(one)31 b(to)g(four)f(hex)g(digits\))150
+2604 y Fs(\\U)p Fi(HHHHHHHH)630 2713 y Ft(the)j(Unico)s(de)f(\(ISO/IEC)
+g(10646\))j(c)m(haracter)f(whose)e(v)-5 b(alue)33 b(is)g(the)g
+(hexadecimal)g(v)-5 b(alue)630 2823 y Fq(HHHHHHHH)42
+b Ft(\(one)31 b(to)g(eigh)m(t)g(hex)g(digits\))150 3012
+y Fs(\\c)p Fi(x)336 b Ft(a)31 b(con)m(trol-)p Fq(x)38
+b Ft(c)m(haracter)150 3217 y(The)30 b(expanded)f(result)i(is)f
(single-quoted,)i(as)f(if)f(the)g(dollar)h(sign)g(had)e(not)i(b)s(een)f
-(presen)m(t.)150 2575 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41
-b(T)-10 b(ranslation)150 2722 y Ft(A)28 b(double-quoted)g(string)f
+(presen)m(t.)150 3446 y Fj(3.1.2.5)63 b(Lo)s(cale-Sp)s(eci\014c)41
+b(T)-10 b(ranslation)150 3593 y Ft(A)28 b(double-quoted)g(string)f
(preceded)h(b)m(y)f(a)h(dollar)h(sign)e(\(`)p Fs($)p
Ft('\))i(will)f(cause)g(the)g(string)g(to)g(b)s(e)f(translated)150
-2831 y(according)f(to)f(the)g(curren)m(t)g(lo)s(cale.)41
+3703 y(according)f(to)f(the)g(curren)m(t)g(lo)s(cale.)41
b(If)24 b(the)h(curren)m(t)g(lo)s(cale)h(is)f Fs(C)g
Ft(or)g Fs(POSIX)p Ft(,)f(the)h(dollar)h(sign)f(is)g(ignored.)150
-2941 y(If)30 b(the)g(string)h(is)f(translated)h(and)f(replaced,)h(the)g
-(replacemen)m(t)h(is)e(double-quoted.)275 3093 y(Some)20
+3813 y(If)30 b(the)g(string)h(is)f(translated)h(and)f(replaced,)h(the)g
+(replacemen)m(t)h(is)e(double-quoted.)275 3977 y(Some)20
b(systems)h(use)f(the)h(message)h(catalog)h(selected)f(b)m(y)f(the)g
Fs(LC_MESSAGES)c Ft(shell)k(v)-5 b(ariable.)39 b(Others)150
-3202 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog)i(from)d(the)
+4087 y(create)g(the)e(name)g(of)g(the)g(message)h(catalog)i(from)d(the)
g(v)-5 b(alue)37 b(of)g(the)h Fs(TEXTDOMAIN)c Ft(shell)j(v)-5
-b(ariable,)150 3312 y(p)s(ossibly)31 b(adding)g(a)g(su\016x)g(of)h(`)p
+b(ariable,)150 4196 y(p)s(ossibly)31 b(adding)g(a)g(su\016x)g(of)h(`)p
Fs(.mo)p Ft('.)43 b(If)31 b(y)m(ou)h(use)f(the)h Fs(TEXTDOMAIN)c
Ft(v)-5 b(ariable,)33 b(y)m(ou)f(ma)m(y)g(need)f(to)h(set)150
-3421 y(the)22 b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23
+4306 y(the)22 b Fs(TEXTDOMAINDIR)d Ft(v)-5 b(ariable)23
b(to)g(the)f(lo)s(cation)i(of)e(the)h(message)g(catalog)i(\014les.)38
-b(Still)23 b(others)f(use)g(b)s(oth)150 3531 y(v)-5 b(ariables)31
+b(Still)23 b(others)f(use)g(b)s(oth)150 4416 y(v)-5 b(ariables)31
b(in)f(this)g(fashion:)41 b Fs(TEXTDOMAINDIR)p Ft(/)p
-Fs(LC_MESSAGES)p Ft(/LC)p 2528 3531 28 4 v 34 w(MESSA)m(GES/)p
-Fs(TEXTDOMAIN)p Ft(.mo.)150 3747 y Fj(3.1.3)63 b(Commen)m(ts)150
-3894 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m
+Fs(LC_MESSAGES)p Ft(/LC)p 2528 4416 28 4 v 34 w(MESSA)m(GES/)p
+Fs(TEXTDOMAIN)p Ft(.mo.)150 4645 y Fj(3.1.3)63 b(Commen)m(ts)150
+4792 y Ft(In)21 b(a)i(non-in)m(teractiv)m(e)h(shell,)g(or)e(an)g(in)m
(teractiv)m(e)j(shell)d(in)g(whic)m(h)g(the)g Fs(interactive_comments)
-16 b Ft(option)150 4004 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h
+16 b Ft(option)150 4902 y(to)40 b(the)f Fs(shopt)e Ft(builtin)h(is)h
(enabled)g(\(see)h(Section)g(4.3.2)g([The)f(Shopt)f(Builtin],)k(page)e
-(55\),)i(a)d(w)m(ord)150 4113 y(b)s(eginning)26 b(with)g(`)p
+(57\),)i(a)d(w)m(ord)150 5011 y(b)s(eginning)26 b(with)g(`)p
Fs(#)p Ft(')g(causes)h(that)f(w)m(ord)g(and)g(all)h(remaining)g(c)m
(haracters)g(on)f(that)h(line)g(to)g(b)s(e)f(ignored.)150
-4223 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g
+5121 y(An)43 b(in)m(teractiv)m(e)j(shell)e(without)f(the)g
Fs(interactive_comments)38 b Ft(option)44 b(enabled)f(do)s(es)g(not)g
-(allo)m(w)150 4333 y(commen)m(ts.)56 b(The)34 b Fs
+(allo)m(w)150 5230 y(commen)m(ts.)56 b(The)34 b Fs
(interactive_comments)c Ft(option)35 b(is)g(on)g(b)m(y)g(default)g(in)g
-(in)m(teractiv)m(e)j(shells.)55 b(See)150 4442 y(Section)30
-b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(75,)g(for)e(a)i
-(description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.)
-150 4700 y Fr(3.2)68 b(Shell)45 b(Commands)150 4860 y
-Ft(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g Fs(echo)29
-b(a)h(b)g(c)41 b Ft(consists)i(of)f(the)f(command)h(itself)h(follo)m(w)
-m(ed)g(b)m(y)150 4969 y(argumen)m(ts,)31 b(separated)g(b)m(y)f(spaces.)
-275 5121 y(More)h(complex)h(shell)f(commands)g(are)g(comp)s(osed)g(of)g
-(simple)g(commands)g(arranged)g(together)h(in)150 5230
-y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41 b(in)31
-b(a)g(pip)s(eline)f(in)g(whic)m(h)g(the)h(output)f(of)h(one)f(command)h
-(b)s(ecomes)f(the)h(input)f(of)150 5340 y(a)h(second,)f(in)h(a)f(lo)s
-(op)h(or)f(conditional)i(construct,)f(or)f(in)g(some)h(other)g
-(grouping.)p eop end
+(in)m(teractiv)m(e)j(shells.)55 b(See)150 5340 y(Section)30
+b(6.3)f([In)m(teractiv)m(e)j(Shells],)d(page)h(76,)g(for)e(a)i
+(description)e(of)h(what)g(mak)m(es)h(a)f(shell)g(in)m(teractiv)m(e.)p
+eop end
%%Page: 8 14
TeXDict begin 8 13 bop 150 -116 a Ft(8)2617 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fj(3.2.1)63 b(Simple)41
-b(Commands)150 446 y Ft(A)29 b(simple)f(command)g(is)h(the)g(kind)e(of)
-i(command)f(encoun)m(tered)h(most)g(often.)40 b(It's)29
-b(just)f(a)h(sequence)g(of)150 555 y(w)m(ords)22 b(separated)i(b)m(y)e
-Fs(blank)p Ft(s,)i(terminated)f(b)m(y)g(one)g(of)g(the)g(shell's)g(con)
-m(trol)h(op)s(erators)f(\(see)h(Chapter)f(2)150 665 y([De\014nitions],)
-37 b(page)e(3\).)54 b(The)35 b(\014rst)e(w)m(ord)i(generally)g(sp)s
+b(Reference)g(Man)m(ual)150 299 y Fr(3.2)68 b(Shell)45
+b(Commands)150 458 y Ft(A)d(simple)g(shell)g(command)f(suc)m(h)h(as)g
+Fs(echo)29 b(a)h(b)g(c)41 b Ft(consists)i(of)f(the)f(command)h(itself)h
+(follo)m(w)m(ed)g(b)m(y)150 568 y(argumen)m(ts,)31 b(separated)g(b)m(y)
+f(spaces.)275 714 y(More)h(complex)h(shell)f(commands)g(are)g(comp)s
+(osed)g(of)g(simple)g(commands)g(arranged)g(together)h(in)150
+824 y(a)f(v)-5 b(ariet)m(y)32 b(of)f(w)m(a)m(ys:)41 b(in)31
+b(a)g(pip)s(eline)f(in)g(whic)m(h)g(the)h(output)f(of)h(one)f(command)h
+(b)s(ecomes)f(the)h(input)f(of)150 933 y(a)h(second,)f(in)h(a)f(lo)s
+(op)h(or)f(conditional)i(construct,)f(or)f(in)g(some)h(other)g
+(grouping.)150 1144 y Fj(3.2.1)63 b(Simple)41 b(Commands)150
+1291 y Ft(A)29 b(simple)f(command)g(is)h(the)g(kind)e(of)i(command)f
+(encoun)m(tered)h(most)g(often.)40 b(It's)29 b(just)f(a)h(sequence)g
+(of)150 1401 y(w)m(ords)22 b(separated)i(b)m(y)e Fs(blank)p
+Ft(s,)i(terminated)f(b)m(y)g(one)g(of)g(the)g(shell's)g(con)m(trol)h
+(op)s(erators)f(\(see)h(Chapter)f(2)150 1510 y([De\014nitions],)37
+b(page)e(3\).)54 b(The)35 b(\014rst)e(w)m(ord)i(generally)g(sp)s
(eci\014es)g(a)g(command)f(to)h(b)s(e)f(executed,)j(with)150
-775 y(the)31 b(rest)f(of)h(the)f(w)m(ords)g(b)s(eing)g(that)h
-(command's)f(argumen)m(ts.)275 912 y(The)h(return)h(status)g(\(see)i
-(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(32\))g(of)g(a)g(simple)f
-(command)g(is)h(its)150 1022 y(exit)38 b(status)f(as)g(pro)m(vided)f(b)
+1620 y(the)31 b(rest)f(of)h(the)f(w)m(ords)g(b)s(eing)g(that)h
+(command's)f(argumen)m(ts.)275 1766 y(The)h(return)h(status)g(\(see)i
+(Section)f(3.7.5)h([Exit)f(Status],)h(page)f(33\))g(of)g(a)g(simple)f
+(command)g(is)h(its)150 1876 y(exit)38 b(status)f(as)g(pro)m(vided)f(b)
m(y)h(the)g Fl(posix)f Ft(1003.1)j Fs(waitpid)c Ft(function,)j(or)f
-(128)p Fs(+)p Fq(n)g Ft(if)g(the)g(command)150 1131 y(w)m(as)31
-b(terminated)g(b)m(y)f(signal)h Fq(n)p Ft(.)150 1333
-y Fj(3.2.2)63 b(Pip)s(elines)150 1480 y Ft(A)35 b Fs(pipeline)e
+(128)p Fs(+)p Fq(n)g Ft(if)g(the)g(command)150 1986 y(w)m(as)31
+b(terminated)g(b)m(y)f(signal)h Fq(n)p Ft(.)150 2197
+y Fj(3.2.2)63 b(Pip)s(elines)150 2343 y Ft(A)35 b Fs(pipeline)e
Ft(is)j(a)f(sequence)h(of)f(simple)g(commands)g(separated)h(b)m(y)f
-(one)g(of)h(the)f(con)m(trol)i(op)s(erators)150 1590
-y(`)p Fs(|)p Ft(')31 b(or)f(`)p Fs(|&)p Ft('.)275 1727
-y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 1865
+(one)g(of)h(the)f(con)m(trol)i(op)s(erators)150 2453
+y(`)p Fs(|)p Ft(')31 b(or)f(`)p Fs(|&)p Ft('.)275 2599
+y(The)f(format)i(for)f(a)h(pip)s(eline)f(is)390 2746
y Fs([time)46 b([-p]])h([!])g Fi(command1)56 b Fs([)47
-b([|)g(or)h(|&])e Fi(command2)56 b Fs(...])150 2002 y
+b([|)g(or)h(|&])e Fi(command2)56 b Fs(...])150 2892 y
Ft(The)25 b(output)f(of)i(eac)m(h)g(command)f(in)f(the)i(pip)s(eline)e
(is)i(connected)g(via)f(a)h(pip)s(e)e(to)i(the)f(input)f(of)h(the)h
-(next)150 2112 y(command.)40 b(That)29 b(is,)h(eac)m(h)h(command)e
+(next)150 3001 y(command.)40 b(That)29 b(is,)h(eac)m(h)h(command)e
(reads)g(the)h(previous)f(command's)g(output.)40 b(This)29
-b(connection)150 2221 y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h
+b(connection)150 3111 y(is)h(p)s(erformed)f(b)s(efore)h(an)m(y)h
(redirections)g(sp)s(eci\014ed)f(b)m(y)g(the)g(command.)275
-2359 y(If)j(`)p Fs(|&)p Ft(')h(is)h(used,)f(the)h(standard)e(error)h
+3257 y(If)j(`)p Fs(|&)p Ft(')h(is)h(used,)f(the)h(standard)e(error)h
(of)g Fq(command1)42 b Ft(is)34 b(connected)h(to)g Fq(command2)7
-b Ft('s)35 b(standard)150 2468 y(input)25 b(through)g(the)h(pip)s(e;)h
+b Ft('s)35 b(standard)150 3367 y(input)25 b(through)g(the)h(pip)s(e;)h
(it)f(is)g(shorthand)f(for)g Fs(2>&1)k(|)p Ft(.)39 b(This)25
-b(implicit)i(redirection)g(of)f(the)g(standard)150 2578
+b(implicit)i(redirection)g(of)f(the)g(standard)150 3477
y(error)k(is)g(p)s(erformed)f(after)i(an)m(y)g(redirections)g(sp)s
-(eci\014ed)e(b)m(y)i(the)f(command.)275 2715 y(The)36
+(eci\014ed)e(b)m(y)i(the)f(command.)275 3623 y(The)36
b(reserv)m(ed)g(w)m(ord)g Fs(time)g Ft(causes)h(timing)g(statistics)h
(to)f(b)s(e)f(prin)m(ted)g(for)g(the)h(pip)s(eline)f(once)h(it)150
-2825 y(\014nishes.)51 b(The)34 b(statistics)i(curren)m(tly)e(consist)h
+3732 y(\014nishes.)51 b(The)34 b(statistics)i(curren)m(tly)e(consist)h
(of)f(elapsed)h(\(w)m(all-clo)s(c)m(k\))i(time)e(and)f(user)f(and)h
-(system)150 2935 y(time)i(consumed)f(b)m(y)g(the)h(command's)f
-(execution.)57 b(The)35 b(`)p Fs(-p)p Ft(')h(option)f(c)m(hanges)i(the)
-f(output)f(format)150 3044 y(to)i(that)f(sp)s(eci\014ed)f(b)m(y)h
-Fl(posix)p Ft(.)57 b(The)35 b Fs(TIMEFORMAT)e Ft(v)-5
-b(ariable)37 b(ma)m(y)g(b)s(e)e(set)h(to)h(a)f(format)g(string)g(that)
-150 3154 y(sp)s(eci\014es)29 b(ho)m(w)g(the)g(timing)g(information)h
-(should)d(b)s(e)i(displa)m(y)m(ed.)41 b(See)29 b(Section)h(5.2)g([Bash)
-f(V)-8 b(ariables],)150 3263 y(page)29 b(61,)h(for)e(a)g(description)h
-(of)f(the)g(a)m(v)-5 b(ailable)31 b(formats.)40 b(The)28
-b(use)g(of)g Fs(time)f Ft(as)i(a)f(reserv)m(ed)h(w)m(ord)f(p)s(er-)150
-3373 y(mits)g(the)g(timing)g(of)g(shell)g(builtins,)g(shell)g
-(functions,)g(and)f(pip)s(elines.)40 b(An)27 b(external)i
-Fs(time)d Ft(command)150 3483 y(cannot)31 b(time)g(these)g(easily)-8
-b(.)275 3620 y(If)24 b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async)
-m(hronously)f(\(see)h(Section)g(3.2.3)h([Lists],)g(page)e(8\),)i(the)f
-(shell)150 3730 y(w)m(aits)31 b(for)f(all)i(commands)e(in)g(the)g(pip)s
-(eline)g(to)h(complete.)275 3867 y(Eac)m(h)25 b(command)g(in)g(a)g(pip)
-s(eline)g(is)g(executed)h(in)f(its)g(o)m(wn)h(subshell)e(\(see)i
-(Section)g(3.7.3)h([Command)150 3977 y(Execution)36 b(En)m(vironmen)m
-(t],)i(page)e(30\).)58 b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline)
-g(is)f(the)h(exit)h(status)f(of)g(the)150 4086 y(last)27
-b(command)f(in)f(the)i(pip)s(eline,)f(unless)g(the)g
-Fs(pipefail)e Ft(option)i(is)g(enabled)g(\(see)h(Section)g(4.3.1)h
-([The)150 4196 y(Set)34 b(Builtin],)j(page)e(51\).)53
-b(If)34 b Fs(pipefail)e Ft(is)i(enabled,)h(the)g(pip)s(eline's)f
-(return)f(status)h(is)h(the)f(v)-5 b(alue)35 b(of)150
-4305 y(the)d(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g(with)e(a)i
-(non-zero)f(status,)h(or)f(zero)h(if)f(all)h(commands)f(exit)150
-4415 y(successfully)-8 b(.)67 b(If)38 b(the)h(reserv)m(ed)g(w)m(ord)g
-(`)p Fs(!)p Ft(')g(precedes)g(the)g(pip)s(eline,)h(the)g(exit)f(status)
-g(is)g(the)g(logical)150 4525 y(negation)h(of)f(the)f(exit)i(status)f
-(as)f(describ)s(ed)g(ab)s(o)m(v)m(e.)66 b(The)38 b(shell)h(w)m(aits)h
-(for)e(all)h(commands)g(in)f(the)150 4634 y(pip)s(eline)30
-b(to)h(terminate)g(b)s(efore)f(returning)g(a)h(v)-5 b(alue.)150
-4836 y Fj(3.2.3)63 b(Lists)41 b(of)h(Commands)150 4983
-y Ft(A)37 b Fs(list)e Ft(is)i(a)g(sequence)g(of)g(one)g(or)f(more)h
-(pip)s(elines)f(separated)h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`)p
-Fs(;)p Ft(',)i(`)p Fs(&)p Ft(',)150 5093 y(`)p Fs(&&)p
+(system)150 3842 y(time)28 b(consumed)e(b)m(y)h(the)h(command's)f
+(execution.)40 b(The)27 b(`)p Fs(-p)p Ft(')g(option)h(c)m(hanges)g(the)
+f(output)g(format)g(to)150 3952 y(that)34 b(sp)s(eci\014ed)e(b)m(y)h
+Fl(posix)p Ft(.)49 b(When)33 b(the)g(shell)g(is)h(in)e
+Fl(posix)h Ft(mo)s(de)g(\(see)h(Section)g(6.11)g([Bash)g(POSIX)150
+4061 y(Mo)s(de],)40 b(page)f(86\),)i(it)d(do)s(es)f(not)h(recognize)i
+Fs(time)c Ft(as)i(a)g(reserv)m(ed)g(w)m(ord)f(if)h(the)g(next)g(tok)m
+(en)g(b)s(egins)150 4171 y(with)33 b(a)g(`)p Fs(-)p Ft('.)49
+b(The)33 b Fs(TIMEFORMAT)d Ft(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(set)
+g(to)h(a)g(format)f(string)g(that)h(sp)s(eci\014es)f(ho)m(w)g(the)150
+4280 y(timing)38 b(information)g(should)e(b)s(e)h(displa)m(y)m(ed.)62
+b(See)38 b(Section)g(5.2)g([Bash)g(V)-8 b(ariables],)41
+b(page)d(63,)i(for)e(a)150 4390 y(description)27 b(of)g(the)h(a)m(v)-5
+b(ailable)29 b(formats.)40 b(The)26 b(use)h(of)g Fs(time)f
+Ft(as)i(a)f(reserv)m(ed)g(w)m(ord)g(p)s(ermits)f(the)h(timing)150
+4499 y(of)38 b(shell)g(builtins,)i(shell)e(functions,)i(and)d(pip)s
+(elines.)63 b(An)38 b(external)h Fs(time)e Ft(command)h(cannot)g(time)
+150 4609 y(these)31 b(easily)-8 b(.)275 4755 y(When)29
+b(the)h(shell)h(is)f(in)f Fl(posix)g Ft(mo)s(de)h(\(see)h(Section)f
+(6.11)i([Bash)e(POSIX)f(Mo)s(de],)i(page)g(86\),)g Fs(time)150
+4865 y Ft(ma)m(y)26 b(b)s(e)f(follo)m(w)m(ed)j(b)m(y)d(a)h(newline.)39
+b(In)25 b(this)h(case,)i(the)d(shell)h(displa)m(ys)g(the)g(total)h
+(user)e(and)g(system)h(time)150 4975 y(consumed)33 b(b)m(y)h(the)h
+(shell)f(and)f(its)i(c)m(hildren.)51 b(The)34 b Fs(TIMEFORMAT)d
+Ft(v)-5 b(ariable)35 b(ma)m(y)g(b)s(e)e(used)g(to)i(sp)s(ecify)150
+5084 y(the)c(format)f(of)h(the)f(time)h(information.)275
+5230 y(If)24 b(the)h(pip)s(eline)g(is)g(not)g(executed)h(async)m
+(hronously)f(\(see)h(Section)g(3.2.3)h([Lists],)g(page)e(9\),)i(the)f
+(shell)150 5340 y(w)m(aits)31 b(for)f(all)i(commands)e(in)g(the)g(pip)s
+(eline)g(to)h(complete.)p eop end
+%%Page: 9 15
+TeXDict begin 9 14 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299
+y(Eac)m(h)25 b(command)g(in)g(a)g(pip)s(eline)g(is)g(executed)h(in)f
+(its)g(o)m(wn)h(subshell)e(\(see)i(Section)g(3.7.3)h([Command)150
+408 y(Execution)36 b(En)m(vironmen)m(t],)i(page)e(32\).)58
+b(The)36 b(exit)g(status)g(of)g(a)g(pip)s(eline)g(is)f(the)h(exit)h
+(status)f(of)g(the)150 518 y(last)27 b(command)f(in)f(the)i(pip)s
+(eline,)f(unless)g(the)g Fs(pipefail)e Ft(option)i(is)g(enabled)g
+(\(see)h(Section)g(4.3.1)h([The)150 628 y(Set)34 b(Builtin],)j(page)e
+(54\).)53 b(If)34 b Fs(pipefail)e Ft(is)i(enabled,)h(the)g(pip)s
+(eline's)f(return)f(status)h(is)h(the)f(v)-5 b(alue)35
+b(of)150 737 y(the)d(last)h(\(righ)m(tmost\))h(command)e(to)h(exit)g
+(with)e(a)i(non-zero)f(status,)h(or)f(zero)h(if)f(all)h(commands)f
+(exit)150 847 y(successfully)-8 b(.)67 b(If)38 b(the)h(reserv)m(ed)g(w)
+m(ord)g(`)p Fs(!)p Ft(')g(precedes)g(the)g(pip)s(eline,)h(the)g(exit)f
+(status)g(is)g(the)g(logical)150 956 y(negation)h(of)f(the)f(exit)i
+(status)f(as)f(describ)s(ed)g(ab)s(o)m(v)m(e.)66 b(The)38
+b(shell)h(w)m(aits)h(for)e(all)h(commands)g(in)f(the)150
+1066 y(pip)s(eline)30 b(to)h(terminate)g(b)s(efore)f(returning)g(a)h(v)
+-5 b(alue.)150 1271 y Fj(3.2.3)63 b(Lists)41 b(of)h(Commands)150
+1418 y Ft(A)37 b Fs(list)e Ft(is)i(a)g(sequence)g(of)g(one)g(or)f(more)
+h(pip)s(elines)f(separated)h(b)m(y)g(one)g(of)f(the)h(op)s(erators)g(`)
+p Fs(;)p Ft(',)i(`)p Fs(&)p Ft(',)150 1527 y(`)p Fs(&&)p
Ft(',)31 b(or)f(`)p Fs(||)p Ft(',)g(and)g(optionally)i(terminated)f(b)m
(y)f(one)h(of)f(`)p Fs(;)p Ft(',)h(`)p Fs(&)p Ft(',)g(or)f(a)h
-Fs(newline)p Ft(.)275 5230 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p
+Fs(newline)p Ft(.)275 1667 y(Of)23 b(these)h(list)g(op)s(erators,)i(`)p
Fs(&&)p Ft(')d(and)g(`)p Fs(||)p Ft(')h(ha)m(v)m(e)h(equal)f
(precedence,)i(follo)m(w)m(ed)f(b)m(y)f(`)p Fs(;)p Ft(')g(and)f(`)p
-Fs(&)p Ft(',)i(whic)m(h)150 5340 y(ha)m(v)m(e)32 b(equal)e(precedence.)
-p eop end
-%%Page: 9 15
-TeXDict begin 9 14 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2292 b(9)275 299
-y(A)29 b(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h(app)s
-(ear)f(in)h(a)g Fs(list)e Ft(to)j(delimit)f(commands,)g(equiv-)150
-408 y(alen)m(t)i(to)f(a)g(semicolon.)275 551 y(If)c(a)h(command)f(is)h
-(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p
+Fs(&)p Ft(',)i(whic)m(h)150 1777 y(ha)m(v)m(e)32 b(equal)e(precedence.)
+275 1916 y(A)f(sequence)h(of)g(one)g(or)g(more)g(newlines)f(ma)m(y)h
+(app)s(ear)f(in)h(a)g Fs(list)e Ft(to)j(delimit)f(commands,)g(equiv-)
+150 2026 y(alen)m(t)i(to)f(a)g(semicolon.)275 2166 y(If)c(a)h(command)f
+(is)h(terminated)g(b)m(y)g(the)g(con)m(trol)h(op)s(erator)f(`)p
Fs(&)p Ft(',)h(the)e(shell)h(executes)h(the)f(command)150
-661 y(async)m(hronously)g(in)g(a)h(subshell.)39 b(This)28
+2275 y(async)m(hronously)g(in)g(a)h(subshell.)39 b(This)28
b(is)g(kno)m(wn)g(as)h(executing)h(the)e(command)h(in)f(the)g
-Fq(bac)m(kground)t Ft(.)150 770 y(The)g(shell)h(do)s(es)f(not)h(w)m
+Fq(bac)m(kground)t Ft(.)150 2385 y(The)g(shell)h(do)s(es)f(not)h(w)m
(ait)g(for)f(the)h(command)f(to)i(\014nish,)d(and)h(the)h(return)e
-(status)i(is)g(0)g(\(true\).)40 b(When)150 880 y(job)g(con)m(trol)h(is)
-g(not)f(activ)m(e)i(\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)j(page)e
-(89\),)j(the)d(standard)e(input)g(for)150 990 y(async)m(hronous)k
-(commands,)k(in)d(the)f(absence)i(of)f(an)m(y)g(explicit)h
-(redirections,)j(is)43 b(redirected)h(from)150 1099 y
-Fs(/dev/null)p Ft(.)275 1242 y(Commands)19 b(separated)j(b)m(y)f(a)g(`)
-p Fs(;)p Ft(')g(are)h(executed)g(sequen)m(tially;)k(the)21
-b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150 1352
+(status)i(is)g(0)g(\(true\).)40 b(When)150 2494 y(job)g(con)m(trol)h
+(is)g(not)f(activ)m(e)i(\(see)f(Chapter)f(7)h([Job)f(Con)m(trol],)j
+(page)e(91\),)j(the)d(standard)e(input)g(for)150 2604
+y(async)m(hronous)k(commands,)k(in)d(the)f(absence)i(of)f(an)m(y)g
+(explicit)h(redirections,)j(is)43 b(redirected)h(from)150
+2714 y Fs(/dev/null)p Ft(.)275 2853 y(Commands)19 b(separated)j(b)m(y)f
+(a)g(`)p Fs(;)p Ft(')g(are)h(executed)g(sequen)m(tially;)k(the)21
+b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150 2963
y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i(is)f
(the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275
-1494 y Fl(and)g Ft(and)h Fl(or)g Ft(lists)h(are)g(sequences)f(of)h(one)
+3103 y Fl(and)g Ft(and)h Fl(or)g Ft(lists)h(are)g(sequences)f(of)h(one)
g(or)f(more)h(pip)s(elines)e(separated)i(b)m(y)g(the)f(con)m(trol)i(op)
-s(er-)150 1604 y(ators)e(`)p Fs(&&)p Ft(')f(and)g(`)p
+s(er-)150 3212 y(ators)e(`)p Fs(&&)p Ft(')f(and)g(`)p
Fs(||)p Ft(',)h(resp)s(ectiv)m(ely)-8 b(.)42 b Fl(and)30
b Ft(and)f Fl(or)h Ft(lists)h(are)g(executed)g(with)f(left)h(asso)s
-(ciativit)m(y)-8 b(.)275 1747 y(An)30 b Fl(and)f Ft(list)i(has)f(the)h
-(form)390 1890 y Fi(command1)56 b Fs(&&)47 b Fi(command2)150
-2032 y Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
+(ciativit)m(y)-8 b(.)275 3352 y(An)30 b Fl(and)f Ft(list)i(has)f(the)h
+(form)390 3492 y Fi(command1)56 b Fs(&&)47 b Fi(command2)150
+3632 y Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
Fq(command1)38 b Ft(returns)29 b(an)h(exit)h(status)g(of)g(zero.)275
-2175 y(An)f Fl(or)f Ft(list)i(has)f(the)h(form)390 2318
-y Fi(command1)56 b Fs(||)47 b Fi(command2)150 2461 y
+3772 y(An)f Fl(or)f Ft(list)i(has)f(the)h(form)390 3911
+y Fi(command1)56 b Fs(||)47 b Fi(command2)150 4051 y
Fq(command2)38 b Ft(is)30 b(executed)i(if,)e(and)g(only)g(if,)h
Fq(command1)38 b Ft(returns)29 b(a)i(non-zero)g(exit)g(status.)275
-2604 y(The)h(return)g(status)i(of)f Fl(and)f Ft(and)h
+4191 y(The)h(return)g(status)i(of)f Fl(and)f Ft(and)h
Fl(or)f Ft(lists)i(is)f(the)g(exit)h(status)g(of)f(the)g(last)h
-(command)f(executed)150 2713 y(in)d(the)h(list.)150 2921
-y Fj(3.2.4)63 b(Comp)s(ound)42 b(Commands)150 3068 y
+(command)f(executed)150 4301 y(in)d(the)h(list.)150 4505
+y Fj(3.2.4)63 b(Comp)s(ound)42 b(Commands)150 4652 y
Ft(Comp)s(ound)32 b(commands)j(are)g(the)g(shell)g(programming)f
(constructs.)54 b(Eac)m(h)35 b(construct)g(b)s(egins)f(with)150
-3177 y(a)k(reserv)m(ed)f(w)m(ord)h(or)f(con)m(trol)i(op)s(erator)f(and)
+4762 y(a)k(reserv)m(ed)f(w)m(ord)h(or)f(con)m(trol)i(op)s(erator)f(and)
f(is)g(terminated)h(b)m(y)f(a)h(corresp)s(onding)f(reserv)m(ed)g(w)m
-(ord)150 3287 y(or)44 b(op)s(erator.)81 b(An)m(y)44 b(redirections)g
-(\(see)h(Section)g(3.6)g([Redirections],)j(page)d(26\))g(asso)s(ciated)
-g(with)150 3396 y(a)g(comp)s(ound)e(command)i(apply)f(to)h(all)h
+(ord)150 4871 y(or)44 b(op)s(erator.)81 b(An)m(y)44 b(redirections)g
+(\(see)h(Section)g(3.6)g([Redirections],)j(page)d(27\))g(asso)s(ciated)
+g(with)150 4981 y(a)g(comp)s(ound)e(command)i(apply)f(to)h(all)h
(commands)e(within)g(that)h(comp)s(ound)e(command)i(unless)150
-3506 y(explicitly)32 b(o)m(v)m(erridden.)275 3649 y(Bash)45
+5091 y(explicitly)32 b(o)m(v)m(erridden.)275 5230 y(Bash)45
b(pro)m(vides)h(lo)s(oping)g(constructs,)j(conditional)e(commands,)j
-(and)44 b(mec)m(hanisms)i(to)g(group)150 3758 y(commands)30
-b(and)g(execute)i(them)e(as)g(a)h(unit.)150 3966 y Fj(3.2.4.1)63
-b(Lo)s(oping)43 b(Constructs)150 4113 y Ft(Bash)31 b(supp)s(orts)d(the)
-j(follo)m(wing)g(lo)s(oping)g(constructs.)275 4256 y(Note)k(that)f
-(wherev)m(er)g(a)g(`)p Fs(;)p Ft(')g(app)s(ears)f(in)h(the)g
-(description)g(of)g(a)g(command's)g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)
-150 4365 y(replaced)c(with)f(one)h(or)f(more)g(newlines.)150
-4537 y Fs(until)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
-Fs(until)e Ft(command)h(is:)870 4676 y Fs(until)46 b
-Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11
-b Fs(;)42 b(done)630 4814 y Ft(Execute)g Fq(consequen)m(t-commands)k
-Ft(as)41 b(long)h(as)f Fq(test-commands)46 b Ft(has)41
-b(an)g(exit)h(status)630 4924 y(whic)m(h)c(is)h(not)g(zero.)67
-b(The)38 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)g(the)g
-(last)g(command)630 5034 y(executed)31 b(in)f Fq(consequen)m
-(t-commands)t Ft(,)h(or)g(zero)g(if)f(none)h(w)m(as)f(executed.)150
-5201 y Fs(while)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
-Fs(while)e Ft(command)h(is:)870 5340 y Fs(while)46 b
-Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11
-b Fs(;)42 b(done)p eop end
+(and)44 b(mec)m(hanisms)i(to)g(group)150 5340 y(commands)30
+b(and)g(execute)i(them)e(as)g(a)h(unit.)p eop end
%%Page: 10 16
TeXDict begin 10 15 bop 150 -116 a Ft(10)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Execute)42 b Fq(consequen)m
-(t-commands)k Ft(as)41 b(long)h(as)f Fq(test-commands)46
-b Ft(has)41 b(an)g(exit)h(status)630 408 y(of)34 b(zero.)53
-b(The)34 b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g
-(last)h(command)f(executed)h(in)630 518 y Fq(consequen)m(t-commands)t
+b(Reference)g(Man)m(ual)150 299 y Fj(3.2.4.1)63 b(Lo)s(oping)43
+b(Constructs)150 446 y Ft(Bash)31 b(supp)s(orts)d(the)j(follo)m(wing)g
+(lo)s(oping)g(constructs.)275 580 y(Note)k(that)f(wherev)m(er)g(a)g(`)p
+Fs(;)p Ft(')g(app)s(ears)f(in)h(the)g(description)g(of)g(a)g(command's)
+g(syn)m(tax,)i(it)e(ma)m(y)h(b)s(e)150 690 y(replaced)c(with)f(one)h
+(or)f(more)g(newlines.)150 849 y Fs(until)240 b Ft(The)30
+b(syn)m(tax)h(of)f(the)h Fs(until)e Ft(command)h(is:)870
+983 y Fs(until)46 b Fi(test-commands)11 b Fs(;)44 b(do)j
+Fi(consequent-commands)11 b Fs(;)42 b(done)630 1117 y
+Ft(Execute)g Fq(consequen)m(t-commands)k Ft(as)41 b(long)h(as)f
+Fq(test-commands)46 b Ft(has)41 b(an)g(exit)h(status)630
+1227 y(whic)m(h)c(is)h(not)g(zero.)67 b(The)38 b(return)g(status)h(is)f
+(the)h(exit)h(status)f(of)g(the)g(last)g(command)630
+1336 y(executed)31 b(in)f Fq(consequen)m(t-commands)t
+Ft(,)h(or)g(zero)g(if)f(none)h(w)m(as)f(executed.)150
+1495 y Fs(while)240 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
+Fs(while)e Ft(command)h(is:)870 1630 y Fs(while)46 b
+Fi(test-commands)11 b Fs(;)44 b(do)j Fi(consequent-commands)11
+b Fs(;)42 b(done)630 1764 y Ft(Execute)g Fq(consequen)m(t-commands)k
+Ft(as)41 b(long)h(as)f Fq(test-commands)46 b Ft(has)41
+b(an)g(exit)h(status)630 1873 y(of)34 b(zero.)53 b(The)34
+b(return)f(status)h(is)h(the)f(exit)h(status)g(of)f(the)g(last)h
+(command)f(executed)h(in)630 1983 y Fq(consequen)m(t-commands)t
Ft(,)c(or)g(zero)g(if)f(none)g(w)m(as)h(executed.)150
-668 y Fs(for)336 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
-Fs(for)e Ft(command)i(is:)870 797 y Fs(for)47 b Fi(name)57
+2142 y Fs(for)336 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
+Fs(for)e Ft(command)i(is:)870 2276 y Fs(for)47 b Fi(name)57
b Fs([)48 b([in)e([)p Fi(words)57 b Fs(...)o(])48 b(])f(;)h(])f(do)g
-Fi(commands)11 b Fs(;)45 b(done)630 927 y Ft(Expand)31
+Fi(commands)11 b Fs(;)45 b(done)630 2411 y Ft(Expand)31
b Fq(w)m(ords)t Ft(,)i(and)e(execute)j Fq(commands)i
Ft(once)d(for)f(eac)m(h)i(mem)m(b)s(er)e(in)g(the)g(resultan)m(t)630
-1037 y(list,)d(with)f Fq(name)33 b Ft(b)s(ound)26 b(to)j(the)f(curren)m
+2520 y(list,)d(with)f Fq(name)33 b Ft(b)s(ound)26 b(to)j(the)f(curren)m
(t)g(mem)m(b)s(er.)40 b(If)27 b(`)p Fs(in)j Fi(words)11
-b Ft(')27 b(is)h(not)g(presen)m(t,)h(the)630 1146 y Fs(for)g
+b Ft(')27 b(is)h(not)g(presen)m(t,)h(the)630 2630 y Fs(for)g
Ft(command)g(executes)i(the)e Fq(commands)k Ft(once)d(for)f(eac)m(h)i
-(p)s(ositional)f(parameter)g(that)630 1256 y(is)d(set,)h(as)f(if)g(`)p
+(p)s(ositional)f(parameter)g(that)630 2739 y(is)d(set,)h(as)f(if)g(`)p
Fs(in)j("$@")p Ft(')c(had)g(b)s(een)g(sp)s(eci\014ed)g(\(see)i(Section)
-f(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)630 1365 y(page)c(16\).)39
+f(3.4.2)i([Sp)s(ecial)e(P)m(arameters],)630 2849 y(page)c(18\).)39
b(The)21 b(return)g(status)h(is)g(the)g(exit)h(status)f(of)g(the)g
-(last)g(command)g(that)g(executes.)630 1475 y(If)37 b(there)h(are)g(no)
+(last)g(command)g(that)g(executes.)630 2958 y(If)37 b(there)h(are)g(no)
g(items)g(in)g(the)g(expansion)g(of)f Fq(w)m(ords)t Ft(,)j(no)d
-(commands)h(are)g(executed,)630 1585 y(and)30 b(the)g(return)g(status)g
-(is)h(zero.)630 1714 y(An)f(alternate)i(form)e(of)h(the)f
-Fs(for)g Ft(command)g(is)g(also)h(supp)s(orted:)870 1844
+(commands)h(are)g(executed,)630 3068 y(and)30 b(the)g(return)g(status)g
+(is)h(zero.)630 3202 y(An)f(alternate)i(form)e(of)h(the)f
+Fs(for)g Ft(command)g(is)g(also)h(supp)s(orted:)870 3337
y Fs(for)47 b(\(\()g Fi(expr1)57 b Fs(;)47 b Fi(expr2)57
b Fs(;)48 b Fi(expr3)57 b Fs(\)\))47 b(;)g(do)g Fi(commands)57
-b Fs(;)47 b(done)630 1974 y Ft(First,)38 b(the)f(arithmetic)h
+b Fs(;)47 b(done)630 3471 y Ft(First,)38 b(the)f(arithmetic)h
(expression)e Fq(expr1)43 b Ft(is)36 b(ev)-5 b(aluated)38
-b(according)f(to)g(the)g(rules)f(de-)630 2083 y(scrib)s(ed)41
+b(according)f(to)g(the)g(rules)f(de-)630 3580 y(scrib)s(ed)41
b(b)s(elo)m(w)h(\(see)h(Section)g(6.5)g([Shell)g(Arithmetic],)j(page)d
-(78\).)77 b(The)42 b(arithmetic)630 2193 y(expression)33
+(80\).)77 b(The)42 b(arithmetic)630 3690 y(expression)33
b Fq(expr2)41 b Ft(is)34 b(then)f(ev)-5 b(aluated)35
b(rep)s(eatedly)f(un)m(til)g(it)g(ev)-5 b(aluates)35
-b(to)g(zero.)51 b(Eac)m(h)630 2302 y(time)23 b Fq(expr2)30
+b(to)g(zero.)51 b(Eac)m(h)630 3800 y(time)23 b Fq(expr2)30
b Ft(ev)-5 b(aluates)25 b(to)e(a)g(non-zero)h(v)-5 b(alue,)25
b Fq(commands)h Ft(are)d(executed)g(and)g(the)g(arith-)630
-2412 y(metic)29 b(expression)f Fq(expr3)36 b Ft(is)28
+3909 y(metic)29 b(expression)f Fq(expr3)36 b Ft(is)28
b(ev)-5 b(aluated.)41 b(If)28 b(an)m(y)h(expression)f(is)g(omitted,)i
-(it)f(b)s(eha)m(v)m(es)g(as)630 2522 y(if)i(it)h(ev)-5
+(it)f(b)s(eha)m(v)m(es)g(as)630 4019 y(if)i(it)h(ev)-5
b(aluates)32 b(to)g(1.)44 b(The)30 b(return)g(v)-5 b(alue)32
b(is)f(the)g(exit)h(status)g(of)f(the)g(last)h(command)f(in)630
-2631 y Fq(list)i Ft(that)e(is)f(executed,)i(or)e(false)h(if)g(an)m(y)f
-(of)h(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
-2781 y(The)26 b Fs(break)g Ft(and)h Fs(continue)e Ft(builtins)i(\(see)h
-(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i(page)f(35\))g(ma)m(y)
-150 2890 y(b)s(e)i(used)f(to)i(con)m(trol)h(lo)s(op)f(execution.)150
-3080 y Fj(3.2.4.2)63 b(Conditional)42 b(Constructs)150
-3247 y Fs(if)384 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
-Fs(if)f Ft(command)g(is:)870 3377 y Fs(if)47 b Fi(test-commands)11
-b Fs(;)44 b(then)965 3486 y Fi(consequent-commands)11
-b Fs(;)870 3596 y([elif)46 b Fi(more-test-commands)11
-b Fs(;)42 b(then)965 3705 y Fi(more-consequents)11 b
-Fs(;])870 3815 y([else)46 b Fi(alternate-consequents)11
-b Fs(;])870 3925 y(fi)630 4054 y Ft(The)53 b Fq(test-commands)58
-b Ft(list)c(is)g(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i
-(is)f(zero,)61 b(the)630 4164 y Fq(consequen)m(t-commands)44
-b Ft(list)d(is)f(executed.)70 b(If)40 b Fq(test-commands)k
-Ft(returns)39 b(a)h(non-zero)630 4273 y(status,)45 b(eac)m(h)e
-Fs(elif)d Ft(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)
-h(status)f(is)f(zero,)46 b(the)630 4383 y(corresp)s(onding)37
-b Fq(more-consequen)m(ts)42 b Ft(is)c(executed)g(and)f(the)h(command)g
-(completes.)63 b(If)630 4493 y(`)p Fs(else)29 b Fi
+4128 y Fq(commands)j Ft(that)d(is)f(executed,)i(or)e(false)h(if)f(an)m
+(y)h(of)g(the)f(expressions)g(is)h(in)m(v)-5 b(alid.)275
+4287 y(The)26 b Fs(break)g Ft(and)h Fs(continue)e Ft(builtins)i(\(see)h
+(Section)h(4.1)f([Bourne)g(Shell)f(Builtins],)i(page)f(37\))g(ma)m(y)
+150 4397 y(b)s(e)i(used)f(to)i(con)m(trol)h(lo)s(op)f(execution.)150
+4596 y Fj(3.2.4.2)63 b(Conditional)42 b(Constructs)150
+4767 y Fs(if)384 b Ft(The)30 b(syn)m(tax)h(of)f(the)h
+Fs(if)f Ft(command)g(is:)870 4902 y Fs(if)47 b Fi(test-commands)11
+b Fs(;)44 b(then)965 5011 y Fi(consequent-commands)11
+b Fs(;)870 5121 y([elif)46 b Fi(more-test-commands)11
+b Fs(;)42 b(then)965 5230 y Fi(more-consequents)11 b
+Fs(;])870 5340 y([else)46 b Fi(alternate-consequents)11
+b Fs(;])p eop end
+%%Page: 11 17
+TeXDict begin 11 16 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)870 299
+y Fs(fi)630 432 y Ft(The)53 b Fq(test-commands)58 b Ft(list)c(is)g
+(executed,)60 b(and)53 b(if)g(its)h(return)e(status)i(is)f(zero,)61
+b(the)630 542 y Fq(consequen)m(t-commands)44 b Ft(list)d(is)f
+(executed.)70 b(If)40 b Fq(test-commands)k Ft(returns)39
+b(a)h(non-zero)630 651 y(status,)45 b(eac)m(h)e Fs(elif)d
+Ft(list)i(is)g(executed)h(in)e(turn,)j(and)d(if)g(its)h(exit)h(status)f
+(is)f(zero,)46 b(the)630 761 y(corresp)s(onding)37 b
+Fq(more-consequen)m(ts)42 b Ft(is)c(executed)g(and)f(the)h(command)g
+(completes.)63 b(If)630 870 y(`)p Fs(else)29 b Fi
(alternate-consequents)11 b Ft(')23 b(is)30 b(presen)m(t,)f(and)g(the)g
-(\014nal)g(command)f(in)h(the)g(\014nal)630 4602 y Fs(if)44
+(\014nal)g(command)f(in)h(the)g(\014nal)630 980 y Fs(if)44
b Ft(or)g Fs(elif)f Ft(clause)i(has)f(a)h(non-zero)g(exit)g(status,)j
-(then)c Fq(alternate-consequen)m(ts)51 b Ft(is)630 4712
+(then)c Fq(alternate-consequen)m(ts)51 b Ft(is)630 1089
y(executed.)k(The)34 b(return)g(status)h(is)f(the)h(exit)h(status)f(of)
-g(the)g(last)g(command)g(executed,)630 4821 y(or)30 b(zero)i(if)e(no)g
-(condition)h(tested)g(true.)150 4971 y Fs(case)288 b
+g(the)g(last)g(command)g(executed,)630 1199 y(or)30 b(zero)i(if)e(no)g
+(condition)h(tested)g(true.)150 1356 y Fs(case)288 b
Ft(The)30 b(syn)m(tax)h(of)f(the)h Fs(case)e Ft(command)h(is:)870
-5101 y Fs(case)47 b Fi(word)57 b Fs(in)47 b([)g([\(])g
+1489 y Fs(case)47 b Fi(word)57 b Fs(in)47 b([)g([\(])g
Fi(pattern)57 b Fs([|)47 b Fi(pattern)11 b Fs(]...)l(\))48
-b Fi(command-list)55 b Fs(;;]...)46 b(esac)630 5230 y(case)20
+b Fi(command-list)55 b Fs(;;]...)46 b(esac)630 1622 y(case)20
b Ft(will)i(selectiv)m(ely)j(execute)e(the)e Fq(command-list)k
Ft(corresp)s(onding)20 b(to)i(the)g(\014rst)f Fq(pattern)630
-5340 y Ft(that)42 b(matc)m(hes)g Fq(w)m(ord)t Ft(.)71
+1731 y Ft(that)42 b(matc)m(hes)g Fq(w)m(ord)t Ft(.)71
b(If)41 b(the)g(shell)g(option)g Fs(nocasematch)d Ft(\(see)k(the)f
-(description)g(of)p eop end
-%%Page: 11 17
-TeXDict begin 11 16 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(11)630 299
-y Fs(shopt)34 b Ft(in)h(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)k
-(page)e(55\))g(is)g(enabled,)g(the)g(matc)m(h)g(is)630
-408 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g(case)h(of)f
-(alphab)s(etic)g(c)m(haracters.)44 b(The)30 b(`)p Fs(|)p
-Ft(')h(is)g(used)630 518 y(to)e(separate)g(m)m(ultiple)g(patterns,)g
-(and)e(the)i(`)p Fs(\))p Ft(')f(op)s(erator)g(terminates)h(a)g(pattern)
-f(list.)41 b(A)630 628 y(list)31 b(of)g(patterns)f(and)g(an)g(asso)s
-(ciated)i(command-list)f(is)f(kno)m(wn)g(as)h(a)g Fq(clause)5
-b Ft(.)630 754 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g(terminated)h
-(with)e(`)p Fs(;;)p Ft(',)45 b(`)p Fs(;&)p Ft(',)f(or)d(`)p
-Fs(;;&)p Ft('.)73 b(The)41 b Fq(w)m(ord)j Ft(under-)630
-864 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g(expansion,)g
-(command)f(substitution,)h(arithmetic)630 973 y(expansion,)47
-b(and)d(quote)g(remo)m(v)-5 b(al)45 b(b)s(efore)f(matc)m(hing)h(is)f
-(attempted.)82 b(Eac)m(h)45 b Fq(pattern)630 1083 y Ft(undergo)s(es)38
-b(tilde)h(expansion,)i(parameter)e(expansion,)i(command)d
-(substitution,)j(and)630 1192 y(arithmetic)32 b(expansion.)630
-1319 y(There)e(ma)m(y)g(b)s(e)f(an)h(arbitrary)g(n)m(um)m(b)s(er)f(of)h
-Fs(case)f Ft(clauses,)i(eac)m(h)g(terminated)g(b)m(y)e(a)i(`)p
-Fs(;;)p Ft(',)630 1428 y(`)p Fs(;&)p Ft(',)c(or)e(`)p
-Fs(;;&)p Ft('.)39 b(The)25 b(\014rst)g(pattern)h(that)g(matc)m(hes)h
-(determines)e(the)h(command-list)g(that)630 1538 y(is)k(executed.)630
-1665 y(Here)35 b(is)g(an)g(example)h(using)e Fs(case)g
-Ft(in)g(a)h(script)g(that)h(could)f(b)s(e)f(used)g(to)h(describ)s(e)g
-(one)630 1774 y(in)m(teresting)d(feature)f(of)f(an)g(animal:)870
-1901 y Fs(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f(animal:)f(")
-870 2010 y(read)h(ANIMAL)870 2120 y(echo)g(-n)g("The)f($ANIMAL)g(has)h
-(")870 2229 y(case)g($ANIMAL)e(in)965 2339 y(horse)i(|)g(dog)g(|)h
-(cat\))e(echo)h(-n)g("four";;)965 2449 y(man)g(|)h(kangaroo)d(\))j
-(echo)e(-n)i("two";;)965 2558 y(*\))g(echo)e(-n)h("an)g(unknown)f
-(number)g(of";;)870 2668 y(esac)870 2777 y(echo)h(")g(legs.")630
-2921 y Ft(If)25 b(the)h(`)p Fs(;;)p Ft(')g(op)s(erator)g(is)g(used,)g
+(description)g(of)630 1841 y Fs(shopt)34 b Ft(in)h(Section)h(4.3.2)h
+([The)e(Shopt)f(Builtin],)k(page)e(57\))g(is)g(enabled,)g(the)g(matc)m
+(h)g(is)630 1951 y(p)s(erformed)29 b(without)i(regard)g(to)g(the)g
+(case)h(of)f(alphab)s(etic)g(c)m(haracters.)44 b(The)30
+b(`)p Fs(|)p Ft(')h(is)g(used)630 2060 y(to)e(separate)g(m)m(ultiple)g
+(patterns,)g(and)e(the)i(`)p Fs(\))p Ft(')f(op)s(erator)g(terminates)h
+(a)g(pattern)f(list.)41 b(A)630 2170 y(list)31 b(of)g(patterns)f(and)g
+(an)g(asso)s(ciated)i(command-list)f(is)f(kno)m(wn)g(as)h(a)g
+Fq(clause)5 b Ft(.)630 2303 y(Eac)m(h)42 b(clause)g(m)m(ust)f(b)s(e)g
+(terminated)h(with)e(`)p Fs(;;)p Ft(',)45 b(`)p Fs(;&)p
+Ft(',)f(or)d(`)p Fs(;;&)p Ft('.)73 b(The)41 b Fq(w)m(ord)j
+Ft(under-)630 2412 y(go)s(es)35 b(tilde)f(expansion,)h(parameter)g
+(expansion,)g(command)f(substitution,)h(arithmetic)630
+2522 y(expansion,)47 b(and)d(quote)g(remo)m(v)-5 b(al)45
+b(b)s(efore)f(matc)m(hing)h(is)f(attempted.)82 b(Eac)m(h)45
+b Fq(pattern)630 2632 y Ft(undergo)s(es)38 b(tilde)h(expansion,)i
+(parameter)e(expansion,)i(command)d(substitution,)j(and)630
+2741 y(arithmetic)32 b(expansion.)630 2874 y(There)e(ma)m(y)g(b)s(e)f
+(an)h(arbitrary)g(n)m(um)m(b)s(er)f(of)h Fs(case)f Ft(clauses,)i(eac)m
+(h)g(terminated)g(b)m(y)e(a)i(`)p Fs(;;)p Ft(',)630 2984
+y(`)p Fs(;&)p Ft(',)c(or)e(`)p Fs(;;&)p Ft('.)39 b(The)25
+b(\014rst)g(pattern)h(that)g(matc)m(hes)h(determines)e(the)h
+(command-list)g(that)630 3093 y(is)k(executed.)630 3226
+y(Here)35 b(is)g(an)g(example)h(using)e Fs(case)g Ft(in)g(a)h(script)g
+(that)h(could)f(b)s(e)f(used)g(to)h(describ)s(e)g(one)630
+3336 y(in)m(teresting)d(feature)f(of)f(an)g(animal:)870
+3469 y Fs(echo)47 b(-n)g("Enter)f(the)h(name)f(of)i(an)f(animal:)f(")
+870 3579 y(read)h(ANIMAL)870 3688 y(echo)g(-n)g("The)f($ANIMAL)g(has)h
+(")870 3798 y(case)g($ANIMAL)e(in)965 3907 y(horse)i(|)g(dog)g(|)h
+(cat\))e(echo)h(-n)g("four";;)965 4017 y(man)g(|)h(kangaroo)d(\))j
+(echo)e(-n)i("two";;)965 4127 y(*\))g(echo)e(-n)h("an)g(unknown)f
+(number)g(of";;)870 4236 y(esac)870 4346 y(echo)h(")g(legs.")630
+4502 y Ft(If)25 b(the)h(`)p Fs(;;)p Ft(')g(op)s(erator)g(is)g(used,)g
(no)g(subsequen)m(t)f(matc)m(hes)i(are)f(attempted)h(after)g(the)f
-(\014rst)630 3030 y(pattern)g(matc)m(h.)40 b(Using)26
+(\014rst)630 4612 y(pattern)g(matc)m(h.)40 b(Using)26
b(`)p Fs(;&)p Ft(')f(in)h(place)g(of)g(`)p Fs(;;)p Ft(')g(causes)g
-(execution)h(to)f(con)m(tin)m(ue)h(with)f(the)630 3140
+(execution)h(to)f(con)m(tin)m(ue)h(with)f(the)630 4722
y Fq(command-list)39 b Ft(asso)s(ciated)f(with)e(the)g(next)g(clause,)j
(if)d(an)m(y)-8 b(.)59 b(Using)37 b(`)p Fs(;;&)p Ft(')f(in)g(place)h
-(of)630 3249 y(`)p Fs(;;)p Ft(')30 b(causes)g(the)g(shell)g(to)g(test)h
+(of)630 4831 y(`)p Fs(;;)p Ft(')30 b(causes)g(the)g(shell)g(to)g(test)h
(the)f(patterns)g(in)f(the)h(next)g(clause,)h(if)e(an)m(y)-8
-b(,)31 b(and)f(execute)630 3359 y(an)m(y)h(asso)s(ciated)h
+b(,)31 b(and)f(execute)630 4941 y(an)m(y)h(asso)s(ciated)h
Fq(command-list)h Ft(on)d(a)h(successful)f(matc)m(h.)630
-3485 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g
+5074 y(The)c(return)f(status)h(is)g(zero)h(if)f(no)g
Fq(pattern)g Ft(is)g(matc)m(hed.)40 b(Otherwise,)27 b(the)g(return)e
-(status)630 3595 y(is)30 b(the)h(exit)g(status)g(of)f(the)h
-Fq(command-list)i Ft(executed.)150 3738 y Fs(select)630
-3865 y Ft(The)g Fs(select)f Ft(construct)i(allo)m(ws)h(the)f(easy)g
-(generation)h(of)e(men)m(us.)50 b(It)34 b(has)f(almost)i(the)630
-3974 y(same)c(syn)m(tax)g(as)f(the)h Fs(for)e Ft(command:)870
-4101 y Fs(select)46 b Fi(name)57 b Fs([in)47 b Fi(words)57
-b Fs(...)o(];)47 b(do)h Fi(commands)11 b Fs(;)44 b(done)630
-4227 y Ft(The)d(list)i(of)e(w)m(ords)h(follo)m(wing)h
-Fs(in)e Ft(is)h(expanded,)i(generating)f(a)f(list)g(of)g(items.)75
-b(The)630 4337 y(set)41 b(of)f(expanded)f(w)m(ords)g(is)i(prin)m(ted)e
-(on)h(the)g(standard)f(error)h(output)g(stream,)j(eac)m(h)630
-4446 y(preceded)30 b(b)m(y)g(a)h(n)m(um)m(b)s(er.)40
+(status)630 5183 y(is)30 b(the)h(exit)g(status)g(of)f(the)h
+Fq(command-list)i Ft(executed.)150 5340 y Fs(select)p
+eop end
+%%Page: 12 18
+TeXDict begin 12 17 bop 150 -116 a Ft(12)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(The)i Fs(select)f Ft(construct)i
+(allo)m(ws)h(the)f(easy)g(generation)h(of)e(men)m(us.)50
+b(It)34 b(has)f(almost)i(the)630 408 y(same)c(syn)m(tax)g(as)f(the)h
+Fs(for)e Ft(command:)870 544 y Fs(select)46 b Fi(name)57
+b Fs([in)47 b Fi(words)57 b Fs(...)o(];)47 b(do)h Fi(commands)11
+b Fs(;)44 b(done)630 679 y Ft(The)d(list)i(of)e(w)m(ords)h(follo)m
+(wing)h Fs(in)e Ft(is)h(expanded,)i(generating)f(a)f(list)g(of)g
+(items.)75 b(The)630 789 y(set)41 b(of)f(expanded)f(w)m(ords)g(is)i
+(prin)m(ted)e(on)h(the)g(standard)f(error)h(output)g(stream,)j(eac)m(h)
+630 898 y(preceded)30 b(b)m(y)g(a)h(n)m(um)m(b)s(er.)40
b(If)29 b(the)i(`)p Fs(in)f Fi(words)11 b Ft(')29 b(is)h(omitted,)i
-(the)e(p)s(ositional)i(parameters)630 4556 y(are)22 b(prin)m(ted,)h(as)
+(the)e(p)s(ositional)i(parameters)630 1008 y(are)22 b(prin)m(ted,)h(as)
f(if)f(`)p Fs(in)30 b("$@")p Ft(')21 b(had)g(b)s(een)f(sp)s(eci\014ed.)
37 b(The)21 b Fs(PS3)g Ft(prompt)g(is)g(then)g(displa)m(y)m(ed)630
-4666 y(and)38 b(a)h(line)g(is)f(read)h(from)f(the)h(standard)e(input.)
+1118 y(and)38 b(a)h(line)g(is)f(read)h(from)f(the)h(standard)e(input.)
65 b(If)38 b(the)h(line)g(consists)g(of)f(a)h(n)m(um)m(b)s(er)630
-4775 y(corresp)s(onding)33 b(to)i(one)f(of)g(the)g(displa)m(y)m(ed)h(w)
+1227 y(corresp)s(onding)33 b(to)i(one)f(of)g(the)g(displa)m(y)m(ed)h(w)
m(ords,)f(then)g(the)g(v)-5 b(alue)34 b(of)h Fq(name)k
-Ft(is)34 b(set)g(to)630 4885 y(that)g(w)m(ord.)49 b(If)32
+Ft(is)34 b(set)g(to)630 1337 y(that)g(w)m(ord.)49 b(If)32
b(the)i(line)f(is)h(empt)m(y)-8 b(,)35 b(the)e(w)m(ords)g(and)f(prompt)
-h(are)g(displa)m(y)m(ed)h(again.)50 b(If)630 4994 y Fs(EOF)23
+h(are)g(displa)m(y)m(ed)h(again.)50 b(If)630 1446 y Fs(EOF)23
b Ft(is)g(read,)j(the)d Fs(select)f Ft(command)i(completes.)40
b(An)m(y)23 b(other)h(v)-5 b(alue)24 b(read)g(causes)g
-Fq(name)630 5104 y Ft(to)31 b(b)s(e)f(set)h(to)g(n)m(ull.)41
+Fq(name)630 1556 y Ft(to)31 b(b)s(e)f(set)h(to)g(n)m(ull.)41
b(The)29 b(line)i(read)f(is)h(sa)m(v)m(ed)g(in)f(the)h(v)-5
-b(ariable)31 b Fs(REPLY)p Ft(.)630 5230 y(The)42 b Fq(commands)j
+b(ariable)31 b Fs(REPLY)p Ft(.)630 1691 y(The)42 b Fq(commands)j
Ft(are)d(executed)h(after)g(eac)m(h)g(selection)h(un)m(til)e(a)h
-Fs(break)d Ft(command)i(is)630 5340 y(executed,)32 b(at)f(whic)m(h)f(p)
-s(oin)m(t)g(the)h Fs(select)d Ft(command)i(completes.)p
-eop end
-%%Page: 12 18
-TeXDict begin 12 17 bop 150 -116 a Ft(12)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Here)39 b(is)g(an)g(example)h(that)f
-(allo)m(ws)i(the)e(user)f(to)i(pic)m(k)f(a)g(\014lename)h(from)e(the)h
-(curren)m(t)630 408 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f
-(name)h(and)f(index)f(of)i(the)g(\014le)f(selected.)870
-542 y Fs(select)46 b(fname)g(in)i(*;)870 651 y(do)870
-761 y(echo)f(you)g(picked)f($fname)g(\\\($REPLY\\\))870
-870 y(break;)870 980 y(done)150 1136 y(\(\(...)o(\)\))870
-1270 y(\(\()h Fi(expression)56 b Fs(\)\))630 1403 y Ft(The)33
-b(arithmetic)i Fq(expression)f Ft(is)f(ev)-5 b(aluated)35
-b(according)g(to)f(the)g(rules)f(describ)s(ed)g(b)s(elo)m(w)630
-1512 y(\(see)j(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)f(78\).)55
-b(If)34 b(the)h(v)-5 b(alue)35 b(of)g(the)g(expression)g(is)630
-1622 y(non-zero,)27 b(the)f(return)e(status)i(is)g(0;)h(otherwise)f
-(the)g(return)e(status)i(is)g(1.)39 b(This)25 b(is)g(exactly)630
-1731 y(equiv)-5 b(alen)m(t)32 b(to)870 1864 y Fs(let)47
-b(")p Fi(expression)11 b Fs(")630 1998 y Ft(See)25 b(Section)h(4.2)h
-([Bash)e(Builtins],)i(page)f(41,)i(for)c(a)i(full)f(description)g(of)g
-(the)h Fs(let)e Ft(builtin.)150 2154 y Fs([[...)o(]])870
-2287 y([[)47 b Fi(expression)56 b Fs(]])630 2420 y Ft(Return)25
+Fs(break)d Ft(command)i(is)630 1801 y(executed,)32 b(at)f(whic)m(h)f(p)
+s(oin)m(t)g(the)h Fs(select)d Ft(command)i(completes.)630
+1936 y(Here)39 b(is)g(an)g(example)h(that)f(allo)m(ws)i(the)e(user)f
+(to)i(pic)m(k)f(a)g(\014lename)h(from)e(the)h(curren)m(t)630
+2046 y(directory)-8 b(,)32 b(and)d(displa)m(ys)i(the)f(name)h(and)f
+(index)f(of)i(the)g(\014le)f(selected.)870 2181 y Fs(select)46
+b(fname)g(in)i(*;)870 2291 y(do)870 2400 y(echo)f(you)g(picked)f
+($fname)g(\\\($REPLY\\\))870 2510 y(break;)870 2620 y(done)150
+2781 y(\(\(...)o(\)\))870 2916 y(\(\()h Fi(expression)56
+b Fs(\)\))630 3051 y Ft(The)33 b(arithmetic)i Fq(expression)f
+Ft(is)f(ev)-5 b(aluated)35 b(according)g(to)f(the)g(rules)f(describ)s
+(ed)g(b)s(elo)m(w)630 3161 y(\(see)j(Section)f(6.5)h([Shell)f
+(Arithmetic],)i(page)f(80\).)55 b(If)34 b(the)h(v)-5
+b(alue)35 b(of)g(the)g(expression)g(is)630 3271 y(non-zero,)27
+b(the)f(return)e(status)i(is)g(0;)h(otherwise)f(the)g(return)e(status)i
+(is)g(1.)39 b(This)25 b(is)g(exactly)630 3380 y(equiv)-5
+b(alen)m(t)32 b(to)870 3516 y Fs(let)47 b(")p Fi(expression)11
+b Fs(")630 3651 y Ft(See)25 b(Section)h(4.2)h([Bash)e(Builtins],)i
+(page)f(43,)i(for)c(a)i(full)f(description)g(of)g(the)h
+Fs(let)e Ft(builtin.)150 3812 y Fs([[...)o(]])870 3948
+y([[)47 b Fi(expression)56 b Fs(]])630 4083 y Ft(Return)25
b(a)h(status)f(of)h(0)g(or)g(1)g(dep)s(ending)e(on)h(the)h(ev)-5
b(aluation)27 b(of)e(the)h(conditional)h(expres-)630
-2530 y(sion)j Fq(expression)p Ft(.)41 b(Expressions)29
+4193 y(sion)j Fq(expression)p Ft(.)41 b(Expressions)29
b(are)i(comp)s(osed)f(of)g(the)h(primaries)f(describ)s(ed)f(b)s(elo)m
-(w)h(in)630 2639 y(Section)36 b(6.4)h([Bash)f(Conditional)g
-(Expressions],)h(page)f(76.)57 b(W)-8 b(ord)36 b(splitting)h(and)e
-(\014le-)630 2749 y(name)24 b(expansion)h(are)g(not)f(p)s(erformed)f
+(w)h(in)630 4302 y(Section)36 b(6.4)h([Bash)f(Conditional)g
+(Expressions],)h(page)f(78.)57 b(W)-8 b(ord)36 b(splitting)h(and)e
+(\014le-)630 4412 y(name)24 b(expansion)h(are)g(not)f(p)s(erformed)f
(on)h(the)h(w)m(ords)f(b)s(et)m(w)m(een)h(the)g(`)p Fs([[)p
-Ft(')f(and)g(`)p Fs(]])p Ft(';)i(tilde)630 2859 y(expansion,)31
+Ft(')f(and)g(`)p Fs(]])p Ft(';)i(tilde)630 4521 y(expansion,)31
b(parameter)g(and)f(v)-5 b(ariable)31 b(expansion,)g(arithmetic)g
-(expansion,)g(command)630 2968 y(substitution,)40 b(pro)s(cess)f
+(expansion,)g(command)630 4631 y(substitution,)40 b(pro)s(cess)f
(substitution,)h(and)e(quote)h(remo)m(v)-5 b(al)40 b(are)f(p)s
-(erformed.)63 b(Condi-)630 3078 y(tional)32 b(op)s(erators)e(suc)m(h)g
+(erformed.)63 b(Condi-)630 4740 y(tional)32 b(op)s(erators)e(suc)m(h)g
(as)h(`)p Fs(-f)p Ft(')f(m)m(ust)g(b)s(e)g(unquoted)g(to)h(b)s(e)e
-(recognized)j(as)f(primaries.)630 3211 y(When)d(used)g(with)g(`)p
-Fs([[)p Ft(',)h(The)f(`)p Fs(<)p Ft(')g(and)g(`)p Fs(>)p
-Ft(')h(op)s(erators)f(sort)h(lexicographically)i(using)d(the)630
-3320 y(curren)m(t)i(lo)s(cale.)630 3453 y(When)22 b(the)h(`)p
+(recognized)j(as)f(primaries.)630 4876 y(When)g(used)f(with)g(`)p
+Fs([[)p Ft(',)i(the)f(`)p Fs(<)p Ft(')g(and)f(`)p Fs(>)p
+Ft(')h(op)s(erators)g(sort)h(lexicographically)h(using)e(the)630
+4985 y(curren)m(t)f(lo)s(cale.)630 5121 y(When)22 b(the)h(`)p
Fs(==)p Ft(')f(and)g(`)p Fs(!=)p Ft(')g(op)s(erators)h(are)g(used,)g
(the)g(string)f(to)i(the)e(righ)m(t)h(of)g(the)g(op)s(erator)630
-3563 y(is)31 b(considered)g(a)h(pattern)f(and)g(matc)m(hed)h(according)
+5230 y(is)31 b(considered)g(a)h(pattern)f(and)g(matc)m(hed)h(according)
g(to)g(the)g(rules)f(describ)s(ed)f(b)s(elo)m(w)h(in)630
-3673 y(Section)37 b(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j(page)c(24.)
-59 b(If)36 b(the)g(shell)g(option)h Fs(nocasematch)630
-3782 y Ft(\(see)42 b(the)f(description)g(of)h Fs(shopt)d
-Ft(in)i(Section)h(4.3.2)h([The)e(Shopt)f(Builtin],)45
-b(page)d(55\))630 3892 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s
-(erformed)g(without)g(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630
-4001 y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28
-b(is)g(0)g(if)g(the)g(string)g(matc)m(hes)h(\(`)p Fs(==)p
-Ft('\))f(or)g(do)s(es)f(not)h(matc)m(h)630 4111 y(\(`)p
-Fs(!=)p Ft('\)the)33 b(pattern,)g(and)f(1)g(otherwise.)47
-b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s(e)f(quoted)g(to)
-630 4221 y(force)f(it)g(to)g(b)s(e)f(matc)m(hed)h(as)f(a)h(string.)630
-4354 y(An)i(additional)i(binary)e(op)s(erator,)i(`)p
+5340 y(Section)37 b(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)j(page)c(26.)
+59 b(If)36 b(the)g(shell)g(option)h Fs(nocasematch)p
+eop end
+%%Page: 13 19
+TeXDict begin 13 18 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299
+y(\(see)42 b(the)f(description)g(of)h Fs(shopt)d Ft(in)i(Section)h
+(4.3.2)h([The)e(Shopt)f(Builtin],)45 b(page)d(57\))630
+408 y(is)e(enabled,)i(the)e(matc)m(h)h(is)e(p)s(erformed)g(without)g
+(regard)h(to)h(the)f(case)g(of)g(alphab)s(etic)630 518
+y(c)m(haracters.)h(The)28 b(return)e(v)-5 b(alue)28 b(is)g(0)g(if)g
+(the)g(string)g(matc)m(hes)h(\(`)p Fs(==)p Ft('\))f(or)g(do)s(es)f(not)
+h(matc)m(h)630 628 y(\(`)p Fs(!=)p Ft('\)the)33 b(pattern,)g(and)f(1)g
+(otherwise.)47 b(An)m(y)32 b(part)g(of)h(the)f(pattern)g(ma)m(y)h(b)s
+(e)f(quoted)g(to)630 737 y(force)f(it)g(to)g(b)s(e)f(matc)m(hed)h(as)f
+(a)h(string.)630 867 y(An)i(additional)i(binary)e(op)s(erator,)i(`)p
Fs(=~)p Ft(',)g(is)f(a)m(v)-5 b(ailable,)37 b(with)c(the)h(same)g
-(precedence)h(as)630 4463 y(`)p Fs(==)p Ft(')29 b(and)f(`)p
+(precedence)h(as)630 976 y(`)p Fs(==)p Ft(')29 b(and)f(`)p
Fs(!=)p Ft('.)40 b(When)29 b(it)g(is)g(used,)f(the)h(string)g(to)h(the)
e(righ)m(t)i(of)f(the)g(op)s(erator)g(is)g(consid-)630
-4573 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m
+1086 y(ered)34 b(an)g(extended)g(regular)g(expression)g(and)f(matc)m
(hed)i(accordingly)g(\(as)f(in)g Fk(r)-5 b(e)g(gex)11
-b Ft(3\)\).)630 4682 y(The)29 b(return)f(v)-5 b(alue)30
+b Ft(3\)\).)630 1196 y(The)29 b(return)f(v)-5 b(alue)30
b(is)g(0)g(if)f(the)h(string)g(matc)m(hes)g(the)g(pattern,)g(and)f(1)h
-(otherwise.)41 b(If)29 b(the)630 4792 y(regular)e(expression)g(is)h
+(otherwise.)41 b(If)29 b(the)630 1305 y(regular)e(expression)g(is)h
(syn)m(tactically)i(incorrect,)f(the)e(conditional)i(expression's)e
-(return)630 4902 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39
+(return)630 1415 y(v)-5 b(alue)40 b(is)g(2.)68 b(If)39
b(the)h(shell)f(option)h Fs(nocasematch)d Ft(\(see)j(the)g(description)
-g(of)f Fs(shopt)f Ft(in)630 5011 y(Section)32 b(4.3.2)g([The)f(Shopt)f
-(Builtin],)i(page)g(55\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s
-(erformed)630 5121 y(without)36 b(regard)g(to)h(the)f(case)h(of)f
+g(of)f Fs(shopt)f Ft(in)630 1524 y(Section)32 b(4.3.2)g([The)f(Shopt)f
+(Builtin],)i(page)g(57\))g(is)f(enabled,)g(the)g(matc)m(h)h(is)e(p)s
+(erformed)630 1634 y(without)36 b(regard)g(to)h(the)f(case)h(of)f
(alphab)s(etic)h(c)m(haracters.)59 b(An)m(y)36 b(part)g(of)h(the)f
-(pattern)630 5230 y(ma)m(y)g(b)s(e)g(quoted)g(to)g(force)g(it)h(to)f(b)
+(pattern)630 1744 y(ma)m(y)g(b)s(e)g(quoted)g(to)g(force)g(it)h(to)f(b)
s(e)f(matc)m(hed)i(as)f(a)g(string.)57 b(Substrings)34
-b(matc)m(hed)j(b)m(y)630 5340 y(paren)m(thesized)44 b(sub)s
+b(matc)m(hed)j(b)m(y)630 1853 y(paren)m(thesized)44 b(sub)s
(expressions)e(within)i(the)g(regular)g(expression)g(are)g(sa)m(v)m(ed)
-h(in)f(the)p eop end
-%%Page: 13 19
-TeXDict begin 13 18 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(13)630 299
-y(arra)m(y)38 b(v)-5 b(ariable)38 b Fs(BASH_REMATCH)p
-Ft(.)59 b(The)36 b(elemen)m(t)j(of)f Fs(BASH_REMATCH)c
-Ft(with)j(index)g(0)h(is)630 408 y(the)c(p)s(ortion)f(of)h(the)f
-(string)h(matc)m(hing)g(the)g(en)m(tire)h(regular)e(expression.)50
-b(The)33 b(elemen)m(t)630 518 y(of)39 b Fs(BASH_REMATCH)c
-Ft(with)j(index)g Fq(n)f Ft(is)i(the)f(p)s(ortion)g(of)h(the)f(string)h
-(matc)m(hing)g(the)g Fq(n)p Ft(th)630 628 y(paren)m(thesized)31
-b(sub)s(expression.)630 770 y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m
-(bined)i(using)f(the)h(follo)m(wing)h(op)s(erators,)g(listed)f(in)f
-(decreasing)630 879 y(order)30 b(of)g(precedence:)630
-1054 y Fs(\()g Fi(expression)38 b Fs(\))1110 1163 y Ft(Returns)30
-b(the)h(v)-5 b(alue)31 b(of)g Fq(expression)p Ft(.)42
-b(This)30 b(ma)m(y)i(b)s(e)e(used)g(to)i(o)m(v)m(erride)g(the)1110
-1273 y(normal)e(precedence)h(of)g(op)s(erators.)630 1447
-y Fs(!)f Fi(expression)1110 1557 y Ft(T)-8 b(rue)30 b(if)g
-Fq(expression)g Ft(is)h(false.)630 1731 y Fi(expression1)38
-b Fs(&&)30 b Fi(expression2)1110 1841 y Ft(T)-8 b(rue)30
-b(if)g(b)s(oth)g Fq(expression1)38 b Ft(and)29 b Fq(expression2)38
-b Ft(are)31 b(true.)630 2015 y Fi(expression1)38 b Fs(||)30
-b Fi(expression2)1110 2125 y Ft(T)-8 b(rue)30 b(if)g(either)h
-Fq(expression1)38 b Ft(or)30 b Fq(expression2)38 b Ft(is)30
-b(true.)630 2299 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f
-Ft(op)s(erators)i(do)f(not)h(ev)-5 b(aluate)27 b Fq(expression2)33
-b Ft(if)26 b(the)f(v)-5 b(alue)26 b(of)g Fq(expression1)630
-2408 y Ft(is)k(su\016cien)m(t)h(to)g(determine)g(the)f(return)g(v)-5
-b(alue)31 b(of)f(the)h(en)m(tire)g(conditional)h(expression.)150
-2623 y Fj(3.2.4.3)63 b(Grouping)43 b(Commands)150 2770
-y Ft(Bash)30 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m(ys)f(to)h(group)e(a)h
-(list)g(of)g(commands)f(to)i(b)s(e)e(executed)h(as)g(a)h(unit.)40
-b(When)29 b(com-)150 2879 y(mands)h(are)i(group)s(ed,)f(redirections)h
-(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h(command)g(list.)44
-b(F)-8 b(or)32 b(example,)150 2989 y(the)f(output)f(of)g(all)h(the)g
-(commands)f(in)g(the)h(list)g(ma)m(y)g(b)s(e)e(redirected)i(to)g(a)g
-(single)g(stream.)150 3171 y Fs(\(\))870 3313 y(\()47
-b Fi(list)58 b Fs(\))630 3455 y Ft(Placing)30 b(a)f(list)g(of)g
-(commands)f(b)s(et)m(w)m(een)i(paren)m(theses)e(causes)i(a)f(subshell)e
-(en)m(vironmen)m(t)630 3564 y(to)k(b)s(e)e(created)j(\(see)f(Section)g
-(3.7.3)h([Command)d(Execution)i(En)m(vironmen)m(t],)g(page)f(30\),)630
-3674 y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j
+h(in)f(the)630 1963 y(arra)m(y)38 b(v)-5 b(ariable)38
+b Fs(BASH_REMATCH)p Ft(.)59 b(The)36 b(elemen)m(t)j(of)f
+Fs(BASH_REMATCH)c Ft(with)j(index)g(0)h(is)630 2072 y(the)c(p)s(ortion)
+f(of)h(the)f(string)h(matc)m(hing)g(the)g(en)m(tire)h(regular)e
+(expression.)50 b(The)33 b(elemen)m(t)630 2182 y(of)39
+b Fs(BASH_REMATCH)c Ft(with)j(index)g Fq(n)f Ft(is)i(the)f(p)s(ortion)g
+(of)h(the)f(string)h(matc)m(hing)g(the)g Fq(n)p Ft(th)630
+2292 y(paren)m(thesized)31 b(sub)s(expression.)630 2421
+y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h(follo)m
+(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
+2531 y(order)30 b(of)g(precedence:)630 2681 y Fs(\()g
+Fi(expression)38 b Fs(\))1110 2790 y Ft(Returns)30 b(the)h(v)-5
+b(alue)31 b(of)g Fq(expression)p Ft(.)42 b(This)30 b(ma)m(y)i(b)s(e)e
+(used)g(to)i(o)m(v)m(erride)g(the)1110 2900 y(normal)e(precedence)h(of)
+g(op)s(erators.)630 3049 y Fs(!)f Fi(expression)1110
+3159 y Ft(T)-8 b(rue)30 b(if)g Fq(expression)g Ft(is)h(false.)630
+3309 y Fi(expression1)38 b Fs(&&)30 b Fi(expression2)1110
+3418 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expression1)38
+b Ft(and)29 b Fq(expression2)38 b Ft(are)31 b(true.)630
+3568 y Fi(expression1)38 b Fs(||)30 b Fi(expression2)1110
+3678 y Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expression1)38
+b Ft(or)30 b Fq(expression2)38 b Ft(is)30 b(true.)630
+3827 y(The)25 b Fs(&&)g Ft(and)g Fs(||)f Ft(op)s(erators)i(do)f(not)h
+(ev)-5 b(aluate)27 b Fq(expression2)33 b Ft(if)26 b(the)f(v)-5
+b(alue)26 b(of)g Fq(expression1)630 3937 y Ft(is)k(su\016cien)m(t)h(to)
+g(determine)g(the)f(return)g(v)-5 b(alue)31 b(of)f(the)h(en)m(tire)g
+(conditional)h(expression.)150 4126 y Fj(3.2.4.3)63 b(Grouping)43
+b(Commands)150 4273 y Ft(Bash)30 b(pro)m(vides)g(t)m(w)m(o)h(w)m(a)m
+(ys)f(to)h(group)e(a)h(list)g(of)g(commands)f(to)i(b)s(e)e(executed)h
+(as)g(a)h(unit.)40 b(When)29 b(com-)150 4383 y(mands)h(are)i(group)s
+(ed,)f(redirections)h(ma)m(y)g(b)s(e)e(applied)i(to)g(the)f(en)m(tire)h
+(command)g(list.)44 b(F)-8 b(or)32 b(example,)150 4493
+y(the)f(output)f(of)g(all)h(the)g(commands)f(in)g(the)h(list)g(ma)m(y)g
+(b)s(e)e(redirected)i(to)g(a)g(single)g(stream.)150 4642
+y Fs(\(\))870 4772 y(\()47 b Fi(list)58 b Fs(\))630 4902
+y Ft(Placing)30 b(a)f(list)g(of)g(commands)f(b)s(et)m(w)m(een)i(paren)m
+(theses)e(causes)i(a)f(subshell)e(en)m(vironmen)m(t)630
+5011 y(to)k(b)s(e)e(created)j(\(see)f(Section)g(3.7.3)h([Command)d
+(Execution)i(En)m(vironmen)m(t],)g(page)f(32\),)630 5121
+y(and)d(eac)m(h)i(of)e(the)h(commands)f(in)g Fq(list)j
Ft(to)f(b)s(e)e(executed)h(in)f(that)h(subshell.)39 b(Since)28
-b(the)f Fq(list)630 3783 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
+b(the)f Fq(list)630 5230 y Ft(is)i(executed)g(in)f(a)h(subshell,)g(v)-5
b(ariable)29 b(assignmen)m(ts)g(do)g(not)g(remain)f(in)g(e\013ect)j
-(after)e(the)630 3893 y(subshell)g(completes.)150 4067
-y Fs({})870 4209 y({)47 b Fi(list)11 b Fs(;)46 b(})630
-4351 y Ft(Placing)30 b(a)g(list)g(of)g(commands)f(b)s(et)m(w)m(een)h
-(curly)f(braces)g(causes)h(the)f(list)h(to)g(b)s(e)f(executed)630
-4461 y(in)d(the)h(curren)m(t)g(shell)f(con)m(text.)42
-b(No)27 b(subshell)f(is)g(created.)41 b(The)26 b(semicolon)i(\(or)f
-(newline\))630 4570 y(follo)m(wing)32 b Fq(list)h Ft(is)d(required.)275
-4752 y(In)44 b(addition)h(to)h(the)f(creation)i(of)e(a)g(subshell,)j
-(there)e(is)f(a)g(subtle)g(di\013erence)h(b)s(et)m(w)m(een)f(these)150
-4862 y(t)m(w)m(o)c(constructs)e(due)g(to)g(historical)i(reasons.)67
-b(The)39 b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40
-b(so)g(they)f(m)m(ust)150 4971 y(b)s(e)d(separated)h(from)f(the)g
-Fq(list)j Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m
-(haracters.)62 b(The)36 b(paren)m(theses)h(are)150 5081
-y Fs(operators)p Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i
-(tok)m(ens)f(b)m(y)f(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f
-(separated)150 5191 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)
-275 5340 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h
-(constructs)g(is)f(the)h(exit)g(status)f(of)h Fq(list)r
-Ft(.)p eop end
+(after)e(the)630 5340 y(subshell)g(completes.)p eop end
%%Page: 14 20
TeXDict begin 14 19 bop 150 -116 a Ft(14)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fj(3.2.5)63 b(Copro)s(cesses)150
-446 y Ft(A)37 b Fs(coprocess)c Ft(is)k(a)g(shell)f(command)h(preceded)f
-(b)m(y)g(the)h Fs(coproc)d Ft(reserv)m(ed)j(w)m(ord.)59
-b(A)36 b(copro)s(cess)h(is)150 555 y(executed)g(async)m(hronously)g(in)
-f(a)h(subshell,)g(as)g(if)g(the)f(command)h(had)f(b)s(een)f(terminated)
-i(with)g(the)150 665 y(`)p Fs(&)p Ft(')d(con)m(trol)h(op)s(erator,)g
-(with)f(a)g(t)m(w)m(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m
-(een)h(the)f(executing)h(shell)f(and)f(the)150 775 y(copro)s(cess.)275
-906 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
-1037 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56
-b Fs([)p Fi(redirections)11 b Fs(])150 1168 y Ft(This)41
+b(Reference)g(Man)m(ual)150 299 y Fs({})870 436 y({)47
+b Fi(list)11 b Fs(;)46 b(})630 574 y Ft(Placing)30 b(a)g(list)g(of)g
+(commands)f(b)s(et)m(w)m(een)h(curly)f(braces)g(causes)h(the)f(list)h
+(to)g(b)s(e)f(executed)630 683 y(in)d(the)h(curren)m(t)g(shell)f(con)m
+(text.)42 b(No)27 b(subshell)f(is)g(created.)41 b(The)26
+b(semicolon)i(\(or)f(newline\))630 793 y(follo)m(wing)32
+b Fq(list)h Ft(is)d(required.)275 961 y(In)44 b(addition)h(to)h(the)f
+(creation)i(of)e(a)g(subshell,)j(there)e(is)f(a)g(subtle)g
+(di\013erence)h(b)s(et)m(w)m(een)f(these)150 1071 y(t)m(w)m(o)c
+(constructs)e(due)g(to)g(historical)i(reasons.)67 b(The)39
+b(braces)g(are)h Fs(reserved)28 b(words)p Ft(,)40 b(so)g(they)f(m)m
+(ust)150 1180 y(b)s(e)d(separated)h(from)f(the)g Fq(list)j
+Ft(b)m(y)e Fs(blank)p Ft(s)e(or)h(other)h(shell)f(metac)m(haracters.)62
+b(The)36 b(paren)m(theses)h(are)150 1290 y Fs(operators)p
+Ft(,)23 b(and)h(are)g(recognized)i(as)e(separate)i(tok)m(ens)f(b)m(y)f
+(the)g(shell)h(ev)m(en)g(if)f(they)g(are)h(not)f(separated)150
+1400 y(from)30 b(the)g Fq(list)j Ft(b)m(y)e(whitespace.)275
+1540 y(The)e(exit)j(status)e(of)h(b)s(oth)f(of)g(these)h(constructs)g
+(is)f(the)h(exit)g(status)f(of)h Fq(list)r Ft(.)150 1745
+y Fj(3.2.5)63 b(Copro)s(cesses)150 1892 y Ft(A)37 b Fs(coprocess)c
+Ft(is)k(a)g(shell)f(command)h(preceded)f(b)m(y)g(the)h
+Fs(coproc)d Ft(reserv)m(ed)j(w)m(ord.)59 b(A)36 b(copro)s(cess)h(is)150
+2002 y(executed)g(async)m(hronously)g(in)f(a)h(subshell,)g(as)g(if)g
+(the)f(command)h(had)f(b)s(een)f(terminated)i(with)g(the)150
+2111 y(`)p Fs(&)p Ft(')d(con)m(trol)h(op)s(erator,)g(with)f(a)g(t)m(w)m
+(o-w)m(a)m(y)i(pip)s(e)d(established)h(b)s(et)m(w)m(een)h(the)f
+(executing)h(shell)f(and)f(the)150 2221 y(copro)s(cess.)275
+2361 y(The)c(format)i(for)f(a)h(copro)s(cess)g(is:)390
+2502 y Fs(coproc)46 b([)p Fi(NAME)11 b Fs(])46 b Fi(command)56
+b Fs([)p Fi(redirections)11 b Fs(])150 2642 y Ft(This)41
b(creates)i(a)g(copro)s(cess)f(named)f Fq(NAME)5 b Ft(.)43
b(If)f Fq(NAME)47 b Ft(is)42 b(not)g(supplied,)i(the)e(default)g(name)g
-(is)150 1277 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29
+(is)150 2752 y Fq(COPR)m(OC)8 b Ft(.)22 b Fq(NAME)29
b Ft(m)m(ust)23 b(not)g(b)s(e)g(supplied)e(if)i Fq(command)k
Ft(is)c(a)g(simple)g(command)g(\(see)h(Section)g(3.2.1)150
-1387 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g
+2861 y([Simple)39 b(Commands],)h(page)g(8\);)k(otherwise,)e(it)d(is)g
(in)m(terpreted)h(as)f(the)g(\014rst)f(w)m(ord)h(of)g(the)g(simple)150
-1496 y(command.)275 1627 y(When)23 b(the)h(copro)s(c)g(is)g(executed,)i
+2971 y(command.)275 3111 y(When)23 b(the)h(copro)s(c)g(is)g(executed,)i
(the)e(shell)g(creates)h(an)e(arra)m(y)i(v)-5 b(ariable)24
-b(\(see)h(Section)f(6.7)h([Arra)m(ys],)150 1737 y(page)43
-b(80\))g(named)f Fq(NAME)48 b Ft(in)42 b(the)g(con)m(text)i(of)e(the)h
+b(\(see)h(Section)f(6.7)h([Arra)m(ys],)150 3221 y(page)43
+b(82\))g(named)f Fq(NAME)48 b Ft(in)42 b(the)g(con)m(text)i(of)e(the)h
(executing)g(shell.)76 b(The)42 b(standard)f(output)h(of)150
-1846 y Fq(command)d Ft(is)d(connected)h(via)g(a)f(pip)s(e)g(to)g(a)h
+3330 y Fq(command)d Ft(is)d(connected)h(via)g(a)f(pip)s(e)g(to)g(a)h
(\014le)f(descriptor)g(in)f(the)i(executing)g(shell,)h(and)d(that)i
-(\014le)150 1956 y(descriptor)25 b(is)f(assigned)h(to)h
+(\014le)150 3440 y(descriptor)25 b(is)f(assigned)h(to)h
Fq(NAME)5 b Ft([0].)40 b(The)25 b(standard)e(input)h(of)h
Fq(command)j Ft(is)d(connected)g(via)h(a)f(pip)s(e)150
-2066 y(to)33 b(a)f(\014le)g(descriptor)g(in)f(the)i(executing)g(shell,)
+3550 y(to)33 b(a)f(\014le)g(descriptor)g(in)f(the)i(executing)g(shell,)
f(and)g(that)g(\014le)g(descriptor)g(is)g(assigned)g(to)h
-Fq(NAME)5 b Ft([1].)150 2175 y(This)31 b(pip)s(e)g(is)h(established)g
+Fq(NAME)5 b Ft([1].)150 3659 y(This)31 b(pip)s(e)g(is)h(established)g
(b)s(efore)g(an)m(y)g(redirections)g(sp)s(eci\014ed)g(b)m(y)f(the)i
-(command)e(\(see)i(Section)g(3.6)150 2285 y([Redirections],)25
-b(page)e(26\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f
+(command)e(\(see)i(Section)g(3.6)150 3769 y([Redirections],)25
+b(page)e(27\).)39 b(The)21 b(\014le)h(descriptors)g(can)g(b)s(e)f
(utilized)i(as)f(argumen)m(ts)h(to)f(shell)g(commands)150
-2394 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h
-(expansions.)275 2525 y(The)f(pro)s(cess)h(id)f(of)h(the)g(shell)h(spa)
-m(wned)e(to)i(execute)g(the)f(copro)s(cess)h(is)f(a)m(v)-5
-b(ailable)32 b(as)e(the)g(v)-5 b(alue)31 b(of)150 2635
-y(the)26 b(v)-5 b(ariable)26 b Fq(NAME)p 931 2635 28
-4 v 46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s
-(e)f(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150
-2745 y(to)31 b(terminate.)275 2876 y(The)e(return)h(status)g(of)h(a)g
-(copro)s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
-Ft(.)150 3101 y Fr(3.3)68 b(Shell)45 b(F)-11 b(unctions)150
-3260 y Ft(Shell)35 b(functions)h(are)g(a)g(w)m(a)m(y)g(to)h(group)e
+3878 y(and)30 b(redirections)h(using)f(standard)f(w)m(ord)h
+(expansions.)275 4019 y(The)d(pro)s(cess)h(ID)h(of)f(the)h(shell)f(spa)
+m(wned)g(to)h(execute)h(the)e(copro)s(cess)h(is)f(a)m(v)-5
+b(ailable)31 b(as)d(the)h(v)-5 b(alue)29 b(of)150 4128
+y(the)d(v)-5 b(ariable)26 b Fq(NAME)p 931 4128 28 4 v
+46 w Ft(PID.)g(The)f Fs(wait)g Ft(builtin)g(command)g(ma)m(y)h(b)s(e)f
+(used)g(to)i(w)m(ait)f(for)g(the)g(copro)s(cess)150 4238
+y(to)31 b(terminate.)275 4378 y(The)e(return)h(status)g(of)h(a)g(copro)
+s(cess)f(is)h(the)f(exit)i(status)e(of)h Fq(command)t
+Ft(.)150 4583 y Fj(3.2.6)63 b(GNU)41 b(P)m(arallel)150
+4730 y Ft(GNU)36 b(P)m(arallel,)k(as)c(its)g(name)g(suggests,)i(can)e
+(b)s(e)f(used)g(to)h(build)f(and)g(run)g(commands)g(in)h(parallel.)150
+4840 y(Y)-8 b(ou)41 b(ma)m(y)g(run)e(the)h(same)h(command)f(with)g
+(di\013eren)m(t)h(argumen)m(ts,)j(whether)39 b(they)i(are)g
+(\014lenames,)150 4950 y(usernames,)30 b(hostnames,)h(or)f(lines)h
+(read)f(from)g(\014les.)275 5090 y(F)-8 b(or)33 b(a)g(complete)h
+(description,)g(refer)e(to)i(the)f(GNU)g(P)m(arallel)i(do)s(cumen)m
+(tation.)48 b(A)33 b(few)f(examples)150 5200 y(should)d(pro)m(vide)i(a)
+g(brief)e(in)m(tro)s(duction)i(to)g(its)g(use.)275 5340
+y(F)-8 b(or)31 b(example,)g(it)g(is)f(easy)h(to)g(pre\014x)f(eac)m(h)h
+(line)g(in)f(a)h(text)g(\014le)g(with)f(a)g(sp)s(eci\014ed)g(string:)p
+eop end
+%%Page: 15 21
+TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)390 299
+y Fs(cat)47 b(file)g(|)g(parallel)f(-k)h(echo)f(prefix_string)150
+432 y Ft(The)30 b(`)p Fs(-k)p Ft(')g(option)h(is)f(required)g(to)h
+(preserv)m(e)g(the)f(lines')h(order.)275 565 y(Similarly)-8
+b(,)31 b(y)m(ou)g(can)f(app)s(end)f(a)i(sp)s(eci\014ed)e(string)i(to)g
+(eac)m(h)g(line)g(in)f(a)h(text)g(\014le:)390 697 y Fs(cat)47
+b(file)g(|)g(parallel)f(-k)h(echo)f({})i(append_string)275
+830 y Ft(Y)-8 b(ou)34 b(can)g(use)f(P)m(arallel)j(to)e(mo)m(v)m(e)h
+(\014les)f(from)f(the)h(curren)m(t)f(directory)h(when)f(the)h(n)m(um)m
+(b)s(er)e(of)i(\014les)150 940 y(is)c(to)s(o)i(large)f(to)g(pro)s(cess)
+f(with)g(one)h Fs(mv)f Ft(in)m(v)m(o)s(cation:)390 1073
+y Fs(ls)47 b(|)h(parallel)d(mv)i({})h(destdir)275 1205
+y Ft(As)35 b(y)m(ou)h(can)f(see,)j(the)d Fs({})g Ft(is)g(replaced)h
+(with)f(eac)m(h)i(line)f(read)f(from)g(standard)f(input.)55
+b(This)35 b(will)150 1315 y(run)f(as)h(man)m(y)g Fs(mv)g
+Ft(commands)g(as)g(there)h(are)f(\014les)g(in)g(the)h(curren)m(t)f
+(directory)-8 b(.)56 b(Y)-8 b(ou)35 b(can)h(em)m(ulate)h(a)150
+1425 y(parallel)31 b Fs(xargs)e Ft(b)m(y)i(adding)f(the)g(`)p
+Fs(-X)p Ft(')g(option:)390 1557 y Fs(ls)47 b(|)h(parallel)d(-X)i(mv)h
+({})f(destdir)275 1690 y Ft(GNU)31 b(P)m(arallel)i(can)e(replace)h
+(certain)g(common)g(idioms)f(that)g(op)s(erate)h(on)f(lines)g(read)g
+(from)f(a)i(\014le)150 1800 y(\(in)e(this)h(case,)g(\014lenames\):)390
+1933 y Fs(for)47 b(x)g(in)h($\(cat)e(list\);)g(do)390
+2042 y(do-something1)e($x)j(config-$x)390 2152 y(do-something2)d(<)k
+($x)390 2262 y(done)f(|)g(process-output)150 2394 y Ft(with)30
+b(a)h(more)f(compact)i(syn)m(tax)f(reminiscen)m(t)g(of)g(lam)m(b)s
+(das:)390 2527 y Fs(cat)47 b(list)g(|)g(parallel)f("do-something1)d({})
+48 b(config-{})d(;)i(do-something2)e(<)i({}")g(|)g(process-output)275
+2660 y Ft(P)m(arallel)31 b(pro)m(vides)e(a)h(built-in)g(mec)m(hanism)g
+(to)g(remo)m(v)m(e)h(\014lename)e(extensions,)i(whic)m(h)e(lends)g
+(itself)150 2770 y(to)i(batc)m(h)g(\014le)g(transformations)f(or)g
+(renaming:)390 2902 y Fs(ls)47 b(*.gz)g(|)g(parallel)f(-j+0)g("zcat)h
+({})g(|)g(bzip2)g(>{.}.bz2)e(&&)j(rm)f({}")150 3035 y
+Ft(This)28 b(will)i(recompress)e(all)i(\014les)f(in)g(the)g(curren)m(t)
+g(directory)g(with)g(names)g(ending)f(in)h(.gz)h(using)f(bzip2,)150
+3145 y(running)g(one)h(job)g(p)s(er)g(CPU)g(\(-j)p Fs(+)p
+Ft(0\))h(in)f(parallel.)275 3278 y(If)24 b(a)i(command)f(generates)h
+(output,)g(y)m(ou)g(ma)m(y)f(w)m(an)m(t)h(to)g(preserv)m(e)g(the)f
+(input)f(order)h(in)g(the)g(output.)150 3387 y(F)-8 b(or)31
+b(instance,)g(the)g(follo)m(wing)h(command)390 3520 y
+Fs({)47 b(echo)g(foss.org.my)e(;)i(echo)g(debian.org;)e(echo)h
+(freenetproject.org;)d(})k(|)h(parallel)d(traceroute)150
+3653 y Ft(will)28 b(displa)m(y)g(as)f(output)g(the)h(traceroute)h(in)m
+(v)m(o)s(cation)h(that)e(\014nishes)e(\014rst.)39 b(Using)28
+b(the)g(`)p Fs(-k)p Ft(')f(option,)i(as)150 3763 y(w)m(e)i(sa)m(w)g(ab)
+s(o)m(v)m(e)390 3895 y Fs({)47 b(echo)g(foss.org.my)e(;)i(echo)g
+(debian.org;)e(echo)h(freenetproject.org;)d(})k(|)h(parallel)d(-k)i
+(traceroute)150 4028 y Ft(will)31 b(ensure)e(that)i(the)g(output)f(of)g
+Fs(traceroute)e(foss.org.my)f Ft(is)k(displa)m(y)m(ed)g(\014rst.)150
+4257 y Fr(3.3)68 b(Shell)45 b(F)-11 b(unctions)150 4417
+y Ft(Shell)35 b(functions)h(are)g(a)g(w)m(a)m(y)g(to)h(group)e
(commands)g(for)h(later)g(execution)h(using)e(a)h(single)g(name)g(for)
-150 3370 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e)
+150 4526 y(the)f(group.)55 b(They)35 b(are)g(executed)h(just)f(lik)m(e)
h(a)g Fs(")p Ft(regular)p Fs(")f Ft(command.)54 b(When)35
-b(the)h(name)f(of)g(a)h(shell)150 3480 y(function)j(is)g(used)f(as)h(a)
+b(the)h(name)f(of)g(a)h(shell)150 4636 y(function)j(is)g(used)f(as)h(a)
h(simple)f(command)g(name,)i(the)e(list)h(of)f(commands)g(asso)s
-(ciated)i(with)d(that)150 3589 y(function)25 b(name)h(is)g(executed.)40
+(ciated)i(with)d(that)150 4746 y(function)25 b(name)h(is)g(executed.)40
b(Shell)25 b(functions)g(are)i(executed)f(in)f(the)h(curren)m(t)g
-(shell)g(con)m(text;)j(no)c(new)150 3699 y(pro)s(cess)30
-b(is)g(created)i(to)f(in)m(terpret)g(them.)275 3830 y(F)-8
+(shell)g(con)m(text;)j(no)c(new)150 4855 y(pro)s(cess)30
+b(is)g(created)i(to)f(in)m(terpret)g(them.)275 4988 y(F)-8
b(unctions)30 b(are)h(declared)g(using)f(this)g(syn)m(tax:)390
-3961 y Fs([)47 b(function)f(])h Fi(name)58 b Fs(\(\))47
-b Fi(compound-command)54 b Fs([)47 b Fi(redirections)55
-b Fs(])275 4092 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f
-(named)g Fq(name)5 b Ft(.)47 b(The)32 b(reserv)m(ed)h(w)m(ord)f
-Fs(function)e Ft(is)i(optional.)48 b(If)150 4201 y(the)39
+5121 y Fi(name)57 b Fs(\(\))47 b Fi(compound-command)54
+b Fs([)48 b Fi(redirections)55 b Fs(])390 5230 y(or)p
+eop end
+%%Page: 16 22
+TeXDict begin 16 21 bop 150 -116 a Ft(16)2572 b(Bash)31
+b(Reference)g(Man)m(ual)390 299 y Fs(function)46 b Fi(name)57
+b Fs([\(\)])46 b Fi(compound-command)54 b Fs([)48 b Fi(redirections)55
+b Fs(])275 430 y Ft(This)31 b(de\014nes)h(a)g(shell)h(function)f(named)
+g Fq(name)5 b Ft(.)47 b(The)32 b(reserv)m(ed)h(w)m(ord)f
+Fs(function)e Ft(is)i(optional.)48 b(If)150 540 y(the)39
b Fs(function)f Ft(reserv)m(ed)h(w)m(ord)g(is)g(supplied,)i(the)e
(paren)m(theses)h(are)f(optional.)69 b(The)39 b Fq(b)s(o)s(dy)45
-b Ft(of)40 b(the)150 4311 y(function)h(is)h(the)g(comp)s(ound)e
-(command)h Fq(comp)s(ound-command)j Ft(\(see)e(Section)h(3.2.4)g([Comp)
-s(ound)150 4420 y(Commands],)33 b(page)g(9\).)48 b(That)33
-b(command)g(is)f(usually)h(a)g Fq(list)i Ft(enclosed)e(b)s(et)m(w)m
-(een)h Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150
-4530 y(b)s(e)27 b(an)m(y)h(comp)s(ound)e(command)h(listed)h(ab)s(o)m(v)
-m(e.)41 b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g
-Fq(name)150 4640 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g
-(a)h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g
-([Redirections],)150 4749 y(page)31 b(26\))h(asso)s(ciated)g(with)e
+b Ft(of)40 b(the)150 650 y(function)h(is)h(the)g(comp)s(ound)e(command)
+h Fq(comp)s(ound-command)j Ft(\(see)e(Section)h(3.2.4)g([Comp)s(ound)
+150 759 y(Commands],)33 b(page)g(9\).)48 b(That)33 b(command)g(is)f
+(usually)h(a)g Fq(list)i Ft(enclosed)e(b)s(et)m(w)m(een)h
+Fs({)e Ft(and)g Fs(})p Ft(,)h(but)f(ma)m(y)150 869 y(b)s(e)27
+b(an)m(y)h(comp)s(ound)e(command)h(listed)h(ab)s(o)m(v)m(e.)41
+b Fq(comp)s(ound-command)30 b Ft(is)e(executed)g(whenev)m(er)g
+Fq(name)150 978 y Ft(is)37 b(sp)s(eci\014ed)g(as)g(the)h(name)f(of)g(a)
+h(command.)61 b(An)m(y)37 b(redirections)h(\(see)g(Section)g(3.6)g
+([Redirections],)150 1088 y(page)31 b(27\))h(asso)s(ciated)g(with)e
(the)g(shell)h(function)f(are)h(p)s(erformed)d(when)i(the)g(function)g
-(is)h(executed.)275 4880 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b)
+(is)h(executed.)275 1219 y(A)41 b(function)f(de\014nition)h(ma)m(y)g(b)
s(e)g(deleted)g(using)g(the)g(`)p Fs(-f)p Ft(')g(option)g(to)h(the)f
-Fs(unset)e Ft(builtin)i(\(see)150 4990 y(Section)31 b(4.1)h([Bourne)e
-(Shell)g(Builtins],)h(page)h(35\).)275 5121 y(The)26
+Fs(unset)e Ft(builtin)i(\(see)150 1329 y(Section)31 b(4.1)h([Bourne)e
+(Shell)g(Builtins],)h(page)h(37\).)275 1461 y(The)26
b(exit)i(status)g(of)f(a)h(function)f(de\014nition)g(is)g(zero)h
(unless)f(a)g(syn)m(tax)h(error)f(o)s(ccurs)g(or)g(a)h(readonly)150
-5230 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46
+1570 y(function)k(with)f(the)i(same)f(name)g(already)h(exists.)46
b(When)32 b(executed,)h(the)f(exit)h(status)g(of)f(a)g(function)150
-5340 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed)
-i(in)e(the)g(b)s(o)s(dy)-8 b(.)p eop end
-%%Page: 15 21
-TeXDict begin 15 20 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(15)275 299
-y(Note)22 b(that)f(for)f(historical)i(reasons,)h(in)e(the)g(most)g
-(common)g(usage)g(the)g(curly)f(braces)h(that)g(surround)150
-408 y(the)38 b(b)s(o)s(dy)d(of)j(the)f(function)g(m)m(ust)g(b)s(e)g
-(separated)h(from)f(the)g(b)s(o)s(dy)f(b)m(y)h Fs(blank)p
-Ft(s)f(or)h(newlines.)62 b(This)150 518 y(is)38 b(b)s(ecause)g(the)h
-(braces)f(are)h(reserv)m(ed)f(w)m(ords)g(and)f(are)i(only)f(recognized)
-i(as)e(suc)m(h)g(when)f(they)i(are)150 628 y(separated)26
-b(from)f(the)h(command)f(list)i(b)m(y)e(whitespace)h(or)g(another)g
-(shell)g(metac)m(haracter.)41 b(Also,)28 b(when)150 737
-y(using)i(the)g(braces,)h(the)g Fq(list)i Ft(m)m(ust)d(b)s(e)g
-(terminated)h(b)m(y)f(a)h(semicolon,)h(a)e(`)p Fs(&)p
-Ft(',)h(or)g(a)f(newline.)275 879 y(When)i(a)i(function)f(is)g
-(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)g
-(the)h(p)s(ositional)g(pa-)150 988 y(rameters)42 b(during)e(its)i
+1680 y(is)e(the)h(exit)g(status)g(of)f(the)h(last)g(command)f(executed)
+i(in)e(the)g(b)s(o)s(dy)-8 b(.)275 1811 y(Note)22 b(that)f(for)f
+(historical)i(reasons,)h(in)e(the)g(most)g(common)g(usage)g(the)g
+(curly)f(braces)h(that)g(surround)150 1921 y(the)38 b(b)s(o)s(dy)d(of)j
+(the)f(function)g(m)m(ust)g(b)s(e)g(separated)h(from)f(the)g(b)s(o)s
+(dy)f(b)m(y)h Fs(blank)p Ft(s)f(or)h(newlines.)62 b(This)150
+2030 y(is)38 b(b)s(ecause)g(the)h(braces)f(are)h(reserv)m(ed)f(w)m
+(ords)g(and)f(are)i(only)f(recognized)i(as)e(suc)m(h)g(when)f(they)i
+(are)150 2140 y(separated)26 b(from)f(the)h(command)f(list)i(b)m(y)e
+(whitespace)h(or)g(another)g(shell)g(metac)m(haracter.)41
+b(Also,)28 b(when)150 2250 y(using)i(the)g(braces,)h(the)g
+Fq(list)i Ft(m)m(ust)d(b)s(e)g(terminated)h(b)m(y)f(a)h(semicolon,)h(a)
+e(`)p Fs(&)p Ft(',)h(or)g(a)f(newline.)275 2381 y(When)i(a)i(function)f
+(is)g(executed,)i(the)e(argumen)m(ts)h(to)g(the)f(function)g(b)s(ecome)
+g(the)h(p)s(ositional)g(pa-)150 2491 y(rameters)42 b(during)e(its)i
(execution)h(\(see)f(Section)g(3.4.1)h([P)m(ositional)h(P)m
-(arameters],)i(page)c(16\).)75 b(The)150 1098 y(sp)s(ecial)37
+(arameters],)i(page)c(17\).)75 b(The)150 2600 y(sp)s(ecial)37
b(parameter)f(`)p Fs(#)p Ft(')g(that)h(expands)e(to)i(the)f(n)m(um)m(b)
s(er)f(of)h(p)s(ositional)h(parameters)f(is)g(up)s(dated)f(to)150
-1207 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
+2710 y(re\015ect)h(the)f(c)m(hange.)56 b(Sp)s(ecial)35
b(parameter)h Fs(0)f Ft(is)g(unc)m(hanged.)54 b(The)35
-b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 1317
+b(\014rst)f(elemen)m(t)j(of)e(the)g Fs(FUNCNAME)150 2819
y Ft(v)-5 b(ariable)31 b(is)g(set)f(to)i(the)e(name)h(of)f(the)h
(function)f(while)g(the)h(function)f(is)g(executing.)275
-1459 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en)
+2951 y(All)25 b(other)g(asp)s(ects)g(of)g(the)g(shell)g(execution)h(en)
m(vironmen)m(t)g(are)f(iden)m(tical)h(b)s(et)m(w)m(een)g(a)f(function)g
-(and)150 1568 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
+(and)150 3061 y(its)35 b(caller)i(with)d(these)i(exceptions:)50
b(the)36 b Fs(DEBUG)d Ft(and)h Fs(RETURN)g Ft(traps)g(are)i(not)f
-(inherited)f(unless)h(the)150 1678 y(function)26 b(has)g(b)s(een)f(giv)
+(inherited)f(unless)h(the)150 3170 y(function)26 b(has)g(b)s(een)f(giv)
m(en)i(the)g Fs(trace)d Ft(attribute)j(using)f(the)g
Fs(declare)e Ft(builtin)i(or)g(the)h Fs(-o)i(functrace)150
-1787 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
+3280 y Ft(option)f(has)e(b)s(een)h(enabled)g(with)g(the)g
Fs(set)f Ft(builtin,)i(\(in)f(whic)m(h)f(case)j(all)f(functions)e
-(inherit)h(the)g Fs(DEBUG)150 1897 y Ft(and)33 b Fs(RETURN)f
+(inherit)h(the)g Fs(DEBUG)150 3389 y Ft(and)33 b Fs(RETURN)f
Ft(traps\),)j(and)e(the)h Fs(ERR)f Ft(trap)h(is)g(not)g(inherited)f
(unless)g(the)h Fs(-o)c(errtrace)h Ft(shell)j(option)150
-2007 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
-(Shell)g(Builtins],)i(page)f(35,)i(for)c(the)i(description)f(of)150
-2116 y(the)c Fs(trap)e Ft(builtin.)275 2258 y(If)37 b(the)g(builtin)g
-(command)h Fs(return)d Ft(is)j(executed)g(in)g(a)g(function,)h(the)e
-(function)h(completes)h(and)150 2367 y(execution)25 b(resumes)e(with)h
-(the)g(next)g(command)f(after)i(the)f(function)f(call.)40
-b(An)m(y)24 b(command)f(asso)s(ciated)150 2477 y(with)36
-b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed)g(b)s(efore)f(execution)i
-(resumes.)57 b(When)37 b(a)f(function)g(completes,)150
-2586 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s(ositional)h(parameters)f
-(and)g(the)g(sp)s(ecial)h(parameter)f(`)p Fs(#)p Ft(')g(are)h(restored)
-f(to)h(the)150 2696 y(v)-5 b(alues)26 b(they)f(had)g(prior)f(to)i(the)g
-(function's)f(execution.)40 b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h
-(is)f(giv)m(en)h(to)g Fs(return)p Ft(,)150 2806 y(that)j(is)g(the)f
-(function's)h(return)e(status;)j(otherwise)f(the)f(function's)h(return)
-e(status)i(is)f(the)h(exit)h(status)150 2915 y(of)h(the)f(last)h
-(command)f(executed)i(b)s(efore)e(the)g Fs(return)p Ft(.)275
-3057 y(V)-8 b(ariables)31 b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i
-(b)s(e)e(declared)h(with)f(the)h Fs(local)f Ft(builtin.)40
-b(These)29 b(v)-5 b(ariables)150 3166 y(are)31 b(visible)g(only)f(to)h
-(the)g(function)f(and)g(the)g(commands)g(it)h(in)m(v)m(ok)m(es.)275
-3308 y(F)-8 b(unction)38 b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s
-(e)e(listed)h(with)f(the)h(`)p Fs(-f)p Ft(')f(option)h(to)h(the)e
-Fs(declare)f Ft(or)150 3417 y Fs(typeset)d Ft(builtin)h(commands)h
-(\(see)h(Section)g(4.2)g([Bash)f(Builtins],)i(page)f(41\).)55
-b(The)35 b(`)p Fs(-F)p Ft(')g(option)g(to)150 3527 y
-Fs(declare)f Ft(or)i Fs(typeset)e Ft(will)i(list)h(the)f(function)g
-(names)g(only)g(\(and)g(optionally)h(the)f(source)g(\014le)h(and)150
-3636 y(line)c(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e
+3499 y(has)h(b)s(een)f(enabled.)55 b(See)35 b(Section)h(4.1)g([Bourne)f
+(Shell)g(Builtins],)i(page)f(37,)i(for)c(the)i(description)f(of)150
+3608 y(the)c Fs(trap)e Ft(builtin.)275 3740 y(The)38
+b Fs(FUNCNEST)f Ft(v)-5 b(ariable,)42 b(if)d(set)h(to)g(a)g(n)m(umeric)
+f(v)-5 b(alue)39 b(greater)h(than)f(0,)j(de\014nes)d(a)g(maxim)m(um)150
+3850 y(function)24 b(nesting)h(lev)m(el.)40 b(F)-8 b(unction)25
+b(in)m(v)m(o)s(cations)i(that)e(exceed)g(the)g(limit)g(cause)g(the)g
+(en)m(tire)g(command)150 3959 y(to)31 b(ab)s(ort.)275
+4091 y(If)37 b(the)g(builtin)g(command)h Fs(return)d
+Ft(is)j(executed)g(in)g(a)g(function,)h(the)e(function)h(completes)h
+(and)150 4200 y(execution)25 b(resumes)e(with)h(the)g(next)g(command)f
+(after)i(the)f(function)f(call.)40 b(An)m(y)24 b(command)f(asso)s
+(ciated)150 4310 y(with)36 b(the)h Fs(RETURN)d Ft(trap)i(is)h(executed)
+g(b)s(efore)f(execution)i(resumes.)57 b(When)37 b(a)f(function)g
+(completes,)150 4419 y(the)h(v)-5 b(alues)38 b(of)f(the)g(p)s
+(ositional)h(parameters)f(and)g(the)g(sp)s(ecial)h(parameter)f(`)p
+Fs(#)p Ft(')g(are)h(restored)f(to)h(the)150 4529 y(v)-5
+b(alues)26 b(they)f(had)g(prior)f(to)i(the)g(function's)f(execution.)40
+b(If)25 b(a)h(n)m(umeric)f(argumen)m(t)h(is)f(giv)m(en)h(to)g
+Fs(return)p Ft(,)150 4639 y(that)j(is)g(the)f(function's)h(return)e
+(status;)j(otherwise)f(the)f(function's)h(return)e(status)i(is)f(the)h
+(exit)h(status)150 4748 y(of)h(the)f(last)h(command)f(executed)i(b)s
+(efore)e(the)g Fs(return)p Ft(.)275 4880 y(V)-8 b(ariables)31
+b(lo)s(cal)g(to)f(the)g(function)f(ma)m(y)i(b)s(e)e(declared)h(with)f
+(the)h Fs(local)f Ft(builtin.)40 b(These)29 b(v)-5 b(ariables)150
+4989 y(are)31 b(visible)g(only)f(to)h(the)g(function)f(and)g(the)g
+(commands)g(it)h(in)m(v)m(ok)m(es.)275 5121 y(F)-8 b(unction)38
+b(names)f(and)g(de\014nitions)g(ma)m(y)i(b)s(e)e(listed)h(with)f(the)h
+(`)p Fs(-f)p Ft(')f(option)h(to)h(the)e Fs(declare)f
+Ft(or)150 5230 y Fs(typeset)d Ft(builtin)h(commands)h(\(see)h(Section)g
+(4.2)g([Bash)f(Builtins],)i(page)f(43\).)55 b(The)35
+b(`)p Fs(-F)p Ft(')g(option)g(to)150 5340 y Fs(declare)f
+Ft(or)i Fs(typeset)e Ft(will)i(list)h(the)f(function)g(names)g(only)g
+(\(and)g(optionally)h(the)f(source)g(\014le)h(and)p eop
+end
+%%Page: 17 23
+TeXDict begin 17 22 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)150 299
+y(line)33 b(n)m(um)m(b)s(er,)g(if)f(the)h Fs(extdebug)e
Ft(shell)i(option)g(is)g(enabled\).)49 b(F)-8 b(unctions)33
-b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 3746 y(subshells)f
+b(ma)m(y)h(b)s(e)e(exp)s(orted)g(so)h(that)150 408 y(subshells)f
(automatically)37 b(ha)m(v)m(e)d(them)g(de\014ned)e(with)h(the)g(`)p
Fs(-f)p Ft(')h(option)g(to)g(the)f Fs(export)f Ft(builtin)h(\(see)150
-3856 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(35\).)47
+518 y(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\).)47
b(Note)33 b(that)g(shell)f(functions)g(and)f(v)-5 b(ariables)33
-b(with)150 3965 y(the)d(same)g(name)g(ma)m(y)g(result)g(in)g(m)m
+b(with)150 628 y(the)d(same)g(name)g(ma)m(y)g(result)g(in)g(m)m
(ultiple)g(iden)m(tically-named)i(en)m(tries)f(in)e(the)h(en)m
-(vironmen)m(t)g(passed)150 4075 y(to)h(the)g(shell's)f(c)m(hildren.)41
+(vironmen)m(t)g(passed)150 737 y(to)h(the)g(shell's)f(c)m(hildren.)41
b(Care)30 b(should)g(b)s(e)f(tak)m(en)j(in)e(cases)h(where)f(this)g(ma)
-m(y)h(cause)g(a)g(problem.)275 4216 y(F)-8 b(unctions)30
-b(ma)m(y)h(b)s(e)f(recursiv)m(e.)41 b(No)31 b(limit)g(is)g(placed)g(on)
-f(the)g(n)m(um)m(b)s(er)g(of)g(recursiv)m(e)h(calls.)150
-4459 y Fr(3.4)68 b(Shell)45 b(P)l(arameters)150 4619
-y Ft(A)23 b Fq(parameter)31 b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)f
-(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g
+m(y)h(cause)g(a)g(problem.)275 883 y(F)-8 b(unctions)33
+b(ma)m(y)g(b)s(e)g(recursiv)m(e.)48 b(The)32 b Fs(FUNCNEST)f
+Ft(v)-5 b(ariable)34 b(ma)m(y)f(b)s(e)f(used)g(to)i(limit)g(the)f
+(depth)f(of)150 993 y(the)27 b(function)f(call)i(stac)m(k)h(and)d
+(restrict)h(the)g(n)m(um)m(b)s(er)f(of)h(function)f(in)m(v)m(o)s
+(cations.)42 b(By)27 b(default,)g(no)g(limit)150 1103
+y(is)j(placed)h(on)g(the)f(n)m(um)m(b)s(er)f(of)i(recursiv)m(e)f
+(calls.)150 1352 y Fr(3.4)68 b(Shell)45 b(P)l(arameters)150
+1512 y Ft(A)23 b Fq(parameter)31 b Ft(is)23 b(an)g(en)m(tit)m(y)i(that)
+f(stores)g(v)-5 b(alues.)39 b(It)23 b(can)h(b)s(e)f(a)g
Fs(name)p Ft(,)h(a)g(n)m(um)m(b)s(er,)f(or)h(one)f(of)h(the)f(sp)s
-(ecial)150 4728 y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39
+(ecial)150 1621 y(c)m(haracters)i(listed)f(b)s(elo)m(w.)39
b(A)24 b Fq(v)-5 b(ariable)29 b Ft(is)24 b(a)g(parameter)g(denoted)f(b)
m(y)h(a)g Fs(name)p Ft(.)37 b(A)24 b(v)-5 b(ariable)24
-b(has)f(a)h Fq(v)-5 b(alue)150 4838 y Ft(and)33 b(zero)i(or)e(more)h
+b(has)f(a)h Fq(v)-5 b(alue)150 1731 y Ft(and)33 b(zero)i(or)e(more)h
Fq(attributes)t Ft(.)51 b(A)m(ttributes)34 b(are)g(assigned)g(using)f
-(the)h Fs(declare)e Ft(builtin)h(command)150 4947 y(\(see)e(the)g
+(the)h Fs(declare)e Ft(builtin)h(command)150 1841 y(\(see)e(the)g
(description)f(of)h(the)f Fs(declare)f Ft(builtin)h(in)g(Section)h(4.2)
-g([Bash)g(Builtins],)g(page)g(41\).)275 5089 y(A)d(parameter)h(is)g
+g([Bash)g(Builtins],)g(page)g(43\).)275 1987 y(A)d(parameter)h(is)g
(set)g(if)f(it)h(has)f(b)s(een)g(assigned)h(a)g(v)-5
b(alue.)40 b(The)28 b(n)m(ull)h(string)f(is)h(a)g(v)-5
-b(alid)28 b(v)-5 b(alue.)41 b(Once)150 5198 y(a)31 b(v)-5
+b(alid)28 b(v)-5 b(alue.)41 b(Once)150 2096 y(a)31 b(v)-5
b(ariable)31 b(is)f(set,)i(it)e(ma)m(y)h(b)s(e)f(unset)g(only)h(b)m(y)f
-(using)g(the)g Fs(unset)f Ft(builtin)h(command.)275 5340
+(using)g(the)g Fs(unset)f Ft(builtin)h(command.)275 2242
y(A)g(v)-5 b(ariable)31 b(ma)m(y)g(b)s(e)f(assigned)g(to)i(b)m(y)e(a)h
-(statemen)m(t)h(of)e(the)h(form)p eop end
-%%Page: 16 22
-TeXDict begin 16 21 bop 150 -116 a Ft(16)2572 b(Bash)31
-b(Reference)g(Man)m(ual)390 299 y Fi(name)11 b Fs(=[)p
-Fi(value)g Fs(])150 435 y Ft(If)34 b Fq(v)-5 b(alue)40
-b Ft(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35
+(statemen)m(t)h(of)e(the)h(form)390 2389 y Fi(name)11
+b Fs(=[)p Fi(value)g Fs(])150 2535 y Ft(If)34 b Fq(v)-5
+b(alue)40 b Ft(is)35 b(not)g(giv)m(en,)h(the)f(v)-5 b(ariable)35
b(is)g(assigned)g(the)f(n)m(ull)h(string.)53 b(All)35
b Fq(v)-5 b(alue)5 b Ft(s)35 b(undergo)f(tilde)h(ex-)150
-544 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
+2644 y(pansion,)h(parameter)f(and)f(v)-5 b(ariable)36
b(expansion,)f(command)g(substitution,)h(arithmetic)g(expansion,)150
-654 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).)
+2754 y(and)k(quote)h(remo)m(v)-5 b(al)42 b(\(detailed)h(b)s(elo)m(w\).)
72 b(If)40 b(the)h(v)-5 b(ariable)41 b(has)g(its)g Fs(integer)e
-Ft(attribute)i(set,)j(then)150 763 y Fq(v)-5 b(alue)38
+Ft(attribute)i(set,)j(then)150 2863 y Fq(v)-5 b(alue)38
b Ft(is)33 b(ev)-5 b(aluated)34 b(as)f(an)g(arithmetic)h(expression)f
(ev)m(en)h(if)e(the)h Fs($\(\(...)o(\)\))f Ft(expansion)h(is)g(not)g
-(used)150 873 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
-(page)h(23\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
-(erformed,)f(with)150 983 y(the)35 b(exception)h(of)f
+(used)150 2973 y(\(see)e(Section)g(3.5.5)i([Arithmetic)e(Expansion],)f
+(page)h(24\).)42 b(W)-8 b(ord)31 b(splitting)g(is)g(not)f(p)s
+(erformed,)f(with)150 3083 y(the)35 b(exception)h(of)f
Fs("$@")f Ft(as)h(explained)g(b)s(elo)m(w.)54 b(Filename)36
b(expansion)f(is)g(not)g(p)s(erformed.)53 b(Assign-)150
-1092 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g
+3192 y(men)m(t)33 b(statemen)m(ts)h(ma)m(y)f(also)g(app)s(ear)f(as)g
(argumen)m(ts)h(to)g(the)g Fs(alias)p Ft(,)e Fs(declare)p
-Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 1202
+Ft(,)g Fs(typeset)p Ft(,)g Fs(export)p Ft(,)150 3302
y Fs(readonly)p Ft(,)d(and)i Fs(local)f Ft(builtin)h(commands.)275
-1338 y(In)f(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m
+3448 y(In)f(the)h(con)m(text)i(where)d(an)h(assignmen)m(t)h(statemen)m
(t)h(is)e(assigning)g(a)h(v)-5 b(alue)30 b(to)h(a)f(shell)g(v)-5
-b(ariable)31 b(or)150 1447 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g
-([Arra)m(ys],)g(page)g(80\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g
-(can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 1557 y(or)36
+b(ariable)31 b(or)150 3557 y(arra)m(y)f(index)g(\(see)h(Section)g(6.7)g
+([Arra)m(ys],)g(page)g(82\),)g(the)f(`)p Fs(+=)p Ft(')g(op)s(erator)g
+(can)h(b)s(e)e(used)g(to)i(app)s(end)d(to)150 3667 y(or)36
b(add)g(to)h(the)f(v)-5 b(ariable's)37 b(previous)f(v)-5
b(alue.)59 b(When)36 b(`)p Fs(+=)p Ft(')g(is)g(applied)g(to)h(a)g(v)-5
-b(ariable)37 b(for)f(whic)m(h)g(the)150 1666 y(in)m(teger)k(attribute)e
-(has)g(b)s(een)g(set,)j Fq(v)-5 b(alue)44 b Ft(is)38
-b(ev)-5 b(aluated)39 b(as)g(an)f(arithmetic)h(expression)f(and)g(added)
-150 1776 y(to)e(the)f(v)-5 b(ariable's)36 b(curren)m(t)f(v)-5
-b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5 b(aluated.)56
-b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g(arra)m(y)150
-1886 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f(assignmen)m(t)j(\(see)
-f(Section)h(6.7)f([Arra)m(ys],)i(page)f(80\),)h(the)e(v)-5
-b(ariable's)25 b(v)-5 b(alue)150 1995 y(is)32 b(not)f(unset)h(\(as)g
-(it)g(is)f(when)g(using)g(`)p Fs(=)p Ft('\),)i(and)e(new)g(v)-5
-b(alues)32 b(are)g(app)s(ended)d(to)k(the)f(arra)m(y)g(b)s(eginning)150
-2105 y(at)27 b(one)f(greater)i(than)e(the)g(arra)m(y's)h(maxim)m(um)f
-(index)g(\(for)g(indexed)g(arra)m(ys\),)i(or)e(added)g(as)g(additional)
-150 2214 y(k)m(ey-v)-5 b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)
-j(arra)m(y)-8 b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5
-b(alued)34 b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b
-Ft(is)150 2324 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
-b(ariable's)31 b(v)-5 b(alue.)150 2525 y Fj(3.4.1)63
-b(P)m(ositional)41 b(P)m(arameters)150 2671 y Ft(A)28
+b(ariable)37 b(for)f(whic)m(h)g(the)150 3777 y Fq(in)m(teger)46
+b Ft(attribute)38 b(has)f(b)s(een)g(set,)k Fq(v)-5 b(alue)43
+b Ft(is)38 b(ev)-5 b(aluated)39 b(as)f(an)f(arithmetic)i(expression)f
+(and)f(added)150 3886 y(to)f(the)f(v)-5 b(ariable's)36
+b(curren)m(t)f(v)-5 b(alue,)37 b(whic)m(h)e(is)g(also)h(ev)-5
+b(aluated.)56 b(When)35 b(`)p Fs(+=)p Ft(')g(is)h(applied)f(to)g(an)g
+(arra)m(y)150 3996 y(v)-5 b(ariable)26 b(using)e(comp)s(ound)f
+(assignmen)m(t)j(\(see)f(Section)h(6.7)f([Arra)m(ys],)i(page)f(82\),)h
+(the)e(v)-5 b(ariable's)25 b(v)-5 b(alue)150 4105 y(is)32
+b(not)f(unset)h(\(as)g(it)g(is)f(when)g(using)g(`)p Fs(=)p
+Ft('\),)i(and)e(new)g(v)-5 b(alues)32 b(are)g(app)s(ended)d(to)k(the)f
+(arra)m(y)g(b)s(eginning)150 4215 y(at)27 b(one)f(greater)i(than)e(the)
+g(arra)m(y's)h(maxim)m(um)f(index)g(\(for)g(indexed)g(arra)m(ys\),)i
+(or)e(added)g(as)g(additional)150 4325 y(k)m(ey-v)-5
+b(alue)35 b(pairs)e(in)g(an)g(asso)s(ciativ)m(e)j(arra)m(y)-8
+b(.)51 b(When)33 b(applied)g(to)h(a)g(string-v)-5 b(alued)34
+b(v)-5 b(ariable,)35 b Fq(v)-5 b(alue)39 b Ft(is)150
+4434 y(expanded)30 b(and)f(app)s(ended)g(to)i(the)g(v)-5
+b(ariable's)31 b(v)-5 b(alue.)150 4645 y Fj(3.4.1)63
+b(P)m(ositional)41 b(P)m(arameters)150 4792 y Ft(A)28
b Fq(p)s(ositional)h(parameter)35 b Ft(is)28 b(a)g(parameter)g(denoted)
g(b)m(y)g(one)g(or)g(more)g(digits,)h(other)g(than)e(the)h(single)150
-2781 y(digit)34 b Fs(0)p Ft(.)48 b(P)m(ositional)36 b(parameters)d(are)
+4902 y(digit)34 b Fs(0)p Ft(.)48 b(P)m(ositional)36 b(parameters)d(are)
g(assigned)h(from)e(the)i(shell's)f(argumen)m(ts)g(when)f(it)i(is)f(in)
-m(v)m(ok)m(ed,)150 2891 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)
+m(v)m(ok)m(ed,)150 5011 y(and)38 b(ma)m(y)i(b)s(e)e(reassigned)i(using)
e(the)h Fs(set)g Ft(builtin)f(command.)67 b(P)m(ositional)41
-b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 3000 y(referenced)34
+b(parameter)e Fs(N)g Ft(ma)m(y)h(b)s(e)150 5121 y(referenced)34
b(as)h Fs(${N})p Ft(,)g(or)f(as)h Fs($N)e Ft(when)h Fs(N)g
Ft(consists)h(of)f(a)h(single)g(digit.)54 b(P)m(ositional)37
-b(parameters)d(ma)m(y)150 3110 y(not)j(b)s(e)f(assigned)h(to)g(with)f
+b(parameters)d(ma)m(y)150 5230 y(not)j(b)s(e)f(assigned)h(to)g(with)f
(assignmen)m(t)i(statemen)m(ts.)61 b(The)36 b Fs(set)g
Ft(and)g Fs(shift)f Ft(builtins)h(are)h(used)f(to)150
-3219 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
-(Builtin)g(Commands],)h(page)f(35\).)68 b(The)39 b(p)s(ositional)150
-3329 y(parameters)44 b(are)g(temp)s(orarily)g(replaced)h(when)e(a)h
-(shell)g(function)g(is)g(executed)g(\(see)h(Section)g(3.3)150
-3439 y([Shell)30 b(F)-8 b(unctions],)32 b(page)f(14\).)275
-3574 y(When)c(a)i(p)s(ositional)g(parameter)g(consisting)f(of)h(more)f
-(than)g(a)g(single)h(digit)g(is)f(expanded,)g(it)h(m)m(ust)150
-3684 y(b)s(e)h(enclosed)h(in)f(braces.)150 3885 y Fj(3.4.2)63
-b(Sp)s(ecial)41 b(P)m(arameters)150 4032 y Ft(The)d(shell)g(treats)h
-(sev)m(eral)g(parameters)f(sp)s(ecially)-8 b(.)65 b(These)38
-b(parameters)h(ma)m(y)f(only)g(b)s(e)g(referenced;)150
-4141 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)m(w)m(ed.)150
-4303 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f
-(parameters,)h(starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)
-630 4412 y(o)s(ccurs)e(within)f(double)h(quotes,)h(it)g(expands)e(to)i
-(a)f(single)h(w)m(ord)f(with)g(the)g(v)-5 b(alue)29 b(of)f(eac)m(h)630
-4522 y(parameter)i(separated)g(b)m(y)f(the)g(\014rst)g(c)m(haracter)i
-(of)e(the)h Fs(IFS)e Ft(sp)s(ecial)i(v)-5 b(ariable.)41
-b(That)30 b(is,)630 4631 y Fs("$*")h Ft(is)i(equiv)-5
-b(alen)m(t)33 b(to)h Fs("$1)p Fi(c)11 b Fs($2)p Fi(c)g
-Fs(...)l(")p Ft(,)33 b(where)f Fq(c)38 b Ft(is)32 b(the)h(\014rst)e(c)m
-(haracter)j(of)f(the)f(v)-5 b(alue)630 4741 y(of)30 b(the)g
-Fs(IFS)g Ft(v)-5 b(ariable.)41 b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the)
-g(parameters)g(are)h(separated)f(b)m(y)g(spaces.)41 b(If)630
-4850 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f(the)h(parameters)g(are)f(joined)h
-(without)f(in)m(terv)m(ening)i(separators.)150 5011 y
-Fs(@)432 b Ft(Expands)29 b(to)h(the)h(p)s(ositional)f(parameters,)h
-(starting)g(from)e(one.)41 b(When)30 b(the)g(expansion)630
-5121 y(o)s(ccurs)c(within)g(double)f(quotes,)j(eac)m(h)f(parameter)g
-(expands)e(to)i(a)g(separate)g(w)m(ord.)39 b(That)630
-5230 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5 b(alen)m(t)30
-b(to)f Fs("$1")g("$2")h(...)o Ft(.)40 b(If)28 b(the)g(double-quoted)h
-(expansion)f(o)s(ccurs)630 5340 y(within)d(a)h(w)m(ord,)g(the)g
-(expansion)f(of)h(the)g(\014rst)f(parameter)h(is)f(joined)h(with)f(the)
-h(b)s(eginning)p eop end
-%%Page: 17 23
-TeXDict begin 17 22 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(17)630 299
-y(part)25 b(of)g(the)g(original)g(w)m(ord,)h(and)e(the)h(expansion)g
+5340 y(set)k(and)f(unset)f(them)i(\(see)g(Chapter)f(4)g([Shell)h
+(Builtin)g(Commands],)h(page)f(37\).)68 b(The)39 b(p)s(ositional)p
+eop end
+%%Page: 18 24
+TeXDict begin 18 23 bop 150 -116 a Ft(18)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y(parameters)44 b(are)g(temp)s(orarily)
+g(replaced)h(when)e(a)h(shell)g(function)g(is)g(executed)g(\(see)h
+(Section)g(3.3)150 408 y([Shell)30 b(F)-8 b(unctions],)32
+b(page)f(15\).)275 546 y(When)c(a)i(p)s(ositional)g(parameter)g
+(consisting)f(of)h(more)f(than)g(a)g(single)h(digit)g(is)f(expanded,)g
+(it)h(m)m(ust)150 656 y(b)s(e)h(enclosed)h(in)f(braces.)150
+859 y Fj(3.4.2)63 b(Sp)s(ecial)41 b(P)m(arameters)150
+1006 y Ft(The)d(shell)g(treats)h(sev)m(eral)g(parameters)f(sp)s
+(ecially)-8 b(.)65 b(These)38 b(parameters)h(ma)m(y)f(only)g(b)s(e)g
+(referenced;)150 1115 y(assignmen)m(t)31 b(to)g(them)g(is)f(not)h(allo)
+m(w)m(ed.)150 1280 y Fs(*)432 b Ft(Expands)29 b(to)h(the)h(p)s
+(ositional)f(parameters,)h(starting)g(from)e(one.)41
+b(When)30 b(the)g(expansion)630 1389 y(o)s(ccurs)e(within)f(double)h
+(quotes,)h(it)g(expands)e(to)i(a)f(single)h(w)m(ord)f(with)g(the)g(v)-5
+b(alue)29 b(of)f(eac)m(h)630 1499 y(parameter)i(separated)g(b)m(y)f
+(the)g(\014rst)g(c)m(haracter)i(of)e(the)h Fs(IFS)e Ft(sp)s(ecial)i(v)
+-5 b(ariable.)41 b(That)30 b(is,)630 1609 y Fs("$*")h
+Ft(is)i(equiv)-5 b(alen)m(t)33 b(to)h Fs("$1)p Fi(c)11
+b Fs($2)p Fi(c)g Fs(...)l(")p Ft(,)33 b(where)f Fq(c)38
+b Ft(is)32 b(the)h(\014rst)e(c)m(haracter)j(of)f(the)f(v)-5
+b(alue)630 1718 y(of)30 b(the)g Fs(IFS)g Ft(v)-5 b(ariable.)41
+b(If)30 b Fs(IFS)f Ft(is)h(unset,)g(the)g(parameters)g(are)h(separated)
+f(b)m(y)g(spaces.)41 b(If)630 1828 y Fs(IFS)29 b Ft(is)i(n)m(ull,)f
+(the)h(parameters)g(are)f(joined)h(without)f(in)m(terv)m(ening)i
+(separators.)150 1991 y Fs(@)432 b Ft(Expands)29 b(to)h(the)h(p)s
+(ositional)f(parameters,)h(starting)g(from)e(one.)41
+b(When)30 b(the)g(expansion)630 2100 y(o)s(ccurs)c(within)g(double)f
+(quotes,)j(eac)m(h)f(parameter)g(expands)e(to)i(a)g(separate)g(w)m
+(ord.)39 b(That)630 2210 y(is,)29 b Fs("$@")e Ft(is)i(equiv)-5
+b(alen)m(t)30 b(to)f Fs("$1")g("$2")h(...)o Ft(.)40 b(If)28
+b(the)g(double-quoted)h(expansion)f(o)s(ccurs)630 2319
+y(within)d(a)h(w)m(ord,)g(the)g(expansion)f(of)h(the)g(\014rst)f
+(parameter)h(is)f(joined)h(with)f(the)h(b)s(eginning)630
+2429 y(part)f(of)g(the)g(original)g(w)m(ord,)h(and)e(the)h(expansion)g
(of)g(the)g(last)h(parameter)f(is)g(joined)f(with)630
-408 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
+2539 y(the)37 b(last)g(part)g(of)f(the)h(original)h(w)m(ord.)59
b(When)36 b(there)h(are)g(no)f(p)s(ositional)h(parameters,)630
-518 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e(\(i.e.,)
-i(they)e(are)h(remo)m(v)m(ed\).)150 677 y Fs(#)432 b
-Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h
-(parameters)g(in)f(decimal.)150 836 y Fs(?)432 b Ft(Expands)29
+2648 y Fs("$@")29 b Ft(and)h Fs($@)g Ft(expand)f(to)j(nothing)e
+(\(i.e.,)i(they)e(are)h(remo)m(v)m(ed\).)150 2811 y Fs(#)432
+b Ft(Expands)29 b(to)i(the)g(n)m(um)m(b)s(er)e(of)h(p)s(ositional)h
+(parameters)g(in)f(decimal.)150 2974 y Fs(?)432 b Ft(Expands)29
b(to)i(the)g(exit)g(status)g(of)f(the)h(most)f(recen)m(tly)i(executed)f
-(foreground)f(pip)s(eline.)150 995 y Fs(-)432 b Ft(\(A)31
+(foreground)f(pip)s(eline.)150 3137 y Fs(-)432 b Ft(\(A)31
b(h)m(yphen.\))42 b(Expands)30 b(to)h(the)g(curren)m(t)g(option)h
(\015ags)f(as)g(sp)s(eci\014ed)f(up)s(on)g(in)m(v)m(o)s(cation,)630
-1105 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g
+3246 y(b)m(y)35 b(the)h Fs(set)e Ft(builtin)h(command,)h(or)g(those)g
(set)f(b)m(y)h(the)f(shell)h(itself)g(\(suc)m(h)f(as)h(the)f(`)p
-Fs(-i)p Ft(')630 1215 y(option\).)150 1374 y Fs($)432
+Fs(-i)p Ft(')630 3356 y(option\).)150 3519 y Fs($)432
b Ft(Expands)39 b(to)j(the)f(pro)s(cess)f Fl(id)h Ft(of)g(the)g(shell.)
73 b(In)40 b(a)h Fs(\(\))f Ft(subshell,)j(it)e(expands)f(to)i(the)630
-1483 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g
-(not)g(the)f(subshell.)150 1643 y Fs(!)432 b Ft(Expands)39
+3628 y(pro)s(cess)30 b Fl(id)g Ft(of)h(the)g(in)m(v)m(oking)g(shell,)g
+(not)g(the)f(subshell.)150 3791 y Fs(!)432 b Ft(Expands)39
b(to)i(the)g(pro)s(cess)e Fl(id)i Ft(of)f(the)h(most)g(recen)m(tly)g
-(executed)g(bac)m(kground)g(\(asyn-)630 1752 y(c)m(hronous\))30
-b(command.)150 1911 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g
+(executed)g(bac)m(kground)g(\(asyn-)630 3901 y(c)m(hronous\))30
+b(command.)150 4064 y Fs(0)432 b Ft(Expands)20 b(to)j(the)f(name)g(of)g
(the)g(shell)g(or)f(shell)h(script.)38 b(This)21 b(is)h(set)g(at)h
-(shell)f(initialization.)630 2021 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m
+(shell)f(initialization.)630 4173 y(If)44 b(Bash)g(is)g(in)m(v)m(ok)m
(ed)i(with)e(a)g(\014le)g(of)h(commands)e(\(see)j(Section)f(3.8)g
-([Shell)f(Scripts],)630 2130 y(page)39 b(33\),)i Fs($0)d
+([Shell)f(Scripts],)630 4283 y(page)39 b(34\),)i Fs($0)d
Ft(is)g(set)g(to)h(the)f(name)g(of)g(that)h(\014le.)64
b(If)37 b(Bash)i(is)f(started)g(with)g(the)g(`)p Fs(-c)p
-Ft(')630 2240 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h
-(Bash],)h(page)e(71\),)j(then)d Fs($0)e Ft(is)i(set)g(to)g(the)g
-(\014rst)630 2350 y(argumen)m(t)31 b(after)g(the)g(string)g(to)g(b)s(e)
+Ft(')630 4392 y(option)i(\(see)g(Section)h(6.1)f([In)m(v)m(oking)h
+(Bash],)h(page)e(73\),)j(then)d Fs($0)e Ft(is)i(set)g(to)g(the)g
+(\014rst)630 4502 y(argumen)m(t)31 b(after)g(the)g(string)g(to)g(b)s(e)
f(executed,)i(if)f(one)g(is)f(presen)m(t.)42 b(Otherwise,)31
-b(it)g(is)f(set)630 2459 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m
+b(it)g(is)f(set)630 4612 y(to)h(the)g(\014lename)f(used)g(to)h(in)m(v)m
(ok)m(e)h(Bash,)f(as)g(giv)m(en)g(b)m(y)f(argumen)m(t)h(zero.)150
-2618 y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29
+4774 y Fs(_)432 b Ft(\(An)27 b(underscore.\))39 b(A)m(t)29
b(shell)e(startup,)h(set)f(to)h(the)g(absolute)g(pathname)f(used)f(to)i
-(in)m(v)m(ok)m(e)630 2728 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s
+(in)m(v)m(ok)m(e)630 4884 y(the)22 b(shell)g(or)g(shell)g(script)f(b)s
(eing)h(executed)h(as)f(passed)f(in)g(the)h(en)m(vironmen)m(t)h(or)e
-(argumen)m(t)630 2838 y(list.)72 b(Subsequen)m(tly)-8
+(argumen)m(t)630 4994 y(list.)72 b(Subsequen)m(tly)-8
b(,)43 b(expands)c(to)j(the)e(last)i(argumen)m(t)f(to)g(the)g(previous)
-f(command,)630 2947 y(after)35 b(expansion.)54 b(Also)36
+f(command,)630 5103 y(after)35 b(expansion.)54 b(Also)36
b(set)f(to)h(the)f(full)f(pathname)h(used)f(to)h(in)m(v)m(ok)m(e)i(eac)
-m(h)f(command)630 3057 y(executed)42 b(and)e(placed)i(in)e(the)h(en)m
+m(h)f(command)630 5213 y(executed)42 b(and)e(placed)i(in)e(the)h(en)m
(vironmen)m(t)h(exp)s(orted)f(to)g(that)h(command.)72
-b(When)630 3166 y(c)m(hec)m(king)32 b(mail,)f(this)g(parameter)g(holds)
-e(the)i(name)f(of)h(the)g(mail)g(\014le.)150 3399 y Fr(3.5)68
-b(Shell)45 b(Expansions)150 3558 y Ft(Expansion)27 b(is)i(p)s(erformed)
-d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b)s(een)f(split)h(in)m
-(to)i Fs(token)p Ft(s.)38 b(There)28 b(are)150 3668 y(sev)m(en)j(kinds)
-e(of)i(expansion)f(p)s(erformed:)225 3802 y Fp(\017)60
-b Ft(brace)31 b(expansion)225 3936 y Fp(\017)60 b Ft(tilde)31
-b(expansion)225 4071 y Fp(\017)60 b Ft(parameter)31 b(and)f(v)-5
-b(ariable)31 b(expansion)225 4205 y Fp(\017)60 b Ft(command)30
-b(substitution)225 4339 y Fp(\017)60 b Ft(arithmetic)32
-b(expansion)225 4474 y Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225
-4608 y Fp(\017)60 b Ft(\014lename)31 b(expansion)275
-4767 y(The)i(order)g(of)h(expansions)g(is:)47 b(brace)34
-b(expansion,)h(tilde)g(expansion,)f(parameter,)i(v)-5
-b(ariable,)36 b(and)150 4877 y(arithmetic)46 b(expansion)f(and)g
-(command)f(substitution)h(\(done)g(in)g(a)g(left-to-righ)m(t)j
-(fashion\),)h(w)m(ord)150 4986 y(splitting,)31 b(and)f(\014lename)h
-(expansion.)275 5121 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,)
-47 b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5
-b(ailable:)69 b Fq(pro)s(cess)150 5230 y(substitution)p
+b(When)630 5322 y(c)m(hec)m(king)32 b(mail,)f(this)g(parameter)g(holds)
+e(the)i(name)f(of)h(the)g(mail)g(\014le.)p eop end
+%%Page: 19 25
+TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)150 299
+y Fr(3.5)68 b(Shell)45 b(Expansions)150 458 y Ft(Expansion)27
+b(is)i(p)s(erformed)d(on)i(the)g(command)g(line)h(after)f(it)h(has)f(b)
+s(een)f(split)h(in)m(to)i Fs(token)p Ft(s.)38 b(There)28
+b(are)150 568 y(sev)m(en)j(kinds)e(of)i(expansion)f(p)s(erformed:)225
+711 y Fp(\017)60 b Ft(brace)31 b(expansion)225 850 y
+Fp(\017)60 b Ft(tilde)31 b(expansion)225 988 y Fp(\017)60
+b Ft(parameter)31 b(and)f(v)-5 b(ariable)31 b(expansion)225
+1127 y Fp(\017)60 b Ft(command)30 b(substitution)225
+1266 y Fp(\017)60 b Ft(arithmetic)32 b(expansion)225
+1405 y Fp(\017)60 b Ft(w)m(ord)30 b(splitting)225 1544
+y Fp(\017)60 b Ft(\014lename)31 b(expansion)275 1716
+y(The)i(order)g(of)h(expansions)g(is:)47 b(brace)34 b(expansion,)h
+(tilde)g(expansion,)f(parameter,)i(v)-5 b(ariable,)36
+b(and)150 1825 y(arithmetic)46 b(expansion)f(and)g(command)f
+(substitution)h(\(done)g(in)g(a)g(left-to-righ)m(t)j(fashion\),)h(w)m
+(ord)150 1935 y(splitting,)31 b(and)f(\014lename)h(expansion.)275
+2078 y(On)42 b(systems)h(that)h(can)g(supp)s(ort)e(it,)47
+b(there)d(is)f(an)h(additional)g(expansion)f(a)m(v)-5
+b(ailable:)69 b Fq(pro)s(cess)150 2188 y(substitution)p
Ft(.)61 b(This)36 b(is)h(p)s(erformed)f(at)i(the)f(same)h(time)f(as)h
(parameter,)h(v)-5 b(ariable,)40 b(and)d(arithmetic)150
-5340 y(expansion)30 b(and)g(command)g(substitution.)p
-eop end
-%%Page: 18 24
-TeXDict begin 18 23 bop 150 -116 a Ft(18)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(Only)k(brace)i(expansion,)h(w)m(ord)e
-(splitting,)j(and)d(\014lename)g(expansion)g(can)h(c)m(hange)h(the)e(n)
-m(um)m(b)s(er)150 408 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e
-(expansions)f(expand)g(a)h(single)g(w)m(ord)f(to)h(a)g(single)g(w)m
-(ord.)58 b(The)150 518 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f
+2297 y(expansion)30 b(and)g(command)g(substitution.)275
+2440 y(Only)35 b(brace)i(expansion,)h(w)m(ord)e(splitting,)j(and)d
+(\014lename)g(expansion)g(can)h(c)m(hange)h(the)e(n)m(um)m(b)s(er)150
+2550 y(of)h(w)m(ords)f(of)g(the)h(expansion;)i(other)e(expansions)f
+(expand)g(a)h(single)g(w)m(ord)f(to)h(a)g(single)g(w)m(ord.)58
+b(The)150 2660 y(only)32 b(exceptions)i(to)f(this)f(are)h(the)f
(expansions)g(of)h Fs("$@")e Ft(\(see)i(Section)g(3.4.2)h([Sp)s(ecial)f
-(P)m(arameters],)150 628 y(page)e(16\))h(and)d Fs("${)p
+(P)m(arameters],)150 2769 y(page)e(18\))h(and)d Fs("${)p
Fi(name)11 b Fs([@]}")27 b Ft(\(see)k(Section)h(6.7)f([Arra)m(ys],)g
-(page)g(80\).)275 765 y(After)41 b(all)i(expansions,)h
+(page)g(82\).)275 2912 y(After)41 b(all)i(expansions,)h
Fs(quote)29 b(removal)40 b Ft(\(see)i(Section)h(3.5.9)g([Quote)f(Remo)m
-(v)-5 b(al],)47 b(page)42 b(25\))h(is)150 875 y(p)s(erformed.)150
-1077 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 1224 y
+(v)-5 b(al],)47 b(page)42 b(27\))h(is)150 3022 y(p)s(erformed.)150
+3230 y Fj(3.5.1)63 b(Brace)40 b(Expansion)150 3377 y
Ft(Brace)28 b(expansion)f(is)h(a)f(mec)m(hanism)h(b)m(y)f(whic)m(h)f
(arbitrary)h(strings)g(ma)m(y)h(b)s(e)f(generated.)40
-b(This)27 b(mec)m(ha-)150 1334 y(nism)e(is)h(similar)g(to)g
+b(This)27 b(mec)m(ha-)150 3486 y(nism)e(is)h(similar)g(to)g
Fq(\014lename)g(expansion)f Ft(\(see)i(Section)f(3.5.8)i([Filename)f
-(Expansion],)f(page)h(24\),)h(but)150 1443 y(the)36 b(\014le)f(names)h
+(Expansion],)f(page)h(25\),)h(but)150 3596 y(the)36 b(\014le)f(names)h
(generated)g(need)f(not)h(exist.)57 b(P)m(atterns)36
b(to)g(b)s(e)f(brace)h(expanded)e(tak)m(e)j(the)f(form)f(of)150
-1553 y(an)29 b(optional)i Fq(pream)m(ble)5 b Ft(,)30
+3705 y(an)29 b(optional)i Fq(pream)m(ble)5 b Ft(,)30
b(follo)m(w)m(ed)i(b)m(y)d(either)h(a)g(series)g(of)g(comma-separated)h
-(strings)e(or)h(a)g(seqeunce)150 1663 y(expression)36
+(strings)e(or)h(a)g(seqeunce)150 3815 y(expression)36
b(b)s(et)m(w)m(een)g(a)g(pair)g(of)g(braces,)i(follo)m(w)m(ed)f(b)m(y)f
(an)g(optional)h Fq(p)s(ostscript)r Ft(.)56 b(The)36
-b(pream)m(ble)g(is)150 1772 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f
+b(pream)m(ble)g(is)150 3924 y(pre\014xed)28 b(to)h(eac)m(h)h(string)f
(con)m(tained)h(within)e(the)h(braces,)g(and)g(the)g(p)s(ostscript)f
-(is)h(then)f(app)s(ended)f(to)150 1882 y(eac)m(h)32 b(resulting)e
-(string,)h(expanding)e(left)j(to)f(righ)m(t.)275 2019
+(is)h(then)f(app)s(ended)f(to)150 4034 y(eac)m(h)32 b(resulting)e
+(string,)h(expanding)e(left)j(to)f(righ)m(t.)275 4177
y(Brace)37 b(expansions)f(ma)m(y)h(b)s(e)f(nested.)59
b(The)36 b(results)g(of)h(eac)m(h)g(expanded)f(string)g(are)h(not)g
-(sorted;)150 2129 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m
-(ed.)41 b(F)-8 b(or)31 b(example,)390 2267 y Fs(bash$)46
-b(echo)h(a{d,c,b}e)390 2376 y(ade)g(ace)g(abe)275 2514
+(sorted;)150 4287 y(left)31 b(to)g(righ)m(t)g(order)f(is)g(preserv)m
+(ed.)41 b(F)-8 b(or)31 b(example,)390 4430 y Fs(bash$)46
+b(echo)h(a{d,c,b}e)390 4539 y(ade)g(ace)g(abe)275 4682
y Ft(A)20 b(sequence)h(expression)g(tak)m(es)h(the)f(form)f
Fs({)p Fi(x)11 b Fs(..)p Fi(y)g Fs([..)p Fi(incr)g Fs(]})p
Ft(,)18 b(where)i Fq(x)27 b Ft(and)20 b Fq(y)28 b Ft(are)22
-b(either)f(in)m(tegers)150 2623 y(or)42 b(single)h(c)m(haracters,)j
+b(either)f(in)m(tegers)150 4792 y(or)42 b(single)h(c)m(haracters,)j
(and)c Fq(incr)7 b Ft(,)44 b(an)e(optional)h(incremen)m(t,)j(is)c(an)g
-(in)m(teger.)77 b(When)41 b(in)m(tegers)j(are)150 2733
+(in)m(teger.)77 b(When)41 b(in)m(tegers)j(are)150 4902
y(supplied,)e(the)f(expression)g(expands)f(to)h(eac)m(h)h(n)m(um)m(b)s
(er)e(b)s(et)m(w)m(een)h Fq(x)47 b Ft(and)40 b Fq(y)8
-b Ft(,)44 b(inclusiv)m(e.)73 b(Supplied)150 2842 y(in)m(tegers)33
+b Ft(,)44 b(inclusiv)m(e.)73 b(Supplied)150 5011 y(in)m(tegers)33
b(ma)m(y)e(b)s(e)g(pre\014xed)f(with)h(`)p Fs(0)p Ft(')h(to)g(force)g
(eac)m(h)g(term)g(to)g(ha)m(v)m(e)g(the)g(same)g(width.)42
-b(When)31 b(either)150 2952 y Fq(x)43 b Ft(or)36 b Fq(y)44
+b(When)31 b(either)150 5121 y Fq(x)43 b Ft(or)36 b Fq(y)44
b Ft(b)s(egins)36 b(with)g(a)h(zero,)i(the)e(shell)g(attempts)g(to)g
(force)g(all)h(generated)f(terms)g(to)g(con)m(tain)h(the)150
-3062 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h
+5230 y(same)e(n)m(um)m(b)s(er)e(of)i(digits,)i(zero-padding)d(where)h
(necessary)-8 b(.)57 b(When)35 b(c)m(haracters)i(are)f(supplied,)g(the)
-150 3171 y(expression)h(expands)f(to)i(eac)m(h)g(c)m(haracter)g
+150 5340 y(expression)h(expands)f(to)i(eac)m(h)g(c)m(haracter)g
(lexicographically)i(b)s(et)m(w)m(een)e Fq(x)43 b Ft(and)37
-b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62 b(Note)150 3281
-y(that)30 b(b)s(oth)e Fq(x)35 b Ft(and)28 b Fq(y)37 b
-Ft(m)m(ust)29 b(b)s(e)f(of)h(the)g(same)g(t)m(yp)s(e.)41
-b(When)28 b(the)i(incremen)m(t)f(is)g(supplied,)f(it)i(is)f(used)f(as)
-150 3390 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h(term.)41
-b(The)30 b(default)g(incremen)m(t)h(is)g(1)f(or)h(-1)g(as)f
-(appropriate.)275 3528 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s
+b Fq(y)8 b Ft(,)38 b(inclusiv)m(e.)62 b(Note)p eop end
+%%Page: 20 26
+TeXDict begin 20 25 bop 150 -116 a Ft(20)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y(that)f(b)s(oth)e Fq(x)35
+b Ft(and)28 b Fq(y)37 b Ft(m)m(ust)29 b(b)s(e)f(of)h(the)g(same)g(t)m
+(yp)s(e.)41 b(When)28 b(the)i(incremen)m(t)f(is)g(supplied,)f(it)i(is)f
+(used)f(as)150 408 y(the)j(di\013erence)f(b)s(et)m(w)m(een)h(eac)m(h)h
+(term.)41 b(The)30 b(default)g(incremen)m(t)h(is)g(1)f(or)h(-1)g(as)f
+(appropriate.)275 544 y(Brace)36 b(expansion)g(is)f(p)s(erformed)f(b)s
(efore)h(an)m(y)h(other)g(expansions,)h(and)e(an)m(y)g(c)m(haracters)i
-(sp)s(ecial)150 3638 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed)
-f(in)h(the)f(result.)45 b(It)32 b(is)g(strictly)g(textual.)46
-b(Bash)32 b(do)s(es)f(not)h(apply)150 3747 y(an)m(y)27
+(sp)s(ecial)150 654 y(to)32 b(other)g(expansions)g(are)g(preserv)m(ed)f
+(in)h(the)f(result.)45 b(It)32 b(is)g(strictly)g(textual.)46
+b(Bash)32 b(do)s(es)f(not)h(apply)150 764 y(an)m(y)27
b(syn)m(tactic)i(in)m(terpretation)g(to)f(the)f(con)m(text)i(of)e(the)g
(expansion)g(or)g(the)h(text)g(b)s(et)m(w)m(een)f(the)h(braces.)150
-3857 y(T)-8 b(o)37 b(a)m(v)m(oid)g(con\015icts)g(with)f(parameter)h
+873 y(T)-8 b(o)37 b(a)m(v)m(oid)g(con\015icts)g(with)f(parameter)h
(expansion,)g(the)g(string)f(`)p Fs(${)p Ft(')g(is)g(not)g(considered)g
-(eligible)i(for)150 3966 y(brace)31 b(expansion.)275
-4104 y(A)e(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain)
-h(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150
-4214 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5
+(eligible)i(for)150 983 y(brace)31 b(expansion.)275 1119
+y(A)e(correctly-formed)i(brace)f(expansion)f(m)m(ust)h(con)m(tain)h
+(unquoted)e(op)s(ening)g(and)g(closing)i(braces,)150
+1228 y(and)h(at)i(least)g(one)f(unquoted)g(comma)g(or)g(a)h(v)-5
b(alid)33 b(sequence)g(expression.)48 b(An)m(y)33 b(incorrectly)h
-(formed)150 4323 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
-4461 y(A)25 b Fs({)g Ft(or)g(`)p Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted)
+(formed)150 1338 y(brace)d(expansion)f(is)g(left)h(unc)m(hanged.)275
+1474 y(A)25 b Fs({)g Ft(or)g(`)p Fs(,)p Ft(')g(ma)m(y)h(b)s(e)f(quoted)
g(with)g(a)h(bac)m(kslash)f(to)h(prev)m(en)m(t)g(its)g(b)s(eing)f
-(considered)g(part)g(of)g(a)h(brace)150 4570 y(expression.)51
+(considered)g(part)g(of)g(a)h(brace)150 1583 y(expression.)51
b(T)-8 b(o)34 b(a)m(v)m(oid)i(con\015icts)e(with)g(parameter)g
(expansion,)h(the)f(string)g(`)p Fs(${)p Ft(')g(is)g(not)g(considered)
-150 4680 y(eligible)e(for)e(brace)h(expansion.)275 4818
+150 1693 y(eligible)e(for)e(brace)h(expansion.)275 1829
y(This)f(construct)h(is)g(t)m(ypically)i(used)d(as)h(shorthand)f(when)g
(the)h(common)g(pre\014x)f(of)h(the)g(strings)g(to)150
-4927 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m(v)m
-(e)i(example:)390 5065 y Fs(mkdir)46 b(/usr/local/src/bash/{old,n)o
-(ew,)o(dist)o(,bug)o(s})275 5202 y Ft(or)390 5340 y Fs(chown)g(root)h
-(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})p
-eop end
-%%Page: 19 25
-TeXDict begin 19 24 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(19)150 299
-y Fj(3.5.2)63 b(Tilde)41 b(Expansion)150 446 y Ft(If)29
-b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m
+1939 y(b)s(e)f(generated)h(is)g(longer)g(than)f(in)g(the)g(ab)s(o)m(v)m
+(e)i(example:)390 2074 y Fs(mkdir)46 b(/usr/local/src/bash/{old,n)o
+(ew,)o(dist)o(,bug)o(s})275 2210 y Ft(or)390 2346 y Fs(chown)g(root)h
+(/usr/{ucb/{ex,edit},lib/)o({ex?)o(.?*,)o(how)o(_ex})o(})150
+2547 y Fj(3.5.2)63 b(Tilde)41 b(Expansion)150 2694 y
+Ft(If)29 b(a)h(w)m(ord)g(b)s(egins)f(with)g(an)h(unquoted)f(tilde)h(c)m
(haracter)h(\(`)p Fs(~)p Ft('\),)g(all)g(of)f(the)g(c)m(haracters)h(up)
-d(to)j(the)f(\014rst)150 555 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m
+d(to)j(the)f(\014rst)150 2804 y(unquoted)23 b(slash)h(\(or)h(all)g(c)m
(haracters,)i(if)d(there)g(is)h(no)f(unquoted)f(slash\))h(are)h
-(considered)f(a)g Fq(tilde-pre\014x)6 b Ft(.)150 665
+(considered)f(a)g Fq(tilde-pre\014x)6 b Ft(.)150 2913
y(If)38 b(none)g(of)g(the)h(c)m(haracters)g(in)f(the)h(tilde-pre\014x)f
(are)h(quoted,)h(the)f(c)m(haracters)h(in)d(the)i(tilde-pre\014x)150
-775 y(follo)m(wing)28 b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s
+3023 y(follo)m(wing)28 b(the)f(tilde)g(are)g(treated)h(as)f(a)g(p)s
(ossible)f Fq(login)i(name)5 b Ft(.)40 b(If)26 b(this)g(login)i(name)f
-(is)f(the)h(n)m(ull)g(string,)150 884 y(the)35 b(tilde)g(is)g(replaced)
-g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g Fs(HOME)e
-Ft(shell)i(v)-5 b(ariable.)54 b(If)34 b Fs(HOME)g Ft(is)h(unset,)g(the)
-g(home)150 994 y(directory)e(of)g(the)f(user)g(executing)i(the)e(shell)
-h(is)f(substituted)g(instead.)47 b(Otherwise,)33 b(the)g
-(tilde-pre\014x)150 1103 y(is)d(replaced)h(with)f(the)h(home)f
-(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)e(login)j
-(name.)275 1235 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
+(is)f(the)h(n)m(ull)g(string,)150 3132 y(the)35 b(tilde)g(is)g
+(replaced)g(with)f(the)h(v)-5 b(alue)35 b(of)g(the)g
+Fs(HOME)e Ft(shell)i(v)-5 b(ariable.)54 b(If)34 b Fs(HOME)g
+Ft(is)h(unset,)g(the)g(home)150 3242 y(directory)e(of)g(the)f(user)g
+(executing)i(the)e(shell)h(is)f(substituted)g(instead.)47
+b(Otherwise,)33 b(the)g(tilde-pre\014x)150 3352 y(is)d(replaced)h(with)
+f(the)h(home)f(directory)h(asso)s(ciated)h(with)e(the)h(sp)s(eci\014ed)
+e(login)j(name.)275 3487 y(If)g(the)h(tilde-pre\014x)f(is)h(`)p
Fs(~+)p Ft(',)g(the)g(v)-5 b(alue)33 b(of)g(the)g(shell)g(v)-5
b(ariable)34 b Fs(PWD)d Ft(replaces)j(the)f(tilde-pre\014x.)47
-b(If)150 1344 y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p
+b(If)150 3597 y(the)31 b(tilde-pre\014x)f(is)g(`)p Fs(~-)p
Ft(',)h(the)f(v)-5 b(alue)31 b(of)g(the)f(shell)h(v)-5
b(ariable)31 b Fs(OLDPWD)p Ft(,)e(if)h(it)h(is)g(set,)g(is)f
-(substituted.)275 1476 y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the)
+(substituted.)275 3733 y(If)e(the)i(c)m(haracters)g(follo)m(wing)h(the)
e(tilde)h(in)f(the)g(tilde-pre\014x)h(consist)f(of)h(a)f(n)m(um)m(b)s
-(er)f Fq(N)10 b Ft(,)30 b(optionally)150 1585 y(pre\014xed)22
+(er)f Fq(N)10 b Ft(,)30 b(optionally)150 3843 y(pre\014xed)22
b(b)m(y)h(a)h(`)p Fs(+)p Ft(')f(or)h(a)f(`)p Fs(-)p Ft(',)j(the)d
(tilde-pre\014x)g(is)h(replaced)f(with)g(the)h(corresp)s(onding)e
-(elemen)m(t)j(from)e(the)150 1695 y(directory)36 b(stac)m(k,)i(as)e(it)
+(elemen)m(t)j(from)e(the)150 3952 y(directory)36 b(stac)m(k,)i(as)e(it)
g(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)g(the)f
Fs(dirs)g Ft(builtin)g(in)m(v)m(ok)m(ed)i(with)e(the)g(c)m(haracters)
-150 1804 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g
+150 4062 y(follo)m(wing)40 b(tilde)f(in)g(the)f(tilde-pre\014x)h(as)g
(an)f(argumen)m(t)h(\(see)h(Section)f(6.8)h([The)e(Directory)i(Stac)m
-(k],)150 1914 y(page)c(81\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans)
+(k],)150 4171 y(page)c(83\).)57 b(If)35 b(the)g(tilde-pre\014x,)i(sans)
e(the)h(tilde,)h(consists)f(of)g(a)f(n)m(um)m(b)s(er)f(without)i(a)f
-(leading)h(`)p Fs(+)p Ft(')g(or)150 2024 y(`)p Fs(-)p
-Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 2155 y(If)e(the)i(login)
+(leading)h(`)p Fs(+)p Ft(')g(or)150 4281 y(`)p Fs(-)p
+Ft(',)31 b(`)p Fs(+)p Ft(')f(is)h(assumed.)275 4417 y(If)e(the)i(login)
g(name)g(is)f(in)m(v)-5 b(alid,)31 b(or)g(the)f(tilde)h(expansion)f
(fails,)i(the)e(w)m(ord)g(is)h(left)g(unc)m(hanged.)275
-2286 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m
+4553 y(Eac)m(h)38 b(v)-5 b(ariable)38 b(assignmen)m(t)h(is)e(c)m(hec)m
(k)m(ed)j(for)d(unquoted)g(tilde-pre\014xes)h(immediately)g(follo)m
-(wing)150 2396 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p
+(wing)150 4662 y(a)d(`)p Fs(:)p Ft(')g(or)g(the)g(\014rst)f(`)p
Fs(=)p Ft('.)54 b(In)34 b(these)h(cases,)i(tilde)e(expansion)g(is)g
(also)h(p)s(erformed.)52 b(Consequen)m(tly)-8 b(,)37
-b(one)150 2505 y(ma)m(y)27 b(use)e(\014le)h(names)g(with)g(tildes)g(in)
+b(one)150 4772 y(ma)m(y)27 b(use)e(\014le)h(names)g(with)g(tildes)g(in)
g(assignmen)m(ts)h(to)g Fs(PATH)p Ft(,)f Fs(MAILPATH)p
Ft(,)e(and)i Fs(CDPATH)p Ft(,)f(and)h(the)g(shell)150
-2615 y(assigns)31 b(the)f(expanded)g(v)-5 b(alue.)275
-2746 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h
-(treats)g(unquoted)e(tilde-pre\014xes:)150 2899 y Fs(~)432
-b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)150 3052
-y(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')150 3205 y Fs(~fred/foo)630
-3315 y Ft(The)30 b(sub)s(directory)f Fs(foo)h Ft(of)g(the)h(home)f
-(directory)h(of)g(the)f(user)g Fs(fred)150 3468 y(~+/foo)192
-b Ft(`)p Fs($PWD/foo)p Ft(')150 3621 y Fs(~-/foo)g Ft(`)p
-Fs(${OLDPWD-'~-'}/foo)p Ft(')150 3774 y Fs(~)p Fi(N)384
-b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m
-(y)f(`)p Fs(dirs)g(+)p Fi(N)11 b Ft(')150 3927 y Fs(~+)p
-Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m
-(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p Fi(N)11 b Ft(')150 4080
-y Fs(~-)p Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g
-(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(-)p Fi(N)11
-b Ft(')150 4273 y Fj(3.5.3)63 b(Shell)41 b(P)m(arameter)f(Expansion)150
-4420 y Ft(The)g(`)p Fs($)p Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d
-(parameter)h(expansion,)j(command)d(substitution,)i(or)e(arithmetic)150
-4529 y(expansion.)d(The)22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to)
-g(b)s(e)e(expanded)h(ma)m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m
-(h)150 4639 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g
-(v)-5 b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i
-(immediately)150 4749 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g
-(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 4880
+4882 y(assigns)31 b(the)f(expanded)g(v)-5 b(alue.)275
+5018 y(The)29 b(follo)m(wing)j(table)g(sho)m(ws)e(ho)m(w)g(Bash)h
+(treats)g(unquoted)e(tilde-pre\014xes:)150 5179 y Fs(~)432
+b Ft(The)30 b(v)-5 b(alue)31 b(of)f Fs($HOME)150 5340
+y(~/foo)240 b Ft(`)p Fs($HOME/foo)p Ft(')p eop end
+%%Page: 21 27
+TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)150 299
+y Fs(~fred/foo)630 408 y Ft(The)30 b(sub)s(directory)f
+Fs(foo)h Ft(of)g(the)h(home)f(directory)h(of)g(the)f(user)g
+Fs(fred)150 580 y(~+/foo)192 b Ft(`)p Fs($PWD/foo)p Ft(')150
+752 y Fs(~-/foo)g Ft(`)p Fs(${OLDPWD-'~-'}/foo)p Ft(')150
+924 y Fs(~)p Fi(N)384 b Ft(The)30 b(string)g(that)h(w)m(ould)f(b)s(e)g
+(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p Fi(N)11
+b Ft(')150 1096 y Fs(~+)p Fi(N)336 b Ft(The)30 b(string)g(that)h(w)m
+(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p Fs(dirs)g(+)p
+Fi(N)11 b Ft(')150 1267 y Fs(~-)p Fi(N)336 b Ft(The)30
+b(string)g(that)h(w)m(ould)f(b)s(e)g(displa)m(y)m(ed)h(b)m(y)f(`)p
+Fs(dirs)g(-)p Fi(N)11 b Ft(')150 1479 y Fj(3.5.3)63 b(Shell)41
+b(P)m(arameter)f(Expansion)150 1626 y Ft(The)g(`)p Fs($)p
+Ft(')h(c)m(haracter)i(in)m(tro)s(duces)d(parameter)h(expansion,)j
+(command)d(substitution,)i(or)e(arithmetic)150 1735 y(expansion.)d(The)
+22 b(parameter)h(name)f(or)g(sym)m(b)s(ol)h(to)g(b)s(e)e(expanded)h(ma)
+m(y)h(b)s(e)f(enclosed)h(in)f(braces,)i(whic)m(h)150
+1845 y(are)31 b(optional)g(but)f(serv)m(e)h(to)h(protect)f(the)g(v)-5
+b(ariable)31 b(to)g(b)s(e)f(expanded)g(from)g(c)m(haracters)i
+(immediately)150 1955 y(follo)m(wing)g(it)f(whic)m(h)f(could)g(b)s(e)g
+(in)m(terpreted)h(as)f(part)h(of)f(the)h(name.)275 2101
y(When)44 b(braces)i(are)f(used,)j(the)e(matc)m(hing)g(ending)f(brace)g
(is)g(the)g(\014rst)g(`)p Fs(})p Ft(')g(not)g(escap)s(ed)h(b)m(y)f(a)
-150 4989 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c
+150 2211 y(bac)m(kslash)40 b(or)f(within)g(a)g(quoted)g(string,)j(and)c
(not)i(within)e(an)h(em)m(b)s(edded)f(arithmetic)j(expansion,)150
-5099 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
-5230 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p
+2321 y(command)30 b(substitution,)g(or)h(parameter)g(expansion.)275
+2468 y(The)40 b(basic)h(form)g(of)g(parameter)h(expansion)e(is)h($)p
Fs({)p Fq(parameter)7 b Fs(})p Ft(.)73 b(The)40 b(v)-5
-b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 5340 y(substituted.)43
+b(alue)42 b(of)f Fq(parameter)48 b Ft(is)150 2577 y(substituted.)43
b(The)31 b(braces)g(are)h(required)e(when)h Fq(parameter)38
-b Ft(is)31 b(a)h(p)s(ositional)g(parameter)g(with)f(more)p
-eop end
-%%Page: 20 26
-TeXDict begin 20 25 bop 150 -116 a Ft(20)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(than)h(one)g(digit,)i(or)e(when)g
-Fq(parameter)39 b Ft(is)32 b(follo)m(w)m(ed)i(b)m(y)e(a)h(c)m(haracter)
-h(that)e(is)h(not)f(to)h(b)s(e)f(in)m(terpreted)150 408
-y(as)f(part)f(of)g(its)h(name.)275 553 y(If)c(the)g(\014rst)g(c)m
-(haracter)i(of)f Fq(parameter)35 b Ft(is)27 b(an)h(exclamation)i(p)s
-(oin)m(t)d(\(!\),)i(a)f(lev)m(el)i(of)d(v)-5 b(ariable)29
-b(indirec-)150 663 y(tion)e(is)f(in)m(tro)s(duced.)39
-b(Bash)27 b(uses)e(the)i(v)-5 b(alue)27 b(of)f(the)h(v)-5
-b(ariable)27 b(formed)f(from)g(the)g(rest)h(of)f Fq(parameter)34
-b Ft(as)150 772 y(the)e(name)h(of)f(the)h(v)-5 b(ariable;)34
-b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h(that)h(v)-5
-b(alue)32 b(is)h(used)e(in)h(the)h(rest)150 882 y(of)h(the)f
-(substitution,)i(rather)e(than)g(the)h(v)-5 b(alue)34
-b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33 b(is)g(kno)m(wn)g(as)h
-Fs(indirect)150 991 y(expansion)p Ft(.)45 b(The)32 b(exceptions)i(to)g
-(this)e(are)h(the)g(expansions)g(of)g($)p Fs({)p Ft(!)p
-Fq(pre\014x*)8 b Fs(})31 b Ft(and)i($)p Fs({)p Ft(!)p
-Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})33 b Ft(de-)150
-1101 y(scrib)s(ed)h(b)s(elo)m(w.)56 b(The)35 b(exclamation)j(p)s(oin)m
-(t)d(m)m(ust)g(immediately)i(follo)m(w)g(the)e(left)i(brace)e(in)g
-(order)g(to)150 1210 y(in)m(tro)s(duce)30 b(indirection.)275
-1355 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
+b Ft(is)31 b(a)h(p)s(ositional)g(parameter)g(with)f(more)150
+2687 y(than)h(one)g(digit,)i(or)e(when)g Fq(parameter)39
+b Ft(is)32 b(follo)m(w)m(ed)i(b)m(y)e(a)h(c)m(haracter)h(that)e(is)h
+(not)f(to)h(b)s(e)f(in)m(terpreted)150 2796 y(as)f(part)f(of)g(its)h
+(name.)275 2943 y(If)c(the)g(\014rst)g(c)m(haracter)i(of)f
+Fq(parameter)35 b Ft(is)27 b(an)h(exclamation)i(p)s(oin)m(t)d(\(!\),)i
+(a)f(lev)m(el)i(of)d(v)-5 b(ariable)29 b(indirec-)150
+3053 y(tion)e(is)f(in)m(tro)s(duced.)39 b(Bash)27 b(uses)e(the)i(v)-5
+b(alue)27 b(of)f(the)h(v)-5 b(ariable)27 b(formed)f(from)g(the)g(rest)h
+(of)f Fq(parameter)34 b Ft(as)150 3162 y(the)e(name)h(of)f(the)h(v)-5
+b(ariable;)34 b(this)e(v)-5 b(ariable)33 b(is)g(then)f(expanded)f(and)h
+(that)h(v)-5 b(alue)32 b(is)h(used)e(in)h(the)h(rest)150
+3272 y(of)h(the)f(substitution,)i(rather)e(than)g(the)h(v)-5
+b(alue)34 b(of)g Fq(parameter)40 b Ft(itself.)51 b(This)33
+b(is)g(kno)m(wn)g(as)h Fs(indirect)150 3381 y(expansion)p
+Ft(.)k(The)30 b(exceptions)h(to)h(this)e(are)h(the)f(expansions)g(of)h
+($)p Fs({)p Ft(!)p Fq(pre\014x)150 3491 y Fs(})36 b Ft(and)f($)p
+Fs({)p Ft(!)p Fq(name)5 b Ft([)p Fs(@)p Ft(])p Fs(})37
+b Ft(describ)s(ed)e(b)s(elo)m(w.)58 b(The)36 b(exclamation)i(p)s(oin)m
+(t)e(m)m(ust)g(immediately)h(follo)m(w)h(the)150 3601
+y(left)31 b(brace)g(in)f(order)g(to)h(in)m(tro)s(duce)f(indirection.)
+275 3748 y(In)39 b(eac)m(h)i(of)g(the)f(cases)h(b)s(elo)m(w,)i
Fq(w)m(ord)h Ft(is)c(sub)5 b(ject)40 b(to)h(tilde)f(expansion,)j
-(parameter)e(expansion,)150 1465 y(command)30 b(substitution,)g(and)g
-(arithmetic)i(expansion.)275 1609 y(When)h(not)h(p)s(erforming)e
+(parameter)e(expansion,)150 3857 y(command)30 b(substitution,)g(and)g
+(arithmetic)i(expansion.)275 4004 y(When)h(not)h(p)s(erforming)e
(substring)h(expansion,)h(using)f(the)h(form)f(describ)s(ed)g(b)s(elo)m
-(w,)h(Bash)g(tests)150 1719 y(for)44 b(a)i(parameter)f(that)g(is)g
+(w,)h(Bash)g(tests)150 4114 y(for)44 b(a)i(parameter)f(that)g(is)g
(unset)f(or)h(n)m(ull.)84 b(Omitting)45 b(the)g(colon)h(results)e(in)g
-(a)i(test)f(only)g(for)g(a)150 1828 y(parameter)36 b(that)f(is)g
+(a)i(test)f(only)g(for)g(a)150 4223 y(parameter)36 b(that)f(is)g
(unset.)55 b(Put)34 b(another)i(w)m(a)m(y)-8 b(,)38 b(if)d(the)g(colon)
h(is)f(included,)h(the)f(op)s(erator)g(tests)h(for)150
-1938 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that)
+4333 y(b)s(oth)22 b Fq(parameter)7 b Ft('s)22 b(existence)i(and)e(that)
h(its)g(v)-5 b(alue)23 b(is)g(not)f(n)m(ull;)k(if)c(the)h(colon)g(is)g
-(omitted,)i(the)e(op)s(erator)150 2047 y(tests)31 b(only)g(for)f
-(existence.)150 2222 y Fs(${)p Fi(parameter)11 b Fs(:)p
-Fp(\000)p Fi(word)g Fs(})630 2331 y Ft(If)30 b Fq(parameter)37
+(omitted,)i(the)e(op)s(erator)150 4442 y(tests)31 b(only)g(for)f
+(existence.)150 4620 y Fs(${)p Fi(parameter)11 b Fs(:)p
+Fp(\000)p Fi(word)g Fs(})630 4730 y Ft(If)30 b Fq(parameter)37
b Ft(is)30 b(unset)g(or)h(n)m(ull,)f(the)h(expansion)f(of)g
Fq(w)m(ord)k Ft(is)c(substituted.)40 b(Otherwise,)630
-2441 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37
-b Ft(is)31 b(substituted.)150 2610 y Fs(${)p Fi(parameter)11
-b Fs(:=)p Fi(word)g Fs(})630 2720 y Ft(If)32 b Fq(parameter)40
+4839 y(the)31 b(v)-5 b(alue)30 b(of)h Fq(parameter)37
+b Ft(is)31 b(substituted.)150 5011 y Fs(${)p Fi(parameter)11
+b Fs(:=)p Fi(word)g Fs(})630 5121 y Ft(If)32 b Fq(parameter)40
b Ft(is)32 b(unset)g(or)h(n)m(ull,)g(the)f(expansion)h(of)f
Fq(w)m(ord)k Ft(is)d(assigned)f(to)i Fq(parameter)7 b
-Ft(.)630 2829 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38
+Ft(.)630 5230 y(The)30 b(v)-5 b(alue)32 b(of)f Fq(parameter)38
b Ft(is)31 b(then)g(substituted.)42 b(P)m(ositional)33
-b(parameters)e(and)f(sp)s(ecial)630 2939 y(parameters)h(ma)m(y)g(not)f
-(b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)150
-3108 y Fs(${)p Fi(parameter)11 b Fs(:?)p Fi(word)g Fs(})630
-3218 y Ft(If)26 b Fq(parameter)33 b Ft(is)26 b(n)m(ull)g(or)g(unset,)h
-(the)f(expansion)g(of)g Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that)
-f(e\013ect)630 3328 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h
-(is)f(written)g(to)h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f
-(it)h(is)f(not)630 3437 y(in)m(teractiv)m(e,)33 b(exits.)42
-b(Otherwise,)30 b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38
-b Ft(is)30 b(substituted.)150 3606 y Fs(${)p Fi(parameter)11
-b Fs(:+)p Fi(word)g Fs(})630 3716 y Ft(If)35 b Fq(parameter)42
-b Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
-(otherwise)e(the)h(expansion)630 3826 y(of)31 b Fq(w)m(ord)i
-Ft(is)e(substituted.)150 3995 y Fs(${)p Fi(parameter)11
-b Fs(:)p Fi(offset)g Fs(})150 4105 y(${)p Fi(parameter)g
+b(parameters)e(and)f(sp)s(ecial)630 5340 y(parameters)h(ma)m(y)g(not)f
+(b)s(e)g(assigned)h(to)g(in)f(this)g(w)m(a)m(y)-8 b(.)p
+eop end
+%%Page: 22 28
+TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(${)p Fi(parameter)11
+b Fs(:?)p Fi(word)g Fs(})630 408 y Ft(If)26 b Fq(parameter)33
+b Ft(is)26 b(n)m(ull)g(or)g(unset,)h(the)f(expansion)g(of)g
+Fq(w)m(ord)k Ft(\(or)c(a)h(message)g(to)g(that)f(e\013ect)630
+518 y(if)i Fq(w)m(ord)j Ft(is)d(not)g(presen)m(t\))h(is)f(written)g(to)
+h(the)f(standard)f(error)h(and)f(the)h(shell,)h(if)f(it)h(is)f(not)630
+628 y(in)m(teractiv)m(e,)33 b(exits.)42 b(Otherwise,)30
+b(the)h(v)-5 b(alue)31 b(of)f Fq(parameter)38 b Ft(is)30
+b(substituted.)150 774 y Fs(${)p Fi(parameter)11 b Fs(:+)p
+Fi(word)g Fs(})630 883 y Ft(If)35 b Fq(parameter)42 b
+Ft(is)36 b(n)m(ull)f(or)h(unset,)g(nothing)g(is)f(substituted,)i
+(otherwise)e(the)h(expansion)630 993 y(of)31 b Fq(w)m(ord)i
+Ft(is)e(substituted.)150 1139 y Fs(${)p Fi(parameter)11
+b Fs(:)p Fi(offset)g Fs(})150 1249 y(${)p Fi(parameter)g
Fs(:)p Fi(offset)g Fs(:)p Fi(le)o(ngt)o(h)g Fs(})630
-4214 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
+1358 y Ft(Expands)44 b(to)i(up)e(to)i Fq(length)g Ft(c)m(haracters)h
(of)e Fq(parameter)53 b Ft(starting)46 b(at)g(the)f(c)m(haracter)630
-4324 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43
+1468 y(sp)s(eci\014ed)30 b(b)m(y)g Fq(o\013set)r Ft(.)43
b(If)30 b Fq(length)h Ft(is)g(omitted,)g(expands)f(to)h(the)g
-(substring)f(of)g Fq(parameter)630 4433 y Ft(starting)38
+(substring)f(of)g Fq(parameter)630 1577 y Ft(starting)38
b(at)g(the)f(c)m(haracter)i(sp)s(eci\014ed)d(b)m(y)h
Fq(o\013set)r Ft(.)62 b Fq(length)38 b Ft(and)e Fq(o\013set)k
-Ft(are)e(arithmetic)630 4543 y(expressions)30 b(\(see)i(Section)g(6.5)g
-([Shell)f(Arithmetic],)h(page)g(78\).)43 b(This)30 b(is)h(referred)f
-(to)i(as)630 4653 y(Substring)d(Expansion.)630 4792 y
-Fq(length)j Ft(m)m(ust)f(ev)-5 b(aluate)33 b(to)f(a)g(n)m(um)m(b)s(er)e
-(greater)i(than)f(or)g(equal)h(to)g(zero.)45 b(If)30
-b Fq(o\013set)35 b Ft(ev)-5 b(al-)630 4902 y(uates)36
-b(to)h(a)f(n)m(um)m(b)s(er)e(less)i(than)f(zero,)j(the)e(v)-5
-b(alue)36 b(is)g(used)f(as)g(an)h(o\013set)h(from)e(the)h(end)630
-5011 y(of)h(the)g(v)-5 b(alue)38 b(of)f Fq(parameter)7
-b Ft(.)61 b(If)36 b Fq(parameter)44 b Ft(is)37 b(`)p
-Fs(@)p Ft(',)i(the)f(result)f(is)g Fq(length)g Ft(p)s(ositional)630
-5121 y(parameters)i(b)s(eginning)f(at)i Fq(o\013set)r
-Ft(.)67 b(If)39 b Fq(parameter)45 b Ft(is)39 b(an)g(indexed)g(arra)m(y)
-g(name)g(sub-)630 5230 y(scripted)34 b(b)m(y)g(`)p Fs(@)p
-Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(result)g(is)g(the)g
-Fq(length)h Ft(mem)m(b)s(ers)e(of)h(the)g(arra)m(y)h(b)s(eginning)630
-5340 y(with)25 b Fs(${)p Fi(parameter)11 b Fs([)p Fi(offset)g
-Fs(]})p Ft(.)33 b(A)25 b(negativ)m(e)j Fq(o\013set)g
-Ft(is)e(tak)m(en)g(relativ)m(e)i(to)e(one)g(greater)p
-eop end
-%%Page: 21 27
-TeXDict begin 21 26 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(21)630 299
-y(than)26 b(the)h(maxim)m(um)f(index)g(of)g(the)h(sp)s(eci\014ed)f
-(arra)m(y)-8 b(.)40 b(Substring)25 b(expansion)h(applied)g(to)630
-408 y(an)k(asso)s(ciativ)m(e)j(arra)m(y)e(pro)s(duces)e(unde\014ned)f
-(results.)630 548 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m
+Ft(are)e(arithmetic)630 1687 y(expressions)30 b(\(see)i(Section)g(6.5)g
+([Shell)f(Arithmetic],)h(page)g(80\).)43 b(This)30 b(is)h(referred)f
+(to)i(as)630 1797 y(Substring)d(Expansion.)630 1924 y(If)c
+Fq(o\013set)k Ft(ev)-5 b(aluates)27 b(to)g(a)f(n)m(um)m(b)s(er)e(less)i
+(than)g(zero,)h(the)f(v)-5 b(alue)26 b(is)g(used)f(as)h(an)g(o\013set)g
+(from)630 2034 y(the)c(end)e(of)i(the)f(v)-5 b(alue)22
+b(of)g Fq(parameter)7 b Ft(.)38 b(If)20 b Fq(length)i
+Ft(ev)-5 b(aluates)23 b(to)f(a)g(n)m(um)m(b)s(er)e(less)i(than)f(zero,)
+630 2144 y(and)g Fq(parameter)29 b Ft(is)21 b(not)h(`)p
+Fs(@)p Ft(')g(and)f(not)h(an)g(indexed)f(or)h(asso)s(ciativ)m(e)i(arra)
+m(y)-8 b(,)25 b(it)d(is)g(in)m(terpreted)630 2253 y(as)37
+b(an)f(o\013set)i(from)e(the)h(end)f(of)h(the)f(v)-5
+b(alue)37 b(of)g Fq(parameter)44 b Ft(rather)36 b(than)h(a)f(n)m(um)m
+(b)s(er)g(of)630 2363 y(c)m(haracters,)49 b(and)42 b(the)i(expansion)f
+(is)h(the)g(c)m(haracters)h(b)s(et)m(w)m(een)f(the)g(t)m(w)m(o)g
+(o\013sets.)81 b(If)630 2472 y Fq(parameter)37 b Ft(is)31
+b(`)p Fs(@)p Ft(',)g(the)g(result)f(is)h Fq(length)g
+Ft(p)s(ositional)g(parameters)g(b)s(eginning)e(at)j Fq(o\013set)r
+Ft(.)630 2582 y(If)k Fq(parameter)43 b Ft(is)36 b(an)g(indexed)g(arra)m
+(y)g(name)g(subscripted)f(b)m(y)h(`)p Fs(@)p Ft(')g(or)h(`)p
+Fs(*)p Ft(',)h(the)e(result)g(is)630 2692 y(the)h Fq(length)g
+Ft(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)g(b)s(eginning)f(with)h
+Fs(${)p Fi(parameter)11 b Fs([)p Fi(offset)g Fs(])o(})p
+Ft(.)54 b(A)630 2801 y(negativ)m(e)33 b Fq(o\013set)g
+Ft(is)e(tak)m(en)h(relativ)m(e)g(to)g(one)f(greater)g(than)g(the)f
+(maxim)m(um)h(index)f(of)h(the)630 2911 y(sp)s(eci\014ed)k(arra)m(y)-8
+b(.)57 b(Substring)34 b(expansion)i(applied)f(to)h(an)g(asso)s(ciativ)m
+(e)i(arra)m(y)e(pro)s(duces)630 3020 y(unde\014ned)28
+b(results.)630 3148 y(Note)37 b(that)f(a)g(negativ)m(e)i(o\013set)f(m)m
(ust)f(b)s(e)f(separated)h(from)f(the)h(colon)h(b)m(y)e(at)i(least)g
-(one)630 658 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h
+(one)630 3258 y(space)g(to)g(a)m(v)m(oid)g(b)s(eing)f(confused)f(with)h
(the)h(`)p Fs(:-)p Ft(')f(expansion.)57 b(Substring)35
-b(indexing)h(is)630 767 y(zero-based)24 b(unless)f(the)h(p)s(ositional)
-g(parameters)g(are)g(used,)g(in)g(whic)m(h)f(case)h(the)g(indexing)630
-877 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40 b(If)29
-b Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h(parameters)g
-(are)g(used,)f Fs($@)630 986 y Ft(is)h(pre\014xed)g(to)h(the)f(list.)
-150 1156 y Fs(${!)p Fi(prefix)11 b Fs(*})150 1265 y(${!)p
-Fi(prefix)g Fs(@})630 1375 y Ft(Expands)23 b(to)i(the)g(names)f(of)h(v)
--5 b(ariables)25 b(whose)f(names)g(b)s(egin)g(with)g
-Fq(pre\014x)6 b Ft(,)25 b(separated)g(b)m(y)630 1484
-y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f
+b(indexing)h(is)630 3367 y(zero-based)24 b(unless)f(the)h(p)s
+(ositional)g(parameters)g(are)g(used,)g(in)g(whic)m(h)f(case)h(the)g
+(indexing)630 3477 y(starts)30 b(at)g(1)f(b)m(y)h(default.)40
+b(If)29 b Fq(o\013set)j Ft(is)e(0,)g(and)f(the)g(p)s(ositional)h
+(parameters)g(are)g(used,)f Fs($@)630 3587 y Ft(is)h(pre\014xed)g(to)h
+(the)f(list.)150 3733 y Fs(${!)p Fi(prefix)11 b Fs(*})150
+3842 y(${!)p Fi(prefix)g Fs(@})630 3952 y Ft(Expands)23
+b(to)i(the)g(names)f(of)h(v)-5 b(ariables)25 b(whose)f(names)g(b)s
+(egin)g(with)g Fq(pre\014x)6 b Ft(,)25 b(separated)g(b)m(y)630
+4061 y(the)k(\014rst)f(c)m(haracter)j(of)e(the)g Fs(IFS)f
Ft(sp)s(ecial)i(v)-5 b(ariable.)41 b(When)29 b(`)p Fs(@)p
-Ft(')g(is)g(used)f(and)h(the)g(expan-)630 1594 y(sion)35
+Ft(')g(is)g(used)f(and)h(the)g(expan-)630 4171 y(sion)35
b(app)s(ears)g(within)f(double)h(quotes,)i(eac)m(h)f(v)-5
b(ariable)36 b(name)f(expands)g(to)g(a)h(separate)630
-1704 y(w)m(ord.)150 1873 y Fs(${!)p Fi(name)11 b Fs([@]})150
-1983 y(${!)p Fi(name)g Fs([*]})630 2092 y Ft(If)26 b
+4281 y(w)m(ord.)150 4427 y Fs(${!)p Fi(name)11 b Fs([@]})150
+4536 y(${!)p Fi(name)g Fs([*]})630 4646 y Ft(If)26 b
Fq(name)32 b Ft(is)27 b(an)f(arra)m(y)h(v)-5 b(ariable,)29
b(expands)d(to)h(the)g(list)g(of)g(arra)m(y)g(indices)g(\(k)m(eys\))h
-(assigned)630 2202 y(in)c Fq(name)5 b Ft(.)39 b(If)23
+(assigned)630 4756 y(in)c Fq(name)5 b Ft(.)39 b(If)23
b Fq(name)30 b Ft(is)24 b(not)g(an)g(arra)m(y)-8 b(,)27
b(expands)c(to)i(0)f(if)h Fq(name)k Ft(is)24 b(set)h(and)e(n)m(ull)h
-(otherwise.)630 2311 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f
+(otherwise.)630 4865 y(When)39 b(`)p Fs(@)p Ft(')h(is)f(used)g(and)f
(the)i(expansion)f(app)s(ears)g(within)f(double)h(quotes,)k(eac)m(h)d
-(k)m(ey)630 2421 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
-2590 y Fs(${#)p Fi(parameter)11 b Fs(})630 2700 y Ft(The)40
+(k)m(ey)630 4975 y(expands)30 b(to)h(a)f(separate)i(w)m(ord.)150
+5121 y Fs(${#)p Fi(parameter)11 b Fs(})630 5230 y Ft(The)40
b(length)g(in)g(c)m(haracters)i(of)e(the)h(expanded)e(v)-5
b(alue)41 b(of)f Fq(parameter)47 b Ft(is)40 b(substituted.)630
-2809 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
+5340 y(If)i Fq(parameter)50 b Ft(is)43 b(`)p Fs(*)p Ft(')g(or)g(`)p
Fs(@)p Ft(',)k(the)c(v)-5 b(alue)43 b(substituted)f(is)h(the)g(n)m(um)m
-(b)s(er)f(of)h(p)s(ositional)630 2919 y(parameters.)i(If)32
-b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(name)g(subscripted)f(b)m
-(y)g(`)p Fs(*)p Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5
-b(alue)630 3029 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h
-(elemen)m(ts)i(in)e(the)h(arra)m(y)-8 b(.)150 3198 y
-Fs(${)p Fi(parameter)11 b Fs(#)p Fi(word)g Fs(})150 3308
-y(${)p Fi(parameter)g Fs(##)p Fi(word)g Fs(})630 3417
-y Ft(The)31 b Fq(w)m(ord)k Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h
-(pattern)g(just)f(as)i(in)e(\014lename)h(expansion)g(\(see)630
-3527 y(Section)k(3.5.8)h([Filename)g(Expansion],)g(page)f(24\).)56
-b(If)35 b(the)h(pattern)f(matc)m(hes)i(the)e(b)s(e-)630
-3636 y(ginning)g(of)g(the)g(expanded)f(v)-5 b(alue)36
-b(of)f Fq(parameter)7 b Ft(,)36 b(then)f(the)g(result)g(of)g(the)g
-(expansion)630 3746 y(is)28 b(the)g(expanded)e(v)-5 b(alue)28
-b(of)g Fq(parameter)35 b Ft(with)27 b(the)h(shortest)g(matc)m(hing)h
-(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 3856 y(case\))e(or)f(the)g
-(longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p Fs(##)p
+(b)s(er)f(of)h(p)s(ositional)p eop end
+%%Page: 23 29
+TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)630 299
+y(parameters.)45 b(If)32 b Fq(parameter)38 b Ft(is)32
+b(an)g(arra)m(y)g(name)g(subscripted)f(b)m(y)g(`)p Fs(*)p
+Ft(')h(or)g(`)p Fs(@)p Ft(',)g(the)g(v)-5 b(alue)630
+408 y(substituted)30 b(is)g(the)h(n)m(um)m(b)s(er)e(of)h(elemen)m(ts)i
+(in)e(the)h(arra)m(y)-8 b(.)150 573 y Fs(${)p Fi(parameter)11
+b Fs(#)p Fi(word)g Fs(})150 682 y(${)p Fi(parameter)g
+Fs(##)p Fi(word)g Fs(})630 792 y Ft(The)31 b Fq(w)m(ord)k
+Ft(is)d(expanded)f(to)i(pro)s(duce)e(a)h(pattern)g(just)f(as)i(in)e
+(\014lename)h(expansion)g(\(see)630 902 y(Section)k(3.5.8)h([Filename)g
+(Expansion],)g(page)f(25\).)56 b(If)35 b(the)h(pattern)f(matc)m(hes)i
+(the)e(b)s(e-)630 1011 y(ginning)g(of)g(the)g(expanded)f(v)-5
+b(alue)36 b(of)f Fq(parameter)7 b Ft(,)36 b(then)f(the)g(result)g(of)g
+(the)g(expansion)630 1121 y(is)28 b(the)g(expanded)e(v)-5
+b(alue)28 b(of)g Fq(parameter)35 b Ft(with)27 b(the)h(shortest)g(matc)m
+(hing)h(pattern)f(\(the)g(`)p Fs(#)p Ft(')630 1230 y(case\))e(or)f(the)
+g(longest)g(matc)m(hing)h(pattern)f(\(the)g(`)p Fs(##)p
Ft(')g(case\))h(deleted.)39 b(If)24 b Fq(parameter)32
-b Ft(is)25 b(`)p Fs(@)p Ft(')630 3965 y(or)j(`)p Fs(*)p
+b Ft(is)25 b(`)p Fs(@)p Ft(')630 1340 y(or)j(`)p Fs(*)p
Ft(',)i(the)e(pattern)h(remo)m(v)-5 b(al)29 b(op)s(eration)g(is)f
(applied)h(to)g(eac)m(h)g(p)s(ositional)g(parameter)g(in)630
-4075 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
+1450 y(turn,)i(and)g(the)h(expansion)g(is)g(the)g(resultan)m(t)g(list.)
45 b(If)32 b Fq(parameter)38 b Ft(is)32 b(an)g(arra)m(y)g(v)-5
-b(ariable)630 4184 y(subscripted)39 b(with)g(`)p Fs(@)p
+b(ariable)630 1559 y(subscripted)39 b(with)g(`)p Fs(@)p
Ft(')h(or)g(`)p Fs(*)p Ft(',)j(the)d(pattern)h(remo)m(v)-5
b(al)41 b(op)s(eration)f(is)g(applied)g(to)h(eac)m(h)630
-4294 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
-(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 4463
+1669 y(mem)m(b)s(er)30 b(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)h
+(expansion)f(is)g(the)h(resultan)m(t)g(list.)150 1833
y Fs(${)p Fi(parameter)11 b Fs(\045)p Fi(word)g Fs(})150
-4573 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630
-4682 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
+1943 y(${)p Fi(parameter)g Fs(\045\045)p Fi(word)g Fs(})630
+2052 y Ft(The)35 b Fq(w)m(ord)k Ft(is)c(expanded)g(to)h(pro)s(duce)e(a)
i(pattern)f(just)g(as)h(in)f(\014lename)h(expansion.)55
-b(If)630 4792 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s
+b(If)630 2162 y(the)43 b(pattern)f(matc)m(hes)i(a)e(trailing)i(p)s
(ortion)e(of)g(the)h(expanded)e(v)-5 b(alue)43 b(of)g
-Fq(parameter)7 b Ft(,)630 4902 y(then)39 b(the)g(result)g(of)h(the)f
+Fq(parameter)7 b Ft(,)630 2271 y(then)39 b(the)g(result)g(of)h(the)f
(expansion)g(is)h(the)f(v)-5 b(alue)40 b(of)f Fq(parameter)46
-b Ft(with)39 b(the)h(shortest)630 5011 y(matc)m(hing)31
+b Ft(with)39 b(the)h(shortest)630 2381 y(matc)m(hing)31
b(pattern)e(\(the)h(`)p Fs(\045)p Ft(')g(case\))h(or)e(the)h(longest)h
(matc)m(hing)f(pattern)g(\(the)g(`)p Fs(\045\045)p Ft(')g(case\))630
-5121 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
+2491 y(deleted.)49 b(If)32 b Fq(parameter)40 b Ft(is)33
b(`)p Fs(@)p Ft(')g(or)g(`)p Fs(*)p Ft(',)h(the)f(pattern)g(remo)m(v)-5
-b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 5230 y(eac)m(h)38
+b(al)34 b(op)s(eration)g(is)f(applied)f(to)630 2600 y(eac)m(h)38
b(p)s(ositional)g(parameter)g(in)f(turn,)h(and)e(the)h(expansion)g(is)h
-(the)f(resultan)m(t)h(list.)61 b(If)630 5340 y Fq(parameter)38
+(the)f(resultan)m(t)h(list.)61 b(If)630 2710 y Fq(parameter)38
b Ft(is)32 b(an)f(arra)m(y)h(v)-5 b(ariable)32 b(subscripted)e(with)h
(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)g(the)f(pattern)h(remo)m(v)-5
-b(al)p eop end
-%%Page: 22 28
-TeXDict begin 22 27 bop 150 -116 a Ft(22)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(op)s(eration)f(is)g(applied)f(to)i
-(eac)m(h)g(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)
-h(expansion)g(is)630 408 y(the)h(resultan)m(t)g(list.)150
-579 y Fs(${)p Fi(parameter)11 b Fs(/)p Fi(pattern)g Fs(/)p
-Fi(s)o(tri)o(ng)f Fs(})630 688 y Ft(The)37 b Fq(pattern)g
+b(al)630 2819 y(op)s(eration)30 b(is)g(applied)f(to)i(eac)m(h)g(mem)m
+(b)s(er)e(of)h(the)g(arra)m(y)g(in)f(turn,)g(and)g(the)h(expansion)g
+(is)630 2929 y(the)h(resultan)m(t)g(list.)150 3093 y
+Fs(${)p Fi(parameter)11 b Fs(/)p Fi(pattern)g Fs(/)p
+Fi(s)o(tri)o(ng)f Fs(})630 3203 y Ft(The)37 b Fq(pattern)g
Ft(is)g(expanded)g(to)h(pro)s(duce)e(a)h(pattern)g(just)g(as)h(in)e
-(\014lename)i(expansion.)630 798 y Fq(P)m(arameter)46
+(\014lename)i(expansion.)630 3313 y Fq(P)m(arameter)46
b Ft(is)38 b(expanded)f(and)g(the)i(longest)g(matc)m(h)g(of)f
Fq(pattern)g Ft(against)h(its)f(v)-5 b(alue)39 b(is)630
-908 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33
+3422 y(replaced)33 b(with)f Fq(string)8 b Ft(.)47 b(If)33
b Fq(pattern)f Ft(b)s(egins)g(with)h(`)p Fs(/)p Ft(',)g(all)h(matc)m
-(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 1017 y(placed)27
+(hes)f(of)g Fq(pattern)g Ft(are)g(re-)630 3532 y(placed)27
b(with)f Fq(string)8 b Ft(.)40 b(Normally)27 b(only)g(the)g(\014rst)f
(matc)m(h)h(is)g(replaced.)40 b(If)26 b Fq(pattern)g
-Ft(b)s(egins)630 1127 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f
+Ft(b)s(egins)630 3641 y(with)33 b(`)p Fs(#)p Ft(',)i(it)f(m)m(ust)f
(matc)m(h)i(at)f(the)g(b)s(eginning)f(of)g(the)h(expanded)f(v)-5
-b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 1236 y(If)34
+b(alue)34 b(of)g Fq(parameter)7 b Ft(.)630 3751 y(If)34
b Fq(pattern)g Ft(b)s(egins)g(with)g(`)p Fs(\045)p Ft(',)h(it)g(m)m
(ust)f(matc)m(h)h(at)g(the)f(end)g(of)g(the)h(expanded)e(v)-5
-b(alue)35 b(of)630 1346 y Fq(parameter)7 b Ft(.)40 b(If)29
+b(alue)35 b(of)630 3861 y Fq(parameter)7 b Ft(.)40 b(If)29
b Fq(string)36 b Ft(is)29 b(n)m(ull,)h(matc)m(hes)g(of)f
Fq(pattern)g Ft(are)g(deleted)h(and)e(the)h Fs(/)f Ft(follo)m(wing)630
-1455 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51
+3970 y Fq(pattern)34 b Ft(ma)m(y)g(b)s(e)f(omitted.)51
b(If)33 b Fq(parameter)41 b Ft(is)33 b(`)p Fs(@)p Ft(')h(or)g(`)p
Fs(*)p Ft(',)g(the)g(substitution)f(op)s(eration)630
-1565 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in)
+4080 y(is)38 b(applied)g(to)g(eac)m(h)h(p)s(ositional)g(parameter)f(in)
g(turn,)h(and)e(the)h(expansion)g(is)g(the)g(re-)630
-1675 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43
+4189 y(sultan)m(t)f(list.)59 b(If)36 b Fq(parameter)43
b Ft(is)36 b(an)g(arra)m(y)h(v)-5 b(ariable)37 b(subscripted)e(with)h
-(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 1784
+(`)p Fs(@)p Ft(')g(or)h(`)p Fs(*)p Ft(',)h(the)630 4299
y(substitution)30 b(op)s(eration)h(is)f(applied)g(to)h(eac)m(h)g(mem)m
(b)s(er)f(of)g(the)h(arra)m(y)g(in)f(turn,)f(and)h(the)630
-1894 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150
-2064 y Fs(${)p Fi(parameter)11 b Fs(^)p Fi(pattern)g
-Fs(})150 2174 y(${)p Fi(parameter)g Fs(^^)p Fi(pattern)g
-Fs(})150 2283 y(${)p Fi(parameter)g Fs(,)p Fi(pattern)g
-Fs(})150 2393 y(${)p Fi(parameter)g Fs(,,)p Fi(pattern)g
-Fs(})630 2502 y Ft(This)35 b(expansion)h(mo)s(di\014es)f(the)h(case)h
+4408 y(expansion)g(is)h(the)f(resultan)m(t)h(list.)150
+4573 y Fs(${)p Fi(parameter)11 b Fs(^)p Fi(pattern)g
+Fs(})150 4682 y(${)p Fi(parameter)g Fs(^^)p Fi(pattern)g
+Fs(})150 4792 y(${)p Fi(parameter)g Fs(,)p Fi(pattern)g
+Fs(})150 4902 y(${)p Fi(parameter)g Fs(,,)p Fi(pattern)g
+Fs(})630 5011 y Ft(This)35 b(expansion)h(mo)s(di\014es)f(the)h(case)h
(of)f(alphab)s(etic)h(c)m(haracters)g(in)f Fq(parameter)7
-b Ft(.)57 b(The)630 2612 y Fq(pattern)36 b Ft(is)f(expanded)g(to)h(pro)
+b Ft(.)57 b(The)630 5121 y Fq(pattern)36 b Ft(is)f(expanded)g(to)h(pro)
s(duce)e(a)i(pattern)g(just)f(as)h(in)f(\014lename)g(expansion.)56
-b(The)630 2722 y(`)p Fs(^)p Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h
+b(The)630 5230 y(`)p Fs(^)p Ft(')36 b(op)s(erator)g(con)m(v)m(erts)h
(lo)m(w)m(ercase)h(letters)f(matc)m(hing)g Fq(pattern)f
-Ft(to)g(upp)s(ercase;)i(the)e(`)p Fs(,)p Ft(')630 2831
+Ft(to)g(upp)s(ercase;)i(the)e(`)p Fs(,)p Ft(')630 5340
y(op)s(erator)g(con)m(v)m(erts)i(matc)m(hing)f(upp)s(ercase)e(letters)i
(to)g(lo)m(w)m(ercase.)59 b(The)36 b(`)p Fs(^^)p Ft(')g(and)f(`)p
-Fs(,,)p Ft(')630 2941 y(expansions)c(con)m(v)m(ert)i(eac)m(h)g(matc)m
-(hed)f(c)m(haracter)h(in)e(the)h(expanded)f(v)-5 b(alue;)32
-b(the)g(`)p Fs(^)p Ft(')g(and)630 3050 y(`)p Fs(,)p Ft(')24
-b(expansions)f(matc)m(h)i(and)e(con)m(v)m(ert)j(only)d(the)h(\014rst)f
-(c)m(haracter)j(in)d(the)h(expanded)f(v)-5 b(alue.)630
-3160 y(If)31 b Fq(pattern)g Ft(is)g(omitted,)i(it)f(is)f(treated)h(lik)
-m(e)h(a)e(`)p Fs(?)p Ft(',)h(whic)m(h)f(matc)m(hes)i(ev)m(ery)f(c)m
-(haracter.)44 b(If)630 3270 y Fq(parameter)37 b Ft(is)31
-b(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(case)g(mo)s
-(di\014cation)g(op)s(eration)g(is)f(applied)g(to)i(eac)m(h)f(p)s(osi-)
-630 3379 y(tional)26 b(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f
+Fs(,,)p Ft(')p eop end
+%%Page: 24 30
+TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(expansions)g(con)m(v)m(ert)i(eac)m(h)
+g(matc)m(hed)f(c)m(haracter)h(in)e(the)h(expanded)f(v)-5
+b(alue;)32 b(the)g(`)p Fs(^)p Ft(')g(and)630 408 y(`)p
+Fs(,)p Ft(')24 b(expansions)f(matc)m(h)i(and)e(con)m(v)m(ert)j(only)d
+(the)h(\014rst)f(c)m(haracter)j(in)d(the)h(expanded)f(v)-5
+b(alue.)630 518 y(If)31 b Fq(pattern)g Ft(is)g(omitted,)i(it)f(is)f
+(treated)h(lik)m(e)h(a)e(`)p Fs(?)p Ft(',)h(whic)m(h)f(matc)m(hes)i(ev)
+m(ery)f(c)m(haracter.)44 b(If)630 628 y Fq(parameter)37
+b Ft(is)31 b(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)f(the)h(case)g(mo)
+s(di\014cation)g(op)s(eration)g(is)f(applied)g(to)i(eac)m(h)f(p)s(osi-)
+630 737 y(tional)26 b(parameter)e(in)h(turn,)f(and)g(the)h(expansion)f
(is)g(the)h(resultan)m(t)g(list.)40 b(If)23 b Fq(parameter)32
-b Ft(is)630 3489 y(an)e(arra)m(y)g(v)-5 b(ariable)31
-b(subscripted)d(with)i(`)p Fs(@)p Ft(')g(or)f(`)p Fs(*)p
-Ft(',)i(the)f(case)g(mo)s(di\014cation)h(op)s(eration)f(is)630
-3598 y(applied)d(to)g(eac)m(h)h(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g
-(in)g(turn,)g(and)f(the)h(expansion)f(is)h(the)g(resultan)m(t)630
-3708 y(list.)150 3918 y Fj(3.5.4)63 b(Command)41 b(Substitution)150
-4065 y Ft(Command)f(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f
+b Ft(is)630 847 y(an)e(arra)m(y)g(v)-5 b(ariable)31 b(subscripted)d
+(with)i(`)p Fs(@)p Ft(')g(or)f(`)p Fs(*)p Ft(',)i(the)f(case)g(mo)s
+(di\014cation)h(op)s(eration)f(is)630 956 y(applied)d(to)g(eac)m(h)h
+(mem)m(b)s(er)e(of)h(the)g(arra)m(y)g(in)g(turn,)g(and)f(the)h
+(expansion)f(is)h(the)g(resultan)m(t)630 1066 y(list.)150
+1263 y Fj(3.5.4)63 b(Command)41 b(Substitution)150 1410
+y Ft(Command)f(substitution)h(allo)m(ws)i(the)e(output)g(of)h(a)f
(command)g(to)h(replace)g(the)g(command)f(itself.)150
-4175 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)
-g(enclosed)h(as)g(follo)m(ws:)390 4320 y Fs($\()p Fi(command)11
-b Fs(\))150 4465 y Ft(or)390 4611 y Fs(`)p Fi(command)g
-Fs(`)150 4756 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h
+1519 y(Command)29 b(substitution)h(o)s(ccurs)h(when)e(a)i(command)f(is)
+g(enclosed)h(as)g(follo)m(ws:)390 1653 y Fs($\()p Fi(command)11
+b Fs(\))150 1786 y Ft(or)390 1919 y Fs(`)p Fi(command)g
+Fs(`)150 2052 y Ft(Bash)45 b(p)s(erforms)f(the)h(expansion)f(b)m(y)h
(executing)i Fq(command)h Ft(and)c(replacing)i(the)f(command)g(sub-)150
-4866 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
+2162 y(stitution)c(with)f(the)g(standard)g(output)g(of)g(the)g
(command,)j(with)d(an)m(y)h(trailing)g(newlines)f(deleted.)150
-4975 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
+2271 y(Em)m(b)s(edded)30 b(newlines)h(are)h(not)f(deleted,)i(but)e
(they)g(ma)m(y)h(b)s(e)f(remo)m(v)m(ed)i(during)d(w)m(ord)h(splitting.)
-44 b(The)150 5085 y(command)21 b(substitution)g Fs($\(cat)29
+44 b(The)150 2381 y(command)21 b(substitution)g Fs($\(cat)29
b Fi(file)11 b Fs(\))20 b Ft(can)i(b)s(e)f(replaced)g(b)m(y)h(the)g
(equiv)-5 b(alen)m(t)22 b(but)f(faster)h Fs($\(<)30 b
-Fi(file)11 b Fs(\))p Ft(.)275 5230 y(When)33 b(the)i(old-st)m(yle)h
+Fi(file)11 b Fs(\))p Ft(.)275 2514 y(When)33 b(the)i(old-st)m(yle)h
(bac)m(kquote)f(form)f(of)g(substitution)g(is)g(used,)h(bac)m(kslash)f
-(retains)h(its)f(literal)150 5340 y(meaning)k(except)h(when)e(follo)m
+(retains)h(its)f(literal)150 2624 y(meaning)k(except)h(when)e(follo)m
(w)m(ed)j(b)m(y)e(`)p Fs($)p Ft(',)j(`)p Fs(`)p Ft(',)f(or)e(`)p
Fs(\\)p Ft('.)64 b(The)38 b(\014rst)f(bac)m(kquote)j(not)e(preceded)g
-(b)m(y)g(a)p eop end
-%%Page: 23 29
-TeXDict begin 23 28 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(23)150 299
-y(bac)m(kslash)41 b(terminates)g(the)f(command)g(substitution.)69
-b(When)40 b(using)g(the)g Fs($\()p Fi(command)11 b Fs(\))37
-b Ft(form,)42 b(all)150 408 y(c)m(haracters)32 b(b)s(et)m(w)m(een)f
-(the)f(paren)m(theses)h(mak)m(e)g(up)f(the)g(command;)h(none)f(are)h
-(treated)g(sp)s(ecially)-8 b(.)275 543 y(Command)22 b(substitutions)g
-(ma)m(y)i(b)s(e)e(nested.)39 b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)
-g(bac)m(kquoted)h(form,)g(escap)s(e)150 653 y(the)31
-b(inner)e(bac)m(kquotes)j(with)e(bac)m(kslashes.)275
-787 y(If)e(the)i(substitution)e(app)s(ears)h(within)g(double)f(quotes,)
-i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)150
-897 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
-1096 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 1243
+(b)m(y)g(a)150 2733 y(bac)m(kslash)j(terminates)g(the)f(command)g
+(substitution.)69 b(When)40 b(using)g(the)g Fs($\()p
+Fi(command)11 b Fs(\))37 b Ft(form,)42 b(all)150 2843
+y(c)m(haracters)32 b(b)s(et)m(w)m(een)f(the)f(paren)m(theses)h(mak)m(e)
+g(up)f(the)g(command;)h(none)f(are)h(treated)g(sp)s(ecially)-8
+b(.)275 2976 y(Command)22 b(substitutions)g(ma)m(y)i(b)s(e)e(nested.)39
+b(T)-8 b(o)23 b(nest)g(when)f(using)h(the)g(bac)m(kquoted)h(form,)g
+(escap)s(e)150 3086 y(the)31 b(inner)e(bac)m(kquotes)j(with)e(bac)m
+(kslashes.)275 3219 y(If)e(the)i(substitution)e(app)s(ears)h(within)g
+(double)f(quotes,)i(w)m(ord)f(splitting)h(and)f(\014lename)g(expansion)
+150 3329 y(are)i(not)f(p)s(erformed)f(on)h(the)h(results.)150
+3526 y Fj(3.5.5)63 b(Arithmetic)40 b(Expansion)150 3672
y Ft(Arithmetic)25 b(expansion)g(allo)m(ws)g(the)g(ev)-5
b(aluation)26 b(of)f(an)f(arithmetic)i(expression)e(and)g(the)g
-(substitution)150 1353 y(of)31 b(the)f(result.)41 b(The)30
-b(format)g(for)g(arithmetic)i(expansion)e(is:)390 1488
-y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 1622 y
+(substitution)150 3782 y(of)31 b(the)f(result.)41 b(The)30
+b(format)g(for)g(arithmetic)i(expansion)e(is:)390 3915
+y Fs($\(\()47 b Fi(expression)55 b Fs(\)\))275 4049 y
Ft(The)33 b(expression)g(is)h(treated)g(as)g(if)g(it)g(w)m(ere)g
(within)f(double)h(quotes,)h(but)e(a)h(double)f(quote)h(inside)150
-1732 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
+4158 y(the)27 b(paren)m(theses)g(is)g(not)g(treated)h(sp)s(ecially)-8
b(.)41 b(All)27 b(tok)m(ens)h(in)e(the)h(expression)g(undergo)f
-(parameter)h(ex-)150 1841 y(pansion,)h(command)f(substitution,)h(and)f
+(parameter)h(ex-)150 4268 y(pansion,)h(command)f(substitution,)h(and)f
(quote)i(remo)m(v)-5 b(al.)41 b(Arithmetic)28 b(expansions)g(ma)m(y)g
-(b)s(e)f(nested.)275 1976 y(The)34 b(ev)-5 b(aluation)37
+(b)s(e)f(nested.)275 4401 y(The)34 b(ev)-5 b(aluation)37
b(is)f(p)s(erformed)e(according)i(to)g(the)g(rules)f(listed)h(b)s(elo)m
-(w)g(\(see)g(Section)g(6.5)h([Shell)150 2086 y(Arithmetic],)32
-b(page)f(78\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5
+(w)g(\(see)g(Section)g(6.5)h([Shell)150 4511 y(Arithmetic],)32
+b(page)f(80\).)42 b(If)30 b(the)h(expression)f(is)g(in)m(v)-5
b(alid,)32 b(Bash)e(prin)m(ts)g(a)h(message)g(indicating)h(failure)150
-2195 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
-(ccurs.)150 2395 y Fj(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150
-2542 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s(orted)f(on)h(systems)
+4620 y(to)f(the)g(standard)e(error)h(and)g(no)g(substitution)g(o)s
+(ccurs.)150 4817 y Fj(3.5.6)63 b(Pro)s(cess)42 b(Substitution)150
+4964 y Ft(Pro)s(cess)i(substitution)g(is)g(supp)s(orted)f(on)h(systems)
g(that)h(supp)s(ort)d(named)i(pip)s(es)f(\()p Fl(fif)n(o)p
-Ft(s\))i(or)f(the)150 2651 y(`)p Fs(/dev/fd)p Ft(')29
+Ft(s\))i(or)f(the)150 5073 y(`)p Fs(/dev/fd)p Ft(')29
b(metho)s(d)h(of)g(naming)g(op)s(en)g(\014les.)41 b(It)30
-b(tak)m(es)i(the)f(form)f(of)390 2786 y Fs(<\()p Fi(list)11
-b Fs(\))150 2921 y Ft(or)390 3055 y Fs(>\()p Fi(list)g
-Fs(\))150 3190 y Ft(The)23 b(pro)s(cess)g Fq(list)j Ft(is)d(run)f(with)
-h(its)h(input)f(or)g(output)g(connected)h(to)h(a)e Fl(fif)n(o)g
-Ft(or)h(some)g(\014le)f(in)g(`)p Fs(/dev/fd)p Ft('.)150
-3300 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g(passed)f(as)h(an)f
-(argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)f(the)h(result)g
-(of)g(the)150 3409 y(expansion.)40 b(If)28 b(the)h Fs(>\()p
-Fi(list)11 b Fs(\))26 b Ft(form)h(is)i(used,)f(writing)h(to)g(the)f
-(\014le)h(will)g(pro)m(vide)f(input)g(for)g Fq(list)r
-Ft(.)41 b(If)28 b(the)150 3519 y Fs(<\()p Fi(list)11
+b(tak)m(es)i(the)f(form)f(of)390 5207 y Fs(<\()p Fi(list)11
+b Fs(\))150 5340 y Ft(or)p eop end
+%%Page: 25 31
+TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)390 299
+y Fs(>\()p Fi(list)11 b Fs(\))150 434 y Ft(The)23 b(pro)s(cess)g
+Fq(list)j Ft(is)d(run)f(with)h(its)h(input)f(or)g(output)g(connected)h
+(to)h(a)e Fl(fif)n(o)g Ft(or)h(some)g(\014le)f(in)g(`)p
+Fs(/dev/fd)p Ft('.)150 544 y(The)28 b(name)h(of)g(this)f(\014le)h(is)g
+(passed)f(as)h(an)f(argumen)m(t)h(to)h(the)f(curren)m(t)f(command)h(as)
+f(the)h(result)g(of)g(the)150 654 y(expansion.)40 b(If)28
+b(the)h Fs(>\()p Fi(list)11 b Fs(\))26 b Ft(form)h(is)i(used,)f
+(writing)h(to)g(the)f(\014le)h(will)g(pro)m(vide)f(input)g(for)g
+Fq(list)r Ft(.)41 b(If)28 b(the)150 763 y Fs(<\()p Fi(list)11
b Fs(\))23 b Ft(form)h(is)i(used,)f(the)h(\014le)f(passed)g(as)g(an)g
(argumen)m(t)h(should)e(b)s(e)h(read)g(to)h(obtain)g(the)f(output)g(of)
-150 3628 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g
+150 873 y Fq(list)r Ft(.)41 b(Note)31 b(that)f(no)f(space)h(ma)m(y)g
(app)s(ear)f(b)s(et)m(w)m(een)h(the)g Fs(<)f Ft(or)h
Fs(>)f Ft(and)g(the)g(left)h(paren)m(thesis,)h(otherwise)150
-3738 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
-(redirection.)275 3873 y(When)36 b(a)m(v)-5 b(ailable,)40
+982 y(the)g(construct)f(w)m(ould)g(b)s(e)g(in)m(terpreted)h(as)f(a)h
+(redirection.)275 1118 y(When)36 b(a)m(v)-5 b(ailable,)40
b(pro)s(cess)c(substitution)h(is)f(p)s(erformed)f(sim)m(ultaneously)i
-(with)g(parameter)g(and)150 3982 y(v)-5 b(ariable)31
+(with)g(parameter)g(and)150 1228 y(v)-5 b(ariable)31
b(expansion,)g(command)f(substitution,)g(and)g(arithmetic)i(expansion.)
-150 4182 y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
-4329 y Ft(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g
+150 1428 y Fj(3.5.7)63 b(W)-10 b(ord)41 b(Splitting)150
+1575 y Ft(The)30 b(shell)h(scans)g(the)g(results)f(of)h(parameter)g
(expansion,)g(command)g(substitution,)g(and)f(arithmetic)150
-4438 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h
-(quotes)h(for)f(w)m(ord)g(splitting.)275 4573 y(The)43
+1685 y(expansion)g(that)h(did)f(not)g(o)s(ccur)h(within)e(double)h
+(quotes)h(for)f(w)m(ord)g(splitting.)275 1820 y(The)43
b(shell)h(treats)h(eac)m(h)h(c)m(haracter)f(of)g Fs($IFS)e
Ft(as)h(a)g(delimiter,)49 b(and)43 b(splits)h(the)h(results)e(of)i(the)
-150 4682 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c)
+150 1930 y(other)40 b(expansions)f(in)m(to)i(w)m(ords)e(on)h(these)g(c)
m(haracters.)70 b(If)39 b Fs(IFS)g Ft(is)h(unset,)i(or)d(its)h(v)-5
-b(alue)40 b(is)g(exactly)150 4792 y Fs(<space><tab><newline>)p
+b(alue)40 b(is)g(exactly)150 2039 y Fs(<space><tab><newline>)p
Ft(,)26 b(the)32 b(default,)g(then)f(sequences)h(of)62
b Fs(<space>)p Ft(,)30 b Fs(<tab>)p Ft(,)h(and)f Fs(<newline>)150
-4902 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f
+2149 y Ft(at)39 b(the)f(b)s(eginning)g(and)f(end)h(of)g(the)h(results)f
(of)g(the)g(previous)g(expansions)g(are)g(ignored,)j(and)d(an)m(y)150
-5011 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g
+2258 y(sequence)31 b(of)g Fs(IFS)f Ft(c)m(haracters)j(not)e(at)g(the)g
(b)s(eginning)g(or)f(end)h(serv)m(es)g(to)h(delimit)f(w)m(ords.)42
-b(If)30 b Fs(IFS)g Ft(has)150 5121 y(a)g(v)-5 b(alue)30
+b(If)30 b Fs(IFS)g Ft(has)150 2368 y(a)g(v)-5 b(alue)30
b(other)g(than)g(the)g(default,)g(then)f(sequences)h(of)g(the)g
(whitespace)g(c)m(haracters)h Fs(space)e Ft(and)g Fs(tab)150
-5230 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h
+2478 y Ft(are)36 b(ignored)g(at)g(the)g(b)s(eginning)f(and)g(end)g(of)h
(the)g(w)m(ord,)h(as)f(long)g(as)g(the)g(whitespace)h(c)m(haracter)g
-(is)150 5340 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f
+(is)150 2587 y(in)f(the)g(v)-5 b(alue)36 b(of)g Fs(IFS)f
Ft(\(an)h Fs(IFS)f Ft(whitespace)h(c)m(haracter\).)60
b(An)m(y)35 b(c)m(haracter)j(in)d Fs(IFS)g Ft(that)i(is)f(not)g
-Fs(IFS)p eop end
-%%Page: 24 30
-TeXDict begin 24 29 bop 150 -116 a Ft(24)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(whitespace,)c(along)f(with)f(an)m(y)g
-(adjacen)m(t)h Fs(IFS)e Ft(whitespace)i(c)m(haracters,)i(delimits)e(a)f
-(\014eld.)38 b(A)26 b(sequence)150 408 y(of)35 b Fs(IFS)f
-Ft(whitespace)h(c)m(haracters)i(is)d(also)i(treated)g(as)f(a)g
-(delimiter.)55 b(If)34 b(the)h(v)-5 b(alue)35 b(of)g
-Fs(IFS)f Ft(is)h(n)m(ull,)h(no)150 518 y(w)m(ord)30 b(splitting)h(o)s
-(ccurs.)275 648 y(Explicit)44 b(n)m(ull)f(argumen)m(ts)g(\()p
-Fs("")g Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80 b(Unquoted)43
-b(implicit)h(n)m(ull)f(argumen)m(ts,)150 758 y(resulting)24
+Fs(IFS)150 2697 y Ft(whitespace,)27 b(along)f(with)f(an)m(y)g(adjacen)m
+(t)h Fs(IFS)e Ft(whitespace)i(c)m(haracters,)i(delimits)e(a)f(\014eld.)
+38 b(A)26 b(sequence)150 2806 y(of)35 b Fs(IFS)f Ft(whitespace)h(c)m
+(haracters)i(is)d(also)i(treated)g(as)f(a)g(delimiter.)55
+b(If)34 b(the)h(v)-5 b(alue)35 b(of)g Fs(IFS)f Ft(is)h(n)m(ull,)h(no)
+150 2916 y(w)m(ord)30 b(splitting)h(o)s(ccurs.)275 3052
+y(Explicit)44 b(n)m(ull)f(argumen)m(ts)g(\()p Fs("")g
+Ft(or)h Fs('')p Ft(\))f(are)g(retained.)80 b(Unquoted)43
+b(implicit)h(n)m(ull)f(argumen)m(ts,)150 3161 y(resulting)24
b(from)f(the)g(expansion)g(of)h(parameters)g(that)g(ha)m(v)m(e)h(no)e
(v)-5 b(alues,)25 b(are)f(remo)m(v)m(ed.)40 b(If)23 b(a)g(parameter)150
-867 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)g
-(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.)
-275 997 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h
-(splitting)g(is)f(p)s(erformed.)150 1187 y Fj(3.5.8)63
-b(Filename)41 b(Expansion)150 1334 y Ft(After)26 b(w)m(ord)g
+3271 y(with)30 b(no)g(v)-5 b(alue)31 b(is)g(expanded)e(within)h(double)
+g(quotes,)h(a)g(n)m(ull)f(argumen)m(t)h(results)f(and)g(is)g(retained.)
+275 3406 y(Note)h(that)g(if)g(no)f(expansion)g(o)s(ccurs,)g(no)h
+(splitting)g(is)f(p)s(erformed.)150 3607 y Fj(3.5.8)63
+b(Filename)41 b(Expansion)150 3754 y Ft(After)26 b(w)m(ord)g
(splitting,)i(unless)d(the)i(`)p Fs(-f)p Ft(')f(option)g(has)g(b)s(een)
f(set)i(\(see)g(Section)g(4.3.1)h([The)e(Set)g(Builtin],)150
-1444 y(page)h(51\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
+3863 y(page)h(54\),)i(Bash)d(scans)h(eac)m(h)h(w)m(ord)e(for)g(the)h(c)
m(haracters)g(`)p Fs(*)p Ft(',)h(`)p Fs(?)p Ft(',)g(and)e(`)p
Fs([)p Ft('.)39 b(If)26 b(one)h(of)g(these)f(c)m(haracters)150
-1553 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g
+3973 y(app)s(ears,)h(then)f(the)h(w)m(ord)f(is)h(regarded)g(as)g(a)g
Fq(pattern)p Ft(,)g(and)g(replaced)g(with)f(an)h(alphab)s(etically)h
-(sorted)150 1663 y(list)k(of)g(\014le)g(names)g(matc)m(hing)h(the)f
+(sorted)150 4082 y(list)k(of)g(\014le)g(names)g(matc)m(hing)h(the)f
(pattern.)45 b(If)32 b(no)f(matc)m(hing)i(\014le)f(names)g(are)g
-(found,)f(and)h(the)g(shell)150 1772 y(option)c Fs(nullglob)e
+(found,)f(and)h(the)g(shell)150 4192 y(option)c Fs(nullglob)e
Ft(is)i(disabled,)h(the)f(w)m(ord)g(is)g(left)g(unc)m(hanged.)40
b(If)28 b(the)g Fs(nullglob)e Ft(option)i(is)g(set,)i(and)150
-1882 y(no)38 b(matc)m(hes)h(are)f(found,)h(the)f(w)m(ord)f(is)h(remo)m
+4302 y(no)38 b(matc)m(hes)h(are)f(found,)h(the)f(w)m(ord)f(is)h(remo)m
(v)m(ed.)65 b(If)37 b(the)h Fs(failglob)e Ft(shell)i(option)g(is)g
-(set,)j(and)c(no)150 1991 y(matc)m(hes)f(are)g(found,)f(an)g(error)f
+(set,)j(and)c(no)150 4411 y(matc)m(hes)f(are)g(found,)f(an)g(error)f
(message)j(is)e(prin)m(ted)f(and)h(the)g(command)g(is)g(not)g
-(executed.)56 b(If)35 b(the)150 2101 y(shell)e(option)h
+(executed.)56 b(If)35 b(the)150 4521 y(shell)e(option)h
Fs(nocaseglob)c Ft(is)j(enabled,)h(the)g(matc)m(h)g(is)f(p)s(erformed)e
-(without)i(regard)g(to)h(the)g(case)g(of)150 2211 y(alphab)s(etic)d(c)m
-(haracters.)275 2341 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g
+(without)i(regard)g(to)h(the)g(case)g(of)150 4630 y(alphab)s(etic)d(c)m
+(haracters.)275 4766 y(When)23 b(a)h(pattern)f(is)h(used)f(for)g
(\014lename)h(expansion,)h(the)e(c)m(haracter)i(`)p Fs(.)p
-Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 2450
+Ft(')f(at)g(the)g(start)g(of)g(a)g(\014lename)150 4876
y(or)f(immediately)i(follo)m(wing)g(a)f(slash)f(m)m(ust)h(b)s(e)f(matc)
m(hed)h(explicitly)-8 b(,)27 b(unless)c(the)g(shell)h(option)g
-Fs(dotglob)150 2560 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g
+Fs(dotglob)150 4985 y Ft(is)31 b(set.)45 b(When)31 b(matc)m(hing)h(a)g
(\014le)f(name,)h(the)g(slash)f(c)m(haracter)i(m)m(ust)e(alw)m(a)m(ys)i
-(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 2669 y(In)30
+(b)s(e)e(matc)m(hed)h(explicitly)-8 b(.)150 5095 y(In)30
b(other)g(cases,)i(the)e(`)p Fs(.)p Ft(')h(c)m(haracter)h(is)e(not)h
-(treated)g(sp)s(ecially)-8 b(.)275 2799 y(See)28 b(the)g(description)g
+(treated)g(sp)s(ecially)-8 b(.)275 5230 y(See)28 b(the)g(description)g
(of)g Fs(shopt)e Ft(in)i(Section)g(4.3.2)i([The)e(Shopt)f(Builtin],)i
-(page)g(55,)g(for)f(a)g(descrip-)150 2909 y(tion)j(of)f(the)h
+(page)g(57,)g(for)f(a)g(descrip-)150 5340 y(tion)j(of)f(the)h
Fs(nocaseglob)p Ft(,)d Fs(nullglob)p Ft(,)g Fs(failglob)p
-Ft(,)h(and)g Fs(dotglob)g Ft(options.)275 3039 y(The)j
-Fs(GLOBIGNORE)f Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f
-(to)i(restrict)g(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150
-3148 y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g
-(matc)m(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
-(patterns)150 3258 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
+Ft(,)h(and)g Fs(dotglob)g Ft(options.)p eop end
+%%Page: 26 32
+TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31
+b(Reference)g(Man)m(ual)275 299 y(The)h Fs(GLOBIGNORE)f
+Ft(shell)i(v)-5 b(ariable)34 b(ma)m(y)g(b)s(e)f(used)f(to)i(restrict)g
+(the)g(set)f(of)h(\014lenames)f(matc)m(hing)i(a)150 408
+y(pattern.)k(If)25 b Fs(GLOBIGNORE)e Ft(is)j(set,)h(eac)m(h)g(matc)m
+(hing)g(\014lename)f(that)g(also)h(matc)m(hes)f(one)g(of)g(the)g
+(patterns)150 518 y(in)33 b Fs(GLOBIGNORE)d Ft(is)j(remo)m(v)m(ed)h
(from)e(the)i(list)f(of)g(matc)m(hes.)50 b(The)33 b(\014lenames)g(`)p
Fs(.)p Ft(')g(and)f(`)p Fs(..)p Ft(')h(are)g(alw)m(a)m(ys)150
-3367 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
+628 y(ignored)g(when)e Fs(GLOBIGNORE)f Ft(is)j(set)g(and)f(not)h(n)m
(ull.)48 b(Ho)m(w)m(ev)m(er,)35 b(setting)f Fs(GLOBIGNORE)c
-Ft(to)j(a)g(non-n)m(ull)150 3477 y(v)-5 b(alue)34 b(has)f(the)h
+Ft(to)j(a)g(non-n)m(ull)150 737 y(v)-5 b(alue)34 b(has)f(the)h
(e\013ect)h(of)f(enabling)g(the)g Fs(dotglob)e Ft(shell)h(option,)j(so)
-e(all)g(other)g(\014lenames)g(b)s(eginning)150 3587 y(with)43
+e(all)g(other)g(\014lenames)g(b)s(eginning)150 847 y(with)43
b(a)h(`)p Fs(.)p Ft(')f(will)h(matc)m(h.)80 b(T)-8 b(o)44
b(get)h(the)e(old)h(b)s(eha)m(vior)f(of)h(ignoring)f(\014lenames)h(b)s
-(eginning)f(with)g(a)150 3696 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
+(eginning)f(with)g(a)150 956 y(`)p Fs(.)p Ft(',)c(mak)m(e)g(`)p
Fs(.*)p Ft(')e(one)g(of)g(the)h(patterns)f(in)g Fs(GLOBIGNORE)p
Ft(.)58 b(The)37 b Fs(dotglob)e Ft(option)j(is)f(disabled)g(when)150
-3806 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 3996 y Fj(3.5.8.1)63
-b(P)m(attern)40 b(Matc)m(hing)150 4143 y Ft(An)m(y)24
+1066 y Fs(GLOBIGNORE)28 b Ft(is)i(unset.)150 1251 y Fj(3.5.8.1)63
+b(P)m(attern)40 b(Matc)m(hing)150 1398 y Ft(An)m(y)24
b(c)m(haracter)h(that)f(app)s(ears)f(in)g(a)h(pattern,)i(other)e(than)f
(the)h(sp)s(ecial)g(pattern)g(c)m(haracters)h(describ)s(ed)150
-4252 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 b(The)29
+1508 y(b)s(elo)m(w,)31 b(matc)m(hes)g(itself.)42 b(The)29
b Fl(nul)h Ft(c)m(haracter)i(ma)m(y)e(not)h(o)s(ccur)f(in)g(a)h
-(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150 4362
+(pattern.)40 b(A)31 b(bac)m(kslash)g(escap)s(es)150 1618
y(the)38 b(follo)m(wing)g(c)m(haracter;)43 b(the)37 b(escaping)i(bac)m
(kslash)e(is)h(discarded)f(when)f(matc)m(hing.)63 b(The)36
-b(sp)s(ecial)150 4471 y(pattern)30 b(c)m(haracters)i(m)m(ust)f(b)s(e)e
+b(sp)s(ecial)150 1727 y(pattern)30 b(c)m(haracters)i(m)m(ust)f(b)s(e)e
(quoted)i(if)f(they)h(are)f(to)i(b)s(e)d(matc)m(hed)i(literally)-8
-b(.)275 4601 y(The)29 b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m
-(e)f(the)g(follo)m(wing)h(meanings:)150 4751 y Fs(*)432
+b(.)275 1855 y(The)29 b(sp)s(ecial)i(pattern)g(c)m(haracters)h(ha)m(v)m
+(e)f(the)g(follo)m(wing)h(meanings:)150 2000 y Fs(*)432
b Ft(Matc)m(hes)31 b(an)m(y)e(string,)h(including)f(the)g(n)m(ull)g
(string.)41 b(When)29 b(the)g Fs(globstar)e Ft(shell)i(option)630
-4861 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h
+2110 y(is)37 b(enabled,)h(and)e(`)p Fs(*)p Ft(')h(is)g(used)f(in)g(a)h
(\014lename)g(expansion)g(con)m(text,)j(t)m(w)m(o)e(adjacen)m(t)g(`)p
-Fs(*)p Ft('s)630 4971 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
+Fs(*)p Ft('s)630 2219 y(used)f(as)g(a)h(single)g(pattern)g(will)f(matc)
m(h)i(all)f(\014les)f(and)g(zero)h(or)g(more)f(directories)i(and)630
-5080 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
+2329 y(sub)s(directories.)g(If)25 b(follo)m(w)m(ed)j(b)m(y)e(a)g(`)p
Fs(/)p Ft(',)h(t)m(w)m(o)g(adjacen)m(t)h(`)p Fs(*)p Ft('s)e(will)g
-(matc)m(h)h(only)f(directories)630 5190 y(and)k(sub)s(directories.)150
-5340 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)p
-eop end
-%%Page: 25 31
-TeXDict begin 25 30 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(25)150 299
-y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g(the)g
-(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)i
-(separated)e(b)m(y)g(a)630 408 y(h)m(yphen)i(denotes)h(a)g
+(matc)m(h)h(only)f(directories)630 2439 y(and)k(sub)s(directories.)150
+2584 y Fs(?)432 b Ft(Matc)m(hes)32 b(an)m(y)f(single)g(c)m(haracter.)
+150 2730 y Fs([...)o(])241 b Ft(Matc)m(hes)27 b(an)m(y)e(one)g(of)g
+(the)g(enclosed)g(c)m(haracters.)41 b(A)25 b(pair)f(of)h(c)m(haracters)
+i(separated)e(b)m(y)g(a)630 2839 y(h)m(yphen)i(denotes)h(a)g
Fq(range)g(expression)p Ft(;)g(an)m(y)h(c)m(haracter)g(that)f(sorts)g
-(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 518 y(c)m(haracters,)f
+(b)s(et)m(w)m(een)g(those)h(t)m(w)m(o)630 2949 y(c)m(haracters,)f
(inclusiv)m(e,)f(using)d(the)h(curren)m(t)f(lo)s(cale's)j(collating)g
-(sequence)e(and)f(c)m(haracter)630 628 y(set,)31 b(is)f(matc)m(hed.)42
+(sequence)e(and)f(c)m(haracter)630 3058 y(set,)31 b(is)f(matc)m(hed.)42
b(If)30 b(the)g(\014rst)g(c)m(haracter)i(follo)m(wing)g(the)e(`)p
Fs([)p Ft(')h(is)f(a)h(`)p Fs(!)p Ft(')f(or)g(a)h(`)p
-Fs(^)p Ft(')g(then)f(an)m(y)630 737 y(c)m(haracter)c(not)f(enclosed)g
+Fs(^)p Ft(')g(then)f(an)m(y)630 3168 y(c)m(haracter)c(not)f(enclosed)g
(is)g(matc)m(hed.)40 b(A)25 b(`)p Fp(\000)p Ft(')f(ma)m(y)i(b)s(e)e
-(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 847
+(matc)m(hed)h(b)m(y)f(including)h(it)g(as)g(the)630 3278
y(\014rst)32 b(or)h(last)h(c)m(haracter)h(in)e(the)g(set.)50
b(A)33 b(`)p Fs(])p Ft(')g(ma)m(y)h(b)s(e)e(matc)m(hed)i(b)m(y)f
-(including)g(it)g(as)h(the)630 956 y(\014rst)25 b(c)m(haracter)i(in)e
+(including)g(it)g(as)h(the)630 3387 y(\014rst)25 b(c)m(haracter)i(in)e
(the)h(set.)40 b(The)25 b(sorting)h(order)f(of)h(c)m(haracters)h(in)f
-(range)g(expressions)f(is)630 1066 y(determined)e(b)m(y)g(the)g(curren)
+(range)g(expressions)f(is)630 3497 y(determined)e(b)m(y)g(the)g(curren)
m(t)f(lo)s(cale)j(and)e(the)g(v)-5 b(alue)23 b(of)g(the)h
-Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 1176 y(if)30
-b(set.)630 1309 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f
+Fs(LC_COLLATE)c Ft(shell)j(v)-5 b(ariable,)630 3606 y(if)30
+b(set.)630 3734 y(F)-8 b(or)34 b(example,)g(in)f(the)g(default)g(C)f
(lo)s(cale,)k(`)p Fs([a-dx-z])p Ft(')31 b(is)i(equiv)-5
-b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 1418
+b(alen)m(t)34 b(to)g(`)p Fs([abcdxyz])p Ft('.)630 3843
y(Man)m(y)68 b(lo)s(cales)h(sort)f(c)m(haracters)h(in)e(dictionary)i
-(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 1528
+(order,)76 b(and)67 b(in)g(these)h(lo)s(cales)630 3953
y(`)p Fs([a-dx-z])p Ft(')36 b(is)i(t)m(ypically)i(not)e(equiv)-5
b(alen)m(t)39 b(to)g(`)p Fs([abcdxyz])p Ft(';)g(it)g(migh)m(t)f(b)s(e)f
-(equiv)-5 b(alen)m(t)630 1637 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p
+(equiv)-5 b(alen)m(t)630 4063 y(to)34 b(`)p Fs([aBbCcDdxXyYz])p
Ft(',)c(for)j(example.)49 b(T)-8 b(o)33 b(obtain)h(the)f(traditional)h
-(in)m(terpretation)h(of)630 1747 y(ranges)e(in)f(brac)m(k)m(et)i
+(in)m(terpretation)h(of)630 4172 y(ranges)e(in)f(brac)m(k)m(et)i
(expressions,)g(y)m(ou)f(can)g(force)g(the)g(use)f(of)h(the)g(C)f(lo)s
-(cale)i(b)m(y)f(setting)630 1857 y(the)e Fs(LC_COLLATE)c
+(cale)i(b)m(y)f(setting)630 4282 y(the)e Fs(LC_COLLATE)c
Ft(or)k Fs(LC_ALL)d Ft(en)m(vironmen)m(t)j(v)-5 b(ariable)31
-b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 1990
+b(to)g(the)g(v)-5 b(alue)31 b(`)p Fs(C)p Ft('.)630 4409
y(Within)23 b(`)p Fs([)p Ft(')h(and)e(`)p Fs(])p Ft(',)j
Fq(c)m(haracter)g(classes)j Ft(can)c(b)s(e)e(sp)s(eci\014ed)h(using)f
(the)i(syn)m(tax)f Fs([:)p Fq(class)t Fs(:])p Ft(,)630
-2099 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m
+4519 y(where)30 b Fq(class)35 b Ft(is)30 b(one)h(of)f(the)h(follo)m
(wing)h(classes)f(de\014ned)e(in)h(the)h Fl(posix)f Ft(standard:)870
-2233 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g
-(lower)870 2342 y(print)g(punct)g(space)f(upper)h(word)190
-b(xdigit)630 2475 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m
+4647 y Fs(alnum)142 b(alpha)g(ascii)f(blank)h(cntrl)g(digit)g(graph)g
+(lower)870 4756 y(print)g(punct)g(space)f(upper)h(word)190
+b(xdigit)630 4884 y Ft(A)42 b(c)m(haracter)h(class)f(matc)m(hes)h(an)m
(y)f(c)m(haracter)h(b)s(elonging)f(to)g(that)g(class.)75
-b(The)41 b Fs(word)630 2585 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h
+b(The)41 b Fs(word)630 4993 y Ft(c)m(haracter)32 b(class)f(matc)m(hes)h
(letters,)f(digits,)h(and)d(the)i(c)m(haracter)h(`)p
-Fs(_)p Ft('.)630 2718 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p
+Fs(_)p Ft('.)630 5121 y(Within)25 b(`)p Fs([)p Ft(')f(and)g(`)p
Fs(])p Ft(',)i(an)e Fq(equiv)-5 b(alence)26 b(class)j
Ft(can)24 b(b)s(e)g(sp)s(eci\014ed)g(using)g(the)g(syn)m(tax)h
-Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 2828 y(whic)m(h)29
+Fs([=)p Fq(c)6 b Fs(=])p Ft(,)630 5230 y(whic)m(h)29
b(matc)m(hes)i(all)f(c)m(haracters)h(with)e(the)h(same)g(collation)h(w)
-m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 2937
+m(eigh)m(t)g(\(as)f(de\014ned)e(b)m(y)i(the)630 5340
y(curren)m(t)g(lo)s(cale\))j(as)d(the)h(c)m(haracter)h
-Fq(c)6 b Ft(.)630 3070 y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p
-Fs(])p Ft(',)j(the)f(syn)m(tax)f Fs([.)p Fq(sym)m(b)s(ol)t
-Fs(.])f Ft(matc)m(hes)i(the)f(collating)j(sym)m(b)s(ol)c
-Fq(sym)m(b)s(ol)t Ft(.)275 3227 y(If)29 b(the)g Fs(extglob)f
-Ft(shell)h(option)h(is)g(enabled)f(using)g(the)h Fs(shopt)e
-Ft(builtin,)h(sev)m(eral)i(extended)f(pattern)150 3336
-y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58
+Fq(c)6 b Ft(.)p eop end
+%%Page: 27 33
+TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)630 299
+y(Within)21 b(`)p Fs([)p Ft(')h(and)e(`)p Fs(])p Ft(',)j(the)f(syn)m
+(tax)f Fs([.)p Fq(sym)m(b)s(ol)t Fs(.])f Ft(matc)m(hes)i(the)f
+(collating)j(sym)m(b)s(ol)c Fq(sym)m(b)s(ol)t Ft(.)275
+450 y(If)29 b(the)g Fs(extglob)f Ft(shell)h(option)h(is)g(enabled)f
+(using)g(the)h Fs(shopt)e Ft(builtin,)h(sev)m(eral)i(extended)f
+(pattern)150 560 y(matc)m(hing)37 b(op)s(erators)e(are)h(recognized.)58
b(In)35 b(the)g(follo)m(wing)i(description,)g(a)f Fq(pattern-list)j
-Ft(is)d(a)g(list)g(of)150 3446 y(one)d(or)f(more)h(patterns)f
-(separated)h(b)m(y)f(a)h(`)p Fs(|)p Ft('.)47 b(Comp)s(osite)33
-b(patterns)f(ma)m(y)i(b)s(e)d(formed)h(using)g(one)h(or)150
-3556 y(more)e(of)f(the)h(follo)m(wing)g(sub-patterns:)150
-3712 y Fs(?\()p Fi(pattern-list)11 b Fs(\))630 3822 y
-Ft(Matc)m(hes)32 b(zero)f(or)g(one)f(o)s(ccurrence)h(of)f(the)h(giv)m
-(en)g(patterns.)150 3979 y Fs(*\()p Fi(pattern-list)11
-b Fs(\))630 4088 y Ft(Matc)m(hes)32 b(zero)f(or)g(more)f(o)s
-(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)150 4245
-y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 4354 y Ft(Matc)m(hes)32
-b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)m(en)i(patterns.)
-150 4511 y Fs(@\()p Fi(pattern-list)11 b Fs(\))630 4621
-y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g(patterns.)150
-4777 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630 4887 y
-Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m(en)g
-(patterns.)150 5083 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
-b(al)150 5230 y Ft(After)32 b(the)g(preceding)g(expansions,)h(all)f
+Ft(is)d(a)g(list)g(of)150 669 y(one)d(or)f(more)h(patterns)f(separated)
+h(b)m(y)f(a)h(`)p Fs(|)p Ft('.)47 b(Comp)s(osite)33 b(patterns)f(ma)m
+(y)i(b)s(e)d(formed)h(using)g(one)h(or)150 779 y(more)e(of)f(the)h
+(follo)m(wing)g(sub-patterns:)150 930 y Fs(?\()p Fi(pattern-list)11
+b Fs(\))630 1040 y Ft(Matc)m(hes)32 b(zero)f(or)g(one)f(o)s(ccurrence)h
+(of)f(the)h(giv)m(en)g(patterns.)150 1191 y Fs(*\()p
+Fi(pattern-list)11 b Fs(\))630 1300 y Ft(Matc)m(hes)32
+b(zero)f(or)g(more)f(o)s(ccurrences)h(of)f(the)h(giv)m(en)g(patterns.)
+150 1452 y Fs(+\()p Fi(pattern-list)11 b Fs(\))630 1561
+y Ft(Matc)m(hes)32 b(one)f(or)f(more)h(o)s(ccurrences)f(of)h(the)f(giv)
+m(en)i(patterns.)150 1712 y Fs(@\()p Fi(pattern-list)11
+b Fs(\))630 1822 y Ft(Matc)m(hes)32 b(one)f(of)f(the)h(giv)m(en)g
+(patterns.)150 1973 y Fs(!\()p Fi(pattern-list)11 b Fs(\))630
+2083 y Ft(Matc)m(hes)32 b(an)m(ything)f(except)g(one)g(of)f(the)h(giv)m
+(en)g(patterns.)150 2274 y Fj(3.5.9)63 b(Quote)41 b(Remo)m(v)-7
+b(al)150 2421 y Ft(After)32 b(the)g(preceding)g(expansions,)h(all)f
(unquoted)f(o)s(ccurrences)h(of)g(the)h(c)m(haracters)g(`)p
Fs(\\)p Ft(',)g(`)p Fs(')p Ft(',)f(and)g(`)p Fs(")p Ft(')150
-5340 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m
-(e)i(expansions)e(are)h(remo)m(v)m(ed.)p eop end
-%%Page: 26 32
-TeXDict begin 26 31 bop 150 -116 a Ft(26)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fr(3.6)68 b(Redirections)150
-458 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j(its)d(input)f(and)g
-(output)g(ma)m(y)i(b)s(e)e Fq(redirected)k Ft(using)c(a)h(sp)s(ecial)
-150 568 y(notation)33 b(in)m(terpreted)g(b)m(y)f(the)g(shell.)46
-b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f(to)i(op)s(en)e(and)h
-(close)h(\014les)f(for)150 677 y(the)h(curren)m(t)g(shell)g(execution)h
-(en)m(vironmen)m(t.)49 b(The)33 b(follo)m(wing)h(redirection)g(op)s
-(erators)f(ma)m(y)h(precede)150 787 y(or)29 b(app)s(ear)g(an)m(ywhere)g
-(within)g(a)h(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g
-(command.)40 b(Redirections)31 b(are)150 897 y(pro)s(cessed)f(in)g(the)
-g(order)g(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275
-1048 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b)
+2530 y(that)f(did)f(not)g(result)g(from)g(one)h(of)g(the)f(ab)s(o)m(v)m
+(e)i(expansions)e(are)h(remo)m(v)m(ed.)150 2754 y Fr(3.6)68
+b(Redirections)150 2914 y Ft(Before)43 b(a)f(command)f(is)h(executed,)j
+(its)d(input)f(and)g(output)g(ma)m(y)i(b)s(e)e Fq(redirected)k
+Ft(using)c(a)h(sp)s(ecial)150 3023 y(notation)33 b(in)m(terpreted)g(b)m
+(y)f(the)g(shell.)46 b(Redirection)33 b(ma)m(y)g(also)g(b)s(e)f(used)f
+(to)i(op)s(en)e(and)h(close)h(\014les)f(for)150 3133
+y(the)h(curren)m(t)g(shell)g(execution)h(en)m(vironmen)m(t.)49
+b(The)33 b(follo)m(wing)h(redirection)g(op)s(erators)f(ma)m(y)h
+(precede)150 3243 y(or)29 b(app)s(ear)g(an)m(ywhere)g(within)g(a)h
+(simple)f(command)g(or)h(ma)m(y)g(follo)m(w)g(a)g(command.)40
+b(Redirections)31 b(are)150 3352 y(pro)s(cessed)f(in)g(the)g(order)g
+(they)h(app)s(ear,)f(from)g(left)h(to)g(righ)m(t.)275
+3483 y(Eac)m(h)45 b(redirection)h(that)f(ma)m(y)h(b)s(e)e(preceded)g(b)
m(y)h(a)h(\014le)f(descriptor)f(n)m(um)m(b)s(er)g(ma)m(y)h(instead)h(b)
-s(e)150 1158 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g
+s(e)150 3592 y(preceded)41 b(b)m(y)g(a)g(w)m(ord)g(of)g(the)g(form)g
Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(.)72 b(In)40 b(this)h(case,)k
-(for)c(eac)m(h)h(redirection)g(op)s(erator)150 1267 y(except)30
+(for)c(eac)m(h)h(redirection)g(op)s(erator)150 3702 y(except)30
b Fs(>)p Ft(&-)f(and)f Fs(<)p Ft(&-,)h(the)g(shell)g(will)h(allo)s
(cate)h(a)e(\014le)h(descriptor)e(greater)j(than)d(10)i(and)e(assign)i
-(it)f(to)150 1377 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p
+(it)f(to)150 3811 y Fs({)p Fq(v)-5 b(arname)5 b Fs(})p
Ft(.)42 b(If)31 b Fs(>)p Ft(&-)f(or)h Fs(<)p Ft(&-)g(is)g(preceded)g(b)
m(y)g Fs({)p Fq(v)-5 b(arname)5 b Fs(})p Ft(,)31 b(the)g(v)-5
b(alue)31 b(of)g Fq(v)-5 b(arname)37 b Ft(de\014nes)30
-b(the)h(\014le)150 1486 y(descriptor)f(to)h(close.)275
-1638 y(In)c(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g
+b(the)h(\014le)150 3921 y(descriptor)f(to)h(close.)275
+4051 y(In)c(the)i(follo)m(wing)h(descriptions,)g(if)e(the)h(\014le)g
(descriptor)f(n)m(um)m(b)s(er)g(is)g(omitted,)i(and)f(the)f(\014rst)g
-(c)m(har-)150 1747 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
+(c)m(har-)150 4161 y(acter)42 b(of)f(the)g(redirection)g(op)s(erator)g
(is)g(`)p Fs(<)p Ft(',)i(the)e(redirection)g(refers)g(to)g(the)g
-(standard)f(input)f(\(\014le)150 1857 y(descriptor)33
+(standard)f(input)f(\(\014le)150 4271 y(descriptor)33
b(0\).)49 b(If)33 b(the)g(\014rst)f(c)m(haracter)i(of)g(the)f
(redirection)g(op)s(erator)h(is)f(`)p Fs(>)p Ft(',)h(the)f(redirection)
-g(refers)150 1966 y(to)e(the)g(standard)e(output)h(\(\014le)h
-(descriptor)f(1\).)275 2118 y(The)h(w)m(ord)h(follo)m(wing)i(the)f
+g(refers)150 4380 y(to)e(the)g(standard)e(output)h(\(\014le)h
+(descriptor)f(1\).)275 4510 y(The)h(w)m(ord)h(follo)m(wing)i(the)f
(redirection)g(op)s(erator)f(in)g(the)h(follo)m(wing)h(descriptions,)f
-(unless)e(other-)150 2227 y(wise)21 b(noted,)i(is)e(sub)5
+(unless)e(other-)150 4620 y(wise)21 b(noted,)i(is)e(sub)5
b(jected)21 b(to)h(brace)f(expansion,)i(tilde)f(expansion,)h(parameter)
-e(expansion,)i(command)150 2337 y(substitution,)31 b(arithmetic)h
+e(expansion,)i(command)150 4730 y(substitution,)31 b(arithmetic)h
(expansion,)f(quote)h(remo)m(v)-5 b(al,)33 b(\014lename)e(expansion,)g
-(and)f(w)m(ord)h(splitting.)150 2447 y(If)f(it)h(expands)e(to)i(more)g
+(and)f(w)m(ord)h(splitting.)150 4839 y(If)f(it)h(expands)e(to)i(more)g
(than)f(one)h(w)m(ord,)f(Bash)h(rep)s(orts)e(an)h(error.)275
-2598 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g
+4970 y(Note)h(that)g(the)g(order)f(of)g(redirections)h(is)g
(signi\014can)m(t.)41 b(F)-8 b(or)31 b(example,)h(the)e(command)390
-2749 y Fs(ls)47 b(>)h Fi(dirlist)56 b Fs(2>&1)150 2901
+5100 y Fs(ls)47 b(>)h Fi(dirlist)56 b Fs(2>&1)150 5230
y Ft(directs)28 b(b)s(oth)f(standard)g(output)g(\(\014le)h(descriptor)f
(1\))i(and)e(standard)f(error)i(\(\014le)g(descriptor)f(2\))h(to)h(the)
-150 3010 y(\014le)h Fq(dirlist)r Ft(,)h(while)f(the)h(command)390
-3161 y Fs(ls)47 b(2>&1)g(>)g Fi(dirlist)150 3313 y Ft(directs)28
-b(only)f(the)g(standard)g(output)g(to)h(\014le)f Fq(dirlist)r
-Ft(,)h(b)s(ecause)g(the)f(standard)g(error)g(w)m(as)g(made)h(a)f(cop)m
-(y)150 3422 y(of)k(the)f(standard)g(output)g(b)s(efore)g(the)g
-(standard)g(output)g(w)m(as)g(redirected)h(to)g Fq(dirlist)r
-Ft(.)275 3574 y(Bash)26 b(handles)f(sev)m(eral)j(\014lenames)e(sp)s
-(ecially)h(when)f(they)g(are)g(used)g(in)g(redirections,)i(as)e
-(describ)s(ed)150 3683 y(in)k(the)h(follo)m(wing)g(table:)150
-3868 y Fs(/dev/fd/)p Fi(fd)630 3977 y Ft(If)f Fq(fd)j
-Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)h
-Fq(fd)i Ft(is)d(duplicated.)150 4154 y Fs(/dev/stdin)630
-4263 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150
-4440 y Fs(/dev/stdout)630 4549 y Ft(File)i(descriptor)e(1)h(is)f
-(duplicated.)150 4725 y Fs(/dev/stderr)630 4835 y Ft(File)i(descriptor)
-e(2)h(is)f(duplicated.)150 5011 y Fs(/dev/tcp/)p Fi(host)11
-b Fs(/)p Fi(port)630 5121 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
+150 5340 y(\014le)h Fq(dirlist)r Ft(,)h(while)f(the)h(command)p
+eop end
+%%Page: 28 34
+TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31
+b(Reference)g(Man)m(ual)390 299 y Fs(ls)47 b(2>&1)g(>)g
+Fi(dirlist)150 428 y Ft(directs)28 b(only)f(the)g(standard)g(output)g
+(to)h(\014le)f Fq(dirlist)r Ft(,)h(b)s(ecause)g(the)f(standard)g(error)
+g(w)m(as)g(made)h(a)f(cop)m(y)150 537 y(of)k(the)f(standard)g(output)g
+(b)s(efore)g(the)g(standard)g(output)g(w)m(as)g(redirected)h(to)g
+Fq(dirlist)r Ft(.)275 666 y(Bash)26 b(handles)f(sev)m(eral)j
+(\014lenames)e(sp)s(ecially)h(when)f(they)g(are)g(used)g(in)g
+(redirections,)i(as)e(describ)s(ed)150 776 y(in)k(the)h(follo)m(wing)g
+(table:)150 924 y Fs(/dev/fd/)p Fi(fd)630 1034 y Ft(If)f
+Fq(fd)j Ft(is)d(a)h(v)-5 b(alid)31 b(in)m(teger,)h(\014le)e(descriptor)
+h Fq(fd)i Ft(is)d(duplicated.)150 1182 y Fs(/dev/stdin)630
+1292 y Ft(File)i(descriptor)e(0)h(is)f(duplicated.)150
+1440 y Fs(/dev/stdout)630 1550 y Ft(File)i(descriptor)e(1)h(is)f
+(duplicated.)150 1698 y Fs(/dev/stderr)630 1807 y Ft(File)i(descriptor)
+e(2)h(is)f(duplicated.)150 1956 y Fs(/dev/tcp/)p Fi(host)11
+b Fs(/)p Fi(port)630 2065 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
-Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 5230
+Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 2175
y(n)m(um)m(b)s(er)h(or)h(service)h(name,)j(Bash)c(attempts)h(to)g(op)s
-(en)f(a)g(TCP)g(connection)h(to)g(the)630 5340 y(corresp)s(onding)29
-b(so)s(c)m(k)m(et.)p eop end
-%%Page: 27 33
-TeXDict begin 27 32 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(27)150 299
-y Fs(/dev/udp/)p Fi(host)11 b Fs(/)p Fi(port)630 408
-y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5 b(alid)41 b(hostname)h(or)f(In)
-m(ternet)h(address,)i(and)c Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s
-(ort)630 518 y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c
-(attempts)g(to)h(op)s(en)e(a)h(UDP)g(connection)g(to)h(the)630
-628 y(corresp)s(onding)29 b(so)s(c)m(k)m(et.)275 785
-y(A)h(failure)h(to)g(op)s(en)e(or)i(create)h(a)e(\014le)h(causes)g(the)
-f(redirection)h(to)g(fail.)275 918 y(Redirections)f(using)e(\014le)i
-(descriptors)f(greater)h(than)f(9)h(should)e(b)s(e)h(used)f(with)h
-(care,)h(as)g(they)f(ma)m(y)150 1027 y(con\015ict)i(with)f(\014le)h
-(descriptors)f(the)g(shell)h(uses)f(in)m(ternally)-8
-b(.)150 1224 y Fj(3.6.1)63 b(Redirecting)40 b(Input)150
-1371 y Ft(Redirection)35 b(of)f(input)f(causes)i(the)f(\014le)g(whose)g
-(name)g(results)g(from)g(the)g(expansion)g(of)g Fq(w)m(ord)k
-Ft(to)d(b)s(e)150 1481 y(op)s(ened)d(for)g(reading)g(on)g(\014le)h
-(descriptor)f Fs(n)p Ft(,)h(or)f(the)g(standard)g(input)f(\(\014le)i
-(descriptor)f(0\))h(if)f Fs(n)g Ft(is)h(not)150 1590
-y(sp)s(eci\014ed.)275 1724 y(The)c(general)j(format)e(for)h
-(redirecting)g(input)e(is:)390 1857 y Fs([)p Fi(n)11
-b Fs(]<)p Fi(word)150 2054 y Fj(3.6.2)63 b(Redirecting)40
-b(Output)150 2200 y Ft(Redirection)31 b(of)g(output)f(causes)h(the)f
+(en)f(a)g(TCP)g(connection)h(to)g(the)630 2285 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)150 2433 y Fs(/dev/udp/)p Fi(host)11
+b Fs(/)p Fi(port)630 2542 y Ft(If)41 b Fq(host)i Ft(is)f(a)g(v)-5
+b(alid)41 b(hostname)h(or)f(In)m(ternet)h(address,)i(and)c
+Fq(p)s(ort)j Ft(is)f(an)f(in)m(teger)i(p)s(ort)630 2652
+y(n)m(um)m(b)s(er)g(or)i(service)g(name,)k(Bash)c(attempts)g(to)h(op)s
+(en)e(a)h(UDP)g(connection)g(to)h(the)630 2762 y(corresp)s(onding)29
+b(so)s(c)m(k)m(et.)275 2910 y(A)h(failure)h(to)g(op)s(en)e(or)i(create)
+h(a)e(\014le)h(causes)g(the)f(redirection)h(to)g(fail.)275
+3039 y(Redirections)f(using)e(\014le)i(descriptors)f(greater)h(than)f
+(9)h(should)e(b)s(e)h(used)f(with)h(care,)h(as)g(they)f(ma)m(y)150
+3148 y(con\015ict)i(with)f(\014le)h(descriptors)f(the)g(shell)h(uses)f
+(in)m(ternally)-8 b(.)150 3337 y Fj(3.6.1)63 b(Redirecting)40
+b(Input)150 3483 y Ft(Redirection)35 b(of)f(input)f(causes)i(the)f
+(\014le)g(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g
+Fq(w)m(ord)k Ft(to)d(b)s(e)150 3593 y(op)s(ened)d(for)g(reading)g(on)g
+(\014le)h(descriptor)f Fs(n)p Ft(,)h(or)f(the)g(standard)g(input)f
+(\(\014le)i(descriptor)f(0\))h(if)f Fs(n)g Ft(is)h(not)150
+3703 y(sp)s(eci\014ed.)275 3832 y(The)c(general)j(format)e(for)h
+(redirecting)g(input)e(is:)390 3961 y Fs([)p Fi(n)11
+b Fs(]<)p Fi(word)150 4149 y Fj(3.6.2)63 b(Redirecting)40
+b(Output)150 4296 y Ft(Redirection)31 b(of)g(output)f(causes)h(the)f
(\014le)h(whose)f(name)g(results)h(from)e(the)i(expansion)f(of)h
-Fq(w)m(ord)i Ft(to)f(b)s(e)150 2310 y(op)s(ened)d(for)g(writing)g(on)g
+Fq(w)m(ord)i Ft(to)f(b)s(e)150 4405 y(op)s(ened)d(for)g(writing)g(on)g
(\014le)h(descriptor)f Fq(n)p Ft(,)g(or)g(the)h(standard)e(output)h
(\(\014le)h(descriptor)f(1\))h(if)g Fq(n)e Ft(is)i(not)150
-2420 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h
+4515 y(sp)s(eci\014ed.)40 b(If)30 b(the)g(\014le)h(do)s(es)f(not)h
(exist)g(it)g(is)f(created;)i(if)e(it)h(do)s(es)f(exist)h(it)g(is)g
-(truncated)f(to)h(zero)g(size.)275 2553 y(The)e(general)j(format)e(for)
-h(redirecting)g(output)f(is:)390 2686 y Fs([)p Fi(n)11
-b Fs(]>[|])p Fi(word)275 2819 y Ft(If)30 b(the)h(redirection)g(op)s
+(truncated)f(to)h(zero)g(size.)275 4644 y(The)e(general)j(format)e(for)
+h(redirecting)g(output)f(is:)390 4773 y Fs([)p Fi(n)11
+b Fs(]>[|])p Fi(word)275 4902 y Ft(If)30 b(the)h(redirection)g(op)s
(erator)g(is)g(`)p Fs(>)p Ft(',)g(and)f(the)h Fs(noclobber)d
Ft(option)j(to)g(the)g Fs(set)f Ft(builtin)g(has)h(b)s(een)150
-2929 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g(\014le)g
+5011 y(enabled,)i(the)f(redirection)h(will)f(fail)h(if)f(the)g(\014le)g
(whose)g(name)g(results)g(from)g(the)g(expansion)g(of)g
-Fq(w)m(ord)150 3039 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
+Fq(w)m(ord)150 5121 y Ft(exists)f(and)f(is)g(a)h(regular)g(\014le.)41
b(If)30 b(the)h(redirection)g(op)s(erator)g(is)f(`)p
Fs(>|)p Ft(',)h(or)f(the)h(redirection)g(op)s(erator)g(is)150
-3148 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
+5230 y(`)p Fs(>)p Ft(')36 b(and)f(the)g Fs(noclobber)e
Ft(option)j(is)g(not)g(enabled,)h(the)e(redirection)h(is)g(attempted)g
-(ev)m(en)h(if)e(the)h(\014le)150 3258 y(named)30 b(b)m(y)g
-Fq(w)m(ord)k Ft(exists.)150 3455 y Fj(3.6.3)63 b(App)s(ending)42
-b(Redirected)e(Output)150 3601 y Ft(Redirection)23 b(of)e(output)h(in)f
-(this)h(fashion)f(causes)h(the)g(\014le)g(whose)f(name)h(results)f
-(from)g(the)h(expansion)g(of)150 3711 y Fq(w)m(ord)28
-b Ft(to)e(b)s(e)e(op)s(ened)g(for)h(app)s(ending)e(on)i(\014le)g
-(descriptor)g Fq(n)p Ft(,)g(or)g(the)g(standard)f(output)h(\(\014le)g
-(descriptor)150 3821 y(1\))31 b(if)f Fq(n)g Ft(is)h(not)f(sp)s
-(eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s(es)g(not)h(exist)g(it)g
-(is)f(created.)275 3954 y(The)f(general)j(format)e(for)h(app)s(ending)e
-(output)h(is:)390 4087 y Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150
-4284 y Fj(3.6.4)63 b(Redirecting)40 b(Standard)h(Output)g(and)g
-(Standard)g(Error)150 4431 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
-(oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f
-(the)g(standard)f(error)150 4540 y(output)d(\(\014le)h(descriptor)f
-(2\))h(to)g(b)s(e)f(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)
-f(the)g(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 4674 y(There)f(are)i(t)m
-(w)m(o)h(formats)e(for)h(redirecting)g(standard)e(output)h(and)g
-(standard)f(error:)390 4807 y Fs(&>)p Fi(word)150 4940
-y Ft(and)390 5073 y Fs(>&)p Fi(word)150 5207 y Ft(Of)h(the)g(t)m(w)m(o)
-i(forms,)e(the)h(\014rst)e(is)i(preferred.)39 b(This)30
-b(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32 b(to)390
-5340 y Fs(>)p Fi(word)57 b Fs(2>&1)p eop end
-%%Page: 28 34
-TeXDict begin 28 33 bop 150 -116 a Ft(28)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fj(3.6.5)63 b(App)s(ending)42
-b(Standard)f(Output)g(and)g(Standard)g(Error)150 446
-y Ft(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g
+(ev)m(en)h(if)e(the)h(\014le)150 5340 y(named)30 b(b)m(y)g
+Fq(w)m(ord)k Ft(exists.)p eop end
+%%Page: 29 35
+TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299
+y Fj(3.6.3)63 b(App)s(ending)42 b(Redirected)e(Output)150
+446 y Ft(Redirection)23 b(of)e(output)h(in)f(this)h(fashion)f(causes)h
+(the)g(\014le)g(whose)f(name)h(results)f(from)g(the)h(expansion)g(of)
+150 555 y Fq(w)m(ord)28 b Ft(to)e(b)s(e)e(op)s(ened)g(for)h(app)s
+(ending)e(on)i(\014le)g(descriptor)g Fq(n)p Ft(,)g(or)g(the)g(standard)
+f(output)h(\(\014le)g(descriptor)150 665 y(1\))31 b(if)f
+Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40 b(If)30 b(the)h(\014le)f(do)s
+(es)g(not)h(exist)g(it)g(is)f(created.)275 803 y(The)f(general)j
+(format)e(for)h(app)s(ending)e(output)h(is:)390 940 y
+Fs([)p Fi(n)11 b Fs(]>>)p Fi(word)150 1143 y Fj(3.6.4)63
+b(Redirecting)40 b(Standard)h(Output)g(and)g(Standard)g(Error)150
+1290 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s(oth)f(the)g(standard)g
(output)f(\(\014le)i(descriptor)f(1\))h(and)f(the)g(standard)f(error)
-150 555 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f(app)s
-(ended)f(to)i(the)f(\014le)h(whose)f(name)g(is)h(the)f(expansion)h(of)f
-Fq(w)m(ord)t Ft(.)275 689 y(The)f(format)i(for)f(app)s(ending)f
-(standard)h(output)g(and)f(standard)h(error)g(is:)390
-822 y Fs(&>>)p Fi(word)150 955 y Ft(This)g(is)g(seman)m(tically)j
-(equiv)-5 b(alen)m(t)32 b(to)390 1089 y Fs(>>)p Fi(word)57
-b Fs(2>&1)150 1286 y Fj(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150
-1432 y Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i(instructs)e(the)h
-(shell)f(to)i(read)e(input)g(from)g(the)h(curren)m(t)f(source)h(un)m
-(til)g(a)150 1542 y(line)31 b(con)m(taining)g(only)g
-Fq(w)m(ord)i Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
+150 1399 y(output)d(\(\014le)h(descriptor)f(2\))h(to)g(b)s(e)f
+(redirected)h(to)g(the)f(\014le)h(whose)f(name)h(is)f(the)g(expansion)h
+(of)f Fq(w)m(ord)t Ft(.)275 1537 y(There)f(are)i(t)m(w)m(o)h(formats)e
+(for)h(redirecting)g(standard)e(output)h(and)g(standard)f(error:)390
+1675 y Fs(&>)p Fi(word)150 1812 y Ft(and)390 1950 y Fs(>&)p
+Fi(word)150 2087 y Ft(Of)h(the)g(t)m(w)m(o)i(forms,)e(the)h(\014rst)e
+(is)i(preferred.)39 b(This)30 b(is)g(seman)m(tically)j(equiv)-5
+b(alen)m(t)32 b(to)390 2225 y Fs(>)p Fi(word)57 b Fs(2>&1)150
+2427 y Fj(3.6.5)63 b(App)s(ending)42 b(Standard)f(Output)g(and)g
+(Standard)g(Error)150 2574 y Ft(This)33 b(construct)i(allo)m(ws)g(b)s
+(oth)f(the)g(standard)g(output)f(\(\014le)i(descriptor)f(1\))h(and)f
+(the)g(standard)f(error)150 2684 y(output)d(\(\014le)h(descriptor)f
+(2\))h(to)g(b)s(e)f(app)s(ended)f(to)i(the)f(\014le)h(whose)f(name)g
+(is)h(the)f(expansion)h(of)f Fq(w)m(ord)t Ft(.)275 2822
+y(The)f(format)i(for)f(app)s(ending)f(standard)h(output)g(and)f
+(standard)h(error)g(is:)390 2959 y Fs(&>>)p Fi(word)150
+3097 y Ft(This)g(is)g(seman)m(tically)j(equiv)-5 b(alen)m(t)32
+b(to)390 3235 y Fs(>>)p Fi(word)57 b Fs(2>&1)150 3437
+y Fj(3.6.6)63 b(Here)41 b(Do)s(cumen)m(ts)150 3584 y
+Ft(This)c(t)m(yp)s(e)h(of)f(redirection)i(instructs)e(the)h(shell)f(to)
+i(read)e(input)g(from)g(the)h(curren)m(t)f(source)h(un)m(til)g(a)150
+3694 y(line)31 b(con)m(taining)g(only)g Fq(w)m(ord)i
+Ft(\(with)d(no)h(trailing)g(blanks\))f(is)g(seen.)41
b(All)31 b(of)f(the)h(lines)f(read)g(up)f(to)i(that)150
-1652 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
-(for)h(a)h(command.)275 1785 y(The)e(format)i(of)g(here-do)s(cumen)m
-(ts)f(is:)390 1918 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772
-2028 y(here-document)390 2137 y(delimiter)275 2271 y
+3803 y(p)s(oin)m(t)f(are)h(then)f(used)g(as)g(the)h(standard)f(input)f
+(for)h(a)h(command.)275 3941 y(The)e(format)i(of)g(here-do)s(cumen)m
+(ts)f(is:)390 4078 y Fs(<<[)p Fp(\000)p Fs(])p Fi(word)772
+4188 y(here-document)390 4298 y(delimiter)275 4435 y
Ft(No)j(parameter)h(expansion,)g(command)f(substitution,)h(arithmetic)h
-(expansion,)f(or)f(\014lename)g(ex-)150 2380 y(pansion)h(is)h(p)s
+(expansion,)f(or)f(\014lename)g(ex-)150 4545 y(pansion)h(is)h(p)s
(erformed)f(on)g Fq(w)m(ord)t Ft(.)54 b(If)34 b(an)m(y)h(c)m(haracters)
i(in)d Fq(w)m(ord)k Ft(are)d(quoted,)i(the)e Fq(delimiter)42
-b Ft(is)35 b(the)150 2490 y(result)40 b(of)g(quote)h(remo)m(v)-5
+b Ft(is)35 b(the)150 4654 y(result)40 b(of)g(quote)h(remo)m(v)-5
b(al)42 b(on)e Fq(w)m(ord)t Ft(,)i(and)d(the)i(lines)f(in)g(the)g
-(here-do)s(cumen)m(t)h(are)f(not)g(expanded.)150 2600
+(here-do)s(cumen)m(t)h(are)f(not)g(expanded.)150 4764
y(If)32 b Fq(w)m(ord)k Ft(is)d(unquoted,)f(all)i(lines)f(of)f(the)h
(here-do)s(cumen)m(t)g(are)g(sub)5 b(jected)32 b(to)i(parameter)f
-(expansion,)150 2709 y(command)25 b(substitution,)g(and)g(arithmetic)h
+(expansion,)150 4874 y(command)25 b(substitution,)g(and)g(arithmetic)h
(expansion.)39 b(In)24 b(the)h(latter)h(case,)h(the)e(c)m(haracter)i
-(sequence)150 2819 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p
+(sequence)150 4983 y Fs(\\newline)h Ft(is)j(ignored,)f(and)g(`)p
Fs(\\)p Ft(')h(m)m(ust)f(b)s(e)g(used)f(to)i(quote)g(the)g(c)m
(haracters)h(`)p Fs(\\)p Ft(',)e(`)p Fs($)p Ft(',)h(and)f(`)p
-Fs(`)p Ft('.)275 2952 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
+Fs(`)p Ft('.)275 5121 y(If)21 b(the)i(redirection)g(op)s(erator)g(is)f
(`)p Fs(<<-)p Ft(',)i(then)e(all)h(leading)g(tab)g(c)m(haracters)h(are)
-e(stripp)s(ed)f(from)h(input)150 3062 y(lines)33 b(and)e(the)i(line)g
+e(stripp)s(ed)f(from)h(input)150 5230 y(lines)33 b(and)e(the)i(line)g
(con)m(taining)h Fq(delimiter)7 b Ft(.)47 b(This)31 b(allo)m(ws)j
(here-do)s(cumen)m(ts)f(within)e(shell)i(scripts)f(to)150
-3171 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)150
-3368 y Fj(3.6.7)63 b(Here)41 b(Strings)150 3515 y Ft(A)30
-b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s(cumen)m(ts,)f(the)g(format)h
-(is:)390 3648 y Fs(<<<)47 b Fi(word)275 3782 y Ft(The)29
-b Fq(w)m(ord)34 b Ft(is)c(expanded)g(and)g(supplied)f(to)i(the)f
-(command)h(on)f(its)h(standard)e(input.)150 3979 y Fj(3.6.8)63
-b(Duplicating)41 b(File)g(Descriptors)150 4125 y Ft(The)30
-b(redirection)h(op)s(erator)390 4259 y Fs([)p Fi(n)11
-b Fs(]<&)p Fi(word)150 4392 y Ft(is)35 b(used)e(to)j(duplicate)f(input)
-f(\014le)g(descriptors.)53 b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h
-(one)g(or)g(more)g(digits,)h(the)f(\014le)150 4502 y(descriptor)e
-(denoted)h(b)m(y)g Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of)
-g(that)g(\014le)g(descriptor.)50 b(If)33 b(the)h(digits)g(in)f
-Fq(w)m(ord)150 4611 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f
-(descriptor)g(op)s(en)g(for)g(input,)g(a)h(redirection)g(error)f(o)s
-(ccurs.)40 b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150
-4721 y(to)31 b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g
-Fq(n)f Ft(is)g(closed.)43 b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s
-(eci\014ed,)f(the)h(standard)f(input)g(\(\014le)h(descriptor)f(0\))150
-4830 y(is)g(used.)275 4964 y(The)f(op)s(erator)390 5097
-y Fs([)p Fi(n)11 b Fs(]>&)p Fi(word)150 5230 y Ft(is)40
-b(used)g(similarly)h(to)g(duplicate)f(output)g(\014le)h(descriptors.)70
-b(If)40 b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
-5340 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
-b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29
-b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)p
+5340 y(b)s(e)e(inden)m(ted)g(in)g(a)h(natural)f(fashion.)p
eop end
-%%Page: 29 35
-TeXDict begin 29 34 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(29)150 299
-y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
+%%Page: 30 36
+TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fj(3.6.7)63 b(Here)41
+b(Strings)150 446 y Ft(A)30 b(v)-5 b(arian)m(t)32 b(of)e(here)h(do)s
+(cumen)m(ts,)f(the)g(format)h(is:)390 602 y Fs(<<<)47
+b Fi(word)275 758 y Ft(The)29 b Fq(w)m(ord)34 b Ft(is)c(expanded)g(and)
+g(supplied)f(to)i(the)f(command)h(on)f(its)h(standard)e(input.)150
+979 y Fj(3.6.8)63 b(Duplicating)41 b(File)g(Descriptors)150
+1126 y Ft(The)30 b(redirection)h(op)s(erator)390 1282
+y Fs([)p Fi(n)11 b Fs(]<&)p Fi(word)150 1438 y Ft(is)35
+b(used)e(to)j(duplicate)f(input)f(\014le)g(descriptors.)53
+b(If)34 b Fq(w)m(ord)k Ft(expands)c(to)h(one)g(or)g(more)g(digits,)h
+(the)f(\014le)150 1547 y(descriptor)e(denoted)h(b)m(y)g
+Fq(n)f Ft(is)g(made)h(to)g(b)s(e)f(a)h(cop)m(y)g(of)g(that)g(\014le)g
+(descriptor.)50 b(If)33 b(the)h(digits)g(in)f Fq(w)m(ord)150
+1657 y Ft(do)c(not)h(sp)s(ecify)f(a)h(\014le)f(descriptor)g(op)s(en)g
+(for)g(input,)g(a)h(redirection)g(error)f(o)s(ccurs.)40
+b(If)29 b Fq(w)m(ord)j Ft(ev)-5 b(aluates)150 1766 y(to)31
+b(`)p Fs(-)p Ft(',)g(\014le)g(descriptor)g Fq(n)f Ft(is)g(closed.)43
+b(If)30 b Fq(n)g Ft(is)g(not)h(sp)s(eci\014ed,)f(the)h(standard)f
+(input)g(\(\014le)h(descriptor)f(0\))150 1876 y(is)g(used.)275
+2032 y(The)f(op)s(erator)390 2188 y Fs([)p Fi(n)11 b
+Fs(]>&)p Fi(word)150 2344 y Ft(is)40 b(used)g(similarly)h(to)g
+(duplicate)f(output)g(\014le)h(descriptors.)70 b(If)40
+b Fq(n)f Ft(is)i(not)f(sp)s(eci\014ed,)i(the)f(standard)150
+2454 y(output)30 b(\(\014le)g(descriptor)g(1\))h(is)f(used.)39
+b(If)30 b(the)g(digits)h(in)e Fq(w)m(ord)34 b Ft(do)29
+b(not)i(sp)s(ecify)e(a)i(\014le)f(descriptor)g(op)s(en)150
+2563 y(for)38 b(output,)i(a)e(redirection)h(error)f(o)s(ccurs.)63
b(As)38 b(a)h(sp)s(ecial)f(case,)k(if)c Fq(n)f Ft(is)h(omitted,)k(and)
-37 b Fq(w)m(ord)k Ft(do)s(es)150 408 y(not)28 b(expand)f(to)i(one)f(or)
-f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g(error)g
-(are)i(redirected)f(as)150 518 y(describ)s(ed)h(previously)-8
-b(.)150 717 y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
-864 y Ft(The)30 b(redirection)h(op)s(erator)390 999 y
-Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 1133 y
-Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k
+37 b Fq(w)m(ord)k Ft(do)s(es)150 2673 y(not)28 b(expand)f(to)i(one)f
+(or)f(more)h(digits,)i(the)e(standard)e(output)i(and)f(standard)g
+(error)g(are)i(redirected)f(as)150 2783 y(describ)s(ed)h(previously)-8
+b(.)150 3003 y Fj(3.6.9)63 b(Mo)m(ving)41 b(File)h(Descriptors)150
+3150 y Ft(The)30 b(redirection)h(op)s(erator)390 3306
+y Fs([)p Fi(n)11 b Fs(]<&)p Fi(digit)g Fs(-)150 3462
+y Ft(mo)m(v)m(es)33 b(the)f(\014le)g(descriptor)f Fq(digit)k
Ft(to)d(\014le)g(descriptor)g Fq(n)p Ft(,)f(or)h(the)g(standard)f
-(input)f(\(\014le)j(descriptor)e(0\))150 1243 y(if)f
+(input)f(\(\014le)j(descriptor)e(0\))150 3572 y(if)f
Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)40 b Fq(digit)33
b Ft(is)e(closed)g(after)g(b)s(eing)f(duplicated)g(to)h
-Fq(n)p Ft(.)275 1377 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
-(erator)390 1512 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g
-Fs(-)150 1646 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
+Fq(n)p Ft(.)275 3728 y(Similarly)-8 b(,)31 b(the)f(redirection)h(op)s
+(erator)390 3884 y Fs([)p Fi(n)11 b Fs(]>&)p Fi(digit)g
+Fs(-)150 4040 y Ft(mo)m(v)m(es)29 b(the)g(\014le)f(descriptor)f
Fq(digit)k Ft(to)e(\014le)f(descriptor)g Fq(n)p Ft(,)g(or)g(the)g
(standard)f(output)h(\(\014le)g(descriptor)g(1\))150
-1756 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150
-1955 y Fj(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g
-(Reading)e(and)h(W)-10 b(riting)150 2102 y Ft(The)30
-b(redirection)h(op)s(erator)390 2236 y Fs([)p Fi(n)11
-b Fs(]<>)p Fi(word)150 2371 y Ft(causes)39 b(the)g(\014le)g(whose)g
+4150 y(if)i Fq(n)g Ft(is)h(not)f(sp)s(eci\014ed.)150
+4370 y Fj(3.6.10)63 b(Op)s(ening)42 b(File)g(Descriptors)g(for)g
+(Reading)e(and)h(W)-10 b(riting)150 4517 y Ft(The)30
+b(redirection)h(op)s(erator)390 4673 y Fs([)p Fi(n)11
+b Fs(]<>)p Fi(word)150 4829 y Ft(causes)39 b(the)g(\014le)g(whose)g
(name)g(is)g(the)g(expansion)g(of)g Fq(w)m(ord)j Ft(to)d(b)s(e)g(op)s
-(ened)f(for)g(b)s(oth)h(reading)g(and)150 2480 y(writing)33
+(ened)f(for)g(b)s(oth)h(reading)g(and)150 4939 y(writing)33
b(on)f(\014le)h(descriptor)f Fq(n)p Ft(,)h(or)g(on)f(\014le)h
(descriptor)g(0)g(if)f Fq(n)g Ft(is)h(not)g(sp)s(eci\014ed.)47
-b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 2590 y(exist,)e(it)g(is)g
-(created.)150 2822 y Fr(3.7)68 b(Executing)46 b(Commands)150
-3046 y Fj(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150
-3193 y Ft(When)33 b(a)g(simple)g(command)g(is)g(executed,)h(the)g
-(shell)f(p)s(erforms)e(the)i(follo)m(wing)i(expansions,)e(assign-)150
-3303 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.)
-199 3437 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h
-(mark)m(ed)g(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g
-(preceding)f(the)330 3547 y(command)30 b(name\))h(and)f(redirections)h
-(are)f(sa)m(v)m(ed)i(for)e(later)h(pro)s(cessing.)199
-3681 y(2.)61 b(The)39 b(w)m(ords)g(that)i(are)f(not)g(v)-5
-b(ariable)40 b(assignmen)m(ts)h(or)e(redirections)i(are)f(expanded)f
-(\(see)h(Sec-)330 3791 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g
-(17\).)61 b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h
-(the)e(\014rst)330 3901 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f
-(the)g(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g
-(are)g(the)h(argu-)330 4010 y(men)m(ts.)199 4145 y(3.)61
-b(Redirections)25 b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m
-(v)m(e)i(\(see)g(Section)g(3.6)g([Redirections],)i(page)d(26\).)199
-4279 y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p
-Ft(')h(in)e(eac)m(h)j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es)
-e(tilde)i(expansion,)g(parameter)330 4389 y(expansion,)49
-b(command)d(substitution,)j(arithmetic)d(expansion,)k(and)45
-b(quote)h(remo)m(v)-5 b(al)46 b(b)s(efore)330 4498 y(b)s(eing)30
-b(assigned)h(to)g(the)f(v)-5 b(ariable.)275 4658 y(If)32
-b(no)i(command)f(name)g(results,)h(the)g(v)-5 b(ariable)34
-b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)h(en)m(viron-)
-150 4767 y(men)m(t.)39 b(Otherwise,)27 b(the)e(v)-5 b(ariables)26
-b(are)g(added)f(to)h(the)f(en)m(vironmen)m(t)h(of)g(the)f(executed)h
-(command)g(and)150 4877 y(do)35 b(not)f(a\013ect)j(the)d(curren)m(t)h
-(shell)g(en)m(vironmen)m(t.)54 b(If)34 b(an)m(y)h(of)g(the)f(assignmen)
-m(ts)i(attempts)f(to)h(assign)150 4986 y(a)j(v)-5 b(alue)39
-b(to)g(a)g(readonly)f(v)-5 b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j
-(and)c(the)i(command)f(exits)h(with)g(a)f(non-zero)150
-5096 y(status.)275 5230 y(If)33 b(no)g(command)g(name)h(results,)g
-(redirections)g(are)g(p)s(erformed,)f(but)g(do)h(not)f(a\013ect)i(the)f
-(curren)m(t)150 5340 y(shell)d(en)m(vironmen)m(t.)41
-b(A)30 b(redirection)h(error)f(causes)h(the)g(command)f(to)h(exit)g
-(with)f(a)h(non-zero)g(status.)p eop end
-%%Page: 30 36
-TeXDict begin 30 35 bop 150 -116 a Ft(30)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(If)26 b(there)i(is)f(a)h(command)f
-(name)h(left)g(after)g(expansion,)g(execution)h(pro)s(ceeds)e(as)g
-(describ)s(ed)f(b)s(elo)m(w.)150 408 y(Otherwise,)39
-b(the)e(command)g(exits.)62 b(If)37 b(one)g(of)g(the)h(expansions)f
-(con)m(tained)h(a)g(command)f(substitu-)150 518 y(tion,)i(the)d(exit)h
-(status)g(of)f(the)h(command)f(is)h(the)f(exit)h(status)g(of)f(the)h
-(last)g(command)f(substitution)150 628 y(p)s(erformed.)55
-b(If)35 b(there)g(w)m(ere)h(no)g(command)f(substitutions,)i(the)e
-(command)h(exits)g(with)f(a)h(status)g(of)150 737 y(zero.)150
-925 y Fj(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h(Execution)150
-1071 y Ft(After)i(a)h(command)f(has)g(b)s(een)f(split)h(in)m(to)h(w)m
-(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g(and)f(an)150
-1181 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g(follo)m(wing)g
-(actions)h(are)f(tak)m(en.)199 1310 y(1.)61 b(If)24 b(the)g(command)g
-(name)g(con)m(tains)i(no)e(slashes,)i(the)e(shell)h(attempts)g(to)g(lo)
-s(cate)h(it.)39 b(If)24 b(there)g(exists)330 1419 y(a)h(shell)g
-(function)f(b)m(y)g(that)h(name,)h(that)f(function)f(is)h(in)m(v)m(ok)m
-(ed)h(as)e(describ)s(ed)g(in)g(Section)h(3.3)h([Shell)330
-1529 y(F)-8 b(unctions],)31 b(page)h(14.)199 1657 y(2.)61
-b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e(function,)j(the)e
-(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h(of)g(shell)330
-1767 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g(that)h(builtin)
-f(is)g(in)m(v)m(ok)m(ed.)199 1895 y(3.)61 b(If)40 b(the)g(name)h(is)f
-(neither)h(a)f(shell)h(function)f(nor)g(a)g(builtin,)j(and)d(con)m
-(tains)h(no)g(slashes,)i(Bash)330 2005 y(searc)m(hes)c(eac)m(h)g
-(elemen)m(t)g(of)g Fs($PATH)d Ft(for)i(a)g(directory)h(con)m(taining)g
-(an)f(executable)h(\014le)f(b)m(y)g(that)330 2115 y(name.)56
-b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)f(remem)m(b)s(er)f(the)h(full)
-f(pathnames)g(of)h(executable)h(\014les)e(to)330 2224
-y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f Ft(searc)m(hes)i(\(see)f(the)g
-(description)g(of)f Fs(hash)g Ft(in)g(Section)i(4.1)f([Bourne)g(Shell)
-330 2334 y(Builtins],)37 b(page)f(35\).)55 b(A)35 b(full)g(searc)m(h)g
-(of)g(the)g(directories)h(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h
-(if)g(the)330 2443 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f
-(table.)39 b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g
-(shell)g(searc)m(hes)330 2553 y(for)e(a)h(de\014ned)e(shell)h(function)
-h(named)e Fs(command_not_found_handle)p Ft(.)32 b(If)23
-b(that)h(function)f(exists,)330 2663 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i
-(with)e(the)h(original)g(command)f(and)g(the)h(original)g(command's)f
-(argumen)m(ts)h(as)g(its)330 2772 y(argumen)m(ts,)h(and)e(the)i
-(function's)e(exit)i(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h
-(the)f(shell.)46 b(If)31 b(that)330 2882 y(function)g(is)g(not)g
-(de\014ned,)f(the)i(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f
-(returns)e(an)i(exit)h(status)g(of)330 2991 y(127.)199
-3120 y(4.)61 b(If)33 b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g
-(the)h(command)f(name)g(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the)
-330 3229 y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g
-(separate)h(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35
-b(0)330 3339 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
-(remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the)
-330 3449 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8
-b(.)199 3577 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g
-(the)f(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h
-(\014le)g(is)g(not)330 3687 y(a)d(directory)-8 b(,)34
-b(it)f(is)g(assumed)e(to)j(b)s(e)d(a)i Fq(shell)g(script)h
-Ft(and)e(the)h(shell)f(executes)i(it)f(as)g(describ)s(ed)e(in)330
-3796 y(Section)g(3.8)h([Shell)e(Scripts],)g(page)i(33.)199
-3925 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g(b)s(egun)e(async)
-m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)e(the)h(command)f
-(to)330 4034 y(complete)32 b(and)e(collects)i(its)f(exit)g(status.)150
-4222 y Fj(3.7.3)63 b(Command)41 b(Execution)f(En)m(vironmen)m(t)150
-4369 y Ft(The)30 b(shell)g(has)h(an)f Fq(execution)h(en)m(vironmen)m(t)
-r Ft(,)h(whic)m(h)e(consists)h(of)f(the)h(follo)m(wing:)225
-4497 y Fp(\017)60 b Ft(op)s(en)32 b(\014les)g(inherited)g(b)m(y)h(the)f
-(shell)h(at)g(in)m(v)m(o)s(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g
-(redirections)h(supplied)e(to)330 4607 y(the)g Fs(exec)e
-Ft(builtin)225 4735 y Fp(\017)60 b Ft(the)28 b(curren)m(t)g(w)m(orking)
-h(directory)g(as)f(set)h(b)m(y)f Fs(cd)p Ft(,)g Fs(pushd)p
-Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g(b)m(y)g(the)h(shell)f(at)
-330 4845 y(in)m(v)m(o)s(cation)225 4973 y Fp(\017)60
-b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g(as)h(set)g(b)m(y)f
-Fs(umask)f Ft(or)h(inherited)g(from)g(the)h(shell's)f(paren)m(t)225
-5102 y Fp(\017)60 b Ft(curren)m(t)30 b(traps)g(set)h(b)m(y)f
-Fs(trap)225 5230 y Fp(\017)60 b Ft(shell)30 b(parameters)f(that)h(are)g
-(set)g(b)m(y)g(v)-5 b(ariable)30 b(assignmen)m(t)g(or)g(with)f
-Fs(set)f Ft(or)i(inherited)f(from)g(the)330 5340 y(shell's)i(paren)m(t)
-f(in)g(the)h(en)m(vironmen)m(t)p eop end
+b(If)32 b(the)h(\014le)f(do)s(es)h(not)150 5049 y(exist,)e(it)g(is)g
+(created.)150 5313 y Fr(3.7)68 b(Executing)46 b(Commands)p
+eop end
%%Page: 31 37
TeXDict begin 31 36 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)225 299
-y Fp(\017)60 b Ft(shell)44 b(functions)f(de\014ned)f(during)h
-(execution)i(or)e(inherited)h(from)f(the)h(shell's)g(paren)m(t)f(in)h
-(the)330 408 y(en)m(vironmen)m(t)225 543 y Fp(\017)60
-b Ft(options)33 b(enabled)g(at)h(in)m(v)m(o)s(cation)h(\(either)f(b)m
-(y)f(default)g(or)g(with)g(command-line)g(argumen)m(ts\))h(or)330
-652 y(b)m(y)c Fs(set)225 787 y Fp(\017)60 b Ft(options)31
-b(enabled)f(b)m(y)g Fs(shopt)f Ft(\(see)j(Section)f(4.3.2)h([The)e
-(Shopt)g(Builtin],)h(page)g(55\))225 921 y Fp(\017)60
-b Ft(shell)31 b(aliases)g(de\014ned)f(with)g Fs(alias)f
-Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(79\))225
-1056 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(31)150 299
+y Fj(3.7.1)63 b(Simple)41 b(Command)h(Expansion)150 446
+y Ft(When)33 b(a)g(simple)g(command)g(is)g(executed,)h(the)g(shell)f(p)
+s(erforms)e(the)i(follo)m(wing)i(expansions,)e(assign-)150
+555 y(men)m(ts,)e(and)f(redirections,)h(from)f(left)h(to)g(righ)m(t.)
+199 702 y(1.)61 b(The)38 b(w)m(ords)f(that)i(the)g(parser)e(has)h(mark)
+m(ed)g(as)h(v)-5 b(ariable)39 b(assignmen)m(ts)g(\(those)g(preceding)f
+(the)330 812 y(command)30 b(name\))h(and)f(redirections)h(are)f(sa)m(v)
+m(ed)i(for)e(later)h(pro)s(cessing.)199 952 y(2.)61 b(The)39
+b(w)m(ords)g(that)i(are)f(not)g(v)-5 b(ariable)40 b(assignmen)m(ts)h
+(or)e(redirections)i(are)f(expanded)f(\(see)h(Sec-)330
+1062 y(tion)d(3.5)i([Shell)e(Expansions],)h(page)g(19\).)61
+b(If)37 b(an)m(y)g(w)m(ords)f(remain)h(after)h(expansion,)h(the)e
+(\014rst)330 1171 y(w)m(ord)31 b(is)g(tak)m(en)h(to)g(b)s(e)f(the)g
+(name)h(of)f(the)h(command)f(and)f(the)i(remaining)f(w)m(ords)g(are)g
+(the)h(argu-)330 1281 y(men)m(ts.)199 1422 y(3.)61 b(Redirections)25
+b(are)f(p)s(erformed)f(as)h(describ)s(ed)f(ab)s(o)m(v)m(e)i(\(see)g
+(Section)g(3.6)g([Redirections],)i(page)d(27\).)199 1562
+y(4.)61 b(The)25 b(text)h(after)f(the)g(`)p Fs(=)p Ft(')h(in)e(eac)m(h)
+j(v)-5 b(ariable)25 b(assignmen)m(t)h(undergo)s(es)e(tilde)i
+(expansion,)g(parameter)330 1672 y(expansion,)49 b(command)d
+(substitution,)j(arithmetic)d(expansion,)k(and)45 b(quote)h(remo)m(v)-5
+b(al)46 b(b)s(efore)330 1781 y(b)s(eing)30 b(assigned)h(to)g(the)f(v)-5
+b(ariable.)275 1959 y(If)32 b(no)i(command)f(name)g(results,)h(the)g(v)
+-5 b(ariable)34 b(assignmen)m(ts)g(a\013ect)h(the)f(curren)m(t)f(shell)
+h(en)m(viron-)150 2069 y(men)m(t.)39 b(Otherwise,)27
+b(the)e(v)-5 b(ariables)26 b(are)g(added)f(to)h(the)f(en)m(vironmen)m
+(t)h(of)g(the)f(executed)h(command)g(and)150 2178 y(do)35
+b(not)f(a\013ect)j(the)d(curren)m(t)h(shell)g(en)m(vironmen)m(t.)54
+b(If)34 b(an)m(y)h(of)g(the)f(assignmen)m(ts)i(attempts)f(to)h(assign)
+150 2288 y(a)j(v)-5 b(alue)39 b(to)g(a)g(readonly)f(v)-5
+b(ariable,)42 b(an)c(error)g(o)s(ccurs,)j(and)c(the)i(command)f(exits)h
+(with)g(a)f(non-zero)150 2397 y(status.)275 2544 y(If)33
+b(no)g(command)g(name)h(results,)g(redirections)g(are)g(p)s(erformed,)f
+(but)g(do)h(not)f(a\013ect)i(the)f(curren)m(t)150 2654
+y(shell)d(en)m(vironmen)m(t.)41 b(A)30 b(redirection)h(error)f(causes)h
+(the)g(command)f(to)h(exit)g(with)f(a)h(non-zero)g(status.)275
+2800 y(If)26 b(there)i(is)f(a)h(command)f(name)h(left)g(after)g
+(expansion,)g(execution)h(pro)s(ceeds)e(as)g(describ)s(ed)f(b)s(elo)m
+(w.)150 2910 y(Otherwise,)39 b(the)e(command)g(exits.)62
+b(If)37 b(one)g(of)g(the)h(expansions)f(con)m(tained)h(a)g(command)f
+(substitu-)150 3020 y(tion,)i(the)d(exit)h(status)g(of)f(the)h(command)
+f(is)h(the)f(exit)h(status)g(of)f(the)h(last)g(command)f(substitution)
+150 3129 y(p)s(erformed.)55 b(If)35 b(there)g(w)m(ere)h(no)g(command)f
+(substitutions,)i(the)e(command)h(exits)g(with)f(a)h(status)g(of)150
+3239 y(zero.)150 3450 y Fj(3.7.2)63 b(Command)41 b(Searc)m(h)f(and)h
+(Execution)150 3597 y Ft(After)i(a)h(command)f(has)g(b)s(een)f(split)h
+(in)m(to)h(w)m(ords,)j(if)c(it)g(results)g(in)g(a)h(simple)f(command)g
+(and)f(an)150 3707 y(optional)32 b(list)f(of)f(argumen)m(ts,)h(the)g
+(follo)m(wing)g(actions)h(are)f(tak)m(en.)199 3853 y(1.)61
+b(If)24 b(the)g(command)g(name)g(con)m(tains)i(no)e(slashes,)i(the)e
+(shell)h(attempts)g(to)g(lo)s(cate)h(it.)39 b(If)24 b(there)g(exists)
+330 3963 y(a)h(shell)g(function)f(b)m(y)g(that)h(name,)h(that)f
+(function)f(is)h(in)m(v)m(ok)m(ed)h(as)e(describ)s(ed)g(in)g(Section)h
+(3.3)h([Shell)330 4073 y(F)-8 b(unctions],)31 b(page)h(15.)199
+4213 y(2.)61 b(If)41 b(the)g(name)h(do)s(es)f(not)g(matc)m(h)i(a)e
+(function,)j(the)e(shell)f(searc)m(hes)i(for)e(it)h(in)f(the)g(list)h
+(of)g(shell)330 4323 y(builtins.)e(If)30 b(a)h(matc)m(h)g(is)f(found,)g
+(that)h(builtin)f(is)g(in)m(v)m(ok)m(ed.)199 4463 y(3.)61
+b(If)40 b(the)g(name)h(is)f(neither)h(a)f(shell)h(function)f(nor)g(a)g
+(builtin,)j(and)d(con)m(tains)h(no)g(slashes,)i(Bash)330
+4573 y(searc)m(hes)c(eac)m(h)g(elemen)m(t)g(of)g Fs($PATH)d
+Ft(for)i(a)g(directory)h(con)m(taining)g(an)f(executable)h(\014le)f(b)m
+(y)g(that)330 4682 y(name.)56 b(Bash)36 b(uses)f(a)h(hash)e(table)j(to)
+f(remem)m(b)s(er)f(the)h(full)f(pathnames)g(of)h(executable)h(\014les)e
+(to)330 4792 y(a)m(v)m(oid)e(m)m(ultiple)f Fs(PATH)f
+Ft(searc)m(hes)i(\(see)f(the)g(description)g(of)f Fs(hash)g
+Ft(in)g(Section)i(4.1)f([Bourne)g(Shell)330 4902 y(Builtins],)37
+b(page)f(37\).)55 b(A)35 b(full)g(searc)m(h)g(of)g(the)g(directories)h
+(in)f Fs($PATH)e Ft(is)i(p)s(erformed)f(only)h(if)g(the)330
+5011 y(command)24 b(is)h(not)g(found)e(in)i(the)g(hash)f(table.)39
+b(If)25 b(the)f(searc)m(h)i(is)e(unsuccessful,)h(the)g(shell)g(searc)m
+(hes)330 5121 y(for)e(a)h(de\014ned)e(shell)h(function)h(named)e
+Fs(command_not_found_handle)p Ft(.)32 b(If)23 b(that)h(function)f
+(exists,)330 5230 y(it)32 b(is)f(in)m(v)m(ok)m(ed)i(with)e(the)h
+(original)g(command)f(and)g(the)h(original)g(command's)f(argumen)m(ts)h
+(as)g(its)330 5340 y(argumen)m(ts,)h(and)e(the)i(function's)e(exit)i
+(status)g(b)s(ecomes)f(the)g(exit)h(status)f(of)h(the)f(shell.)46
+b(If)31 b(that)p eop end
+%%Page: 32 38
+TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31
+b(Reference)g(Man)m(ual)330 299 y(function)g(is)g(not)g(de\014ned,)f
+(the)i(shell)f(prin)m(ts)f(an)h(error)g(message)h(and)f(returns)e(an)i
+(exit)h(status)g(of)330 408 y(127.)199 549 y(4.)61 b(If)33
+b(the)g(searc)m(h)h(is)g(successful,)g(or)f(if)g(the)h(command)f(name)g
+(con)m(tains)i(one)f(or)f(more)g(slashes,)i(the)330 658
+y(shell)g(executes)h(the)f(named)f(program)g(in)h(a)g(separate)h
+(execution)f(en)m(vironmen)m(t.)55 b(Argumen)m(t)35 b(0)330
+768 y(is)30 b(set)h(to)h(the)e(name)h(giv)m(en,)g(and)f(the)h
+(remaining)f(argumen)m(ts)h(to)g(the)g(command)f(are)h(set)g(to)g(the)
+330 877 y(argumen)m(ts)g(supplied,)e(if)h(an)m(y)-8 b(.)199
+1018 y(5.)61 b(If)35 b(this)h(execution)h(fails)f(b)s(ecause)g(the)f
+(\014le)h(is)g(not)g(in)f(executable)j(format,)f(and)e(the)h(\014le)g
+(is)g(not)330 1127 y(a)d(directory)-8 b(,)34 b(it)f(is)g(assumed)e(to)j
+(b)s(e)d(a)i Fq(shell)g(script)h Ft(and)e(the)h(shell)f(executes)i(it)f
+(as)g(describ)s(ed)e(in)330 1237 y(Section)g(3.8)h([Shell)e(Scripts],)g
+(page)i(34.)199 1377 y(6.)61 b(If)38 b(the)h(command)f(w)m(as)h(not)g
+(b)s(egun)e(async)m(hronously)-8 b(,)42 b(the)c(shell)h(w)m(aits)h(for)
+e(the)h(command)f(to)330 1487 y(complete)32 b(and)e(collects)i(its)f
+(exit)g(status.)150 1697 y Fj(3.7.3)63 b(Command)41 b(Execution)f(En)m
+(vironmen)m(t)150 1844 y Ft(The)30 b(shell)g(has)h(an)f
+Fq(execution)h(en)m(vironmen)m(t)r Ft(,)h(whic)m(h)e(consists)h(of)f
+(the)h(follo)m(wing:)225 1990 y Fp(\017)60 b Ft(op)s(en)32
+b(\014les)g(inherited)g(b)m(y)h(the)f(shell)h(at)g(in)m(v)m(o)s
+(cation,)j(as)c(mo)s(di\014ed)g(b)m(y)g(redirections)h(supplied)e(to)
+330 2100 y(the)g Fs(exec)e Ft(builtin)225 2240 y Fp(\017)60
+b Ft(the)28 b(curren)m(t)g(w)m(orking)h(directory)g(as)f(set)h(b)m(y)f
+Fs(cd)p Ft(,)g Fs(pushd)p Ft(,)g(or)g Fs(popd)p Ft(,)g(or)g(inherited)g
+(b)m(y)g(the)h(shell)f(at)330 2349 y(in)m(v)m(o)s(cation)225
+2489 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)g
+(as)h(set)g(b)m(y)f Fs(umask)f Ft(or)h(inherited)g(from)g(the)h
+(shell's)f(paren)m(t)225 2630 y Fp(\017)60 b Ft(curren)m(t)30
+b(traps)g(set)h(b)m(y)f Fs(trap)225 2770 y Fp(\017)60
+b Ft(shell)30 b(parameters)f(that)h(are)g(set)g(b)m(y)g(v)-5
+b(ariable)30 b(assignmen)m(t)g(or)g(with)f Fs(set)f Ft(or)i(inherited)f
+(from)g(the)330 2879 y(shell's)i(paren)m(t)f(in)g(the)h(en)m(vironmen)m
+(t)225 3020 y Fp(\017)60 b Ft(shell)44 b(functions)f(de\014ned)f
+(during)h(execution)i(or)e(inherited)h(from)f(the)h(shell's)g(paren)m
+(t)f(in)h(the)330 3129 y(en)m(vironmen)m(t)225 3269 y
+Fp(\017)60 b Ft(options)33 b(enabled)g(at)h(in)m(v)m(o)s(cation)h
+(\(either)f(b)m(y)f(default)g(or)g(with)g(command-line)g(argumen)m
+(ts\))h(or)330 3379 y(b)m(y)c Fs(set)225 3519 y Fp(\017)60
+b Ft(options)31 b(enabled)f(b)m(y)g Fs(shopt)f Ft(\(see)j(Section)f
+(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g(57\))225 3659
+y Fp(\017)60 b Ft(shell)31 b(aliases)g(de\014ned)f(with)g
+Fs(alias)f Ft(\(see)i(Section)g(6.6)h([Aliases],)g(page)f(81\))225
+3799 y Fp(\017)60 b Ft(v)-5 b(arious)50 b(pro)s(cess)f
Fl(id)p Ft(s,)55 b(including)49 b(those)i(of)e(bac)m(kground)h(jobs)f
-(\(see)i(Section)g(3.2.3)g([Lists],)330 1165 y(page)31
-b(8\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5
-b(alue)31 b(of)f Fs($PPID)275 1324 y Ft(When)k(a)g(simple)h(command)f
+(\(see)i(Section)g(3.2.3)g([Lists],)330 3909 y(page)31
+b(9\),)g(the)g(v)-5 b(alue)31 b(of)f Fs($$)p Ft(,)g(and)g(the)h(v)-5
+b(alue)31 b(of)f Fs($PPID)275 4085 y Ft(When)k(a)g(simple)h(command)f
(other)g(than)g(a)h(builtin)f(or)g(shell)h(function)f(is)g(to)h(b)s(e)f
-(executed,)i(it)f(is)150 1434 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
+(executed,)i(it)f(is)150 4195 y(in)m(v)m(ok)m(ed)25 b(in)f(a)g
(separate)h(execution)g(en)m(vironmen)m(t)g(that)f(consists)g(of)h(the)
-f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 1543 y(noted,)31
+f(follo)m(wing.)40 b(Unless)24 b(otherwise)150 4305 y(noted,)31
b(the)f(v)-5 b(alues)31 b(are)g(inherited)f(from)g(the)g(shell.)225
-1678 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
+4451 y Fp(\017)60 b Ft(the)31 b(shell's)h(op)s(en)e(\014les,)i(plus)e
(an)m(y)h(mo)s(di\014cations)h(and)e(additions)h(sp)s(eci\014ed)g(b)m
-(y)g(redirections)g(to)330 1787 y(the)g(command)225 1922
+(y)g(redirections)g(to)330 4560 y(the)g(command)225 4700
y Fp(\017)60 b Ft(the)31 b(curren)m(t)f(w)m(orking)g(directory)225
-2056 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
-2190 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33
+4840 y Fp(\017)60 b Ft(the)31 b(\014le)f(creation)i(mo)s(de)e(mask)225
+4981 y Fp(\017)60 b Ft(shell)32 b(v)-5 b(ariables)33
b(and)e(functions)h(mark)m(ed)g(for)g(exp)s(ort,)g(along)h(with)f(v)-5
-b(ariables)32 b(exp)s(orted)g(for)g(the)330 2300 y(command,)e(passed)g
+b(ariables)32 b(exp)s(orted)g(for)g(the)330 5090 y(command,)e(passed)g
(in)g(the)h(en)m(vironmen)m(t)g(\(see)g(Section)g(3.7.4)i([En)m
-(vironmen)m(t],)e(page)g(31\))225 2434 y Fp(\017)60 b
+(vironmen)m(t],)e(page)g(33\))225 5230 y Fp(\017)60 b
Ft(traps)31 b(caugh)m(t)h(b)m(y)f(the)g(shell)h(are)f(reset)h(to)g(the)
f(v)-5 b(alues)32 b(inherited)e(from)h(the)g(shell's)h(paren)m(t,)g
-(and)330 2544 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)
-275 2703 y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g
-(en)m(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150
-2813 y(en)m(vironmen)m(t.)275 2947 y(Command)35 b(substitution,)j
+(and)330 5340 y(traps)e(ignored)h(b)m(y)f(the)g(shell)h(are)g(ignored)p
+eop end
+%%Page: 33 39
+TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)275 299
+y(A)41 b(command)g(in)m(v)m(ok)m(ed)i(in)e(this)h(separate)g(en)m
+(vironmen)m(t)g(cannot)g(a\013ect)h(the)f(shell's)g(execution)150
+408 y(en)m(vironmen)m(t.)275 552 y(Command)35 b(substitution,)j
(commands)e(group)s(ed)f(with)i(paren)m(theses,)h(and)e(async)m
-(hronous)g(com-)150 3057 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i
+(hronous)g(com-)150 662 y(mands)c(are)h(in)m(v)m(ok)m(ed)i(in)d(a)i
(subshell)e(en)m(vironmen)m(t)h(that)h(is)f(a)g(duplicate)h(of)f(the)g
-(shell)g(en)m(vironmen)m(t,)150 3166 y(except)i(that)g(traps)f(caugh)m
+(shell)g(en)m(vironmen)m(t,)150 772 y(except)i(that)g(traps)f(caugh)m
(t)h(b)m(y)f(the)h(shell)f(are)g(reset)h(to)g(the)f(v)-5
b(alues)35 b(that)g(the)f(shell)h(inherited)e(from)150
-3276 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49
+881 y(its)g(paren)m(t)f(at)h(in)m(v)m(o)s(cation.)49
b(Builtin)32 b(commands)g(that)h(are)g(in)m(v)m(ok)m(ed)h(as)e(part)g
-(of)h(a)f(pip)s(eline)g(are)h(also)150 3385 y(executed)41
+(of)h(a)f(pip)s(eline)g(are)h(also)150 991 y(executed)41
b(in)f(a)h(subshell)e(en)m(vironmen)m(t.)72 b(Changes)40
b(made)g(to)h(the)g(subshell)e(en)m(vironmen)m(t)i(cannot)150
-3495 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
-3629 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f
+1100 y(a\013ect)32 b(the)f(shell's)f(execution)i(en)m(vironmen)m(t.)275
+1244 y(Subshells)24 b(spa)m(wned)h(to)i(execute)g(command)f
(substitutions)g(inherit)g(the)g(v)-5 b(alue)26 b(of)g(the)h(`)p
-Fs(-e)p Ft(')e(option)150 3739 y(from)20 b(the)h(paren)m(t)g(shell.)37
+Fs(-e)p Ft(')e(option)150 1354 y(from)20 b(the)h(paren)m(t)g(shell.)37
b(When)21 b(not)f(in)h Fl(posix)f Ft(mo)s(de,)i(Bash)f(clears)g(the)g
(`)p Fs(-e)p Ft(')f(option)h(in)g(suc)m(h)f(subshells.)275
-3873 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
+1498 y(If)38 b(a)h(command)f(is)g(follo)m(w)m(ed)j(b)m(y)d(a)h(`)p
Fs(&)p Ft(')g(and)f(job)g(con)m(trol)i(is)e(not)h(activ)m(e,)k(the)c
-(default)g(standard)150 3983 y(input)e(for)g(the)h(command)f(is)h(the)g
+(default)g(standard)150 1607 y(input)e(for)g(the)h(command)f(is)h(the)g
(empt)m(y)g(\014le)f(`)p Fs(/dev/null)p Ft('.)61 b(Otherwise,)39
-b(the)f(in)m(v)m(ok)m(ed)h(command)150 4093 y(inherits)30
+b(the)f(in)m(v)m(ok)m(ed)h(command)150 1717 y(inherits)30
b(the)h(\014le)f(descriptors)g(of)h(the)f(calling)i(shell)f(as)f(mo)s
-(di\014ed)g(b)m(y)g(redirections.)150 4292 y Fj(3.7.4)63
-b(En)m(vironmen)m(t)150 4438 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m
+(di\014ed)g(b)m(y)g(redirections.)150 1926 y Fj(3.7.4)63
+b(En)m(vironmen)m(t)150 2073 y Ft(When)28 b(a)i(program)e(is)h(in)m(v)m
(ok)m(ed)h(it)f(is)g(giv)m(en)g(an)g(arra)m(y)g(of)g(strings)f(called)i
(the)f Fq(en)m(vironmen)m(t)r Ft(.)41 b(This)28 b(is)h(a)150
-4548 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
-Fs(name=value)p Ft(.)275 4682 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)
+2182 y(list)i(of)g(name-v)-5 b(alue)31 b(pairs,)f(of)h(the)f(form)g
+Fs(name=value)p Ft(.)275 2326 y(Bash)39 b(pro)m(vides)g(sev)m(eral)i(w)
m(a)m(ys)g(to)f(manipulate)f(the)h(en)m(vironmen)m(t.)69
-b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 4792
+b(On)38 b(in)m(v)m(o)s(cation,)44 b(the)c(shell)150 2436
y(scans)g(its)h(o)m(wn)f(en)m(vironmen)m(t)h(and)f(creates)i(a)f
(parameter)f(for)g(eac)m(h)i(name)e(found,)i(automatically)150
-4902 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
+2545 y(marking)26 b(it)g(for)g Fq(exp)s(ort)h Ft(to)g(c)m(hild)f(pro)s
(cesses.)39 b(Executed)26 b(commands)g(inherit)g(the)g(en)m(vironmen)m
-(t.)39 b(The)150 5011 y Fs(export)c Ft(and)i(`)p Fs(declare)29
+(t.)39 b(The)150 2655 y Fs(export)c Ft(and)i(`)p Fs(declare)29
b(-x)p Ft(')36 b(commands)h(allo)m(w)i(parameters)e(and)g(functions)g
-(to)h(b)s(e)e(added)h(to)h(and)150 5121 y(deleted)21
+(to)h(b)s(e)e(added)h(to)h(and)150 2765 y(deleted)21
b(from)f(the)h(en)m(vironmen)m(t.)38 b(If)20 b(the)h(v)-5
b(alue)21 b(of)g(a)g(parameter)g(in)f(the)g(en)m(vironmen)m(t)i(is)e
-(mo)s(di\014ed,)i(the)150 5230 y(new)31 b(v)-5 b(alue)32
+(mo)s(di\014ed,)i(the)150 2874 y(new)31 b(v)-5 b(alue)32
b(b)s(ecomes)f(part)h(of)f(the)h(en)m(vironmen)m(t,)g(replacing)h(the)e
(old.)44 b(The)31 b(en)m(vironmen)m(t)h(inherited)150
-5340 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
+2984 y(b)m(y)f(an)m(y)g(executed)h(command)f(consists)g(of)g(the)g
(shell's)h(initial)g(en)m(vironmen)m(t,)g(whose)f(v)-5
-b(alues)31 b(ma)m(y)h(b)s(e)p eop end
-%%Page: 32 38
-TeXDict begin 32 37 bop 150 -116 a Ft(32)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(mo)s(di\014ed)26 b(in)g(the)h(shell,)
-h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f(the)g
-Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g(plus)150
-408 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d Ft(and)i(`)p
-Fs(declare)f(-x)p Ft(')h(commands.)275 549 y(The)j(en)m(vironmen)m(t)i
-(for)f(an)m(y)g(simple)h(command)f(or)g(function)g(ma)m(y)g(b)s(e)g
-(augmen)m(ted)h(temp)s(orarily)150 659 y(b)m(y)c(pre\014xing)e(it)i
-(with)g(parameter)g(assignmen)m(ts,)h(as)e(describ)s(ed)g(in)g(Section)
-i(3.4)g([Shell)e(P)m(arameters],)150 768 y(page)g(15.)41
-b(These)29 b(assignmen)m(t)i(statemen)m(ts)g(a\013ect)f(only)g(the)f
-(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h(command.)275
-909 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g(\(see)h
-(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(51\),)i(then)e(all)g
-(parameter)150 1019 y(assignmen)m(ts)i(are)g(placed)h(in)e(the)h(en)m
-(vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i(that)f
-(precede)g(the)150 1128 y(command)g(name.)275 1269 y(When)f(Bash)h(in)m
-(v)m(ok)m(es)i(an)e(external)g(command,)g(the)g(v)-5
-b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f(path)h
-(name)150 1379 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g
-(command)f(in)g(its)h(en)m(vironmen)m(t.)150 1585 y Fj(3.7.5)63
-b(Exit)40 b(Status)150 1731 y Ft(The)26 b(exit)h(status)f(of)g(an)g
+b(alues)31 b(ma)m(y)h(b)s(e)150 3093 y(mo)s(di\014ed)26
+b(in)g(the)h(shell,)h(less)f(an)m(y)g(pairs)f(remo)m(v)m(ed)i(b)m(y)f
+(the)g Fs(unset)e Ft(and)h(`)p Fs(export)j(-n)p Ft(')e(commands,)g
+(plus)150 3203 y(an)m(y)k(additions)f(via)h(the)g Fs(export)d
+Ft(and)i(`)p Fs(declare)f(-x)p Ft(')h(commands.)275 3347
+y(The)j(en)m(vironmen)m(t)i(for)f(an)m(y)g(simple)h(command)f(or)g
+(function)g(ma)m(y)g(b)s(e)g(augmen)m(ted)h(temp)s(orarily)150
+3457 y(b)m(y)c(pre\014xing)e(it)i(with)g(parameter)g(assignmen)m(ts,)h
+(as)e(describ)s(ed)g(in)g(Section)i(3.4)g([Shell)e(P)m(arameters],)150
+3566 y(page)g(17.)41 b(These)29 b(assignmen)m(t)i(statemen)m(ts)g
+(a\013ect)f(only)g(the)f(en)m(vironmen)m(t)h(seen)g(b)m(y)f(that)h
+(command.)275 3710 y(If)d(the)h(`)p Fs(-k)p Ft(')g(option)g(is)g(set)g
+(\(see)h(Section)f(4.3.1)i([The)e(Set)g(Builtin],)h(page)f(54\),)i
+(then)e(all)g(parameter)150 3820 y(assignmen)m(ts)i(are)g(placed)h(in)e
+(the)h(en)m(vironmen)m(t)g(for)g(a)g(command,)f(not)h(just)f(those)i
+(that)f(precede)g(the)150 3929 y(command)g(name.)275
+4073 y(When)f(Bash)h(in)m(v)m(ok)m(es)i(an)e(external)g(command,)g(the)
+g(v)-5 b(ariable)31 b(`)p Fs($_)p Ft(')f(is)g(set)g(to)h(the)f(full)f
+(path)h(name)150 4183 y(of)h(the)f(command)g(and)g(passed)g(to)h(that)g
+(command)f(in)g(its)h(en)m(vironmen)m(t.)150 4392 y Fj(3.7.5)63
+b(Exit)40 b(Status)150 4538 y Ft(The)26 b(exit)h(status)f(of)g(an)g
(executed)h(command)f(is)g(the)h(v)-5 b(alue)26 b(returned)f(b)m(y)h
-(the)g Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 1841
+(the)g Fq(w)m(aitpid)k Ft(system)d(call)g(or)150 4648
y(equiv)-5 b(alen)m(t)33 b(function.)45 b(Exit)32 b(statuses)g(fall)g
(b)s(et)m(w)m(een)h(0)f(and)f(255,)i(though,)f(as)g(explained)g(b)s
-(elo)m(w,)h(the)150 1951 y(shell)i(ma)m(y)g(use)f(v)-5
+(elo)m(w,)h(the)150 4758 y(shell)i(ma)m(y)g(use)f(v)-5
b(alues)35 b(ab)s(o)m(v)m(e)g(125)h(sp)s(ecially)-8 b(.)54
b(Exit)35 b(statuses)g(from)f(shell)h(builtins)f(and)f(comp)s(ound)150
-2060 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58
+4867 y(commands)j(are)g(also)h(limited)g(to)g(this)f(range.)58
b(Under)36 b(certain)h(circumstances,)h(the)e(shell)h(will)f(use)150
-2170 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c)
-f(failure)h(mo)s(des.)275 2311 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s
+4977 y(sp)s(ecial)31 b(v)-5 b(alues)31 b(to)g(indicate)g(sp)s(eci\014c)
+f(failure)h(mo)s(des.)275 5121 y(F)-8 b(or)32 b(the)g(shell's)g(purp)s
(oses,)e(a)j(command)e(whic)m(h)h(exits)g(with)g(a)g(zero)g(exit)h
-(status)f(has)f(succeeded.)150 2420 y(A)e(non-zero)h(exit)g(status)g
+(status)f(has)f(succeeded.)150 5230 y(A)e(non-zero)h(exit)g(status)g
(indicates)g(failure.)40 b(This)28 b(seemingly)i(coun)m(ter-in)m
-(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 2530 y(there)34
+(tuitiv)m(e)i(sc)m(heme)e(is)f(used)g(so)150 5340 y(there)34
b(is)g(one)g(w)m(ell-de\014ned)g(w)m(a)m(y)g(to)h(indicate)g(success)f
(and)f(a)h(v)-5 b(ariet)m(y)35 b(of)f(w)m(a)m(ys)h(to)f(indicate)h(v)-5
-b(arious)150 2639 y(failure)37 b(mo)s(des.)61 b(When)37
-b(a)g(command)g(terminates)h(on)f(a)g(fatal)i(signal)f(whose)f(n)m(um)m
-(b)s(er)e(is)i Fq(N)10 b Ft(,)38 b(Bash)150 2749 y(uses)30
-b(the)g(v)-5 b(alue)31 b(128)p Fs(+)p Fq(N)42 b Ft(as)30
-b(the)h(exit)g(status.)275 2890 y(If)k(a)h(command)g(is)g(not)g(found,)
-g(the)g(c)m(hild)h(pro)s(cess)e(created)i(to)g(execute)g(it)g(returns)d
-(a)j(status)f(of)150 2999 y(127.)42 b(If)30 b(a)h(command)f(is)g(found)
-f(but)h(is)g(not)h(executable,)h(the)f(return)e(status)i(is)f(126.)275
-3140 y(If)i(a)i(command)f(fails)g(b)s(ecause)g(of)h(an)f(error)f
-(during)g(expansion)h(or)g(redirection,)i(the)f(exit)g(status)150
-3250 y(is)c(greater)i(than)e(zero.)275 3391 y(The)38
-b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g(conditional)h
-(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150 3500
-y(ditional)i(Constructs],)h(page)f(10\))g(and)e(some)i(of)f(the)g(list)
-g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150
-3610 y(page)31 b(8\).)275 3751 y(All)40 b(of)g(the)h(Bash)f(builtins)f
+b(arious)p eop end
+%%Page: 34 40
+TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y(failure)37 b(mo)s(des.)61
+b(When)37 b(a)g(command)g(terminates)h(on)f(a)g(fatal)i(signal)f(whose)
+f(n)m(um)m(b)s(er)e(is)i Fq(N)10 b Ft(,)38 b(Bash)150
+408 y(uses)30 b(the)g(v)-5 b(alue)31 b(128)p Fs(+)p Fq(N)42
+b Ft(as)30 b(the)h(exit)g(status.)275 548 y(If)k(a)h(command)g(is)g
+(not)g(found,)g(the)g(c)m(hild)h(pro)s(cess)e(created)i(to)g(execute)g
+(it)g(returns)d(a)j(status)f(of)150 657 y(127.)42 b(If)30
+b(a)h(command)f(is)g(found)f(but)h(is)g(not)h(executable,)h(the)f
+(return)e(status)i(is)f(126.)275 796 y(If)i(a)i(command)f(fails)g(b)s
+(ecause)g(of)h(an)f(error)f(during)g(expansion)h(or)g(redirection,)i
+(the)f(exit)g(status)150 906 y(is)c(greater)i(than)e(zero.)275
+1045 y(The)38 b(exit)h(status)g(is)g(used)f(b)m(y)g(the)h(Bash)g
+(conditional)h(commands)e(\(see)h(Section)h(3.2.4.2)h([Con-)150
+1155 y(ditional)i(Constructs],)h(page)f(10\))g(and)e(some)i(of)f(the)g
+(list)g(constructs)g(\(see)h(Section)f(3.2.3)i([Lists],)150
+1264 y(page)31 b(9\).)275 1403 y(All)40 b(of)g(the)h(Bash)f(builtins)f
(return)g(an)h(exit)h(status)g(of)f(zero)h(if)f(they)g(succeed)g(and)g
-(a)g(non-zero)150 3860 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
+(a)g(non-zero)150 1513 y(status)34 b(on)f(failure,)i(so)f(they)g(ma)m
(y)g(b)s(e)f(used)g(b)m(y)g(the)h(conditional)h(and)e(list)h
-(constructs.)50 b(All)35 b(builtins)150 3970 y(return)29
+(constructs.)50 b(All)35 b(builtins)150 1623 y(return)29
b(an)i(exit)g(status)g(of)f(2)h(to)g(indicate)g(incorrect)h(usage.)150
-4175 y Fj(3.7.6)63 b(Signals)150 4322 y Ft(When)36 b(Bash)g(is)h(in)m
+1827 y Fj(3.7.6)63 b(Signals)150 1974 y Ft(When)36 b(Bash)g(is)h(in)m
(teractiv)m(e,)j(in)c(the)h(absence)f(of)h(an)m(y)f(traps,)i(it)e
(ignores)h Fs(SIGTERM)d Ft(\(so)j(that)g(`)p Fs(kill)150
-4432 y(0)p Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
+2083 y(0)p Ft(')c(do)s(es)g(not)g(kill)g(an)g(in)m(teractiv)m(e)j
(shell\),)f(and)d Fs(SIGINT)f Ft(is)i(caugh)m(t)h(and)f(handled)f(\(so)
-h(that)h(the)f Fs(wait)150 4542 y Ft(builtin)24 b(is)h(in)m
+h(that)h(the)f Fs(wait)150 2193 y Ft(builtin)24 b(is)h(in)m
(terruptible\).)39 b(When)24 b(Bash)g(receiv)m(es)j(a)d
Fs(SIGINT)p Ft(,)h(it)g(breaks)f(out)h(of)f(an)m(y)h(executing)h(lo)s
-(ops.)150 4651 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
+(ops.)150 2302 y(In)31 b(all)h(cases,)h(Bash)f(ignores)g
Fs(SIGQUIT)p Ft(.)42 b(If)32 b(job)f(con)m(trol)i(is)e(in)h(e\013ect)h
-(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 4761 y(page)f(89\),)h
+(\(see)f(Chapter)f(7)h([Job)g(Con)m(trol],)150 2412 y(page)f(91\),)h
(Bash)e(ignores)h Fs(SIGTTIN)p Ft(,)e Fs(SIGTTOU)p Ft(,)g(and)g
-Fs(SIGTSTP)p Ft(.)275 4902 y(Non-builtin)i(commands)g(started)g(b)m(y)g
+Fs(SIGTSTP)p Ft(.)275 2551 y(Non-builtin)i(commands)g(started)g(b)m(y)g
(Bash)h(ha)m(v)m(e)g(signal)g(handlers)e(set)i(to)g(the)g(v)-5
-b(alues)31 b(inherited)150 5011 y(b)m(y)37 b(the)h(shell)g(from)f(its)h
+b(alues)31 b(inherited)150 2661 y(b)m(y)37 b(the)h(shell)g(from)f(its)h
(paren)m(t.)62 b(When)38 b(job)f(con)m(trol)i(is)e(not)h(in)f
-(e\013ect,)k(async)m(hronous)c(commands)150 5121 y(ignore)f
+(e\013ect,)k(async)m(hronous)c(commands)150 2770 y(ignore)f
Fs(SIGINT)e Ft(and)h Fs(SIGQUIT)e Ft(in)j(addition)f(to)i(these)f
(inherited)f(handlers.)55 b(Commands)35 b(run)f(as)i(a)150
-5230 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m
+2880 y(result)27 b(of)h(command)f(substitution)h(ignore)g(the)g(k)m
(eyb)s(oard-generated)g(job)g(con)m(trol)h(signals)f
-Fs(SIGTTIN)p Ft(,)150 5340 y Fs(SIGTTOU)p Ft(,)h(and)g
-Fs(SIGTSTP)p Ft(.)p eop end
-%%Page: 33 39
-TeXDict begin 33 38 bop 150 -116 a Ft(Chapter)30 b(3:)41
-b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(33)275 299
-y(The)30 b(shell)i(exits)g(b)m(y)f(default)g(up)s(on)f(receipt)i(of)f
-(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32 b(exiting,)h(an)e(in)m(teractiv)m
-(e)j(shell)150 408 y(resends)41 b(the)i Fs(SIGHUP)e Ft(to)i(all)g
-(jobs,)i(running)c(or)h(stopp)s(ed.)76 b(Stopp)s(ed)41
-b(jobs)h(are)h(sen)m(t)g Fs(SIGCONT)d Ft(to)150 518 y(ensure)32
-b(that)h(they)g(receiv)m(e)i(the)e Fs(SIGHUP)p Ft(.)47
-b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)g(from)g(sending)f(the)h
-Fs(SIGHUP)e Ft(signal)150 628 y(to)i(a)g(particular)g(job,)g(it)g
-(should)f(b)s(e)g(remo)m(v)m(ed)h(from)g(the)f(jobs)g(table)i(with)e
-(the)h Fs(disown)e Ft(builtin)h(\(see)150 737 y(Section)f(7.2)g([Job)f
-(Con)m(trol)h(Builtins],)g(page)g(90\))h(or)e(mark)m(ed)g(to)h(not)f
-(receiv)m(e)i Fs(SIGHUP)d Ft(using)h Fs(disown)150 847
-y(-h)p Ft(.)275 992 y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g
-(has)g(b)s(een)f(set)i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h
-([The)e(Shopt)150 1102 y(Builtin],)31 b(page)g(55\),)h(Bash)f(sends)e
-(a)i Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i
-(login)e(shell)g(exits.)275 1247 y(If)38 b(Bash)h(is)g(w)m(aiting)h
-(for)f(a)g(command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h
-(for)e(whic)m(h)h(a)g(trap)150 1357 y(has)c(b)s(een)f(set,)i(the)f
-(trap)g(will)g(not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f
-(completes.)55 b(When)35 b(Bash)g(is)150 1467 y(w)m(aiting)j(for)f(an)g
-(async)m(hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g
-(reception)g(of)f(a)g(signal)h(for)150 1576 y(whic)m(h)d(a)g(trap)g
+Fs(SIGTTIN)p Ft(,)150 2989 y Fs(SIGTTOU)p Ft(,)h(and)g
+Fs(SIGTSTP)p Ft(.)275 3129 y(The)h(shell)i(exits)g(b)m(y)f(default)g
+(up)s(on)f(receipt)i(of)f(a)h Fs(SIGHUP)p Ft(.)42 b(Before)32
+b(exiting,)h(an)e(in)m(teractiv)m(e)j(shell)150 3238
+y(resends)41 b(the)i Fs(SIGHUP)e Ft(to)i(all)g(jobs,)i(running)c(or)h
+(stopp)s(ed.)76 b(Stopp)s(ed)41 b(jobs)h(are)h(sen)m(t)g
+Fs(SIGCONT)d Ft(to)150 3348 y(ensure)32 b(that)h(they)g(receiv)m(e)i
+(the)e Fs(SIGHUP)p Ft(.)47 b(T)-8 b(o)33 b(prev)m(en)m(t)g(the)g(shell)
+g(from)g(sending)f(the)h Fs(SIGHUP)e Ft(signal)150 3457
+y(to)i(a)g(particular)g(job,)g(it)g(should)f(b)s(e)g(remo)m(v)m(ed)h
+(from)g(the)f(jobs)g(table)i(with)e(the)h Fs(disown)e
+Ft(builtin)h(\(see)150 3567 y(Section)f(7.2)g([Job)f(Con)m(trol)h
+(Builtins],)g(page)g(92\))h(or)e(mark)m(ed)g(to)h(not)f(receiv)m(e)i
+Fs(SIGHUP)d Ft(using)h Fs(disown)150 3676 y(-h)p Ft(.)275
+3816 y(If)38 b(the)h Fs(huponexit)e Ft(shell)i(option)g(has)g(b)s(een)f
+(set)i(with)f Fs(shopt)e Ft(\(see)j(Section)g(4.3.2)h([The)e(Shopt)150
+3925 y(Builtin],)31 b(page)g(57\),)h(Bash)f(sends)e(a)i
+Fs(SIGHUP)e Ft(to)i(all)g(jobs)f(when)f(an)i(in)m(teractiv)m(e)i(login)
+e(shell)g(exits.)275 4064 y(If)38 b(Bash)h(is)g(w)m(aiting)h(for)f(a)g
+(command)f(to)i(complete)g(and)e(receiv)m(es)j(a)e(signal)h(for)e(whic)
+m(h)h(a)g(trap)150 4174 y(has)c(b)s(een)f(set,)i(the)f(trap)g(will)g
+(not)g(b)s(e)f(executed)i(un)m(til)f(the)g(command)f(completes.)55
+b(When)35 b(Bash)g(is)150 4284 y(w)m(aiting)j(for)f(an)g(async)m
+(hronous)g(command)g(via)h(the)f Fs(wait)f Ft(builtin,)i(the)g
+(reception)g(of)f(a)g(signal)h(for)150 4393 y(whic)m(h)d(a)g(trap)g
(has)g(b)s(een)f(set)h(will)h(cause)f(the)g Fs(wait)f
Ft(builtin)h(to)g(return)f(immediately)i(with)f(an)g(exit)150
-1686 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
-f(the)h(trap)f(is)g(executed.)150 1935 y Fr(3.8)68 b(Shell)45
-b(Scripts)150 2094 y Ft(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le)
+4503 y(status)c(greater)g(than)f(128,)i(immediately)g(after)f(whic)m(h)
+f(the)h(trap)f(is)g(executed.)150 4742 y Fr(3.8)68 b(Shell)45
+b(Scripts)150 4902 y Ft(A)30 b(shell)f(script)h(is)f(a)h(text)h(\014le)
f(con)m(taining)h(shell)f(commands.)40 b(When)29 b(suc)m(h)g(a)h
-(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 2204 y(non-option)i
+(\014le)g(is)f(used)g(as)h(the)g(\014rst)150 5011 y(non-option)i
(argumen)m(t)h(when)e(in)m(v)m(oking)i(Bash,)g(and)e(neither)h(the)g(`)
p Fs(-c)p Ft(')g(nor)g(`)p Fs(-s)p Ft(')g(option)g(is)g(supplied)150
-2313 y(\(see)25 b(Section)h(6.1)f([In)m(v)m(oking)h(Bash],)g(page)f
-(71\),)i(Bash)e(reads)f(and)g(executes)i(commands)e(from)g(the)h
-(\014le,)150 2423 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s
+5121 y(\(see)25 b(Section)h(6.1)f([In)m(v)m(oking)h(Bash],)g(page)f
+(73\),)i(Bash)e(reads)f(and)g(executes)i(commands)e(from)g(the)h
+(\014le,)150 5230 y(then)32 b(exits.)46 b(This)32 b(mo)s(de)f(of)i(op)s
(eration)f(creates)i(a)e(non-in)m(teractiv)m(e)j(shell.)46
-b(The)31 b(shell)i(\014rst)e(searc)m(hes)150 2532 y(for)d(the)g(\014le)
+b(The)31 b(shell)i(\014rst)e(searc)m(hes)150 5340 y(for)d(the)g(\014le)
g(in)g(the)g(curren)m(t)f(directory)-8 b(,)30 b(and)d(lo)s(oks)i(in)e
-(the)i(directories)g(in)e Fs($PATH)g Ft(if)h(not)g(found)e(there.)275
-2678 y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f
-(sp)s(ecial)i(parameter)f Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g
-(\014le,)150 2787 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j
-(and)d(the)h(p)s(ositional)g(parameters)f(are)h(set)g(to)g(the)g
-(remain-)150 2897 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m
-(en.)67 b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h
-(the)f(p)s(ositional)150 3007 y(parameters)31 b(are)f(unset.)275
-3152 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
+(the)i(directories)g(in)e Fs($PATH)g Ft(if)h(not)g(found)e(there.)p
+eop end
+%%Page: 35 41
+TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(3:)41
+b(Basic)32 b(Shell)e(F)-8 b(eatures)2246 b(35)275 299
+y(When)34 b(Bash)h(runs)e(a)i(shell)g(script,)g(it)h(sets)f(the)f(sp)s
+(ecial)i(parameter)f Fs(0)f Ft(to)h(the)g(name)g(of)g(the)g(\014le,)150
+408 y(rather)k(than)g(the)h(name)f(of)h(the)f(shell,)j(and)d(the)h(p)s
+(ositional)g(parameters)f(are)h(set)g(to)g(the)g(remain-)150
+518 y(ing)f(argumen)m(ts,)j(if)d(an)m(y)g(are)g(giv)m(en.)67
+b(If)39 b(no)g(additional)g(argumen)m(ts)h(are)f(supplied,)h(the)f(p)s
+(ositional)150 628 y(parameters)31 b(are)f(unset.)275
+762 y(A)39 b(shell)h(script)f(ma)m(y)h(b)s(e)f(made)h(executable)h(b)m
(y)e(using)g(the)h Fs(chmod)e Ft(command)h(to)h(turn)e(on)i(the)150
-3262 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
+872 y(execute)j(bit.)73 b(When)41 b(Bash)g(\014nds)e(suc)m(h)i(a)h
(\014le)f(while)g(searc)m(hing)h(the)f Fs($PATH)f Ft(for)h(a)h
-(command,)h(it)150 3371 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
-(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 3517
-y Fs(filename)46 b Fi(arguments)150 3662 y Ft(is)30 b(equiv)-5
-b(alen)m(t)32 b(to)f(executing)390 3808 y Fs(bash)47
-b(filename)e Fi(arguments)150 3953 y Ft(if)30 b Fs(filename)d
+(command,)h(it)150 981 y(spa)m(wns)30 b(a)g(subshell)g(to)h(execute)h
+(it.)41 b(In)30 b(other)g(w)m(ords,)g(executing)390 1116
+y Fs(filename)46 b Fi(arguments)150 1250 y Ft(is)30 b(equiv)-5
+b(alen)m(t)32 b(to)f(executing)390 1385 y Fs(bash)47
+b(filename)e Fi(arguments)150 1519 y Ft(if)30 b Fs(filename)d
Ft(is)j(an)f(executable)j(shell)e(script.)40 b(This)29
b(subshell)g(reinitializes)i(itself,)g(so)f(that)h(the)e(e\013ect)150
-4063 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok)
+1629 y(is)36 b(as)h(if)g(a)f(new)g(shell)h(had)f(b)s(een)g(in)m(v)m(ok)
m(ed)h(to)h(in)m(terpret)e(the)h(script,)h(with)e(the)h(exception)h
-(that)f(the)150 4172 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s
+(that)f(the)150 1738 y(lo)s(cations)25 b(of)g(commands)e(remem)m(b)s
(ered)h(b)m(y)g(the)g(paren)m(t)g(\(see)h(the)f(description)g(of)g
-Fs(hash)f Ft(in)h(Section)h(4.1)150 4282 y([Bourne)30
-b(Shell)h(Builtins],)g(page)g(35\))h(are)e(retained)h(b)m(y)f(the)h(c)m
-(hild.)275 4427 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g
+Fs(hash)f Ft(in)h(Section)h(4.1)150 1848 y([Bourne)30
+b(Shell)h(Builtins],)g(page)g(37\))h(are)e(retained)h(b)m(y)f(the)h(c)m
+(hild.)275 1983 y(Most)36 b(v)m(ersions)g(of)g(Unix)f(mak)m(e)h(this)g
(a)g(part)f(of)h(the)g(op)s(erating)g(system's)f(command)h(execution)
-150 4537 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h
+150 2092 y(mec)m(hanism.)50 b(If)33 b(the)g(\014rst)g(line)h(of)f(a)h
(script)f(b)s(egins)g(with)g(the)g(t)m(w)m(o)i(c)m(haracters)g(`)p
-Fs(#!)p Ft(',)f(the)g(remainder)150 4647 y(of)d(the)g(line)h(sp)s
+Fs(#!)p Ft(',)f(the)g(remainder)150 2202 y(of)d(the)g(line)h(sp)s
(eci\014es)e(an)h(in)m(terpreter)g(for)g(the)g(program.)43
b(Th)m(us,)30 b(y)m(ou)h(can)h(sp)s(ecify)e(Bash,)i Fs(awk)p
-Ft(,)e(P)m(erl,)150 4756 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
+Ft(,)e(P)m(erl,)150 2311 y(or)g(some)h(other)g(in)m(terpreter)g(and)e
(write)i(the)f(rest)h(of)g(the)f(script)g(\014le)h(in)f(that)h
-(language.)275 4902 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m
+(language.)275 2446 y(The)40 b(argumen)m(ts)h(to)g(the)g(in)m
(terpreter)g(consist)g(of)g(a)g(single)h(optional)f(argumen)m(t)h
-(follo)m(wing)g(the)150 5011 y(in)m(terpreter)33 b(name)h(on)f(the)g
+(follo)m(wing)g(the)150 2555 y(in)m(terpreter)33 b(name)h(on)f(the)g
(\014rst)f(line)i(of)f(the)g(script)g(\014le,)h(follo)m(w)m(ed)h(b)m(y)
-e(the)g(name)g(of)g(the)h(script)f(\014le,)150 5121 y(follo)m(w)m(ed)g
+e(the)g(name)g(of)g(the)h(script)f(\014le,)150 2665 y(follo)m(w)m(ed)g
(b)m(y)f(the)f(rest)h(of)g(the)f(argumen)m(ts.)45 b(Bash)31
b(will)h(p)s(erform)e(this)i(action)h(on)e(op)s(erating)h(systems)150
-5230 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
+2775 y(that)24 b(do)g(not)f(handle)g(it)h(themselv)m(es.)40
b(Note)25 b(that)f(some)g(older)g(v)m(ersions)f(of)h(Unix)f(limit)i
-(the)f(in)m(terpreter)150 5340 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
-(maxim)m(um)f(of)h(32)g(c)m(haracters.)p eop end
-%%Page: 34 40
-TeXDict begin 34 39 bop 150 -116 a Ft(34)2572 b(Bash)31
-b(Reference)g(Man)m(ual)275 299 y(Bash)h(scripts)g(often)g(b)s(egin)g
-(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h(Bash)f(has)g(b)s
-(een)f(installed)i(in)150 408 y(`)p Fs(/bin)p Ft('\),)25
-b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b)s(e)e(used)h(to)h(in)
-m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h(is)f(executed)150
-518 y(under)29 b(another)h(shell.)p eop end
-%%Page: 35 41
-TeXDict begin 35 40 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(35)150 299 y Fo(4)80
+(the)f(in)m(terpreter)150 2884 y(name)30 b(and)g(argumen)m(t)h(to)g(a)g
+(maxim)m(um)f(of)h(32)g(c)m(haracters.)275 3019 y(Bash)h(scripts)g
+(often)g(b)s(egin)g(with)g Fs(#!)e(/bin/bash)g Ft(\(assuming)i(that)h
+(Bash)f(has)g(b)s(een)f(installed)i(in)150 3128 y(`)p
+Fs(/bin)p Ft('\),)25 b(since)e(this)g(ensures)f(that)i(Bash)f(will)h(b)
+s(e)e(used)h(to)h(in)m(terpret)f(the)g(script,)i(ev)m(en)f(if)f(it)h
+(is)f(executed)150 3238 y(under)29 b(another)h(shell.)p
+eop end
+%%Page: 36 42
+TeXDict begin 36 41 bop eop end
+%%Page: 37 43
+TeXDict begin 37 42 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(37)150 299 y Fo(4)80
b(Shell)53 b(Builtin)f(Commands)150 541 y Ft(Builtin)34
b(commands)f(are)h(con)m(tained)g(within)f(the)h(shell)g(itself.)50
b(When)34 b(the)f(name)h(of)f(a)h(builtin)f(com-)150
@@ -7365,12 +7467,12 @@ b(Builtin)150 870 y(commands)f(are)h(necessary)g(to)g(implemen)m(t)g
(other)g(c)m(hapters:)69 b(builtin)43 b(commands)h(whic)m(h)150
1473 y(pro)m(vide)23 b(the)h(Bash)f(in)m(terface)i(to)f(the)g(job)f
(con)m(trol)i(facilities)g(\(see)f(Section)h(7.2)f([Job)f(Con)m(trol)h
-(Builtins],)150 1583 y(page)40 b(90\),)j(the)c(directory)h(stac)m(k)g
+(Builtins],)150 1583 y(page)40 b(92\),)j(the)c(directory)h(stac)m(k)g
(\(see)g(Section)g(6.8.1)h([Directory)g(Stac)m(k)f(Builtins],)i(page)e
-(81\),)j(the)150 1692 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
-([Bash)f(History)g(Builtins],)h(page)g(121\),)h(and)d(the)h
+(83\),)j(the)150 1692 y(command)23 b(history)h(\(see)g(Section)g(9.2)h
+([Bash)f(History)g(Builtins],)h(page)g(125\),)h(and)d(the)h
(programmable)150 1802 y(completion)32 b(facilities)g(\(see)g(Section)f
-(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(117\).)275
+(8.7)g([Programmable)g(Completion)g(Builtins],)g(page)h(119\).)275
1939 y(Man)m(y)f(of)f(the)h(builtins)e(ha)m(v)m(e)j(b)s(een)e(extended)
g(b)m(y)g Fl(posix)g Ft(or)g(Bash.)275 2076 y(Unless)39
b(otherwise)h(noted,)i(eac)m(h)f(builtin)e(command)g(do)s(cumen)m(ted)g
@@ -7420,8 +7522,8 @@ b(or)f(cannot)g(b)s(e)f(read,)j(the)e(return)f(status)h(is)g(non-zero.)
38 b(This)20 b(builtin)h(is)f(equiv)-5 b(alen)m(t)630
5042 y(to)31 b Fs(source)p Ft(.)150 5204 y Fs(break)870
5340 y(break)46 b([)p Fi(n)11 b Fs(])p eop end
-%%Page: 36 42
-TeXDict begin 36 41 bop 150 -116 a Ft(36)2572 b(Bash)31
+%%Page: 38 44
+TeXDict begin 38 43 bop 150 -116 a Ft(38)2572 b(Bash)31
b(Reference)g(Man)m(ual)630 299 y(Exit)45 b(from)f(a)g
Fs(for)p Ft(,)k Fs(while)p Ft(,)e Fs(until)p Ft(,)h(or)d
Fs(select)f Ft(lo)s(op.)83 b(If)44 b Fq(n)g Ft(is)g(supplied,)j(the)e
@@ -7429,1727 +7531,1810 @@ Fq(n)p Ft(th)630 408 y(enclosing)c(lo)s(op)f(is)h(exited.)70
b Fq(n)40 b Ft(m)m(ust)g(b)s(e)f(greater)j(than)d(or)i(equal)f(to)h(1.)
70 b(The)40 b(return)630 518 y(status)31 b(is)f(zero)h(unless)f
Fq(n)g Ft(is)g(not)h(greater)g(than)g(or)f(equal)h(to)g(1.)150
-671 y Fs(cd)870 803 y(cd)47 b([-L|-P])f([)p Fi(directory)11
-b Fs(])630 934 y Ft(Change)36 b(the)h(curren)m(t)f(w)m(orking)g
-(directory)h(to)g Fq(directory)8 b Ft(.)59 b(If)35 b
-Fq(directory)45 b Ft(is)36 b(not)h(giv)m(en,)630 1044
+687 y Fs(cd)870 827 y(cd)47 b([-L|[-P)f([-e]]])g([)p
+Fi(directory)11 b Fs(])630 966 y Ft(Change)36 b(the)h(curren)m(t)f(w)m
+(orking)g(directory)h(to)g Fq(directory)8 b Ft(.)59 b(If)35
+b Fq(directory)45 b Ft(is)36 b(not)h(giv)m(en,)630 1076
y(the)31 b(v)-5 b(alue)31 b(of)g(the)g Fs(HOME)e Ft(shell)i(v)-5
b(ariable)32 b(is)f(used.)40 b(If)31 b(the)g(shell)g(v)-5
-b(ariable)31 b Fs(CDPATH)e Ft(exists,)630 1154 y(it)f(is)f(used)f(as)h
+b(ariable)31 b Fs(CDPATH)e Ft(exists,)630 1186 y(it)f(is)f(used)f(as)h
(a)h(searc)m(h)f(path.)40 b(If)26 b Fq(directory)35 b
Ft(b)s(egins)27 b(with)g(a)g(slash,)h Fs(CDPATH)d Ft(is)i(not)g(used.)
-630 1285 y(The)h(`)p Fs(-P)p Ft(')h(option)g(means)f(to)h(not)g(follo)m
+630 1325 y(The)h(`)p Fs(-P)p Ft(')h(option)g(means)f(to)h(not)g(follo)m
(w)h(sym)m(b)s(olic)f(links;)g(sym)m(b)s(olic)g(links)f(are)h(follo)m
-(w)m(ed)630 1395 y(b)m(y)23 b(default)h(or)g(with)f(the)h(`)p
-Fs(-L)p Ft(')f(option.)39 b(If)23 b Fq(directory)32 b
-Ft(is)23 b(`)p Fs(-)p Ft(',)j(it)e(is)f(equiv)-5 b(alen)m(t)25
-b(to)g Fs($OLDPWD)p Ft(.)630 1526 y(If)33 b(a)h(non-empt)m(y)g
-(directory)g(name)f(from)g Fs(CDPATH)f Ft(is)h(used,)h(or)g(if)f(`)p
-Fs(-)p Ft(')h(is)f(the)h(\014rst)f(argu-)630 1636 y(men)m(t,)28
+(w)m(ed)630 1435 y(b)m(y)22 b(default)h(or)f(with)g(the)g(`)p
+Fs(-L)p Ft(')g(option.)39 b(If)22 b(the)g(`)p Fs(-e)p
+Ft(')g(option)h(is)f(supplied)f(with)h(`)p Fs(-P)p Ft(')g(and)g(the)630
+1544 y(curren)m(t)32 b(w)m(orking)h(directory)f(cannot)h(b)s(e)f
+(successfully)g(determined)g(after)h(a)f(successful)630
+1654 y(directory)f(c)m(hange,)h Fs(cd)e Ft(will)h(return)f(an)g
+(unsuccessful)g(status.)42 b(If)30 b Fq(directory)39
+b Ft(is)31 b(`)p Fs(-)p Ft(',)g(it)g(is)630 1763 y(equiv)-5
+b(alen)m(t)32 b(to)f Fs($OLDPWD)p Ft(.)630 1903 y(If)i(a)h(non-empt)m
+(y)g(directory)g(name)f(from)g Fs(CDPATH)f Ft(is)h(used,)h(or)g(if)f(`)
+p Fs(-)p Ft(')h(is)f(the)h(\014rst)f(argu-)630 2012 y(men)m(t,)28
b(and)e(the)h(directory)g(c)m(hange)h(is)f(successful,)h(the)f
-(absolute)g(pathname)g(of)f(the)h(new)630 1745 y(w)m(orking)k
+(absolute)g(pathname)g(of)f(the)h(new)630 2122 y(w)m(orking)k
(directory)g(is)f(written)g(to)i(the)e(standard)g(output.)630
-1877 y(The)f(return)g(status)h(is)f(zero)i(if)e(the)h(directory)g(is)g
-(successfully)g(c)m(hanged,)g(non-zero)g(oth-)630 1987
-y(erwise.)150 2140 y Fs(continue)870 2271 y(continue)46
-b([)p Fi(n)11 b Fs(])630 2403 y Ft(Resume)32 b(the)g(next)g(iteration)i
+2262 y(The)f(return)g(status)h(is)f(zero)i(if)e(the)h(directory)g(is)g
+(successfully)g(c)m(hanged,)g(non-zero)g(oth-)630 2371
+y(erwise.)150 2540 y Fs(continue)870 2680 y(continue)46
+b([)p Fi(n)11 b Fs(])630 2819 y Ft(Resume)32 b(the)g(next)g(iteration)i
(of)e(an)g(enclosing)h Fs(for)p Ft(,)f Fs(while)p Ft(,)f
-Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2513
+Fs(until)p Ft(,)g(or)h Fs(select)f Ft(lo)s(op.)630 2929
y(If)f Fq(n)h Ft(is)g(supplied,)e(the)j(execution)g(of)f(the)g
Fq(n)p Ft(th)f(enclosing)i(lo)s(op)f(is)f(resumed.)42
-b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 2622 y(greater)39
+b Fq(n)30 b Ft(m)m(ust)h(b)s(e)630 3039 y(greater)39
b(than)f(or)g(equal)g(to)h(1.)63 b(The)38 b(return)e(status)j(is)e
-(zero)i(unless)e Fq(n)h Ft(is)g(not)g(greater)630 2732
-y(than)30 b(or)g(equal)h(to)g(1.)150 2885 y Fs(eval)870
-3017 y(eval)47 b([)p Fi(arguments)11 b Fs(])630 3148
+(zero)i(unless)e Fq(n)h Ft(is)g(not)g(greater)630 3148
+y(than)30 b(or)g(equal)h(to)g(1.)150 3318 y Fs(eval)870
+3457 y(eval)47 b([)p Fi(arguments)11 b Fs(])630 3597
y Ft(The)25 b(argumen)m(ts)h(are)g(concatenated)i(together)f(in)m(to)f
-(a)g(single)h(command,)f(whic)m(h)g(is)f(then)630 3258
+(a)g(single)h(command,)f(whic)m(h)g(is)f(then)630 3706
y(read)35 b(and)g(executed,)j(and)d(its)h(exit)g(status)g(returned)e
(as)h(the)h(exit)g(status)g(of)g Fs(eval)p Ft(.)54 b(If)630
-3367 y(there)31 b(are)f(no)h(argumen)m(ts)f(or)h(only)f(empt)m(y)h
+3816 y(there)31 b(are)f(no)h(argumen)m(ts)f(or)h(only)f(empt)m(y)h
(argumen)m(ts,)g(the)f(return)g(status)g(is)h(zero.)150
-3521 y Fs(exec)870 3652 y(exec)47 b([-cl])f([-a)h Fi(name)11
+3985 y Fs(exec)870 4125 y(exec)47 b([-cl])f([-a)h Fi(name)11
b Fs(])46 b([)p Fi(command)56 b Fs([)p Fi(arguments)11
-b Fs(]])630 3784 y Ft(If)36 b Fq(command)k Ft(is)c(supplied,)h(it)g
+b Fs(]])630 4264 y Ft(If)36 b Fq(command)k Ft(is)c(supplied,)h(it)g
(replaces)h(the)e(shell)h(without)f(creating)i(a)f(new)f(pro)s(cess.)
-630 3893 y(If)h(the)g(`)p Fs(-l)p Ft(')g(option)h(is)f(supplied,)g(the)
+630 4374 y(If)h(the)g(`)p Fs(-l)p Ft(')g(option)h(is)f(supplied,)g(the)
h(shell)f(places)h(a)g(dash)e(at)i(the)f(b)s(eginning)f(of)i(the)630
-4003 y(zeroth)e(argumen)m(t)g(passed)f(to)h Fq(command)t
+4483 y(zeroth)e(argumen)m(t)g(passed)f(to)h Fq(command)t
Ft(.)56 b(This)34 b(is)i(what)f(the)h Fs(login)e Ft(program)h(do)s(es.)
-630 4113 y(The)e(`)p Fs(-c)p Ft(')h(option)g(causes)g
+630 4593 y(The)e(`)p Fs(-c)p Ft(')h(option)g(causes)g
Fq(command)j Ft(to)e(b)s(e)e(executed)i(with)e(an)h(empt)m(y)g(en)m
-(vironmen)m(t.)630 4222 y(If)d(`)p Fs(-a)p Ft(')g(is)h(supplied,)f(the)
+(vironmen)m(t.)630 4702 y(If)d(`)p Fs(-a)p Ft(')g(is)h(supplied,)f(the)
g(shell)h(passes)f Fq(name)37 b Ft(as)31 b(the)h(zeroth)g(argumen)m(t)g
-(to)g Fq(command)t Ft(.)630 4332 y(If)45 b(no)g Fq(command)k
+(to)g Fq(command)t Ft(.)630 4812 y(If)45 b(no)g Fq(command)k
Ft(is)c(sp)s(eci\014ed,)k(redirections)d(ma)m(y)g(b)s(e)f(used)f(to)j
-(a\013ect)g(the)e(curren)m(t)630 4441 y(shell)33 b(en)m(vironmen)m(t.)
+(a\013ect)g(the)e(curren)m(t)630 4922 y(shell)33 b(en)m(vironmen)m(t.)
48 b(If)32 b(there)h(are)g(no)f(redirection)h(errors,)g(the)g(return)e
-(status)i(is)g(zero;)630 4551 y(otherwise)e(the)f(return)g(status)g(is)
-h(non-zero.)150 4704 y Fs(exit)870 4836 y(exit)47 b([)p
-Fi(n)11 b Fs(])630 4967 y Ft(Exit)30 b(the)g(shell,)h(returning)d(a)j
-(status)f(of)g Fq(n)f Ft(to)h(the)g(shell's)g(paren)m(t.)41
-b(If)30 b Fq(n)f Ft(is)h(omitted,)h(the)630 5077 y(exit)c(status)g(is)g
-(that)g(of)g(the)g(last)g(command)f(executed.)41 b(An)m(y)26
-b(trap)h(on)f Fs(EXIT)f Ft(is)i(executed)630 5187 y(b)s(efore)j(the)h
-(shell)f(terminates.)150 5340 y Fs(export)p eop end
-%%Page: 37 43
-TeXDict begin 37 42 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(37)870 299 y Fs(export)46
+(status)i(is)g(zero;)630 5031 y(otherwise)e(the)f(return)g(status)g(is)
+h(non-zero.)150 5200 y Fs(exit)870 5340 y(exit)47 b([)p
+Fi(n)11 b Fs(])p eop end
+%%Page: 39 45
+TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(39)630 299 y(Exit)30
+b(the)g(shell,)h(returning)d(a)j(status)f(of)g Fq(n)f
+Ft(to)h(the)g(shell's)g(paren)m(t.)41 b(If)30 b Fq(n)f
+Ft(is)h(omitted,)h(the)630 408 y(exit)c(status)g(is)g(that)g(of)g(the)g
+(last)g(command)f(executed.)41 b(An)m(y)26 b(trap)h(on)f
+Fs(EXIT)f Ft(is)i(executed)630 518 y(b)s(efore)j(the)h(shell)f
+(terminates.)150 675 y Fs(export)870 808 y(export)46
b([-fn])g([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g
-Fs(]])630 432 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40
+Fs(]])630 941 y Ft(Mark)40 b(eac)m(h)h Fq(name)k Ft(to)40
b(b)s(e)f(passed)g(to)i(c)m(hild)f(pro)s(cesses)f(in)g(the)h(en)m
-(vironmen)m(t.)70 b(If)39 b(the)630 542 y(`)p Fs(-f)p
+(vironmen)m(t.)70 b(If)39 b(the)630 1050 y(`)p Fs(-f)p
Ft(')29 b(option)h(is)g(supplied,)f(the)g Fq(name)5 b
Ft(s)30 b(refer)f(to)h(shell)g(functions;)f(otherwise)h(the)g(names)630
-651 y(refer)36 b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36
+1160 y(refer)36 b(to)i(shell)e(v)-5 b(ariables.)60 b(The)36
b(`)p Fs(-n)p Ft(')h(option)g(means)f(to)h(no)g(longer)g(mark)f(eac)m
-(h)i Fq(name)630 761 y Ft(for)h(exp)s(ort.)65 b(If)39
+(h)i Fq(name)630 1270 y Ft(for)h(exp)s(ort.)65 b(If)39
b(no)g Fq(names)j Ft(are)d(supplied,)h(or)f(if)g(the)g(`)p
Fs(-p)p Ft(')g(option)g(is)g(giv)m(en,)j(a)d(list)h(of)630
-870 y(exp)s(orted)c(names)h(is)f(displa)m(y)m(ed.)60
+1379 y(exp)s(orted)c(names)h(is)f(displa)m(y)m(ed.)60
b(The)37 b(`)p Fs(-p)p Ft(')f(option)h(displa)m(ys)g(output)f(in)g(a)h
-(form)f(that)630 980 y(ma)m(y)31 b(b)s(e)f(reused)g(as)h(input.)41
+(form)f(that)630 1489 y(ma)m(y)31 b(b)s(e)f(reused)g(as)h(input.)41
b(If)31 b(a)g(v)-5 b(ariable)31 b(name)g(is)g(follo)m(w)m(ed)i(b)m(y)d
(=)p Fq(v)-5 b(alue)5 b Ft(,)32 b(the)f(v)-5 b(alue)31
-b(of)630 1089 y(the)g(v)-5 b(ariable)31 b(is)f(set)h(to)g
-Fq(v)-5 b(alue)5 b Ft(.)630 1223 y(The)29 b(return)e(status)j(is)f
+b(of)630 1598 y(the)g(v)-5 b(ariable)31 b(is)f(set)h(to)g
+Fq(v)-5 b(alue)5 b Ft(.)630 1731 y(The)29 b(return)e(status)j(is)f
(zero)h(unless)e(an)h(in)m(v)-5 b(alid)29 b(option)h(is)f(supplied,)f
-(one)i(of)f(the)g(names)630 1332 y(is)h(not)h(a)f(v)-5
+(one)i(of)f(the)g(names)630 1841 y(is)h(not)h(a)f(v)-5
b(alid)31 b(shell)f(v)-5 b(ariable)31 b(name,)f(or)h(`)p
Fs(-f)p Ft(')f(is)g(supplied)f(with)g(a)i(name)f(that)h(is)f(not)h(a)
-630 1442 y(shell)g(function.)150 1598 y Fs(getopts)870
-1731 y(getopts)46 b Fi(optstring)56 b(name)h Fs([)p Fi(args)11
-b Fs(])630 1864 y(getopts)28 b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g
+630 1951 y(shell)g(function.)150 2107 y Fs(getopts)870
+2240 y(getopts)46 b Fi(optstring)56 b(name)h Fs([)p Fi(args)11
+b Fs(])630 2373 y(getopts)28 b Ft(is)i(used)g(b)m(y)g(shell)g(scripts)g
(to)g(parse)g(p)s(ositional)h(parameters.)41 b Fq(optstring)d
-Ft(con-)630 1974 y(tains)k(the)g(option)f(c)m(haracters)i(to)g(b)s(e)d
+Ft(con-)630 2483 y(tains)k(the)g(option)f(c)m(haracters)i(to)g(b)s(e)d
(recognized;)49 b(if)42 b(a)f(c)m(haracter)j(is)d(follo)m(w)m(ed)i(b)m
-(y)f(a)630 2084 y(colon,)33 b(the)f(option)g(is)g(exp)s(ected)g(to)h
+(y)f(a)630 2592 y(colon,)33 b(the)f(option)g(is)g(exp)s(ected)g(to)h
(ha)m(v)m(e)g(an)e(argumen)m(t,)i(whic)m(h)f(should)e(b)s(e)h
-(separated)630 2193 y(from)37 b(it)h(b)m(y)f(white)h(space.)63
+(separated)630 2702 y(from)37 b(it)h(b)m(y)f(white)h(space.)63
b(The)37 b(colon)h(\(`)p Fs(:)p Ft('\))h(and)d(question)i(mark)f(\(`)p
-Fs(?)p Ft('\))i(ma)m(y)f(not)g(b)s(e)630 2303 y(used)g(as)g(option)h(c)
+Fs(?)p Ft('\))i(ma)m(y)f(not)g(b)s(e)630 2812 y(used)g(as)g(option)h(c)
m(haracters.)67 b(Eac)m(h)39 b(time)g(it)g(is)f(in)m(v)m(ok)m(ed,)k
-Fs(getopts)37 b Ft(places)i(the)g(next)630 2412 y(option)29
+Fs(getopts)37 b Ft(places)i(the)g(next)630 2921 y(option)29
b(in)f(the)g(shell)h(v)-5 b(ariable)29 b Fq(name)5 b
Ft(,)29 b(initializing)h Fq(name)k Ft(if)28 b(it)h(do)s(es)f(not)g
-(exist,)i(and)e(the)630 2522 y(index)33 b(of)g(the)h(next)f(argumen)m
+(exist,)i(and)e(the)630 3031 y(index)33 b(of)g(the)h(next)f(argumen)m
(t)h(to)g(b)s(e)e(pro)s(cessed)h(in)m(to)h(the)g(v)-5
-b(ariable)34 b Fs(OPTIND)p Ft(.)48 b Fs(OPTIND)630 2632
+b(ariable)34 b Fs(OPTIND)p Ft(.)48 b Fs(OPTIND)630 3140
y Ft(is)41 b(initialized)i(to)f(1)f(eac)m(h)h(time)g(the)f(shell)g(or)g
(a)g(shell)g(script)g(is)g(in)m(v)m(ok)m(ed.)74 b(When)41
-b(an)630 2741 y(option)36 b(requires)e(an)h(argumen)m(t,)i
+b(an)630 3250 y(option)36 b(requires)e(an)h(argumen)m(t,)i
Fs(getopts)c Ft(places)j(that)g(argumen)m(t)g(in)m(to)g(the)f(v)-5
-b(ariable)630 2851 y Fs(OPTARG)p Ft(.)55 b(The)35 b(shell)g(do)s(es)h
+b(ariable)630 3360 y Fs(OPTARG)p Ft(.)55 b(The)35 b(shell)g(do)s(es)h
(not)g(reset)g Fs(OPTIND)e Ft(automatically;)41 b(it)36
-b(m)m(ust)f(b)s(e)g(man)m(ually)630 2960 y(reset)i(b)s(et)m(w)m(een)g
+b(m)m(ust)f(b)s(e)g(man)m(ually)630 3469 y(reset)i(b)s(et)m(w)m(een)g
(m)m(ultiple)h(calls)f(to)g Fs(getopts)e Ft(within)h(the)h(same)g
-(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 3070 y(new)30
+(shell)f(in)m(v)m(o)s(cation)j(if)e(a)630 3579 y(new)30
b(set)h(of)f(parameters)h(is)f(to)i(b)s(e)d(used.)630
-3203 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
+3712 y(When)41 b(the)h(end)e(of)i(options)g(is)f(encoun)m(tered,)k
Fs(getopts)39 b Ft(exits)j(with)f(a)h(return)e(v)-5 b(alue)630
-3313 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
+3821 y(greater)32 b(than)e(zero.)41 b Fs(OPTIND)29 b
Ft(is)h(set)h(to)g(the)g(index)f(of)g(the)h(\014rst)f(non-option)g
-(argumen)m(t,)630 3422 y(and)g Fs(name)f Ft(is)h(set)h(to)g(`)p
-Fs(?)p Ft('.)630 3555 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
+(argumen)m(t,)630 3931 y(and)g Fq(name)35 b Ft(is)c(set)g(to)g(`)p
+Fs(?)p Ft('.)630 4064 y Fs(getopts)c Ft(normally)j(parses)e(the)i(p)s
(ositional)g(parameters,)g(but)e(if)i(more)f(argumen)m(ts)h(are)630
-3665 y(giv)m(en)h(in)f Fq(args)t Ft(,)h Fs(getopts)e
-Ft(parses)g(those)i(instead.)630 3798 y Fs(getopts)h
+4174 y(giv)m(en)h(in)f Fq(args)t Ft(,)h Fs(getopts)e
+Ft(parses)g(those)i(instead.)630 4307 y Fs(getopts)h
Ft(can)h(rep)s(ort)g(errors)g(in)h(t)m(w)m(o)h(w)m(a)m(ys.)51
b(If)33 b(the)h(\014rst)e(c)m(haracter)k(of)d Fq(optstring)42
-b Ft(is)34 b(a)630 3907 y(colon,)i Fq(silen)m(t)i Ft(error)33
+b Ft(is)34 b(a)630 4416 y(colon,)i Fq(silen)m(t)i Ft(error)33
b(rep)s(orting)h(is)h(used.)51 b(In)33 b(normal)i(op)s(eration)f
-(diagnostic)i(messages)630 4017 y(are)30 b(prin)m(ted)e(when)g(in)m(v)
+(diagnostic)i(messages)630 4526 y(are)30 b(prin)m(ted)e(when)g(in)m(v)
-5 b(alid)30 b(options)g(or)f(missing)g(option)g(argumen)m(ts)h(are)f
-(encoun)m(tered.)630 4127 y(If)34 b(the)g(v)-5 b(ariable)35
+(encoun)m(tered.)630 4635 y(If)34 b(the)g(v)-5 b(ariable)35
b Fs(OPTERR)d Ft(is)i(set)h(to)f(0,)i(no)e(error)g(messages)h(will)f(b)
-s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630 4236 y(the)c(\014rst)e(c)m
+s(e)f(displa)m(y)m(ed,)j(ev)m(en)f(if)630 4745 y(the)c(\014rst)e(c)m
(haracter)j(of)f Fs(optstring)d Ft(is)i(not)h(a)f(colon.)630
-4369 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
+4878 y(If)39 b(an)h(in)m(v)-5 b(alid)41 b(option)f(is)g(seen,)i
Fs(getopts)c Ft(places)j(`)p Fs(?)p Ft(')f(in)m(to)h
-Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 4479 y(prin)m(ts)f(an)h
+Fq(name)k Ft(and,)d(if)e(not)g(silen)m(t,)630 4988 y(prin)m(ts)f(an)h
(error)f(message)h(and)f(unsets)g Fs(OPTARG)p Ft(.)67
b(If)39 b Fs(getopts)f Ft(is)i(silen)m(t,)j(the)c(option)630
-4589 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
+5097 y(c)m(haracter)32 b(found)d(is)h(placed)h(in)f Fs(OPTARG)f
Ft(and)h(no)g(diagnostic)i(message)f(is)g(prin)m(ted.)630
-4722 y(If)c(a)g(required)f(argumen)m(t)i(is)f(not)g(found,)g(and)f
+5230 y(If)c(a)g(required)f(argumen)m(t)i(is)f(not)g(found,)g(and)f
Fs(getopts)f Ft(is)i(not)h(silen)m(t,)h(a)e(question)g(mark)630
-4831 y(\(`)p Fs(?)p Ft('\))35 b(is)g(placed)g(in)g Fq(name)5
+5340 y(\(`)p Fs(?)p Ft('\))35 b(is)g(placed)g(in)g Fq(name)5
b Ft(,)36 b Fs(OPTARG)d Ft(is)h(unset,)i(and)e(a)h(diagnostic)h
-(message)f(is)g(prin)m(ted.)630 4941 y(If)e Fs(getopts)f
-Ft(is)h(silen)m(t,)j(then)d(a)i(colon)f(\(`)p Fs(:)p
-Ft('\))h(is)e(placed)h(in)g Fq(name)k Ft(and)33 b Fs(OPTARG)f
-Ft(is)i(set)g(to)630 5050 y(the)d(option)f(c)m(haracter)i(found.)150
-5207 y Fs(hash)870 5340 y(hash)47 b([-r])f([-p)h Fi(filename)11
-b Fs(])45 b([-dt])h([)p Fi(name)11 b Fs(])p eop end
-%%Page: 38 44
-TeXDict begin 38 43 bop 150 -116 a Ft(38)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Remem)m(b)s(er)36 b(the)g(full)g
-(pathnames)g(of)g(commands)g(sp)s(eci\014ed)g(as)g Fq(name)41
-b Ft(argumen)m(ts,)e(so)630 408 y(they)34 b(need)h(not)f(b)s(e)g(searc)
-m(hed)h(for)f(on)g(subsequen)m(t)f(in)m(v)m(o)s(cations.)55
-b(The)34 b(commands)g(are)630 518 y(found)39 b(b)m(y)i(searc)m(hing)g
-(through)f(the)h(directories)g(listed)g(in)f Fs($PATH)p
-Ft(.)70 b(The)40 b(`)p Fs(-p)p Ft(')g(option)630 628
-y(inhibits)e(the)h(path)f(searc)m(h,)j(and)d Fq(\014lename)44
-b Ft(is)39 b(used)f(as)g(the)h(lo)s(cation)h(of)f Fq(name)5
-b Ft(.)65 b(The)630 737 y(`)p Fs(-r)p Ft(')28 b(option)g(causes)g(the)g
-(shell)h(to)f(forget)h(all)g(remem)m(b)s(ered)e(lo)s(cations.)41
-b(The)28 b(`)p Fs(-d)p Ft(')f(option)630 847 y(causes)38
-b(the)f(shell)h(to)g(forget)g(the)f(remem)m(b)s(ered)g(lo)s(cation)i
-(of)e(eac)m(h)h Fq(name)5 b Ft(.)62 b(If)37 b(the)g(`)p
-Fs(-t)p Ft(')630 956 y(option)22 b(is)g(supplied,)g(the)g(full)f
-(pathname)h(to)g(whic)m(h)g(eac)m(h)g Fq(name)27 b Ft(corresp)s(onds)20
-b(is)i(prin)m(ted.)630 1066 y(If)33 b(m)m(ultiple)h Fq(name)k
-Ft(argumen)m(ts)c(are)f(supplied)f(with)h(`)p Fs(-t)p
-Ft(')g(the)h Fq(name)k Ft(is)c(prin)m(ted)e(b)s(efore)630
-1176 y(the)h(hashed)f(full)g(pathname.)48 b(The)32 b(`)p
-Fs(-l)p Ft(')h(option)g(causes)g(output)f(to)i(b)s(e)e(displa)m(y)m(ed)
-h(in)g(a)630 1285 y(format)f(that)g(ma)m(y)g(b)s(e)f(reused)g(as)g
-(input.)43 b(If)31 b(no)h(argumen)m(ts)g(are)f(giv)m(en,)j(or)d(if)g
-(only)h(`)p Fs(-l)p Ft(')630 1395 y(is)j(supplied,)f(information)h(ab)s
-(out)g(remem)m(b)s(ered)f(commands)g(is)h(prin)m(ted.)53
-b(The)34 b(return)630 1504 y(status)d(is)f(zero)h(unless)f(a)h
-Fq(name)k Ft(is)c(not)f(found)f(or)i(an)f(in)m(v)-5 b(alid)31
-b(option)g(is)f(supplied.)150 1672 y Fs(pwd)870 1811
-y(pwd)47 b([-LP])630 1950 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)
-g(of)f(the)h(curren)m(t)f(w)m(orking)h(directory)-8 b(.)40
-b(If)23 b(the)i(`)p Fs(-P)p Ft(')f(option)630 2060 y(is)36
-b(supplied,)f(the)h(pathname)f(prin)m(ted)g(will)h(not)g(con)m(tain)h
-(sym)m(b)s(olic)f(links.)55 b(If)35 b(the)h(`)p Fs(-L)p
-Ft(')630 2169 y(option)44 b(is)g(supplied,)i(the)e(pathname)f(prin)m
-(ted)h(ma)m(y)g(con)m(tain)h(sym)m(b)s(olic)f(links.)80
-b(The)630 2279 y(return)26 b(status)h(is)h(zero)g(unless)e(an)h(error)g
-(is)g(encoun)m(tered)g(while)h(determining)f(the)g(name)630
-2388 y(of)k(the)f(curren)m(t)g(directory)h(or)f(an)h(in)m(v)-5
-b(alid)31 b(option)g(is)f(supplied.)150 2556 y Fs(readonly)870
-2695 y(readonly)46 b([-aApf])f([)p Fi(name)11 b Fs([=)p
-Fi(value)g Fs(]])43 b(...)630 2834 y Ft(Mark)24 b(eac)m(h)h
-Fq(name)k Ft(as)24 b(readonly)-8 b(.)39 b(The)24 b(v)-5
-b(alues)24 b(of)g(these)g(names)g(ma)m(y)g(not)g(b)s(e)g(c)m(hanged)g
-(b)m(y)630 2944 y(subsequen)m(t)e(assignmen)m(t.)39 b(If)22
-b(the)h(`)p Fs(-f)p Ft(')f(option)i(is)e(supplied,)h(eac)m(h)h
-Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 3053 y(function.)39
-b(The)26 b(`)p Fs(-a)p Ft(')h(option)g(means)g(eac)m(h)h
+(message)f(is)g(prin)m(ted.)p eop end
+%%Page: 40 46
+TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(If)i Fs(getopts)f Ft(is)h(silen)m(t,)
+j(then)d(a)i(colon)f(\(`)p Fs(:)p Ft('\))h(is)e(placed)h(in)g
+Fq(name)k Ft(and)33 b Fs(OPTARG)f Ft(is)i(set)g(to)630
+408 y(the)d(option)f(c)m(haracter)i(found.)150 573 y
+Fs(hash)870 710 y(hash)47 b([-r])f([-p)h Fi(filename)11
+b Fs(])45 b([-dt])h([)p Fi(name)11 b Fs(])630 847 y Ft(Eac)m(h)32
+b(time)g Fs(hash)e Ft(is)h(in)m(v)m(ok)m(ed,)j(it)d(remem)m(b)s(ers)g
+(the)g(full)g(pathnames)g(of)h(the)f(commands)630 956
+y(sp)s(eci\014ed)i(as)i Fq(name)k Ft(argumen)m(ts,)c(so)g(they)f(need)g
+(not)g(b)s(e)f(searc)m(hed)i(for)f(on)g(subsequen)m(t)630
+1066 y(in)m(v)m(o)s(cations.)79 b(The)41 b(commands)h(are)h(found)e(b)m
+(y)h(searc)m(hing)i(through)d(the)i(directories)630 1176
+y(listed)33 b(in)g Fs($PATH)p Ft(.)47 b(An)m(y)33 b(previously-remem)m
+(b)s(ered)f(pathname)h(is)g(discarded.)48 b(The)32 b(`)p
+Fs(-p)p Ft(')630 1285 y(option)i(inhibits)e(the)i(path)f(searc)m(h,)i
+(and)e Fq(\014lename)38 b Ft(is)c(used)e(as)i(the)f(lo)s(cation)i(of)f
+Fq(name)5 b Ft(.)630 1395 y(The)35 b(`)p Fs(-r)p Ft(')g(option)g
+(causes)h(the)g(shell)f(to)h(forget)g(all)g(remem)m(b)s(ered)f(lo)s
+(cations.)56 b(The)35 b(`)p Fs(-d)p Ft(')630 1504 y(option)c(causes)f
+(the)g(shell)h(to)f(forget)i(the)e(remem)m(b)s(ered)f(lo)s(cation)j(of)
+e(eac)m(h)h Fq(name)5 b Ft(.)41 b(If)30 b(the)630 1614
+y(`)p Fs(-t)p Ft(')35 b(option)h(is)g(supplied,)f(the)h(full)f
+(pathname)g(to)i(whic)m(h)e(eac)m(h)h Fq(name)41 b Ft(corresp)s(onds)34
+b(is)630 1724 y(prin)m(ted.)39 b(If)26 b(m)m(ultiple)h
+Fq(name)32 b Ft(argumen)m(ts)27 b(are)g(supplied)e(with)h(`)p
+Fs(-t)p Ft(')g(the)h Fq(name)32 b Ft(is)26 b(prin)m(ted)630
+1833 y(b)s(efore)f(the)h(hashed)e(full)h(pathname.)39
+b(The)25 b(`)p Fs(-l)p Ft(')h(option)f(causes)h(output)f(to)i(b)s(e)d
+(displa)m(y)m(ed)630 1943 y(in)31 b(a)g(format)h(that)f(ma)m(y)h(b)s(e)
+f(reused)f(as)h(input.)42 b(If)31 b(no)g(argumen)m(ts)h(are)f(giv)m
+(en,)i(or)e(if)g(only)630 2052 y(`)p Fs(-l)p Ft(')44
+b(is)f(supplied,)j(information)e(ab)s(out)g(remem)m(b)s(ered)f
+(commands)g(is)h(prin)m(ted.)80 b(The)630 2162 y(return)25
+b(status)h(is)f(zero)i(unless)e(a)h Fq(name)31 b Ft(is)26
+b(not)g(found)e(or)i(an)g(in)m(v)-5 b(alid)26 b(option)g(is)g
+(supplied.)150 2326 y Fs(pwd)870 2463 y(pwd)47 b([-LP])630
+2600 y Ft(Prin)m(t)24 b(the)h(absolute)g(pathname)g(of)f(the)h(curren)m
+(t)f(w)m(orking)h(directory)-8 b(.)40 b(If)23 b(the)i(`)p
+Fs(-P)p Ft(')f(option)630 2710 y(is)36 b(supplied,)f(the)h(pathname)f
+(prin)m(ted)g(will)h(not)g(con)m(tain)h(sym)m(b)s(olic)f(links.)55
+b(If)35 b(the)h(`)p Fs(-L)p Ft(')630 2819 y(option)44
+b(is)g(supplied,)i(the)e(pathname)f(prin)m(ted)h(ma)m(y)g(con)m(tain)h
+(sym)m(b)s(olic)f(links.)80 b(The)630 2929 y(return)26
+b(status)h(is)h(zero)g(unless)e(an)h(error)g(is)g(encoun)m(tered)g
+(while)h(determining)f(the)g(name)630 3039 y(of)k(the)f(curren)m(t)g
+(directory)h(or)f(an)h(in)m(v)-5 b(alid)31 b(option)g(is)f(supplied.)
+150 3203 y Fs(readonly)870 3340 y(readonly)46 b([-aApf])f([)p
+Fi(name)11 b Fs([=)p Fi(value)g Fs(]])43 b(...)630 3477
+y Ft(Mark)24 b(eac)m(h)h Fq(name)k Ft(as)24 b(readonly)-8
+b(.)39 b(The)24 b(v)-5 b(alues)24 b(of)g(these)g(names)g(ma)m(y)g(not)g
+(b)s(e)g(c)m(hanged)g(b)m(y)630 3587 y(subsequen)m(t)e(assignmen)m(t.)
+39 b(If)22 b(the)h(`)p Fs(-f)p Ft(')f(option)i(is)e(supplied,)h(eac)m
+(h)h Fq(name)k Ft(refers)22 b(to)i(a)f(shell)630 3696
+y(function.)39 b(The)26 b(`)p Fs(-a)p Ft(')h(option)g(means)g(eac)m(h)h
Fq(name)k Ft(refers)26 b(to)i(an)e(indexed)h(arra)m(y)g(v)-5
-b(ariable;)630 3163 y(the)33 b(`)p Fs(-A)p Ft(')g(option)g(means)g(eac)
+b(ariable;)630 3806 y(the)33 b(`)p Fs(-A)p Ft(')g(option)g(means)g(eac)
m(h)h Fq(name)k Ft(refers)32 b(to)h(an)g(asso)s(ciativ)m(e)j(arra)m(y)d
-(v)-5 b(ariable.)49 b(If)32 b(no)630 3272 y Fq(name)f
+(v)-5 b(ariable.)49 b(If)32 b(no)630 3915 y Fq(name)f
Ft(argumen)m(ts)26 b(are)g(giv)m(en,)i(or)d(if)h(the)g(`)p
Fs(-p)p Ft(')f(option)h(is)g(supplied,)f(a)h(list)h(of)e(all)i
-(readonly)630 3382 y(names)37 b(is)g(prin)m(ted.)59 b(The)37
+(readonly)630 4025 y(names)37 b(is)g(prin)m(ted.)59 b(The)37
b(`)p Fs(-p)p Ft(')f(option)i(causes)f(output)g(to)g(b)s(e)f(displa)m
-(y)m(ed)i(in)e(a)i(format)630 3492 y(that)25 b(ma)m(y)g(b)s(e)e(reused)
+(y)m(ed)i(in)e(a)i(format)630 4134 y(that)25 b(ma)m(y)g(b)s(e)e(reused)
h(as)g(input.)38 b(If)24 b(a)g(v)-5 b(ariable)25 b(name)g(is)f(follo)m
(w)m(ed)i(b)m(y)e(=)p Fq(v)-5 b(alue)5 b Ft(,)26 b(the)e(v)-5
-b(alue)630 3601 y(of)26 b(the)h(v)-5 b(ariable)27 b(is)f(set)h(to)g
+b(alue)630 4244 y(of)26 b(the)h(v)-5 b(ariable)27 b(is)f(set)h(to)g
Fq(v)-5 b(alue)5 b Ft(.)40 b(The)26 b(return)f(status)i(is)f(zero)h
-(unless)e(an)i(in)m(v)-5 b(alid)26 b(option)630 3711
+(unless)e(an)i(in)m(v)-5 b(alid)26 b(option)630 4354
y(is)k(supplied,)f(one)h(of)g(the)g Fq(name)35 b Ft(argumen)m(ts)30
b(is)g(not)g(a)g(v)-5 b(alid)31 b(shell)f(v)-5 b(ariable)30
-b(or)g(function)630 3820 y(name,)h(or)f(the)h(`)p Fs(-f)p
+b(or)g(function)630 4463 y(name,)h(or)f(the)h(`)p Fs(-f)p
Ft(')f(option)h(is)f(supplied)f(with)h(a)h(name)f(that)h(is)g(not)f(a)h
-(shell)g(function.)150 3988 y Fs(return)870 4127 y(return)46
-b([)p Fi(n)11 b Fs(])630 4266 y Ft(Cause)30 b(a)g(shell)g(function)g
+(shell)g(function.)150 4628 y Fs(return)870 4765 y(return)46
+b([)p Fi(n)11 b Fs(])630 4902 y Ft(Cause)30 b(a)g(shell)g(function)g
(to)h(exit)f(with)g(the)g(return)f(v)-5 b(alue)31 b Fq(n)p
Ft(.)40 b(If)29 b Fq(n)h Ft(is)g(not)g(supplied,)f(the)630
-4376 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f(of)h
+5011 y(return)35 b(v)-5 b(alue)37 b(is)f(the)g(exit)h(status)f(of)h
(the)f(last)h(command)f(executed)h(in)f(the)g(function.)630
-4485 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
+5121 y(This)21 b(ma)m(y)i(also)g(b)s(e)e(used)g(to)i(terminate)g
(execution)g(of)f(a)h(script)f(b)s(eing)f(executed)i(with)f(the)630
-4595 y Fs(.)27 b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e
+5230 y Fs(.)27 b Ft(\(or)g Fs(source)p Ft(\))f(builtin,)i(returning)e
(either)h Fq(n)g Ft(or)g(the)g(exit)h(status)g(of)f(the)g(last)h
-(command)630 4704 y(executed)46 b(within)f(the)g(script)g(as)h(the)f
-(exit)h(status)g(of)f(the)h(script.)85 b(An)m(y)45 b(command)630
-4814 y(asso)s(ciated)30 b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g
-(executed)h(b)s(efore)f(execution)h(resumes)f(after)h(the)630
-4924 y(function)38 b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g
-(non-zero)h(if)e Fs(return)g Ft(is)g(used)g(outside)i(a)630
-5033 y(function)30 b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h
-(script)f(b)m(y)h Fs(.)f Ft(or)g Fs(source)p Ft(.)150
-5201 y Fs(shift)870 5340 y(shift)46 b([)p Fi(n)11 b Fs(])p
+(command)630 5340 y(executed)46 b(within)f(the)g(script)g(as)h(the)f
+(exit)h(status)g(of)f(the)h(script.)85 b(An)m(y)45 b(command)p
eop end
-%%Page: 39 45
-TeXDict begin 39 44 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(39)630 299 y(Shift)41
+%%Page: 41 47
+TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(asso)s(ciated)30
+b(with)e(the)g Fs(RETURN)f Ft(trap)h(is)g(executed)h(b)s(efore)f
+(execution)h(resumes)f(after)h(the)630 408 y(function)38
+b(or)f(script.)63 b(The)38 b(return)e(status)i(is)g(non-zero)h(if)e
+Fs(return)g Ft(is)g(used)g(outside)i(a)630 518 y(function)30
+b(and)g(not)g(during)g(the)g(execution)i(of)e(a)h(script)f(b)m(y)h
+Fs(.)f Ft(or)g Fs(source)p Ft(.)150 682 y Fs(shift)870
+819 y(shift)46 b([)p Fi(n)11 b Fs(])630 956 y Ft(Shift)41
b(the)g(p)s(ositional)h(parameters)g(to)g(the)f(left)h(b)m(y)g
Fq(n)p Ft(.)73 b(The)40 b(p)s(ositional)j(parameters)630
-408 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
+1066 y(from)34 b Fq(n)p Fs(+)p Ft(1)39 b(.)22 b(.)h(.)45
b Fs($#)34 b Ft(are)g(renamed)g(to)h Fs($1)k Ft(.)22
b(.)g(.)46 b Fs($#)p Ft(-)p Fq(n)p Ft(.)51 b(P)m(arameters)36
-b(represen)m(ted)e(b)m(y)g(the)630 518 y(n)m(um)m(b)s(ers)25
+b(represen)m(ted)e(b)m(y)g(the)630 1176 y(n)m(um)m(b)s(ers)25
b Fs($#)i Ft(to)g Fs($#)p Ft(-)p Fq(n)p Fs(+)p Ft(1)g(are)g(unset.)39
b Fq(n)26 b Ft(m)m(ust)h(b)s(e)f(a)i(non-negativ)m(e)h(n)m(um)m(b)s(er)
-c(less)i(than)g(or)630 628 y(equal)33 b(to)h Fs($#)p
+c(less)i(than)g(or)630 1285 y(equal)33 b(to)h Fs($#)p
Ft(.)47 b(If)33 b Fq(n)f Ft(is)h(zero)g(or)g(greater)h(than)f
Fs($#)p Ft(,)g(the)g(p)s(ositional)g(parameters)g(are)h(not)630
-737 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
+1395 y(c)m(hanged.)48 b(If)32 b Fq(n)g Ft(is)h(not)f(supplied,)h(it)g
(is)f(assumed)g(to)h(b)s(e)f(1.)48 b(The)32 b(return)g(status)h(is)f
-(zero)630 847 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
+(zero)630 1504 y(unless)e Fq(n)f Ft(is)i(greater)g(than)g
Fs($#)e Ft(or)i(less)f(than)h(zero,)g(non-zero)g(otherwise.)150
-1006 y Fs(test)150 1116 y([)432 b Ft(Ev)-5 b(aluate)31
+1669 y Fs(test)150 1778 y([)432 b Ft(Ev)-5 b(aluate)31
b(a)g(conditional)g(expression)f Fq(expr)7 b Ft(.)40
b(Eac)m(h)30 b(op)s(erator)h(and)e(op)s(erand)g(m)m(ust)h(b)s(e)g(a)630
-1225 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)
+1888 y(separate)d(argumen)m(t.)40 b(Expressions)25 b(are)i(comp)s(osed)
e(of)i(the)f(primaries)g(describ)s(ed)f(b)s(elo)m(w)630
-1335 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
-(page)g(76.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
-1445 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
+1998 y(in)34 b(Section)g(6.4)h([Bash)g(Conditional)f(Expressions],)h
+(page)g(78.)52 b Fs(test)33 b Ft(do)s(es)g(not)h(accept)630
+2107 y(an)m(y)27 b(options,)i(nor)d(do)s(es)h(it)g(accept)i(and)d
(ignore)i(an)f(argumen)m(t)g(of)g(`)p Fs(--)p Ft(')g(as)h(signifying)f
-(the)630 1554 y(end)j(of)g(options.)630 1689 y(When)g(the)h
+(the)630 2217 y(end)j(of)g(options.)630 2354 y(When)g(the)h
Fs([)f Ft(form)g(is)g(used,)g(the)g(last)i(argumen)m(t)e(to)i(the)e
-(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 1823
+(command)g(m)m(ust)h(b)s(e)e(a)i Fs(])p Ft(.)630 2491
y(Expressions)23 b(ma)m(y)h(b)s(e)e(com)m(bined)i(using)f(the)h(follo)m
(wing)h(op)s(erators,)g(listed)f(in)f(decreasing)630
-1933 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
+2600 y(order)30 b(of)h(precedence.)43 b(The)30 b(ev)-5
b(aluation)33 b(dep)s(ends)28 b(on)j(the)g(n)m(um)m(b)s(er)f(of)h
-(argumen)m(ts;)g(see)630 2042 y(b)s(elo)m(w.)630 2202
-y Fs(!)f Fi(expr)210 b Ft(T)-8 b(rue)30 b(if)g Fq(expr)37
-b Ft(is)30 b(false.)630 2361 y Fs(\()g Fi(expr)40 b Fs(\))122
-b Ft(Returns)23 b(the)h(v)-5 b(alue)24 b(of)g Fq(expr)7
-b Ft(.)37 b(This)23 b(ma)m(y)i(b)s(e)e(used)g(to)h(o)m(v)m(erride)h
-(the)f(normal)1110 2471 y(precedence)31 b(of)f(op)s(erators.)630
-2630 y Fi(expr1)39 b Fs(-a)30 b Fi(expr2)1110 2740 y
-Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g Fq(expr1)37 b Ft(and)30
-b Fq(expr2)38 b Ft(are)30 b(true.)630 2899 y Fi(expr1)39
-b Fs(-o)30 b Fi(expr2)1110 3009 y Ft(T)-8 b(rue)30 b(if)g(either)h
-Fq(expr1)38 b Ft(or)30 b Fq(expr2)37 b Ft(is)31 b(true.)630
-3168 y(The)37 b Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5
-b(aluate)39 b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)
-630 3278 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)
-630 3437 y(0)h(argumen)m(ts)1110 3547 y(The)f(expression)g(is)g(false.)
-630 3706 y(1)h(argumen)m(t)1110 3816 y(The)f(expression)g(is)g(true)h
-(if)f(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)630
-3975 y(2)g(argumen)m(ts)1110 4085 y(If)f(the)h(\014rst)f(argumen)m(t)h
+(argumen)m(ts;)g(see)630 2710 y(b)s(elo)m(w.)41 b(Op)s(erator)30
+b(precedence)h(is)f(used)g(when)f(there)i(are)f(\014v)m(e)h(or)f(more)h
+(argumen)m(ts.)630 2874 y Fs(!)f Fi(expr)210 b Ft(T)-8
+b(rue)30 b(if)g Fq(expr)37 b Ft(is)30 b(false.)630 3039
+y Fs(\()g Fi(expr)40 b Fs(\))122 b Ft(Returns)23 b(the)h(v)-5
+b(alue)24 b(of)g Fq(expr)7 b Ft(.)37 b(This)23 b(ma)m(y)i(b)s(e)e(used)
+g(to)h(o)m(v)m(erride)h(the)f(normal)1110 3148 y(precedence)31
+b(of)f(op)s(erators.)630 3313 y Fi(expr1)39 b Fs(-a)30
+b Fi(expr2)1110 3422 y Ft(T)-8 b(rue)30 b(if)g(b)s(oth)g
+Fq(expr1)37 b Ft(and)30 b Fq(expr2)38 b Ft(are)30 b(true.)630
+3587 y Fi(expr1)39 b Fs(-o)30 b Fi(expr2)1110 3696 y
+Ft(T)-8 b(rue)30 b(if)g(either)h Fq(expr1)38 b Ft(or)30
+b Fq(expr2)37 b Ft(is)31 b(true.)630 3861 y(The)37 b
+Fs(test)f Ft(and)g Fs([)h Ft(builtins)g(ev)-5 b(aluate)39
+b(conditional)f(expressions)f(using)g(a)g(set)h(of)f(rules)630
+3970 y(based)30 b(on)g(the)h(n)m(um)m(b)s(er)e(of)h(argumen)m(ts.)630
+4134 y(0)h(argumen)m(ts)1110 4244 y(The)f(expression)g(is)g(false.)630
+4408 y(1)h(argumen)m(t)1110 4518 y(The)f(expression)g(is)g(true)h(if)f
+(and)g(only)g(if)h(the)f(argumen)m(t)h(is)f(not)h(n)m(ull.)630
+4682 y(2)g(argumen)m(ts)1110 4792 y(If)f(the)h(\014rst)f(argumen)m(t)h
(is)g(`)p Fs(!)p Ft(',)g(the)g(expression)g(is)g(true)f(if)h(and)f
-(only)h(if)g(the)1110 4194 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
+(only)h(if)g(the)1110 4902 y(second)j(argumen)m(t)f(is)h(n)m(ull.)50
b(If)33 b(the)h(\014rst)e(argumen)m(t)i(is)g(one)g(of)f(the)h(unary)
-1110 4304 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
-([Bash)g(Conditional)g(Expres-)1110 4413 y(sions],)34
-b(page)f(76\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
-(test)j(is)f(true.)47 b(If)1110 4523 y(the)33 b(\014rst)g(argumen)m(t)h
+1110 5011 y(conditional)42 b(op)s(erators)f(\(see)g(Section)h(6.4)f
+([Bash)g(Conditional)g(Expres-)1110 5121 y(sions],)34
+b(page)f(78\),)i(the)e(expression)f(is)h(true)g(if)g(the)g(unary)e
+(test)j(is)f(true.)47 b(If)1110 5230 y(the)33 b(\014rst)g(argumen)m(t)h
(is)f(not)g(a)h(v)-5 b(alid)34 b(unary)e(op)s(erator,)i(the)g
-(expression)f(is)1110 4633 y(false.)630 4792 y(3)e(argumen)m(ts)1110
-4902 y(If)k(the)g(second)g(argumen)m(t)g(is)g(one)h(of)f(the)g(binary)f
-(conditional)j(op)s(erators)1110 5011 y(\(see)23 b(Section)g(6.4)f
-([Bash)h(Conditional)f(Expressions],)h(page)g(76\),)i(the)d(result)1110
-5121 y(of)44 b(the)h(expression)f(is)g(the)g(result)g(of)h(the)f
-(binary)g(test)h(using)e(the)i(\014rst)1110 5230 y(and)31
-b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44 b(The)31
-b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i(are)1110
-5340 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i(are)f
-(three)h(argumen)m(ts.)39 b(If)25 b(the)p eop end
-%%Page: 40 46
-TeXDict begin 40 45 bop 150 -116 a Ft(40)2572 b(Bash)31
-b(Reference)g(Man)m(ual)1110 299 y(\014rst)d(argumen)m(t)h(is)g(`)p
-Fs(!)p Ft(',)h(the)f(v)-5 b(alue)29 b(is)g(the)g(negation)i(of)e(the)g
-(t)m(w)m(o-argumen)m(t)1110 408 y(test)38 b(using)f(the)g(second)g(and)
-g(third)f(argumen)m(ts.)61 b(If)37 b(the)g(\014rst)f(argumen)m(t)1110
-518 y(is)j(exactly)i(`)p Fs(\()p Ft(')f(and)f(the)g(third)g(argumen)m
-(t)h(is)f(exactly)i(`)p Fs(\))p Ft(',)h(the)e(result)f(is)1110
-628 y(the)46 b(one-argumen)m(t)g(test)h(of)f(the)f(second)h(argumen)m
-(t.)86 b(Otherwise,)50 b(the)1110 737 y(expression)30
-b(is)h(false.)630 909 y(4)g(argumen)m(ts)1110 1019 y(If)h(the)i
-(\014rst)e(argumen)m(t)h(is)g(`)p Fs(!)p Ft(',)h(the)f(result)g(is)g
-(the)g(negation)h(of)f(the)g(three-)1110 1129 y(argumen)m(t)h
-(expression)f(comp)s(osed)h(of)f(the)h(remaining)g(argumen)m(ts.)50
-b(Oth-)1110 1238 y(erwise,)34 b(the)f(expression)g(is)g(parsed)g(and)f
-(ev)-5 b(aluated)34 b(according)h(to)e(prece-)1110 1348
-y(dence)e(using)e(the)i(rules)f(listed)h(ab)s(o)m(v)m(e.)630
-1520 y(5)g(or)f(more)h(argumen)m(ts)1110 1630 y(The)43
-b(expression)f(is)i(parsed)e(and)g(ev)-5 b(aluated)45
-b(according)f(to)f(precedence)1110 1739 y(using)30 b(the)g(rules)g
-(listed)h(ab)s(o)m(v)m(e.)150 1911 y Fs(times)870 2052
-y(times)630 2193 y Ft(Prin)m(t)37 b(out)h(the)g(user)e(and)h(system)g
-(times)h(used)f(b)m(y)g(the)h(shell)f(and)g(its)h(c)m(hildren.)61
-b(The)630 2303 y(return)29 b(status)i(is)f(zero.)150
-2475 y Fs(trap)870 2616 y(trap)47 b([-lp])f([)p Fi(arg)11
-b Fs(])46 b([)p Fi(sigspec)56 b Fs(...)o(])630 2757 y
+(expression)f(is)1110 5340 y(false.)p eop end
+%%Page: 42 48
+TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(3)g(argumen)m(ts)1110
+408 y(The)44 b(follo)m(wing)i(conditions)f(are)g(applied)f(in)g(the)g
+(order)g(listed.)84 b(If)44 b(the)1110 518 y(second)f(argumen)m(t)g(is)
+g(one)g(of)g(the)g(binary)f(conditional)i(op)s(erators)f(\(see)1110
+628 y(Section)h(6.4)g([Bash)g(Conditional)g(Expressions],)i(page)e
+(78\),)k(the)43 b(result)1110 737 y(of)h(the)h(expression)f(is)g(the)g
+(result)g(of)h(the)f(binary)g(test)h(using)e(the)i(\014rst)1110
+847 y(and)31 b(third)g(argumen)m(ts)i(as)f(op)s(erands.)44
+b(The)31 b(`)p Fs(-a)p Ft(')h(and)g(`)p Fs(-o)p Ft(')f(op)s(erators)i
+(are)1110 956 y(considered)25 b(binary)g(op)s(erators)g(when)f(there)i
+(are)f(three)h(argumen)m(ts.)39 b(If)25 b(the)1110 1066
+y(\014rst)j(argumen)m(t)h(is)g(`)p Fs(!)p Ft(',)h(the)f(v)-5
+b(alue)29 b(is)g(the)g(negation)i(of)e(the)g(t)m(w)m(o-argumen)m(t)1110
+1176 y(test)38 b(using)f(the)g(second)g(and)g(third)f(argumen)m(ts.)61
+b(If)37 b(the)g(\014rst)f(argumen)m(t)1110 1285 y(is)j(exactly)i(`)p
+Fs(\()p Ft(')f(and)f(the)g(third)g(argumen)m(t)h(is)f(exactly)i(`)p
+Fs(\))p Ft(',)h(the)e(result)f(is)1110 1395 y(the)46
+b(one-argumen)m(t)g(test)h(of)f(the)f(second)h(argumen)m(t.)86
+b(Otherwise,)50 b(the)1110 1504 y(expression)30 b(is)h(false.)630
+1658 y(4)g(argumen)m(ts)1110 1767 y(If)h(the)i(\014rst)e(argumen)m(t)h
+(is)g(`)p Fs(!)p Ft(',)h(the)f(result)g(is)g(the)g(negation)h(of)f(the)
+g(three-)1110 1877 y(argumen)m(t)h(expression)f(comp)s(osed)h(of)f(the)
+h(remaining)g(argumen)m(ts.)50 b(Oth-)1110 1987 y(erwise,)34
+b(the)f(expression)g(is)g(parsed)g(and)f(ev)-5 b(aluated)34
+b(according)h(to)e(prece-)1110 2096 y(dence)e(using)e(the)i(rules)f
+(listed)h(ab)s(o)m(v)m(e.)630 2250 y(5)g(or)f(more)h(argumen)m(ts)1110
+2359 y(The)43 b(expression)f(is)i(parsed)e(and)g(ev)-5
+b(aluated)45 b(according)f(to)f(precedence)1110 2469
+y(using)30 b(the)g(rules)g(listed)h(ab)s(o)m(v)m(e.)630
+2622 y(When)40 b(used)f(with)g Fs(test)g Ft(or)h(`)p
+Fs([)p Ft(',)j(the)d(`)p Fs(<)p Ft(')g(and)f(`)p Fs(>)p
+Ft(')h(op)s(erators)g(sort)g(lexicographically)630 2732
+y(using)30 b(ASCI)s(I)f(ordering.)150 2885 y Fs(times)870
+3017 y(times)630 3148 y Ft(Prin)m(t)37 b(out)h(the)g(user)e(and)h
+(system)g(times)h(used)f(b)m(y)g(the)h(shell)f(and)g(its)h(c)m
+(hildren.)61 b(The)630 3258 y(return)29 b(status)i(is)f(zero.)150
+3411 y Fs(trap)870 3543 y(trap)47 b([-lp])f([)p Fi(arg)11
+b Fs(])46 b([)p Fi(sigspec)56 b Fs(...)o(])630 3674 y
Ft(The)43 b(commands)f(in)h Fq(arg)51 b Ft(are)44 b(to)g(b)s(e)e(read)h
(and)g(executed)h(when)e(the)h(shell)g(receiv)m(es)630
-2866 y(signal)36 b Fq(sigsp)s(ec)6 b Ft(.)55 b(If)35
+3784 y(signal)36 b Fq(sigsp)s(ec)6 b Ft(.)55 b(If)35
b Fq(arg)44 b Ft(is)35 b(absen)m(t)h(\(and)f(there)g(is)g(a)h(single)g
Fq(sigsp)s(ec)6 b Ft(\))35 b(or)h(equal)f(to)i(`)p Fs(-)p
-Ft(',)630 2976 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
+Ft(',)630 3893 y(eac)m(h)28 b(sp)s(eci\014ed)e(signal's)h(disp)s
(osition)f(is)h(reset)g(to)g(the)g(v)-5 b(alue)27 b(it)g(had)f(when)f
-(the)i(shell)g(w)m(as)630 3086 y(started.)63 b(If)37
+(the)i(shell)g(w)m(as)630 4003 y(started.)63 b(If)37
b Fq(arg)46 b Ft(is)37 b(the)h(n)m(ull)g(string,)h(then)e(the)h(signal)
h(sp)s(eci\014ed)d(b)m(y)i(eac)m(h)h Fq(sigsp)s(ec)k
-Ft(is)630 3195 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
+Ft(is)630 4113 y(ignored)36 b(b)m(y)g(the)g(shell)g(and)g(commands)f
(it)i(in)m(v)m(ok)m(es.)59 b(If)35 b Fq(arg)45 b Ft(is)36
-b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 3305
+b(not)g(presen)m(t)g(and)f(`)p Fs(-p)p Ft(')630 4222
y(has)e(b)s(een)g(supplied,)f(the)i(shell)f(displa)m(ys)h(the)f(trap)g
-(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 3414 y
+(commands)g(asso)s(ciated)i(with)e(eac)m(h)630 4332 y
Fq(sigsp)s(ec)6 b Ft(.)40 b(If)28 b(no)g(argumen)m(ts)h(are)g
(supplied,)f(or)g(only)h(`)p Fs(-p)p Ft(')f(is)g(giv)m(en,)i
-Fs(trap)e Ft(prin)m(ts)g(the)g(list)630 3524 y(of)g(commands)f(asso)s
+Fs(trap)e Ft(prin)m(ts)g(the)g(list)630 4441 y(of)g(commands)f(asso)s
(ciated)i(with)f(eac)m(h)h(signal)f(n)m(um)m(b)s(er)e(in)i(a)g(form)f
-(that)h(ma)m(y)h(b)s(e)e(reused)630 3634 y(as)34 b(shell)g(input.)51
+(that)h(ma)m(y)h(b)s(e)e(reused)630 4551 y(as)34 b(shell)g(input.)51
b(The)33 b(`)p Fs(-l)p Ft(')h(option)g(causes)h(the)f(shell)g(to)h
-(prin)m(t)e(a)i(list)f(of)g(signal)h(names)630 3743 y(and)j(their)h
+(prin)m(t)e(a)i(list)f(of)g(signal)h(names)630 4661 y(and)j(their)h
(corresp)s(onding)f(n)m(um)m(b)s(ers.)65 b(Eac)m(h)39
b Fq(sigsp)s(ec)45 b Ft(is)39 b(either)g(a)g(signal)h(name)f(or)g(a)630
-3853 y(signal)27 b(n)m(um)m(b)s(er.)39 b(Signal)27 b(names)f(are)h
+4770 y(signal)27 b(n)m(um)m(b)s(er.)39 b(Signal)27 b(names)f(are)h
(case)h(insensitiv)m(e)g(and)e(the)g Fs(SIG)g Ft(pre\014x)g(is)h
-(optional.)630 3994 y(If)35 b(a)g Fq(sigsp)s(ec)41 b
+(optional.)630 4902 y(If)35 b(a)g Fq(sigsp)s(ec)41 b
Ft(is)35 b Fs(0)g Ft(or)g Fs(EXIT)p Ft(,)g Fq(arg)43
b Ft(is)35 b(executed)h(when)e(the)h(shell)h(exits.)55
-b(If)35 b(a)g Fq(sigsp)s(ec)41 b Ft(is)630 4103 y Fs(DEBUG)p
+b(If)35 b(a)g Fq(sigsp)s(ec)41 b Ft(is)630 5011 y Fs(DEBUG)p
Ft(,)32 b(the)g(command)g Fq(arg)40 b Ft(is)33 b(executed)g(b)s(efore)f
(ev)m(ery)h(simple)f(command,)h Fs(for)e Ft(com-)630
-4213 y(mand,)d Fs(case)g Ft(command,)h Fs(select)e Ft(command,)i(ev)m
-(ery)h(arithmetic)g Fs(for)d Ft(command,)j(and)630 4322
+5121 y(mand,)d Fs(case)g Ft(command,)h Fs(select)e Ft(command,)i(ev)m
+(ery)h(arithmetic)g Fs(for)d Ft(command,)j(and)630 5230
y(b)s(efore)22 b(the)g(\014rst)f(command)h(executes)i(in)e(a)g(shell)h
(function.)37 b(Refer)22 b(to)h(the)g(description)f(of)630
-4432 y(the)i Fs(extdebug)d Ft(option)j(to)h(the)f Fs(shopt)e
-Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)630
-4542 y(page)33 b(55\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the)
-g Fs(DEBUG)f Ft(trap.)46 b(If)31 b(a)i Fq(sigsp)s(ec)38
-b Ft(is)32 b Fs(RETURN)p Ft(,)f(the)630 4651 y(command)h
+5340 y(the)i Fs(extdebug)d Ft(option)j(to)h(the)f Fs(shopt)e
+Ft(builtin)h(\(see)i(Section)f(4.3.2)i([The)d(Shopt)g(Builtin],)p
+eop end
+%%Page: 43 49
+TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(43)630 299 y(page)33
+b(57\))g(for)f(details)h(of)f(its)h(e\013ect)g(on)f(the)g
+Fs(DEBUG)f Ft(trap.)46 b(If)31 b(a)i Fq(sigsp)s(ec)38
+b Ft(is)32 b Fs(RETURN)p Ft(,)f(the)630 408 y(command)h
Fq(arg)41 b Ft(is)33 b(executed)g(eac)m(h)h(time)f(a)g(shell)g
-(function)g(or)f(a)h(script)g(executed)g(with)630 4761
+(function)g(or)f(a)h(script)g(executed)g(with)630 518
y(the)e Fs(.)f Ft(or)g Fs(source)f Ft(builtins)g(\014nishes)h
-(executing.)630 4902 y(If)g(a)i Fq(sigsp)s(ec)k Ft(is)31
+(executing.)630 651 y(If)g(a)i Fq(sigsp)s(ec)k Ft(is)31
b Fs(ERR)p Ft(,)f(the)h(command)g Fq(arg)39 b Ft(is)31
-b(executed)g(whenev)m(er)g(a)g(simple)g(command)630 5011
+b(executed)g(whenev)m(er)g(a)g(simple)g(command)630 761
y(has)k(a)h(non-zero)h(exit)f(status,)i(sub)5 b(ject)35
b(to)h(the)g(follo)m(wing)h(conditions.)57 b(The)35 b
-Fs(ERR)g Ft(trap)630 5121 y(is)30 b(not)f(executed)i(if)e(the)h(failed)
-g(command)g(is)f(part)h(of)f(the)h(command)f(list)i(immediately)630
-5230 y(follo)m(wing)47 b(an)d Fs(until)g Ft(or)h Fs(while)f
+Fs(ERR)g Ft(trap)630 870 y(is)30 b(not)f(executed)i(if)e(the)h(failed)g
+(command)g(is)f(part)h(of)f(the)h(command)f(list)i(immediately)630
+980 y(follo)m(wing)47 b(an)d Fs(until)g Ft(or)h Fs(while)f
Ft(k)m(eyw)m(ord,)49 b(part)c(of)g(the)h(test)g(follo)m(wing)g(the)f
-Fs(if)g Ft(or)630 5340 y Fs(elif)d Ft(reserv)m(ed)i(w)m(ords,)j(part)c
+Fs(if)g Ft(or)630 1090 y Fs(elif)d Ft(reserv)m(ed)i(w)m(ords,)j(part)c
(of)h(a)g(command)f(executed)i(in)e(a)h Fs(&&)f Ft(or)h
-Fs(||)f Ft(list,)k(or)d(if)p eop end
-%%Page: 41 47
-TeXDict begin 41 46 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(41)630 299 y(the)40
-b(command's)g(return)f(status)h(is)g(b)s(eing)f(in)m(v)m(erted)i(using)
-f Fs(!)p Ft(.)68 b(These)40 b(are)g(the)h(same)630 408
-y(conditions)31 b(ob)s(ey)m(ed)f(b)m(y)h(the)f Fs(errexit)f
-Ft(option.)630 545 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)g
-(the)f(shell)h(cannot)g(b)s(e)f(trapp)s(ed)f(or)h(reset.)59
-b(T)-8 b(rapp)s(ed)630 654 y(signals)28 b(that)f(are)h(not)f(b)s(eing)g
+Fs(||)f Ft(list,)k(or)d(if)630 1199 y(the)c(command's)g(return)f
+(status)h(is)g(b)s(eing)f(in)m(v)m(erted)i(using)f Fs(!)p
+Ft(.)68 b(These)40 b(are)g(the)h(same)630 1309 y(conditions)31
+b(ob)s(ey)m(ed)f(b)m(y)h(the)f Fs(errexit)f Ft(option.)630
+1442 y(Signals)37 b(ignored)f(up)s(on)f(en)m(try)i(to)g(the)f(shell)h
+(cannot)g(b)s(e)f(trapp)s(ed)f(or)h(reset.)59 b(T)-8
+b(rapp)s(ed)630 1552 y(signals)28 b(that)f(are)h(not)f(b)s(eing)g
(ignored)g(are)g(reset)h(to)g(their)f(original)h(v)-5
-b(alues)28 b(in)e(a)i(subshell)630 764 y(or)i(subshell)g(en)m(vironmen)
-m(t)h(when)e(one)i(is)f(created.)630 900 y(The)g(return)f(status)i(is)f
-(zero)h(unless)f(a)h Fq(sigsp)s(ec)36 b Ft(do)s(es)30
-b(not)h(sp)s(ecify)f(a)g(v)-5 b(alid)31 b(signal.)150
-1063 y Fs(umask)870 1199 y(umask)46 b([-p])h([-S])g([)p
-Fi(mode)11 b Fs(])630 1335 y Ft(Set)29 b(the)h(shell)f(pro)s(cess's)g
+b(alues)28 b(in)e(a)i(subshell)630 1661 y(or)i(subshell)g(en)m
+(vironmen)m(t)h(when)e(one)i(is)f(created.)630 1794 y(The)g(return)f
+(status)i(is)f(zero)h(unless)f(a)h Fq(sigsp)s(ec)36 b
+Ft(do)s(es)30 b(not)h(sp)s(ecify)f(a)g(v)-5 b(alid)31
+b(signal.)150 1951 y Fs(umask)870 2084 y(umask)46 b([-p])h([-S])g([)p
+Fi(mode)11 b Fs(])630 2218 y Ft(Set)29 b(the)h(shell)f(pro)s(cess's)g
(\014le)g(creation)h(mask)f(to)h Fq(mo)s(de)5 b Ft(.)40
b(If)28 b Fq(mo)s(de)34 b Ft(b)s(egins)29 b(with)f(a)i(digit,)630
-1445 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s(ctal)i(n)m(um)m(b)s
+2327 y(it)e(is)f(in)m(terpreted)g(as)g(an)g(o)s(ctal)i(n)m(um)m(b)s
(er;)e(if)g(not,)h(it)g(is)f(in)m(terpreted)g(as)g(a)h(sym)m(b)s(olic)f
-(mo)s(de)630 1554 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f
+(mo)s(de)630 2437 y(mask)i(similar)g(to)g(that)h(accepted)g(b)m(y)f
(the)g Fs(chmod)e Ft(command.)40 b(If)28 b Fq(mo)s(de)34
-b Ft(is)28 b(omitted,)j(the)630 1664 y(curren)m(t)36
+b Ft(is)28 b(omitted,)j(the)630 2546 y(curren)m(t)36
b(v)-5 b(alue)36 b(of)g(the)h(mask)f(is)g(prin)m(ted.)57
b(If)35 b(the)h(`)p Fs(-S)p Ft(')g(option)h(is)f(supplied)f(without)h
-(a)630 1773 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m
+(a)630 2656 y Fq(mo)s(de)k Ft(argumen)m(t,)d(the)e(mask)g(is)g(prin)m
(ted)g(in)g(a)h(sym)m(b)s(olic)f(format.)55 b(If)35 b(the)g(`)p
-Fs(-p)p Ft(')g(option)630 1883 y(is)f(supplied,)f(and)g
+Fs(-p)p Ft(')g(option)630 2766 y(is)f(supplied,)f(and)g
Fq(mo)s(de)38 b Ft(is)33 b(omitted,)j(the)e(output)f(is)g(in)h(a)g
-(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 1993 y(as)e(input.)41
+(form)f(that)h(ma)m(y)g(b)s(e)f(reused)630 2875 y(as)e(input.)41
b(The)31 b(return)f(status)h(is)g(zero)h(if)e(the)h(mo)s(de)g(is)g
-(successfully)g(c)m(hanged)g(or)g(if)g(no)630 2102 y
+(successfully)g(c)m(hanged)g(or)g(if)g(no)630 2985 y
Fq(mo)s(de)k Ft(argumen)m(t)c(is)f(supplied,)g(and)f(non-zero)i
-(otherwise.)630 2238 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)
+(otherwise.)630 3118 y(Note)38 b(that)e(when)g(the)g(mo)s(de)g(is)g(in)
m(terpreted)h(as)f(an)g(o)s(ctal)i(n)m(um)m(b)s(er,)e(eac)m(h)i(n)m(um)
-m(b)s(er)d(of)630 2348 y(the)f(umask)g(is)h(subtracted)f(from)f
+m(b)s(er)d(of)630 3228 y(the)f(umask)g(is)h(subtracted)f(from)f
Fs(7)p Ft(.)53 b(Th)m(us,)34 b(a)h(umask)e(of)i Fs(022)e
-Ft(results)h(in)g(p)s(ermissions)630 2457 y(of)d Fs(755)p
-Ft(.)150 2620 y Fs(unset)870 2756 y(unset)46 b([-fv])h([)p
-Fi(name)11 b Fs(])630 2892 y Ft(Eac)m(h)34 b(v)-5 b(ariable)33
+Ft(results)h(in)g(p)s(ermissions)630 3337 y(of)d Fs(755)p
+Ft(.)150 3494 y Fs(unset)870 3627 y(unset)46 b([-fv])h([)p
+Fi(name)11 b Fs(])630 3760 y Ft(Eac)m(h)34 b(v)-5 b(ariable)33
b(or)g(function)g Fq(name)38 b Ft(is)33 b(remo)m(v)m(ed.)50
b(If)32 b(no)h(options)h(are)f(supplied,)g(or)g(the)630
-3002 y(`)p Fs(-v)p Ft(')h(option)h(is)g(giv)m(en,)h(eac)m(h)g
+3870 y(`)p Fs(-v)p Ft(')h(option)h(is)g(giv)m(en,)h(eac)m(h)g
Fq(name)k Ft(refers)34 b(to)h(a)g(shell)f(v)-5 b(ariable.)54
-b(If)34 b(the)h(`)p Fs(-f)p Ft(')f(option)h(is)630 3112
+b(If)34 b(the)h(`)p Fs(-f)p Ft(')f(option)h(is)630 3980
y(giv)m(en,)27 b(the)d Fq(name)5 b Ft(s)25 b(refer)f(to)h(shell)g
(functions,)g(and)f(the)g(function)g(de\014nition)g(is)h(remo)m(v)m
-(ed.)630 3221 y(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)f
+(ed.)630 4089 y(Readonly)32 b(v)-5 b(ariables)33 b(and)f(functions)f
(ma)m(y)i(not)f(b)s(e)g(unset.)45 b(The)32 b(return)f(status)h(is)g
-(zero)630 3331 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
-b(.)150 3568 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)150
-3728 y Ft(This)c(section)h(describ)s(es)f(builtin)f(commands)h(whic)m
+(zero)630 4199 y(unless)e(a)g Fq(name)36 b Ft(is)30 b(readonly)-8
+b(.)150 4429 y Fr(4.2)68 b(Bash)45 b(Builtin)g(Commands)150
+4588 y Ft(This)c(section)h(describ)s(es)f(builtin)f(commands)h(whic)m
(h)g(are)h(unique)e(to)j(or)e(ha)m(v)m(e)h(b)s(een)f(extended)g(in)150
-3837 y(Bash.)g(Some)30 b(of)h(these)g(commands)f(are)g(sp)s(eci\014ed)g
-(in)g(the)h Fl(posix)e Ft(standard.)150 4002 y Fs(alias)870
-4138 y(alias)46 b([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g
-Fs(])43 b(...)o(])630 4274 y Ft(Without)h(argumen)m(ts)f(or)g(with)g
+4698 y(Bash.)g(Some)30 b(of)h(these)g(commands)f(are)g(sp)s(eci\014ed)g
+(in)g(the)h Fl(posix)e Ft(standard.)150 4854 y Fs(alias)870
+4988 y(alias)46 b([-p])h([)p Fi(name)11 b Fs([=)p Fi(value)g
+Fs(])43 b(...)o(])630 5121 y Ft(Without)h(argumen)m(ts)f(or)g(with)g
(the)h(`)p Fs(-p)p Ft(')f(option,)k Fs(alias)41 b Ft(prin)m(ts)i(the)g
-(list)h(of)f(aliases)630 4384 y(on)36 b(the)g(standard)f(output)h(in)f
+(list)h(of)f(aliases)630 5230 y(on)36 b(the)g(standard)f(output)h(in)f
(a)i(form)e(that)i(allo)m(ws)g(them)f(to)g(b)s(e)g(reused)f(as)h
-(input.)56 b(If)630 4493 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h
+(input.)56 b(If)630 5340 y(argumen)m(ts)29 b(are)g(supplied,)f(an)h
(alias)h(is)f(de\014ned)e(for)i(eac)m(h)h Fq(name)k Ft(whose)28
-b Fq(v)-5 b(alue)35 b Ft(is)29 b(giv)m(en.)630 4603 y(If)39
-b(no)h Fq(v)-5 b(alue)45 b Ft(is)40 b(giv)m(en,)j(the)d(name)f(and)g(v)
--5 b(alue)40 b(of)g(the)g(alias)h(is)f(prin)m(ted.)68
-b(Aliases)41 b(are)630 4712 y(describ)s(ed)29 b(in)h(Section)i(6.6)f
-([Aliases],)h(page)f(79.)150 4875 y Fs(bind)870 5011
-y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45 b([-lpsvPSV])870
-5121 y(bind)i([-m)g Fi(keymap)11 b Fs(])45 b([-q)i Fi(function)11
-b Fs(])45 b([-u)h Fi(function)11 b Fs(])45 b([-r)i Fi(keyseq)11
-b Fs(])870 5230 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45
-b(-f)i Fi(filename)870 5340 y Fs(bind)g([-m)g Fi(keymap)11
-b Fs(])45 b(-x)i Fi(keyseq:shell-command)p eop end
-%%Page: 42 48
-TeXDict begin 42 47 bop 150 -116 a Ft(42)2572 b(Bash)31
-b(Reference)g(Man)m(ual)870 299 y Fs(bind)47 b([-m)g
+b Fq(v)-5 b(alue)35 b Ft(is)29 b(giv)m(en.)p eop end
+%%Page: 44 50
+TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(If)39 b(no)h Fq(v)-5
+b(alue)45 b Ft(is)40 b(giv)m(en,)j(the)d(name)f(and)g(v)-5
+b(alue)40 b(of)g(the)g(alias)h(is)f(prin)m(ted.)68 b(Aliases)41
+b(are)630 408 y(describ)s(ed)29 b(in)h(Section)i(6.6)f([Aliases],)h
+(page)f(81.)150 575 y Fs(bind)870 713 y(bind)47 b([-m)g
+Fi(keymap)11 b Fs(])45 b([-lpsvPSV])870 822 y(bind)i([-m)g
+Fi(keymap)11 b Fs(])45 b([-q)i Fi(function)11 b Fs(])45
+b([-u)h Fi(function)11 b Fs(])45 b([-r)i Fi(keyseq)11
+b Fs(])870 932 y(bind)47 b([-m)g Fi(keymap)11 b Fs(])45
+b(-f)i Fi(filename)870 1042 y Fs(bind)g([-m)g Fi(keymap)11
+b Fs(])45 b(-x)i Fi(keyseq:shell-command)870 1151 y Fs(bind)g([-m)g
Fi(keymap)11 b Fs(])45 b Fi(keyseq:function-name)870
-408 y Fs(bind)i Fi(readline-command)630 545 y Ft(Displa)m(y)26
+1261 y Fs(bind)i Fi(readline-command)630 1399 y Ft(Displa)m(y)26
b(curren)m(t)f(Readline)h(\(see)g(Chapter)f(8)g([Command)g(Line)g
-(Editing],)i(page)f(93\))g(k)m(ey)630 655 y(and)36 b(function)g
+(Editing],)i(page)f(95\))g(k)m(ey)630 1508 y(and)36 b(function)g
(bindings,)i(bind)d(a)i(k)m(ey)g(sequence)g(to)h(a)f(Readline)g
-(function)f(or)h(macro,)630 765 y(or)44 b(set)h(a)g(Readline)f(v)-5
+(function)f(or)h(macro,)630 1618 y(or)44 b(set)h(a)g(Readline)f(v)-5
b(ariable.)83 b(Eac)m(h)45 b(non-option)g(argumen)m(t)f(is)g(a)h
-(command)f(as)g(it)630 874 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)g
-(initialization)i(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)630
-984 y(File],)g(page)c(96\),)k(but)38 b(eac)m(h)i(binding)e(or)h
+(command)f(as)g(it)630 1728 y(w)m(ould)e(app)s(ear)f(in)h(a)h(Readline)
+g(initialization)i(\014le)d(\(see)h(Section)g(8.3)g([Readline)g(Init)
+630 1837 y(File],)g(page)c(98\),)k(but)38 b(eac)m(h)i(binding)e(or)h
(command)g(m)m(ust)g(b)s(e)f(passed)g(as)i(a)f(separate)630
-1093 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o
-(ile)p Ft('.)630 1230 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g
-(follo)m(wing)h(meanings:)630 1395 y Fs(-m)e Fi(keymap)1110
-1504 y Ft(Use)54 b Fq(k)m(eymap)j Ft(as)d(the)g(k)m(eymap)g(to)h(b)s(e)
-e(a\013ected)i(b)m(y)f(the)g(subsequen)m(t)1110 1614
+1947 y(argumen)m(t;)31 b(e.g.,)h(`)p Fs("\\C-x\\C-r":re-read-init-f)o
+(ile)p Ft('.)630 2085 y(Options,)e(if)h(supplied,)e(ha)m(v)m(e)i(the)g
+(follo)m(wing)h(meanings:)630 2251 y Fs(-m)e Fi(keymap)1110
+2361 y Ft(Use)54 b Fq(k)m(eymap)j Ft(as)d(the)g(k)m(eymap)g(to)h(b)s(e)
+e(a\013ected)i(b)m(y)f(the)g(subsequen)m(t)1110 2470
y(bindings.)46 b(Acceptable)34 b Fq(k)m(eymap)i Ft(names)c(are)h
-Fs(emacs)p Ft(,)f Fs(emacs-standard)p Ft(,)1110 1724
+Fs(emacs)p Ft(,)f Fs(emacs-standard)p Ft(,)1110 2580
y Fs(emacs-meta)p Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p
Ft(,)j Fs(vi-move)p Ft(,)f Fs(vi-command)p Ft(,)f(and)1110
-1833 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5
+2690 y Fs(vi-insert)p Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5
b(alen)m(t)41 b(to)e Fs(vi-command)p Ft(;)i Fs(emacs)c
-Ft(is)i(equiv)-5 b(alen)m(t)1110 1943 y(to)31 b Fs(emacs-standard)p
-Ft(.)630 2107 y Fs(-l)384 b Ft(List)31 b(the)f(names)g(of)h(all)g
-(Readline)g(functions.)630 2271 y Fs(-p)384 b Ft(Displa)m(y)34
+Ft(is)i(equiv)-5 b(alen)m(t)1110 2799 y(to)31 b Fs(emacs-standard)p
+Ft(.)630 2966 y Fs(-l)384 b Ft(List)31 b(the)f(names)g(of)h(all)g
+(Readline)g(functions.)630 3132 y Fs(-p)384 b Ft(Displa)m(y)34
b(Readline)f(function)g(names)g(and)f(bindings)f(in)i(suc)m(h)f(a)i(w)m
-(a)m(y)f(that)1110 2381 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
-(in)g(a)h(Readline)g(initialization)i(\014le.)630 2545
+(a)m(y)f(that)1110 3242 y(they)e(can)f(b)s(e)g(used)g(as)g(input)g(or)g
+(in)g(a)h(Readline)g(initialization)i(\014le.)630 3408
y Fs(-P)384 b Ft(List)31 b(curren)m(t)f(Readline)h(function)f(names)g
-(and)g(bindings.)630 2710 y Fs(-v)384 b Ft(Displa)m(y)25
+(and)g(bindings.)630 3574 y Fs(-v)384 b Ft(Displa)m(y)25
b(Readline)f(v)-5 b(ariable)25 b(names)f(and)f(v)-5 b(alues)24
-b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 2819
+b(in)g(suc)m(h)f(a)i(w)m(a)m(y)f(that)h(they)1110 3684
y(can)31 b(b)s(e)e(used)h(as)h(input)e(or)h(in)g(a)h(Readline)g
-(initialization)j(\014le.)630 2984 y Fs(-V)384 b Ft(List)31
+(initialization)j(\014le.)630 3850 y Fs(-V)384 b Ft(List)31
b(curren)m(t)f(Readline)h(v)-5 b(ariable)31 b(names)f(and)g(v)-5
-b(alues.)630 3148 y Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
+b(alues.)630 4017 y Fs(-s)384 b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g
(sequences)f(b)s(ound)f(to)i(macros)g(and)f(the)g(strings)1110
-3258 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
-(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 3367
-y(Readline)d(initialization)i(\014le.)630 3532 y Fs(-S)384
+4126 y(they)d(output)f(in)h(suc)m(h)f(a)h(w)m(a)m(y)h(that)f(they)g
+(can)g(b)s(e)f(used)g(as)h(input)e(or)i(in)g(a)1110 4236
+y(Readline)d(initialization)i(\014le.)630 4402 y Fs(-S)384
b Ft(Displa)m(y)39 b(Readline)f(k)m(ey)g(sequences)f(b)s(ound)f(to)i
-(macros)g(and)f(the)g(strings)1110 3641 y(they)31 b(output.)630
-3806 y Fs(-f)f Fi(filename)1110 3915 y Ft(Read)h(k)m(ey)g(bindings)e
-(from)h Fq(\014lename)5 b Ft(.)630 4080 y Fs(-q)30 b
-Fi(function)1110 4189 y Ft(Query)g(ab)s(out)g(whic)m(h)g(k)m(eys)h(in)m
-(v)m(ok)m(e)h(the)f(named)f Fq(function)p Ft(.)630 4354
-y Fs(-u)g Fi(function)1110 4463 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s
-(ound)e(to)i(the)f(named)g Fq(function)p Ft(.)630 4628
-y Fs(-r)g Fi(keyseq)1110 4737 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f
-(binding)f(for)h Fq(k)m(eyseq)r Ft(.)630 4902 y Fs(-x)g
-Fi(keyseq:shell-command)1110 5011 y Ft(Cause)35 b Fq(shell-command)k
-Ft(to)d(b)s(e)f(executed)h(whenev)m(er)f Fq(k)m(eyseq)j
-Ft(is)d(en)m(tered.)1110 5121 y(When)46 b Fq(shell-command)k
-Ft(is)c(executed,)51 b(the)46 b(shell)g(sets)g(the)g
-Fs(READLINE_)1110 5230 y(LINE)37 b Ft(v)-5 b(ariable)38
-b(to)g(the)g(con)m(ten)m(ts)i(of)e(the)g(Readline)g(line)g(bu\013er)f
-(and)g(the)1110 5340 y Fs(READLINE_POINT)e Ft(v)-5 b(ariable)39
-b(to)h(the)e(curren)m(t)h(lo)s(cation)h(of)f(the)g(insertion)p
-eop end
-%%Page: 43 49
-TeXDict begin 43 48 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(43)1110 299 y(p)s(oin)m(t.)59
+(macros)g(and)f(the)g(strings)1110 4512 y(they)31 b(output.)630
+4678 y Fs(-f)f Fi(filename)1110 4788 y Ft(Read)h(k)m(ey)g(bindings)e
+(from)h Fq(\014lename)5 b Ft(.)630 4954 y Fs(-q)30 b
+Fi(function)1110 5064 y Ft(Query)g(ab)s(out)g(whic)m(h)g(k)m(eys)h(in)m
+(v)m(ok)m(e)h(the)f(named)f Fq(function)p Ft(.)630 5230
+y Fs(-u)g Fi(function)1110 5340 y Ft(Un)m(bind)f(all)i(k)m(eys)g(b)s
+(ound)e(to)i(the)f(named)g Fq(function)p Ft(.)p eop end
+%%Page: 45 51
+TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(45)630 299 y Fs(-r)30
+b Fi(keyseq)1110 408 y Ft(Remo)m(v)m(e)i(an)m(y)f(curren)m(t)f(binding)
+f(for)h Fq(k)m(eyseq)r Ft(.)630 564 y Fs(-x)g Fi(keyseq:shell-command)
+1110 674 y Ft(Cause)35 b Fq(shell-command)k Ft(to)d(b)s(e)f(executed)h
+(whenev)m(er)f Fq(k)m(eyseq)j Ft(is)d(en)m(tered.)1110
+783 y(When)46 b Fq(shell-command)k Ft(is)c(executed,)51
+b(the)46 b(shell)g(sets)g(the)g Fs(READLINE_)1110 893
+y(LINE)37 b Ft(v)-5 b(ariable)38 b(to)g(the)g(con)m(ten)m(ts)i(of)e
+(the)g(Readline)g(line)g(bu\013er)f(and)g(the)1110 1003
+y Fs(READLINE_POINT)e Ft(v)-5 b(ariable)39 b(to)h(the)e(curren)m(t)h
+(lo)s(cation)h(of)f(the)g(insertion)1110 1112 y(p)s(oin)m(t.)59
b(If)37 b(the)f(executed)i(command)e(c)m(hanges)i(the)f(v)-5
-b(alue)37 b(of)f Fs(READLINE_)1110 408 y(LINE)29 b Ft(or)h
+b(alue)37 b(of)f Fs(READLINE_)1110 1222 y(LINE)29 b Ft(or)h
Fs(READLINE_POINT)p Ft(,)c(those)31 b(new)e(v)-5 b(alues)31
-b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 518 y(editing)h(state.)630
-677 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)-5
-b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f(error)g(o)s(ccurs.)150
-837 y Fs(builtin)870 971 y(builtin)46 b([)p Fi(shell-builtin)54
-b Fs([)p Fi(args)11 b Fs(]])630 1106 y Ft(Run)35 b(a)h(shell)h
+b(will)f(b)s(e)f(re\015ected)i(in)f(the)1110 1331 y(editing)h(state.)
+630 1487 y(The)26 b(return)f(status)i(is)f(zero)i(unless)d(an)i(in)m(v)
+-5 b(alid)27 b(option)g(is)f(supplied)f(or)i(an)f(error)g(o)s(ccurs.)
+150 1643 y Fs(builtin)870 1775 y(builtin)46 b([)p Fi(shell-builtin)54
+b Fs([)p Fi(args)11 b Fs(]])630 1908 y Ft(Run)35 b(a)h(shell)h
(builtin,)g(passing)f(it)g Fq(args)t Ft(,)i(and)e(return)f(its)h(exit)h
-(status.)58 b(This)36 b(is)g(useful)630 1215 y(when)29
+(status.)58 b(This)36 b(is)g(useful)630 2018 y(when)29
b(de\014ning)h(a)g(shell)h(function)f(with)g(the)g(same)h(name)f(as)h
-(a)g(shell)f(builtin,)g(retaining)630 1325 y(the)k(functionalit)m(y)h
+(a)g(shell)f(builtin,)g(retaining)630 2127 y(the)k(functionalit)m(y)h
(of)f(the)f(builtin)g(within)g(the)h(function.)50 b(The)33
-b(return)g(status)h(is)f(non-)630 1435 y(zero)e(if)g
+b(return)g(status)h(is)f(non-)630 2237 y(zero)e(if)g
Fq(shell-builtin)f Ft(is)g(not)h(a)g(shell)f(builtin)g(command.)150
-1594 y Fs(caller)870 1729 y(caller)46 b([)p Fi(expr)11
-b Fs(])630 1863 y Ft(Returns)34 b(the)g(con)m(text)j(of)e(an)m(y)g
+2393 y Fs(caller)870 2525 y(caller)46 b([)p Fi(expr)11
+b Fs(])630 2658 y Ft(Returns)34 b(the)g(con)m(text)j(of)e(an)m(y)g
(activ)m(e)i(subroutine)c(call)j(\(a)f(shell)g(function)f(or)h(a)g
-(script)630 1973 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
-Fs(source)f Ft(builtins\).)630 2107 y(Without)45 b Fq(expr)7
+(script)630 2768 y(executed)c(with)f(the)h Fs(.)f Ft(or)g
+Fs(source)f Ft(builtins\).)630 2900 y(Without)45 b Fq(expr)7
b Ft(,)46 b Fs(caller)d Ft(displa)m(ys)h(the)g(line)g(n)m(um)m(b)s(er)f
-(and)g(source)h(\014lename)h(of)f(the)630 2217 y(curren)m(t)35
+(and)g(source)h(\014lename)h(of)f(the)630 3010 y(curren)m(t)35
b(subroutine)f(call.)56 b(If)35 b(a)h(non-negativ)m(e)h(in)m(teger)g
(is)e(supplied)f(as)h Fq(expr)7 b Ft(,)36 b Fs(caller)630
-2326 y Ft(displa)m(ys)41 b(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
+3119 y Ft(displa)m(ys)41 b(the)f(line)h(n)m(um)m(b)s(er,)h(subroutine)d
(name,)44 b(and)c(source)g(\014le)h(corresp)s(onding)e(to)630
-2436 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
+3229 y(that)c(p)s(osition)g(in)f(the)h(curren)m(t)f(execution)i(call)g
(stac)m(k.)54 b(This)34 b(extra)h(information)g(ma)m(y)630
-2545 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
+3339 y(b)s(e)30 b(used,)g(for)g(example,)h(to)g(prin)m(t)f(a)h(stac)m
(k)h(trace.)42 b(The)29 b(curren)m(t)i(frame)f(is)g(frame)h(0.)630
-2680 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
+3471 y(The)e(return)f(v)-5 b(alue)29 b(is)h(0)f(unless)g(the)g(shell)g
(is)h(not)f(executing)h(a)g(subroutine)e(call)i(or)g
-Fq(expr)630 2790 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
+Fq(expr)630 3581 y Ft(do)s(es)g(not)h(corresp)s(ond)e(to)i(a)g(v)-5
b(alid)30 b(p)s(osition)h(in)f(the)g(call)i(stac)m(k.)150
-2949 y Fs(command)870 3083 y(command)46 b([-pVv])g Fi(command)56
-b Fs([)p Fi(arguments)g Fs(...)o(])630 3218 y Ft(Runs)31
+3737 y Fs(command)870 3869 y(command)46 b([-pVv])g Fi(command)56
+b Fs([)p Fi(arguments)g Fs(...)o(])630 4002 y Ft(Runs)31
b Fq(command)36 b Ft(with)d Fq(argumen)m(ts)j Ft(ignoring)d(an)m(y)g
-(shell)g(function)f(named)g Fq(command)t Ft(.)630 3328
+(shell)g(function)f(named)g Fq(command)t Ft(.)630 4111
y(Only)39 b(shell)i(builtin)e(commands)h(or)g(commands)f(found)g(b)m(y)
-h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 3437 y(executed.)g(If)23
+h(searc)m(hing)h(the)f Fs(PATH)f Ft(are)630 4221 y(executed.)g(If)23
b(there)h(is)f(a)h(shell)f(function)g(named)g Fs(ls)p
Ft(,)i(running)c(`)p Fs(command)29 b(ls)p Ft(')23 b(within)g(the)630
-3547 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
+4331 y(function)33 b(will)g(execute)i(the)f(external)g(command)f
Fs(ls)f Ft(instead)i(of)f(calling)i(the)e(function)630
-3656 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
+4440 y(recursiv)m(ely)-8 b(.)84 b(The)44 b(`)p Fs(-p)p
Ft(')h(option)g(means)f(to)h(use)g(a)f(default)h(v)-5
-b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 3766 y(guaran)m(teed)35
+b(alue)45 b(for)f Fs(PATH)g Ft(that)h(is)630 4550 y(guaran)m(teed)35
b(to)f(\014nd)e(all)j(of)f(the)g(standard)f(utilities.)52
-b(The)33 b(return)g(status)h(in)f(this)h(case)630 3875
+b(The)33 b(return)g(status)h(in)f(this)h(case)630 4659
y(is)29 b(127)g(if)g Fq(command)j Ft(cannot)d(b)s(e)e(found)h(or)g(an)g
(error)h(o)s(ccurred,)f(and)g(the)h(exit)g(status)g(of)630
-3985 y Fq(command)34 b Ft(otherwise.)630 4120 y(If)25
+4769 y Fq(command)34 b Ft(otherwise.)630 4902 y(If)25
b(either)g(the)h(`)p Fs(-V)p Ft(')f(or)g(`)p Fs(-v)p
Ft(')g(option)g(is)g(supplied,)h(a)f(description)g(of)h
-Fq(command)i Ft(is)d(prin)m(ted.)630 4229 y(The)i(`)p
+Fq(command)i Ft(is)d(prin)m(ted.)630 5011 y(The)i(`)p
Fs(-v)p Ft(')h(option)h(causes)f(a)h(single)f(w)m(ord)g(indicating)h
-(the)f(command)g(or)g(\014le)g(name)g(used)630 4339 y(to)36
+(the)f(command)g(or)g(\014le)g(name)g(used)630 5121 y(to)36
b(in)m(v)m(ok)m(e)g Fq(command)j Ft(to)c(b)s(e)g(displa)m(y)m(ed;)j
(the)d(`)p Fs(-V)p Ft(')g(option)g(pro)s(duces)e(a)j(more)f(v)m(erb)s
-(ose)630 4448 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
+(ose)630 5230 y(description.)61 b(In)36 b(this)h(case,)j(the)e(return)e
(status)h(is)g(zero)h(if)f Fq(command)k Ft(is)c(found,)h(and)630
-4558 y(non-zero)31 b(if)f(not.)150 4717 y Fs(declare)870
-4852 y(declare)46 b([-aAfFilrtux])e([-p])j([)p Fi(name)11
-b Fs([=)p Fi(value)g Fs(])43 b(...)o(])630 4986 y Ft(Declare)29
+5340 y(non-zero)31 b(if)f(not.)p eop end
+%%Page: 46 52
+TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(declare)870 439
+y(declare)46 b([-aAfFilrtux])e([-p])j([)p Fi(name)11
+b Fs([=)p Fi(value)g Fs(])43 b(...)o(])630 579 y Ft(Declare)29
b(v)-5 b(ariables)28 b(and)e(giv)m(e)j(them)e(attributes.)40
b(If)27 b(no)g Fq(name)5 b Ft(s)27 b(are)h(giv)m(en,)h(then)e(displa)m
-(y)630 5096 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
-b(instead.)630 5230 y(The)c(`)p Fs(-p)p Ft(')h(option)g(will)g(displa)m
+(y)630 689 y(the)k(v)-5 b(alues)30 b(of)h(v)-5 b(ariables)31
+b(instead.)630 829 y(The)c(`)p Fs(-p)p Ft(')h(option)g(will)g(displa)m
(y)g(the)g(attributes)g(and)g(v)-5 b(alues)28 b(of)g(eac)m(h)h
Fq(name)5 b Ft(.)40 b(When)27 b(`)p Fs(-p)p Ft(')630
-5340 y(is)j(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31
-b(additional)g(options)f(are)h(ignored.)p eop end
-%%Page: 44 50
-TeXDict begin 44 49 bop 150 -116 a Ft(44)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(When)36 b(`)p Fs(-p)p
-Ft(')f(is)h(supplied)f(without)h Fq(name)41 b Ft(argumen)m(ts,)d
-Fs(declare)c Ft(will)i(displa)m(y)g(the)g(at-)630 408
-y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
+939 y(is)j(used)g(with)g Fq(name)36 b Ft(argumen)m(ts,)31
+b(additional)g(options)f(are)h(ignored.)630 1079 y(When)36
+b(`)p Fs(-p)p Ft(')f(is)h(supplied)f(without)h Fq(name)41
+b Ft(argumen)m(ts,)d Fs(declare)c Ft(will)i(displa)m(y)g(the)g(at-)630
+1189 y(tributes)31 b(and)f(v)-5 b(alues)31 b(of)g(all)h(v)-5
b(ariables)31 b(ha)m(ving)h(the)f(attributes)g(sp)s(eci\014ed)f(b)m(y)h
-(the)g(addi-)630 518 y(tional)h(options.)41 b(If)30 b(no)g(other)h
-(options)g(are)g(supplied)e(with)h(`)p Fs(-p)p Ft(',)g
-Fs(declare)f Ft(will)i(displa)m(y)630 628 y(the)f(attributes)g(and)e(v)
--5 b(alues)30 b(of)g(all)g(shell)g(v)-5 b(ariables.)41
-b(The)29 b(`)p Fs(-f)p Ft(')g(option)h(will)g(restrict)g(the)630
-737 y(displa)m(y)h(to)g(shell)f(functions.)630 867 y(The)36
-b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m(y)g(of)g
-(function)g(de\014nitions;)i(only)e(the)g(function)630
-976 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
+(the)g(addi-)630 1298 y(tional)h(options.)41 b(If)30
+b(no)g(other)h(options)g(are)g(supplied)e(with)h(`)p
+Fs(-p)p Ft(',)g Fs(declare)f Ft(will)i(displa)m(y)630
+1408 y(the)f(attributes)g(and)e(v)-5 b(alues)30 b(of)g(all)g(shell)g(v)
+-5 b(ariables.)41 b(The)29 b(`)p Fs(-f)p Ft(')g(option)h(will)g
+(restrict)g(the)630 1518 y(displa)m(y)h(to)g(shell)f(functions.)630
+1658 y(The)36 b(`)p Fs(-F)p Ft(')h(option)g(inhibits)f(the)h(displa)m
+(y)g(of)g(function)g(de\014nitions;)i(only)e(the)g(function)630
+1767 y(name)30 b(and)f(attributes)i(are)f(prin)m(ted.)40
b(If)30 b(the)g Fs(extdebug)e Ft(shell)i(option)g(is)g(enabled)g(using)
-630 1086 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
-(Builtin],)k(page)e(55\),)i(the)d(source)h(\014le)f(name)h(and)630
-1196 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
+630 1877 y Fs(shopt)24 b Ft(\(see)i(Section)g(4.3.2)i([The)d(Shopt)f
+(Builtin],)k(page)e(57\),)i(the)d(source)h(\014le)f(name)h(and)630
+1987 y(line)38 b(n)m(um)m(b)s(er)e(where)i(the)g(function)f(is)h
(de\014ned)e(are)i(displa)m(y)m(ed)h(as)e(w)m(ell.)64
-b(`)p Fs(-F)p Ft(')38 b(implies)630 1305 y(`)p Fs(-f)p
-Ft('.)i(The)28 b(follo)m(wing)i(options)f(can)f(b)s(e)g(used)g(to)h
-(restrict)g(output)f(to)h(v)-5 b(ariables)30 b(with)e(the)630
-1415 y(sp)s(eci\014ed)i(attributes)h(or)f(to)h(giv)m(e)h(v)-5
-b(ariables)31 b(attributes:)630 1564 y Fs(-a)384 b Ft(Eac)m(h)36
-b Fq(name)k Ft(is)34 b(an)h(indexed)g(arra)m(y)g(v)-5
-b(ariable)36 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)1110
-1674 y(page)31 b(80\).)630 1823 y Fs(-A)384 b Ft(Eac)m(h)24
+b(`)p Fs(-F)p Ft(')38 b(implies)630 2096 y(`)p Fs(-f)p
+Ft('.)630 2236 y(The)32 b(`)p Fs(-g)p Ft(')h(option)g(forces)g(v)-5
+b(ariables)33 b(to)h(b)s(e)e(created)h(or)g(mo)s(di\014ed)e(at)j(the)f
+(global)h(scop)s(e,)630 2346 y(ev)m(en)39 b(when)f Fs(\\)p
+Ft(fBdeclare)p Fs(\\)p Ft(fP)h(is)g(executed)h(in)e(a)h(shell)g
+(function.)66 b(It)39 b(is)g(ignored)g(in)f(all)630 2456
+y(other)31 b(cases.)630 2596 y(The)c(follo)m(wing)h(options)g(can)f(b)s
+(e)g(used)f(to)i(restrict)g(output)e(to)i(v)-5 b(ariables)28
+b(with)f(the)g(sp)s(ec-)630 2705 y(i\014ed)j(attributes)h(or)f(to)h
+(giv)m(e)h(v)-5 b(ariables)31 b(attributes:)630 2876
+y Fs(-a)384 b Ft(Eac)m(h)36 b Fq(name)k Ft(is)34 b(an)h(indexed)g(arra)
+m(y)g(v)-5 b(ariable)36 b(\(see)f(Section)h(6.7)g([Arra)m(ys],)1110
+2986 y(page)31 b(82\).)630 3157 y Fs(-A)384 b Ft(Eac)m(h)24
b Fq(name)k Ft(is)23 b(an)g(asso)s(ciativ)m(e)j(arra)m(y)e(v)-5
b(ariable)24 b(\(see)g(Section)g(6.7)g([Arra)m(ys],)1110
-1933 y(page)31 b(80\).)630 2082 y Fs(-f)384 b Ft(Use)31
-b(function)f(names)g(only)-8 b(.)630 2232 y Fs(-i)384
+3267 y(page)31 b(82\).)630 3438 y Fs(-f)384 b Ft(Use)31
+b(function)f(names)g(only)-8 b(.)630 3608 y Fs(-i)384
b Ft(The)36 b(v)-5 b(ariable)37 b(is)f(to)h(b)s(e)f(treated)h(as)g(an)f
(in)m(teger;)41 b(arithmetic)c(ev)-5 b(aluation)1110
-2341 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(78\))h
-(is)f(p)s(erformed)e(when)h(the)1110 2451 y(v)-5 b(ariable)31
-b(is)g(assigned)f(a)h(v)-5 b(alue.)630 2600 y Fs(-l)384
+3718 y(\(see)29 b(Section)f(6.5)h([Shell)f(Arithmetic],)i(page)e(80\))h
+(is)f(p)s(erformed)e(when)h(the)1110 3828 y(v)-5 b(ariable)31
+b(is)g(assigned)f(a)h(v)-5 b(alue.)630 3999 y Fs(-l)384
b Ft(When)26 b(the)g(v)-5 b(ariable)27 b(is)f(assigned)g(a)g(v)-5
b(alue,)28 b(all)f(upp)s(er-case)e(c)m(haracters)j(are)1110
-2710 y(con)m(v)m(erted)k(to)f(lo)m(w)m(er-case.)43 b(The)30
-b(upp)s(er-case)g(attribute)h(is)g(disabled.)630 2859
+4108 y(con)m(v)m(erted)k(to)f(lo)m(w)m(er-case.)43 b(The)30
+b(upp)s(er-case)g(attribute)h(is)g(disabled.)630 4279
y Fs(-r)384 b Ft(Mak)m(e)25 b Fq(name)5 b Ft(s)23 b(readonly)-8
b(.)39 b(These)24 b(names)f(cannot)h(then)f(b)s(e)g(assigned)h(v)-5
-b(alues)1110 2969 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
-(statemen)m(ts)h(or)f(unset.)630 3118 y Fs(-t)384 b Ft(Giv)m(e)33
+b(alues)1110 4389 y(b)m(y)30 b(subsequen)m(t)g(assignmen)m(t)h
+(statemen)m(ts)h(or)f(unset.)630 4560 y Fs(-t)384 b Ft(Giv)m(e)33
b(eac)m(h)h Fq(name)j Ft(the)32 b Fs(trace)f Ft(attribute.)46
-b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 3228
+b(T)-8 b(raced)32 b(functions)g(inherit)g(the)1110 4669
y Fs(DEBUG)26 b Ft(and)h Fs(RETURN)f Ft(traps)h(from)g(the)h(calling)h
-(shell.)40 b(The)27 b(trace)i(attribute)1110 3337 y(has)h(no)g(sp)s
-(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 3487 y
+(shell.)40 b(The)27 b(trace)i(attribute)1110 4779 y(has)h(no)g(sp)s
+(ecial)h(meaning)g(for)f(v)-5 b(ariables.)630 4950 y
Fs(-u)384 b Ft(When)28 b(the)h(v)-5 b(ariable)29 b(is)f(assigned)h(a)f
(v)-5 b(alue,)30 b(all)f(lo)m(w)m(er-case)i(c)m(haracters)f(are)1110
-3597 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40 b(The)30
-b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630 3746
+5059 y(con)m(v)m(erted)i(to)f(upp)s(er-case.)40 b(The)30
+b(lo)m(w)m(er-case)j(attribute)e(is)g(disabled.)630 5230
y Fs(-x)384 b Ft(Mark)30 b(eac)m(h)h Fq(name)k Ft(for)29
b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
-3856 y(ronmen)m(t.)630 4005 y(Using)e(`)p Fs(+)p Ft(')h(instead)f(of)g
-(`)p Fs(-)p Ft(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
-(the)g(exceptions)h(that)630 4115 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f
-(b)s(e)f(used)g(to)i(destro)m(y)g(an)f(arra)m(y)g(v)-5
-b(ariable)31 b(and)f(`)p Fs(+r)p Ft(')g(will)g(not)g(remo)m(v)m(e)i
-(the)630 4224 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h
-(function,)g Fs(declare)e Ft(mak)m(es)j(eac)m(h)f Fq(name)35
-b Ft(lo)s(cal,)630 4334 y(as)40 b(with)g(the)g Fs(local)e
-Ft(command.)69 b(If)40 b(a)g(v)-5 b(ariable)41 b(name)f(is)g(follo)m(w)
-m(ed)h(b)m(y)f(=)p Fq(v)-5 b(alue)5 b Ft(,)43 b(the)630
-4443 y(v)-5 b(alue)31 b(of)f(the)h(v)-5 b(ariable)31
-b(is)g(set)f(to)i Fq(v)-5 b(alue)5 b Ft(.)630 4573 y(The)35
-b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
+5340 y(ronmen)m(t.)p eop end
+%%Page: 47 53
+TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y(Using)28
+b(`)p Fs(+)p Ft(')h(instead)f(of)g(`)p Fs(-)p Ft(')g(turns)f(o\013)i
+(the)f(attribute)h(instead,)g(with)f(the)g(exceptions)h(that)630
+408 y(`)p Fs(+a)p Ft(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m(y)
+g(an)f(arra)m(y)g(v)-5 b(ariable)31 b(and)f(`)p Fs(+r)p
+Ft(')g(will)g(not)g(remo)m(v)m(e)i(the)630 518 y(readonly)e(attribute.)
+41 b(When)30 b(used)f(in)g(a)h(function,)g Fs(declare)e
+Ft(mak)m(es)j(eac)m(h)f Fq(name)35 b Ft(lo)s(cal,)630
+628 y(as)30 b(with)g(the)h Fs(local)e Ft(command,)h(unless)f(the)i(`)p
+Fs(-g)p Ft(')f(option)g(is)h(used.)40 b(If)29 b(a)i(v)-5
+b(ariable)31 b(name)630 737 y(is)f(follo)m(w)m(ed)i(b)m(y)f(=)p
+Fq(v)-5 b(alue)5 b Ft(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
+b(ariable)31 b(is)g(set)g(to)g Fq(v)-5 b(alue)5 b Ft(.)630
+867 y(The)35 b(return)f(status)i(is)g(zero)g(unless)f(an)g(in)m(v)-5
b(alid)36 b(option)g(is)g(encoun)m(tered,)h(an)f(attempt)630
-4682 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
+977 y(is)c(made)g(to)g(de\014ne)f(a)h(function)g(using)f(`)p
Fs(-f)f(foo=bar)p Ft(',)h(an)h(attempt)g(is)g(made)g(to)h(assign)630
-4792 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
+1087 y(a)42 b(v)-5 b(alue)43 b(to)g(a)f(readonly)g(v)-5
b(ariable,)47 b(an)42 b(attempt)h(is)f(made)g(to)h(assign)f(a)h(v)-5
-b(alue)42 b(to)h(an)630 4902 y(arra)m(y)30 b(v)-5 b(ariable)30
+b(alue)42 b(to)h(an)630 1196 y(arra)m(y)30 b(v)-5 b(ariable)30
b(without)g(using)e(the)i(comp)s(ound)e(assignmen)m(t)i(syn)m(tax)g
-(\(see)h(Section)f(6.7)630 5011 y([Arra)m(ys],)47 b(page)c(80\),)48
+(\(see)h(Section)f(6.7)630 1306 y([Arra)m(ys],)47 b(page)c(82\),)48
b(one)43 b(of)g(the)g Fq(names)k Ft(is)c(not)g(a)g(v)-5
b(alid)43 b(shell)g(v)-5 b(ariable)44 b(name,)i(an)630
-5121 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
+1415 y(attempt)28 b(is)f(made)h(to)f(turn)f(o\013)i(readonly)f(status)g
(for)g(a)h(readonly)f(v)-5 b(ariable,)29 b(an)e(attempt)630
-5230 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
+1525 y(is)h(made)h(to)g(turn)e(o\013)i(arra)m(y)f(status)h(for)f(an)g
(arra)m(y)h(v)-5 b(ariable,)30 b(or)e(an)g(attempt)i(is)e(made)g(to)630
-5340 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
-Fs(-f)p Ft('.)p eop end
-%%Page: 45 51
-TeXDict begin 45 50 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(45)150 299 y Fs(echo)870
-432 y(echo)47 b([-neE])f([)p Fi(arg)57 b Fs(...)o(])630
-565 y Ft(Output)31 b(the)i Fq(arg)8 b Ft(s,)33 b(separated)g(b)m(y)g
-(spaces,)g(terminated)g(with)f(a)h(newline.)47 b(The)32
-b(return)630 674 y(status)40 b(is)g(alw)m(a)m(ys)h(0.)69
-b(If)39 b(`)p Fs(-n)p Ft(')h(is)f(sp)s(eci\014ed,)j(the)e(trailing)h
-(newline)e(is)h(suppressed.)66 b(If)630 784 y(the)29
-b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g(in)m(terpretation)g(of)g
-(the)f(follo)m(wing)h(bac)m(kslash-escap)s(ed)g(c)m(har-)630
-893 y(acters)38 b(is)f(enabled.)60 b(The)36 b(`)p Fs(-E)p
-Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f(these)g
-(escap)s(e)630 1003 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g(where)f
-(they)h(are)g(in)m(terpreted)h(b)m(y)e(default.)55 b(The)34
-b Fs(xpg_)630 1112 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s(e)e(used)h
-(to)h(dynamically)g(determine)f(whether)f(or)i(not)f
-Fs(echo)630 1222 y Ft(expands)39 b(these)i(escap)s(e)g(c)m(haracters)g
+1634 y(displa)m(y)j(a)f(non-existen)m(t)i(function)e(with)g(`)p
+Fs(-f)p Ft('.)150 1785 y Fs(echo)870 1915 y(echo)47 b([-neE])f([)p
+Fi(arg)57 b Fs(...)o(])630 2045 y Ft(Output)31 b(the)i
+Fq(arg)8 b Ft(s,)33 b(separated)g(b)m(y)g(spaces,)g(terminated)g(with)f
+(a)h(newline.)47 b(The)32 b(return)630 2155 y(status)40
+b(is)g(alw)m(a)m(ys)h(0.)69 b(If)39 b(`)p Fs(-n)p Ft(')h(is)f(sp)s
+(eci\014ed,)j(the)e(trailing)h(newline)e(is)h(suppressed.)66
+b(If)630 2265 y(the)29 b(`)p Fs(-e)p Ft(')g(option)g(is)h(giv)m(en,)g
+(in)m(terpretation)g(of)g(the)f(follo)m(wing)h(bac)m(kslash-escap)s(ed)
+g(c)m(har-)630 2374 y(acters)38 b(is)f(enabled.)60 b(The)36
+b(`)p Fs(-E)p Ft(')h(option)g(disables)g(the)g(in)m(terpretation)h(of)f
+(these)g(escap)s(e)630 2484 y(c)m(haracters,)h(ev)m(en)d(on)g(systems)g
+(where)f(they)h(are)g(in)m(terpreted)h(b)m(y)e(default.)55
+b(The)34 b Fs(xpg_)630 2593 y(echo)d Ft(shell)h(option)h(ma)m(y)g(b)s
+(e)e(used)h(to)h(dynamically)g(determine)f(whether)f(or)i(not)f
+Fs(echo)630 2703 y Ft(expands)39 b(these)i(escap)s(e)g(c)m(haracters)g
(b)m(y)g(default.)70 b Fs(echo)39 b Ft(do)s(es)h(not)g(in)m(terpret)h
-(`)p Fs(--)p Ft(')f(to)630 1332 y(mean)30 b(the)h(end)f(of)g(options.)
-630 1465 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)
-f(sequences:)630 1621 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
-1777 y Fs(\\b)384 b Ft(bac)m(kspace)630 1933 y Fs(\\c)g
-Ft(suppress)28 b(further)h(output)630 2089 y Fs(\\e)384
-b Ft(escap)s(e)630 2245 y Fs(\\f)g Ft(form)30 b(feed)630
-2401 y Fs(\\n)384 b Ft(new)30 b(line)630 2557 y Fs(\\r)384
-b Ft(carriage)32 b(return)630 2713 y Fs(\\t)384 b Ft(horizon)m(tal)32
-b(tab)630 2869 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
-3025 y Fs(\\\\)384 b Ft(bac)m(kslash)630 3181 y Fs(\\0)p
-Fi(nnn)240 b Ft(the)32 b(eigh)m(t-bit)i(c)m(haracter)g(whose)e(v)-5
-b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5 b(alue)32 b Fq(nnn)f
-Ft(\(zero)i(to)1110 3291 y(three)e(o)s(ctal)g(digits\))630
-3447 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
-(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fq(HH)1110 3557 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))150 3713 y Fs(enable)870 3846 y(enable)46 b([-a])h([-dnps])f
+(`)p Fs(--)p Ft(')f(to)630 2813 y(mean)30 b(the)h(end)f(of)g(options.)
+630 2943 y Fs(echo)f Ft(in)m(terprets)i(the)f(follo)m(wing)i(escap)s(e)
+f(sequences:)630 3093 y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630
+3244 y Fs(\\b)384 b Ft(bac)m(kspace)630 3395 y Fs(\\c)g
+Ft(suppress)28 b(further)h(output)630 3545 y Fs(\\e)630
+3655 y(\\E)384 b Ft(escap)s(e)630 3806 y Fs(\\f)g Ft(form)30
+b(feed)630 3956 y Fs(\\n)384 b Ft(new)30 b(line)630 4107
+y Fs(\\r)384 b Ft(carriage)32 b(return)630 4258 y Fs(\\t)384
+b Ft(horizon)m(tal)32 b(tab)630 4408 y Fs(\\v)384 b Ft(v)m(ertical)32
+b(tab)630 4559 y Fs(\\\\)384 b Ft(bac)m(kslash)630 4710
+y Fs(\\0)p Fi(nnn)240 b Ft(the)32 b(eigh)m(t-bit)i(c)m(haracter)g
+(whose)e(v)-5 b(alue)33 b(is)f(the)g(o)s(ctal)i(v)-5
+b(alue)32 b Fq(nnn)f Ft(\(zero)i(to)1110 4819 y(three)e(o)s(ctal)g
+(digits\))630 4970 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)
+m(haracter)g(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
+b(alue)40 b Fq(HH)1110 5080 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
+(digits\))630 5230 y Fs(\\u)p Fi(HHHH)192 b Ft(the)41
+b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g(whose)e(v)-5
+b(alue)41 b(is)g(the)g(hex-)1110 5340 y(adecimal)32 b(v)-5
+b(alue)31 b Fq(HHHH)41 b Ft(\(one)31 b(to)g(four)e(hex)h(digits\))p
+eop end
+%%Page: 48 54
+TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y Fs(\\U)p Fi(HHHHHHHH)1110
+408 y Ft(the)41 b(Unico)s(de)g(\(ISO/IEC)f(10646\))j(c)m(haracter)g
+(whose)e(v)-5 b(alue)41 b(is)g(the)g(hex-)1110 518 y(adecimal)32
+b(v)-5 b(alue)31 b Fq(HHHHHHHH)41 b Ft(\(one)31 b(to)g(eigh)m(t)h(hex)e
+(digits\))150 684 y Fs(enable)870 822 y(enable)46 b([-a])h([-dnps])f
([-f)g Fi(filename)11 b Fs(])45 b([)p Fi(name)57 b Fs(...)o(])630
-3978 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
+960 y Ft(Enable)36 b(and)f(disable)h(builtin)g(shell)g(commands.)56
b(Disabling)37 b(a)g(builtin)e(allo)m(ws)i(a)f(disk)630
-4088 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
-(builtin)e(to)i(b)s(e)f(executed)h(without)630 4198 y(sp)s(ecifying)27
+1070 y(command)e(whic)m(h)g(has)g(the)g(same)h(name)f(as)h(a)f(shell)h
+(builtin)e(to)i(b)s(e)f(executed)h(without)630 1180 y(sp)s(ecifying)27
b(a)g(full)g(pathname,)g(ev)m(en)h(though)f(the)g(shell)g(normally)g
-(searc)m(hes)h(for)f(builtins)630 4307 y(b)s(efore)32
+(searc)m(hes)h(for)f(builtins)630 1289 y(b)s(efore)32
b(disk)f(commands.)46 b(If)31 b(`)p Fs(-n)p Ft(')h(is)g(used,)g(the)g
Fq(name)5 b Ft(s)32 b(b)s(ecome)h(disabled.)45 b(Otherwise)630
-4417 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
+1399 y Fq(name)5 b Ft(s)44 b(are)h(enabled.)82 b(F)-8
b(or)45 b(example,)k(to)c(use)f(the)g Fs(test)f Ft(binary)h(found)f
-(via)h Fs($PATH)630 4526 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
+(via)h Fs($PATH)630 1508 y Ft(instead)31 b(of)f(the)h(shell)f(builtin)g
(v)m(ersion,)h(t)m(yp)s(e)g(`)p Fs(enable)e(-n)h(test)p
-Ft('.)630 4659 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
+Ft('.)630 1646 y(If)42 b(the)h(`)p Fs(-p)p Ft(')f(option)h(is)f
(supplied,)j(or)d(no)h Fq(name)k Ft(argumen)m(ts)c(app)s(ear,)i(a)e
-(list)g(of)g(shell)630 4769 y(builtins)37 b(is)h(prin)m(ted.)63
+(list)g(of)g(shell)630 1756 y(builtins)37 b(is)h(prin)m(ted.)63
b(With)38 b(no)f(other)h(argumen)m(ts,)j(the)d(list)g(consists)g(of)g
-(all)h(enabled)630 4878 y(shell)33 b(builtins.)46 b(The)32
+(all)h(enabled)630 1866 y(shell)33 b(builtins.)46 b(The)32
b(`)p Fs(-a)p Ft(')h(option)g(means)f(to)i(list)f(eac)m(h)h(builtin)e
-(with)g(an)g(indication)i(of)630 4988 y(whether)c(or)g(not)h(it)g(is)f
-(enabled.)630 5121 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
+(with)g(an)g(indication)i(of)630 1975 y(whether)c(or)g(not)h(it)g(is)f
+(enabled.)630 2113 y(The)40 b(`)p Fs(-f)p Ft(')g(option)g(means)g(to)h
(load)g(the)f(new)f(builtin)h(command)g Fq(name)45 b
-Ft(from)40 b(shared)630 5230 y(ob)5 b(ject)26 b Fq(\014lename)5
+Ft(from)40 b(shared)630 2223 y(ob)5 b(ject)26 b Fq(\014lename)5
b Ft(,)28 b(on)d(systems)h(that)g(supp)s(ort)e(dynamic)h(loading.)40
-b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 5340
+b(The)25 b(`)p Fs(-d)p Ft(')h(option)g(will)630 2332
y(delete)32 b(a)e(builtin)g(loaded)h(with)f(`)p Fs(-f)p
-Ft('.)p eop end
-%%Page: 46 52
-TeXDict begin 46 51 bop 150 -116 a Ft(46)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(If)g(there)g(are)g(no)g(options,)h(a)
-f(list)h(of)f(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43
-b(The)31 b(`)p Fs(-s)p Ft(')f(option)630 408 y(restricts)f
-Fs(enable)e Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40
+Ft('.)630 2470 y(If)h(there)g(are)g(no)g(options,)h(a)f(list)h(of)f
+(the)g(shell)g(builtins)g(is)g(displa)m(y)m(ed.)43 b(The)31
+b(`)p Fs(-s)p Ft(')f(option)630 2580 y(restricts)f Fs(enable)e
+Ft(to)i(the)f Fl(posix)g Ft(sp)s(ecial)h(builtins.)40
b(If)27 b(`)p Fs(-s)p Ft(')i(is)f(used)g(with)g(`)p Fs(-f)p
-Ft(',)h(the)f(new)630 518 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
+Ft(',)h(the)f(new)630 2690 y(builtin)i(b)s(ecomes)h(a)f(sp)s(ecial)h
(builtin)f(\(see)i(Section)f(4.4)g([Sp)s(ecial)g(Builtins],)g(page)g
-(59\).)630 650 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
+(62\).)630 2828 y(The)26 b(return)f(status)h(is)g(zero)h(unless)e(a)i
Fq(name)k Ft(is)26 b(not)g(a)h(shell)f(builtin)g(or)g(there)g(is)g(an)g
-(error)630 760 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
-(ob)5 b(ject.)150 915 y Fs(help)870 1047 y(help)47 b([-dms])f([)p
-Fi(pattern)11 b Fs(])630 1179 y Ft(Displa)m(y)40 b(helpful)e
+(error)630 2937 y(loading)31 b(a)g(new)f(builtin)g(from)g(a)g(shared)g
+(ob)5 b(ject.)150 3104 y Fs(help)870 3242 y(help)47 b([-dms])f([)p
+Fi(pattern)11 b Fs(])630 3380 y Ft(Displa)m(y)40 b(helpful)e
(information)h(ab)s(out)g(builtin)f(commands.)66 b(If)38
-b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 1288 y Fs(help)28
+b Fq(pattern)h Ft(is)g(sp)s(eci\014ed,)630 3489 y Fs(help)28
b Ft(giv)m(es)i(detailed)g(help)e(on)h(all)h(commands)e(matc)m(hing)i
-Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 1398
-y(the)h(builtins)e(is)i(prin)m(ted.)630 1530 y(Options,)f(if)h
+Fq(pattern)p Ft(,)g(otherwise)f(a)g(list)h(of)630 3599
+y(the)h(builtins)e(is)i(prin)m(ted.)630 3737 y(Options,)f(if)h
(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h(meanings:)630
-1685 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
-(eac)m(h)i Fq(pattern)630 1840 y Fs(-m)384 b Ft(Displa)m(y)32
+3903 y Fs(-d)384 b Ft(Displa)m(y)32 b(a)e(short)g(description)h(of)f
+(eac)m(h)i Fq(pattern)630 4070 y Fs(-m)384 b Ft(Displa)m(y)32
b(the)e(description)g(of)h(eac)m(h)h Fq(pattern)e Ft(in)g(a)h
-(manpage-lik)m(e)h(format)630 1994 y Fs(-s)384 b Ft(Displa)m(y)32
+(manpage-lik)m(e)h(format)630 4236 y Fs(-s)384 b Ft(Displa)m(y)32
b(only)e(a)h(short)f(usage)h(synopsis)e(for)i(eac)m(h)g
-Fq(pattern)630 2149 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
-(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 2304
-y Fs(let)870 2436 y(let)47 b Fi(expression)55 b Fs([)p
-Fi(expression)11 b Fs(])630 2568 y Ft(The)41 b Fs(let)g
+Fq(pattern)630 4402 y Ft(The)f(return)f(status)i(is)f(zero)h(unless)f
+(no)g(command)h(matc)m(hes)g Fq(pattern)p Ft(.)150 4569
+y Fs(let)870 4707 y(let)47 b Fi(expression)55 b Fs([)p
+Fi(expression)11 b Fs(])630 4845 y Ft(The)41 b Fs(let)g
Ft(builtin)g(allo)m(ws)i(arithmetic)f(to)h(b)s(e)d(p)s(erformed)g(on)i
-(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 2678 y Fq(expression)31
+(shell)g(v)-5 b(ariables.)74 b(Eac)m(h)630 4954 y Fq(expression)31
b Ft(is)g(ev)-5 b(aluated)32 b(according)f(to)h(the)f(rules)g(giv)m(en)
-h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 2787
-y(Arithmetic],)51 b(page)46 b(78.)87 b(If)45 b(the)g(last)h
+h(b)s(elo)m(w)f(in)f(Section)i(6.5)g([Shell)630 5064
+y(Arithmetic],)51 b(page)46 b(80.)87 b(If)45 b(the)g(last)h
Fq(expression)g Ft(ev)-5 b(aluates)47 b(to)f(0,)k Fs(let)44
-b Ft(returns)g(1;)630 2897 y(otherwise)31 b(0)g(is)f(returned.)150
-3051 y Fs(local)870 3184 y(local)46 b([)p Fi(option)11
-b Fs(])45 b Fi(name)11 b Fs([=)p Fi(value)g Fs(])44 b(...)630
-3316 y Ft(F)-8 b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e(lo)s(cal)i(v)-5
-b(ariable)26 b(named)f Fq(name)31 b Ft(is)25 b(created,)j(and)d
-(assigned)g Fq(v)-5 b(alue)5 b Ft(.)630 3425 y(The)37
-b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f(the)h(options)g(accepted)g
-(b)m(y)g Fs(declare)p Ft(.)59 b Fs(local)36 b Ft(can)i(only)630
-3535 y(b)s(e)j(used)h(within)f(a)i(function;)48 b(it)42
-b(mak)m(es)h(the)f(v)-5 b(ariable)43 b Fq(name)48 b Ft(ha)m(v)m(e)43
-b(a)f(visible)h(scop)s(e)630 3645 y(restricted)c(to)g(that)g(function)f
-(and)f(its)i(c)m(hildren.)64 b(The)38 b(return)f(status)h(is)h(zero)g
-(unless)630 3754 y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h
-(an)e(in)m(v)-5 b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
-Fq(name)45 b Ft(is)c(a)630 3864 y(readonly)30 b(v)-5
-b(ariable.)150 4018 y Fs(logout)870 4151 y(logout)46
-b([)p Fi(n)11 b Fs(])630 4283 y Ft(Exit)31 b(a)g(login)g(shell,)g
-(returning)e(a)i(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m
-(t.)150 4437 y Fs(mapfile)870 4570 y(mapfile)46 b([-n)h
-Fi(count)11 b Fs(])45 b([-O)i Fi(origin)11 b Fs(])46
-b([-s)g Fi(count)11 b Fs(])46 b([-t])h([-u)g Fi(fd)11
-b Fs(])46 b([)870 4679 y(-C)h Fi(callback)11 b Fs(])45
-b([-c)i Fi(quantum)11 b Fs(])45 b([)p Fi(array)11 b Fs(])630
-4811 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h
-(the)g(indexed)f(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8
-b Ft(,)39 b(or)630 4921 y(from)c(\014le)h(descriptor)g
-Fq(fd)j Ft(if)d(the)g(`)p Fs(-u)p Ft(')g(option)g(is)g(supplied.)56
+b Ft(returns)g(1;)630 5174 y(otherwise)31 b(0)g(is)f(returned.)150
+5340 y Fs(local)p eop end
+%%Page: 49 55
+TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(49)870 299 y Fs(local)46
+b([)p Fi(option)11 b Fs(])45 b Fi(name)11 b Fs([=)p Fi(value)g
+Fs(])44 b(...)630 432 y Ft(F)-8 b(or)26 b(eac)m(h)h(argumen)m(t,)g(a)e
+(lo)s(cal)i(v)-5 b(ariable)26 b(named)f Fq(name)31 b
+Ft(is)25 b(created,)j(and)d(assigned)g Fq(v)-5 b(alue)5
+b Ft(.)630 542 y(The)37 b Fq(option)h Ft(can)f(b)s(e)g(an)m(y)h(of)f
+(the)h(options)g(accepted)g(b)m(y)g Fs(declare)p Ft(.)59
+b Fs(local)36 b Ft(can)i(only)630 652 y(b)s(e)j(used)h(within)f(a)i
+(function;)48 b(it)42 b(mak)m(es)h(the)f(v)-5 b(ariable)43
+b Fq(name)48 b Ft(ha)m(v)m(e)43 b(a)f(visible)h(scop)s(e)630
+761 y(restricted)c(to)g(that)g(function)f(and)f(its)i(c)m(hildren.)64
+b(The)38 b(return)f(status)h(is)h(zero)g(unless)630 871
+y Fs(local)g Ft(is)h(used)g(outside)g(a)h(function,)h(an)e(in)m(v)-5
+b(alid)41 b Fq(name)46 b Ft(is)40 b(supplied,)i(or)e
+Fq(name)45 b Ft(is)c(a)630 980 y(readonly)30 b(v)-5 b(ariable.)150
+1138 y Fs(logout)870 1271 y(logout)46 b([)p Fi(n)11 b
+Fs(])630 1405 y Ft(Exit)31 b(a)g(login)g(shell,)g(returning)e(a)i
+(status)g(of)f Fq(n)g Ft(to)h(the)g(shell's)f(paren)m(t.)150
+1563 y Fs(mapfile)870 1696 y(mapfile)46 b([-n)h Fi(count)11
+b Fs(])45 b([-O)i Fi(origin)11 b Fs(])46 b([-s)g Fi(count)11
+b Fs(])46 b([-t])h([-u)g Fi(fd)11 b Fs(])46 b([)870 1806
+y(-C)h Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11
+b Fs(])45 b([)p Fi(array)11 b Fs(])630 1939 y Ft(Read)37
+b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h(the)g(indexed)f
+(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39
+b(or)630 2049 y(from)c(\014le)h(descriptor)g Fq(fd)j
+Ft(if)d(the)g(`)p Fs(-u)p Ft(')g(option)g(is)g(supplied.)56
b(The)35 b(v)-5 b(ariable)37 b Fs(MAPFILE)d Ft(is)630
-5031 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30
+2158 y(the)d(default)f Fq(arra)m(y)8 b Ft(.)41 b(Options,)30
b(if)h(supplied,)e(ha)m(v)m(e)j(the)e(follo)m(wing)i(meanings:)630
-5185 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i
+2316 y Fs(-n)384 b Ft(Cop)m(y)30 b(at)h(most)g Fq(coun)m(t)i
Ft(lines.)41 b(If)30 b Fq(coun)m(t)j Ft(is)d(0,)h(all)h(lines)e(are)h
-(copied.)630 5340 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g
+(copied.)630 2474 y Fs(-O)384 b Ft(Begin)31 b(assigning)g(to)g
Fq(arra)m(y)39 b Ft(at)31 b(index)f Fq(origin)p Ft(.)41
-b(The)30 b(default)h(index)f(is)g(0.)p eop end
-%%Page: 47 53
-TeXDict begin 47 52 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(47)630 299 y Fs(-s)384
+b(The)30 b(default)h(index)f(is)g(0.)630 2631 y Fs(-s)384
b Ft(Discard)31 b(the)f(\014rst)g Fq(coun)m(t)j Ft(lines)e(read.)630
-458 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f
-(eac)m(h)h(line)g(read.)630 618 y Fs(-u)384 b Ft(Read)31
+2789 y Fs(-t)384 b Ft(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f
+(eac)m(h)h(line)g(read.)630 2946 y Fs(-u)384 b Ft(Read)31
b(lines)f(from)g(\014le)h(descriptor)f Fq(fd)j Ft(instead)e(of)f(the)h
-(standard)e(input.)630 777 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43
+(standard)e(input.)630 3104 y Fs(-C)384 b Ft(Ev)-5 b(aluate)43
b Fq(callbac)m(k)49 b Ft(eac)m(h)42 b(time)g Fq(quan)m(tum)p
Ft(P)f(lines)h(are)f(read.)74 b(The)41 b(`)p Fs(-c)p
-Ft(')1110 887 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p
-Ft(.)630 1046 y Fs(-c)384 b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f
+Ft(')1110 3213 y(option)31 b(sp)s(eci\014es)f Fq(quan)m(tum)p
+Ft(.)630 3371 y Fs(-c)384 b Ft(Sp)s(ecify)30 b(the)g(n)m(um)m(b)s(er)f
(of)i(lines)f(read)h(b)s(et)m(w)m(een)g(eac)m(h)g(call)h(to)f
-Fq(callbac)m(k)6 b Ft(.)630 1205 y(If)29 b(`)p Fs(-C)p
-Ft(')g(is)h(sp)s(eci\014ed)f(without)g(`)p Fs(-c)p Ft(',)h(the)g
-(default)g(quan)m(tum)f(is)g(5000.)42 b(When)30 b Fq(callbac)m(k)37
-b Ft(is)630 1315 y(ev)-5 b(aluated,)35 b(it)e(is)f(supplied)g(the)g
-(index)g(of)h(the)g(next)g(arra)m(y)g(elemen)m(t)h(to)f(b)s(e)f
-(assigned)h(as)630 1425 y(an)f(additional)h(argumen)m(t.)46
-b Fq(callbac)m(k)40 b Ft(is)32 b(ev)-5 b(aluated)33 b(after)g(the)f
-(line)h(is)f(read)g(but)f(b)s(efore)630 1534 y(the)g(arra)m(y)f(elemen)
-m(t)i(is)f(assigned.)630 1669 y(If)25 b(not)g(supplied)f(with)h(an)g
-(explicit)i(origin,)g Fs(mapfile)c Ft(will)j(clear)g
-Fq(arra)m(y)34 b Ft(b)s(efore)24 b(assigning)630 1778
-y(to)31 b(it.)630 1913 y Fs(mapfile)41 b Ft(returns)g(successfully)i
-(unless)e(an)i(in)m(v)-5 b(alid)43 b(option)g(or)g(option)g(argumen)m
-(t)g(is)630 2022 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30
-b(in)m(v)-5 b(alid)31 b(or)g(unassignable,)f(or)h Fq(arra)m(y)38
+Fq(callbac)m(k)6 b Ft(.)630 3528 y(If)36 b(`)p Fs(-C)p
+Ft(')g(is)h(sp)s(eci\014ed)f(without)g(`)p Fs(-c)p Ft(',)i(the)f
+(default)f(quan)m(tum)g(is)h(5000.)61 b(When)36 b Fq(callbac)m(k)630
+3638 y Ft(is)e(ev)-5 b(aluated,)36 b(it)f(is)f(supplied)f(the)h(index)f
+(of)h(the)h(next)f(arra)m(y)g(elemen)m(t)i(to)e(b)s(e)g(assigned)630
+3748 y(and)f(the)g(line)h(to)f(b)s(e)g(assigned)g(to)h(that)g(elemen)m
+(t)h(as)e(additional)h(argumen)m(ts.)50 b Fq(callbac)m(k)630
+3857 y Ft(is)30 b(ev)-5 b(aluated)32 b(after)f(the)f(line)h(is)g(read)f
+(but)g(b)s(efore)f(the)i(arra)m(y)g(elemen)m(t)h(is)e(assigned.)630
+3991 y(If)25 b(not)g(supplied)f(with)h(an)g(explicit)i(origin,)g
+Fs(mapfile)c Ft(will)j(clear)g Fq(arra)m(y)34 b Ft(b)s(efore)24
+b(assigning)630 4100 y(to)31 b(it.)630 4234 y Fs(mapfile)41
+b Ft(returns)g(successfully)i(unless)e(an)i(in)m(v)-5
+b(alid)43 b(option)g(or)g(option)g(argumen)m(t)g(is)630
+4343 y(supplied,)29 b Fq(arra)m(y)39 b Ft(is)30 b(in)m(v)-5
+b(alid)31 b(or)g(unassignable,)f(or)h Fq(arra)m(y)38
b Ft(is)31 b(not)f(an)h(indexed)e(arra)m(y)-8 b(.)150
-2182 y Fs(printf)870 2316 y(printf)46 b([-v)h Fi(var)11
+4501 y Fs(printf)870 4634 y(printf)46 b([-v)h Fi(var)11
b Fs(])46 b Fi(format)57 b Fs([)p Fi(arguments)11 b Fs(])630
-2451 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k
+4768 y Ft(W)-8 b(rite)27 b(the)g(formatted)f Fq(argumen)m(ts)k
Ft(to)d(the)f(standard)f(output)h(under)e(the)i(con)m(trol)i(of)e(the)
-630 2560 y Fq(format)r Ft(.)40 b(The)29 b Fq(format)i
-Ft(is)d(a)h(c)m(haracter)i(string)d(whic)m(h)h(con)m(tains)h(three)e(t)
-m(yp)s(es)h(of)g(ob)5 b(jects:)630 2670 y(plain)28 b(c)m(haracters,)j
-(whic)m(h)d(are)h(simply)f(copied)h(to)h(standard)d(output,)i(c)m
-(haracter)h(escap)s(e)630 2780 y(sequences,)g(whic)m(h)f(are)g(con)m(v)
-m(erted)i(and)d(copied)i(to)f(the)h(standard)e(output,)h(and)g(format)
-630 2889 y(sp)s(eci\014cations,)38 b(eac)m(h)g(of)e(whic)m(h)g(causes)g
-(prin)m(ting)g(of)g(the)h(next)f(successiv)m(e)h Fq(argumen)m(t)r
-Ft(.)630 2999 y(In)31 b(addition)h(to)h(the)e(standard)g
-Fs(printf\(1\))f Ft(formats,)i(`)p Fs(\045b)p Ft(')g(causes)g
-Fs(printf)e Ft(to)j(expand)630 3108 y(bac)m(kslash)39
-b(escap)s(e)f(sequences)h(in)f(the)g(corresp)s(onding)f
-Fq(argumen)m(t)r Ft(,)k(\(except)e(that)g(`)p Fs(\\c)p
-Ft(')630 3218 y(terminates)44 b(output,)j(bac)m(kslashes)d(in)f(`)p
-Fs(\\')p Ft(',)k(`)p Fs(\\")p Ft(',)g(and)c(`)p Fs(\\?)p
-Ft(')g(are)h(not)g(remo)m(v)m(ed,)k(and)630 3328 y(o)s(ctal)25
-b(escap)s(es)f(b)s(eginning)f(with)g(`)p Fs(\\0)p Ft(')h(ma)m(y)g(con)m
-(tain)h(up)e(to)h(four)f(digits\),)j(and)d(`)p Fs(\045q)p
-Ft(')h(causes)630 3437 y Fs(printf)31 b Ft(to)i(output)f(the)h(corresp)
-s(onding)f Fq(argumen)m(t)j Ft(in)d(a)h(format)g(that)g(can)g(b)s(e)f
-(reused)630 3547 y(as)f(shell)f(input.)630 3681 y(The)24
-b(`)p Fs(-v)p Ft(')h(option)g(causes)g(the)g(output)g(to)g(b)s(e)f
-(assigned)h(to)h(the)f(v)-5 b(ariable)25 b Fq(v)-5 b(ar)32
-b Ft(rather)24 b(than)630 3791 y(b)s(eing)30 b(prin)m(ted)g(to)h(the)g
-(standard)e(output.)630 3925 y(The)i Fq(format)i Ft(is)e(reused)f(as)i
-(necessary)f(to)h(consume)f(all)h(of)f(the)g Fq(argumen)m(ts)t
-Ft(.)43 b(If)31 b(the)g Fq(for-)630 4035 y(mat)d Ft(requires)e(more)g
-Fq(argumen)m(ts)k Ft(than)25 b(are)i(supplied,)e(the)h(extra)h(format)f
-(sp)s(eci\014cations)630 4144 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g
-(v)-5 b(alue)29 b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)
-s(een)g(supplied.)38 b(The)630 4254 y(return)29 b(v)-5
-b(alue)31 b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
-4413 y Fs(read)870 4548 y(read)47 b([-ers])f([-a)h Fi(aname)11
+630 4878 y Fq(format)r Ft(.)57 b(The)35 b(`)p Fs(-v)p
+Ft(')h(option)g(causes)g(the)g(output)g(to)g(b)s(e)f(assigned)h(to)h
+(the)e(v)-5 b(ariable)37 b Fq(v)-5 b(ar)630 4987 y Ft(rather)30
+b(than)g(b)s(eing)g(prin)m(ted)g(to)h(the)g(standard)e(output.)630
+5121 y(The)36 b Fq(format)i Ft(is)f(a)f(c)m(haracter)i(string)e(whic)m
+(h)g(con)m(tains)i(three)e(t)m(yp)s(es)g(of)h(ob)5 b(jects:)53
+b(plain)630 5230 y(c)m(haracters,)41 b(whic)m(h)c(are)h(simply)e
+(copied)i(to)g(standard)f(output,)i(c)m(haracter)g(escap)s(e)e(se-)630
+5340 y(quences,)g(whic)m(h)f(are)g(con)m(v)m(erted)h(and)f(copied)g(to)
+g(the)g(standard)f(output,)i(and)f(format)p eop end
+%%Page: 50 56
+TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(sp)s(eci\014cations,)38
+b(eac)m(h)g(of)e(whic)m(h)g(causes)g(prin)m(ting)g(of)g(the)h(next)f
+(successiv)m(e)h Fq(argumen)m(t)r Ft(.)630 408 y(In)24
+b(addition)h(to)g(the)g(standard)f Fs(printf\(1\))e Ft(formats,)27
+b Fs(printf)c Ft(in)m(terprets)i(the)f(follo)m(wing)630
+518 y(extensions:)630 676 y Fs(\045b)384 b Ft(causes)42
+b Fs(printf)e Ft(to)i(expand)f(bac)m(kslash)h(escap)s(e)g(sequences)f
+(in)h(the)f(cor-)1110 786 y(resp)s(onding)c Fq(argumen)m(t)r
+Ft(,)42 b(\(except)e(that)g(`)p Fs(\\c)p Ft(')e(terminates)i(output,)h
+(bac)m(k-)1110 896 y(slashes)d(in)f(`)p Fs(\\')p Ft(',)j(`)p
+Fs(\\")p Ft(',)f(and)e(`)p Fs(\\?)p Ft(')h(are)g(not)g(remo)m(v)m(ed,)j
+(and)c(o)s(ctal)i(escap)s(es)1110 1005 y(b)s(eginning)30
+b(with)g(`)p Fs(\\0)p Ft(')g(ma)m(y)h(con)m(tain)h(up)d(to)i(four)f
+(digits\).)630 1163 y Fs(\045q)384 b Ft(causes)35 b Fs(printf)e
+Ft(to)i(output)g(the)g(corresp)s(onding)e Fq(argumen)m(t)k
+Ft(in)e(a)g(format)1110 1273 y(that)c(can)g(b)s(e)e(reused)h(as)h
+(shell)f(input.)630 1431 y Fs(\045\()p Fi(datefmt)11
+b Fs(\)T)1110 1541 y Ft(causes)32 b Fs(printf)f Ft(to)h(output)g(the)g
+(date-time)i(string)e(resulting)g(from)f(using)1110 1650
+y Fq(datefm)m(t)45 b Ft(as)d(a)g(format)g(string)g(for)g
+Fs(strftime)p Ft(\(3\).)74 b(The)41 b(corresp)s(onding)1110
+1760 y Fq(argumen)m(t)h Ft(is)e(an)g(in)m(teger)i(represen)m(ting)e
+(the)g(n)m(um)m(b)s(er)f(of)h(seconds)g(since)1110 1870
+y(the)24 b(ep)s(o)s(c)m(h.)38 b(Tw)m(o)24 b(sp)s(ecial)h(argumen)m(t)f
+(v)-5 b(alues)24 b(ma)m(y)h(b)s(e)e(used:)36 b(-1)25
+b(represen)m(ts)1110 1979 y(the)30 b(curren)m(t)g(time,)h(and)e(-2)i
+(represen)m(ts)f(the)g(time)h(the)f(shell)g(w)m(as)g(in)m(v)m(ok)m(ed.)
+630 2138 y(Argumen)m(ts)e(to)h(non-string)e(format)i(sp)s(eci\014ers)e
+(are)h(treated)h(as)g(C)e(language)j(constan)m(ts,)630
+2247 y(except)22 b(that)g(a)g(leading)g(plus)e(or)h(min)m(us)f(sign)i
+(is)f(allo)m(w)m(ed,)k(and)c(if)g(the)g(leading)h(c)m(haracter)h(is)630
+2357 y(a)i(single)g(or)f(double)h(quote,)h(the)f(v)-5
+b(alue)25 b(is)f(the)h(ASCI)s(I)e(v)-5 b(alue)25 b(of)f(the)h(follo)m
+(wing)h(c)m(haracter.)630 2491 y(The)31 b Fq(format)i
+Ft(is)e(reused)f(as)i(necessary)f(to)h(consume)f(all)h(of)f(the)g
+Fq(argumen)m(ts)t Ft(.)43 b(If)31 b(the)g Fq(for-)630
+2600 y(mat)d Ft(requires)e(more)g Fq(argumen)m(ts)k Ft(than)25
+b(are)i(supplied,)e(the)h(extra)h(format)f(sp)s(eci\014cations)630
+2710 y(b)s(eha)m(v)m(e)j(as)g(if)f(a)h(zero)g(v)-5 b(alue)29
+b(or)g(n)m(ull)f(string,)h(as)g(appropriate,)g(had)f(b)s(een)g
+(supplied.)38 b(The)630 2819 y(return)29 b(v)-5 b(alue)31
+b(is)g(zero)g(on)f(success,)h(non-zero)g(on)f(failure.)150
+2978 y Fs(read)870 3112 y(read)47 b([-ers])f([-a)h Fi(aname)11
b Fs(])45 b([-d)i Fi(delim)11 b Fs(])46 b([-i)h Fi(text)11
b Fs(])46 b([-n)g Fi(nchars)11 b Fs(])46 b([-N)h Fi(nchars)11
b Fs(])45 b([-p)i Fi(prompt)11 b Fs(])45 b([-t)i Fi(time-)870
-4658 y(out)11 b Fs(])46 b([-u)h Fi(fd)11 b Fs(])46 b([)p
-Fi(name)57 b Fs(...])630 4792 y Ft(One)26 b(line)h(is)g(read)f(from)h
+3221 y(out)11 b Fs(])46 b([-u)h Fi(fd)11 b Fs(])46 b([)p
+Fi(name)57 b Fs(...])630 3355 y Ft(One)26 b(line)h(is)g(read)f(from)h
(the)f(standard)g(input,)h(or)g(from)f(the)h(\014le)f(descriptor)h
-Fq(fd)i Ft(supplied)630 4902 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)
+Fq(fd)i Ft(supplied)630 3465 y(as)37 b(an)g(argumen)m(t)h(to)f(the)h(`)
p Fs(-u)p Ft(')e(option,)k(and)c(the)i(\014rst)e(w)m(ord)g(is)h
-(assigned)h(to)f(the)h(\014rst)630 5011 y Fq(name)5 b
+(assigned)h(to)f(the)h(\014rst)630 3574 y Fq(name)5 b
Ft(,)28 b(the)g(second)g(w)m(ord)f(to)h(the)f(second)h
Fq(name)5 b Ft(,)28 b(and)f(so)h(on,)g(with)f(lefto)m(v)m(er)j(w)m
-(ords)d(and)630 5121 y(their)h(in)m(terv)m(ening)g(separators)g
+(ords)d(and)630 3684 y(their)h(in)m(terv)m(ening)g(separators)g
(assigned)g(to)h(the)e(last)i Fq(name)5 b Ft(.)40 b(If)27
-b(there)h(are)g(few)m(er)f(w)m(ords)630 5230 y(read)44
+b(there)h(are)g(few)m(er)f(w)m(ords)630 3794 y(read)44
b(from)f(the)g(input)g(stream)h(than)g(names,)j(the)c(remaining)h
-(names)g(are)g(assigned)630 5340 y(empt)m(y)31 b(v)-5
+(names)g(are)g(assigned)630 3903 y(empt)m(y)31 b(v)-5
b(alues.)41 b(The)30 b(c)m(haracters)i(in)e(the)h(v)-5
b(alue)31 b(of)g(the)f Fs(IFS)g Ft(v)-5 b(ariable)31
-b(are)g(used)f(to)h(split)p eop end
-%%Page: 48 54
-TeXDict begin 48 53 bop 150 -116 a Ft(48)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(the)37 b(line)h(in)m(to)g(w)m(ords.)
-61 b(The)36 b(bac)m(kslash)i(c)m(haracter)h(`)p Fs(\\)p
-Ft(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630
-408 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
+b(are)g(used)f(to)h(split)630 4013 y(the)37 b(line)h(in)m(to)g(w)m
+(ords.)61 b(The)36 b(bac)m(kslash)i(c)m(haracter)h(`)p
+Fs(\\)p Ft(')e(ma)m(y)h(b)s(e)f(used)f(to)i(remo)m(v)m(e)h(an)m(y)630
+4122 y(sp)s(ecial)h(meaning)g(for)f(the)g(next)h(c)m(haracter)h(read)e
(and)g(for)g(line)h(con)m(tin)m(uation.)69 b(If)39 b(no)630
-518 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
+4232 y(names)28 b(are)h(supplied,)f(the)g(line)h(read)g(is)f(assigned)h
(to)g(the)f(v)-5 b(ariable)29 b Fs(REPLY)p Ft(.)39 b(The)28
-b(return)630 628 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is)g
-(encoun)m(tered,)h Fs(read)e Ft(times)h(out)g(\(in)g(whic)m(h)f(case)i
-(the)630 737 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f
+b(return)630 4341 y(co)s(de)e(is)g(zero,)h(unless)e(end-of-\014le)h(is)
+g(encoun)m(tered,)h Fs(read)e Ft(times)h(out)g(\(in)g(whic)m(h)f(case)i
+(the)630 4451 y(return)i(co)s(de)i(is)g(greater)g(than)g(128\),)h(or)f
(an)f(in)m(v)-5 b(alid)31 b(\014le)g(descriptor)f(is)h(supplied)e(as)i
-(the)630 847 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630
-983 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
-(meanings:)630 1144 y Fs(-a)e Fi(aname)114 b Ft(The)34
+(the)630 4561 y(argumen)m(t)g(to)g(`)p Fs(-u)p Ft('.)630
+4695 y(Options,)f(if)h(supplied,)e(ha)m(v)m(e)i(the)g(follo)m(wing)h
+(meanings:)630 4853 y Fs(-a)e Fi(aname)114 b Ft(The)34
b(w)m(ords)f(are)i(assigned)f(to)h(sequen)m(tial)h(indices)e(of)g(the)g
-(arra)m(y)h(v)-5 b(ariable)1110 1254 y Fq(aname)5 b Ft(,)29
+(arra)m(y)h(v)-5 b(ariable)1110 4963 y Fq(aname)5 b Ft(,)29
b(starting)g(at)f(0.)40 b(All)29 b(elemen)m(ts)g(are)f(remo)m(v)m(ed)h
-(from)e Fq(aname)33 b Ft(b)s(efore)1110 1363 y(the)e(assignmen)m(t.)41
+(from)e Fq(aname)33 b Ft(b)s(efore)1110 5072 y(the)e(assignmen)m(t.)41
b(Other)30 b Fq(name)36 b Ft(argumen)m(ts)30 b(are)h(ignored.)630
-1525 y Fs(-d)f Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
+5230 y Fs(-d)f Fi(delim)114 b Ft(The)41 b(\014rst)h(c)m(haracter)h(of)f
Fq(delim)g Ft(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
-1635 y(rather)30 b(than)g(newline.)630 1797 y Fs(-e)384
+5340 y(rather)30 b(than)g(newline.)p eop end
+%%Page: 51 57
+TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(51)630 299 y Fs(-e)384
b Ft(Readline)28 b(\(see)h(Chapter)e(8)h([Command)f(Line)g(Editing],)i
-(page)f(93\))h(is)f(used)1110 1906 y(to)42 b(obtain)f(the)g(line.)73
+(page)f(95\))h(is)f(used)1110 408 y(to)42 b(obtain)f(the)g(line.)73
b(Readline)41 b(uses)g(the)g(curren)m(t)g(\(or)g(default,)j(if)d(line)
-1110 2016 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j
-(editing)f(settings.)630 2178 y Fs(-i)e Fi(text)162 b
+1110 518 y(editing)31 b(w)m(as)g(not)f(previously)g(activ)m(e\))j
+(editing)f(settings.)630 687 y Fs(-i)e Fi(text)162 b
Ft(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)g(the)g(line,)j
-Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 2287 y(editing)31
-b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 2449
-y Fs(-n)f Fi(nchars)1110 2559 y Fs(read)38 b Ft(returns)f(after)j
+Fq(text)f Ft(is)e(placed)h(in)m(to)g(the)1110 797 y(editing)31
+b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 966
+y Fs(-n)f Fi(nchars)1110 1076 y Fs(read)38 b Ft(returns)f(after)j
(reading)f Fq(nc)m(hars)j Ft(c)m(haracters)e(rather)f(than)g(w)m
-(aiting)1110 2668 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e
-(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 2778
+(aiting)1110 1186 y(for)g(a)h(complete)h(line)f(of)f(input,)i(but)e
+(honor)g(a)h(delimiter)g(if)f(few)m(er)h(than)1110 1295
y Fq(nc)m(hars)34 b Ft(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g
-(delimiter.)630 2939 y Fs(-N)g Fi(nchars)1110 3049 y
+(delimiter.)630 1465 y Fs(-N)g Fi(nchars)1110 1574 y
Fs(read)39 b Ft(returns)f(after)j(reading)e(exactly)j
Fq(nc)m(hars)h Ft(c)m(haracters)f(rather)d(than)1110
-3159 y(w)m(aiting)32 b(for)f(a)g(complete)i(line)e(of)g(input,)g
-(unless)f(EOF)h(is)g(encoun)m(tered)g(or)1110 3268 y
+1684 y(w)m(aiting)32 b(for)f(a)g(complete)i(line)e(of)g(input,)g
+(unless)f(EOF)h(is)g(encoun)m(tered)g(or)1110 1793 y
Fs(read)f Ft(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m
-(tered)g(in)f(the)g(input)g(are)1110 3378 y(not)g(treated)h(sp)s
+(tered)g(in)f(the)g(input)g(are)1110 1903 y(not)g(treated)h(sp)s
(ecially)g(and)f(do)f(not)i(cause)f Fs(read)f Ft(to)i(return)e(un)m
-(til)h Fq(nc)m(hars)1110 3487 y Ft(c)m(haracters)h(are)f(read.)630
-3649 y Fs(-p)f Fi(prompt)1110 3759 y Ft(Displa)m(y)38
+(til)h Fq(nc)m(hars)1110 2012 y Ft(c)m(haracters)h(are)f(read.)630
+2182 y Fs(-p)f Fi(prompt)1110 2291 y Ft(Displa)m(y)38
b Fq(prompt)r Ft(,)f(without)g(a)f(trailing)i(newline,)g(b)s(efore)e
-(attempting)i(to)1110 3868 y(read)f(an)m(y)h(input.)60
+(attempting)i(to)1110 2401 y(read)f(an)m(y)h(input.)60
b(The)37 b(prompt)g(is)g(displa)m(y)m(ed)h(only)f(if)g(input)g(is)g
-(coming)1110 3978 y(from)30 b(a)h(terminal.)630 4140
+(coming)1110 2511 y(from)30 b(a)h(terminal.)630 2680
y Fs(-r)384 b Ft(If)21 b(this)h(option)g(is)f(giv)m(en,)k(bac)m(kslash)
d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h(c)m(haracter.)1110
-4249 y(The)30 b(bac)m(kslash)i(is)f(considered)g(to)h(b)s(e)e(part)h
-(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110 4359
+2790 y(The)30 b(bac)m(kslash)i(is)f(considered)g(to)h(b)s(e)e(part)h
+(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110 2899
y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i(a)g
-(line)f(con)m(tin)m(uation.)630 4521 y Fs(-s)384 b Ft(Silen)m(t)28
+(line)f(con)m(tin)m(uation.)630 3068 y Fs(-s)384 b Ft(Silen)m(t)28
b(mo)s(de.)40 b(If)27 b(input)f(is)i(coming)g(from)f(a)h(terminal,)h(c)
-m(haracters)g(are)f(not)1110 4630 y(ec)m(ho)s(ed.)630
-4792 y Fs(-t)i Fi(timeout)1110 4902 y Ft(Cause)23 b Fs(read)f
+m(haracters)g(are)f(not)1110 3178 y(ec)m(ho)s(ed.)630
+3347 y Fs(-t)i Fi(timeout)1110 3457 y Ft(Cause)23 b Fs(read)f
Ft(to)i(time)f(out)h(and)e(return)g(failure)h(if)g(a)h(complete)g(line)
-g(of)f(input)1110 5011 y(is)44 b(not)f(read)h(within)e
+g(of)f(input)1110 3567 y(is)44 b(not)f(read)h(within)e
Fq(timeout)47 b Ft(seconds.)80 b Fq(timeout)46 b Ft(ma)m(y)e(b)s(e)f(a)
-h(decimal)1110 5121 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s
+h(decimal)1110 3676 y(n)m(um)m(b)s(er)26 b(with)h(a)h(fractional)h(p)s
(ortion)d(follo)m(wing)j(the)f(decimal)g(p)s(oin)m(t.)40
-b(This)1110 5230 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c
+b(This)1110 3786 y(option)g(is)g(only)g(e\013ectiv)m(e)j(if)c
Fs(read)g Ft(is)h(reading)g(input)f(from)g(a)h(terminal,)1110
-5340 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)
-h(e\013ect)h(when)e(reading)h(from)g(regular)p eop end
-%%Page: 49 55
-TeXDict begin 49 54 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(49)1110 299 y(\014les.)55
-b(If)34 b Fq(timeout)k Ft(is)d(0,)i Fs(read)d Ft(returns)g(success)h
-(if)g(input)g(is)g(a)m(v)-5 b(ailable)37 b(on)1110 408
-y(the)j(sp)s(eci\014ed)f(\014le)g(descriptor,)j(failure)e(otherwise.)69
-b(The)39 b(exit)h(status)g(is)1110 518 y(greater)32 b(than)e(128)h(if)g
-(the)f(timeout)i(is)e(exceeded.)630 682 y Fs(-u)g Fi(fd)258
-b Ft(Read)31 b(input)e(from)h(\014le)g(descriptor)h Fq(fd)t
-Ft(.)150 847 y Fs(readarray)870 956 y(readarray)45 b([-n)i
-Fi(count)11 b Fs(])46 b([-O)h Fi(origin)11 b Fs(])45
-b([-s)i Fi(count)11 b Fs(])46 b([-t])g([-u)h Fi(fd)11
-b Fs(])47 b([)870 1066 y(-C)g Fi(callback)11 b Fs(])45
-b([-c)i Fi(quantum)11 b Fs(])45 b([)p Fi(array)11 b Fs(])630
-1203 y Ft(Read)37 b(lines)g(from)f(the)h(standard)f(input)g(in)m(to)h
-(the)g(indexed)f(arra)m(y)i(v)-5 b(ariable)37 b Fq(arra)m(y)8
-b Ft(,)39 b(or)630 1313 y(from)30 b(\014le)g(descriptor)h
-Fq(fd)i Ft(if)d(the)h(`)p Fs(-u)p Ft(')f(option)h(is)f(supplied.)630
-1450 y(A)g(synon)m(ym)g(for)g Fs(mapfile)p Ft(.)150 1614
-y Fs(source)870 1751 y(source)46 b Fi(filename)630 1888
-y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g
-([Bourne)g(Shell)f(Builtins],)h(page)g(35\).)150 2052
-y Fs(type)870 2189 y(type)47 b([-afptP])e([)p Fi(name)57
-b Fs(...)o(])630 2326 y Ft(F)-8 b(or)41 b(eac)m(h)h Fq(name)5
+3895 y(pip)s(e,)25 b(or)e(other)i(sp)s(ecial)f(\014le;)i(it)f(has)e(no)
+h(e\013ect)h(when)e(reading)h(from)g(regular)1110 4005
+y(\014les.)55 b(If)34 b Fq(timeout)k Ft(is)d(0,)i Fs(read)d
+Ft(returns)g(success)h(if)g(input)g(is)g(a)m(v)-5 b(ailable)37
+b(on)1110 4115 y(the)j(sp)s(eci\014ed)f(\014le)g(descriptor,)j(failure)
+e(otherwise.)69 b(The)39 b(exit)h(status)g(is)1110 4224
+y(greater)32 b(than)e(128)h(if)g(the)f(timeout)i(is)e(exceeded.)630
+4394 y Fs(-u)g Fi(fd)258 b Ft(Read)31 b(input)e(from)h(\014le)g
+(descriptor)h Fq(fd)t Ft(.)150 4563 y Fs(readarray)870
+4672 y(readarray)45 b([-n)i Fi(count)11 b Fs(])46 b([-O)h
+Fi(origin)11 b Fs(])45 b([-s)i Fi(count)11 b Fs(])46
+b([-t])g([-u)h Fi(fd)11 b Fs(])47 b([)870 4782 y(-C)g
+Fi(callback)11 b Fs(])45 b([-c)i Fi(quantum)11 b Fs(])45
+b([)p Fi(array)11 b Fs(])630 4922 y Ft(Read)37 b(lines)g(from)f(the)h
+(standard)f(input)g(in)m(to)h(the)g(indexed)f(arra)m(y)i(v)-5
+b(ariable)37 b Fq(arra)m(y)8 b Ft(,)39 b(or)630 5031
+y(from)30 b(\014le)g(descriptor)h Fq(fd)i Ft(if)d(the)h(`)p
+Fs(-u)p Ft(')f(option)h(is)f(supplied.)630 5171 y(A)g(synon)m(ym)g(for)
+g Fs(mapfile)p Ft(.)150 5340 y Fs(source)p eop end
+%%Page: 52 58
+TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31
+b(Reference)g(Man)m(ual)870 299 y Fs(source)46 b Fi(filename)630
+434 y Ft(A)30 b(synon)m(ym)g(for)g Fs(.)g Ft(\(see)i(Section)f(4.1)g
+([Bourne)g(Shell)f(Builtins],)h(page)g(37\).)150 595
+y Fs(type)870 731 y(type)47 b([-afptP])e([)p Fi(name)57
+b Fs(...)o(])630 866 y Ft(F)-8 b(or)41 b(eac)m(h)h Fq(name)5
b Ft(,)44 b(indicate)e(ho)m(w)f(it)g(w)m(ould)f(b)s(e)g(in)m(terpreted)
-h(if)g(used)f(as)h(a)g(command)630 2436 y(name.)630 2573
+h(if)g(used)f(as)h(a)g(command)630 976 y(name.)630 1111
y(If)d(the)g(`)p Fs(-t)p Ft(')g(option)g(is)g(used,)i
Fs(type)d Ft(prin)m(ts)g(a)i(single)f(w)m(ord)g(whic)m(h)g(is)g(one)g
-(of)h(`)p Fs(alias)p Ft(',)630 2682 y(`)p Fs(function)p
+(of)h(`)p Fs(alias)p Ft(',)630 1221 y(`)p Fs(function)p
Ft(',)32 b(`)p Fs(builtin)p Ft(',)g(`)p Fs(file)p Ft(')g(or)h(`)p
Fs(keyword)p Ft(',)f(if)h Fq(name)38 b Ft(is)33 b(an)f(alias,)j(shell)e
-(function,)630 2792 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
+(function,)630 1330 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
(reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55
-b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 2902
+b(If)34 b(the)h Fq(name)40 b Ft(is)35 b(not)630 1440
y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g
-Fs(type)f Ft(returns)g(a)i(failure)g(status.)630 3039
+Fs(type)f Ft(returns)g(a)i(failure)g(status.)630 1575
y(If)39 b(the)g(`)p Fs(-p)p Ft(')g(option)h(is)f(used,)i
Fs(type)d Ft(either)h(returns)f(the)i(name)f(of)g(the)g(disk)g(\014le)g
-(that)630 3148 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
+(that)630 1685 y(w)m(ould)30 b(b)s(e)g(executed,)h(or)g(nothing)f(if)g
(`)p Fs(-t)p Ft(')h(w)m(ould)f(not)g(return)g(`)p Fs(file)p
-Ft('.)630 3285 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g
+Ft('.)630 1820 y(The)23 b(`)p Fs(-P)p Ft(')g(option)h(forces)g(a)g
(path)f(searc)m(h)h(for)f(eac)m(h)h Fq(name)5 b Ft(,)26
b(ev)m(en)e(if)f(`)p Fs(-t)p Ft(')g(w)m(ould)g(not)h(return)630
-3395 y(`)p Fs(file)p Ft('.)630 3532 y(If)34 b(a)i(command)e(is)h
+1930 y(`)p Fs(file)p Ft('.)630 2065 y(If)34 b(a)i(command)e(is)h
(hashed,)g(`)p Fs(-p)p Ft(')g(and)f(`)p Fs(-P)p Ft(')h(prin)m(t)f(the)h
-(hashed)f(v)-5 b(alue,)37 b(not)e(necessarily)630 3641
+(hashed)f(v)-5 b(alue,)37 b(not)e(necessarily)630 2175
y(the)c(\014le)f(that)h(app)s(ears)f(\014rst)f(in)h Fs($PATH)p
-Ft(.)630 3778 y(If)36 b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g
+Ft(.)630 2310 y(If)36 b(the)h(`)p Fs(-a)p Ft(')g(option)g(is)g(used,)g
Fs(type)f Ft(returns)f(all)j(of)f(the)g(places)g(that)g(con)m(tain)h
-(an)f(exe-)630 3888 y(cutable)d(named)f Fq(\014le)5 b
+(an)f(exe-)630 2420 y(cutable)d(named)f Fq(\014le)5 b
Ft(.)49 b(This)32 b(includes)h(aliases)i(and)d(functions,)i(if)f(and)f
-(only)i(if)f(the)g(`)p Fs(-p)p Ft(')630 3998 y(option)e(is)f(not)h
-(also)g(used.)630 4134 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g
+(only)i(if)f(the)g(`)p Fs(-p)p Ft(')630 2529 y(option)e(is)f(not)h
+(also)g(used.)630 2665 y(If)26 b(the)h(`)p Fs(-f)p Ft(')g(option)g(is)g
(used,)g Fs(type)e Ft(do)s(es)i(not)g(attempt)g(to)h(\014nd)d(shell)i
-(functions,)g(as)g(with)630 4244 y(the)k Fs(command)d
-Ft(builtin.)630 4381 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
+(functions,)g(as)g(with)630 2774 y(the)k Fs(command)d
+Ft(builtin.)630 2910 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
(of)f(the)h Fq(names)i Ft(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h
-(not)630 4491 y(found.)150 4655 y Fs(typeset)870 4792
+(not)630 3019 y(found.)150 3180 y Fs(typeset)870 3316
y(typeset)46 b([-afFrxi])f([-p])i([)p Fi(name)11 b Fs([=)p
-Fi(value)g Fs(])43 b(...)o(])630 4929 y Ft(The)29 b Fs(typeset)f
+Fi(value)g Fs(])43 b(...)o(])630 3451 y Ft(The)29 b Fs(typeset)f
Ft(command)h(is)g(supplied)g(for)g(compatibilit)m(y)j(with)d(the)h
-(Korn)e(shell;)j(ho)m(w-)630 5039 y(ev)m(er,)g(it)g(has)f(b)s(een)g
+(Korn)e(shell;)j(ho)m(w-)630 3561 y(ev)m(er,)g(it)g(has)f(b)s(een)g
(deprecated)h(in)f(fa)m(v)m(or)i(of)e(the)h Fs(declare)d
-Ft(builtin)i(command.)150 5203 y Fs(ulimit)870 5340 y(ulimit)46
-b([-abcdefilmnpqrstuvxHST])41 b([)p Fi(limit)11 b Fs(])p
-eop end
-%%Page: 50 56
-TeXDict begin 50 55 bop 150 -116 a Ft(50)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(ulimit)25 b Ft(pro)m(vides)h(con)m
-(trol)i(o)m(v)m(er)g(the)f(resources)f(a)m(v)-5 b(ailable)29
-b(to)e(pro)s(cesses)f(started)h(b)m(y)g(the)630 408 y(shell,)i(on)f
-(systems)g(that)h(allo)m(w)h(suc)m(h)e(con)m(trol.)41
-b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m(terpreted)630
-518 y(as)i(follo)m(ws:)630 671 y Fs(-S)384 b Ft(Change)30
-b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h(with)e(a)h
-(resource.)630 825 y Fs(-H)384 b Ft(Change)30 b(and)g(rep)s(ort)g(the)g
-(hard)g(limit)h(asso)s(ciated)h(with)e(a)h(resource.)630
-978 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h(are)g(rep)s(orted.)
-630 1132 y Fs(-b)384 b Ft(The)30 b(maxim)m(um)g(so)s(c)m(k)m(et)i
-(bu\013er)e(size.)630 1285 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)
-h(of)g(core)g(\014les)f(created.)630 1439 y Fs(-d)384
-b Ft(The)30 b(maxim)m(um)g(size)h(of)g(a)g(pro)s(cess's)f(data)h
-(segmen)m(t.)630 1592 y Fs(-e)384 b Ft(The)30 b(maxim)m(um)g(sc)m
-(heduling)h(priorit)m(y)f(\()p Fs(")p Ft(nice)p Fs(")p
-Ft(\).)630 1745 y Fs(-f)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g
-(\014les)f(written)h(b)m(y)f(the)g(shell)h(and)f(its)h(c)m(hildren.)630
-1899 y Fs(-i)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s
-(ending)e(signals.)630 2052 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g
-(size)h(that)g(ma)m(y)g(b)s(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8
-b(.)630 2206 y Fs(-m)384 b Ft(The)36 b(maxim)m(um)g(residen)m(t)h(set)g
+Ft(builtin)i(command.)150 3722 y Fs(ulimit)870 3857 y(ulimit)46
+b([-abcdefilmnpqrstuvxHST])41 b([)p Fi(limit)11 b Fs(])630
+3993 y(ulimit)25 b Ft(pro)m(vides)h(con)m(trol)i(o)m(v)m(er)g(the)f
+(resources)f(a)m(v)-5 b(ailable)29 b(to)e(pro)s(cesses)f(started)h(b)m
+(y)g(the)630 4102 y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e
+(con)m(trol.)41 b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m
+(terpreted)630 4212 y(as)i(follo)m(ws:)630 4373 y Fs(-S)384
+b Ft(Change)30 b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h
+(with)e(a)h(resource.)630 4534 y Fs(-H)384 b Ft(Change)30
+b(and)g(rep)s(ort)g(the)g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h
+(resource.)630 4695 y Fs(-a)384 b Ft(All)31 b(curren)m(t)f(limits)h
+(are)g(rep)s(orted.)630 4856 y Fs(-b)384 b Ft(The)30
+b(maxim)m(um)g(so)s(c)m(k)m(et)i(bu\013er)e(size.)630
+5018 y Fs(-c)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g(core)g(\014les)
+f(created.)630 5179 y Fs(-d)384 b Ft(The)30 b(maxim)m(um)g(size)h(of)g
+(a)g(pro)s(cess's)f(data)h(segmen)m(t.)630 5340 y Fs(-e)384
+b Ft(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p
+Fs(")p Ft(nice)p Fs(")p Ft(\).)p eop end
+%%Page: 53 59
+TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(53)630 299 y Fs(-f)384
+b Ft(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f(written)h(b)m(y)f(the)
+g(shell)h(and)f(its)h(c)m(hildren.)630 484 y Fs(-i)384
+b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e
+(signals.)630 668 y Fs(-l)384 b Ft(The)30 b(maxim)m(um)g(size)h(that)g
+(ma)m(y)g(b)s(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8
+b(.)630 853 y Fs(-m)384 b Ft(The)36 b(maxim)m(um)g(residen)m(t)h(set)g
(size)g(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110
-2315 y(limit\).)630 2469 y Fs(-n)384 b Ft(The)38 b(maxim)m(um)h(n)m(um)
-m(b)s(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do)
-1110 2578 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31
-b(to)g(b)s(e)e(set\).)630 2732 y Fs(-p)384 b Ft(The)30
-b(pip)s(e)f(bu\013er)h(size.)630 2885 y Fs(-q)384 b Ft(The)30
+963 y(limit\).)630 1148 y Fs(-n)384 b Ft(The)38 b(maxim)m(um)h(n)m(um)m
+(b)s(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do)
+1110 1257 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31
+b(to)g(b)s(e)e(set\).)630 1442 y Fs(-p)384 b Ft(The)30
+b(pip)s(e)f(bu\013er)h(size.)630 1627 y Fs(-q)384 b Ft(The)30
b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m(ytes)g(in)f(POSIX)f(message)j
-(queues.)630 3039 y Fs(-r)384 b Ft(The)30 b(maxim)m(um)g(real-time)i
-(sc)m(heduling)f(priorit)m(y)-8 b(.)630 3192 y Fs(-s)384
-b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 3345
+(queues.)630 1812 y Fs(-r)384 b Ft(The)30 b(maxim)m(um)g(real-time)i
+(sc)m(heduling)f(priorit)m(y)-8 b(.)630 1996 y Fs(-s)384
+b Ft(The)30 b(maxim)m(um)g(stac)m(k)i(size.)630 2181
y Fs(-t)384 b Ft(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g(time)h
-(in)f(seconds.)630 3499 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m
+(in)f(seconds.)630 2366 y Fs(-u)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m
(b)s(er)f(of)i(pro)s(cesses)f(a)m(v)-5 b(ailable)33 b(to)e(a)f(single)i
-(user.)630 3652 y Fs(-v)384 b Ft(The)29 b(maxim)m(um)h(amoun)m(t)g(of)g
-(virtual)g(memory)g(a)m(v)-5 b(ailable)32 b(to)e(the)g(pro)s(cess.)630
-3806 y Fs(-x)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
-(\014le)f(lo)s(c)m(ks.)630 3959 y Fs(-T)384 b Ft(The)30
-b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 4113
+(user.)630 2551 y Fs(-v)384 b Ft(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h
+(virtual)f(memory)g(a)m(v)-5 b(ailable)44 b(to)e(the)g(shell,)1110
+2660 y(and,)30 b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
+2845 y Fs(-x)384 b Ft(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(\014le)f(lo)s(c)m(ks.)630 3030 y Fs(-T)384 b Ft(The)30
+b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(threads.)630 3215
y(If)i Fq(limit)j Ft(is)e(giv)m(en,)h(it)f(is)g(the)g(new)f(v)-5
b(alue)34 b(of)f(the)h(sp)s(eci\014ed)f(resource;)i(the)f(sp)s(ecial)g
-Fq(limit)630 4222 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g
+Fq(limit)630 3324 y Ft(v)-5 b(alues)27 b Fs(hard)p Ft(,)g
Fs(soft)p Ft(,)g(and)g Fs(unlimited)d Ft(stand)j(for)g(the)g(curren)m
-(t)g(hard)f(limit,)j(the)e(curren)m(t)630 4332 y(soft)38
+(t)g(hard)f(limit,)j(the)e(curren)m(t)630 3434 y(soft)38
b(limit,)j(and)d(no)f(limit,)k(resp)s(ectiv)m(ely)-8
b(.)66 b(A)38 b(hard)f(limit)h(cannot)h(b)s(e)e(increased)i(b)m(y)f(a)
-630 4441 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g
+630 3544 y(non-ro)s(ot)f(user)f(once)i(it)g(is)f(set;)k(a)c(soft)g
(limit)h(ma)m(y)g(b)s(e)e(increased)h(up)f(to)i(the)f(v)-5
-b(alue)38 b(of)630 4551 y(the)c(hard)f(limit.)51 b(Otherwise,)35
+b(alue)38 b(of)630 3653 y(the)c(hard)f(limit.)51 b(Otherwise,)35
b(the)f(curren)m(t)f(v)-5 b(alue)35 b(of)f(the)f(soft)i(limit)f(for)g
-(the)g(sp)s(eci\014ed)630 4661 y(resource)27 b(is)h(prin)m(ted,)f
+(the)g(sp)s(eci\014ed)630 3763 y(resource)27 b(is)h(prin)m(ted,)f
(unless)g(the)g(`)p Fs(-H)p Ft(')g(option)h(is)f(supplied.)38
-b(When)27 b(setting)h(new)f(limits,)630 4770 y(if)40
+b(When)27 b(setting)h(new)f(limits,)630 3872 y(if)40
b(neither)f(`)p Fs(-H)p Ft(')h(nor)f(`)p Fs(-S)p Ft(')h(is)f(supplied,)
i(b)s(oth)e(the)h(hard)f(and)g(soft)h(limits)g(are)g(set.)69
-b(If)630 4880 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p
+b(If)630 3982 y(no)35 b(option)h(is)f(giv)m(en,)j(then)d(`)p
Fs(-f)p Ft(')g(is)g(assumed.)55 b(V)-8 b(alues)36 b(are)f(in)g(1024-b)m
-(yte)j(incremen)m(ts,)630 4989 y(except)d(for)f(`)p Fs(-t)p
+(yte)j(incremen)m(ts,)630 4092 y(except)d(for)f(`)p Fs(-t)p
Ft(',)g(whic)m(h)g(is)g(in)g(seconds,)h(`)p Fs(-p)p Ft(',)g(whic)m(h)e
(is)h(in)g(units)f(of)h(512-b)m(yte)i(blo)s(c)m(ks,)630
-5099 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p
+4201 y(and)30 b(`)p Fs(-n)p Ft(')g(and)g(`)p Fs(-u)p
Ft(',)g(whic)m(h)g(are)h(unscaled)f(v)-5 b(alues.)630
-5230 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5
+4348 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5
b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)h(or)630
-5340 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)p
-eop end
-%%Page: 51 57
-TeXDict begin 51 56 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(51)150 299 y Fs(unalias)870
-435 y(unalias)46 b([-a])g([)p Fi(name)57 b Fs(...)47
-b(])630 572 y Ft(Remo)m(v)m(e)39 b(eac)m(h)f Fq(name)k
-Ft(from)36 b(the)h(list)h(of)f(aliases.)61 b(If)36 b(`)p
-Fs(-a)p Ft(')h(is)g(supplied,)h(all)f(aliases)i(are)630
-681 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)i
-(6.6)f([Aliases],)h(page)f(79.)150 919 y Fr(4.3)68 b(Mo)t(difying)45
-b(Shell)g(Beha)l(vior)150 1144 y Fj(4.3.1)63 b(The)41
-b(Set)g(Builtin)150 1290 y Ft(This)35 b(builtin)h(is)g(so)g
-(complicated)i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59
+4458 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
+150 4643 y Fs(unalias)870 4790 y(unalias)46 b([-a])g([)p
+Fi(name)57 b Fs(...)47 b(])630 4937 y Ft(Remo)m(v)m(e)39
+b(eac)m(h)f Fq(name)k Ft(from)36 b(the)h(list)h(of)f(aliases.)61
+b(If)36 b(`)p Fs(-a)p Ft(')h(is)g(supplied,)h(all)f(aliases)i(are)630
+5047 y(remo)m(v)m(ed.)j(Aliases)31 b(are)g(describ)s(ed)e(in)h(Section)
+i(6.6)f([Aliases],)h(page)f(81.)150 5317 y Fr(4.3)68
+b(Mo)t(difying)45 b(Shell)g(Beha)l(vior)p eop end
+%%Page: 54 60
+TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fj(4.3.1)63 b(The)41
+b(Set)g(Builtin)150 446 y Ft(This)35 b(builtin)h(is)g(so)g(complicated)
+i(that)f(it)f(deserv)m(es)h(its)f(o)m(wn)g(section.)59
b Fs(set)35 b Ft(allo)m(ws)j(y)m(ou)e(to)h(c)m(hange)150
-1400 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
+555 y(the)c(v)-5 b(alues)34 b(of)f(shell)g(options)h(and)e(set)i(the)f
(p)s(ositional)h(parameters,)h(or)e(to)h(displa)m(y)f(the)g(names)h
-(and)150 1510 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
-1675 y Fs(set)870 1811 y(set)47 b([--abefhkmnptuvxBCEHPT])41
-b([-o)47 b Fi(option)11 b Fs(])46 b([)p Fi(argument)55
-b Fs(...])870 1921 y(set)47 b([+abefhkmnptuvxBCEHPT])42
-b([+o)47 b Fi(option)11 b Fs(])45 b([)p Fi(argument)56
-b Fs(...)o(])630 2057 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
+(and)150 665 y(v)-5 b(alues)31 b(of)f(shell)h(v)-5 b(ariables.)150
+834 y Fs(set)870 972 y(set)47 b([--abefhkmnptuvxBCEHPT])41
+b([-o)47 b Fi(option-name)11 b Fs(])44 b([)p Fi(argument)56
+b Fs(...)o(])870 1082 y(set)47 b([+abefhkmnptuvxBCEHPT])42
+b([+o)47 b Fi(option-name)11 b Fs(])43 b([)p Fi(argument)56
+b Fs(...)o(])630 1219 y Ft(If)22 b(no)h(options)g(or)g(argumen)m(ts)g
(are)g(supplied,)g Fs(set)f Ft(displa)m(ys)g(the)h(names)g(and)f(v)-5
-b(alues)23 b(of)g(all)630 2167 y(shell)j(v)-5 b(ariables)27
+b(alues)23 b(of)g(all)630 1329 y(shell)j(v)-5 b(ariables)27
b(and)e(functions,)h(sorted)g(according)h(to)g(the)f(curren)m(t)f(lo)s
-(cale,)k(in)c(a)i(format)630 2276 y(that)i(ma)m(y)h(b)s(e)e(reused)g
+(cale,)k(in)c(a)i(format)630 1439 y(that)i(ma)m(y)h(b)s(e)e(reused)g
(as)h(input)f(for)h(setting)h(or)e(resetting)i(the)f(curren)m(tly-set)h
-(v)-5 b(ariables.)630 2386 y(Read-only)37 b(v)-5 b(ariables)37
+(v)-5 b(ariables.)630 1548 y(Read-only)37 b(v)-5 b(ariables)37
b(cannot)h(b)s(e)e(reset.)59 b(In)36 b Fl(posix)g Ft(mo)s(de,)i(only)f
-(shell)f(v)-5 b(ariables)38 b(are)630 2495 y(listed.)630
-2632 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
+(shell)f(v)-5 b(ariables)38 b(are)630 1658 y(listed.)630
+1796 y(When)29 b(options)g(are)g(supplied,)f(they)h(set)h(or)f(unset)f
(shell)h(attributes.)41 b(Options,)29 b(if)g(sp)s(ec-)630
-2741 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
-2905 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
+1905 y(i\014ed,)h(ha)m(v)m(e)i(the)e(follo)m(wing)i(meanings:)630
+2071 y Fs(-a)384 b Ft(Mark)32 b(v)-5 b(ariables)33 b(and)e(function)h
(whic)m(h)g(are)g(mo)s(di\014ed)f(or)h(created)h(for)f(ex-)1110
-3014 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
-(commands.)630 3177 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f
+2181 y(p)s(ort)e(to)h(the)f(en)m(vironmen)m(t)h(of)g(subsequen)m(t)f
+(commands.)630 2347 y Fs(-b)384 b Ft(Cause)44 b(the)h(status)g(of)f
(terminated)h(bac)m(kground)g(jobs)f(to)h(b)s(e)f(rep)s(orted)1110
-3287 y(immediately)-8 b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)
-g(the)g(next)g(primary)g(prompt.)630 3450 y Fs(-e)384
+2456 y(immediately)-8 b(,)30 b(rather)d(than)f(b)s(efore)h(prin)m(ting)
+g(the)g(next)g(primary)g(prompt.)630 2622 y Fs(-e)384
b Ft(Exit)65 b(immediately)g(if)f(a)h(pip)s(eline)e(\(see)i(Section)g
-(3.2.2)h([Pip)s(elines],)1110 3560 y(page)56 b(8\),)62
+(3.2.2)h([Pip)s(elines],)1110 2732 y(page)56 b(8\),)62
b(whic)m(h)55 b(ma)m(y)h(consist)f(of)h(a)f(single)h(simple)f(command)g
-(\(see)1110 3669 y(Section)43 b(3.2.1)i([Simple)d(Commands],)j(page)e
-(8\),)k(a)c(subshell)e(command)1110 3779 y(enclosed)32
+(\(see)1110 2841 y(Section)43 b(3.2.1)i([Simple)d(Commands],)j(page)e
+(8\),)k(a)c(subshell)e(command)1110 2951 y(enclosed)32
b(in)f(paren)m(theses)h(\(see)h(Section)f(3.2.4.3)i([Command)d
-(Grouping],)1110 3889 y(page)h(13\),)h(or)e(one)g(of)h(the)f(commands)g
-(executed)h(as)f(part)g(of)h(a)f(command)1110 3998 y(list)37
+(Grouping],)1110 3060 y(page)h(13\),)h(or)e(one)g(of)h(the)f(commands)g
+(executed)h(as)f(part)g(of)h(a)f(command)1110 3170 y(list)37
b(enclosed)g(b)m(y)f(braces)g(\(see)h(Section)g(3.2.4.3)h([Command)e
-(Grouping],)1110 4108 y(page)48 b(13\))g(returns)d(a)j(non-zero)f
+(Grouping],)1110 3280 y(page)48 b(13\))g(returns)d(a)j(non-zero)f
(status.)91 b(The)46 b(shell)h(do)s(es)g(not)g(exit)h(if)1110
-4217 y(the)39 b(command)f(that)h(fails)g(is)f(part)g(of)h(the)f
-(command)h(list)g(immediately)1110 4327 y(follo)m(wing)47
+3389 y(the)39 b(command)f(that)h(fails)g(is)f(part)g(of)h(the)f
+(command)h(list)g(immediately)1110 3499 y(follo)m(wing)47
b(a)f Fs(while)e Ft(or)h Fs(until)f Ft(k)m(eyw)m(ord,)50
-b(part)45 b(of)h(the)g(test)g(in)f(an)h Fs(if)1110 4436
+b(part)45 b(of)h(the)g(test)g(in)f(an)h Fs(if)1110 3608
y Ft(statemen)m(t,)31 b(part)d(of)h(an)m(y)g(command)f(executed)h(in)g
-(a)g Fs(&&)e Ft(or)i Fs(||)f Ft(list)h(except)1110 4546
+(a)g Fs(&&)e Ft(or)i Fs(||)f Ft(list)h(except)1110 3718
y(the)48 b(command)h(follo)m(wing)g(the)g(\014nal)f Fs(&&)f
Ft(or)i Fs(||)p Ft(,)j(an)m(y)d(command)f(in)g(a)1110
-4656 y(pip)s(eline)39 b(but)f(the)i(last,)i(or)d(if)g(the)h(command's)f
-(return)f(status)h(is)g(b)s(eing)1110 4765 y(in)m(v)m(erted)33
+3828 y(pip)s(eline)39 b(but)f(the)i(last,)i(or)d(if)g(the)h(command's)f
+(return)f(status)h(is)g(b)s(eing)1110 3937 y(in)m(v)m(erted)33
b(with)e Fs(!)p Ft(.)45 b(A)32 b(trap)g(on)f Fs(ERR)p
Ft(,)h(if)g(set,)h(is)f(executed)g(b)s(efore)g(the)g(shell)1110
-4875 y(exits.)1110 5011 y(This)e(option)h(applies)f(to)h(the)g(shell)g
+4047 y(exits.)1110 4185 y(This)e(option)h(applies)f(to)h(the)g(shell)g
(en)m(vironmen)m(t)g(and)f(eac)m(h)h(subshell)f(en-)1110
-5121 y(vironmen)m(t)j(separately)i(\(see)f(Section)g(3.7.3)h([Command)d
-(Execution)i(En-)1110 5230 y(vironmen)m(t],)i(page)f(30\),)i(and)d(ma)m
+4294 y(vironmen)m(t)j(separately)i(\(see)f(Section)g(3.7.3)h([Command)d
+(Execution)i(En-)1110 4404 y(vironmen)m(t],)i(page)f(32\),)i(and)d(ma)m
(y)h(cause)f(subshells)g(to)h(exit)g(b)s(efore)f(exe-)1110
-5340 y(cuting)d(all)g(the)g(commands)f(in)g(the)g(subshell.)p
-eop end
-%%Page: 52 58
-TeXDict begin 52 57 bop 150 -116 a Ft(52)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(-f)384 b Ft(Disable)31
-b(\014lename)g(expansion)f(\(globbing\).)630 455 y Fs(-h)384
-b Ft(Lo)s(cate)33 b(and)e(remem)m(b)s(er)h(\(hash\))g(commands)f(as)h
-(they)g(are)g(lo)s(ok)m(ed)h(up)e(for)1110 565 y(execution.)42
-b(This)29 b(option)i(is)g(enabled)f(b)m(y)g(default.)630
-722 y Fs(-k)384 b Ft(All)34 b(argumen)m(ts)g(in)f(the)h(form)f(of)g
+4513 y(cuting)d(all)g(the)g(commands)f(in)g(the)g(subshell.)630
+4679 y Fs(-f)384 b Ft(Disable)31 b(\014lename)g(expansion)f
+(\(globbing\).)630 4845 y Fs(-h)384 b Ft(Lo)s(cate)33
+b(and)e(remem)m(b)s(er)h(\(hash\))g(commands)f(as)h(they)g(are)g(lo)s
+(ok)m(ed)h(up)e(for)1110 4955 y(execution.)42 b(This)29
+b(option)i(is)g(enabled)f(b)m(y)g(default.)630 5121 y
+Fs(-k)384 b Ft(All)34 b(argumen)m(ts)g(in)f(the)h(form)f(of)g
(assignmen)m(t)h(statemen)m(ts)i(are)d(placed)h(in)1110
-831 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
-(those)i(that)f(precede)g(the)1110 941 y(command)30 b(name.)630
-1097 y Fs(-m)384 b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h(\(see)g
-(Chapter)f(7)g([Job)h(Con)m(trol],)g(page)g(89\).)630
-1254 y Fs(-n)384 b Ft(Read)21 b(commands)f(but)g(do)h(not)g(execute)h
-(them;)i(this)d(ma)m(y)g(b)s(e)f(used)g(to)h(c)m(hec)m(k)1110
-1363 y(a)42 b(script)g(for)g(syn)m(tax)g(errors.)75 b(This)41
-b(option)h(is)g(ignored)g(b)m(y)g(in)m(teractiv)m(e)1110
-1473 y(shells.)630 1630 y Fs(-o)30 b Fi(option-name)1110
-1739 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
-Fq(option-name)5 b Ft(:)1110 1896 y Fs(allexport)1590
-2005 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 2162 y Fs(braceexpand)1590
-2271 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 2428 y Fs(emacs)240
+5230 y(the)k(en)m(vironmen)m(t)g(for)g(a)g(command,)h(not)f(just)f
+(those)i(that)f(precede)g(the)1110 5340 y(command)30
+b(name.)p eop end
+%%Page: 55 61
+TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(55)630 299 y Fs(-m)384
+b Ft(Job)30 b(con)m(trol)i(is)e(enabled)h(\(see)g(Chapter)f(7)g([Job)h
+(Con)m(trol],)g(page)g(91\).)630 463 y Fs(-n)384 b Ft(Read)21
+b(commands)f(but)g(do)h(not)g(execute)h(them;)i(this)d(ma)m(y)g(b)s(e)f
+(used)g(to)h(c)m(hec)m(k)1110 573 y(a)42 b(script)g(for)g(syn)m(tax)g
+(errors.)75 b(This)41 b(option)h(is)g(ignored)g(b)m(y)g(in)m(teractiv)m
+(e)1110 682 y(shells.)630 847 y Fs(-o)30 b Fi(option-name)1110
+956 y Ft(Set)h(the)f(option)h(corresp)s(onding)e(to)i
+Fq(option-name)5 b Ft(:)1110 1121 y Fs(allexport)1590
+1230 y Ft(Same)30 b(as)h Fs(-a)p Ft(.)1110 1395 y Fs(braceexpand)1590
+1504 y Ft(Same)f(as)h Fs(-B)p Ft(.)1110 1669 y Fs(emacs)240
b Ft(Use)25 b(an)f Fs(emacs)p Ft(-st)m(yle)h(line)f(editing)h(in)m
-(terface)h(\(see)g(Chapter)e(8)1590 2538 y([Command)38
-b(Line)g(Editing],)i(page)f(93\).)66 b(This)37 b(also)i(a\013ects)1590
-2647 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
-Fs(read)f(-e)p Ft(.)1110 2804 y Fs(errexit)144 b Ft(Same)30
-b(as)h Fs(-e)p Ft(.)1110 2960 y Fs(errtrace)96 b Ft(Same)30
-b(as)h Fs(-E)p Ft(.)1110 3117 y Fs(functrace)1590 3226
-y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 3383 y Fs(hashall)144
-b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 3540 y Fs(histexpand)1590
-3649 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 3806 y Fs(history)144
+(terface)h(\(see)g(Chapter)e(8)1590 1778 y([Command)38
+b(Line)g(Editing],)i(page)f(95\).)66 b(This)37 b(also)i(a\013ects)1590
+1888 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
+Fs(read)f(-e)p Ft(.)1110 2052 y Fs(errexit)144 b Ft(Same)30
+b(as)h Fs(-e)p Ft(.)1110 2217 y Fs(errtrace)96 b Ft(Same)30
+b(as)h Fs(-E)p Ft(.)1110 2381 y Fs(functrace)1590 2491
+y Ft(Same)f(as)h Fs(-T)p Ft(.)1110 2655 y Fs(hashall)144
+b Ft(Same)30 b(as)h Fs(-h)p Ft(.)1110 2819 y Fs(histexpand)1590
+2929 y Ft(Same)f(as)h Fs(-H)p Ft(.)1110 3093 y Fs(history)144
b Ft(Enable)39 b(command)g(history)-8 b(,)42 b(as)d(describ)s(ed)f(in)h
-(Section)h(9.1)1590 3915 y([Bash)d(History)g(F)-8 b(acilities],)41
-b(page)c(121.)60 b(This)36 b(option)h(is)f(on)1590 4025
+(Section)h(9.1)1590 3203 y([Bash)d(History)g(F)-8 b(acilities],)41
+b(page)c(125.)60 b(This)36 b(option)h(is)f(on)1590 3313
y(b)m(y)30 b(default)h(in)f(in)m(teractiv)m(e)j(shells.)1110
-4181 y Fs(ignoreeof)1590 4291 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
-(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 4448
+3477 y Fs(ignoreeof)1590 3587 y Ft(An)d(in)m(teractiv)m(e)j(shell)e
+(will)g(not)f(exit)h(up)s(on)e(reading)i(EOF.)1110 3751
y Fs(keyword)144 b Ft(Same)30 b(as)h Fs(-k)p Ft(.)1110
-4604 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
-4761 y Fs(noclobber)1590 4870 y Ft(Same)f(as)h Fs(-C)p
-Ft(.)1110 5027 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
-Ft(.)1110 5183 y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p
-Ft(.)1110 5340 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)p
+3915 y Fs(monitor)144 b Ft(Same)30 b(as)h Fs(-m)p Ft(.)1110
+4080 y Fs(noclobber)1590 4189 y Ft(Same)f(as)h Fs(-C)p
+Ft(.)1110 4354 y Fs(noexec)192 b Ft(Same)30 b(as)h Fs(-n)p
+Ft(.)1110 4518 y Fs(noglob)192 b Ft(Same)30 b(as)h Fs(-f)p
+Ft(.)1110 4682 y Fs(nolog)240 b Ft(Curren)m(tly)30 b(ignored.)1110
+4847 y Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110
+5011 y Fs(nounset)144 b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110
+5176 y Fs(onecmd)192 b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110
+5340 y Fs(physical)96 b Ft(Same)30 b(as)h Fs(-P)p Ft(.)p
eop end
-%%Page: 53 59
-TeXDict begin 53 58 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(53)1110 299 y
-Fs(notify)192 b Ft(Same)30 b(as)h Fs(-b)p Ft(.)1110 455
-y Fs(nounset)144 b Ft(Same)30 b(as)h Fs(-u)p Ft(.)1110
-612 y Fs(onecmd)192 b Ft(Same)30 b(as)h Fs(-t)p Ft(.)1110
-769 y Fs(physical)96 b Ft(Same)30 b(as)h Fs(-P)p Ft(.)1110
-925 y Fs(pipefail)96 b Ft(If)44 b(set,)k(the)d(return)e(v)-5
-b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i(the)f(v)-5 b(alue)45
-b(of)1590 1035 y(the)33 b(last)h(\(righ)m(tmost\))h(command)e(to)h
-(exit)g(with)f(a)g(non-zero)1590 1144 y(status,)28 b(or)f(zero)g(if)f
-(all)i(commands)e(in)g(the)h(pip)s(eline)f(exit)i(suc-)1590
-1254 y(cessfully)-8 b(.)41 b(This)30 b(option)h(is)f(disabled)g(b)m(y)h
-(default.)1110 1410 y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m
-(vior)h(of)f(Bash)g(where)g(the)g(default)h(op)s(era-)1590
-1520 y(tion)25 b(di\013ers)f(from)g(the)h Fl(posix)f
-Ft(standard)f(to)i(matc)m(h)h(the)f(stan-)1590 1630 y(dard)32
-b(\(see)i(Section)g(6.11)h([Bash)e(POSIX)f(Mo)s(de],)j(page)e(84\).)
-1590 1739 y(This)k(is)g(in)m(tended)g(to)h(mak)m(e)g(Bash)g(b)s(eha)m
-(v)m(e)g(as)g(a)f(strict)h(su-)1590 1849 y(p)s(erset)30
-b(of)h(that)f(standard.)1110 2005 y Fs(privileged)1590
-2115 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110 2271 y Fs(verbose)144
-b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110 2428 y Fs(vi)384
-b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g(editing)g(in)m
-(terface.)58 b(This)35 b(also)h(a\013ects)1590 2538 y(the)31
-b(editing)g(in)m(terface)h(used)d(for)h Fs(read)f(-e)p
-Ft(.)1110 2694 y Fs(xtrace)192 b Ft(Same)30 b(as)h Fs(-x)p
-Ft(.)630 2851 y Fs(-p)384 b Ft(T)-8 b(urn)33 b(on)h(privileged)h(mo)s
-(de.)51 b(In)34 b(this)g(mo)s(de,)h(the)f Fs($BASH_ENV)e
-Ft(and)h Fs($ENV)1110 2960 y Ft(\014les)23 b(are)h(not)f(pro)s(cessed,)
-h(shell)g(functions)e(are)i(not)f(inherited)g(from)f(the)i(en-)1110
-3070 y(vironmen)m(t,)h(and)e(the)g Fs(SHELLOPTS)p Ft(,)f
-Fs(BASHOPTS)p Ft(,)h Fs(CDPATH)e Ft(and)i Fs(GLOBIGNORE)1110
-3180 y Ft(v)-5 b(ariables,)23 b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m
-(vironmen)m(t,)i(are)e(ignored.)38 b(If)20 b(the)h(shell)1110
-3289 y(is)37 b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d
-(\(group\))g(id)g(not)g(equal)h(to)g(the)f(real)1110
-3399 y(user)h(\(group\))h(id,)i(and)d(the)h Fs(-p)f Ft(option)i(is)e
-(not)i(supplied,)f(these)h(actions)1110 3508 y(are)32
-b(tak)m(en)i(and)d(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)h(to)f
-(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110 3618 y
-Fs(-p)i Ft(option)h(is)g(supplied)f(at)h(startup,)h(the)f(e\013ectiv)m
-(e)i(user)d(id)g(is)h(not)g(reset.)1110 3727 y(T)-8 b(urning)35
-b(this)i(option)g(o\013)g(causes)g(the)g(e\013ectiv)m(e)i(user)d(and)g
-(group)g(ids)g(to)1110 3837 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f
-(and)g(group)g(ids.)630 3994 y Fs(-t)384 b Ft(Exit)31
-b(after)g(reading)f(and)g(executing)h(one)g(command.)630
-4150 y Fs(-u)384 b Ft(T)-8 b(reat)25 b(unset)e(v)-5 b(ariables)25
-b(and)e(parameters)h(other)h(than)e(the)h(sp)s(ecial)h(param-)1110
-4260 y(eters)35 b(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(')h(as)f(an)g
-(error)g(when)f(p)s(erforming)g(parameter)i(expansion.)1110
-4369 y(An)28 b(error)h(message)g(will)g(b)s(e)f(written)h(to)h(the)e
-(standard)g(error,)h(and)f(a)h(non-)1110 4479 y(in)m(teractiv)m(e)k
-(shell)e(will)g(exit.)630 4635 y Fs(-v)384 b Ft(Prin)m(t)30
-b(shell)h(input)e(lines)i(as)g(they)f(are)h(read.)630
-4792 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f(simple)f
-(commands,)i Fs(for)e Ft(commands,)i Fs(case)d Ft(commands,)1110
-4902 y Fs(select)29 b Ft(commands,)j(and)e(arithmetic)j
-Fs(for)d Ft(commands)h(and)f(their)i(argu-)1110 5011
-y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f(are)
-h(expanded)f(and)f(b)s(efore)1110 5121 y(they)i(are)g(executed.)49
+%%Page: 56 62
+TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31
+b(Reference)g(Man)m(ual)1110 299 y Fs(pipefail)96 b Ft(If)44
+b(set,)k(the)d(return)e(v)-5 b(alue)45 b(of)f(a)h(pip)s(eline)e(is)i
+(the)f(v)-5 b(alue)45 b(of)1590 408 y(the)33 b(last)h(\(righ)m(tmost\))
+h(command)e(to)h(exit)g(with)f(a)g(non-zero)1590 518
+y(status,)28 b(or)f(zero)g(if)f(all)i(commands)e(in)g(the)h(pip)s
+(eline)f(exit)i(suc-)1590 628 y(cessfully)-8 b(.)41 b(This)30
+b(option)h(is)f(disabled)g(b)m(y)h(default.)1110 792
+y Fs(posix)240 b Ft(Change)30 b(the)g(b)s(eha)m(vior)h(of)f(Bash)g
+(where)g(the)g(default)h(op)s(era-)1590 902 y(tion)25
+b(di\013ers)f(from)g(the)h Fl(posix)f Ft(standard)f(to)i(matc)m(h)h
+(the)f(stan-)1590 1011 y(dard)32 b(\(see)i(Section)g(6.11)h([Bash)e
+(POSIX)f(Mo)s(de],)j(page)e(86\).)1590 1121 y(This)k(is)g(in)m(tended)g
+(to)h(mak)m(e)g(Bash)g(b)s(eha)m(v)m(e)g(as)g(a)f(strict)h(su-)1590
+1230 y(p)s(erset)30 b(of)h(that)f(standard.)1110 1395
+y Fs(privileged)1590 1504 y Ft(Same)g(as)h Fs(-p)p Ft(.)1110
+1669 y Fs(verbose)144 b Ft(Same)30 b(as)h Fs(-v)p Ft(.)1110
+1833 y Fs(vi)384 b Ft(Use)36 b(a)g Fs(vi)p Ft(-st)m(yle)g(line)g
+(editing)g(in)m(terface.)58 b(This)35 b(also)h(a\013ects)1590
+1943 y(the)31 b(editing)g(in)m(terface)h(used)d(for)h
+Fs(read)f(-e)p Ft(.)1110 2107 y Fs(xtrace)192 b Ft(Same)30
+b(as)h Fs(-x)p Ft(.)630 2271 y Fs(-p)384 b Ft(T)-8 b(urn)33
+b(on)h(privileged)h(mo)s(de.)51 b(In)34 b(this)g(mo)s(de,)h(the)f
+Fs($BASH_ENV)e Ft(and)h Fs($ENV)1110 2381 y Ft(\014les)23
+b(are)h(not)f(pro)s(cessed,)h(shell)g(functions)e(are)i(not)f
+(inherited)g(from)f(the)i(en-)1110 2491 y(vironmen)m(t,)h(and)e(the)g
+Fs(SHELLOPTS)p Ft(,)f Fs(BASHOPTS)p Ft(,)h Fs(CDPATH)e
+Ft(and)i Fs(GLOBIGNORE)1110 2600 y Ft(v)-5 b(ariables,)23
+b(if)e(they)g(app)s(ear)f(in)g(the)h(en)m(vironmen)m(t,)i(are)e
+(ignored.)38 b(If)20 b(the)h(shell)1110 2710 y(is)37
+b(started)h(with)f(the)g(e\013ectiv)m(e)j(user)d(\(group\))g(id)g(not)g
+(equal)h(to)g(the)f(real)1110 2819 y(user)h(\(group\))h(id,)i(and)d
+(the)h Fs(-p)f Ft(option)i(is)e(not)i(supplied,)f(these)h(actions)1110
+2929 y(are)32 b(tak)m(en)i(and)d(the)h(e\013ectiv)m(e)j(user)c(id)h(is)
+g(set)h(to)f(the)h(real)f(user)g(id.)45 b(If)32 b(the)1110
+3039 y Fs(-p)i Ft(option)h(is)g(supplied)f(at)h(startup,)h(the)f
+(e\013ectiv)m(e)i(user)d(id)g(is)h(not)g(reset.)1110
+3148 y(T)-8 b(urning)35 b(this)i(option)g(o\013)g(causes)g(the)g
+(e\013ectiv)m(e)i(user)d(and)g(group)g(ids)g(to)1110
+3258 y(b)s(e)30 b(set)h(to)g(the)f(real)h(user)f(and)g(group)g(ids.)630
+3422 y Fs(-t)384 b Ft(Exit)31 b(after)g(reading)f(and)g(executing)h
+(one)g(command.)630 3587 y Fs(-u)384 b Ft(T)-8 b(reat)25
+b(unset)e(v)-5 b(ariables)25 b(and)e(parameters)h(other)h(than)e(the)h
+(sp)s(ecial)h(param-)1110 3696 y(eters)35 b(`)p Fs(@)p
+Ft(')f(or)g(`)p Fs(*)p Ft(')h(as)f(an)g(error)g(when)f(p)s(erforming)g
+(parameter)i(expansion.)1110 3806 y(An)28 b(error)h(message)g(will)g(b)
+s(e)f(written)h(to)h(the)e(standard)g(error,)h(and)f(a)h(non-)1110
+3915 y(in)m(teractiv)m(e)k(shell)e(will)g(exit.)630 4080
+y Fs(-v)384 b Ft(Prin)m(t)30 b(shell)h(input)e(lines)i(as)g(they)f(are)
+h(read.)630 4244 y Fs(-x)384 b Ft(Prin)m(t)21 b(a)h(trace)h(of)f
+(simple)f(commands,)i Fs(for)e Ft(commands,)i Fs(case)d
+Ft(commands,)1110 4354 y Fs(select)29 b Ft(commands,)j(and)e
+(arithmetic)j Fs(for)d Ft(commands)h(and)f(their)i(argu-)1110
+4463 y(men)m(ts)h(or)f(asso)s(ciated)i(w)m(ord)e(lists)h(after)g(they)f
+(are)h(expanded)f(and)f(b)s(efore)1110 4573 y(they)i(are)g(executed.)49
b(The)32 b(v)-5 b(alue)33 b(of)g(the)g Fs(PS4)f Ft(v)-5
-b(ariable)34 b(is)f(expanded)f(and)1110 5230 y(the)24
+b(ariable)34 b(is)f(expanded)f(and)1110 4682 y(the)24
b(resultan)m(t)h(v)-5 b(alue)24 b(is)g(prin)m(ted)g(b)s(efore)f(the)h
-(command)g(and)f(its)i(expanded)1110 5340 y(argumen)m(ts.)p
-eop end
-%%Page: 54 60
-TeXDict begin 54 59 bop 150 -116 a Ft(54)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(-B)384 b Ft(The)41
-b(shell)g(will)g(p)s(erform)f(brace)h(expansion)g(\(see)h(Section)g
-(3.5.1)g([Brace)1110 408 y(Expansion],)30 b(page)h(18\).)42
-b(This)30 b(option)h(is)f(on)g(b)m(y)h(default.)630 556
-y Fs(-C)384 b Ft(Prev)m(en)m(t)25 b(output)e(redirection)h(using)f(`)p
-Fs(>)p Ft(',)i(`)p Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p
-Ft(')g(from)h(o)m(v)m(erwriting)1110 666 y(existing)31
-b(\014les.)630 814 y Fs(-E)384 b Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g
-Fs(ERR)g Ft(is)g(inherited)g(b)m(y)g(shell)h(functions,)h(command)1110
-923 y(substitutions,)35 b(and)e(commands)g(executed)i(in)f(a)g
-(subshell)f(en)m(vironmen)m(t.)1110 1033 y(The)d Fs(ERR)f
-Ft(trap)i(is)f(normally)h(not)f(inherited)g(in)g(suc)m(h)g(cases.)630
-1181 y Fs(-H)384 b Ft(Enable)38 b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)
-e(substitution)g(\(see)h(Section)h(9.3)f([History)g(In-)1110
-1290 y(teraction],)g(page)d(123\).)57 b(This)34 b(option)i(is)f(on)g(b)
-m(y)h(default)f(for)g(in)m(teractiv)m(e)1110 1400 y(shells.)630
-1548 y Fs(-P)384 b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s
-(olic)g(links)e(when)g(p)s(erforming)g(commands)1110
-1657 y(suc)m(h)29 b(as)h Fs(cd)f Ft(whic)m(h)g(c)m(hange)h(the)g
-(curren)m(t)f(directory)-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110
-1767 y(tory)j(is)g(used)f(instead.)52 b(By)34 b(default,)h(Bash)f
-(follo)m(ws)h(the)f(logical)i(c)m(hain)f(of)1110 1877
-y(directories)j(when)d(p)s(erforming)h(commands)g(whic)m(h)g(c)m(hange)
-i(the)f(curren)m(t)1110 1986 y(directory)-8 b(.)1110
-2115 y(F)g(or)31 b(example,)g(if)f(`)p Fs(/usr/sys)p
-Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p Fs(/usr/local/sys)p
-Ft(')1110 2224 y(then:)1350 2353 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i
-($PWD)1350 2463 y(/usr/sys)1350 2572 y($)g(cd)h(..;)f(pwd)1350
-2682 y(/usr)1110 2811 y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)
-1350 2939 y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350
-3049 y(/usr/local/sys)1350 3158 y($)g(cd)h(..;)f(pwd)1350
-3268 y(/usr/local)630 3416 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g
-(on)g Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f
-(shell)i(func-)1110 3525 y(tions,)k(command)d(substitutions,)h(and)f
-(commands)g(executed)h(in)f(a)h(sub-)1110 3635 y(shell)33
-b(en)m(vironmen)m(t.)49 b(The)32 b Fs(DEBUG)g Ft(and)g
-Fs(RETURN)f Ft(traps)h(are)i(normally)f(not)1110 3745
-y(inherited)d(in)g(suc)m(h)g(cases.)630 3892 y Fs(--)384
-b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f(option,)g(then)f
-(the)h(p)s(ositional)h(parameters)1110 4002 y(are)h(unset.)49
-b(Otherwise,)34 b(the)g(p)s(ositional)g(parameters)g(are)g(set)g(to)g
-(the)g Fq(ar-)1110 4112 y(gumen)m(ts)t Ft(,)d(ev)m(en)g(if)f(some)h(of)
-f(them)h(b)s(egin)f(with)g(a)g(`)p Fs(-)p Ft('.)630 4260
-y Fs(-)432 b Ft(Signal)45 b(the)g(end)f(of)h(options,)k(cause)c(all)h
-(remaining)e Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110
-4369 y(assigned)38 b(to)h(the)f(p)s(ositional)h(parameters.)65
-b(The)37 b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
-4479 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
+(command)g(and)f(its)i(expanded)1110 4792 y(argumen)m(ts.)630
+4956 y Fs(-B)384 b Ft(The)41 b(shell)g(will)g(p)s(erform)f(brace)h
+(expansion)g(\(see)h(Section)g(3.5.1)g([Brace)1110 5066
+y(Expansion],)30 b(page)h(19\).)42 b(This)30 b(option)h(is)f(on)g(b)m
+(y)h(default.)630 5230 y Fs(-C)384 b Ft(Prev)m(en)m(t)25
+b(output)e(redirection)h(using)f(`)p Fs(>)p Ft(',)i(`)p
+Fs(>&)p Ft(',)g(and)e(`)p Fs(<>)p Ft(')g(from)h(o)m(v)m(erwriting)1110
+5340 y(existing)31 b(\014les.)p eop end
+%%Page: 57 63
+TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y Fs(-E)384
+b Ft(If)39 b(set,)j(an)m(y)e(trap)f(on)g Fs(ERR)g Ft(is)g(inherited)g
+(b)m(y)g(shell)h(functions,)h(command)1110 408 y(substitutions,)35
+b(and)e(commands)g(executed)i(in)f(a)g(subshell)f(en)m(vironmen)m(t.)
+1110 518 y(The)d Fs(ERR)f Ft(trap)i(is)f(normally)h(not)f(inherited)g
+(in)g(suc)m(h)g(cases.)630 670 y Fs(-H)384 b Ft(Enable)38
+b(`)p Fs(!)p Ft(')h(st)m(yle)h(history)e(substitution)g(\(see)h
+(Section)h(9.3)f([History)g(In-)1110 780 y(teraction],)g(page)d(127\).)
+57 b(This)34 b(option)i(is)f(on)g(b)m(y)h(default)f(for)g(in)m
+(teractiv)m(e)1110 890 y(shells.)630 1042 y Fs(-P)384
+b Ft(If)43 b(set,)k(do)c(not)g(follo)m(w)h(sym)m(b)s(olic)g(links)e
+(when)g(p)s(erforming)g(commands)1110 1152 y(suc)m(h)29
+b(as)h Fs(cd)f Ft(whic)m(h)g(c)m(hange)h(the)g(curren)m(t)f(directory)
+-8 b(.)42 b(The)28 b(ph)m(ysical)j(direc-)1110 1261 y(tory)j(is)g(used)
+f(instead.)52 b(By)34 b(default,)h(Bash)f(follo)m(ws)h(the)f(logical)i
+(c)m(hain)f(of)1110 1371 y(directories)j(when)d(p)s(erforming)h
+(commands)g(whic)m(h)g(c)m(hange)i(the)f(curren)m(t)1110
+1480 y(directory)-8 b(.)1110 1611 y(F)g(or)31 b(example,)g(if)f(`)p
+Fs(/usr/sys)p Ft(')e(is)i(a)g(sym)m(b)s(olic)h(link)f(to)g(`)p
+Fs(/usr/local/sys)p Ft(')1110 1721 y(then:)1350 1852
+y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 1962 y(/usr/sys)1350
+2071 y($)g(cd)h(..;)f(pwd)1350 2181 y(/usr)1110 2312
+y Ft(If)30 b Fs(set)f(-P)h Ft(is)h(on,)f(then:)1350 2443
+y Fs($)47 b(cd)h(/usr/sys;)d(echo)i($PWD)1350 2552 y(/usr/local/sys)
+1350 2662 y($)g(cd)h(..;)f(pwd)1350 2771 y(/usr/local)630
+2924 y(-T)384 b Ft(If)34 b(set,)j(an)m(y)e(trap)g(on)g
+Fs(DEBUG)e Ft(and)i Fs(RETURN)e Ft(are)i(inherited)g(b)m(y)f(shell)i
+(func-)1110 3033 y(tions,)k(command)d(substitutions,)h(and)f(commands)g
+(executed)h(in)f(a)h(sub-)1110 3143 y(shell)33 b(en)m(vironmen)m(t.)49
+b(The)32 b Fs(DEBUG)g Ft(and)g Fs(RETURN)f Ft(traps)h(are)i(normally)f
+(not)1110 3253 y(inherited)d(in)g(suc)m(h)g(cases.)630
+3405 y Fs(--)384 b Ft(If)31 b(no)h(argumen)m(ts)f(follo)m(w)i(this)f
+(option,)g(then)f(the)h(p)s(ositional)h(parameters)1110
+3515 y(are)h(unset.)49 b(Otherwise,)34 b(the)g(p)s(ositional)g
+(parameters)g(are)g(set)g(to)g(the)g Fq(ar-)1110 3624
+y(gumen)m(ts)t Ft(,)d(ev)m(en)g(if)f(some)h(of)f(them)h(b)s(egin)f
+(with)g(a)g(`)p Fs(-)p Ft('.)630 3777 y Fs(-)432 b Ft(Signal)45
+b(the)g(end)f(of)h(options,)k(cause)c(all)h(remaining)e
+Fq(argumen)m(ts)49 b Ft(to)d(b)s(e)1110 3886 y(assigned)38
+b(to)h(the)f(p)s(ositional)h(parameters.)65 b(The)37
+b(`)p Fs(-x)p Ft(')h(and)g(`)p Fs(-v)p Ft(')g(options)1110
+3996 y(are)25 b(turned)e(o\013.)40 b(If)24 b(there)h(are)g(no)f
(argumen)m(ts,)i(the)f(p)s(ositional)h(parameters)1110
-4588 y(remain)k(unc)m(hanged.)630 4736 y(Using)d(`)p
+4105 y(remain)k(unc)m(hanged.)630 4258 y(Using)d(`)p
Fs(+)p Ft(')h(rather)f(than)g(`)p Fs(-)p Ft(')g(causes)h(these)f
(options)h(to)g(b)s(e)e(turned)g(o\013.)40 b(The)27 b(options)h(can)630
-4846 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
+4367 y(also)36 b(b)s(e)f(used)f(up)s(on)g(in)m(v)m(o)s(cation)j(of)e
(the)g(shell.)56 b(The)34 b(curren)m(t)h(set)h(of)f(options)h(ma)m(y)g
-(b)s(e)630 4955 y(found)29 b(in)h Fs($-)p Ft(.)630 5084
+(b)s(e)630 4477 y(found)29 b(in)h Fs($-)p Ft(.)630 4608
y(The)43 b(remaining)h(N)f Fq(argumen)m(ts)48 b Ft(are)c(p)s(ositional)
-g(parameters)g(and)f(are)h(assigned,)j(in)630 5194 y(order,)30
+g(parameters)g(and)f(are)h(assigned,)j(in)630 4717 y(order,)30
b(to)h Fs($1)p Ft(,)f Fs($2)p Ft(,)36 b(.)22 b(.)g(.)42
b Fs($N)p Ft(.)e(The)30 b(sp)s(ecial)h(parameter)g Fs(#)f
-Ft(is)g(set)h(to)g(N.)630 5322 y(The)f(return)f(status)i(is)f(alw)m(a)m
+Ft(is)g(set)h(to)g(N.)630 4848 y(The)f(return)f(status)i(is)f(alw)m(a)m
(ys)i(zero)f(unless)f(an)g(in)m(v)-5 b(alid)31 b(option)g(is)f
-(supplied.)p eop end
-%%Page: 55 61
-TeXDict begin 55 60 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(55)150 299 y Fj(4.3.2)63
-b(The)41 b(Shopt)h(Builtin)150 446 y Ft(This)30 b(builtin)g(allo)m(ws)h
-(y)m(ou)g(to)g(c)m(hange)h(additional)f(shell)f(optional)i(b)s(eha)m
-(vior.)150 618 y Fs(shopt)870 756 y(shopt)46 b([-pqsu])g([-o])h([)p
-Fi(optname)56 b Fs(...)o(])630 895 y Ft(T)-8 b(oggle)47
+(supplied.)150 5041 y Fj(4.3.2)63 b(The)41 b(Shopt)h(Builtin)150
+5188 y Ft(This)30 b(builtin)g(allo)m(ws)h(y)m(ou)g(to)g(c)m(hange)h
+(additional)f(shell)f(optional)i(b)s(eha)m(vior.)150
+5340 y Fs(shopt)p eop end
+%%Page: 58 64
+TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31
+b(Reference)g(Man)m(ual)870 299 y Fs(shopt)46 b([-pqsu])g([-o])h([)p
+Fi(optname)56 b Fs(...)o(])630 427 y Ft(T)-8 b(oggle)47
b(the)d(v)-5 b(alues)45 b(of)g(v)-5 b(ariables)45 b(con)m(trolling)i
(optional)f(shell)e(b)s(eha)m(vior.)84 b(With)45 b(no)630
-1004 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
+536 y(options,)32 b(or)f(with)g(the)g(`)p Fs(-p)p Ft(')g(option,)h(a)g
(list)f(of)h(all)g(settable)g(options)g(is)f(displa)m(y)m(ed,)h(with)
-630 1114 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
+630 646 y(an)i(indication)i(of)f(whether)f(or)g(not)h(eac)m(h)h(is)e
(set.)54 b(The)34 b(`)p Fs(-p)p Ft(')h(option)g(causes)g(output)f(to)
-630 1224 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)
-s(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the)
-630 1333 y(follo)m(wing)32 b(meanings:)630 1501 y Fs(-s)384
+630 756 y(b)s(e)i(displa)m(y)m(ed)h(in)e(a)i(form)f(that)h(ma)m(y)g(b)s
+(e)e(reused)h(as)g(input.)58 b(Other)36 b(options)g(ha)m(v)m(e)i(the)
+630 865 y(follo)m(wing)32 b(meanings:)630 1011 y Fs(-s)384
b Ft(Enable)30 b(\(set\))i(eac)m(h)f Fq(optname)5 b Ft(.)630
-1668 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
-Fq(optname)5 b Ft(.)630 1836 y Fs(-q)384 b Ft(Suppresses)28
+1157 y Fs(-u)384 b Ft(Disable)31 b(\(unset\))g(eac)m(h)h
+Fq(optname)5 b Ft(.)630 1303 y Fs(-q)384 b Ft(Suppresses)28
b(normal)h(output;)h(the)g(return)e(status)i(indicates)h(whether)e(the)
-1110 1946 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
+1110 1413 y Fq(optname)37 b Ft(is)31 b(set)h(or)f(unset.)43
b(If)31 b(m)m(ultiple)h Fq(optname)37 b Ft(argumen)m(ts)31
-b(are)h(giv)m(en)1110 2055 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
+b(are)h(giv)m(en)1110 1523 y(with)43 b(`)p Fs(-q)p Ft(',)j(the)d
(return)f(status)h(is)g(zero)h(if)f(all)g Fq(optnames)k
-Ft(are)d(enabled;)1110 2165 y(non-zero)31 b(otherwise.)630
-2333 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
+Ft(are)d(enabled;)1110 1632 y(non-zero)31 b(otherwise.)630
+1778 y Fs(-o)384 b Ft(Restricts)28 b(the)g(v)-5 b(alues)28
b(of)f Fq(optname)33 b Ft(to)c(b)s(e)d(those)i(de\014ned)f(for)g(the)g
-(`)p Fs(-o)p Ft(')h(op-)1110 2442 y(tion)23 b(to)h(the)f
+(`)p Fs(-o)p Ft(')h(op-)1110 1888 y(tion)23 b(to)h(the)f
Fs(set)f Ft(builtin)h(\(see)g(Section)h(4.3.1)h([The)d(Set)i(Builtin],)
-h(page)e(51\).)630 2610 y(If)29 b(either)i(`)p Fs(-s)p
+h(page)e(54\).)630 2034 y(If)29 b(either)i(`)p Fs(-s)p
Ft(')f(or)g(`)p Fs(-u)p Ft(')f(is)h(used)g(with)f(no)h
Fq(optname)35 b Ft(argumen)m(ts,)c(the)f(displa)m(y)g(is)g(limited)630
-2719 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f
-(resp)s(ectiv)m(ely)-8 b(.)630 2858 y(Unless)30 b(otherwise)h(noted,)g
+2144 y(to)h(those)g(options)g(whic)m(h)f(are)h(set)f(or)h(unset,)f
+(resp)s(ectiv)m(ely)-8 b(.)630 2271 y(Unless)30 b(otherwise)h(noted,)g
(the)g Fs(shopt)d Ft(options)j(are)g(disabled)f(\(o\013)7
-b(\))32 b(b)m(y)e(default.)630 2997 y(The)d(return)f(status)i(when)f
+b(\))32 b(b)m(y)e(default.)630 2399 y(The)d(return)f(status)i(when)f
(listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i
-Ft(are)d(enabled,)g(non-)630 3106 y(zero)40 b(otherwise.)66
+Ft(are)d(enabled,)g(non-)630 2509 y(zero)40 b(otherwise.)66
b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f
-(status)h(is)g(zero)630 3216 y(unless)30 b(an)g Fq(optname)36
+(status)h(is)g(zero)630 2619 y(unless)30 b(an)g Fq(optname)36
b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)630
-3354 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630
-3522 y Fs(autocd)192 b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h
+2746 y(The)f(list)h(of)f Fs(shopt)f Ft(options)i(is:)630
+2892 y Fs(autocd)192 b Ft(If)27 b(set,)h(a)g(command)f(name)g(that)h
(is)f(the)g(name)g(of)h(a)f(directory)h(is)f(executed)1110
-3632 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
+3002 y(as)j(if)f(it)h(w)m(ere)f(the)h(argumen)m(t)g(to)g(the)f
Fs(cd)g Ft(command.)40 b(This)29 b(option)g(is)h(only)1110
-3741 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
-3909 y Fs(cdable_vars)1110 4018 y Ft(If)h(this)h(is)g(set,)i(an)e
+3112 y(used)g(b)m(y)g(in)m(teractiv)m(e)j(shells.)630
+3258 y Fs(cdable_vars)1110 3367 y Ft(If)h(this)h(is)g(set,)i(an)e
(argumen)m(t)g(to)h(the)f Fs(cd)f Ft(builtin)h(command)f(that)i(is)f
-(not)1110 4128 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
+(not)1110 3477 y(a)c(directory)g(is)g(assumed)f(to)h(b)s(e)f(the)h
(name)f(of)h(a)g(v)-5 b(ariable)31 b(whose)g(v)-5 b(alue)31
-b(is)1110 4238 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
-4405 y Fs(cdspell)144 b Ft(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
+b(is)1110 3587 y(the)g(directory)f(to)i(c)m(hange)f(to.)630
+3733 y Fs(cdspell)144 b Ft(If)27 b(set,)h(minor)f(errors)f(in)h(the)g
(sp)s(elling)h(of)f(a)g(directory)h(comp)s(onen)m(t)f(in)g(a)h
-Fs(cd)1110 4515 y Ft(command)i(will)h(b)s(e)f(corrected.)43
+Fs(cd)1110 3842 y Ft(command)i(will)h(b)s(e)f(corrected.)43
b(The)30 b(errors)g(c)m(hec)m(k)m(ed)j(for)d(are)h(transp)s(osed)1110
-4624 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
+3952 y(c)m(haracters,)46 b(a)c(missing)f(c)m(haracter,)47
b(and)40 b(a)i(c)m(haracter)h(to)s(o)g(man)m(y)-8 b(.)74
-b(If)42 b(a)1110 4734 y(correction)25 b(is)e(found,)g(the)h(corrected)g
-(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 4844
+b(If)42 b(a)1110 4061 y(correction)25 b(is)e(found,)g(the)h(corrected)g
+(path)f(is)g(prin)m(ted,)h(and)f(the)g(command)1110 4171
y(pro)s(ceeds.)40 b(This)30 b(option)h(is)f(only)h(used)e(b)m(y)h(in)m
-(teractiv)m(e)k(shells.)630 5011 y Fs(checkhash)1110
-5121 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
-(command)f(found)g(in)g(the)h(hash)f(table)1110 5230
+(teractiv)m(e)k(shells.)630 4317 y Fs(checkhash)1110
+4427 y Ft(If)29 b(this)h(is)g(set,)g(Bash)g(c)m(hec)m(ks)h(that)g(a)f
+(command)f(found)g(in)g(the)h(hash)f(table)1110 4536
y(exists)k(b)s(efore)f(trying)h(to)h(execute)g(it.)48
-b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 5340
-y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)p
-eop end
-%%Page: 56 62
-TeXDict begin 56 61 bop 150 -116 a Ft(56)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(checkjobs)1110 408
-y Ft(If)d(set,)i(Bash)e(lists)h(the)g(status)g(of)f(an)m(y)h(stopp)s
-(ed)f(and)g(running)e(jobs)i(b)s(efore)1110 518 y(exiting)42
-b(an)f(in)m(teractiv)m(e)j(shell.)72 b(If)41 b(an)m(y)g(jobs)f(are)i
-(running,)g(this)f(causes)1110 628 y(the)30 b(exit)g(to)g(b)s(e)f
-(deferred)g(un)m(til)h(a)f(second)h(exit)g(is)g(attempted)h(without)e
-(an)1110 737 y(in)m(terv)m(ening)j(command)e(\(see)h(Chapter)f(7)h
-([Job)f(Con)m(trol],)i(page)f(89\).)42 b(The)1110 847
-y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h(if)g(an)m(y)f
-(jobs)g(are)h(stopp)s(ed.)630 1009 y Fs(checkwinsize)1110
-1118 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e(size)j
-(after)f(eac)m(h)g(command)f(and,)j(if)1110 1228 y(necessary)-8
-b(,)31 b(up)s(dates)f(the)g(v)-5 b(alues)31 b(of)g Fs(LINES)e
-Ft(and)g Fs(COLUMNS)p Ft(.)630 1390 y Fs(cmdhist)144
-b Ft(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m(v)m(e)g(all)g(lines)f
-(of)g(a)h(m)m(ultiple-line)g(command)1110 1499 y(in)c(the)g(same)g
-(history)g(en)m(try)-8 b(.)42 b(This)30 b(allo)m(ws)i(easy)g
-(re-editing)g(of)f(m)m(ulti-line)1110 1609 y(commands.)630
-1771 y Fs(compat31)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s
-(eha)m(vior)f(to)i(that)f(of)f(v)m(ersion)h(3.1)h(with)e(resp)s(ect)
-1110 1880 y(to)k(quoted)g(argumen)m(ts)f(to)h(the)g(conditional)h
-(command's)e(=)p Fs(~)g Ft(op)s(erator.)630 2042 y Fs(dirspell)96
+b(If)32 b(a)h(hashed)e(command)i(no)f(longer)1110 4646
+y(exists,)f(a)g(normal)f(path)g(searc)m(h)h(is)g(p)s(erformed.)630
+4792 y Fs(checkjobs)1110 4902 y Ft(If)d(set,)i(Bash)e(lists)h(the)g
+(status)g(of)f(an)m(y)h(stopp)s(ed)f(and)g(running)e(jobs)i(b)s(efore)
+1110 5011 y(exiting)42 b(an)f(in)m(teractiv)m(e)j(shell.)72
+b(If)41 b(an)m(y)g(jobs)f(are)i(running,)g(this)f(causes)1110
+5121 y(the)30 b(exit)g(to)g(b)s(e)f(deferred)g(un)m(til)h(a)f(second)h
+(exit)g(is)g(attempted)h(without)e(an)1110 5230 y(in)m(terv)m(ening)j
+(command)e(\(see)h(Chapter)f(7)h([Job)f(Con)m(trol],)i(page)f(91\).)42
+b(The)1110 5340 y(shell)31 b(alw)m(a)m(ys)g(p)s(ostp)s(ones)f(exiting)h
+(if)g(an)m(y)f(jobs)g(are)h(stopp)s(ed.)p eop end
+%%Page: 59 65
+TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Fs(checkwinsize)
+1110 408 y Ft(If)41 b(set,)k(Bash)c(c)m(hec)m(ks)i(the)f(windo)m(w)e
+(size)j(after)f(eac)m(h)g(command)f(and,)j(if)1110 518
+y(necessary)-8 b(,)31 b(up)s(dates)f(the)g(v)-5 b(alues)31
+b(of)g Fs(LINES)e Ft(and)g Fs(COLUMNS)p Ft(.)630 677
+y Fs(cmdhist)144 b Ft(If)33 b(set,)j(Bash)e(attempts)h(to)g(sa)m(v)m(e)
+g(all)g(lines)f(of)g(a)h(m)m(ultiple-line)g(command)1110
+787 y(in)c(the)g(same)g(history)g(en)m(try)-8 b(.)42
+b(This)30 b(allo)m(ws)i(easy)g(re-editing)g(of)f(m)m(ulti-line)1110
+897 y(commands.)630 1056 y Fs(compat31)96 b Ft(If)27
+b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
+m(ersion)h(3.1)h(with)e(resp)s(ect)1110 1166 y(to)k(quoted)g(argumen)m
+(ts)f(to)h(the)g(conditional)h(command's)e(`)p Fs(=~)p
+Ft(')g(op)s(erator.)630 1325 y Fs(compat32)96 b Ft(If)27
+b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)m(vior)f(to)i(that)f(of)f(v)
+m(ersion)h(3.2)h(with)e(resp)s(ect)1110 1435 y(to)h(lo)s(cale-sp)s
+(eci\014c)g(string)f(comparison)g(when)f(using)g(the)h(`)p
+Fs([[)p Ft(')g(conditional)1110 1544 y(command's)36 b(`)p
+Fs(<)p Ft(')g(and)f(`)p Fs(>)p Ft(')h(op)s(erators.)57
+b(Bash)36 b(v)m(ersions)g(prior)f(to)h(bash-4.0)1110
+1654 y(use)29 b(ASCI)s(I)f(collation)k(and)d(strcmp\(3\);)h(bash-4.1)g
+(and)f(later)h(use)g(the)f(cur-)1110 1763 y(ren)m(t)i(lo)s(cale's)h
+(collation)g(sequence)f(and)f(strcoll\(3\).)630 1923
+y Fs(compat40)96 b Ft(If)27 b(set,)i(Bash)e(c)m(hanges)i(its)f(b)s(eha)
+m(vior)f(to)i(that)f(of)f(v)m(ersion)h(4.0)h(with)e(resp)s(ect)1110
+2032 y(to)h(lo)s(cale-sp)s(eci\014c)g(string)f(comparison)g(when)f
+(using)g(the)h(`)p Fs([[)p Ft(')g(conditional)1110 2142
+y(command's)j(`)p Fs(<)p Ft(')h(and)e(`)p Fs(>)p Ft(')i(op)s(erators)f
+(\(see)h(previous)f(item\))h(and)f(the)g(e\013ect)1110
+2252 y(of)h(in)m(terrupting)f(a)g(command)h(list.)630
+2411 y Fs(compat41)96 b Ft(If)27 b(set,)i(Bash,)g(when)e(in)g(p)s(osix)
+g(mo)s(de,)h(treats)h(a)f(single)g(quote)h(in)e(a)h(double-)1110
+2521 y(quoted)46 b(parameter)h(expansion)f(as)g(a)h(sp)s(ecial)f(c)m
+(haracter.)90 b(The)45 b(single)1110 2630 y(quotes)34
+b(m)m(ust)g(matc)m(h)h(\(an)f(ev)m(en)h(n)m(um)m(b)s(er\))e(and)g(the)h
+(c)m(haracters)h(b)s(et)m(w)m(een)1110 2740 y(the)40
+b(single)g(quotes)g(are)g(considered)g(quoted.)69 b(This)38
+b(is)i(the)g(b)s(eha)m(vior)g(of)1110 2849 y Fl(posix)f
+Ft(mo)s(de)g(through)g(v)m(ersion)h(4.1.)69 b(The)39
+b(default)g(Bash)h(b)s(eha)m(vior)g(re-)1110 2959 y(mains)30
+b(as)h(in)f(previous)g(v)m(ersions.)630 3118 y Fs(dirspell)96
b Ft(If)26 b(set,)i(Bash)f(attempts)g(sp)s(elling)g(correction)g(on)g
-(directory)g(names)f(during)1110 2151 y(w)m(ord)36 b(completion)h(if)f
+(directory)g(names)f(during)1110 3228 y(w)m(ord)36 b(completion)h(if)f
(the)g(directory)g(name)g(initially)h(supplied)e(do)s(es)h(not)1110
-2261 y(exist.)630 2423 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f
+3337 y(exist.)630 3497 y Fs(dotglob)144 b Ft(If)27 b(set,)i(Bash)f
(includes)g(\014lenames)g(b)s(eginning)f(with)g(a)h(`.')41
-b(in)27 b(the)h(results)g(of)1110 2532 y(\014lename)j(expansion.)630
-2694 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m
+b(in)27 b(the)h(results)g(of)1110 3606 y(\014lename)j(expansion.)630
+3766 y Fs(execfail)96 b Ft(If)24 b(this)h(is)f(set,)j(a)e(non-in)m
(teractiv)m(e)i(shell)e(will)f(not)h(exit)h(if)e(it)h(cannot)h(execute)
-1110 2804 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
+1110 3875 y(the)i(\014le)g(sp)s(eci\014ed)g(as)g(an)g(argumen)m(t)g(to)
h(the)f Fs(exec)f Ft(builtin)h(command.)39 b(An)1110
-2913 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
-Fs(exec)f Ft(fails.)630 3075 y Fs(expand_aliases)1110
-3185 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b)
-s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 3294 y(tion)38
-b(6.6)h([Aliases],)j(page)d(79.)64 b(This)37 b(option)h(is)g(enabled)g
-(b)m(y)g(default)g(for)1110 3404 y(in)m(teractiv)m(e)33
-b(shells.)630 3566 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
+3985 y(in)m(teractiv)m(e)33 b(shell)e(do)s(es)f(not)g(exit)i(if)e
+Fs(exec)f Ft(fails.)630 4144 y Fs(expand_aliases)1110
+4254 y Ft(If)j(set,)h(aliases)g(are)g(expanded)e(as)h(describ)s(ed)f(b)
+s(elo)m(w)h(under)f(Aliases,)i(Sec-)1110 4364 y(tion)38
+b(6.6)h([Aliases],)j(page)d(81.)64 b(This)37 b(option)h(is)g(enabled)g
+(b)m(y)g(default)g(for)1110 4473 y(in)m(teractiv)m(e)33
+b(shells.)630 4633 y Fs(extdebug)96 b Ft(If)30 b(set,)h(b)s(eha)m(vior)
g(in)m(tended)f(for)g(use)g(b)m(y)g(debuggers)g(is)h(enabled:)1159
-3701 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
+4767 y(1.)61 b(The)32 b(`)p Fs(-F)p Ft(')g(option)h(to)g(the)g
Fs(declare)d Ft(builtin)i(\(see)i(Section)f(4.2)h([Bash)1290
-3811 y(Builtins],)29 b(page)g(41\))g(displa)m(ys)f(the)g(source)h
-(\014le)f(name)g(and)f(line)h(n)m(um-)1290 3921 y(b)s(er)h(corresp)s
+4877 y(Builtins],)29 b(page)g(43\))g(displa)m(ys)f(the)g(source)h
+(\014le)f(name)g(and)f(line)h(n)m(um-)1290 4986 y(b)s(er)h(corresp)s
(onding)g(to)i(eac)m(h)g(function)f(name)g(supplied)f(as)i(an)f(argu-)
-1290 4030 y(men)m(t.)1159 4166 y(2.)61 b(If)20 b(the)h(command)g(run)e
+1290 5096 y(men)m(t.)1159 5230 y(2.)61 b(If)20 b(the)h(command)g(run)e
(b)m(y)i(the)f Fs(DEBUG)g Ft(trap)g(returns)g(a)h(non-zero)g(v)-5
-b(alue,)1290 4275 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
-(not)i(executed.)1159 4411 y(3.)61 b(If)37 b(the)g(command)g(run)f(b)m
-(y)i(the)f Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5 b(alue)38
-b(of)f(2,)1290 4521 y(and)c(the)g(shell)h(is)f(executing)i(in)e(a)h
-(subroutine)e(\(a)i(shell)g(function)f(or)1290 4630 y(a)h(shell)h
-(script)f(executed)h(b)m(y)f(the)g Fs(.)g Ft(or)g Fs(source)e
-Ft(builtins\),)j(a)g(call)g(to)1290 4740 y Fs(return)29
-b Ft(is)h(sim)m(ulated.)1159 4876 y(4.)61 b Fs(BASH_ARGC)34
-b Ft(and)i Fs(BASH_ARGV)e Ft(are)j(up)s(dated)e(as)h(describ)s(ed)g(in)
-g(their)1290 4985 y(descriptions)30 b(\(see)i(Section)f(5.2)g([Bash)g
-(V)-8 b(ariables],)32 b(page)f(61\).)1159 5121 y(5.)61
-b(F)-8 b(unction)57 b(tracing)g(is)g(enabled:)93 b(command)56
-b(substitution,)63 b(shell)1290 5230 y(functions,)30
-b(and)f(subshells)g(in)m(v)m(ok)m(ed)j(with)d Fs(\()h
-Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290 5340
-y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)p eop end
-%%Page: 57 63
-TeXDict begin 57 62 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(57)1159 299 y(6.)61
-b(Error)74 b(tracing)i(is)f(enabled:)131 b(command)74
-b(substitution,)87 b(shell)1290 408 y(functions,)30 b(and)f(subshells)g
-(in)m(v)m(ok)m(ed)j(with)d Fs(\()h Fi(command)39 b Fs(\))30
-b Ft(inherit)g(the)1290 518 y Fs(ERROR)f Ft(trap.)630
-667 y Fs(extglob)144 b Ft(If)26 b(set,)i(the)f(extended)f(pattern)h
-(matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110
-777 y(Section)j(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(24\))h
-(are)f(enabled.)630 927 y Fs(extquote)96 b Ft(If)49 b(set,)54
-b Fs($')p Fi(string)11 b Fs(')46 b Ft(and)j Fs($")p Fi(string)11
+b(alue,)1290 5340 y(the)31 b(next)f(command)g(is)h(skipp)s(ed)e(and)g
+(not)i(executed.)p eop end
+%%Page: 60 66
+TeXDict begin 60 65 bop 150 -116 a Ft(60)2572 b(Bash)31
+b(Reference)g(Man)m(ual)1159 299 y(3.)61 b(If)37 b(the)g(command)g(run)
+f(b)m(y)i(the)f Fs(DEBUG)f Ft(trap)h(returns)f(a)i(v)-5
+b(alue)38 b(of)f(2,)1290 408 y(and)c(the)g(shell)h(is)f(executing)i(in)
+e(a)h(subroutine)e(\(a)i(shell)g(function)f(or)1290 518
+y(a)h(shell)h(script)f(executed)h(b)m(y)f(the)g Fs(.)g
+Ft(or)g Fs(source)e Ft(builtins\),)j(a)g(call)g(to)1290
+628 y Fs(return)29 b Ft(is)h(sim)m(ulated.)1159 763 y(4.)61
+b Fs(BASH_ARGC)34 b Ft(and)i Fs(BASH_ARGV)e Ft(are)j(up)s(dated)e(as)h
+(describ)s(ed)g(in)g(their)1290 873 y(descriptions)30
+b(\(see)i(Section)f(5.2)g([Bash)g(V)-8 b(ariables],)32
+b(page)f(63\).)1159 1009 y(5.)61 b(F)-8 b(unction)57
+b(tracing)g(is)g(enabled:)93 b(command)56 b(substitution,)63
+b(shell)1290 1118 y(functions,)30 b(and)f(subshells)g(in)m(v)m(ok)m(ed)
+j(with)d Fs(\()h Fi(command)39 b Fs(\))30 b Ft(inherit)g(the)1290
+1228 y Fs(DEBUG)f Ft(and)h Fs(RETURN)e Ft(traps.)1159
+1363 y(6.)61 b(Error)41 b(tracing)i(is)f(enabled:)63
+b(command)42 b(substitution,)i(shell)f(func-)1290 1473
+y(tions,)30 b(and)f(subshells)g(in)m(v)m(ok)m(ed)i(with)e
+Fs(\()h Fi(command)39 b Fs(\))29 b Ft(inherit)g(the)h
+Fs(ERR)1290 1583 y Ft(trap.)630 1744 y Fs(extglob)144
+b Ft(If)26 b(set,)i(the)f(extended)f(pattern)h(matc)m(hing)g(features)g
+(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)1110 1854 y(Section)j(3.5.8.1)i
+([P)m(attern)f(Matc)m(hing],)g(page)f(26\))h(are)f(enabled.)630
+2016 y Fs(extquote)96 b Ft(If)49 b(set,)54 b Fs($')p
+Fi(string)11 b Fs(')46 b Ft(and)j Fs($")p Fi(string)11
b Fs(")46 b Ft(quoting)k(is)f(p)s(erformed)e(within)1110
-1036 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h
-(in)g(double)f(quotes.)51 b(This)32 b(option)1110 1146
-y(is)e(enabled)h(b)m(y)f(default.)630 1295 y Fs(failglob)96
+2125 y Fs(${)p Fi(parameter)11 b Fs(})30 b Ft(expansions)j(enclosed)h
+(in)g(double)f(quotes.)51 b(This)32 b(option)1110 2235
+y(is)e(enabled)h(b)m(y)f(default.)630 2397 y Fs(failglob)96
b Ft(If)36 b(set,)j(patterns)d(whic)m(h)g(fail)h(to)h(matc)m(h)f
-(\014lenames)f(during)g(\014lename)g(ex-)1110 1405 y(pansion)30
-b(result)g(in)g(an)g(expansion)h(error.)630 1554 y Fs(force_fignore)
-1110 1664 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y)
+(\014lenames)f(during)g(\014lename)g(ex-)1110 2506 y(pansion)30
+b(result)g(in)g(an)g(expansion)h(error.)630 2668 y Fs(force_fignore)
+1110 2778 y Ft(If)43 b(set,)k(the)d(su\016xes)f(sp)s(eci\014ed)f(b)m(y)
i(the)f Fs(FIGNORE)f Ft(shell)h(v)-5 b(ariable)44 b(cause)1110
-1773 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m
-(ord)h(completion)i(ev)m(en)f(if)g(the)1110 1883 y(ignored)37
+2887 y(w)m(ords)31 b(to)h(b)s(e)f(ignored)h(when)f(p)s(erforming)f(w)m
+(ord)h(completion)i(ev)m(en)f(if)g(the)1110 2997 y(ignored)37
b(w)m(ords)g(are)g(the)h(only)f(p)s(ossible)g(completions.)62
-b(See)37 b(Section)h(5.2)1110 1993 y([Bash)24 b(V)-8
-b(ariables],)27 b(page)e(61,)h(for)d(a)h(description)g(of)g
-Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 2102 y(is)30
-b(enabled)h(b)m(y)f(default.)630 2252 y Fs(globstar)96
+b(See)37 b(Section)h(5.2)1110 3106 y([Bash)24 b(V)-8
+b(ariables],)27 b(page)e(63,)h(for)d(a)h(description)g(of)g
+Fs(FIGNORE)p Ft(.)37 b(This)22 b(option)1110 3216 y(is)30
+b(enabled)h(b)m(y)f(default.)630 3378 y Fs(globstar)96
b Ft(If)38 b(set,)j(the)e(pattern)f(`)p Fs(**)p Ft(')h(used)e(in)i(a)f
-(\014lename)h(expansion)f(con)m(text)j(will)1110 2361
+(\014lename)h(expansion)f(con)m(text)j(will)1110 3487
y(matc)m(h)f(a)g(\014les)f(and)f(zero)i(or)g(more)f(directories)h(and)f
-(sub)s(directories.)66 b(If)1110 2471 y(the)30 b(pattern)g(is)g(follo)m
+(sub)s(directories.)66 b(If)1110 3597 y(the)30 b(pattern)g(is)g(follo)m
(w)m(ed)i(b)m(y)d(a)i(`)p Fs(/)p Ft(',)f(only)g(directories)h(and)f
-(sub)s(directories)1110 2580 y(matc)m(h.)630 2730 y Fs(gnu_errfmt)1110
-2839 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)
-h(the)g(standard)f Fl(gnu)g Ft(error)1110 2949 y(message)c(format.)630
-3098 y Fs(histappend)1110 3208 y Ft(If)c(set,)j(the)e(history)g(list)g
+(sub)s(directories)1110 3707 y(matc)m(h.)630 3868 y Fs(gnu_errfmt)1110
+3978 y Ft(If)35 b(set,)j(shell)e(error)g(messages)g(are)h(written)e(in)
+h(the)g(standard)f Fl(gnu)g Ft(error)1110 4088 y(message)c(format.)630
+4249 y Fs(histappend)1110 4359 y Ft(If)c(set,)j(the)e(history)g(list)g
(is)g(app)s(ended)e(to)j(the)f(\014le)g(named)f(b)m(y)h(the)g(v)-5
-b(alue)29 b(of)1110 3318 y(the)d Fs(HISTFILE)d Ft(v)-5
+b(alue)29 b(of)1110 4468 y(the)d Fs(HISTFILE)d Ft(v)-5
b(ariable)26 b(when)e(the)h(shell)h(exits,)h(rather)e(than)h(o)m(v)m
-(erwriting)1110 3427 y(the)31 b(\014le.)630 3577 y Fs(histreedit)1110
-3686 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
+(erwriting)1110 4578 y(the)31 b(\014le.)630 4740 y Fs(histreedit)1110
+4849 y Ft(If)i(set,)h(and)f(Readline)h(is)f(b)s(eing)g(used,)g(a)g
(user)g(is)g(giv)m(en)h(the)g(opp)s(ortunit)m(y)1110
-3796 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
-3945 y Fs(histverify)1110 4055 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
+4959 y(to)d(re-edit)g(a)g(failed)g(history)f(substitution.)630
+5121 y Fs(histverify)1110 5230 y Ft(If)35 b(set,)i(and)e(Readline)h(is)
f(b)s(eing)g(used,)h(the)f(results)g(of)g(history)h(substitu-)1110
-4164 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
-(parser.)59 b(Instead,)38 b(the)1110 4274 y(resulting)i(line)f(is)h
-(loaded)g(in)m(to)g(the)g(Readline)g(editing)g(bu\013er,)h(allo)m(wing)
-1110 4384 y(further)29 b(mo)s(di\014cation.)630 4533
-y Fs(hostcomplete)1110 4643 y Ft(If)38 b(set,)j(and)c(Readline)i(is)f
-(b)s(eing)g(used,)h(Bash)g(will)f(attempt)h(to)g(p)s(erform)1110
-4752 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
-(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 4862 y(pleted)g(\(see)h
+5340 y(tion)h(are)g(not)g(immediately)h(passed)e(to)h(the)g(shell)g
+(parser.)59 b(Instead,)38 b(the)p eop end
+%%Page: 61 67
+TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(4:)41
+b(Shell)30 b(Builtin)h(Commands)2069 b(61)1110 299 y(resulting)40
+b(line)f(is)h(loaded)g(in)m(to)g(the)g(Readline)g(editing)g(bu\013er,)h
+(allo)m(wing)1110 408 y(further)29 b(mo)s(di\014cation.)630
+564 y Fs(hostcomplete)1110 673 y Ft(If)38 b(set,)j(and)c(Readline)i(is)
+f(b)s(eing)g(used,)h(Bash)g(will)f(attempt)h(to)g(p)s(erform)1110
+783 y(hostname)d(completion)h(when)e(a)h(w)m(ord)f(con)m(taining)i(a)f
+(`)p Fs(@)p Ft(')g(is)g(b)s(eing)f(com-)1110 892 y(pleted)g(\(see)h
(Section)f(8.4.6)i([Commands)d(F)-8 b(or)36 b(Completion],)g(page)g
-(110\).)1110 4971 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
-630 5121 y Fs(huponexit)1110 5230 y Ft(If)i(set,)i(Bash)f(will)h(send)d
+(112\).)1110 1002 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)
+630 1157 y Fs(huponexit)1110 1267 y Ft(If)i(set,)i(Bash)f(will)h(send)d
Fs(SIGHUP)h Ft(to)h(all)h(jobs)e(when)g(an)g(in)m(teractiv)m(e)k(login)
-1110 5340 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
-(page)f(32\).)p eop end
-%%Page: 58 64
-TeXDict begin 58 63 bop 150 -116 a Ft(58)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(interactive_comments)1110
-408 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
+1110 1377 y(shell)31 b(exits)g(\(see)g(Section)g(3.7.6)h([Signals],)g
+(page)f(34\).)630 1532 y Fs(interactive_comments)1110
+1641 y Ft(Allo)m(w)c(a)g(w)m(ord)e(b)s(eginning)g(with)h(`)p
Fs(#)p Ft(')g(to)h(cause)f(that)h(w)m(ord)f(and)f(all)i(remain-)1110
-518 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f(ignored)
-g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110 628 y(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 777 y
-Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h Fs(cmdhist)e
-Ft(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
-887 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
-(edded)g(newlines)h(rather)g(than)f(using)1110 996 y(semicolon)32
-b(separators)f(where)e(p)s(ossible.)630 1146 y Fs(login_shell)1110
-1255 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f
+1751 y(ing)41 b(c)m(haracters)i(on)e(that)h(line)g(to)g(b)s(e)f
+(ignored)g(in)g(an)g(in)m(teractiv)m(e)j(shell.)1110
+1861 y(This)30 b(option)g(is)h(enabled)f(b)m(y)g(default.)630
+2016 y Fs(lastpipe)96 b Ft(If)24 b(set,)i(and)e(job)g(con)m(trol)i(is)f
+(not)f(activ)m(e,)k(the)d(shell)f(runs)f(the)i(last)g(command)1110
+2125 y(of)37 b(a)h(pip)s(eline)e(not)h(executed)h(in)f(the)g(bac)m
+(kground)g(in)g(the)g(curren)m(t)g(shell)1110 2235 y(en)m(vironmen)m
+(t.)630 2390 y Fs(lithist)144 b Ft(If)22 b(enabled,)i(and)d(the)h
+Fs(cmdhist)e Ft(option)j(is)f(enabled,)i(m)m(ulti-line)f(commands)1110
+2500 y(are)28 b(sa)m(v)m(ed)h(to)g(the)f(history)g(with)f(em)m(b)s
+(edded)g(newlines)h(rather)g(than)f(using)1110 2609 y(semicolon)32
+b(separators)f(where)e(p)s(ossible.)630 2765 y Fs(login_shell)1110
+2874 y Ft(The)35 b(shell)h(sets)g(this)f(option)h(if)g(it)g(is)f
(started)h(as)g(a)g(login)g(shell)g(\(see)g(Sec-)1110
-1365 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(71\).)41
+2984 y(tion)29 b(6.1)g([In)m(v)m(oking)h(Bash],)f(page)g(73\).)41
b(The)28 b(v)-5 b(alue)29 b(ma)m(y)g(not)f(b)s(e)g(c)m(hanged.)630
-1514 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
+3139 y Fs(mailwarn)96 b Ft(If)34 b(set,)i(and)e(a)h(\014le)g(that)g
(Bash)f(is)h(c)m(hec)m(king)h(for)f(mail)g(has)f(b)s(een)g(accessed)
-1110 1624 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
+1110 3249 y(since)24 b(the)h(last)g(time)f(it)h(w)m(as)f(c)m(hec)m(k)m
(ed,)k(the)c(message)h Fs("The)k(mail)h(in)f Fi(mail-)1110
-1733 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
-630 1883 y Fs(no_empty_cmd_completion)1110 1993 y Ft(If)f(set,)g(and)g
+3358 y(file)40 b Fs(has)29 b(been)g(read")g Ft(is)i(displa)m(y)m(ed.)
+630 3513 y Fs(no_empty_cmd_completion)1110 3623 y Ft(If)f(set,)g(and)g
(Readline)g(is)h(b)s(eing)e(used,)h(Bash)g(will)g(not)g(attempt)i(to)e
-(searc)m(h)1110 2102 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
+(searc)m(h)1110 3733 y(the)25 b Fs(PATH)f Ft(for)h(p)s(ossible)f
(completions)j(when)d(completion)i(is)f(attempted)h(on)1110
-2212 y(an)k(empt)m(y)h(line.)630 2361 y Fs(nocaseglob)1110
-2471 y Ft(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
-(case-insensitiv)m(e)j(fashion)c(when)1110 2580 y(p)s(erforming)29
-b(\014lename)i(expansion.)630 2730 y Fs(nocasematch)1110
-2839 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
-(case-insensitiv)m(e)i(fashion)d(when)1110 2949 y(p)s(erforming)31
+3842 y(an)k(empt)m(y)h(line.)630 3998 y Fs(nocaseglob)1110
+4107 y Ft(If)38 b(set,)k(Bash)d(matc)m(hes)g(\014lenames)g(in)f(a)h
+(case-insensitiv)m(e)j(fashion)c(when)1110 4217 y(p)s(erforming)29
+b(\014lename)i(expansion.)630 4372 y Fs(nocasematch)1110
+4482 y Ft(If)42 b(set,)k(Bash)d(matc)m(hes)g(patterns)g(in)f(a)h
+(case-insensitiv)m(e)i(fashion)d(when)1110 4591 y(p)s(erforming)31
b(matc)m(hing)i(while)f(executing)i Fs(case)d Ft(or)h
-Fs([[)g Ft(conditional)h(com-)1110 3059 y(mands.)630
-3208 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
+Fs([[)g Ft(conditional)h(com-)1110 4701 y(mands.)630
+4856 y Fs(nullglob)96 b Ft(If)23 b(set,)j(Bash)e(allo)m(ws)g
(\014lename)g(patterns)g(whic)m(h)f(matc)m(h)h(no)g(\014les)f(to)i
-(expand)1110 3318 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
-(themselv)m(es.)630 3467 y Fs(progcomp)96 b Ft(If)25
+(expand)1110 4966 y(to)31 b(a)g(n)m(ull)f(string,)h(rather)f(than)g
+(themselv)m(es.)630 5121 y Fs(progcomp)96 b Ft(If)25
b(set,)i(the)f(programmable)g(completion)g(facilities)i(\(see)f
-(Section)f(8.6)h([Pro-)1110 3577 y(grammable)45 b(Completion],)k(page)c
-(115\))h(are)f(enabled.)82 b(This)44 b(option)h(is)1110
-3686 y(enabled)30 b(b)m(y)h(default.)630 3836 y Fs(promptvars)1110
-3945 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
-(expansion,)g(command)f(sub-)1110 4055 y(stitution,)34
+(Section)f(8.6)h([Pro-)1110 5230 y(grammable)45 b(Completion],)k(page)c
+(117\))h(are)f(enabled.)82 b(This)44 b(option)h(is)1110
+5340 y(enabled)30 b(b)m(y)h(default.)p eop end
+%%Page: 62 68
+TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y Fs(promptvars)1110
+408 y Ft(If)24 b(set,)i(prompt)d(strings)h(undergo)f(parameter)i
+(expansion,)g(command)f(sub-)1110 518 y(stitution,)34
b(arithmetic)f(expansion,)g(and)e(quote)i(remo)m(v)-5
-b(al)33 b(after)g(b)s(eing)e(ex-)1110 4164 y(panded)39
+b(al)33 b(after)g(b)s(eing)e(ex-)1110 628 y(panded)39
b(as)i(describ)s(ed)e(b)s(elo)m(w)i(\(see)g(Section)g(6.9)g([Prin)m
-(ting)g(a)g(Prompt],)1110 4274 y(page)31 b(82\).)42 b(This)30
-b(option)g(is)h(enabled)f(b)m(y)g(default.)630 4423 y
-Fs(restricted_shell)1110 4533 y Ft(The)40 b(shell)h(sets)g(this)g
+(ting)g(a)g(Prompt],)1110 737 y(page)31 b(84\).)42 b(This)30
+b(option)g(is)h(enabled)f(b)m(y)g(default.)630 897 y
+Fs(restricted_shell)1110 1006 y Ft(The)40 b(shell)h(sets)g(this)g
(option)g(if)g(it)h(is)e(started)i(in)e(restricted)i(mo)s(de)e(\(see)
-1110 4643 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
-(84\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110
-4752 y(b)s(e)c(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f
-(the)h(startup)g(\014les)f(are)i(executed,)1110 4862
+1110 1116 y(Section)c(6.10)g([The)f(Restricted)g(Shell],)i(page)e
+(86\).)56 b(The)34 b(v)-5 b(alue)35 b(ma)m(y)h(not)1110
+1225 y(b)s(e)c(c)m(hanged.)49 b(This)32 b(is)h(not)h(reset)f(when)f
+(the)h(startup)g(\014les)f(are)i(executed,)1110 1335
y(allo)m(wing)k(the)e(startup)f(\014les)h(to)g(disco)m(v)m(er)h
-(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 4971
-y(stricted.)630 5121 y Fs(shift_verbose)1110 5230 y Ft(If)g(this)g(is)g
+(whether)f(or)f(not)i(a)f(shell)g(is)g(re-)1110 1445
+y(stricted.)630 1604 y Fs(shift_verbose)1110 1714 y Ft(If)g(this)g(is)g
(set,)j(the)d Fs(shift)f Ft(builtin)h(prin)m(ts)f(an)h(error)g(message)
-i(when)d(the)1110 5340 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m
-(b)s(er)e(of)h(p)s(ositional)i(parameters.)p eop end
-%%Page: 59 65
-TeXDict begin 59 64 bop 150 -116 a Ft(Chapter)30 b(4:)41
-b(Shell)30 b(Builtin)h(Commands)2069 b(59)630 299 y Fs(sourcepath)1110
-408 y Ft(If)22 b(set,)j(the)e Fs(source)e Ft(builtin)h(uses)g(the)h(v)
--5 b(alue)23 b(of)g Fs(PATH)e Ft(to)j(\014nd)d(the)h(directory)1110
-518 y(con)m(taining)29 b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m
-(t.)40 b(This)27 b(option)h(is)f(enabled)1110 628 y(b)m(y)j(default.)
-630 787 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
+i(when)d(the)1110 1823 y(shift)30 b(coun)m(t)h(exceeds)g(the)g(n)m(um)m
+(b)s(er)e(of)h(p)s(ositional)i(parameters.)630 1983 y
+Fs(sourcepath)1110 2092 y Ft(If)22 b(set,)j(the)e Fs(source)e
+Ft(builtin)h(uses)g(the)h(v)-5 b(alue)23 b(of)g Fs(PATH)e
+Ft(to)j(\014nd)d(the)h(directory)1110 2202 y(con)m(taining)29
+b(the)e(\014le)h(supplied)e(as)h(an)g(argumen)m(t.)40
+b(This)27 b(option)h(is)f(enabled)1110 2311 y(b)m(y)j(default.)630
+2471 y Fs(xpg_echo)96 b Ft(If)31 b(set,)h(the)g Fs(echo)e
Ft(builtin)h(expands)f(bac)m(kslash-escap)s(e)j(sequences)f(b)m(y)f
-(de-)1110 897 y(fault.)630 1056 y(The)c(return)f(status)i(when)f
+(de-)1110 2580 y(fault.)630 2740 y(The)c(return)f(status)i(when)f
(listing)h(options)g(is)f(zero)i(if)e(all)i Fq(optnames)i
-Ft(are)d(enabled,)g(non-)630 1166 y(zero)40 b(otherwise.)66
+Ft(are)d(enabled,)g(non-)630 2849 y(zero)40 b(otherwise.)66
b(When)39 b(setting)h(or)f(unsetting)g(options,)i(the)e(return)f
-(status)h(is)g(zero)630 1275 y(unless)30 b(an)g Fq(optname)36
+(status)h(is)g(zero)630 2959 y(unless)30 b(an)g Fq(optname)36
b Ft(is)30 b(not)h(a)g(v)-5 b(alid)30 b(shell)h(option.)150
-1508 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 1667
+3191 y Fr(4.4)68 b(Sp)t(ecial)45 b(Builtins)150 3351
y Ft(F)-8 b(or)35 b(historical)h(reasons,)g(the)e Fl(posix)g
Ft(standard)f(has)i(classi\014ed)f(sev)m(eral)i(builtin)e(commands)g
-(as)h Fk(sp)-5 b(e-)150 1777 y(cial)p Ft(.)47 b(When)33
+(as)h Fk(sp)-5 b(e-)150 3460 y(cial)p Ft(.)47 b(When)33
b(Bash)f(is)h(executing)g(in)f Fl(posix)g Ft(mo)s(de,)h(the)g(sp)s
(ecial)g(builtins)e(di\013er)i(from)f(other)g(builtin)150
-1886 y(commands)e(in)g(three)h(resp)s(ects:)199 2021
+3570 y(commands)e(in)g(three)h(resp)s(ects:)199 3704
y(1.)61 b(Sp)s(ecial)31 b(builtins)e(are)i(found)e(b)s(efore)h(shell)h
-(functions)f(during)f(command)h(lo)s(okup.)199 2155 y(2.)61
+(functions)f(during)f(command)h(lo)s(okup.)199 3839 y(2.)61
b(If)30 b(a)h(sp)s(ecial)g(builtin)f(returns)f(an)h(error)g(status,)h
-(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 2290
+(a)g(non-in)m(teractiv)m(e)i(shell)d(exits.)199 3973
y(3.)61 b(Assignmen)m(t)30 b(statemen)m(ts)h(preceding)f(the)f(command)
g(sta)m(y)i(in)e(e\013ect)i(in)e(the)h(shell)f(en)m(vironmen)m(t)330
-2399 y(after)i(the)f(command)h(completes.)275 2559 y(When)36
+4083 y(after)i(the)f(command)h(completes.)275 4242 y(When)36
b(Bash)g(is)h(not)f(executing)i(in)e Fl(posix)f Ft(mo)s(de,)j(these)f
(builtins)f(b)s(eha)m(v)m(e)h(no)f(di\013eren)m(tly)h(than)150
-2668 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
+4352 y(the)31 b(rest)f(of)h(the)f(Bash)h(builtin)e(commands.)41
b(The)30 b(Bash)g Fl(posix)g Ft(mo)s(de)g(is)g(describ)s(ed)f(in)h
-(Section)h(6.11)150 2778 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(84.)275
-2912 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390
-3047 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f
-(readonly)f(return)h(set)390 3156 y(shift)g(trap)h(unset)p
+(Section)h(6.11)150 4462 y([Bash)g(POSIX)e(Mo)s(de],)i(page)g(86.)275
+4596 y(These)f(are)g(the)h Fl(posix)f Ft(sp)s(ecial)h(builtins:)390
+4731 y Fs(break)46 b(:)i(.)f(continue)f(eval)g(exec)h(exit)g(export)f
+(readonly)f(return)h(set)390 4840 y(shift)g(trap)h(unset)p
eop end
-%%Page: 60 66
-TeXDict begin 60 65 bop eop end
-%%Page: 61 67
-TeXDict begin 61 66 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(61)150 299 y Fo(5)80
-b(Shell)53 b(V)-13 b(ariables)150 559 y Ft(This)21 b(c)m(hapter)i
+%%Page: 63 69
+TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fo(5)80
+b(Shell)53 b(V)-13 b(ariables)150 541 y Ft(This)21 b(c)m(hapter)i
(describ)s(es)e(the)i(shell)f(v)-5 b(ariables)23 b(that)f(Bash)h(uses.)
37 b(Bash)23 b(automatically)h(assigns)f(default)150
-668 y(v)-5 b(alues)31 b(to)g(a)g(n)m(um)m(b)s(er)e(of)h(v)-5
-b(ariables.)150 914 y Fr(5.1)68 b(Bourne)45 b(Shell)g(V)-11
-b(ariables)150 1073 y Ft(Bash)30 b(uses)g(certain)h(shell)g(v)-5
+651 y(v)-5 b(alues)31 b(to)g(a)g(n)m(um)m(b)s(er)e(of)h(v)-5
+b(ariables.)150 888 y Fr(5.1)68 b(Bourne)45 b(Shell)g(V)-11
+b(ariables)150 1047 y Ft(Bash)30 b(uses)g(certain)h(shell)g(v)-5
b(ariables)31 b(in)f(the)g(same)h(w)m(a)m(y)g(as)g(the)f(Bourne)g
-(shell.)41 b(In)30 b(some)g(cases,)i(Bash)150 1183 y(assigns)f(a)f
+(shell.)41 b(In)30 b(some)g(cases,)i(Bash)150 1157 y(assigns)f(a)f
(default)h(v)-5 b(alue)31 b(to)g(the)f(v)-5 b(ariable.)150
-1355 y Fs(CDPATH)192 b Ft(A)39 b(colon-separated)i(list)e(of)g
+1320 y Fs(CDPATH)192 b Ft(A)39 b(colon-separated)i(list)e(of)g
(directories)h(used)f(as)g(a)g(searc)m(h)h(path)e(for)h(the)g
-Fs(cd)f Ft(builtin)630 1464 y(command.)150 1632 y Fs(HOME)288
+Fs(cd)f Ft(builtin)630 1430 y(command.)150 1592 y Fs(HOME)288
b Ft(The)23 b(curren)m(t)h(user's)f(home)g(directory;)k(the)d(default)g
(for)f(the)h Fs(cd)f Ft(builtin)g(command.)38 b(The)630
-1742 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
+1702 y(v)-5 b(alue)37 b(of)f(this)g(v)-5 b(ariable)37
b(is)g(also)g(used)e(b)m(y)h(tilde)h(expansion)f(\(see)i(Section)f
-(3.5.2)h([Tilde)630 1852 y(Expansion],)30 b(page)h(19\).)150
-2020 y Fs(IFS)336 b Ft(A)25 b(list)i(of)e(c)m(haracters)i(that)f
+(3.5.2)h([Tilde)630 1811 y(Expansion],)30 b(page)h(20\).)150
+1973 y Fs(IFS)336 b Ft(A)25 b(list)i(of)e(c)m(haracters)i(that)f
(separate)g(\014elds;)h(used)e(when)f(the)i(shell)f(splits)h(w)m(ords)e
-(as)i(part)630 2129 y(of)31 b(expansion.)150 2297 y Fs(MAIL)288
-b Ft(If)26 b(this)f(parameter)i(is)f(set)g(to)h(a)g(\014lename)f(and)f
-(the)h Fs(MAILPATH)e Ft(v)-5 b(ariable)27 b(is)f(not)g(set,)i(Bash)630
-2407 y(informs)i(the)g(user)g(of)g(the)h(arriv)-5 b(al)31
-b(of)f(mail)h(in)f(the)h(sp)s(eci\014ed)f(\014le.)150
-2575 y Fs(MAILPATH)96 b Ft(A)33 b(colon-separated)i(list)f(of)f
+(as)i(part)630 2083 y(of)31 b(expansion.)150 2245 y Fs(MAIL)288
+b Ft(If)44 b(this)g(parameter)h(is)g(set)g(to)g(a)f(\014lename)h(or)f
+(directory)h(name)g(and)f(the)g Fs(MAILPATH)630 2355
+y Ft(v)-5 b(ariable)32 b(is)e(not)h(set,)h(Bash)f(informs)f(the)h(user)
+f(of)h(the)g(arriv)-5 b(al)31 b(of)g(mail)g(in)g(the)g(sp)s(eci\014ed)
+630 2464 y(\014le)f(or)h(Maildir-format)g(directory)-8
+b(.)150 2627 y Fs(MAILPATH)96 b Ft(A)33 b(colon-separated)i(list)f(of)f
(\014lenames)h(whic)m(h)f(the)g(shell)g(p)s(erio)s(dically)h(c)m(hec)m
-(ks)g(for)f(new)630 2684 y(mail.)60 b(Eac)m(h)37 b(list)g(en)m(try)g
+(ks)g(for)f(new)630 2736 y(mail.)60 b(Eac)m(h)37 b(list)g(en)m(try)g
(can)g(sp)s(ecify)f(the)h(message)h(that)f(is)g(prin)m(ted)f(when)f
-(new)h(mail)630 2794 y(arriv)m(es)29 b(in)g(the)g(mail)g(\014le)g(b)m
+(new)h(mail)630 2846 y(arriv)m(es)29 b(in)g(the)g(mail)g(\014le)g(b)m
(y)g(separating)g(the)g(\014le)g(name)g(from)f(the)h(message)h(with)e
-(a)i(`)p Fs(?)p Ft('.)630 2903 y(When)i(used)f(in)h(the)g(text)i(of)e
+(a)i(`)p Fs(?)p Ft('.)630 2955 y(When)i(used)f(in)h(the)g(text)i(of)e
(the)g(message,)i Fs($_)e Ft(expands)f(to)i(the)f(name)g(of)h(the)f
-(curren)m(t)630 3013 y(mail)f(\014le.)150 3181 y Fs(OPTARG)192
+(curren)m(t)630 3065 y(mail)f(\014le.)150 3227 y Fs(OPTARG)192
b Ft(The)30 b(v)-5 b(alue)31 b(of)f(the)h(last)g(option)g(argumen)m(t)g
(pro)s(cessed)f(b)m(y)g(the)g Fs(getopts)f Ft(builtin.)150
-3349 y Fs(OPTIND)192 b Ft(The)30 b(index)g(of)g(the)h(last)g(option)g
+3389 y Fs(OPTIND)192 b Ft(The)30 b(index)g(of)g(the)h(last)g(option)g
(argumen)m(t)g(pro)s(cessed)f(b)m(y)g(the)g Fs(getopts)f
-Ft(builtin.)150 3517 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f
+Ft(builtin.)150 3552 y Fs(PATH)288 b Ft(A)32 b(colon-separated)i(list)f
(of)f(directories)h(in)e(whic)m(h)h(the)g(shell)g(lo)s(oks)h(for)f
-(commands.)45 b(A)630 3626 y(zero-length)e(\(n)m(ull\))g(directory)f
+(commands.)45 b(A)630 3661 y(zero-length)e(\(n)m(ull\))g(directory)f
(name)g(in)g(the)g(v)-5 b(alue)42 b(of)g Fs(PATH)f Ft(indicates)i(the)f
-(curren)m(t)630 3736 y(directory)-8 b(.)49 b(A)33 b(n)m(ull)f
+(curren)m(t)630 3771 y(directory)-8 b(.)49 b(A)33 b(n)m(ull)f
(directory)i(name)e(ma)m(y)i(app)s(ear)e(as)h(t)m(w)m(o)h(adjacen)m(t)g
-(colons,)g(or)f(as)g(an)630 3846 y(initial)f(or)e(trailing)h(colon.)150
-4014 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55
+(colons,)g(or)f(as)g(an)630 3880 y(initial)f(or)e(trailing)h(colon.)150
+4042 y Fs(PS1)336 b Ft(The)35 b(primary)f(prompt)h(string.)55
b(The)35 b(default)h(v)-5 b(alue)35 b(is)h(`)p Fs(\\s-\\v\\$)28
-b Ft('.)56 b(See)36 b(Section)g(6.9)630 4123 y([Prin)m(ting)28
-b(a)g(Prompt],)g(page)h(82,)g(for)e(the)h(complete)h(list)g(of)e(escap)
-s(e)h(sequences)g(that)h(are)630 4233 y(expanded)h(b)s(efore)g
-Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4401 y Fs(PS2)336
+b Ft('.)56 b(See)36 b(Section)g(6.9)630 4152 y([Prin)m(ting)28
+b(a)g(Prompt],)g(page)h(84,)g(for)e(the)h(complete)h(list)g(of)e(escap)
+s(e)h(sequences)g(that)h(are)630 4262 y(expanded)h(b)s(efore)g
+Fs(PS1)f Ft(is)h(displa)m(y)m(ed.)150 4424 y Fs(PS2)336
b Ft(The)30 b(secondary)g(prompt)g(string.)41 b(The)29
b(default)i(v)-5 b(alue)31 b(is)f(`)p Fs(>)g Ft('.)150
-4646 y Fr(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4805
+4661 y Fr(5.2)68 b(Bash)45 b(V)-11 b(ariables)150 4820
y Ft(These)45 b(v)-5 b(ariables)46 b(are)g(set)g(or)f(used)f(b)m(y)h
(Bash,)50 b(but)44 b(other)i(shells)f(do)h(not)f(normally)h(treat)g
-(them)150 4915 y(sp)s(ecially)-8 b(.)275 5058 y(A)24
+(them)150 4929 y(sp)s(ecially)-8 b(.)275 5067 y(A)24
b(few)g(v)-5 b(ariables)24 b(used)g(b)m(y)f(Bash)i(are)f(describ)s(ed)f
(in)h(di\013eren)m(t)g(c)m(hapters:)38 b(v)-5 b(ariables)25
-b(for)f(con)m(trolling)150 5168 y(the)31 b(job)f(con)m(trol)h
+b(for)f(con)m(trolling)150 5176 y(the)31 b(job)f(con)m(trol)h
(facilities)i(\(see)e(Section)g(7.3)h([Job)e(Con)m(trol)h(V)-8
-b(ariables],)32 b(page)g(92\).)150 5340 y Fs(BASH)288
+b(ariables],)32 b(page)g(94\).)150 5340 y Fs(BASH)288
b Ft(The)30 b(full)g(pathname)g(used)g(to)h(execute)h(the)e(curren)m(t)
g(instance)h(of)g(Bash.)p eop end
-%%Page: 62 68
-TeXDict begin 62 67 bop 150 -116 a Ft(62)2572 b(Bash)31
+%%Page: 64 70
+TeXDict begin 64 69 bop 150 -116 a Ft(64)2572 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fs(BASHOPTS)96 b Ft(A)31
b(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)41
b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
b(alid)630 408 y(argumen)m(t)33 b(for)g(the)f(`)p Fs(-s)p
Ft(')h(option)g(to)g(the)g Fs(shopt)e Ft(builtin)i(command)f(\(see)i
-(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(55\).)60
+(Section)f(4.3.2)630 518 y([The)j(Shopt)g(Builtin],)i(page)f(57\).)60
b(The)36 b(options)h(app)s(earing)f(in)g Fs(BASHOPTS)e
Ft(are)i(those)630 628 y(rep)s(orted)e(as)h(`)p Fs(on)p
Ft(')f(b)m(y)h(`)p Fs(shopt)p Ft('.)53 b(If)34 b(this)g(v)-5
@@ -9157,20 +9342,20 @@ b(ariable)36 b(is)f(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)630
737 y(starts)25 b(up,)f(eac)m(h)i(shell)e(option)h(in)e(the)i(list)g
(will)f(b)s(e)g(enabled)g(b)s(efore)g(reading)g(an)m(y)g(startup)630
847 y(\014les.)41 b(This)29 b(v)-5 b(ariable)31 b(is)g(readonly)-8
-b(.)150 998 y Fs(BASHPID)144 b Ft(Expands)36 b(to)j(the)f(pro)s(cess)g
-(id)f(of)h(the)g(curren)m(t)g(Bash)g(pro)s(cess.)63 b(This)37
-b(di\013ers)g(from)h Fs($$)630 1107 y Ft(under)31 b(certain)j
+b(.)150 998 y Fs(BASHPID)144 b Ft(Expands)35 b(to)i(the)f(pro)s(cess)f
+(ID)i(of)f(the)g(curren)m(t)g(Bash)g(pro)s(cess.)58 b(This)35
+b(di\013ers)h(from)g Fs($$)630 1107 y Ft(under)31 b(certain)j
(circumstances,)h(suc)m(h)e(as)g(subshells)f(that)i(do)f(not)g(require)
g(Bash)g(to)h(b)s(e)630 1217 y(re-initialized.)150 1367
y Fs(BASH_ALIASES)630 1477 y Ft(An)40 b(asso)s(ciativ)m(e)j(arra)m(y)d
(v)-5 b(ariable)41 b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f
-(in)m(ternal)h(list)630 1587 y(of)g(aliases)h(as)f(main)m(tained)g(b)m
-(y)g(the)f Fs(alias)g Ft(builtin)g(\(see)h(Section)h(4.1)f([Bourne)g
-(Shell)630 1696 y(Builtins],)36 b(page)e(35\).)53 b(Elemen)m(ts)35
-b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)g(alias)h(list;)i
-(un-)630 1806 y(setting)31 b(arra)m(y)g(elemen)m(ts)h(cause)f(aliases)h
-(to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g(list.)150
-1956 y Fs(BASH_ARGC)630 2066 y Ft(An)f(arra)m(y)h(v)-5
+(in)m(ternal)h(list)630 1587 y(of)c(aliases)h(as)f(main)m(tained)g(b)m
+(y)g(the)g Fs(alias)e Ft(builtin.)59 b(\(see)37 b(Section)h(4.1)f
+([Bourne)g(Shell)630 1696 y(Builtins],)f(page)e(37\).)53
+b(Elemen)m(ts)35 b(added)e(to)i(this)e(arra)m(y)i(app)s(ear)e(in)h(the)
+g(alias)h(list;)i(un-)630 1806 y(setting)31 b(arra)m(y)g(elemen)m(ts)h
+(cause)f(aliases)h(to)f(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(alias)g
+(list.)150 1956 y Fs(BASH_ARGC)630 2066 y Ft(An)f(arra)m(y)h(v)-5
b(ariable)31 b(whose)f(v)-5 b(alues)31 b(are)g(the)f(n)m(um)m(b)s(er)g
(of)g(parameters)h(in)f(eac)m(h)h(frame)g(of)630 2176
y(the)26 b(curren)m(t)f(bash)g(execution)i(call)g(stac)m(k.)41
@@ -9182,7 +9367,7 @@ b(The)25 b(n)m(um)m(b)s(er)g(of)h(parameters)g(to)g(the)g(curren)m(t)
2504 y(is)g(pushed)f(on)m(to)i Fs(BASH_ARGC)p Ft(.)59
b(The)37 b(shell)g(sets)h Fs(BASH_ARGC)c Ft(only)k(when)e(in)h
(extended)630 2614 y(debugging)23 b(mo)s(de)f(\(see)h(Section)g(4.3.2)i
-([The)d(Shopt)g(Builtin],)j(page)e(55)h(for)e(a)h(description)630
+([The)d(Shopt)g(Builtin],)j(page)e(57)h(for)e(a)h(description)630
2724 y(of)31 b(the)f Fs(extdebug)e Ft(option)j(to)g(the)g
Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630
2984 y Ft(An)24 b(arra)m(y)g(v)-5 b(ariable)25 b(con)m(taining)h(all)f
@@ -9195,14 +9380,14 @@ Fs(shopt)e Ft(builtin\).)150 2874 y Fs(BASH_ARGV)630
(on)m(to)i Fs(BASH_ARGV)p Ft(.)66 b(The)40 b(shell)630
3422 y(sets)28 b Fs(BASH_ARGV)e Ft(only)i(when)f(in)h(extended)g
(debugging)g(mo)s(de)g(\(see)h(Section)f(4.3.2)i([The)630
-3532 y(Shopt)i(Builtin],)h(page)g(55)g(for)f(a)h(description)f(of)h
+3532 y(Shopt)i(Builtin],)h(page)g(57)g(for)f(a)h(description)f(of)h
(the)f Fs(extdebug)e Ft(option)j(to)g(the)f Fs(shopt)630
3641 y Ft(builtin\).)150 3792 y Fs(BASH_CMDS)630 3902
y Ft(An)i(asso)s(ciativ)m(e)i(arra)m(y)f(v)-5 b(ariable)35
b(whose)f(mem)m(b)s(ers)f(corresp)s(ond)g(to)i(the)f(in)m(ternal)h
(hash)630 4011 y(table)c(of)g(commands)f(as)g(main)m(tained)h(b)m(y)g
(the)f Fs(hash)f Ft(builtin)h(\(see)h(Section)g(4.1)h([Bourne)630
-4121 y(Shell)23 b(Builtins],)j(page)e(35\).)40 b(Elemen)m(ts)24
+4121 y(Shell)23 b(Builtins],)j(page)e(37\).)40 b(Elemen)m(ts)24
b(added)e(to)j(this)e(arra)m(y)h(app)s(ear)e(in)i(the)f(hash)g(table;)
630 4230 y(unsetting)30 b(arra)m(y)h(elemen)m(ts)h(cause)f(commands)f
(to)h(b)s(e)f(remo)m(v)m(ed)h(from)f(the)h(hash)e(table.)150
@@ -9216,129 +9401,132 @@ b(is)e(set)h(when)f(Bash)g(is)h(in)m(v)m(ok)m(ed)h(to)f(execute)h(a)e
(shell)h(script,)g(its)g(v)-5 b(alue)29 b(is)630 4970
y(expanded)k(and)h(used)g(as)g(the)h(name)f(of)g(a)h(startup)f(\014le)g
(to)h(read)f(b)s(efore)g(executing)i(the)630 5080 y(script.)41
-b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(73.)150
+b(See)30 b(Section)h(6.2)h([Bash)f(Startup)e(Files],)j(page)f(75.)150
5230 y Fs(BASH_EXECUTION_STRING)630 5340 y Ft(The)f(command)g(argumen)m
(t)h(to)g(the)g(`)p Fs(-c)p Ft(')f(in)m(v)m(o)s(cation)i(option.)p
eop end
-%%Page: 63 69
-TeXDict begin 63 68 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(63)150 299 y Fs(BASH_LINENO)630
-408 y Ft(An)38 b(arra)m(y)h(v)-5 b(ariable)39 b(whose)g(mem)m(b)s(ers)e
-(are)i(the)g(line)g(n)m(um)m(b)s(ers)e(in)h(source)h(\014les)f(corre-)
-630 518 y(sp)s(onding)g(to)i(eac)m(h)h(mem)m(b)s(er)e(of)h
-Fq(FUNCNAME)5 b Ft(.)41 b Fs(${BASH_LINENO[$i]})34 b
-Ft(is)40 b(the)g(line)630 628 y(n)m(um)m(b)s(er)47 b(in)h(the)g(source)
-h(\014le)f(where)g Fs(${FUNCNAME[$i]})c Ft(w)m(as)49
-b(called)g(\(or)g Fs(${BASH_)630 737 y(LINENO[$i-1]})22
-b Ft(if)j(referenced)g(within)f(another)i(shell)f(function\).)39
-b(The)25 b(corresp)s(onding)630 847 y(source)f(\014le)h(name)f(is)g
-Fs(${BASH_SOURCE[$i]})p Ft(.)34 b(Use)25 b Fs(LINENO)d
-Ft(to)j(obtain)g(the)g(curren)m(t)f(line)630 956 y(n)m(um)m(b)s(er.)150
-1112 y Fs(BASH_REMATCH)630 1221 y Ft(An)43 b(arra)m(y)i(v)-5
+%%Page: 65 71
+TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(65)150 299 y Fs(BASH_LINENO)630
+408 y Ft(An)62 b(arra)m(y)i(v)-5 b(ariable)63 b(whose)g(mem)m(b)s(ers)e
+(are)j(the)e(line)h(n)m(um)m(b)s(ers)f(in)g(source)h(\014les)630
+518 y(where)46 b(eac)m(h)i(corresp)s(onding)e(mem)m(b)s(er)f(of)i
+Fq(FUNCNAME)53 b Ft(w)m(as)47 b(in)m(v)m(ok)m(ed.)91
+b Fs(${BASH_)630 628 y(LINENO[$i]})39 b Ft(is)i(the)h(line)g(n)m(um)m
+(b)s(er)e(in)i(the)f(source)h(\014le)g(\()p Fs(${BASH_SOURCE[$i+1]})p
+Ft(\))630 737 y(where)d Fs(${FUNCNAME[$i]})c Ft(w)m(as)k(called)i(\(or)
+e Fs(${BASH_LINENO[$i-1]})34 b Ft(if)39 b(referenced)630
+847 y(within)30 b(another)g(shell)h(function\).)41 b(Use)31
+b Fs(LINENO)d Ft(to)j(obtain)g(the)g(curren)m(t)f(line)h(n)m(um)m(b)s
+(er.)150 1002 y Fs(BASH_REMATCH)630 1112 y Ft(An)43 b(arra)m(y)i(v)-5
b(ariable)44 b(whose)g(mem)m(b)s(ers)f(are)h(assigned)g(b)m(y)f(the)h
-(`)p Fs(=~)p Ft(')g(binary)f(op)s(erator)630 1331 y(to)37
+(`)p Fs(=~)p Ft(')g(binary)f(op)s(erator)630 1221 y(to)37
b(the)f Fs([[)g Ft(conditional)i(command)e(\(see)h(Section)g(3.2.4.2)i
-([Conditional)e(Constructs],)630 1440 y(page)e(10\).)52
+([Conditional)e(Constructs],)630 1331 y(page)e(10\).)52
b(The)33 b(elemen)m(t)j(with)d(index)g(0)i(is)f(the)g(p)s(ortion)f(of)h
-(the)g(string)g(matc)m(hing)h(the)630 1550 y(en)m(tire)29
+(the)g(string)g(matc)m(hing)h(the)630 1440 y(en)m(tire)29
b(regular)f(expression.)40 b(The)27 b(elemen)m(t)j(with)d(index)h
Fq(n)f Ft(is)h(the)g(p)s(ortion)g(of)g(the)g(string)630
-1660 y(matc)m(hing)j(the)g Fq(n)p Ft(th)f(paren)m(thesized)h(sub)s
+1550 y(matc)m(hing)j(the)g Fq(n)p Ft(th)f(paren)m(thesized)h(sub)s
(expression.)39 b(This)29 b(v)-5 b(ariable)31 b(is)g(read-only)-8
-b(.)150 1815 y Fs(BASH_SOURCE)630 1924 y Ft(An)24 b(arra)m(y)h(v)-5
-b(ariable)26 b(whose)e(mem)m(b)s(ers)g(are)h(the)g(source)f
-(\014lenames)h(corresp)s(onding)e(to)j(the)630 2034 y(elemen)m(ts)32
-b(in)e(the)g Fs(FUNCNAME)e Ft(arra)m(y)j(v)-5 b(ariable.)150
-2189 y Fs(BASH_SUBSHELL)630 2299 y Ft(Incremen)m(ted)34
+b(.)150 1705 y Fs(BASH_SOURCE)630 1815 y Ft(An)40 b(arra)m(y)h(v)-5
+b(ariable)41 b(whose)f(mem)m(b)s(ers)g(are)h(the)g(source)f
+(\014lenames)h(where)f(the)g(corre-)630 1924 y(sp)s(onding)27
+b(shell)i(function)f(names)g(in)g(the)h Fs(FUNCNAME)d
+Ft(arra)m(y)j(v)-5 b(ariable)30 b(are)f(de\014ned.)38
+b(The)630 2034 y(shell)26 b(function)g Fs(${FUNCNAME[$i]})c
+Ft(is)k(de\014ned)f(in)g(the)h(\014le)h Fs(${BASH_SOURCE[$i]})21
+b Ft(and)630 2144 y(called)32 b(from)d Fs(${BASH_SOURCE[$i+1]})150
+2299 y(BASH_SUBSHELL)630 2408 y Ft(Incremen)m(ted)34
b(b)m(y)h(one)f(eac)m(h)i(time)f(a)f(subshell)g(or)g(subshell)f(en)m
-(vironmen)m(t)i(is)f(spa)m(wned.)630 2408 y(The)c(initial)h(v)-5
-b(alue)31 b(is)g(0.)150 2564 y Fs(BASH_VERSINFO)630 2673
+(vironmen)m(t)i(is)f(spa)m(wned.)630 2518 y(The)c(initial)h(v)-5
+b(alue)31 b(is)g(0.)150 2673 y Fs(BASH_VERSINFO)630 2783
y Ft(A)36 b(readonly)g(arra)m(y)g(v)-5 b(ariable)37 b(\(see)f(Section)h
-(6.7)g([Arra)m(ys],)h(page)e(80\))h(whose)f(mem)m(b)s(ers)630
-2783 y(hold)c(v)m(ersion)h(information)f(for)g(this)g(instance)h(of)g
+(6.7)g([Arra)m(ys],)h(page)e(82\))h(whose)f(mem)m(b)s(ers)630
+2892 y(hold)c(v)m(ersion)h(information)f(for)g(this)g(instance)h(of)g
(Bash.)46 b(The)32 b(v)-5 b(alues)32 b(assigned)h(to)g(the)630
-2892 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
-3048 y Fs(BASH_VERSINFO[0])1110 3157 y Ft(The)f(ma)5
+3002 y(arra)m(y)e(mem)m(b)s(ers)e(are)i(as)g(follo)m(ws:)630
+3157 y Fs(BASH_VERSINFO[0])1110 3267 y Ft(The)f(ma)5
b(jor)30 b(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fq(release)5
-b Ft(\).)630 3313 y Fs(BASH_VERSINFO[1])1110 3422 y Ft(The)30
+b Ft(\).)630 3422 y Fs(BASH_VERSINFO[1])1110 3532 y Ft(The)30
b(minor)g(v)m(ersion)h(n)m(um)m(b)s(er)e(\(the)i Fq(v)m(ersion)p
-Ft(\).)630 3577 y Fs(BASH_VERSINFO[2])1110 3687 y Ft(The)f(patc)m(h)h
-(lev)m(el.)630 3842 y Fs(BASH_VERSINFO[3])1110 3952 y
-Ft(The)f(build)f(v)m(ersion.)630 4107 y Fs(BASH_VERSINFO[4])1110
-4217 y Ft(The)h(release)i(status)e(\(e.g.,)j Fq(b)s(eta1)7
-b Ft(\).)630 4372 y Fs(BASH_VERSINFO[5])1110 4482 y Ft(The)30
-b(v)-5 b(alue)31 b(of)f Fs(MACHTYPE)p Ft(.)150 4637 y
-Fs(BASH_VERSION)630 4746 y Ft(The)g(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h
-(the)h(curren)m(t)f(instance)h(of)g(Bash.)150 4902 y
-Fs(BASH_XTRACEFD)630 5011 y Ft(If)f(set)h(to)h(an)e(in)m(teger)i
+Ft(\).)630 3687 y Fs(BASH_VERSINFO[2])1110 3797 y Ft(The)f(patc)m(h)h
+(lev)m(el.)630 3952 y Fs(BASH_VERSINFO[3])1110 4061 y
+Ft(The)f(build)f(v)m(ersion.)630 4217 y Fs(BASH_VERSINFO[4])1110
+4326 y Ft(The)h(release)i(status)e(\(e.g.,)j Fq(b)s(eta1)7
+b Ft(\).)630 4482 y Fs(BASH_VERSINFO[5])1110 4591 y Ft(The)30
+b(v)-5 b(alue)31 b(of)f Fs(MACHTYPE)p Ft(.)150 4746 y
+Fs(BASH_VERSION)630 4856 y Ft(The)g(v)m(ersion)h(n)m(um)m(b)s(er)e(of)h
+(the)h(curren)m(t)f(instance)h(of)g(Bash.)150 5011 y
+Fs(BASH_XTRACEFD)630 5121 y Ft(If)f(set)h(to)h(an)e(in)m(teger)i
(corresp)s(onding)e(to)h(a)g(v)-5 b(alid)31 b(\014le)g(descriptor,)g
-(Bash)g(will)g(write)g(the)630 5121 y(trace)37 b(output)f(generated)h
+(Bash)g(will)g(write)g(the)630 5230 y(trace)37 b(output)f(generated)h
(when)f(`)p Fs(set)29 b(-x)p Ft(')36 b(is)g(enabled)h(to)g(that)f
-(\014le)h(descriptor.)58 b(This)630 5230 y(allo)m(ws)29
+(\014le)h(descriptor.)58 b(This)630 5340 y(allo)m(ws)29
b(tracing)h(output)d(to)i(b)s(e)f(separated)g(from)g(diagnostic)h(and)f
-(error)f(messages.)41 b(The)630 5340 y(\014le)31 b(descriptor)f(is)h
-(closed)g(when)f Fs(BASH_XTRACEFD)d Ft(is)k(unset)f(or)g(assigned)h(a)g
-(new)f(v)-5 b(alue.)p eop end
-%%Page: 64 70
-TeXDict begin 64 69 bop 150 -116 a Ft(64)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(Unsetting)45 b Fs(BASH_XTRACEFD)40
+(error)f(messages.)41 b(The)p eop end
+%%Page: 66 72
+TeXDict begin 66 71 bop 150 -116 a Ft(66)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(\014le)g(descriptor)f(is)h(closed)g
+(when)f Fs(BASH_XTRACEFD)d Ft(is)k(unset)f(or)g(assigned)h(a)g(new)f(v)
+-5 b(alue.)630 408 y(Unsetting)45 b Fs(BASH_XTRACEFD)40
b Ft(or)k(assigning)g(it)g(the)g(empt)m(y)h(string)e(causes)i(the)f
-(trace)630 408 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g
+(trace)630 518 y(output)33 b(to)i(b)s(e)d(sen)m(t)j(to)f(the)g
(standard)e(error.)50 b(Note)35 b(that)g(setting)f Fs(BASH_XTRACEFD)c
-Ft(to)630 518 y(2)39 b(\(the)h(standard)e(error)g(\014le)h
+Ft(to)630 628 y(2)39 b(\(the)h(standard)e(error)g(\014le)h
(descriptor\))h(and)e(then)h(unsetting)g(it)g(will)g(result)g(in)g(the)
-630 628 y(standard)30 b(error)g(b)s(eing)f(closed.)150
-819 y Fs(COLUMNS)144 b Ft(Used)36 b(b)m(y)h(the)f Fs(select)f
-Ft(builtin)h(command)h(to)g(determine)f(the)h(terminal)g(width)f(when)
-630 929 y(prin)m(ting)30 b(selection)i(lists.)42 b(Automatically)33
-b(set)e(up)s(on)d(receipt)k(of)e(a)h Fs(SIGWINCH)p Ft(.)150
-1121 y Fs(COMP_CWORD)630 1230 y Ft(An)38 b(index)g(in)m(to)h
+630 737 y(standard)30 b(error)g(b)s(eing)f(closed.)150
+915 y Fs(COLUMNS)144 b Ft(Used)32 b(b)m(y)f(the)h Fs(select)e
+Ft(command)h(to)i(determine)f(the)f(terminal)i(width)d(when)h(prin)m
+(ting)630 1025 y(selection)h(lists.)41 b(Automatically)33
+b(set)e(up)s(on)e(receipt)i(of)g(a)g Fs(SIGWINCH)p Ft(.)150
+1203 y Fs(COMP_CWORD)630 1313 y Ft(An)38 b(index)g(in)m(to)h
Fs(${COMP_WORDS})c Ft(of)k(the)g(w)m(ord)f(con)m(taining)i(the)e
-(curren)m(t)g(cursor)g(p)s(o-)630 1340 y(sition.)72 b(This)40
+(curren)m(t)g(cursor)g(p)s(o-)630 1422 y(sition.)72 b(This)40
b(v)-5 b(ariable)41 b(is)f(a)m(v)-5 b(ailable)43 b(only)e(in)f(shell)h
(functions)f(in)m(v)m(ok)m(ed)i(b)m(y)e(the)h(pro-)630
-1450 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
-([Programmable)g(Completion],)630 1559 y(page)31 b(115\).)150
-1751 y Fs(COMP_LINE)630 1861 y Ft(The)38 b(curren)m(t)h(command)f
+1532 y(grammable)36 b(completion)g(facilities)i(\(see)e(Section)g(8.6)g
+([Programmable)g(Completion],)630 1641 y(page)31 b(117\).)150
+1819 y Fs(COMP_LINE)630 1929 y Ft(The)38 b(curren)m(t)h(command)f
(line.)66 b(This)37 b(v)-5 b(ariable)40 b(is)f(a)m(v)-5
-b(ailable)41 b(only)d(in)h(shell)f(functions)630 1970
+b(ailable)41 b(only)d(in)h(shell)f(functions)630 2039
y(and)25 b(external)h(commands)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)h
-(programmable)f(completion)i(facilities)g(\(see)630 2080
-y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(115\).)150
-2271 y Fs(COMP_POINT)630 2381 y Ft(The)25 b(index)g(of)h(the)g(curren)m
+(programmable)f(completion)i(facilities)g(\(see)630 2148
+y(Section)k(8.6)h([Programmable)f(Completion],)g(page)g(117\).)150
+2326 y Fs(COMP_POINT)630 2436 y Ft(The)25 b(index)g(of)h(the)g(curren)m
(t)f(cursor)g(p)s(osition)h(relativ)m(e)i(to)e(the)g(b)s(eginning)f(of)
-g(the)h(curren)m(t)630 2491 y(command.)40 b(If)27 b(the)h(curren)m(t)g
+g(the)h(curren)m(t)630 2545 y(command.)40 b(If)27 b(the)h(curren)m(t)g
(cursor)g(p)s(osition)g(is)g(at)g(the)g(end)g(of)g(the)g(curren)m(t)g
-(command,)630 2600 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5
+(command,)630 2655 y(the)i(v)-5 b(alue)30 b(of)g(this)g(v)-5
b(ariable)31 b(is)f(equal)g(to)h Fs(${#COMP_LINE})p Ft(.)37
b(This)29 b(v)-5 b(ariable)31 b(is)f(a)m(v)-5 b(ailable)630
-2710 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g
-(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 2819
+2765 y(only)36 b(in)f(shell)h(functions)f(and)g(external)h(commands)g
+(in)m(v)m(ok)m(ed)h(b)m(y)e(the)h(programmable)630 2874
y(completion)c(facilities)g(\(see)g(Section)f(8.6)g([Programmable)g
-(Completion],)h(page)f(115\).)150 3011 y Fs(COMP_TYPE)630
-3121 y Ft(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
+(Completion],)h(page)f(117\).)150 3052 y Fs(COMP_TYPE)630
+3162 y Ft(Set)c(to)h(an)f(in)m(teger)h(v)-5 b(alue)28
b(corresp)s(onding)e(to)h(the)h(t)m(yp)s(e)f(of)g(completion)h
-(attempted)g(that)630 3230 y(caused)e(a)g(completion)i(function)d(to)i
+(attempted)g(that)630 3271 y(caused)e(a)g(completion)i(function)d(to)i
(b)s(e)e(called:)40 b Fq(T)-8 b(AB)5 b Ft(,)27 b(for)f(normal)g
-(completion,)i(`)p Fs(?)p Ft(',)f(for)630 3340 y(listing)35
+(completion,)i(`)p Fs(?)p Ft(',)f(for)630 3381 y(listing)35
b(completions)h(after)f(successiv)m(e)g(tabs,)h(`)p Fs(!)p
Ft(',)g(for)e(listing)h(alternativ)m(es)i(on)d(partial)630
-3450 y(w)m(ord)22 b(completion,)k(`)p Fs(@)p Ft(',)f(to)e(list)g
+3491 y(w)m(ord)22 b(completion,)k(`)p Fs(@)p Ft(',)f(to)e(list)g
(completions)h(if)f(the)g(w)m(ord)f(is)h(not)g(unmo)s(di\014ed,)f(or)h
-(`)p Fs(\045)p Ft(',)h(for)630 3559 y(men)m(u)i(completion.)41
+(`)p Fs(\045)p Ft(',)h(for)630 3600 y(men)m(u)i(completion.)41
b(This)25 b(v)-5 b(ariable)27 b(is)g(a)m(v)-5 b(ailable)28
b(only)f(in)f(shell)g(functions)g(and)g(external)630
-3669 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
+3710 y(commands)32 b(in)m(v)m(ok)m(ed)i(b)m(y)e(the)g(programmable)h
(completion)g(facilities)i(\(see)e(Section)g(8.6)630
-3778 y([Programmable)e(Completion],)h(page)f(115\).)150
-3970 y Fs(COMP_KEY)96 b Ft(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
+3819 y([Programmable)e(Completion],)h(page)f(117\).)150
+3998 y Fs(COMP_KEY)96 b Ft(The)29 b(k)m(ey)i(\(or)g(\014nal)e(k)m(ey)i
(of)f(a)g(k)m(ey)h(sequence\))g(used)e(to)i(in)m(v)m(ok)m(e)h(the)e
-(curren)m(t)g(completion)630 4080 y(function.)150 4271
-y Fs(COMP_WORDBREAKS)630 4381 y Ft(The)f(set)i(of)e(c)m(haracters)j
+(curren)m(t)g(completion)630 4107 y(function.)150 4285
+y Fs(COMP_WORDBREAKS)630 4395 y Ft(The)f(set)i(of)e(c)m(haracters)j
(that)e(the)g(Readline)g(library)g(treats)g(as)g(w)m(ord)g(separators)g
-(when)630 4491 y(p)s(erforming)i(w)m(ord)h(completion.)51
+(when)630 4504 y(p)s(erforming)i(w)m(ord)h(completion.)51
b(If)33 b Fs(COMP_WORDBREAKS)c Ft(is)34 b(unset,)g(it)f(loses)i(its)e
-(sp)s(ecial)630 4600 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
+(sp)s(ecial)630 4614 y(prop)s(erties,)d(ev)m(en)h(if)f(it)h(is)g
(subsequen)m(tly)f(reset.)150 4792 y Fs(COMP_WORDS)630
4902 y Ft(An)36 b(arra)m(y)g(v)-5 b(ariable)37 b(consisting)g(of)f(the)
g(individual)f(w)m(ords)h(in)f(the)h(curren)m(t)g(command)630
@@ -9348,942 +9536,978 @@ h(Readline)h(w)m(ould)f(split)g(it,)53 b(using)47 b Fs(COMP_)630
b(This)36 b(v)-5 b(ariable)37 b(is)f(a)m(v)-5 b(ailable)39
b(only)e(in)f(shell)h(func-)630 5230 y(tions)32 b(in)m(v)m(ok)m(ed)i(b)
m(y)d(the)i(programmable)f(completion)h(facilities)h(\(see)f(Section)g
-(8.6)g([Pro-)630 5340 y(grammable)e(Completion],)g(page)g(115\).)p
+(8.6)g([Pro-)630 5340 y(grammable)e(Completion],)g(page)g(117\).)p
eop end
-%%Page: 65 71
-TeXDict begin 65 70 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(65)150 299 y Fs(COMPREPLY)630
+%%Page: 67 73
+TeXDict begin 67 72 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(67)150 299 y Fs(COMPREPLY)630
408 y Ft(An)37 b(arra)m(y)h(v)-5 b(ariable)38 b(from)f(whic)m(h)g(Bash)
g(reads)g(the)h(p)s(ossible)e(completions)j(generated)630
518 y(b)m(y)33 b(a)g(shell)h(function)f(in)m(v)m(ok)m(ed)h(b)m(y)f(the)
g(programmable)h(completion)g(facilit)m(y)h(\(see)f(Sec-)630
-628 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(115\).)150
-774 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28
+628 y(tion)d(8.6)g([Programmable)g(Completion],)h(page)f(117\).)150
+789 y Fs(COPROC)192 b Ft(An)27 b(arra)m(y)g(v)-5 b(ariable)28
+b(created)g(to)f(hold)g(the)g(\014le)g(descriptors)g(for)g(output)f
+(from)h(and)f(input)630 899 y(to)31 b(an)f(unnamed)f(copro)s(cess)i
+(\(see)g(Section)h(3.2.5)g([Copro)s(cesses],)f(page)g(14\).)150
+1061 y Fs(DIRSTACK)96 b Ft(An)26 b(arra)m(y)h(v)-5 b(ariable)28
b(con)m(taining)g(the)f(curren)m(t)f(con)m(ten)m(ts)j(of)e(the)f
-(directory)i(stac)m(k.)41 b(Direc-)630 883 y(tories)33
+(directory)i(stac)m(k.)41 b(Direc-)630 1170 y(tories)33
b(app)s(ear)f(in)g(the)h(stac)m(k)h(in)e(the)h(order)f(they)h(are)g
(displa)m(y)m(ed)g(b)m(y)f(the)h Fs(dirs)e Ft(builtin.)630
-993 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
+1280 y(Assigning)f(to)h(mem)m(b)s(ers)f(of)g(this)g(arra)m(y)g(v)-5
b(ariable)31 b(ma)m(y)g(b)s(e)e(used)h(to)h(mo)s(dify)e(directories)630
-1103 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
+1390 y(already)41 b(in)f(the)h(stac)m(k,)k(but)40 b(the)h
Fs(pushd)e Ft(and)h Fs(popd)f Ft(builtins)h(m)m(ust)h(b)s(e)e(used)h
-(to)i(add)630 1212 y(and)37 b(remo)m(v)m(e)h(directories.)63
+(to)i(add)630 1499 y(and)37 b(remo)m(v)m(e)h(directories.)63
b(Assignmen)m(t)37 b(to)h(this)f(v)-5 b(ariable)38 b(will)g(not)f(c)m
-(hange)i(the)e(cur-)630 1322 y(ren)m(t)c(directory)-8
+(hange)i(the)e(cur-)630 1609 y(ren)m(t)c(directory)-8
b(.)47 b(If)32 b Fs(DIRSTACK)e Ft(is)i(unset,)g(it)h(loses)g(its)g(sp)s
(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)630
-1431 y(subsequen)m(tly)d(reset.)150 1577 y Fs(EMACS)240
+1718 y(subsequen)m(tly)d(reset.)150 1880 y Fs(EMACS)240
b Ft(If)31 b(Bash)h(\014nds)d(this)j(v)-5 b(ariable)32
b(in)f(the)h(en)m(vironmen)m(t)g(when)e(the)i(shell)f(starts)h(with)f
-(v)-5 b(alue)630 1687 y(`)p Fs(t)p Ft(',)38 b(it)e(assumes)g(that)g
-(the)h(shell)f(is)g(running)e(in)i(an)g(emacs)g(shell)h(bu\013er)e(and)
-g(disables)630 1797 y(line)c(editing.)150 1943 y Fs(EUID)288
-b Ft(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d(id)g(of)g(the)h
-(curren)m(t)f(user.)40 b(This)30 b(v)-5 b(ariable)31
-b(is)f(readonly)-8 b(.)150 2089 y Fs(FCEDIT)192 b Ft(The)30
-b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f(`)p
+(v)-5 b(alue)630 1990 y(`)p Fs(t)p Ft(',)36 b(it)f(assumes)f(that)h
+(the)g(shell)f(is)h(running)e(in)h(an)g(Emacs)h(shell)g(bu\013er)e(and)
+h(disables)630 2099 y(line)d(editing.)150 2261 y Fs(ENV)336
+b Ft(Similar)35 b(to)g Fs(BASH_ENV)p Ft(;)h(used)e(when)g(the)h(shell)g
+(is)g(in)m(v)m(ok)m(ed)h(in)e Fl(posix)h Ft(Mo)s(de)g(\(see)g(Sec-)630
+2371 y(tion)c(6.11)h([Bash)f(POSIX)e(Mo)s(de],)i(page)g(86\).)150
+2532 y Fs(EUID)288 b Ft(The)30 b(n)m(umeric)g(e\013ectiv)m(e)j(user)d
+(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5
+b(ariable)31 b(is)f(readonly)-8 b(.)150 2694 y Fs(FCEDIT)192
+b Ft(The)30 b(editor)h(used)e(as)i(a)g(default)f(b)m(y)h(the)f(`)p
Fs(-e)p Ft(')g(option)h(to)g(the)g Fs(fc)f Ft(builtin)g(command.)150
-2235 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g
+2856 y Fs(FIGNORE)144 b Ft(A)35 b(colon-separated)i(list)f(of)g
(su\016xes)e(to)i(ignore)g(when)e(p)s(erforming)g(\014lename)i(comple-)
-630 2345 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes)
+630 2966 y(tion.)j(A)25 b(\014le)g(name)g(whose)f(su\016x)g(matc)m(hes)
i(one)f(of)g(the)g(en)m(tries)g(in)g Fs(FIGNORE)d Ft(is)j(excluded)630
-2454 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40
+3075 y(from)30 b(the)g(list)h(of)g(matc)m(hed)g(\014le)g(names.)40
b(A)31 b(sample)f(v)-5 b(alue)31 b(is)g(`)p Fs(.o:~)p
-Ft(')150 2600 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5
+Ft(')150 3237 y Fs(FUNCNAME)96 b Ft(An)35 b(arra)m(y)i(v)-5
b(ariable)36 b(con)m(taining)h(the)f(names)g(of)g(all)g(shell)g
-(functions)g(curren)m(tly)f(in)h(the)630 2710 y(execution)g(call)h
+(functions)g(curren)m(tly)f(in)h(the)630 3346 y(execution)g(call)h
(stac)m(k.)57 b(The)34 b(elemen)m(t)j(with)e(index)g(0)h(is)f(the)g
-(name)h(of)f(an)m(y)h(curren)m(tly-)630 2819 y(executing)i(shell)f
-(function.)61 b(The)36 b(b)s(ottom-most)i(elemen)m(t)h(is)e
-Fs("main")p Ft(.)59 b(This)36 b(v)-5 b(ariable)630 2929
-y(exists)33 b(only)g(when)f(a)h(shell)g(function)f(is)h(executing.)49
-b(Assignmen)m(ts)33 b(to)g Fs(FUNCNAME)e Ft(ha)m(v)m(e)630
-3039 y(no)36 b(e\013ect)h(and)e(return)f(an)i(error)f(status.)57
-b(If)36 b Fs(FUNCNAME)d Ft(is)j(unset,)h(it)f(loses)g(its)g(sp)s(ecial)
-630 3148 y(prop)s(erties,)30 b(ev)m(en)h(if)f(it)h(is)g(subsequen)m
-(tly)f(reset.)150 3294 y Fs(GLOBIGNORE)630 3404 y Ft(A)38
-b(colon-separated)i(list)f(of)f(patterns)g(de\014ning)f(the)h(set)g(of)
-h(\014lenames)f(to)g(b)s(e)g(ignored)630 3513 y(b)m(y)31
-b(\014lename)g(expansion.)43 b(If)31 b(a)h(\014lename)f(matc)m(hed)h(b)
-m(y)f(a)g(\014lename)h(expansion)f(pattern)630 3623 y(also)i(matc)m
-(hes)g(one)f(of)g(the)g(patterns)g(in)f Fs(GLOBIGNORE)p
-Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)e(the)h(list)h(of)630
-3733 y(matc)m(hes.)150 3879 y Fs(GROUPS)192 b Ft(An)36
+(name)h(of)f(an)m(y)h(curren)m(tly-)630 3456 y(executing)f(shell)f
+(function.)51 b(The)34 b(b)s(ottom-most)h(elemen)m(t)g(\(the)g(one)f
+(with)g(the)g(highest)630 3566 y(index\))e(is)h Fs("main")p
+Ft(.)44 b(This)32 b(v)-5 b(ariable)33 b(exists)g(only)g(when)e(a)i
+(shell)f(function)g(is)g(executing.)630 3675 y(Assignmen)m(ts)23
+b(to)h Fs(FUNCNAME)c Ft(ha)m(v)m(e)k(no)f(e\013ect)h(and)e(return)g(an)
+g(error)g(status.)39 b(If)22 b Fs(FUNCNAME)630 3785 y
+Ft(is)30 b(unset,)h(it)g(loses)g(its)f(sp)s(ecial)h(prop)s(erties,)f
+(ev)m(en)h(if)g(it)g(is)f(subsequen)m(tly)g(reset.)630
+3921 y(This)h(v)-5 b(ariable)32 b(can)f(b)s(e)g(used)g(with)g
+Fs(BASH_LINENO)d Ft(and)j Fs(BASH_SOURCE)p Ft(.)40 b(Eac)m(h)32
+b(elemen)m(t)630 4030 y(of)g Fs(FUNCNAME)d Ft(has)j(corresp)s(onding)e
+(elemen)m(ts)j(in)f Fs(BASH_LINENO)c Ft(and)k Fs(BASH_SOURCE)c
+Ft(to)630 4140 y(describ)s(e)39 b(the)h(call)h(stac)m(k.)70
+b(F)-8 b(or)41 b(instance,)i Fs(${FUNCNAME[$i]})35 b
+Ft(w)m(as)41 b(called)f(from)g(the)630 4249 y(\014le)27
+b Fs(${BASH_SOURCE[$i+1]})21 b Ft(at)27 b(line)h(n)m(um)m(b)s(er)d
+Fs(${BASH_LINENO[$i]})p Ft(.)34 b(The)27 b Fs(caller)630
+4359 y Ft(builtin)j(displa)m(ys)g(the)h(curren)m(t)f(call)i(stac)m(k)g
+(using)d(this)i(information.)150 4521 y Fs(FUNCNEST)96
+b Ft(If)34 b(set)i(to)f(a)h(n)m(umeric)e(v)-5 b(alue)36
+b(greater)g(than)e(0,)j(de\014nes)d(a)h(maxim)m(um)g(function)g
+(nesting)630 4630 y(lev)m(el.)42 b(F)-8 b(unction)29
+b(in)m(v)m(o)s(cations)h(that)f(exceed)h(this)e(nesting)h(lev)m(el)h
+(will)f(cause)g(the)f(curren)m(t)630 4740 y(command)i(to)h(ab)s(ort.)
+150 4902 y Fs(GLOBIGNORE)630 5011 y Ft(A)38 b(colon-separated)i(list)f
+(of)f(patterns)g(de\014ning)f(the)h(set)g(of)h(\014lenames)f(to)g(b)s
+(e)g(ignored)630 5121 y(b)m(y)31 b(\014lename)g(expansion.)43
+b(If)31 b(a)h(\014lename)f(matc)m(hed)h(b)m(y)f(a)g(\014lename)h
+(expansion)f(pattern)630 5230 y(also)i(matc)m(hes)g(one)f(of)g(the)g
+(patterns)g(in)f Fs(GLOBIGNORE)p Ft(,)f(it)i(is)g(remo)m(v)m(ed)h(from)
+e(the)h(list)h(of)630 5340 y(matc)m(hes.)p eop end
+%%Page: 68 74
+TeXDict begin 68 73 bop 150 -116 a Ft(68)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(GROUPS)192 b Ft(An)36
b(arra)m(y)g(v)-5 b(ariable)37 b(con)m(taining)g(the)f(list)h(of)f
(groups)g(of)g(whic)m(h)f(the)i(curren)m(t)e(user)h(is)g(a)630
-3988 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e
+408 y(mem)m(b)s(er.)47 b(Assignmen)m(ts)33 b(to)g Fs(GROUPS)e
Ft(ha)m(v)m(e)j(no)f(e\013ect)h(and)e(return)g(an)g(error)g(status.)48
-b(If)630 4098 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s
+b(If)630 518 y Fs(GROUPS)29 b Ft(is)h(unset,)g(it)h(loses)g(its)g(sp)s
(ecial)g(prop)s(erties,)f(ev)m(en)h(if)f(it)h(is)g(subsequen)m(tly)f
-(reset.)150 4244 y Fs(histchars)630 4354 y Ft(Up)c(to)g(three)g(c)m
+(reset.)150 682 y Fs(histchars)630 792 y Ft(Up)c(to)g(three)g(c)m
(haracters)i(whic)m(h)d(con)m(trol)j(history)d(expansion,)i(quic)m(k)g
-(substitution,)g(and)630 4463 y(tok)m(enization)k(\(see)f(Section)f
-(9.3)h([History)f(In)m(teraction],)i(page)f(123\).)41
-b(The)29 b(\014rst)e(c)m(harac-)630 4573 y(ter)j(is)f(the)g
-Fq(history)g(expansion)g Ft(c)m(haracter,)j(that)e(is,)f(the)h(c)m
-(haracter)h(whic)m(h)d(signi\014es)i(the)630 4682 y(start)25
-b(of)f(a)h(history)f(expansion,)i(normally)e(`)p Fs(!)p
-Ft('.)39 b(The)24 b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)630
-4792 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f
+(substitution,)g(and)630 902 y(tok)m(enization)k(\(see)f(Section)f(9.3)
+h([History)f(In)m(teraction],)i(page)f(127\).)41 b(The)29
+b(\014rst)e(c)m(harac-)630 1011 y(ter)j(is)f(the)g Fq(history)g
+(expansion)g Ft(c)m(haracter,)j(that)e(is,)f(the)h(c)m(haracter)h(whic)
+m(h)d(signi\014es)i(the)630 1121 y(start)25 b(of)f(a)h(history)f
+(expansion,)i(normally)e(`)p Fs(!)p Ft('.)39 b(The)24
+b(second)g(c)m(haracter)i(is)e(the)g(c)m(haracter)630
+1230 y(whic)m(h)36 b(signi\014es)g(`quic)m(k)h(substitution')f(when)f
(seen)h(as)g(the)g(\014rst)f(c)m(haracter)j(on)e(a)g(line,)630
-4902 y(normally)27 b(`)p Fs(^)p Ft('.)39 b(The)26 b(optional)i(third)d
+1340 y(normally)27 b(`)p Fs(^)p Ft('.)39 b(The)26 b(optional)i(third)d
(c)m(haracter)j(is)e(the)h(c)m(haracter)h(whic)m(h)e(indicates)h(that)
-630 5011 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
+630 1450 y(the)34 b(remainder)f(of)h(the)g(line)g(is)f(a)h(commen)m(t)h
(when)e(found)f(as)i(the)g(\014rst)f(c)m(haracter)i(of)f(a)630
-5121 y(w)m(ord,)i(usually)f(`)p Fs(#)p Ft('.)55 b(The)34
+1559 y(w)m(ord,)i(usually)f(`)p Fs(#)p Ft('.)55 b(The)34
b(history)h(commen)m(t)h(c)m(haracter)h(causes)e(history)g
-(substitution)630 5230 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
+(substitution)630 1669 y(to)27 b(b)s(e)f(skipp)s(ed)f(for)i(the)f
(remaining)h(w)m(ords)f(on)h(the)f(line.)40 b(It)27 b(do)s(es)f(not)h
-(necessarily)g(cause)630 5340 y(the)k(shell)f(parser)g(to)h(treat)g
-(the)g(rest)g(of)f(the)h(line)f(as)h(a)g(commen)m(t.)p
-eop end
-%%Page: 66 72
-TeXDict begin 66 71 bop 150 -116 a Ft(66)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(HISTCMD)144 b Ft(The)35
-b(history)h(n)m(um)m(b)s(er,)g(or)f(index)g(in)h(the)g(history)f(list,)
-j(of)e(the)g(curren)m(t)f(command.)56 b(If)630 408 y
-Fs(HISTCMD)28 b Ft(is)h(unset,)h(it)g(loses)h(its)f(sp)s(ecial)g(prop)s
-(erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m(tly)f(reset.)150
-552 y Fs(HISTCONTROL)630 661 y Ft(A)40 b(colon-separated)i(list)f(of)f
-(v)-5 b(alues)40 b(con)m(trolling)i(ho)m(w)e(commands)g(are)h(sa)m(v)m
-(ed)g(on)f(the)630 771 y(history)29 b(list.)41 b(If)28
-b(the)h(list)h(of)f(v)-5 b(alues)29 b(includes)f(`)p
-Fs(ignorespace)p Ft(',)f(lines)i(whic)m(h)g(b)s(egin)f(with)630
-881 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g(sa)m(v)m(ed)g(in)g(the)
-g(history)f(list.)66 b(A)39 b(v)-5 b(alue)39 b(of)g(`)p
-Fs(ignoredups)p Ft(')630 990 y(causes)34 b(lines)h(whic)m(h)f(matc)m(h)
-h(the)f(previous)f(history)h(en)m(try)h(to)g(not)f(b)s(e)f(sa)m(v)m
-(ed.)53 b(A)34 b(v)-5 b(alue)630 1100 y(of)32 b(`)p Fs(ignoreboth)p
-Ft(')d(is)j(shorthand)e(for)i(`)p Fs(ignorespace)p Ft(')d(and)i(`)p
-Fs(ignoredups)p Ft('.)42 b(A)32 b(v)-5 b(alue)32 b(of)630
-1209 y(`)p Fs(erasedups)p Ft(')f(causes)i(all)h(previous)f(lines)g
-(matc)m(hing)h(the)f(curren)m(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630
-1319 y(from)42 b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g
-(sa)m(v)m(ed.)78 b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s
-(o)m(v)m(e)630 1428 y(list)35 b(is)g(ignored.)53 b(If)34
-b Fs(HISTCONTROL)e Ft(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h
-(v)-5 b(alid)35 b(v)-5 b(alue,)36 b(all)630 1538 y(lines)30
+(necessarily)g(cause)630 1778 y(the)k(shell)f(parser)g(to)h(treat)g
+(the)g(rest)g(of)f(the)h(line)f(as)h(a)g(commen)m(t.)150
+1943 y Fs(HISTCMD)144 b Ft(The)35 b(history)h(n)m(um)m(b)s(er,)g(or)f
+(index)g(in)h(the)g(history)f(list,)j(of)e(the)g(curren)m(t)f(command.)
+56 b(If)630 2052 y Fs(HISTCMD)28 b Ft(is)h(unset,)h(it)g(loses)h(its)f
+(sp)s(ecial)g(prop)s(erties,)g(ev)m(en)g(if)g(it)g(is)g(subsequen)m
+(tly)f(reset.)150 2217 y Fs(HISTCONTROL)630 2326 y Ft(A)40
+b(colon-separated)i(list)f(of)f(v)-5 b(alues)40 b(con)m(trolling)i(ho)m
+(w)e(commands)g(are)h(sa)m(v)m(ed)g(on)f(the)630 2436
+y(history)29 b(list.)41 b(If)28 b(the)h(list)h(of)f(v)-5
+b(alues)29 b(includes)f(`)p Fs(ignorespace)p Ft(',)f(lines)i(whic)m(h)g
+(b)s(egin)f(with)630 2545 y(a)39 b(space)g(c)m(haracter)i(are)e(not)g
+(sa)m(v)m(ed)g(in)g(the)g(history)f(list.)66 b(A)39 b(v)-5
+b(alue)39 b(of)g(`)p Fs(ignoredups)p Ft(')630 2655 y(causes)34
+b(lines)h(whic)m(h)f(matc)m(h)h(the)f(previous)f(history)h(en)m(try)h
+(to)g(not)f(b)s(e)f(sa)m(v)m(ed.)53 b(A)34 b(v)-5 b(alue)630
+2765 y(of)32 b(`)p Fs(ignoreboth)p Ft(')d(is)j(shorthand)e(for)i(`)p
+Fs(ignorespace)p Ft(')d(and)i(`)p Fs(ignoredups)p Ft('.)42
+b(A)32 b(v)-5 b(alue)32 b(of)630 2874 y(`)p Fs(erasedups)p
+Ft(')f(causes)i(all)h(previous)f(lines)g(matc)m(hing)h(the)f(curren)m
+(t)g(line)g(to)h(b)s(e)e(remo)m(v)m(ed)630 2984 y(from)42
+b(the)h(history)f(list)i(b)s(efore)e(that)h(line)g(is)g(sa)m(v)m(ed.)78
+b(An)m(y)43 b(v)-5 b(alue)43 b(not)g(in)f(the)h(ab)s(o)m(v)m(e)630
+3093 y(list)35 b(is)g(ignored.)53 b(If)34 b Fs(HISTCONTROL)e
+Ft(is)i(unset,)i(or)e(do)s(es)h(not)g(include)f(a)h(v)-5
+b(alid)35 b(v)-5 b(alue,)36 b(all)630 3203 y(lines)30
b(read)g(b)m(y)g(the)g(shell)g(parser)g(are)g(sa)m(v)m(ed)h(on)f(the)g
(history)g(list,)h(sub)5 b(ject)30 b(to)g(the)g(v)-5
-b(alue)630 1648 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42
+b(alue)630 3313 y(of)42 b Fs(HISTIGNORE)p Ft(.)73 b(The)42
b(second)g(and)g(subsequen)m(t)f(lines)h(of)h(a)f(m)m(ulti-line)h(comp)
-s(ound)630 1757 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added)
+s(ound)630 3422 y(command)33 b(are)h(not)g(tested,)i(and)d(are)h(added)
f(to)h(the)g(history)g(regardless)g(of)g(the)f(v)-5 b(alue)630
-1867 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 2010 y Fs(HISTFILE)96
+3532 y(of)31 b Fs(HISTCONTROL)p Ft(.)150 3696 y Fs(HISTFILE)96
b Ft(The)27 b(name)h(of)g(the)g(\014le)g(to)h(whic)m(h)f(the)g(command)
f(history)h(is)g(sa)m(v)m(ed.)41 b(The)27 b(default)h(v)-5
-b(alue)630 2120 y(is)30 b(`)p Fs(~/.bash_history)p Ft('.)150
-2263 y Fs(HISTFILESIZE)630 2373 y Ft(The)c(maxim)m(um)f(n)m(um)m(b)s
+b(alue)630 3806 y(is)30 b(`)p Fs(~/.bash_history)p Ft('.)150
+3970 y Fs(HISTFILESIZE)630 4080 y Ft(The)c(maxim)m(um)f(n)m(um)m(b)s
(er)g(of)h(lines)h(con)m(tained)g(in)f(the)g(history)g(\014le.)39
-b(When)26 b(this)g(v)-5 b(ariable)630 2482 y(is)33 b(assigned)h(a)g(v)
+b(When)26 b(this)g(v)-5 b(ariable)630 4189 y(is)33 b(assigned)h(a)g(v)
-5 b(alue,)35 b(the)f(history)f(\014le)g(is)h(truncated,)g(if)g
(necessary)-8 b(,)35 b(b)m(y)e(remo)m(ving)i(the)630
-2592 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f
+4299 y(oldest)29 b(en)m(tries,)g(to)g(con)m(tain)g(no)f(more)g(than)f
(that)i(n)m(um)m(b)s(er)e(of)h(lines.)40 b(The)27 b(history)h(\014le)g
-(is)630 2701 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g
+(is)630 4408 y(also)33 b(truncated)e(to)h(this)g(size)g(after)g
(writing)g(it)g(when)f(an)g(in)m(teractiv)m(e)k(shell)c(exits.)45
-b(The)630 2811 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
-2954 y Fs(HISTIGNORE)630 3064 y Ft(A)i(colon-separated)h(list)f(of)g
+b(The)630 4518 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
+4682 y Fs(HISTIGNORE)630 4792 y Ft(A)i(colon-separated)h(list)f(of)g
(patterns)f(used)g(to)h(decide)g(whic)m(h)f(command)g(lines)h(should)
-630 3173 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47
+630 4902 y(b)s(e)f(sa)m(v)m(ed)h(on)g(the)f(history)h(list.)47
b(Eac)m(h)33 b(pattern)g(is)f(anc)m(hored)h(at)g(the)f(b)s(eginning)g
-(of)h(the)630 3283 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g
+(of)h(the)630 5011 y(line)43 b(and)e(m)m(ust)h(matc)m(h)h(the)g
(complete)h(line)e(\(no)h(implicit)g(`)p Fs(*)p Ft(')f(is)g(app)s
-(ended\).)75 b(Eac)m(h)630 3393 y(pattern)42 b(is)g(tested)g(against)h
+(ended\).)75 b(Eac)m(h)630 5121 y(pattern)42 b(is)g(tested)g(against)h
(the)f(line)g(after)g(the)g(c)m(hec)m(ks)h(sp)s(eci\014ed)e(b)m(y)h
-Fs(HISTCONTROL)630 3502 y Ft(are)37 b(applied.)59 b(In)36
+Fs(HISTCONTROL)630 5230 y Ft(are)37 b(applied.)59 b(In)36
b(addition)h(to)g(the)g(normal)g(shell)f(pattern)h(matc)m(hing)h(c)m
-(haracters,)i(`)p Fs(&)p Ft(')630 3612 y(matc)m(hes)d(the)f(previous)g
+(haracters,)i(`)p Fs(&)p Ft(')630 5340 y(matc)m(hes)d(the)f(previous)g
(history)g(line.)57 b(`)p Fs(&)p Ft(')36 b(ma)m(y)h(b)s(e)e(escap)s(ed)
-h(using)g(a)g(bac)m(kslash;)k(the)630 3721 y(bac)m(kslash)34
+h(using)g(a)g(bac)m(kslash;)k(the)p eop end
+%%Page: 69 75
+TeXDict begin 69 74 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(69)630 299 y(bac)m(kslash)34
b(is)g(remo)m(v)m(ed)h(b)s(efore)e(attempting)i(a)g(matc)m(h.)51
-b(The)34 b(second)f(and)h(subsequen)m(t)630 3831 y(lines)e(of)h(a)g(m)m
+b(The)34 b(second)f(and)h(subsequen)m(t)630 408 y(lines)e(of)h(a)g(m)m
(ulti-line)g(comp)s(ound)e(command)h(are)h(not)f(tested,)i(and)e(are)g
-(added)g(to)h(the)630 3941 y(history)d(regardless)h(of)g(the)f(v)-5
-b(alue)31 b(of)g Fs(HISTIGNORE)p Ft(.)630 4067 y Fs(HISTIGNORE)20
+(added)g(to)h(the)630 518 y(history)d(regardless)h(of)g(the)f(v)-5
+b(alue)31 b(of)g Fs(HISTIGNORE)p Ft(.)630 649 y Fs(HISTIGNORE)20
b Ft(subsumes)g(the)j(function)f(of)h Fs(HISTCONTROL)p
Ft(.)35 b(A)23 b(pattern)f(of)h(`)p Fs(&)p Ft(')g(is)f(iden)m(tical)630
-4177 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p
+758 y(to)k Fs(ignoredups)p Ft(,)e(and)h(a)h(pattern)g(of)f(`)p
Fs([)31 b(]*)p Ft(')25 b(is)h(iden)m(tical)h(to)f Fs(ignorespace)p
-Ft(.)36 b(Com)m(bining)630 4286 y(these)30 b(t)m(w)m(o)h(patterns,)f
+Ft(.)36 b(Com)m(bining)630 868 y(these)30 b(t)m(w)m(o)h(patterns,)f
(separating)g(them)g(with)f(a)h(colon,)h(pro)m(vides)e(the)h
-(functionalit)m(y)h(of)630 4396 y Fs(ignoreboth)p Ft(.)150
-4539 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
+(functionalit)m(y)h(of)630 977 y Fs(ignoreboth)p Ft(.)150
+1129 y Fs(HISTSIZE)96 b Ft(The)42 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(commands)e(to)j(remem)m(b)s(er)d(on)h(the)h(history)f(list.)77
-b(The)630 4649 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
-4792 y Fs(HISTTIMEFORMAT)630 4902 y Ft(If)44 b(this)g(v)-5
+b(The)630 1238 y(default)31 b(v)-5 b(alue)30 b(is)h(500.)150
+1390 y Fs(HISTTIMEFORMAT)630 1499 y Ft(If)44 b(this)g(v)-5
b(ariable)45 b(is)f(set)g(and)g(not)g(n)m(ull,)k(its)d(v)-5
b(alue)44 b(is)g(used)g(as)g(a)h(format)f(string)g(for)630
-5011 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f(asso)s
+1609 y Fq(strftime)c Ft(to)35 b(prin)m(t)f(the)h(time)g(stamp)f(asso)s
(ciated)i(with)f(eac)m(h)g(history)g(en)m(try)f(displa)m(y)m(ed)630
-5121 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33
+1718 y(b)m(y)g(the)f Fs(history)f Ft(builtin.)50 b(If)33
b(this)h(v)-5 b(ariable)34 b(is)g(set,)h(time)f(stamps)g(are)g(written)
-f(to)i(the)630 5230 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e)
+f(to)i(the)630 1828 y(history)26 b(\014le)g(so)g(they)g(ma)m(y)h(b)s(e)
e(preserv)m(ed)g(across)i(shell)f(sessions.)39 b(This)25
-b(uses)h(the)g(history)630 5340 y(commen)m(t)31 b(c)m(haracter)h(to)f
-(distinguish)f(timestamps)h(from)f(other)g(history)h(lines.)p
-eop end
-%%Page: 67 73
-TeXDict begin 67 72 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(67)150 299 y Fs(HOSTFILE)96
-b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g(\014le)f(in)g(the)g(same)h
-(format)g(as)f(`)p Fs(/etc/hosts)p Ft(')e(that)j(should)630
-408 y(b)s(e)i(read)h(when)f(the)i(shell)f(needs)f(to)i(complete)h(a)e
-(hostname.)76 b(The)42 b(list)g(of)g(p)s(ossible)630
-518 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m(hanged)j(while)e
-(the)h(shell)g(is)f(running;)h(the)g(next)f(time)630
-628 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5
+b(uses)h(the)g(history)630 1937 y(commen)m(t)31 b(c)m(haracter)h(to)f
+(distinguish)f(timestamps)h(from)f(other)g(history)h(lines.)150
+2089 y Fs(HOSTFILE)96 b Ft(Con)m(tains)39 b(the)f(name)g(of)h(a)g
+(\014le)f(in)g(the)g(same)h(format)g(as)f(`)p Fs(/etc/hosts)p
+Ft(')e(that)j(should)630 2198 y(b)s(e)i(read)h(when)f(the)i(shell)f
+(needs)f(to)i(complete)h(a)e(hostname.)76 b(The)42 b(list)g(of)g(p)s
+(ossible)630 2308 y(hostname)26 b(completions)g(ma)m(y)h(b)s(e)d(c)m
+(hanged)j(while)e(the)h(shell)g(is)f(running;)h(the)g(next)f(time)630
+2418 y(hostname)37 b(completion)i(is)e(attempted)h(after)g(the)f(v)-5
b(alue)37 b(is)h(c)m(hanged,)h(Bash)e(adds)g(the)630
-737 y(con)m(ten)m(ts)43 b(of)f(the)f(new)g(\014le)h(to)g(the)f
+2527 y(con)m(ten)m(ts)43 b(of)f(the)f(new)g(\014le)h(to)g(the)f
(existing)i(list.)74 b(If)41 b Fs(HOSTFILE)e Ft(is)i(set,)k(but)c(has)g
-(no)630 847 y(v)-5 b(alue,)29 b(or)e(do)s(es)h(not)g(name)f(a)h
+(no)630 2637 y(v)-5 b(alue,)29 b(or)e(do)s(es)h(not)g(name)f(a)h
(readable)g(\014le,)h(Bash)f(attempts)g(to)g(read)g(`)p
-Fs(/etc/hosts)p Ft(')d(to)630 956 y(obtain)j(the)g(list)h(of)f(p)s
+Fs(/etc/hosts)p Ft(')d(to)630 2746 y(obtain)j(the)g(list)h(of)f(p)s
(ossible)f(hostname)h(completions.)41 b(When)28 b Fs(HOSTFILE)e
-Ft(is)i(unset,)g(the)630 1066 y(hostname)j(list)g(is)f(cleared.)150
-1226 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h
-(host.)150 1386 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the)
-g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 1547 y Fs(IGNOREEOF)630
-1656 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
+Ft(is)i(unset,)g(the)630 2856 y(hostname)j(list)g(is)f(cleared.)150
+3007 y Fs(HOSTNAME)96 b Ft(The)30 b(name)g(of)h(the)f(curren)m(t)h
+(host.)150 3159 y Fs(HOSTTYPE)96 b Ft(A)30 b(string)h(describing)f(the)
+g(mac)m(hine)h(Bash)g(is)f(running)f(on.)150 3310 y Fs(IGNOREEOF)630
+3420 y Ft(Con)m(trols)e(the)h(action)g(of)f(the)g(shell)g(on)g(receipt)
h(of)f(an)g Fs(EOF)f Ft(c)m(haracter)i(as)g(the)f(sole)h(input.)630
-1766 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s
+3529 y(If)i(set,)i(the)f(v)-5 b(alue)32 b(denotes)f(the)g(n)m(um)m(b)s
(er)f(of)h(consecutiv)m(e)i Fs(EOF)d Ft(c)m(haracters)i(that)f(can)h(b)
-s(e)630 1875 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f
+s(e)630 3639 y(read)40 b(as)f(the)h(\014rst)f(c)m(haracter)i(on)f(an)f
(input)g(line)h(b)s(efore)f(the)h(shell)g(will)g(exit.)70
-b(If)39 b(the)630 1985 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g
+b(If)39 b(the)630 3748 y(v)-5 b(ariable)38 b(exists)f(but)f(do)s(es)g
(not)h(ha)m(v)m(e)h(a)g(n)m(umeric)e(v)-5 b(alue)37 b(\(or)h(has)e(no)h
-(v)-5 b(alue\))37 b(then)g(the)630 2094 y(default)31
+(v)-5 b(alue\))37 b(then)g(the)630 3858 y(default)31
b(is)g(10.)43 b(If)30 b(the)h(v)-5 b(ariable)31 b(do)s(es)g(not)g
(exist,)h(then)e Fs(EOF)g Ft(signi\014es)h(the)g(end)f(of)h(input)630
-2204 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i
-(for)e(in)m(teractiv)m(e)j(shells.)150 2364 y Fs(INPUTRC)144
+3968 y(to)g(the)g(shell.)41 b(This)29 b(is)i(only)f(in)g(e\013ect)i
+(for)e(in)m(teractiv)m(e)j(shells.)150 4119 y Fs(INPUTRC)144
b Ft(The)68 b(name)h(of)f(the)h(Readline)g(initialization)j(\014le,)78
-b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 2474 y(`)p
-Fs(~/.inputrc)p Ft('.)150 2634 y Fs(LANG)288 b Ft(Used)28
+b(o)m(v)m(erriding)69 b(the)g(default)g(of)630 4228 y(`)p
+Fs(~/.inputrc)p Ft('.)150 4380 y Fs(LANG)288 b Ft(Used)28
b(to)h(determine)f(the)g(lo)s(cale)h(category)h(for)e(an)m(y)h
-(category)h(not)e(sp)s(eci\014cally)g(selected)630 2744
+(category)h(not)e(sp)s(eci\014cally)g(selected)630 4489
y(with)i(a)h(v)-5 b(ariable)31 b(starting)g(with)f Fs(LC_)p
-Ft(.)150 2904 y Fs(LC_ALL)192 b Ft(This)28 b(v)-5 b(ariable)29
+Ft(.)150 4641 y Fs(LC_ALL)192 b Ft(This)28 b(v)-5 b(ariable)29
b(o)m(v)m(errides)h(the)f(v)-5 b(alue)29 b(of)g Fs(LANG)f
Ft(and)g(an)m(y)h(other)g Fs(LC_)f Ft(v)-5 b(ariable)29
-b(sp)s(ecifying)630 3013 y(a)i(lo)s(cale)h(category)-8
-b(.)150 3173 y Fs(LC_COLLATE)630 3283 y Ft(This)37 b(v)-5
+b(sp)s(ecifying)630 4750 y(a)i(lo)s(cale)h(category)-8
+b(.)150 4902 y Fs(LC_COLLATE)630 5011 y Ft(This)37 b(v)-5
b(ariable)38 b(determines)g(the)g(collation)i(order)d(used)g(when)f
-(sorting)i(the)g(results)g(of)630 3393 y(\014lename)e(expansion,)i(and)
+(sorting)i(the)g(results)g(of)630 5121 y(\014lename)e(expansion,)i(and)
e(determines)g(the)h(b)s(eha)m(vior)f(of)g(range)h(expressions,)h
-(equiv-)630 3502 y(alence)e(classes,)h(and)e(collating)i(sequences)e
+(equiv-)630 5230 y(alence)e(classes,)h(and)e(collating)i(sequences)e
(within)f(\014lename)h(expansion)g(and)f(pattern)630
-3612 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
-e(page)h(24\).)150 3772 y Fs(LC_CTYPE)96 b Ft(This)36
+5340 y(matc)m(hing)d(\(see)h(Section)f(3.5.8)h([Filename)g(Expansion],)
+e(page)h(25\).)p eop end
+%%Page: 70 76
+TeXDict begin 70 75 bop 150 -116 a Ft(70)2572 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(LC_CTYPE)96 b Ft(This)36
b(v)-5 b(ariable)37 b(determines)f(the)h(in)m(terpretation)h(of)f(c)m
-(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 3882
+(haracters)h(and)e(the)g(b)s(eha)m(vior)h(of)630 408
y(c)m(haracter)46 b(classes)g(within)e(\014lename)h(expansion)g(and)f
-(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 3991 y(tion)31
-b(3.5.8)h([Filename)g(Expansion],)e(page)h(24\).)150
-4151 y Fs(LC_MESSAGES)630 4261 y Ft(This)25 b(v)-5 b(ariable)27
+(pattern)h(matc)m(hing)h(\(see)f(Sec-)630 518 y(tion)31
+b(3.5.8)h([Filename)g(Expansion],)e(page)h(25\).)150
+679 y Fs(LC_MESSAGES)630 788 y Ft(This)25 b(v)-5 b(ariable)27
b(determines)f(the)g(lo)s(cale)i(used)d(to)i(translate)g(double-quoted)
-f(strings)g(pre-)630 4371 y(ceded)31 b(b)m(y)f(a)h(`)p
+f(strings)g(pre-)630 898 y(ceded)31 b(b)m(y)f(a)h(`)p
Fs($)p Ft(')f(\(see)h(Section)h(3.1.2.5)g([Lo)s(cale)g(T)-8
-b(ranslation],)32 b(page)f(7\).)150 4531 y Fs(LC_NUMERIC)630
-4640 y Ft(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
+b(ranslation],)32 b(page)f(7\).)150 1059 y Fs(LC_NUMERIC)630
+1168 y Ft(This)f(v)-5 b(ariable)31 b(determines)f(the)h(lo)s(cale)h
(category)g(used)e(for)g(n)m(um)m(b)s(er)f(formatting.)150
-4800 y Fs(LINENO)192 b Ft(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g
+1329 y Fs(LINENO)192 b Ft(The)30 b(line)h(n)m(um)m(b)s(er)e(in)h(the)g
(script)h(or)f(shell)g(function)h(curren)m(tly)f(executing.)150
-4961 y Fs(LINES)240 b Ft(Used)25 b(b)m(y)g(the)g Fs(select)e
-Ft(builtin)i(command)g(to)h(determine)f(the)g(column)g(length)g(for)g
-(prin)m(t-)630 5070 y(ing)31 b(selection)h(lists.)41
-b(Automatically)33 b(set)e(up)s(on)e(receipt)i(of)f(a)h
-Fs(SIGWINCH)p Ft(.)150 5230 y Fs(MACHTYPE)96 b Ft(A)26
-b(string)g(that)h(fully)f(describ)s(es)f(the)h(system)g(t)m(yp)s(e)h
-(on)f(whic)m(h)f(Bash)i(is)f(executing,)i(in)e(the)630
-5340 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h
-Ft(format.)p eop end
-%%Page: 68 74
-TeXDict begin 68 73 bop 150 -116 a Ft(68)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(MAILCHECK)630 408
-y Ft(Ho)m(w)d(often)g(\(in)g(seconds\))g(that)g(the)f(shell)h(should)f
-(c)m(hec)m(k)i(for)e(mail)h(in)f(the)h(\014les)g(sp)s(eci\014ed)630
-518 y(in)i(the)h Fs(MAILPATH)e Ft(or)i Fs(MAIL)e Ft(v)-5
-b(ariables.)43 b(The)30 b(default)h(is)f(60)i(seconds.)42
-b(When)30 b(it)h(is)g(time)630 628 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)
-j(the)e(shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f
-(primary)g(prompt.)57 b(If)630 737 y(this)37 b(v)-5 b(ariable)38
+1490 y Fs(LINES)240 b Ft(Used)43 b(b)m(y)g(the)g Fs(select)e
+Ft(command)i(to)g(determine)g(the)g(column)g(length)g(for)g(prin)m
+(ting)630 1599 y(selection)32 b(lists.)41 b(Automatically)33
+b(set)e(up)s(on)e(receipt)i(of)g(a)g Fs(SIGWINCH)p Ft(.)150
+1760 y Fs(MACHTYPE)96 b Ft(A)26 b(string)g(that)h(fully)f(describ)s(es)
+f(the)h(system)g(t)m(yp)s(e)h(on)f(whic)m(h)f(Bash)i(is)f(executing,)i
+(in)e(the)630 1870 y(standard)k Fl(gnu)g Fq(cpu-compan)m(y-system)h
+Ft(format.)150 2030 y Fs(MAILCHECK)630 2140 y Ft(Ho)m(w)d(often)g(\(in)
+g(seconds\))g(that)g(the)f(shell)h(should)f(c)m(hec)m(k)i(for)e(mail)h
+(in)f(the)h(\014les)g(sp)s(eci\014ed)630 2250 y(in)i(the)h
+Fs(MAILPATH)e Ft(or)i Fs(MAIL)e Ft(v)-5 b(ariables.)43
+b(The)30 b(default)h(is)f(60)i(seconds.)42 b(When)30
+b(it)h(is)g(time)630 2359 y(to)37 b(c)m(hec)m(k)h(for)e(mail,)j(the)e
+(shell)f(do)s(es)g(so)h(b)s(efore)f(displa)m(ying)h(the)f(primary)g
+(prompt.)57 b(If)630 2469 y(this)37 b(v)-5 b(ariable)38
b(is)f(unset,)h(or)f(set)h(to)g(a)f(v)-5 b(alue)38 b(that)f(is)g(not)h
-(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 847 y(equal)31
+(a)f(n)m(um)m(b)s(er)f(greater)i(than)f(or)630 2578 y(equal)31
b(to)g(zero,)g(the)g(shell)g(disables)f(mail)h(c)m(hec)m(king.)150
-1003 y Fs(OLDPWD)192 b Ft(The)30 b(previous)g(w)m(orking)g(directory)h
-(as)g(set)g(b)m(y)f(the)h Fs(cd)e Ft(builtin.)150 1160
-y Fs(OPTERR)192 b Ft(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36
-b(1,)i(Bash)e(displa)m(ys)g(error)f(messages)i(generated)g(b)m(y)f(the)
-g Fs(getopts)630 1270 y Ft(builtin)30 b(command.)150
-1426 y Fs(OSTYPE)192 b Ft(A)30 b(string)h(describing)f(the)g(op)s
-(erating)h(system)g(Bash)f(is)h(running)d(on.)150 1583
-y Fs(PIPESTATUS)630 1692 y Ft(An)23 b(arra)m(y)h(v)-5
-b(ariable)24 b(\(see)h(Section)f(6.7)h([Arra)m(ys],)g(page)f(80\))h
-(con)m(taining)g(a)f(list)g(of)g(exit)g(sta-)630 1802
-y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g(in)f(the)h
-(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630
-1911 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
-(command\).)150 2068 y Fs(POSIXLY_CORRECT)630 2178 y
+2739 y Fs(MAPFILE)144 b Ft(An)35 b(arra)m(y)h(v)-5 b(ariable)36
+b(created)g(to)h(hold)e(the)g(text)i(read)e(b)m(y)g(the)h
+Fs(mapfile)d Ft(builtin)i(when)630 2849 y(no)30 b(v)-5
+b(ariable)31 b(name)g(is)f(supplied.)150 3009 y Fs(OLDPWD)192
+b Ft(The)30 b(previous)g(w)m(orking)g(directory)h(as)g(set)g(b)m(y)f
+(the)h Fs(cd)e Ft(builtin.)150 3170 y Fs(OPTERR)192 b
+Ft(If)35 b(set)i(to)f(the)h(v)-5 b(alue)36 b(1,)i(Bash)e(displa)m(ys)g
+(error)f(messages)i(generated)g(b)m(y)f(the)g Fs(getopts)630
+3280 y Ft(builtin)30 b(command.)150 3440 y Fs(OSTYPE)192
+b Ft(A)30 b(string)h(describing)f(the)g(op)s(erating)h(system)g(Bash)f
+(is)h(running)d(on.)150 3601 y Fs(PIPESTATUS)630 3711
+y Ft(An)23 b(arra)m(y)h(v)-5 b(ariable)24 b(\(see)h(Section)f(6.7)h
+([Arra)m(ys],)g(page)f(82\))h(con)m(taining)g(a)f(list)g(of)g(exit)g
+(sta-)630 3820 y(tus)h(v)-5 b(alues)27 b(from)e(the)h(pro)s(cesses)g
+(in)f(the)h(most-recen)m(tly-executed)j(foreground)c(pip)s(eline)630
+3930 y(\(whic)m(h)30 b(ma)m(y)h(con)m(tain)h(only)f(a)f(single)h
+(command\).)150 4091 y Fs(POSIXLY_CORRECT)630 4200 y
Ft(If)h(this)h(v)-5 b(ariable)34 b(is)f(in)f(the)h(en)m(vironmen)m(t)h
(when)d Fs(bash)h Ft(starts,)i(the)f(shell)g(en)m(ters)h
-Fl(posix)630 2287 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e
-(POSIX)f(Mo)s(de],)k(page)e(84\))g(b)s(efore)f(reading)g(the)g(startup)
-630 2397 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
+Fl(posix)630 4310 y Ft(mo)s(de)22 b(\(see)h(Section)g(6.11)h([Bash)e
+(POSIX)f(Mo)s(de],)k(page)e(86\))g(b)s(efore)f(reading)g(the)g(startup)
+630 4419 y(\014les,)32 b(as)f(if)h(the)f(`)p Fs(--posix)p
Ft(')f(in)m(v)m(o)s(cation)j(option)f(had)f(b)s(een)g(supplied.)42
-b(If)31 b(it)h(is)f(set)h(while)630 2506 y(the)f(shell)f(is)h(running,)
+b(If)31 b(it)h(is)f(set)h(while)630 4529 y(the)f(shell)f(is)h(running,)
d Fs(bash)i Ft(enables)g Fl(posix)g Ft(mo)s(de,)g(as)h(if)f(the)h
-(command)870 2639 y Fs(set)47 b(-o)g(posix)630 2772 y
-Ft(had)30 b(b)s(een)f(executed.)150 2929 y Fs(PPID)288
+(command)870 4664 y Fs(set)47 b(-o)g(posix)630 4799 y
+Ft(had)30 b(b)s(een)f(executed.)150 4960 y Fs(PPID)288
b Ft(The)30 b(pro)s(cess)g Fl(id)g Ft(of)h(the)f(shell's)h(paren)m(t)g
(pro)s(cess.)40 b(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 3086 y Fs(PROMPT_COMMAND)630 3195 y Ft(If)32
+b(.)150 5121 y Fs(PROMPT_COMMAND)630 5230 y Ft(If)32
b(set,)h(the)f(v)-5 b(alue)33 b(is)f(in)m(terpreted)g(as)g(a)h(command)
f(to)h(execute)g(b)s(efore)f(the)g(prin)m(ting)g(of)630
-3305 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)150
-3461 y Fs(PROMPT_DIRTRIM)630 3571 y Ft(If)e(set)g(to)h(a)g(n)m(um)m(b)s
-(er)e(greater)i(than)f(zero,)i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g
-(the)h(n)m(um)m(b)s(er)e(of)h(trailing)630 3680 y(directory)35
-b(comp)s(onen)m(ts)g(to)h(retain)f(when)f(expanding)g(the)h
-Fs(\\w)f Ft(and)g Fs(\\W)g Ft(prompt)g(string)630 3790
-y(escap)s(es)27 b(\(see)g(Section)g(6.9)h([Prin)m(ting)f(a)g(Prompt],)g
-(page)g(82\).)40 b(Characters)27 b(remo)m(v)m(ed)h(are)630
-3900 y(replaced)j(with)f(an)g(ellipsis.)150 4056 y Fs(PS3)336
-b Ft(The)34 b(v)-5 b(alue)35 b(of)f(this)g(v)-5 b(ariable)35
-b(is)g(used)e(as)i(the)f(prompt)g(for)g(the)g Fs(select)f
-Ft(command.)52 b(If)630 4166 y(this)30 b(v)-5 b(ariable)31
-b(is)g(not)f(set,)i(the)e Fs(select)f Ft(command)h(prompts)f(with)h(`)p
-Fs(#?)g Ft(')150 4322 y Fs(PS4)336 b Ft(The)20 b(v)-5
-b(alue)22 b(is)e(the)h(prompt)f(prin)m(ted)h(b)s(efore)f(the)h(command)
-g(line)g(is)g(ec)m(ho)s(ed)g(when)f(the)h(`)p Fs(-x)p
-Ft(')630 4432 y(option)32 b(is)f(set)h(\(see)g(Section)h(4.3.1)g([The)e
-(Set)g(Builtin],)i(page)f(51\).)45 b(The)31 b(\014rst)f(c)m(haracter)
-630 4542 y(of)k Fs(PS4)g Ft(is)g(replicated)i(m)m(ultiple)f(times,)h
-(as)e(necessary)-8 b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev)m(els)h
-(of)630 4651 y(indirection.)41 b(The)30 b(default)h(is)f(`)p
-Fs(+)g Ft('.)150 4808 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m
+5340 y(eac)m(h)g(primary)d(prompt)g(\()p Fs($PS1)p Ft(\).)p
+eop end
+%%Page: 71 77
+TeXDict begin 71 76 bop 150 -116 a Ft(Chapter)30 b(5:)41
+b(Shell)30 b(V)-8 b(ariables)2459 b(71)150 299 y Fs(PROMPT_DIRTRIM)630
+408 y Ft(If)27 b(set)g(to)h(a)g(n)m(um)m(b)s(er)e(greater)i(than)f
+(zero,)i(the)e(v)-5 b(alue)28 b(is)f(used)g(as)g(the)h(n)m(um)m(b)s(er)
+e(of)h(trailing)630 518 y(directory)35 b(comp)s(onen)m(ts)g(to)h
+(retain)f(when)f(expanding)g(the)h Fs(\\w)f Ft(and)g
+Fs(\\W)g Ft(prompt)g(string)630 628 y(escap)s(es)27 b(\(see)g(Section)g
+(6.9)h([Prin)m(ting)f(a)g(Prompt],)g(page)g(84\).)40
+b(Characters)27 b(remo)m(v)m(ed)h(are)630 737 y(replaced)j(with)f(an)g
+(ellipsis.)150 892 y Fs(PS3)336 b Ft(The)34 b(v)-5 b(alue)35
+b(of)f(this)g(v)-5 b(ariable)35 b(is)g(used)e(as)i(the)f(prompt)g(for)g
+(the)g Fs(select)f Ft(command.)52 b(If)630 1002 y(this)30
+b(v)-5 b(ariable)31 b(is)g(not)f(set,)i(the)e Fs(select)f
+Ft(command)h(prompts)f(with)h(`)p Fs(#?)g Ft(')150 1157
+y Fs(PS4)336 b Ft(The)20 b(v)-5 b(alue)22 b(is)e(the)h(prompt)f(prin)m
+(ted)h(b)s(efore)f(the)h(command)g(line)g(is)g(ec)m(ho)s(ed)g(when)f
+(the)h(`)p Fs(-x)p Ft(')630 1267 y(option)32 b(is)f(set)h(\(see)g
+(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(54\).)45
+b(The)31 b(\014rst)f(c)m(haracter)630 1377 y(of)k Fs(PS4)g
+Ft(is)g(replicated)i(m)m(ultiple)f(times,)h(as)e(necessary)-8
+b(,)37 b(to)e(indicate)g(m)m(ultiple)g(lev)m(els)h(of)630
+1486 y(indirection.)41 b(The)30 b(default)h(is)f(`)p
+Fs(+)g Ft('.)150 1641 y Fs(PWD)336 b Ft(The)30 b(curren)m(t)g(w)m
(orking)h(directory)g(as)f(set)h(b)m(y)f(the)h Fs(cd)f
-Ft(builtin.)150 4964 y Fs(RANDOM)192 b Ft(Eac)m(h)30
+Ft(builtin.)150 1797 y Fs(RANDOM)192 b Ft(Eac)m(h)30
b(time)g(this)f(parameter)g(is)g(referenced,)h(a)f(random)g(in)m(teger)
-h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 5074 y(is)i(generated.)43
+h(b)s(et)m(w)m(een)g(0)f(and)g(32767)630 1906 y(is)i(generated.)43
b(Assigning)31 b(a)g(v)-5 b(alue)31 b(to)g(this)g(v)-5
b(ariable)31 b(seeds)g(the)g(random)f(n)m(um)m(b)s(er)f(gen-)630
-5183 y(erator.)150 5340 y Fs(REPLY)240 b Ft(The)30 b(default)g(v)-5
-b(ariable)32 b(for)e(the)g Fs(read)g Ft(builtin.)p eop
-end
-%%Page: 69 75
-TeXDict begin 69 74 bop 150 -116 a Ft(Chapter)30 b(5:)41
-b(Shell)30 b(V)-8 b(ariables)2459 b(69)150 299 y Fs(SECONDS)144
-b Ft(This)40 b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s
-(er)e(of)i(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630
-408 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43 b(resets)g(the)g
-(coun)m(t)g(to)g(the)g(v)-5 b(alue)43 b(assigned,)j(and)c(the)630
-518 y(expanded)35 b(v)-5 b(alue)36 b(b)s(ecomes)h(the)f(v)-5
-b(alue)36 b(assigned)g(plus)f(the)h(n)m(um)m(b)s(er)f(of)h(seconds)g
-(since)630 628 y(the)31 b(assignmen)m(t.)150 779 y Fs(SHELL)240
-b Ft(The)29 b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g
-(this)g(en)m(vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29
-b(it)i(is)f(not)630 889 y(set)36 b(when)f(the)h(shell)g(starts,)i(Bash)
-e(assigns)h(to)f(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m(t)630
-999 y(user's)30 b(login)h(shell.)150 1150 y Fs(SHELLOPTS)630
-1260 y Ft(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
+2016 y(erator.)150 2171 y Fs(READLINE_LINE)630 2281 y
+Ft(The)e(con)m(ten)m(ts)i(of)f(the)g(Readline)g(line)g(bu\013er,)f(for)
+h(use)f(with)g(`)p Fs(bind)j(-x)p Ft(')d(\(see)h(Section)h(4.2)630
+2390 y([Bash)i(Builtins],)g(page)g(43\).)150 2545 y Fs(READLINE_POINT)
+630 2655 y Ft(The)23 b(p)s(osition)g(of)g(the)h(insertion)f(p)s(oin)m
+(t)g(in)g(the)g(Readline)h(line)f(bu\013er,)h(for)f(use)g(with)g(`)p
+Fs(bind)630 2765 y(-x)p Ft(')30 b(\(see)h(Section)h(4.2)f([Bash)g
+(Builtins],)g(page)g(43\).)150 2920 y Fs(REPLY)240 b
+Ft(The)30 b(default)g(v)-5 b(ariable)32 b(for)e(the)g
+Fs(read)g Ft(builtin.)150 3075 y Fs(SECONDS)144 b Ft(This)40
+b(v)-5 b(ariable)41 b(expands)f(to)h(the)g(n)m(um)m(b)s(er)e(of)i
+(seconds)g(since)g(the)f(shell)h(w)m(as)g(started.)630
+3185 y(Assignmen)m(t)i(to)g(this)g(v)-5 b(ariable)43
+b(resets)g(the)g(coun)m(t)g(to)g(the)g(v)-5 b(alue)43
+b(assigned,)j(and)c(the)630 3294 y(expanded)35 b(v)-5
+b(alue)36 b(b)s(ecomes)h(the)f(v)-5 b(alue)36 b(assigned)g(plus)f(the)h
+(n)m(um)m(b)s(er)f(of)h(seconds)g(since)630 3404 y(the)31
+b(assignmen)m(t.)150 3559 y Fs(SHELL)240 b Ft(The)29
+b(full)h(pathname)g(to)h(the)f(shell)g(is)g(k)m(ept)g(in)g(this)g(en)m
+(vironmen)m(t)g(v)-5 b(ariable.)42 b(If)29 b(it)i(is)f(not)630
+3669 y(set)36 b(when)f(the)h(shell)g(starts,)i(Bash)e(assigns)h(to)f
+(it)h(the)f(full)f(pathname)h(of)g(the)g(curren)m(t)630
+3778 y(user's)30 b(login)h(shell.)150 3934 y Fs(SHELLOPTS)630
+4043 y Ft(A)g(colon-separated)h(list)f(of)g(enabled)f(shell)h(options.)
41 b(Eac)m(h)31 b(w)m(ord)f(in)g(the)h(list)g(is)g(a)g(v)-5
-b(alid)630 1369 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p
+b(alid)630 4153 y(argumen)m(t)24 b(for)f(the)h(`)p Fs(-o)p
Ft(')f(option)h(to)g(the)g Fs(set)f Ft(builtin)g(command)g(\(see)i
-(Section)f(4.3.1)h([The)630 1479 y(Set)k(Builtin],)h(page)f(51\).)42
+(Section)f(4.3.1)h([The)630 4262 y(Set)k(Builtin],)h(page)f(54\).)42
b(The)28 b(options)h(app)s(earing)f(in)g Fs(SHELLOPTS)e
-Ft(are)j(those)h(rep)s(orted)630 1589 y(as)g(`)p Fs(on)p
+Ft(are)j(those)h(rep)s(orted)630 4372 y(as)g(`)p Fs(on)p
Ft(')f(b)m(y)h(`)p Fs(set)g(-o)p Ft('.)40 b(If)29 b(this)h(v)-5
b(ariable)30 b(is)g(in)f(the)h(en)m(vironmen)m(t)g(when)f(Bash)h
-(starts)g(up,)630 1698 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
+(starts)g(up,)630 4482 y(eac)m(h)41 b(shell)e(option)h(in)f(the)h(list)
g(will)f(b)s(e)g(enabled)h(b)s(efore)f(reading)g(an)m(y)h(startup)f
-(\014les.)630 1808 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
-b(.)150 1960 y Fs(SHLVL)240 b Ft(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
+(\014les.)630 4591 y(This)30 b(v)-5 b(ariable)31 b(is)f(readonly)-8
+b(.)150 4746 y Fs(SHLVL)240 b Ft(Incremen)m(ted)21 b(b)m(y)g(one)g(eac)
m(h)h(time)f(a)h(new)e(instance)h(of)g(Bash)g(is)g(started.)38
-b(This)20 b(is)h(in)m(tended)630 2069 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
+b(This)20 b(is)h(in)m(tended)630 4856 y(to)31 b(b)s(e)f(a)h(coun)m(t)g
(of)f(ho)m(w)h(deeply)f(y)m(our)g(Bash)h(shells)f(are)h(nested.)150
-2221 y Fs(TIMEFORMAT)630 2330 y Ft(The)f(v)-5 b(alue)32
+5011 y Fs(TIMEFORMAT)630 5121 y Ft(The)f(v)-5 b(alue)32
b(of)f(this)g(parameter)g(is)g(used)f(as)h(a)g(format)h(string)f(sp)s
-(ecifying)f(ho)m(w)h(the)g(tim-)630 2440 y(ing)37 b(information)f(for)h
+(ecifying)f(ho)m(w)h(the)g(tim-)630 5230 y(ing)37 b(information)f(for)h
(pip)s(elines)f(pre\014xed)f(with)h(the)h Fs(time)e Ft(reserv)m(ed)i(w)
-m(ord)f(should)g(b)s(e)630 2550 y(displa)m(y)m(ed.)k(The)27
+m(ord)f(should)g(b)s(e)630 5340 y(displa)m(y)m(ed.)k(The)27
b(`)p Fs(\045)p Ft(')h(c)m(haracter)h(in)m(tro)s(duces)e(an)h(escap)s
-(e)g(sequence)g(that)g(is)f(expanded)g(to)630 2659 y(a)37
-b(time)g(v)-5 b(alue)36 b(or)h(other)f(information.)59
-b(The)36 b(escap)s(e)g(sequences)h(and)e(their)i(meanings)630
-2769 y(are)31 b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h
-(p)s(ortions.)630 2921 y Fs(\045\045)384 b Ft(A)30 b(literal)i(`)p
-Fs(\045)p Ft('.)630 3072 y Fs(\045[)p Fi(p)11 b Fs(][l]R)85
-b Ft(The)30 b(elapsed)h(time)g(in)f(seconds.)630 3224
-y Fs(\045[)p Fi(p)11 b Fs(][l]U)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h
-(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630
-3376 y Fs(\045[)p Fi(p)11 b Fs(][l]S)85 b Ft(The)30 b(n)m(um)m(b)s(er)f
-(of)h(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630
-3528 y Fs(\045P)384 b Ft(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e
-(as)h(\(\045U)f Fs(+)g Ft(\045S\))g(/)h(\045R.)630 3679
+(e)g(sequence)g(that)g(is)f(expanded)g(to)p eop end
+%%Page: 72 78
+TeXDict begin 72 77 bop 150 -116 a Ft(72)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(a)37 b(time)g(v)-5
+b(alue)36 b(or)h(other)f(information.)59 b(The)36 b(escap)s(e)g
+(sequences)h(and)e(their)i(meanings)630 408 y(are)31
+b(as)f(follo)m(ws;)i(the)f(braces)f(denote)h(optional)h(p)s(ortions.)
+630 568 y Fs(\045\045)384 b Ft(A)30 b(literal)i(`)p Fs(\045)p
+Ft('.)630 727 y Fs(\045[)p Fi(p)11 b Fs(][l]R)85 b Ft(The)30
+b(elapsed)h(time)g(in)f(seconds.)630 887 y Fs(\045[)p
+Fi(p)11 b Fs(][l]U)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(CPU)g
+(seconds)h(sp)s(en)m(t)f(in)g(user)f(mo)s(de.)630 1046
+y Fs(\045[)p Fi(p)11 b Fs(][l]S)85 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h
+(CPU)g(seconds)h(sp)s(en)m(t)f(in)g(system)g(mo)s(de.)630
+1205 y Fs(\045P)384 b Ft(The)30 b(CPU)g(p)s(ercen)m(tage,)i(computed)e
+(as)h(\(\045U)f Fs(+)g Ft(\045S\))g(/)h(\045R.)630 1365
y(The)23 b(optional)j Fq(p)g Ft(is)e(a)g(digit)h(sp)s(ecifying)e(the)h
(precision,)i(the)e(n)m(um)m(b)s(er)f(of)h(fractional)h(digits)630
-3789 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35
+1474 y(after)36 b(a)f(decimal)i(p)s(oin)m(t.)55 b(A)35
b(v)-5 b(alue)36 b(of)f(0)h(causes)g(no)f(decimal)h(p)s(oin)m(t)f(or)h
-(fraction)g(to)g(b)s(e)630 3898 y(output.)48 b(A)m(t)34
+(fraction)g(to)g(b)s(e)630 1584 y(output.)48 b(A)m(t)34
b(most)f(three)g(places)h(after)f(the)g(decimal)h(p)s(oin)m(t)f(ma)m(y)
-h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 4008 y(of)31
+h(b)s(e)e(sp)s(eci\014ed;)i(v)-5 b(alues)630 1694 y(of)31
b Fq(p)h Ft(greater)g(than)e(3)h(are)f(c)m(hanged)h(to)g(3.)42
b(If)29 b Fq(p)k Ft(is)d(not)h(sp)s(eci\014ed,)f(the)h(v)-5
-b(alue)30 b(3)h(is)g(used.)630 4139 y(The)54 b(optional)h
+b(alue)30 b(3)h(is)g(used.)630 1828 y(The)54 b(optional)h
Fs(l)f Ft(sp)s(eci\014es)g(a)h(longer)f(format,)61 b(including)54
-b(min)m(utes,)61 b(of)54 b(the)g(form)630 4248 y Fq(MM)10
+b(min)m(utes,)61 b(of)54 b(the)g(form)630 1938 y Fq(MM)10
b Ft(m)p Fq(SS)5 b Ft(.)p Fq(FF)i Ft(s.)102 b(The)50
b(v)-5 b(alue)51 b(of)g Fq(p)i Ft(determines)e(whether)f(or)h(not)f
-(the)h(fraction)h(is)630 4358 y(included.)630 4489 y(If)30
+(the)h(fraction)h(is)630 2047 y(included.)630 2182 y(If)30
b(this)g(v)-5 b(ariable)31 b(is)g(not)f(set,)i(Bash)e(acts)h(as)g(if)f
-(it)h(had)f(the)h(v)-5 b(alue)870 4619 y Fs
+(it)h(had)f(the)h(v)-5 b(alue)870 2316 y Fs
($'\\nreal\\t\0453lR\\nuser\\t\0453)o(lU\\n)o(sys\\)o(t\0453)o(lS')630
-4750 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f
+2451 y Ft(If)37 b(the)g(v)-5 b(alue)38 b(is)f(n)m(ull,)i(no)f(timing)f
(information)h(is)f(displa)m(y)m(ed.)62 b(A)37 b(trailing)i(newline)e
-(is)630 4859 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
-(y)m(ed.)150 5011 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5
+(is)630 2560 y(added)30 b(when)f(the)i(format)f(string)h(is)f(displa)m
+(y)m(ed.)150 2720 y Fs(TMOUT)240 b Ft(If)22 b(set)h(to)g(a)g(v)-5
b(alue)23 b(greater)h(than)e(zero,)j Fs(TMOUT)d Ft(is)g(treated)i(as)e
-(the)h(default)g(timeout)g(for)g(the)630 5121 y Fs(read)31
+(the)h(default)g(timeout)g(for)g(the)630 2829 y Fs(read)31
b Ft(builtin)h(\(see)h(Section)f(4.2)i([Bash)e(Builtins],)h(page)g
-(41\).)47 b(The)32 b Fs(select)e Ft(command)630 5230
+(43\).)47 b(The)32 b Fs(select)e Ft(command)630 2939
y(\(see)f(Section)h(3.2.4.2)g([Conditional)g(Constructs],)e(page)i
-(10\))f(terminates)g(if)g(input)e(do)s(es)630 5340 y(not)k(arriv)m(e)g
+(10\))f(terminates)g(if)g(input)e(do)s(es)630 3049 y(not)k(arriv)m(e)g
(after)g Fs(TMOUT)e Ft(seconds)h(when)f(input)h(is)g(coming)h(from)f(a)
-h(terminal.)p eop end
-%%Page: 70 76
-TeXDict begin 70 75 bop 150 -116 a Ft(70)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(In)25 b(an)h(in)m(teractiv)m(e)i
-(shell,)g(the)e(v)-5 b(alue)26 b(is)g(in)m(terpreted)g(as)g(the)g(n)m
-(um)m(b)s(er)f(of)h(seconds)f(to)i(w)m(ait)630 408 y(for)32
-b(input)f(after)i(issuing)f(the)g(primary)g(prompt)f(when)g(the)i
-(shell)f(is)h(in)m(teractiv)m(e.)49 b(Bash)630 518 y(terminates)31
-b(after)g(that)g(n)m(um)m(b)s(er)e(of)i(seconds)f(if)g(input)g(do)s(es)
-g(not)g(arriv)m(e.)150 677 y Fs(TMPDIR)192 b Ft(If)39
-b(set,)j(Bash)e(uses)f(its)h(v)-5 b(alue)40 b(as)f(the)h(name)f(of)h(a)
-g(directory)g(in)f(whic)m(h)g(Bash)h(creates)630 787
-y(temp)s(orary)30 b(\014les)g(for)g(the)h(shell's)g(use.)150
-946 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h(user)f(id)g(of)g
-(the)h(curren)m(t)f(user.)40 b(This)30 b(v)-5 b(ariable)31
-b(is)f(readonly)-8 b(.)p eop end
-%%Page: 71 77
-TeXDict begin 71 76 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(71)150 299 y Fo(6)80
-b(Bash)54 b(F)-13 b(eatures)150 554 y Ft(This)30 b(section)h(describ)s
-(es)f(features)g(unique)g(to)h(Bash.)150 797 y Fr(6.1)68
-b(In)l(v)l(oking)46 b(Bash)390 957 y Fs(bash)h([long-opt])e([-ir])h
+h(terminal.)630 3183 y(In)25 b(an)h(in)m(teractiv)m(e)i(shell,)g(the)e
+(v)-5 b(alue)26 b(is)g(in)m(terpreted)g(as)g(the)g(n)m(um)m(b)s(er)f
+(of)h(seconds)f(to)i(w)m(ait)630 3293 y(for)32 b(input)f(after)i
+(issuing)f(the)g(primary)g(prompt)f(when)g(the)i(shell)f(is)h(in)m
+(teractiv)m(e.)49 b(Bash)630 3402 y(terminates)31 b(after)g(that)g(n)m
+(um)m(b)s(er)e(of)i(seconds)f(if)g(input)g(do)s(es)g(not)g(arriv)m(e.)
+150 3562 y Fs(TMPDIR)192 b Ft(If)39 b(set,)j(Bash)e(uses)f(its)h(v)-5
+b(alue)40 b(as)f(the)h(name)f(of)h(a)g(directory)g(in)f(whic)m(h)g
+(Bash)h(creates)630 3671 y(temp)s(orary)30 b(\014les)g(for)g(the)h
+(shell's)g(use.)150 3831 y Fs(UID)336 b Ft(The)30 b(n)m(umeric)g(real)h
+(user)f(id)g(of)g(the)h(curren)m(t)f(user.)40 b(This)30
+b(v)-5 b(ariable)31 b(is)f(readonly)-8 b(.)p eop end
+%%Page: 73 79
+TeXDict begin 73 78 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(73)150 299 y Fo(6)80
+b(Bash)54 b(F)-13 b(eatures)150 524 y Ft(This)30 b(section)h(describ)s
+(es)f(features)g(unique)g(to)h(Bash.)150 752 y Fr(6.1)68
+b(In)l(v)l(oking)46 b(Bash)390 912 y Fs(bash)h([long-opt])e([-ir])h
([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11 b Fs(])45
b([-O)i Fi(shopt_option)11 b Fs(])44 b([)p Fi(ar-)390
-1066 y(gument)57 b Fs(...)o(])390 1176 y(bash)47 b([long-opt])e
+1021 y(gument)57 b Fs(...)o(])390 1131 y(bash)47 b([long-opt])e
([-abefhkmnptuvxdBCDHP])c([-o)47 b Fi(option)11 b Fs(])46
b([-O)g Fi(shopt_option)11 b Fs(])44 b(-c)j Fi(string)57
-b Fs([)p Fi(ar-)390 1286 y(gument)g Fs(...)o(])390 1395
+b Fs([)p Fi(ar-)390 1240 y(gument)g Fs(...)o(])390 1350
y(bash)47 b([long-opt])e(-s)i([-abefhkmnptuvxdBCDHP])42
b([-o)k Fi(option)11 b Fs(])46 b([-O)h Fi(shopt_option)11
-b Fs(])43 b([)p Fi(ar-)390 1505 y(gument)57 b Fs(...)o(])275
-1646 y Ft(In)22 b(addition)i(to)g(the)g(single-c)m(haracter)i(shell)e
-(command-line)g(options)f(\(see)i(Section)f(4.3.1)i([The)d(Set)150
-1756 y(Builtin],)k(page)e(51\),)i(there)e(are)g(sev)m(eral)h(m)m
-(ulti-c)m(haracter)h(options)e(that)g(y)m(ou)g(can)g(use.)38
-b(These)25 b(options)150 1865 y(m)m(ust)30 b(app)s(ear)g(on)g(the)h
-(command)f(line)h(b)s(efore)f(the)g(single-c)m(haracter)j(options)e(to)
-g(b)s(e)f(recognized.)150 2035 y Fs(--debugger)630 2145
-y Ft(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e
+b Fs(])43 b([)p Fi(ar-)390 1460 y(gument)57 b Fs(...)o(])275
+1592 y Ft(All)31 b(of)g(the)f(single-c)m(haracter)k(options)d(used)f
+(with)g(the)h Fs(set)f Ft(builtin)g(\(see)h(Section)h(4.3.1)g([The)f
+(Set)150 1702 y(Builtin],)45 b(page)c(54\))i(can)e(b)s(e)f(used)h(as)g
+(options)g(when)f(the)i(shell)f(is)g(in)m(v)m(ok)m(ed.)74
+b(In)41 b(addition,)j(there)150 1811 y(are)38 b(sev)m(eral)h(m)m
+(ulti-c)m(haracter)h(options)d(that)h(y)m(ou)g(can)g(use.)61
+b(These)38 b(options)f(m)m(ust)h(app)s(ear)e(on)i(the)150
+1921 y(command)30 b(line)h(b)s(efore)f(the)g(single-c)m(haracter)j
+(options)e(to)g(b)s(e)f(recognized.)150 2076 y Fs(--debugger)630
+2186 y Ft(Arrange)j(for)g(the)g(debugger)g(pro\014le)g(to)h(b)s(e)e
(executed)i(b)s(efore)f(the)g(shell)g(starts.)49 b(T)-8
-b(urns)630 2255 y(on)25 b(extended)g(debugging)g(mo)s(de)f(\(see)i
-(Section)g(4.3.2)h([The)d(Shopt)h(Builtin],)i(page)e(55)h(for)630
-2364 y(a)35 b(description)f(of)h(the)g Fs(extdebug)d
-Ft(option)j(to)g(the)f Fs(shopt)f Ft(builtin\))i(and)f(shell)g
-(function)630 2474 y(tracing)d(\(see)g(Section)h(4.3.1)g([The)e(Set)g
-(Builtin],)h(page)g(51)h(for)e(a)g(description)h(of)f(the)h
-Fs(-o)630 2583 y(functrace)d Ft(option\).)150 2750 y
-Fs(--dump-po-strings)630 2859 y Ft(A)37 b(list)g(of)f(all)i
+b(urns)630 2296 y(on)37 b(extended)g(debugging)g(mo)s(de)g(\(see)h
+(Section)g(4.3.2)g([The)f(Shopt)g(Builtin],)i(page)f(57)630
+2405 y(for)30 b(a)h(description)f(of)h(the)f Fs(extdebug)f
+Ft(option)h(to)h(the)g Fs(shopt)e Ft(builtin\).)150 2561
+y Fs(--dump-po-strings)630 2670 y Ft(A)37 b(list)g(of)f(all)i
(double-quoted)e(strings)g(preceded)g(b)m(y)h(`)p Fs($)p
-Ft(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630 2969
+Ft(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630 2780
y(output)24 b(in)h(the)g Fl(gnu)f Fs(gettext)f Ft(PO)i(\(p)s(ortable)g
(ob)5 b(ject\))26 b(\014le)f(format.)39 b(Equiv)-5 b(alen)m(t)26
-b(to)f(`)p Fs(-D)p Ft(')630 3079 y(except)31 b(for)f(the)h(output)f
-(format.)150 3245 y Fs(--dump-strings)630 3355 y Ft(Equiv)-5
-b(alen)m(t)31 b(to)g(`)p Fs(-D)p Ft('.)150 3521 y Fs(--help)192
+b(to)f(`)p Fs(-D)p Ft(')630 2890 y(except)31 b(for)f(the)h(output)f
+(format.)150 3045 y Fs(--dump-strings)630 3155 y Ft(Equiv)-5
+b(alen)m(t)31 b(to)g(`)p Fs(-D)p Ft('.)150 3310 y Fs(--help)192
b Ft(Displa)m(y)32 b(a)e(usage)h(message)h(on)e(standard)g(output)g
-(and)f(exit)j(successfully)-8 b(.)150 3688 y Fs(--init-file)27
-b Fi(filename)150 3797 y Fs(--rcfile)h Fi(filename)630
-3907 y Ft(Execute)42 b(commands)f(from)f Fq(\014lename)47
+(and)f(exit)j(successfully)-8 b(.)150 3466 y Fs(--init-file)27
+b Fi(filename)150 3576 y Fs(--rcfile)h Fi(filename)630
+3685 y Ft(Execute)42 b(commands)f(from)f Fq(\014lename)47
b Ft(\(instead)42 b(of)f(`)p Fs(~/.bashrc)p Ft('\))e(in)i(an)g(in)m
-(teractiv)m(e)630 4016 y(shell.)150 4183 y Fs(--login)144
+(teractiv)m(e)630 3795 y(shell.)150 3950 y Fs(--login)144
b Ft(Equiv)-5 b(alen)m(t)31 b(to)g(`)p Fs(-l)p Ft('.)150
-4349 y Fs(--noediting)630 4459 y Ft(Do)h(not)e(use)h(the)g
+4106 y Fs(--noediting)630 4216 y Ft(Do)h(not)e(use)h(the)g
Fl(gnu)f Ft(Readline)i(library)e(\(see)h(Chapter)g(8)g([Command)f(Line)
-g(Editing],)630 4569 y(page)h(93\))h(to)f(read)f(command)g(lines)h
-(when)e(the)i(shell)f(is)h(in)m(teractiv)m(e.)150 4735
-y Fs(--noprofile)630 4845 y Ft(Don't)h(load)f(the)g(system-wide)g
+g(Editing],)630 4325 y(page)h(95\))h(to)f(read)f(command)g(lines)h
+(when)e(the)i(shell)f(is)h(in)m(teractiv)m(e.)150 4481
+y Fs(--noprofile)630 4590 y Ft(Don't)h(load)f(the)g(system-wide)g
(startup)f(\014le)g(`)p Fs(/etc/profile)p Ft(')e(or)j(an)m(y)g(of)g
-(the)f(p)s(ersonal)630 4954 y(initialization)g(\014les)d(`)p
+(the)f(p)s(ersonal)630 4700 y(initialization)g(\014les)d(`)p
Fs(~/.bash_profile)p Ft(',)e(`)p Fs(~/.bash_login)p Ft(',)g(or)i(`)p
-Fs(~/.profile)p Ft(')e(when)630 5064 y(Bash)31 b(is)f(in)m(v)m(ok)m(ed)
-i(as)e(a)h(login)g(shell.)150 5230 y Fs(--norc)192 b
+Fs(~/.profile)p Ft(')e(when)630 4810 y(Bash)31 b(is)f(in)m(v)m(ok)m(ed)
+i(as)e(a)h(login)g(shell.)150 4965 y Fs(--norc)192 b
Ft(Don't)31 b(read)g(the)f(`)p Fs(~/.bashrc)p Ft(')f(initialization)k
(\014le)d(in)g(an)h(in)m(teractiv)m(e)i(shell.)41 b(This)30
-b(is)g(on)630 5340 y(b)m(y)g(default)h(if)f(the)h(shell)f(is)h(in)m(v)m
-(ok)m(ed)h(as)e Fs(sh)p Ft(.)p eop end
-%%Page: 72 78
-TeXDict begin 72 77 bop 150 -116 a Ft(72)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(--posix)144 b Ft(Change)24
-b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i(default)f(op)s
-(eration)h(di\013ers)f(from)f(the)i Fl(posix)630 408
-y Ft(standard)35 b(to)h(matc)m(h)g(the)g(standard.)55
+b(is)g(on)630 5075 y(b)m(y)g(default)h(if)f(the)h(shell)f(is)h(in)m(v)m
+(ok)m(ed)h(as)e Fs(sh)p Ft(.)150 5230 y Fs(--posix)144
+b Ft(Change)24 b(the)h(b)s(eha)m(vior)f(of)g(Bash)h(where)e(the)i
+(default)f(op)s(eration)h(di\013ers)f(from)f(the)i Fl(posix)630
+5340 y Ft(standard)35 b(to)h(matc)m(h)g(the)g(standard.)55
b(This)35 b(is)h(in)m(tended)f(to)h(mak)m(e)h(Bash)f(b)s(eha)m(v)m(e)g
-(as)g(a)630 518 y(strict)26 b(sup)s(erset)e(of)h(that)g(standard.)38
-b(See)26 b(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)j(page)f(84,)630
-628 y(for)k(a)h(description)f(of)h(the)f(Bash)h Fl(posix)f
-Ft(mo)s(de.)150 787 y Fs(--restricted)630 897 y Ft(Mak)m(e)54
+(as)g(a)p eop end
+%%Page: 74 80
+TeXDict begin 74 79 bop 150 -116 a Ft(74)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(strict)26 b(sup)s(erset)e(of)h(that)g
+(standard.)38 b(See)26 b(Section)f(6.11)i([Bash)e(POSIX)f(Mo)s(de],)j
+(page)f(86,)630 408 y(for)k(a)h(description)f(of)h(the)f(Bash)h
+Fl(posix)f Ft(mo)s(de.)150 564 y Fs(--restricted)630
+673 y Ft(Mak)m(e)54 b(the)e(shell)g(a)h(restricted)g(shell)f(\(see)h
+(Section)g(6.10)h([The)d(Restricted)j(Shell],)630 783
+y(page)31 b(86\).)150 938 y Fs(--verbose)630 1048 y Ft(Equiv)-5
+b(alen)m(t)31 b(to)g(`)p Fs(-v)p Ft('.)41 b(Prin)m(t)30
+b(shell)h(input)e(lines)i(as)g(they're)f(read.)150 1203
+y Fs(--version)630 1313 y Ft(Sho)m(w)e(v)m(ersion)g(information)g(for)g
+(this)g(instance)h(of)f(Bash)g(on)g(the)g(standard)f(output)h(and)630
+1422 y(exit)j(successfully)-8 b(.)275 1577 y(There)28
+b(are)i(sev)m(eral)g(single-c)m(haracter)i(options)d(that)h(ma)m(y)g(b)
+s(e)e(supplied)g(at)i(in)m(v)m(o)s(cation)h(whic)m(h)e(are)150
+1687 y(not)i(a)m(v)-5 b(ailable)32 b(with)e(the)h Fs(set)e
+Ft(builtin.)150 1842 y Fs(-c)h Fi(string)630 1952 y Ft(Read)23
+b(and)f(execute)i(commands)f(from)f Fq(string)31 b Ft(after)23
+b(pro)s(cessing)f(the)h(options,)i(then)e(exit.)630 2061
+y(An)m(y)37 b(remaining)f(argumen)m(ts)h(are)g(assigned)g(to)g(the)g(p)
+s(ositional)g(parameters,)i(starting)630 2171 y(with)30
+b Fs($0)p Ft(.)150 2326 y Fs(-i)384 b Ft(F)-8 b(orce)22
+b(the)g(shell)f(to)g(run)f(in)m(teractiv)m(ely)-8 b(.)41
+b(In)m(teractiv)m(e)23 b(shells)e(are)h(describ)s(ed)d(in)i(Section)h
+(6.3)630 2436 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(76.)150
+2591 y Fs(-l)384 b Ft(Mak)m(e)33 b(this)e(shell)h(act)g(as)g(if)f(it)h
+(had)f(b)s(een)f(directly)i(in)m(v)m(ok)m(ed)h(b)m(y)f(login.)44
+b(When)31 b(the)h(shell)630 2701 y(is)37 b(in)m(teractiv)m(e,)43
+b(this)37 b(is)g(equiv)-5 b(alen)m(t)39 b(to)f(starting)h(a)e(login)i
+(shell)e(with)g(`)p Fs(exec)30 b(-l)g(bash)p Ft('.)630
+2810 y(When)h(the)g(shell)h(is)f(not)g(in)m(teractiv)m(e,)k(the)c
+(login)h(shell)g(startup)f(\014les)g(will)g(b)s(e)g(executed.)630
+2920 y(`)p Fs(exec)e(bash)h(-l)p Ft(')43 b(or)h(`)p Fs(exec)29
+b(bash)g(--login)p Ft(')42 b(will)i(replace)h(the)f(curren)m(t)f(shell)
+h(with)g(a)630 3029 y(Bash)26 b(login)g(shell.)39 b(See)26
+b(Section)g(6.2)h([Bash)e(Startup)g(Files],)j(page)e(75,)i(for)d(a)h
+(description)630 3139 y(of)31 b(the)f(sp)s(ecial)h(b)s(eha)m(vior)g(of)
+f(a)h(login)g(shell.)150 3294 y Fs(-r)384 b Ft(Mak)m(e)54
b(the)e(shell)g(a)h(restricted)g(shell)f(\(see)h(Section)g(6.10)h([The)
-d(Restricted)j(Shell],)630 1006 y(page)31 b(84\).)150
-1166 y Fs(--verbose)630 1275 y Ft(Equiv)-5 b(alen)m(t)31
-b(to)g(`)p Fs(-v)p Ft('.)41 b(Prin)m(t)30 b(shell)h(input)e(lines)i(as)
-g(they're)f(read.)150 1435 y Fs(--version)630 1544 y
-Ft(Sho)m(w)e(v)m(ersion)g(information)g(for)g(this)g(instance)h(of)f
-(Bash)g(on)g(the)g(standard)f(output)h(and)630 1654 y(exit)j
-(successfully)-8 b(.)275 1813 y(There)28 b(are)i(sev)m(eral)g(single-c)
-m(haracter)i(options)d(that)h(ma)m(y)g(b)s(e)e(supplied)g(at)i(in)m(v)m
-(o)s(cation)h(whic)m(h)e(are)150 1923 y(not)i(a)m(v)-5
-b(ailable)32 b(with)e(the)h Fs(set)e Ft(builtin.)150
-2082 y Fs(-c)h Fi(string)630 2192 y Ft(Read)23 b(and)f(execute)i
-(commands)f(from)f Fq(string)31 b Ft(after)23 b(pro)s(cessing)f(the)h
-(options,)i(then)e(exit.)630 2301 y(An)m(y)37 b(remaining)f(argumen)m
-(ts)h(are)g(assigned)g(to)g(the)g(p)s(ositional)g(parameters,)i
-(starting)630 2411 y(with)30 b Fs($0)p Ft(.)150 2570
-y Fs(-i)384 b Ft(F)-8 b(orce)22 b(the)g(shell)f(to)g(run)f(in)m
-(teractiv)m(ely)-8 b(.)41 b(In)m(teractiv)m(e)23 b(shells)e(are)h
-(describ)s(ed)d(in)i(Section)h(6.3)630 2680 y([In)m(teractiv)m(e)33
-b(Shells],)e(page)g(75.)150 2839 y Fs(-l)384 b Ft(Mak)m(e)33
-b(this)e(shell)h(act)g(as)g(if)f(it)h(had)f(b)s(een)f(directly)i(in)m
-(v)m(ok)m(ed)h(b)m(y)f(login.)44 b(When)31 b(the)h(shell)630
-2949 y(is)37 b(in)m(teractiv)m(e,)43 b(this)37 b(is)g(equiv)-5
-b(alen)m(t)39 b(to)f(starting)h(a)e(login)i(shell)e(with)g(`)p
-Fs(exec)30 b(-l)g(bash)p Ft('.)630 3059 y(When)h(the)g(shell)h(is)f
-(not)g(in)m(teractiv)m(e,)k(the)c(login)h(shell)g(startup)f(\014les)g
-(will)g(b)s(e)g(executed.)630 3168 y(`)p Fs(exec)e(bash)h(-l)p
-Ft(')43 b(or)h(`)p Fs(exec)29 b(bash)g(--login)p Ft(')42
-b(will)i(replace)h(the)f(curren)m(t)f(shell)h(with)g(a)630
-3278 y(Bash)26 b(login)g(shell.)39 b(See)26 b(Section)g(6.2)h([Bash)e
-(Startup)g(Files],)j(page)e(73,)i(for)d(a)h(description)630
-3387 y(of)31 b(the)f(sp)s(ecial)h(b)s(eha)m(vior)g(of)f(a)h(login)g
-(shell.)150 3547 y Fs(-r)384 b Ft(Mak)m(e)54 b(the)e(shell)g(a)h
-(restricted)g(shell)f(\(see)h(Section)g(6.10)h([The)d(Restricted)j
-(Shell],)630 3656 y(page)31 b(84\).)150 3816 y Fs(-s)384
-b Ft(If)24 b(this)h(option)h(is)f(presen)m(t,)h(or)f(if)g(no)f(argumen)
-m(ts)i(remain)e(after)i(option)f(pro)s(cessing,)h(then)630
-3925 y(commands)i(are)h(read)g(from)f(the)h(standard)f(input.)39
-b(This)28 b(option)h(allo)m(ws)h(the)f(p)s(ositional)630
-4035 y(parameters)i(to)g(b)s(e)f(set)g(when)g(in)m(v)m(oking)h(an)g(in)
-m(teractiv)m(e)i(shell.)150 4194 y Fs(-D)384 b Ft(A)37
+d(Restricted)j(Shell],)630 3404 y(page)31 b(86\).)150
+3559 y Fs(-s)384 b Ft(If)24 b(this)h(option)h(is)f(presen)m(t,)h(or)f
+(if)g(no)f(argumen)m(ts)i(remain)e(after)i(option)f(pro)s(cessing,)h
+(then)630 3669 y(commands)i(are)h(read)g(from)f(the)h(standard)f
+(input.)39 b(This)28 b(option)h(allo)m(ws)h(the)f(p)s(ositional)630
+3778 y(parameters)i(to)g(b)s(e)f(set)g(when)g(in)m(v)m(oking)h(an)g(in)
+m(teractiv)m(e)i(shell.)150 3934 y Fs(-D)384 b Ft(A)37
b(list)g(of)f(all)i(double-quoted)e(strings)g(preceded)g(b)m(y)h(`)p
Fs($)p Ft(')f(is)h(prin)m(ted)f(on)g(the)h(standard)630
-4304 y(output.)63 b(These)38 b(are)g(the)g(strings)g(that)h(are)f(sub)5
-b(ject)38 b(to)h(language)g(translation)g(when)630 4413
+4043 y(output.)63 b(These)38 b(are)g(the)g(strings)g(that)h(are)f(sub)5
+b(ject)38 b(to)h(language)g(translation)g(when)630 4153
y(the)e(curren)m(t)g(lo)s(cale)h(is)f(not)g Fs(C)g Ft(or)f
Fs(POSIX)g Ft(\(see)h(Section)h(3.1.2.5)h([Lo)s(cale)g(T)-8
-b(ranslation],)630 4523 y(page)31 b(7\).)42 b(This)29
+b(ranslation],)630 4262 y(page)31 b(7\).)42 b(This)29
b(implies)i(the)f(`)p Fs(-n)p Ft(')h(option;)g(no)f(commands)g(will)h
-(b)s(e)e(executed.)150 4682 y Fs([-+]O)g([)p Fi(shopt_option)11
-b Fs(])630 4792 y Fq(shopt)p 854 4792 28 4 v 40 w(option)44
+(b)s(e)e(executed.)150 4418 y Fs([-+]O)g([)p Fi(shopt_option)11
+b Fs(])630 4527 y Fq(shopt)p 854 4527 28 4 v 40 w(option)44
b Ft(is)g(one)h(of)f(the)g(shell)h(options)f(accepted)h(b)m(y)f(the)h
-Fs(shopt)d Ft(builtin)i(\(see)630 4902 y(Section)28 b(4.3.2)g([The)f
-(Shopt)f(Builtin],)i(page)f(55\).)41 b(If)26 b Fq(shopt)p
-2690 4902 V 40 w(option)h Ft(is)g(presen)m(t,)h(`)p Fs(-O)p
-Ft(')f(sets)630 5011 y(the)40 b(v)-5 b(alue)40 b(of)f(that)h(option;)45
+Fs(shopt)d Ft(builtin)i(\(see)630 4637 y(Section)28 b(4.3.2)g([The)f
+(Shopt)f(Builtin],)i(page)f(57\).)41 b(If)26 b Fq(shopt)p
+2690 4637 V 40 w(option)h Ft(is)g(presen)m(t,)h(`)p Fs(-O)p
+Ft(')f(sets)630 4746 y(the)40 b(v)-5 b(alue)40 b(of)f(that)h(option;)45
b(`)p Fs(+O)p Ft(')40 b(unsets)e(it.)69 b(If)39 b Fq(shopt)p
-2631 5011 V 40 w(option)h Ft(is)f(not)h(supplied,)h(the)630
-5121 y(names)e(and)g(v)-5 b(alues)40 b(of)g(the)g(shell)f(options)h
+2631 4746 V 40 w(option)h Ft(is)f(not)h(supplied,)h(the)630
+4856 y(names)e(and)g(v)-5 b(alues)40 b(of)g(the)g(shell)f(options)h
(accepted)h(b)m(y)e Fs(shopt)f Ft(are)i(prin)m(ted)f(on)h(the)630
-5230 y(standard)33 b(output.)50 b(If)33 b(the)h(in)m(v)m(o)s(cation)i
+4966 y(standard)33 b(output.)50 b(If)33 b(the)h(in)m(v)m(o)s(cation)i
(option)e(is)g(`)p Fs(+O)p Ft(',)g(the)g(output)f(is)h(displa)m(y)m(ed)
-g(in)g(a)630 5340 y(format)d(that)g(ma)m(y)g(b)s(e)e(reused)h(as)h
-(input.)p eop end
-%%Page: 73 79
-TeXDict begin 73 78 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(73)150 299 y Fs(--)384
-b Ft(A)38 b Fs(--)g Ft(signals)g(the)h(end)e(of)i(options)f(and)g
-(disables)g(further)f(option)h(pro)s(cessing.)64 b(An)m(y)630
-408 y(argumen)m(ts)31 b(after)g(the)f Fs(--)g Ft(are)h(treated)g(as)g
-(\014lenames)f(and)g(argumen)m(ts.)275 567 y(A)d Fk(lo)-5
-b(gin)35 b Ft(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)m(haracter)j
-(of)e(argumen)m(t)h(zero)f(is)h(`)p Fs(-)p Ft(',)g(or)f(one)g(in)m(v)m
-(ok)m(ed)i(with)e(the)150 676 y(`)p Fs(--login)p Ft(')i(option.)275
-810 y(An)24 b Fk(inter)-5 b(active)33 b Ft(shell)25 b(is)g(one)g
-(started)g(without)g(non-option)h(argumen)m(ts,)g(unless)f(`)p
-Fs(-s)p Ft(')f(is)h(sp)s(eci\014ed,)150 920 y(without)43
-b(sp)s(ecifying)f(the)i(`)p Fs(-c)p Ft(')e(option,)47
-b(and)42 b(whose)h(input)f(and)g(output)g(are)h(b)s(oth)g(connected)g
-(to)150 1029 y(terminals)22 b(\(as)h(determined)f(b)m(y)g
-Fs(isatty\(3\))p Ft(\),)f(or)i(one)f(started)g(with)g(the)g(`)p
-Fs(-i)p Ft(')g(option.)39 b(See)22 b(Section)h(6.3)150
-1139 y([In)m(teractiv)m(e)33 b(Shells],)e(page)g(75,)g(for)f(more)h
-(information.)275 1273 y(If)38 b(argumen)m(ts)h(remain)g(after)g
-(option)h(pro)s(cessing,)h(and)d(neither)h(the)g(`)p
-Fs(-c)p Ft(')f(nor)h(the)g(`)p Fs(-s)p Ft(')f(option)150
-1382 y(has)33 b(b)s(een)g(supplied,)h(the)g(\014rst)e(argumen)m(t)j(is)
-e(assumed)g(to)h(b)s(e)f(the)h(name)g(of)g(a)g(\014le)g(con)m(taining)h
-(shell)150 1492 y(commands)30 b(\(see)g(Section)h(3.8)g([Shell)f
-(Scripts],)g(page)h(33\).)41 b(When)30 b(Bash)g(is)g(in)m(v)m(ok)m(ed)i
-(in)d(this)h(fashion,)150 1601 y Fs($0)37 b Ft(is)g(set)h(to)h(the)e
-(name)h(of)f(the)h(\014le,)i(and)c(the)i(p)s(ositional)g(parameters)g
-(are)g(set)g(to)g(the)g(remaining)150 1711 y(argumen)m(ts.)h(Bash)26
-b(reads)f(and)g(executes)h(commands)f(from)g(this)g(\014le,)i(then)e
-(exits.)40 b(Bash's)25 b(exit)i(status)150 1821 y(is)f(the)h(exit)h
-(status)e(of)h(the)g(last)g(command)f(executed)h(in)g(the)f(script.)40
-b(If)26 b(no)g(commands)g(are)h(executed,)150 1930 y(the)k(exit)g
-(status)g(is)f(0.)150 2161 y Fr(6.2)68 b(Bash)45 b(Startup)g(Files)150
-2321 y Ft(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
+g(in)g(a)630 5075 y(format)d(that)g(ma)m(y)g(b)s(e)e(reused)h(as)h
+(input.)150 5230 y Fs(--)384 b Ft(A)38 b Fs(--)g Ft(signals)g(the)h
+(end)e(of)i(options)f(and)g(disables)g(further)f(option)h(pro)s
+(cessing.)64 b(An)m(y)630 5340 y(argumen)m(ts)31 b(after)g(the)f
+Fs(--)g Ft(are)h(treated)g(as)g(\014lenames)f(and)g(argumen)m(ts.)p
+eop end
+%%Page: 75 81
+TeXDict begin 75 80 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(75)275 299 y(A)27 b
+Fk(lo)-5 b(gin)35 b Ft(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)m
+(haracter)j(of)e(argumen)m(t)h(zero)f(is)h(`)p Fs(-)p
+Ft(',)g(or)f(one)g(in)m(v)m(ok)m(ed)i(with)e(the)150
+408 y(`)p Fs(--login)p Ft(')i(option.)275 546 y(An)24
+b Fk(inter)-5 b(active)33 b Ft(shell)25 b(is)g(one)g(started)g(without)
+g(non-option)h(argumen)m(ts,)g(unless)f(`)p Fs(-s)p Ft(')f(is)h(sp)s
+(eci\014ed,)150 656 y(without)43 b(sp)s(ecifying)f(the)i(`)p
+Fs(-c)p Ft(')e(option,)47 b(and)42 b(whose)h(input)f(and)g(output)g
+(are)h(b)s(oth)g(connected)g(to)150 766 y(terminals)22
+b(\(as)h(determined)f(b)m(y)g Fs(isatty\(3\))p Ft(\),)f(or)i(one)f
+(started)g(with)g(the)g(`)p Fs(-i)p Ft(')g(option.)39
+b(See)22 b(Section)h(6.3)150 875 y([In)m(teractiv)m(e)33
+b(Shells],)e(page)g(76,)g(for)f(more)h(information.)275
+1013 y(If)38 b(argumen)m(ts)h(remain)g(after)g(option)h(pro)s(cessing,)
+h(and)d(neither)h(the)g(`)p Fs(-c)p Ft(')f(nor)h(the)g(`)p
+Fs(-s)p Ft(')f(option)150 1123 y(has)33 b(b)s(een)g(supplied,)h(the)g
+(\014rst)e(argumen)m(t)j(is)e(assumed)g(to)h(b)s(e)f(the)h(name)g(of)g
+(a)g(\014le)g(con)m(taining)h(shell)150 1232 y(commands)30
+b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)h(34\).)41
+b(When)30 b(Bash)g(is)g(in)m(v)m(ok)m(ed)i(in)d(this)h(fashion,)150
+1342 y Fs($0)37 b Ft(is)g(set)h(to)h(the)e(name)h(of)f(the)h(\014le,)i
+(and)c(the)i(p)s(ositional)g(parameters)g(are)g(set)g(to)g(the)g
+(remaining)150 1451 y(argumen)m(ts.)h(Bash)26 b(reads)f(and)g(executes)
+h(commands)f(from)g(this)g(\014le,)i(then)e(exits.)40
+b(Bash's)25 b(exit)i(status)150 1561 y(is)f(the)h(exit)h(status)e(of)h
+(the)g(last)g(command)f(executed)h(in)g(the)f(script.)40
+b(If)26 b(no)g(commands)g(are)h(executed,)150 1671 y(the)k(exit)g
+(status)g(is)f(0.)150 1908 y Fr(6.2)68 b(Bash)45 b(Startup)g(Files)150
+2068 y Ft(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
(its)g(startup)f(\014les.)38 b(If)24 b(an)m(y)h(of)f(the)h(\014les)f
-(exist)h(but)e(cannot)150 2430 y(b)s(e)k(read,)i(Bash)f(rep)s(orts)f
+(exist)h(but)e(cannot)150 2177 y(b)s(e)k(read,)i(Bash)f(rep)s(orts)f
(an)h(error.)39 b(Tildes)28 b(are)g(expanded)f(in)h(\014le)g(names)g
-(as)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)150 2540
+(as)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(under)150 2287
y(Tilde)h(Expansion)g(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h
-(page)g(19\).)275 2674 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s
-(ed)e(in)h(Section)h(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(75.)
-150 2872 y Fj(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f
+(page)g(20\).)275 2425 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s
+(ed)e(in)h(Section)h(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(76.)
+150 2627 y Fj(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f
(login)j(shell,)g(or)g(with)e(`)p Fh(--login)p Fj(')150
-3019 y Ft(When)c(Bash)f(is)h(in)m(v)m(ok)m(ed)h(as)f(an)g(in)m
+2774 y Ft(When)c(Bash)f(is)h(in)m(v)m(ok)m(ed)h(as)f(an)g(in)m
(teractiv)m(e)j(login)d(shell,)i(or)e(as)g(a)g(non-in)m(teractiv)m(e)i
-(shell)e(with)g(the)150 3128 y(`)p Fs(--login)p Ft(')j(option,)k(it)e
+(shell)e(with)g(the)150 2884 y(`)p Fs(--login)p Ft(')j(option,)k(it)e
(\014rst)e(reads)h(and)g(executes)h(commands)f(from)f(the)i(\014le)f(`)
-p Fs(/etc/profile)p Ft(',)g(if)150 3238 y(that)35 b(\014le)g(exists.)55
+p Fs(/etc/profile)p Ft(',)g(if)150 2993 y(that)35 b(\014le)g(exists.)55
b(After)35 b(reading)g(that)g(\014le,)h(it)g(lo)s(oks)f(for)f(`)p
Fs(~/.bash_profile)p Ft(',)f(`)p Fs(~/.bash_login)p Ft(',)150
-3348 y(and)28 b(`)p Fs(~/.profile)p Ft(',)f(in)i(that)g(order,)g(and)f
+3103 y(and)28 b(`)p Fs(~/.profile)p Ft(',)f(in)i(that)g(order,)g(and)f
(reads)g(and)h(executes)h(commands)e(from)g(the)h(\014rst)f(one)h(that)
-150 3457 y(exists)i(and)e(is)h(readable.)41 b(The)30
+150 3213 y(exists)i(and)e(is)h(readable.)41 b(The)30
b(`)p Fs(--noprofile)p Ft(')d(option)k(ma)m(y)f(b)s(e)g(used)f(when)g
-(the)h(shell)h(is)f(started)g(to)150 3567 y(inhibit)g(this)g(b)s(eha)m
-(vior.)275 3701 y(When)72 b(a)i(login)g(shell)f(exits,)85
+(the)h(shell)h(is)f(started)g(to)150 3322 y(inhibit)g(this)g(b)s(eha)m
+(vior.)275 3460 y(When)72 b(a)i(login)g(shell)f(exits,)85
b(Bash)73 b(reads)g(and)g(executes)h(commands)f(from)g(the)g(\014le)150
-3810 y(`)p Fs(~/.bash_logout)p Ft(',)27 b(if)k(it)f(exists.)150
-4008 y Fj(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f
-(non-login)k(shell)150 4155 y Ft(When)g(an)h(in)m(teractiv)m(e)i(shell)
+3570 y(`)p Fs(~/.bash_logout)p Ft(',)27 b(if)k(it)f(exists.)150
+3772 y Fj(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f
+(non-login)k(shell)150 3919 y Ft(When)g(an)h(in)m(teractiv)m(e)i(shell)
e(that)g(is)f(not)h(a)g(login)g(shell)g(is)f(started,)48
-b(Bash)c(reads)f(and)g(executes)150 4265 y(commands)24
+b(Bash)c(reads)f(and)g(executes)150 4029 y(commands)24
b(from)f(`)p Fs(~/.bashrc)p Ft(',)h(if)g(that)g(\014le)g(exists.)40
b(This)23 b(ma)m(y)i(b)s(e)e(inhibited)g(b)m(y)h(using)g(the)g(`)p
-Fs(--norc)p Ft(')150 4374 y(option.)52 b(The)33 b(`)p
+Fs(--norc)p Ft(')150 4138 y(option.)52 b(The)33 b(`)p
Fs(--rcfile)28 b Fi(file)11 b Ft(')33 b(option)h(will)g(force)h(Bash)f
-(to)h(read)e(and)h(execute)h(commands)e(from)150 4484
+(to)h(read)e(and)h(execute)h(commands)e(from)150 4248
y Fq(\014le)j Ft(instead)30 b(of)h(`)p Fs(~/.bashrc)p
-Ft('.)275 4618 y(So,)f(t)m(ypically)-8 b(,)33 b(y)m(our)d(`)p
+Ft('.)275 4386 y(So,)f(t)m(ypically)-8 b(,)33 b(y)m(our)d(`)p
Fs(~/.bash_profile)p Ft(')d(con)m(tains)32 b(the)e(line)390
-4752 y Fs(if)47 b([)h(-f)f(~/.bashrc)e(];)i(then)g(.)g(~/.bashrc;)e(fi)
-150 4885 y Ft(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h(login-sp)s
-(eci\014c)g(initializations.)150 5083 y Fj(In)m(v)m(ok)m(ed)40
-b(non-in)m(teractiv)m(ely)150 5230 y Ft(When)33 b(Bash)g(is)g(started)h
+4524 y Fs(if)47 b([)h(-f)f(~/.bashrc)e(];)i(then)g(.)g(~/.bashrc;)e(fi)
+150 4662 y Ft(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h(login-sp)s
+(eci\014c)g(initializations.)150 4864 y Fj(In)m(v)m(ok)m(ed)40
+b(non-in)m(teractiv)m(ely)150 5011 y Ft(When)33 b(Bash)g(is)g(started)h
(non-in)m(teractiv)m(ely)-8 b(,)37 b(to)d(run)e(a)h(shell)h(script,)g
-(for)f(example,)i(it)e(lo)s(oks)h(for)f(the)150 5340
+(for)f(example,)i(it)e(lo)s(oks)h(for)f(the)150 5121
y(v)-5 b(ariable)35 b Fs(BASH_ENV)d Ft(in)i(the)h(en)m(vironmen)m(t,)h
(expands)e(its)g(v)-5 b(alue)35 b(if)g(it)g(app)s(ears)e(there,)j(and)e
-(uses)g(the)p eop end
-%%Page: 74 80
-TeXDict begin 74 79 bop 150 -116 a Ft(74)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(expanded)f(v)-5 b(alue)30
-b(as)h(the)g(name)f(of)h(a)f(\014le)h(to)g(read)f(and)g(execute.)42
-b(Bash)31 b(b)s(eha)m(v)m(es)g(as)g(if)f(the)g(follo)m(wing)150
-408 y(command)g(w)m(ere)h(executed:)390 570 y Fs(if)47
-b([)h(-n)f("$BASH_ENV")e(];)i(then)f(.)i("$BASH_ENV";)c(fi)150
-732 y Ft(but)30 b(the)g(v)-5 b(alue)31 b(of)g(the)f Fs(PATH)f
-Ft(v)-5 b(ariable)32 b(is)e(not)h(used)e(to)i(searc)m(h)g(for)f(the)h
-(\014le)f(name.)275 893 y(As)38 b(noted)h(ab)s(o)m(v)m(e,)j(if)c(a)h
-(non-in)m(teractiv)m(e)i(shell)e(is)g(in)m(v)m(ok)m(ed)h(with)e(the)g
-(`)p Fs(--login)p Ft(')g(option,)j(Bash)150 1003 y(attempts)31
-b(to)g(read)g(and)e(execute)j(commands)e(from)g(the)h(login)g(shell)g
-(startup)e(\014les.)150 1229 y Fj(In)m(v)m(ok)m(ed)40
-b(with)g(name)h Fh(sh)150 1376 y Ft(If)c(Bash)g(is)g(in)m(v)m(ok)m(ed)i
-(with)e(the)g(name)g Fs(sh)p Ft(,)i(it)f(tries)f(to)h(mimic)g(the)f
-(startup)g(b)s(eha)m(vior)g(of)h(historical)150 1486
-y(v)m(ersions)31 b(of)f Fs(sh)g Ft(as)h(closely)h(as)e(p)s(ossible,)g
-(while)h(conforming)f(to)h(the)g Fl(posix)e Ft(standard)h(as)h(w)m
-(ell.)275 1647 y(When)50 b(in)m(v)m(ok)m(ed)j(as)f(an)f(in)m(teractiv)m
-(e)j(login)e(shell,)57 b(or)51 b(as)g(a)h(non-in)m(teractiv)m(e)h
-(shell)f(with)f(the)150 1757 y(`)p Fs(--login)p Ft(')39
-b(option,)k(it)e(\014rst)e(attempts)i(to)g(read)f(and)g(execute)h
-(commands)f(from)g(`)p Fs(/etc/profile)p Ft(')150 1867
-y(and)d(`)p Fs(~/.profile)p Ft(',)g(in)g(that)h(order.)62
-b(The)37 b(`)p Fs(--noprofile)p Ft(')e(option)j(ma)m(y)g(b)s(e)f(used)g
-(to)h(inhibit)f(this)150 1976 y(b)s(eha)m(vior.)82 b(When)44
-b(in)m(v)m(ok)m(ed)h(as)g(an)f(in)m(teractiv)m(e)j(shell)d(with)g(the)g
-(name)g Fs(sh)p Ft(,)j(Bash)d(lo)s(oks)h(for)f(the)150
-2086 y(v)-5 b(ariable)37 b Fs(ENV)p Ft(,)g(expands)e(its)i(v)-5
-b(alue)36 b(if)g(it)h(is)f(de\014ned,)h(and)e(uses)h(the)g(expanded)g
-(v)-5 b(alue)36 b(as)h(the)f(name)150 2195 y(of)i(a)h(\014le)g(to)g
-(read)f(and)g(execute.)66 b(Since)38 b(a)h(shell)f(in)m(v)m(ok)m(ed)i
-(as)f Fs(sh)e Ft(do)s(es)h(not)h(attempt)g(to)g(read)g(and)150
-2305 y(execute)i(commands)e(from)g(an)m(y)h(other)g(startup)f(\014les,)
-j(the)e(`)p Fs(--rcfile)p Ft(')d(option)j(has)g(no)f(e\013ect.)70
-b(A)150 2415 y(non-in)m(teractiv)m(e)32 b(shell)d(in)m(v)m(ok)m(ed)h
+(uses)g(the)150 5230 y(expanded)c(v)-5 b(alue)30 b(as)h(the)g(name)f
+(of)h(a)f(\014le)h(to)g(read)f(and)g(execute.)42 b(Bash)31
+b(b)s(eha)m(v)m(es)g(as)g(if)f(the)g(follo)m(wing)150
+5340 y(command)g(w)m(ere)h(executed:)p eop end
+%%Page: 76 82
+TeXDict begin 76 81 bop 150 -116 a Ft(76)2572 b(Bash)31
+b(Reference)g(Man)m(ual)390 299 y Fs(if)47 b([)h(-n)f("$BASH_ENV")e(];)
+i(then)f(.)i("$BASH_ENV";)c(fi)150 461 y Ft(but)30 b(the)g(v)-5
+b(alue)31 b(of)g(the)f Fs(PATH)f Ft(v)-5 b(ariable)32
+b(is)e(not)h(used)e(to)i(searc)m(h)g(for)f(the)h(\014le)f(name.)275
+622 y(As)38 b(noted)h(ab)s(o)m(v)m(e,)j(if)c(a)h(non-in)m(teractiv)m(e)
+i(shell)e(is)g(in)m(v)m(ok)m(ed)h(with)e(the)g(`)p Fs(--login)p
+Ft(')g(option,)j(Bash)150 732 y(attempts)31 b(to)g(read)g(and)e
+(execute)j(commands)e(from)g(the)h(login)g(shell)g(startup)e(\014les.)
+150 958 y Fj(In)m(v)m(ok)m(ed)40 b(with)g(name)h Fh(sh)150
+1105 y Ft(If)c(Bash)g(is)g(in)m(v)m(ok)m(ed)i(with)e(the)g(name)g
+Fs(sh)p Ft(,)i(it)f(tries)f(to)h(mimic)g(the)f(startup)g(b)s(eha)m
+(vior)g(of)h(historical)150 1215 y(v)m(ersions)31 b(of)f
+Fs(sh)g Ft(as)h(closely)h(as)e(p)s(ossible,)g(while)h(conforming)f(to)h
+(the)g Fl(posix)e Ft(standard)h(as)h(w)m(ell.)275 1376
+y(When)50 b(in)m(v)m(ok)m(ed)j(as)f(an)f(in)m(teractiv)m(e)j(login)e
+(shell,)57 b(or)51 b(as)g(a)h(non-in)m(teractiv)m(e)h(shell)f(with)f
+(the)150 1486 y(`)p Fs(--login)p Ft(')39 b(option,)k(it)e(\014rst)e
+(attempts)i(to)g(read)f(and)g(execute)h(commands)f(from)g(`)p
+Fs(/etc/profile)p Ft(')150 1596 y(and)d(`)p Fs(~/.profile)p
+Ft(',)g(in)g(that)h(order.)62 b(The)37 b(`)p Fs(--noprofile)p
+Ft(')e(option)j(ma)m(y)g(b)s(e)f(used)g(to)h(inhibit)f(this)150
+1705 y(b)s(eha)m(vior.)82 b(When)44 b(in)m(v)m(ok)m(ed)h(as)g(an)f(in)m
+(teractiv)m(e)j(shell)d(with)g(the)g(name)g Fs(sh)p Ft(,)j(Bash)d(lo)s
+(oks)h(for)f(the)150 1815 y(v)-5 b(ariable)37 b Fs(ENV)p
+Ft(,)g(expands)e(its)i(v)-5 b(alue)36 b(if)g(it)h(is)f(de\014ned,)h
+(and)e(uses)h(the)g(expanded)g(v)-5 b(alue)36 b(as)h(the)f(name)150
+1924 y(of)i(a)h(\014le)g(to)g(read)f(and)g(execute.)66
+b(Since)38 b(a)h(shell)f(in)m(v)m(ok)m(ed)i(as)f Fs(sh)e
+Ft(do)s(es)h(not)h(attempt)g(to)g(read)g(and)150 2034
+y(execute)i(commands)e(from)g(an)m(y)h(other)g(startup)f(\014les,)j
+(the)e(`)p Fs(--rcfile)p Ft(')d(option)j(has)g(no)f(e\013ect.)70
+b(A)150 2143 y(non-in)m(teractiv)m(e)32 b(shell)d(in)m(v)m(ok)m(ed)h
(with)f(the)g(name)g Fs(sh)f Ft(do)s(es)g(not)i(attempt)g(to)f(read)g
-(an)m(y)g(other)g(startup)150 2524 y(\014les.)275 2686
+(an)m(y)g(other)g(startup)150 2253 y(\014les.)275 2415
y(When)h(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g
Fl(posix)e Ft(mo)s(de)h(after)h(the)g(startup)f(\014les)g(are)h(read.)
-150 2912 y Fj(In)m(v)m(ok)m(ed)40 b(in)h Fg(posix)g Fj(mo)s(de)150
-3059 y Ft(When)25 b(Bash)g(is)h(started)f(in)g Fl(posix)g
+150 2641 y Fj(In)m(v)m(ok)m(ed)40 b(in)h Fg(posix)g Fj(mo)s(de)150
+2788 y Ft(When)25 b(Bash)g(is)h(started)f(in)g Fl(posix)g
Ft(mo)s(de,)h(as)f(with)g(the)h(`)p Fs(--posix)p Ft(')d(command)i(line)
-h(option,)h(it)f(follo)m(ws)150 3169 y(the)e Fl(posix)f
+h(option,)h(it)f(follo)m(ws)150 2898 y(the)e Fl(posix)f
Ft(standard)h(for)f(startup)h(\014les.)38 b(In)24 b(this)g(mo)s(de,)h
(in)m(teractiv)m(e)i(shells)d(expand)f(the)h Fs(ENV)f
-Ft(v)-5 b(ariable)150 3278 y(and)30 b(commands)g(are)g(read)h(and)e
+Ft(v)-5 b(ariable)150 3007 y(and)30 b(commands)g(are)g(read)h(and)e
(executed)j(from)d(the)i(\014le)f(whose)g(name)h(is)f(the)h(expanded)e
-(v)-5 b(alue.)41 b(No)150 3388 y(other)31 b(startup)f(\014les)g(are)h
-(read.)150 3614 y Fj(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h
-(daemon)150 3761 y Ft(Bash)36 b(attempts)h(to)g(determine)f(when)f(it)i
+(v)-5 b(alue.)41 b(No)150 3117 y(other)31 b(startup)f(\014les)g(are)h
+(read.)150 3343 y Fj(In)m(v)m(ok)m(ed)40 b(b)m(y)g(remote)h(shell)h
+(daemon)150 3490 y Ft(Bash)36 b(attempts)h(to)g(determine)f(when)f(it)i
(is)f(b)s(eing)g(run)e(with)i(its)g(standard)g(input)f(connected)i(to)g
-(a)150 3871 y(a)e(net)m(w)m(ork)h(connection,)h(as)e(if)g(b)m(y)g(the)g
-(remote)g(shell)g(daemon,)i(usually)d Fs(rshd)p Ft(,)h(or)g(the)g
-(secure)g(shell)150 3980 y(daemon)41 b Fs(sshd)p Ft(.)70
-b(If)40 b(Bash)h(determines)f(it)h(is)g(b)s(eing)f(run)f(in)i(this)f
-(fashion,)j(it)e(reads)g(and)f(executes)150 4090 y(commands)26
-b(from)f(`)p Fs(~/.bashrc)p Ft(',)g(if)i(that)f(\014le)g(exists)h(and)f
-(is)g(readable.)40 b(It)26 b(will)g(not)g(do)g(this)g(if)g(in)m(v)m(ok)
-m(ed)150 4200 y(as)g Fs(sh)p Ft(.)39 b(The)25 b(`)p Fs(--norc)p
-Ft(')g(option)h(ma)m(y)g(b)s(e)f(used)g(to)i(inhibit)e(this)h(b)s(eha)m
-(vior,)h(and)e(the)h(`)p Fs(--rcfile)p Ft(')e(option)150
-4309 y(ma)m(y)33 b(b)s(e)g(used)f(to)h(force)h(another)f(\014le)g(to)g
-(b)s(e)g(read,)g(but)f Fs(rshd)g Ft(do)s(es)h(not)g(generally)h(in)m(v)
-m(ok)m(e)h(the)e(shell)150 4419 y(with)d(those)h(options)g(or)f(allo)m
-(w)i(them)e(to)h(b)s(e)f(sp)s(eci\014ed.)150 4645 y Fj(In)m(v)m(ok)m
-(ed)40 b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g
-Fg(uid/gid)p Fj(s)150 4792 y Ft(If)34 b(Bash)h(is)g(started)g(with)f
-(the)h(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)
-g(real)g(user)f(\(group\))h(id,)150 4902 y(and)26 b(the)i
+(a)150 3600 y(net)m(w)m(ork)h(connection,)j(as)c(when)g(executed)h(b)m
+(y)f(the)h(remote)g(shell)g(daemon,)h(usually)e Fs(rshd)p
+Ft(,)h(or)g(the)150 3709 y(secure)c(shell)f(daemon)h
+Fs(sshd)p Ft(.)49 b(If)33 b(Bash)g(determines)h(it)g(is)f(b)s(eing)g
+(run)f(in)i(this)f(fashion,)h(it)g(reads)g(and)150 3819
+y(executes)42 b(commands)e(from)g(`)p Fs(~/.bashrc)p
+Ft(',)h(if)g(that)g(\014le)f(exists)i(and)e(is)g(readable.)72
+b(It)40 b(will)h(not)g(do)150 3929 y(this)35 b(if)g(in)m(v)m(ok)m(ed)i
+(as)f Fs(sh)p Ft(.)55 b(The)34 b(`)p Fs(--norc)p Ft(')g(option)i(ma)m
+(y)g(b)s(e)f(used)f(to)i(inhibit)f(this)g(b)s(eha)m(vior,)i(and)e(the)
+150 4038 y(`)p Fs(--rcfile)p Ft(')25 b(option)i(ma)m(y)g(b)s(e)f(used)g
+(to)i(force)f(another)g(\014le)g(to)g(b)s(e)f(read,)i(but)e
+Fs(rshd)f Ft(do)s(es)i(not)g(generally)150 4148 y(in)m(v)m(ok)m(e)32
+b(the)f(shell)f(with)h(those)f(options)h(or)f(allo)m(w)i(them)f(to)g(b)
+s(e)e(sp)s(eci\014ed.)150 4374 y Fj(In)m(v)m(ok)m(ed)40
+b(with)g(unequal)h(e\013ectiv)m(e)e(and)i(real)g Fg(uid/gid)p
+Fj(s)150 4521 y Ft(If)34 b(Bash)h(is)g(started)g(with)f(the)h
+(e\013ectiv)m(e)i(user)d(\(group\))h(id)f(not)h(equal)g(to)g(the)g
+(real)g(user)f(\(group\))h(id,)150 4631 y(and)26 b(the)i
Fs(-p)e Ft(option)h(is)g(not)h(supplied,)e(no)h(startup)g(\014les)g
(are)g(read,)h(shell)f(functions)g(are)g(not)g(inherited)150
-5011 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Fs(SHELLOPTS)p
+4740 y(from)41 b(the)g(en)m(vironmen)m(t,)j(the)d Fs(SHELLOPTS)p
Ft(,)h Fs(BASHOPTS)p Ft(,)g Fs(CDPATH)p Ft(,)g(and)e
-Fs(GLOBIGNORE)e Ft(v)-5 b(ariables,)45 b(if)150 5121
+Fs(GLOBIGNORE)e Ft(v)-5 b(ariables,)45 b(if)150 4850
y(they)28 b(app)s(ear)f(in)h(the)g(en)m(vironmen)m(t,)i(are)e(ignored,)
h(and)e(the)h(e\013ectiv)m(e)j(user)c(id)h(is)g(set)g(to)h(the)f(real)h
-(user)150 5230 y(id.)62 b(If)38 b(the)f Fs(-p)h Ft(option)g(is)f
+(user)150 4959 y(id.)62 b(If)38 b(the)f Fs(-p)h Ft(option)g(is)f
(supplied)g(at)h(in)m(v)m(o)s(cation,)k(the)c(startup)f(b)s(eha)m(vior)
-h(is)g(the)g(same,)i(but)d(the)150 5340 y(e\013ectiv)m(e)c(user)d(id)g
-(is)g(not)h(reset.)p eop end
-%%Page: 75 81
-TeXDict begin 75 80 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(75)150 299 y Fr(6.3)68
-b(In)l(teractiv)l(e)47 b(Shells)150 520 y Fj(6.3.1)63
+h(is)g(the)g(same,)i(but)d(the)150 5069 y(e\013ectiv)m(e)c(user)d(id)g
+(is)g(not)h(reset.)150 5342 y Fr(6.3)68 b(In)l(teractiv)l(e)47
+b(Shells)p eop end
+%%Page: 77 83
+TeXDict begin 77 82 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(77)150 299 y Fj(6.3.1)63
b(What)40 b(is)h(an)g(In)m(teractiv)m(e)e(Shell?)150
-667 y Ft(An)c(in)m(teractiv)m(e)k(shell)d(is)g(one)g(started)g(without)
+446 y Ft(An)c(in)m(teractiv)m(e)k(shell)d(is)g(one)g(started)g(without)
f(non-option)h(argumen)m(ts,)i(unless)d(`)p Fs(-s)p Ft(')h(is)f(sp)s
-(eci\014ed,)150 777 y(without)f(sp)s(ecifying)h(the)f(`)p
+(eci\014ed,)150 555 y(without)f(sp)s(ecifying)h(the)f(`)p
Fs(-c)p Ft(')g(option,)j(and)c(whose)h(input)g(and)g(error)g(output)g
-(are)g(b)s(oth)g(connected)150 886 y(to)d(terminals)g(\(as)g
+(are)g(b)s(oth)g(connected)150 665 y(to)d(terminals)g(\(as)g
(determined)f(b)m(y)g Fs(isatty\(3\))p Ft(\),)f(or)h(one)h(started)f
-(with)g(the)h(`)p Fs(-i)p Ft(')f(option.)275 1018 y(An)g(in)m(teractiv)
-m(e)j(shell)d(generally)i(reads)e(from)g(and)g(writes)g(to)h(a)g
-(user's)f(terminal.)275 1150 y(The)e(`)p Fs(-s)p Ft(')i(in)m(v)m(o)s
-(cation)h(option)f(ma)m(y)g(b)s(e)f(used)f(to)i(set)g(the)g(p)s
-(ositional)g(parameters)f(when)g(an)g(in)m(ter-)150 1259
-y(activ)m(e)k(shell)d(is)h(started.)150 1453 y Fj(6.3.2)63
-b(Is)41 b(this)g(Shell)g(In)m(teractiv)m(e?)150 1600
-y Ft(T)-8 b(o)30 b(determine)g(within)f(a)h(startup)g(script)f(whether)
-g(or)h(not)g(Bash)g(is)g(running)e(in)m(teractiv)m(ely)-8
-b(,)33 b(test)e(the)150 1710 y(v)-5 b(alue)30 b(of)g(the)f(`)p
-Fs(-)p Ft(')h(sp)s(ecial)g(parameter.)41 b(It)29 b(con)m(tains)i
-Fs(i)e Ft(when)g(the)g(shell)h(is)f(in)m(teractiv)m(e.)44
-b(F)-8 b(or)30 b(example:)390 1841 y Fs(case)47 b("$-")f(in)390
-1951 y(*i*\))h(echo)f(This)h(shell)f(is)h(interactive)e(;;)390
-2061 y(*\))i(echo)g(This)f(shell)h(is)g(not)g(interactive)e(;;)390
-2170 y(esac)275 2302 y Ft(Alternativ)m(ely)-8 b(,)28
-b(startup)23 b(scripts)h(ma)m(y)g(examine)g(the)g(v)-5
+(with)g(the)h(`)p Fs(-i)p Ft(')f(option.)275 797 y(An)g(in)m(teractiv)m
+(e)j(shell)d(generally)i(reads)e(from)g(and)g(writes)g(to)h(a)g(user's)
+f(terminal.)275 929 y(The)e(`)p Fs(-s)p Ft(')i(in)m(v)m(o)s(cation)h
+(option)f(ma)m(y)g(b)s(e)f(used)f(to)i(set)g(the)g(p)s(ositional)g
+(parameters)f(when)g(an)g(in)m(ter-)150 1038 y(activ)m(e)k(shell)d(is)h
+(started.)150 1232 y Fj(6.3.2)63 b(Is)41 b(this)g(Shell)g(In)m
+(teractiv)m(e?)150 1379 y Ft(T)-8 b(o)30 b(determine)g(within)f(a)h
+(startup)g(script)f(whether)g(or)h(not)g(Bash)g(is)g(running)e(in)m
+(teractiv)m(ely)-8 b(,)33 b(test)e(the)150 1489 y(v)-5
+b(alue)30 b(of)g(the)f(`)p Fs(-)p Ft(')h(sp)s(ecial)g(parameter.)41
+b(It)29 b(con)m(tains)i Fs(i)e Ft(when)g(the)g(shell)h(is)f(in)m
+(teractiv)m(e.)44 b(F)-8 b(or)30 b(example:)390 1621
+y Fs(case)47 b("$-")f(in)390 1730 y(*i*\))h(echo)f(This)h(shell)f(is)h
+(interactive)e(;;)390 1840 y(*\))i(echo)g(This)f(shell)h(is)g(not)g
+(interactive)e(;;)390 1949 y(esac)275 2081 y Ft(Alternativ)m(ely)-8
+b(,)28 b(startup)23 b(scripts)h(ma)m(y)g(examine)g(the)g(v)-5
b(ariable)25 b Fs(PS1)p Ft(;)g(it)g(is)e(unset)h(in)f(non-in)m
-(teractiv)m(e)150 2411 y(shells,)31 b(and)e(set)i(in)f(in)m(teractiv)m
-(e)k(shells.)40 b(Th)m(us:)390 2543 y Fs(if)47 b([)h(-z)f("$PS1")f(];)h
-(then)772 2653 y(echo)f(This)h(shell)f(is)i(not)f(interactive)390
-2762 y(else)772 2872 y(echo)f(This)h(shell)f(is)i(interactive)390
-2981 y(fi)150 3175 y Fj(6.3.3)63 b(In)m(teractiv)m(e)38
-b(Shell)k(Beha)m(vior)150 3322 y Ft(When)30 b(the)h(shell)f(is)h
+(teractiv)m(e)150 2191 y(shells,)31 b(and)e(set)i(in)f(in)m(teractiv)m
+(e)k(shells.)40 b(Th)m(us:)390 2323 y Fs(if)47 b([)h(-z)f("$PS1")f(];)h
+(then)772 2432 y(echo)f(This)h(shell)f(is)i(not)f(interactive)390
+2542 y(else)772 2651 y(echo)f(This)h(shell)f(is)i(interactive)390
+2761 y(fi)150 2955 y Fj(6.3.3)63 b(In)m(teractiv)m(e)38
+b(Shell)k(Beha)m(vior)150 3102 y Ft(When)30 b(the)h(shell)f(is)h
(running)d(in)m(teractiv)m(ely)-8 b(,)34 b(it)d(c)m(hanges)h(its)f(b)s
-(eha)m(vior)f(in)g(sev)m(eral)i(w)m(a)m(ys.)199 3454
+(eha)m(vior)f(in)g(sev)m(eral)i(w)m(a)m(ys.)199 3234
y(1.)61 b(Startup)37 b(\014les)g(are)h(read)f(and)g(executed)h(as)f
(describ)s(ed)g(in)g(Section)h(6.2)g([Bash)g(Startup)e(Files],)330
-3563 y(page)31 b(73.)199 3695 y(2.)61 b(Job)35 b(Con)m(trol)g(\(see)h
-(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(89\))g(is)f(enabled)g(b)m
-(y)g(default.)55 b(When)34 b(job)330 3805 y(con)m(trol)h(is)f(in)f
+3343 y(page)31 b(75.)199 3475 y(2.)61 b(Job)35 b(Con)m(trol)g(\(see)h
+(Chapter)f(7)g([Job)g(Con)m(trol],)i(page)f(91\))g(is)f(enabled)g(b)m
+(y)g(default.)55 b(When)34 b(job)330 3585 y(con)m(trol)h(is)f(in)f
(e\013ect,)k(Bash)d(ignores)g(the)g(k)m(eyb)s(oard-generated)h(job)e
-(con)m(trol)i(signals)g Fs(SIGTTIN)p Ft(,)330 3914 y
-Fs(SIGTTOU)p Ft(,)29 b(and)g Fs(SIGTSTP)p Ft(.)199 4046
+(con)m(trol)i(signals)g Fs(SIGTTIN)p Ft(,)330 3694 y
+Fs(SIGTTOU)p Ft(,)29 b(and)g Fs(SIGTSTP)p Ft(.)199 3826
y(3.)61 b(Bash)39 b(expands)f(and)g(displa)m(ys)h Fs(PS1)f
Ft(b)s(efore)h(reading)g(the)g(\014rst)f(line)h(of)g(a)g(command,)i
-(and)d(ex-)330 4156 y(pands)30 b(and)g(displa)m(ys)h
+(and)d(ex-)330 3936 y(pands)30 b(and)g(displa)m(ys)h
Fs(PS2)e Ft(b)s(efore)i(reading)g(the)g(second)f(and)h(subsequen)m(t)f
-(lines)h(of)g(a)g(m)m(ulti-line)330 4265 y(command.)199
-4397 y(4.)61 b(Bash)26 b(executes)i(the)e(v)-5 b(alue)27
+(lines)h(of)g(a)g(m)m(ulti-line)330 4045 y(command.)199
+4177 y(4.)61 b(Bash)26 b(executes)i(the)e(v)-5 b(alue)27
b(of)f(the)h Fs(PROMPT_COMMAND)22 b Ft(v)-5 b(ariable)27
-b(as)g(a)f(command)g(b)s(efore)g(prin)m(ting)330 4506
+b(as)g(a)f(command)g(b)s(efore)g(prin)m(ting)330 4287
y(the)31 b(primary)e(prompt,)h Fs($PS1)f Ft(\(see)i(Section)g(5.2)h
-([Bash)f(V)-8 b(ariables],)32 b(page)f(61\).)199 4638
+([Bash)f(V)-8 b(ariables],)32 b(page)f(63\).)199 4419
y(5.)61 b(Readline)30 b(\(see)h(Chapter)e(8)h([Command)e(Line)i
-(Editing],)g(page)g(93\))h(is)f(used)f(to)h(read)f(commands)330
-4748 y(from)h(the)g(user's)g(terminal.)199 4879 y(6.)61
+(Editing],)g(page)g(95\))h(is)f(used)f(to)h(read)f(commands)330
+4528 y(from)h(the)g(user's)g(terminal.)199 4660 y(6.)61
b(Bash)36 b(insp)s(ects)g(the)h(v)-5 b(alue)37 b(of)f(the)g
Fs(ignoreeof)e Ft(option)j(to)g Fs(set)29 b(-o)36 b Ft(instead)h(of)f
-(exiting)i(imme-)330 4989 y(diately)f(when)e(it)i(receiv)m(es)h(an)e
+(exiting)i(imme-)330 4770 y(diately)f(when)e(it)i(receiv)m(es)h(an)e
Fs(EOF)f Ft(on)h(its)g(standard)f(input)g(when)h(reading)g(a)g(command)
-g(\(see)330 5099 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g
-(51\).)199 5230 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1)
-g([Bash)f(History)h(F)-8 b(acilities],)51 b(page)45 b(121\))h(and)d
-(history)330 5340 y(expansion)23 b(\(see)i(Section)f(9.3)h([History)f
-(In)m(teraction],)j(page)d(123\))h(are)f(enabled)g(b)m(y)f(default.)39
-b(Bash)p eop end
-%%Page: 76 82
-TeXDict begin 76 81 bop 150 -116 a Ft(76)2572 b(Bash)31
-b(Reference)g(Man)m(ual)330 299 y(will)23 b(sa)m(v)m(e)i(the)e(command)
-f(history)h(to)h(the)f(\014le)g(named)f(b)m(y)h Fs($HISTFILE)d
-Ft(when)i(an)h(in)m(teractiv)m(e)j(shell)330 408 y(exits.)199
-543 y(8.)61 b(Alias)31 b(expansion)g(\(see)g(Section)g(6.6)g
-([Aliases],)i(page)e(79\))h(is)e(p)s(erformed)f(b)m(y)h(default.)199
-678 y(9.)61 b(In)24 b(the)g(absence)h(of)f(an)m(y)h(traps,)g(Bash)g
-(ignores)f Fs(SIGTERM)f Ft(\(see)i(Section)g(3.7.6)h([Signals],)g(page)
-f(32\).)154 813 y(10.)61 b(In)26 b(the)h(absence)h(of)f(an)m(y)g
-(traps,)g Fs(SIGINT)e Ft(is)i(caugh)m(t)h(and)f(handled)e(\(\(see)k
-(Section)e(3.7.6)i([Signals],)330 923 y(page)i(32\).)42
+g(\(see)330 4879 y(Section)31 b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g
+(54\).)199 5011 y(7.)61 b(Command)43 b(history)h(\(see)h(Section)g(9.1)
+g([Bash)f(History)h(F)-8 b(acilities],)51 b(page)45 b(125\))h(and)d
+(history)330 5121 y(expansion)23 b(\(see)i(Section)f(9.3)h([History)f
+(In)m(teraction],)j(page)d(127\))h(are)f(enabled)g(b)m(y)f(default.)39
+b(Bash)330 5230 y(will)23 b(sa)m(v)m(e)i(the)e(command)f(history)h(to)h
+(the)f(\014le)g(named)f(b)m(y)h Fs($HISTFILE)d Ft(when)i(an)h(in)m
+(teractiv)m(e)j(shell)330 5340 y(exits.)p eop end
+%%Page: 78 84
+TeXDict begin 78 83 bop 150 -116 a Ft(78)2572 b(Bash)31
+b(Reference)g(Man)m(ual)199 299 y(8.)61 b(Alias)31 b(expansion)g(\(see)
+g(Section)g(6.6)g([Aliases],)i(page)e(81\))h(is)e(p)s(erformed)f(b)m(y)
+h(default.)199 431 y(9.)61 b(In)24 b(the)g(absence)h(of)f(an)m(y)h
+(traps,)g(Bash)g(ignores)f Fs(SIGTERM)f Ft(\(see)i(Section)g(3.7.6)h
+([Signals],)g(page)f(34\).)154 563 y(10.)61 b(In)26 b(the)h(absence)h
+(of)f(an)m(y)g(traps,)g Fs(SIGINT)e Ft(is)i(caugh)m(t)h(and)f(handled)e
+(\(\(see)k(Section)e(3.7.6)i([Signals],)330 672 y(page)i(34\).)42
b Fs(SIGINT)29 b Ft(will)h(in)m(terrupt)g(some)h(shell)g(builtins.)154
-1058 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
+804 y(11.)61 b(An)40 b(in)m(teractiv)m(e)j(login)e(shell)g(sends)e(a)i
Fs(SIGHUP)d Ft(to)j(all)g(jobs)f(on)g(exit)h(if)g(the)f
-Fs(huponexit)e Ft(shell)330 1167 y(option)31 b(has)f(b)s(een)g(enabled)
-g(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(32\).)154
-1302 y(12.)61 b(The)26 b(`)p Fs(-n)p Ft(')f(in)m(v)m(o)s(cation)k
+Fs(huponexit)e Ft(shell)330 914 y(option)31 b(has)f(b)s(een)g(enabled)g
+(\(see)h(Section)g(3.7.6)i([Signals],)e(page)g(34\).)154
+1046 y(12.)61 b(The)26 b(`)p Fs(-n)p Ft(')f(in)m(v)m(o)s(cation)k
(option)d(is)g(ignored,)h(and)f(`)p Fs(set)k(-n)p Ft(')25
b(has)h(no)g(e\013ect)i(\(see)e(Section)h(4.3.1)h([The)330
-1412 y(Set)j(Builtin],)g(page)g(51\).)154 1547 y(13.)61
+1155 y(Set)j(Builtin],)g(page)g(54\).)154 1287 y(13.)61
b(Bash)32 b(will)g(c)m(hec)m(k)i(for)e(mail)g(p)s(erio)s(dically)-8
b(,)34 b(dep)s(ending)c(on)i(the)g(v)-5 b(alues)32 b(of)g(the)h
-Fs(MAIL)p Ft(,)e Fs(MAILPATH)p Ft(,)330 1656 y(and)f
+Fs(MAIL)p Ft(,)e Fs(MAILPATH)p Ft(,)330 1397 y(and)f
Fs(MAILCHECK)e Ft(shell)i(v)-5 b(ariables)31 b(\(see)h(Section)f(5.2)g
-([Bash)g(V)-8 b(ariables],)32 b(page)f(61\).)154 1791
+([Bash)g(V)-8 b(ariables],)32 b(page)f(63\).)154 1528
y(14.)61 b(Expansion)32 b(errors)h(due)f(to)i(references)f(to)h(un)m(b)
s(ound)c(shell)j(v)-5 b(ariables)34 b(after)g(`)p Fs(set)29
-b(-u)p Ft(')k(has)g(b)s(een)330 1901 y(enabled)d(will)h(not)g(cause)g
+b(-u)p Ft(')k(has)g(b)s(een)330 1638 y(enabled)d(will)h(not)g(cause)g
(the)f(shell)h(to)g(exit)g(\(see)g(Section)h(4.3.1)g([The)e(Set)h
-(Builtin],)g(page)g(51\).)154 2036 y(15.)61 b(The)48
+(Builtin],)g(page)g(54\).)154 1770 y(15.)61 b(The)48
b(shell)h(will)f(not)h(exit)g(on)g(expansion)f(errors)g(caused)g(b)m(y)
h Fq(v)-5 b(ar)54 b Ft(b)s(eing)48 b(unset)g(or)h(n)m(ull)f(in)330
-2146 y Fs(${)p Fi(var)11 b Fs(:?)p Fi(word)g Fs(})26
+1879 y Fs(${)p Fi(var)11 b Fs(:?)p Fi(word)g Fs(})26
b Ft(expansions)k(\(see)h(Section)h(3.5.3)g([Shell)e(P)m(arameter)i
-(Expansion],)e(page)h(19\).)154 2280 y(16.)61 b(Redirection)31
+(Expansion],)e(page)h(21\).)154 2011 y(16.)61 b(Redirection)31
b(errors)f(encoun)m(tered)h(b)m(y)f(shell)h(builtins)f(will)g(not)h
-(cause)g(the)f(shell)h(to)g(exit.)154 2415 y(17.)61 b(When)26
+(cause)g(the)f(shell)h(to)g(exit.)154 2143 y(17.)61 b(When)26
b(running)f(in)i Fl(posix)e Ft(mo)s(de,)j(a)f(sp)s(ecial)g(builtin)f
(returning)g(an)g(error)h(status)g(will)g(not)f(cause)330
-2525 y(the)31 b(shell)f(to)h(exit)h(\(see)f(Section)g(6.11)h([Bash)f
-(POSIX)e(Mo)s(de],)i(page)g(84\).)154 2660 y(18.)61 b(A)34
+2253 y(the)31 b(shell)f(to)h(exit)h(\(see)f(Section)g(6.11)h([Bash)f
+(POSIX)e(Mo)s(de],)i(page)g(86\).)154 2385 y(18.)61 b(A)34
b(failed)g Fs(exec)f Ft(will)h(not)g(cause)g(the)g(shell)g(to)g(exit)h
(\(see)f(Section)h(4.1)g([Bourne)f(Shell)f(Builtins],)330
-2770 y(page)e(35\).)154 2904 y(19.)61 b(P)m(arser)31
+2494 y(page)e(37\).)154 2626 y(19.)61 b(P)m(arser)31
b(syn)m(tax)f(errors)g(will)h(not)g(cause)g(the)f(shell)h(to)g(exit.)
-154 3039 y(20.)61 b(Simple)21 b(sp)s(elling)h(correction)g(for)g
+154 2758 y(20.)61 b(Simple)21 b(sp)s(elling)h(correction)g(for)g
(directory)g(argumen)m(ts)f(to)i(the)e Fs(cd)g Ft(builtin)g(is)h
-(enabled)f(b)m(y)h(default)330 3149 y(\(see)35 b(the)g(description)f
+(enabled)f(b)m(y)h(default)330 2868 y(\(see)35 b(the)g(description)f
(of)h(the)f Fs(cdspell)f Ft(option)h(to)i(the)e Fs(shopt)f
-Ft(builtin)h(in)g(Section)h(4.3.2)h([The)330 3259 y(Shopt)30
-b(Builtin],)h(page)g(55\).)154 3394 y(21.)61 b(The)42
+Ft(builtin)h(in)g(Section)h(4.3.2)h([The)330 2977 y(Shopt)30
+b(Builtin],)h(page)g(57\).)154 3109 y(21.)61 b(The)42
b(shell)h(will)g(c)m(hec)m(k)h(the)f(v)-5 b(alue)43 b(of)f(the)h
Fs(TMOUT)e Ft(v)-5 b(ariable)44 b(and)e(exit)h(if)g(a)g(command)f(is)h
-(not)330 3503 y(read)30 b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s
+(not)330 3219 y(read)30 b(within)g(the)g(sp)s(eci\014ed)f(n)m(um)m(b)s
(er)g(of)i(seconds)f(after)g(prin)m(ting)g Fs($PS1)f
-Ft(\(see)i(Section)g(5.2)h([Bash)330 3613 y(V)-8 b(ariables],)32
-b(page)f(61\).)150 3847 y Fr(6.4)68 b(Bash)45 b(Conditional)h
-(Expressions)150 4006 y Ft(Conditional)26 b(expressions)g(are)g(used)f
+Ft(\(see)i(Section)g(5.2)h([Bash)330 3328 y(V)-8 b(ariables],)32
+b(page)f(63\).)150 3555 y Fr(6.4)68 b(Bash)45 b(Conditional)h
+(Expressions)150 3715 y Ft(Conditional)26 b(expressions)g(are)g(used)f
(b)m(y)g(the)h Fs([[)f Ft(comp)s(ound)g(command)g(and)g(the)h
-Fs(test)f Ft(and)g Fs([)g Ft(builtin)150 4116 y(commands.)275
-4251 y(Expressions)32 b(ma)m(y)h(b)s(e)g(unary)f(or)h(binary)-8
+Fs(test)f Ft(and)g Fs([)g Ft(builtin)150 3824 y(commands.)275
+3956 y(Expressions)32 b(ma)m(y)h(b)s(e)g(unary)f(or)h(binary)-8
b(.)48 b(Unary)33 b(expressions)f(are)i(often)f(used)f(to)i(examine)g
-(the)150 4361 y(status)26 b(of)g(a)h(\014le.)39 b(There)26
+(the)150 4066 y(status)26 b(of)g(a)h(\014le.)39 b(There)26
b(are)g(string)g(op)s(erators)g(and)g(n)m(umeric)f(comparison)i(op)s
-(erators)f(as)g(w)m(ell.)40 b(If)26 b(the)150 4470 y
+(erators)f(as)g(w)m(ell.)40 b(If)26 b(the)150 4175 y
Fq(\014le)38 b Ft(argumen)m(t)c(to)f(one)h(of)f(the)g(primaries)g(is)g
(of)g(the)g(form)g(`)p Fs(/dev/fd/)p Fi(N)11 b Ft(',)31
-b(then)i(\014le)g(descriptor)g Fq(N)43 b Ft(is)150 4580
+b(then)i(\014le)g(descriptor)g Fq(N)43 b Ft(is)150 4285
y(c)m(hec)m(k)m(ed.)e(If)26 b(the)g Fq(\014le)31 b Ft(argumen)m(t)26
b(to)h(one)f(of)g(the)h(primaries)e(is)h(one)g(of)g(`)p
Fs(/dev/stdin)p Ft(',)f(`)p Fs(/dev/stdout)p Ft(',)150
-4689 y(or)30 b(`)p Fs(/dev/stderr)p Ft(',)e(\014le)j(descriptor)f(0,)h
+4395 y(or)30 b(`)p Fs(/dev/stderr)p Ft(',)e(\014le)j(descriptor)f(0,)h
(1,)g(or)g(2,)g(resp)s(ectiv)m(ely)-8 b(,)32 b(is)e(c)m(hec)m(k)m(ed.)
-275 4825 y(When)h(used)g(with)g(`)p Fs([[)p Ft(',)h(The)f(`)p
-Fs(<)p Ft(')h(and)f(`)p Fs(>)p Ft(')g(op)s(erators)h(sort)g
-(lexicographically)i(using)d(the)h(curren)m(t)150 4934
-y(lo)s(cale.)275 5070 y(Unless)44 b(otherwise)h(sp)s(eci\014ed,)j
+275 4526 y(When)j(used)g(with)h(`)p Fs([[)p Ft(',)h(the)f(`)p
+Fs(<)p Ft(')g(and)f(`)p Fs(>)p Ft(')h(op)s(erators)g(sort)g
+(lexicographically)j(using)c(the)h(curren)m(t)150 4636
+y(lo)s(cale.)42 b(The)30 b Fs(test)f Ft(command)i(uses)f(ASCI)s(I)e
+(ordering.)275 4768 y(Unless)44 b(otherwise)h(sp)s(eci\014ed,)j
(primaries)c(that)h(op)s(erate)g(on)g(\014les)f(follo)m(w)i(sym)m(b)s
-(olic)f(links)g(and)150 5179 y(op)s(erate)31 b(on)f(the)h(target)h(of)e
+(olic)f(links)g(and)150 4878 y(op)s(erate)31 b(on)f(the)h(target)h(of)e
(the)h(link,)f(rather)h(than)f(the)g(link)h(itself.)150
-5340 y Fs(-a)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists.)p eop end
-%%Page: 77 83
-TeXDict begin 77 82 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(77)150 299 y Fs(-b)30
+5032 y Fs(-a)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+Fq(\014le)36 b Ft(exists.)150 5186 y Fs(-b)30 b Fi(file)162
+b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31
+b(and)f(is)g(a)h(blo)s(c)m(k)g(sp)s(ecial)g(\014le.)150
+5340 y Fs(-c)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(c)m(haracter)h(sp)s(ecial)
+f(\014le.)p eop end
+%%Page: 79 85
+TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(79)150 299 y Fs(-d)30
b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36
-b Ft(exists)31 b(and)f(is)g(a)h(blo)s(c)m(k)g(sp)s(ecial)g(\014le.)150
-461 y Fs(-c)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36
-b Ft(exists)31 b(and)f(is)g(a)h(c)m(haracter)h(sp)s(ecial)f(\014le.)150
-623 y Fs(-d)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36
b Ft(exists)31 b(and)f(is)g(a)h(directory)-8 b(.)150
-785 y Fs(-e)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists.)150 948 y Fs(-f)30 b Fi(file)162
+463 y Fs(-e)30 b Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+Fq(\014le)36 b Ft(exists.)150 628 y Fs(-f)30 b Fi(file)162
b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31
-b(and)f(is)g(a)h(regular)f(\014le.)150 1110 y Fs(-g)g
+b(and)f(is)g(a)h(regular)f(\014le.)150 792 y Fs(-g)g
Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b
Ft(exists)31 b(and)f(its)g(set-group-id)h(bit)g(is)f(set.)150
-1272 y Fs(-h)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150
-1434 y Fs(-k)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+956 y Fs(-h)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36
+b Ft(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150
+1121 y Fs(-k)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
Fq(\014le)36 b Ft(exists)31 b(and)f(its)g Fs(")p Ft(stic)m(ky)p
-Fs(")h Ft(bit)g(is)f(set.)150 1596 y Fs(-p)g Fi(file)162
+Fs(")h Ft(bit)g(is)f(set.)150 1285 y Fs(-p)g Fi(file)162
b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31
-b(and)f(is)g(a)h(named)f(pip)s(e)f(\(FIF)m(O\).)150 1759
+b(and)f(is)g(a)h(named)f(pip)s(e)f(\(FIF)m(O\).)150 1450
y Fs(-r)h Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36
-b Ft(exists)31 b(and)f(is)g(readable.)150 1921 y Fs(-s)g
+b Ft(exists)31 b(and)f(is)g(readable.)150 1614 y Fs(-s)g
Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b
Ft(exists)31 b(and)f(has)g(a)g(size)i(greater)f(than)f(zero.)150
-2083 y Fs(-t)g Fi(fd)258 b Ft(T)-8 b(rue)30 b(if)g(\014le)h(descriptor)
+1778 y Fs(-t)g Fi(fd)258 b Ft(T)-8 b(rue)30 b(if)g(\014le)h(descriptor)
f Fq(fd)j Ft(is)e(op)s(en)e(and)h(refers)g(to)h(a)g(terminal.)150
-2245 y Fs(-u)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+1943 y Fs(-u)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
Fq(\014le)36 b Ft(exists)31 b(and)f(its)g(set-user-id)h(bit)f(is)h
-(set.)150 2407 y Fs(-w)f Fi(file)162 b Ft(T)-8 b(rue)30
+(set.)150 2107 y Fs(-w)f Fi(file)162 b Ft(T)-8 b(rue)30
b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(writable.)150
-2570 y Fs(-x)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+2271 y Fs(-x)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(executable.)150
-2732 y Fs(-O)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
+2436 y Fs(-G)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(o)m(wned)g(b)m(y)h(the)f
-(e\013ectiv)m(e)j(user)d(id.)150 2894 y Fs(-G)g Fi(file)162
+(e\013ectiv)m(e)j(group)d(id.)150 2600 y Fs(-L)g Fi(file)162
b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31
-b(and)f(is)g(o)m(wned)g(b)m(y)h(the)f(e\013ectiv)m(e)j(group)d(id.)150
-3056 y Fs(-L)g Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150
-3218 y Fs(-S)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(a)h(so)s(c)m(k)m(et.)150
-3381 y Fs(-N)f Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le)36 b Ft(exists)31 b(and)f(has)g(b)s(een)f(mo)s(di\014ed)h
-(since)g(it)h(w)m(as)g(last)g(read.)150 3543 y Fi(file1)39
-b Fs(-nt)30 b Fi(file2)630 3652 y Ft(T)-8 b(rue)23 b(if)g
-Fq(\014le1)31 b Ft(is)24 b(new)m(er)f(\(according)i(to)f(mo)s
-(di\014cation)g(date\))g(than)g Fq(\014le2)7 b Ft(,)25
-b(or)f(if)f Fq(\014le1)31 b Ft(exists)630 3762 y(and)f
-Fq(\014le2)38 b Ft(do)s(es)30 b(not.)150 3924 y Fi(file1)39
-b Fs(-ot)30 b Fi(file2)630 4034 y Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le1)38 b Ft(is)31 b(older)f(than)g Fq(\014le2)7
-b Ft(,)32 b(or)e(if)h Fq(\014le2)38 b Ft(exists)31 b(and)e
-Fq(\014le1)39 b Ft(do)s(es)30 b(not.)150 4196 y Fi(file1)39
-b Fs(-ef)30 b Fi(file2)630 4305 y Ft(T)-8 b(rue)30 b(if)g
-Fq(\014le1)38 b Ft(and)30 b Fq(\014le2)38 b Ft(refer)30
-b(to)i(the)e(same)h(device)g(and)f(ino)s(de)g(n)m(um)m(b)s(ers.)150
-4468 y Fs(-o)g Fi(optname)630 4577 y Ft(T)-8 b(rue)41
-b(if)g(shell)g(option)h Fq(optname)47 b Ft(is)41 b(enabled.)73
-b(The)41 b(list)h(of)f(options)g(app)s(ears)g(in)g(the)630
-4687 y(description)h(of)f(the)h(`)p Fs(-o)p Ft(')f(option)h(to)h(the)e
+b(and)f(is)g(a)h(sym)m(b)s(olic)g(link.)150 2765 y Fs(-N)f
+Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b
+Ft(exists)31 b(and)f(has)g(b)s(een)f(mo)s(di\014ed)h(since)g(it)h(w)m
+(as)g(last)g(read.)150 2929 y Fs(-O)f Fi(file)162 b Ft(T)-8
+b(rue)30 b(if)g Fq(\014le)36 b Ft(exists)31 b(and)f(is)g(o)m(wned)g(b)m
+(y)h(the)f(e\013ectiv)m(e)j(user)d(id.)150 3093 y Fs(-S)g
+Fi(file)162 b Ft(T)-8 b(rue)30 b(if)g Fq(\014le)36 b
+Ft(exists)31 b(and)f(is)g(a)h(so)s(c)m(k)m(et.)150 3258
+y Fi(file1)39 b Fs(-ef)30 b Fi(file2)630 3367 y Ft(T)-8
+b(rue)30 b(if)g Fq(\014le1)38 b Ft(and)30 b Fq(\014le2)38
+b Ft(refer)30 b(to)i(the)e(same)h(device)g(and)f(ino)s(de)g(n)m(um)m(b)
+s(ers.)150 3532 y Fi(file1)39 b Fs(-nt)30 b Fi(file2)630
+3641 y Ft(T)-8 b(rue)23 b(if)g Fq(\014le1)31 b Ft(is)24
+b(new)m(er)f(\(according)i(to)f(mo)s(di\014cation)g(date\))g(than)g
+Fq(\014le2)7 b Ft(,)25 b(or)f(if)f Fq(\014le1)31 b Ft(exists)630
+3751 y(and)f Fq(\014le2)38 b Ft(do)s(es)30 b(not.)150
+3915 y Fi(file1)39 b Fs(-ot)30 b Fi(file2)630 4025 y
+Ft(T)-8 b(rue)30 b(if)g Fq(\014le1)38 b Ft(is)31 b(older)f(than)g
+Fq(\014le2)7 b Ft(,)32 b(or)e(if)h Fq(\014le2)38 b Ft(exists)31
+b(and)e Fq(\014le1)39 b Ft(do)s(es)30 b(not.)150 4189
+y Fs(-o)g Fi(optname)630 4299 y Ft(T)-8 b(rue)41 b(if)g(the)g(shell)h
+(option)f Fq(optname)47 b Ft(is)41 b(enabled.)73 b(The)41
+b(list)h(of)f(options)h(app)s(ears)e(in)630 4408 y(the)30
+b(description)f(of)h(the)g(`)p Fs(-o)p Ft(')f(option)h(to)h(the)e
Fs(set)g Ft(builtin)g(\(see)i(Section)f(4.3.1)h([The)f(Set)630
-4796 y(Builtin],)31 b(page)g(51\).)150 4959 y Fs(-z)f
-Fi(string)630 5068 y Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f
-Fq(string)38 b Ft(is)31 b(zero.)150 5230 y Fs(-n)f Fi(string)150
-5340 y(string)192 b Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f
+4518 y(Builtin],)h(page)g(54\).)150 4682 y Fs(-v)f Fi(varname)630
+4792 y Ft(T)-8 b(rue)30 b(if)g(the)h(shell)f(v)-5 b(ariable)32
+b Fq(v)-5 b(arname)35 b Ft(is)30 b(set)h(\(has)g(b)s(een)e(assigned)i
+(a)g(v)-5 b(alue\).)150 4956 y Fs(-z)30 b Fi(string)630
+5066 y Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f Fq(string)38
+b Ft(is)31 b(zero.)150 5230 y Fs(-n)f Fi(string)150 5340
+y(string)192 b Ft(T)-8 b(rue)30 b(if)g(the)h(length)g(of)f
Fq(string)38 b Ft(is)31 b(non-zero.)p eop end
-%%Page: 78 84
-TeXDict begin 78 83 bop 150 -116 a Ft(78)2572 b(Bash)31
+%%Page: 80 86
+TeXDict begin 80 85 bop 150 -116 a Ft(80)2572 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fi(string1)39 b Fs(==)30
b Fi(string2)150 408 y(string1)39 b Fs(=)30 b Fi(string2)630
518 y Ft(T)-8 b(rue)35 b(if)h(the)g(strings)g(are)g(equal.)58
@@ -10337,9 +10561,9 @@ b(and)f(righ)m(t)h(bit)m(wise)g(shifts)150 4692 y Fs(<=)f(>=)g(<)g(>)
b(and)e(inequalit)m(y)150 5016 y Fs(&)432 b Ft(bit)m(wise)31
b(AND)150 5178 y Fs(^)432 b Ft(bit)m(wise)31 b(exclusiv)m(e)h(OR)150
5340 y Fs(|)432 b Ft(bit)m(wise)31 b(OR)p eop end
-%%Page: 79 85
-TeXDict begin 79 84 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(79)150 299 y Fs(&&)384
+%%Page: 81 87
+TeXDict begin 81 86 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(81)150 299 y Fs(&&)384
b Ft(logical)33 b(AND)150 446 y Fs(||)384 b Ft(logical)33
b(OR)150 592 y Fs(expr)c(?)h(expr)f(:)h(expr)630 702
y Ft(conditional)i(op)s(erator)150 849 y Fs(=)e(*=)g(/=)g(\045=)f(+=)h
@@ -10359,647 +10583,665 @@ b(is)g(ev)-5 b(aluated)38 b(as)e(an)g(arithmetic)h(expression)f(when)f
(it)h(is)g(referenced,)i(or)150 1909 y(when)31 b(a)i(v)-5
b(ariable)33 b(whic)m(h)f(has)g(b)s(een)f(giv)m(en)j(the)e
Fq(in)m(teger)40 b Ft(attribute)33 b(using)f(`)p Fs(declare)d(-i)p
-Ft(')i(is)i(assigned)150 2019 y(a)k(v)-5 b(alue.)58 b(A)36
-b(n)m(ull)g(v)-5 b(alue)37 b(ev)-5 b(aluates)38 b(to)f(0.)58
-b(A)36 b(shell)h(v)-5 b(ariable)36 b(need)g(not)h(ha)m(v)m(e)g(its)g
-(in)m(teger)g(attribute)150 2128 y(turned)29 b(on)h(to)i(b)s(e)d(used)h
-(in)g(an)g(expression.)275 2256 y(Constan)m(ts)41 b(with)g(a)h(leading)
-f(0)h(are)g(in)m(terpreted)f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72
-b(A)41 b(leading)h(`)p Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p
-Ft(')150 2366 y(denotes)31 b(hexadecimal.)43 b(Otherwise,)31
-b(n)m(um)m(b)s(ers)e(tak)m(e)k(the)e(form)f([)p Fq(base)5
-b Fs(#)p Ft(])p Fq(n)p Ft(,)31 b(where)f Fq(base)36 b
-Ft(is)31 b(a)g(decimal)150 2476 y(n)m(um)m(b)s(er)26
-b(b)s(et)m(w)m(een)i(2)f(and)g(64)h(represen)m(ting)g(the)f(arithmetic)
-h(base,)h(and)d Fq(n)h Ft(is)g(a)h(n)m(um)m(b)s(er)e(in)h(that)h(base.)
-150 2585 y(If)39 b Fq(base)5 b Fs(#)40 b Ft(is)g(omitted,)j(then)d
-(base)g(10)g(is)g(used.)68 b(The)39 b(digits)i(greater)g(than)e(9)h
-(are)g(represen)m(ted)g(b)m(y)150 2695 y(the)34 b(lo)m(w)m(ercase)h
-(letters,)h(the)d(upp)s(ercase)g(letters,)i(`)p Fs(@)p
-Ft(',)g(and)e(`)p Fs(_)p Ft(',)h(in)f(that)h(order.)50
-b(If)32 b Fq(base)39 b Ft(is)34 b(less)f(than)150 2804
-y(or)i(equal)g(to)g(36,)i(lo)m(w)m(ercase)g(and)e(upp)s(ercase)e
-(letters)j(ma)m(y)g(b)s(e)e(used)g(in)m(terc)m(hangeably)i(to)g
-(represen)m(t)150 2914 y(n)m(um)m(b)s(ers)29 b(b)s(et)m(w)m(een)i(10)g
-(and)f(35.)275 3042 y(Op)s(erators)44 b(are)h(ev)-5 b(aluated)46
-b(in)f(order)f(of)h(precedence.)85 b(Sub-expressions)44
-b(in)g(paren)m(theses)i(are)150 3152 y(ev)-5 b(aluated)32
-b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g(the)g(precedence)g(rules)f
-(ab)s(o)m(v)m(e.)150 3371 y Fr(6.6)68 b(Aliases)150 3531
-y Fq(Aliases)41 b Ft(allo)m(w)d(a)f(string)f(to)h(b)s(e)f(substituted)g
-(for)g(a)g(w)m(ord)g(when)g(it)h(is)f(used)f(as)i(the)g(\014rst)e(w)m
-(ord)h(of)h(a)150 3640 y(simple)32 b(command.)45 b(The)31
-b(shell)i(main)m(tains)f(a)h(list)f(of)g(aliases)i(that)e(ma)m(y)h(b)s
-(e)e(set)h(and)g(unset)f(with)h(the)150 3750 y Fs(alias)d
-Ft(and)h Fs(unalias)e Ft(builtin)i(commands.)275 3878
-y(The)f(\014rst)f(w)m(ord)i(of)f(eac)m(h)i(simple)f(command,)g(if)f
-(unquoted,)g(is)h(c)m(hec)m(k)m(ed)h(to)g(see)f(if)g(it)g(has)f(an)g
-(alias.)150 3988 y(If)24 b(so,)i(that)g(w)m(ord)e(is)h(replaced)g(b)m
-(y)f(the)h(text)h(of)e(the)h(alias.)40 b(The)24 b(c)m(haracters)i(`)p
-Fs(/)p Ft(',)h(`)p Fs($)p Ft(',)f(`)p Fs(`)p Ft(',)g(`)p
-Fs(=)p Ft(')f(and)f(an)m(y)h(of)150 4097 y(the)e(shell)g(metac)m
-(haracters)i(or)e(quoting)g(c)m(haracters)h(listed)g(ab)s(o)m(v)m(e)g
-(ma)m(y)f(not)g(app)s(ear)f(in)h(an)g(alias)h(name.)150
-4207 y(The)e(replacemen)m(t)h(text)g(ma)m(y)g(con)m(tain)h(an)m(y)e(v)
--5 b(alid)23 b(shell)f(input,)h(including)f(shell)g(metac)m(haracters.)
-40 b(The)150 4317 y(\014rst)35 b(w)m(ord)g(of)h(the)g(replacemen)m(t)i
-(text)e(is)g(tested)h(for)e(aliases,)k(but)c(a)h(w)m(ord)g(that)g(is)g
-(iden)m(tical)i(to)e(an)150 4426 y(alias)c(b)s(eing)f(expanded)f(is)h
-(not)g(expanded)f(a)h(second)g(time.)43 b(This)30 b(means)h(that)g(one)
-g(ma)m(y)h(alias)g Fs(ls)e Ft(to)150 4536 y Fs("ls)f(-F")p
-Ft(,)36 b(for)f(instance,)i(and)d(Bash)h(do)s(es)g(not)g(try)g(to)g
-(recursiv)m(ely)h(expand)e(the)h(replacemen)m(t)i(text.)150
-4645 y(If)31 b(the)h(last)h(c)m(haracter)g(of)f(the)g(alias)h(v)-5
-b(alue)32 b(is)g(a)g(space)g(or)g(tab)g(c)m(haracter,)i(then)d(the)h
-(next)g(command)150 4755 y(w)m(ord)e(follo)m(wing)i(the)e(alias)i(is)e
-(also)i(c)m(hec)m(k)m(ed)g(for)e(alias)i(expansion.)275
-4883 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f(the)g
-Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
+Ft(')i(is)i(assigned)150 2019 y(a)j(v)-5 b(alue.)58 b(A)36
+b(n)m(ull)f(v)-5 b(alue)37 b(ev)-5 b(aluates)37 b(to)g(0.)57
+b(A)36 b(shell)g(v)-5 b(ariable)37 b(need)e(not)h(ha)m(v)m(e)h(its)f
+Fq(in)m(teger)44 b Ft(attribute)150 2128 y(turned)29
+b(on)h(to)i(b)s(e)d(used)h(in)g(an)g(expression.)275
+2256 y(Constan)m(ts)41 b(with)g(a)h(leading)f(0)h(are)g(in)m(terpreted)
+f(as)g(o)s(ctal)i(n)m(um)m(b)s(ers.)72 b(A)41 b(leading)h(`)p
+Fs(0x)p Ft(')f(or)g(`)p Fs(0X)p Ft(')150 2366 y(denotes)31
+b(hexadecimal.)42 b(Otherwise,)30 b(n)m(um)m(b)s(ers)f(tak)m(e)j(the)f
+(form)f([)p Fq(base)5 b Fs(#)p Ft(])p Fq(n)p Ft(,)31
+b(where)f(the)g(optional)i Fq(base)150 2476 y Ft(is)d(a)h(decimal)g(n)m
+(um)m(b)s(er)e(b)s(et)m(w)m(een)h(2)h(and)e(64)i(represen)m(ting)g(the)
+f(arithmetic)i(base,)e(and)g Fq(n)g Ft(is)g(a)g(n)m(um)m(b)s(er)150
+2585 y(in)41 b(that)i(base.)74 b(If)42 b Fq(base)5 b
+Fs(#)41 b Ft(is)h(omitted,)k(then)41 b(base)h(10)g(is)g(used.)74
+b(The)41 b(digits)h(greater)h(than)e(9)i(are)150 2695
+y(represen)m(ted)38 b(b)m(y)f(the)h(lo)m(w)m(ercase)j(letters,)g(the)d
+(upp)s(ercase)f(letters,)k(`)p Fs(@)p Ft(',)f(and)d(`)p
+Fs(_)p Ft(',)j(in)d(that)i(order.)62 b(If)150 2804 y
+Fq(base)28 b Ft(is)22 b(less)h(than)f(or)h(equal)f(to)i(36,)h(lo)m(w)m
+(ercase)g(and)c(upp)s(ercase)h(letters)i(ma)m(y)f(b)s(e)e(used)h(in)m
+(terc)m(hangeably)150 2914 y(to)31 b(represen)m(t)g(n)m(um)m(b)s(ers)d
+(b)s(et)m(w)m(een)j(10)h(and)d(35.)275 3042 y(Op)s(erators)44
+b(are)h(ev)-5 b(aluated)46 b(in)f(order)f(of)h(precedence.)85
+b(Sub-expressions)44 b(in)g(paren)m(theses)i(are)150
+3152 y(ev)-5 b(aluated)32 b(\014rst)d(and)h(ma)m(y)h(o)m(v)m(erride)g
+(the)g(precedence)g(rules)f(ab)s(o)m(v)m(e.)150 3371
+y Fr(6.6)68 b(Aliases)150 3531 y Fq(Aliases)41 b Ft(allo)m(w)d(a)f
+(string)f(to)h(b)s(e)f(substituted)g(for)g(a)g(w)m(ord)g(when)g(it)h
+(is)f(used)f(as)i(the)g(\014rst)e(w)m(ord)h(of)h(a)150
+3640 y(simple)32 b(command.)45 b(The)31 b(shell)i(main)m(tains)f(a)h
+(list)f(of)g(aliases)i(that)e(ma)m(y)h(b)s(e)e(set)h(and)g(unset)f
+(with)h(the)150 3750 y Fs(alias)d Ft(and)h Fs(unalias)e
+Ft(builtin)i(commands.)275 3878 y(The)f(\014rst)f(w)m(ord)i(of)f(eac)m
+(h)i(simple)f(command,)g(if)f(unquoted,)g(is)h(c)m(hec)m(k)m(ed)h(to)g
+(see)f(if)g(it)g(has)f(an)g(alias.)150 3988 y(If)24 b(so,)i(that)g(w)m
+(ord)e(is)h(replaced)g(b)m(y)f(the)h(text)h(of)e(the)h(alias.)40
+b(The)24 b(c)m(haracters)i(`)p Fs(/)p Ft(',)h(`)p Fs($)p
+Ft(',)f(`)p Fs(`)p Ft(',)g(`)p Fs(=)p Ft(')f(and)f(an)m(y)h(of)150
+4097 y(the)e(shell)g(metac)m(haracters)i(or)e(quoting)g(c)m(haracters)h
+(listed)g(ab)s(o)m(v)m(e)g(ma)m(y)f(not)g(app)s(ear)f(in)h(an)g(alias)h
+(name.)150 4207 y(The)e(replacemen)m(t)h(text)g(ma)m(y)g(con)m(tain)h
+(an)m(y)e(v)-5 b(alid)23 b(shell)f(input,)h(including)f(shell)g(metac)m
+(haracters.)40 b(The)150 4317 y(\014rst)35 b(w)m(ord)g(of)h(the)g
+(replacemen)m(t)i(text)e(is)g(tested)h(for)e(aliases,)k(but)c(a)h(w)m
+(ord)g(that)g(is)g(iden)m(tical)i(to)e(an)150 4426 y(alias)c(b)s(eing)f
+(expanded)f(is)h(not)g(expanded)f(a)h(second)g(time.)43
+b(This)30 b(means)h(that)g(one)g(ma)m(y)h(alias)g Fs(ls)e
+Ft(to)150 4536 y Fs("ls)f(-F")p Ft(,)36 b(for)f(instance,)i(and)d(Bash)
+h(do)s(es)g(not)g(try)g(to)g(recursiv)m(ely)h(expand)e(the)h
+(replacemen)m(t)i(text.)150 4645 y(If)31 b(the)h(last)h(c)m(haracter)g
+(of)f(the)g(alias)h(v)-5 b(alue)32 b(is)g(a)g(space)g(or)g(tab)g(c)m
+(haracter,)i(then)d(the)h(next)g(command)150 4755 y(w)m(ord)e(follo)m
+(wing)i(the)e(alias)i(is)e(also)i(c)m(hec)m(k)m(ed)g(for)e(alias)i
+(expansion.)275 4883 y(Aliases)d(are)f(created)i(and)d(listed)i(with)f
+(the)g Fs(alias)f Ft(command,)h(and)g(remo)m(v)m(ed)h(with)f(the)g
Fs(unalias)150 4993 y Ft(command.)275 5121 y(There)44
b(is)h(no)g(mec)m(hanism)g(for)f(using)h(argumen)m(ts)g(in)f(the)h
(replacemen)m(t)i(text,)i(as)d(in)e Fs(csh)p Ft(.)83
b(If)150 5230 y(argumen)m(ts)37 b(are)h(needed,)g(a)g(shell)f(function)
f(should)g(b)s(e)h(used)f(\(see)i(Section)g(3.3)g([Shell)f(F)-8
-b(unctions],)150 5340 y(page)31 b(14\).)p eop end
-%%Page: 80 86
-TeXDict begin 80 85 bop 150 -116 a Ft(80)2572 b(Bash)31
+b(unctions],)150 5340 y(page)31 b(15\).)p eop end
+%%Page: 82 88
+TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31
b(Reference)g(Man)m(ual)275 299 y(Aliases)i(are)h(not)e(expanded)g
(when)g(the)h(shell)g(is)g(not)g(in)m(teractiv)m(e,)j(unless)c(the)h
Fs(expand_aliases)150 408 y Ft(shell)e(option)f(is)h(set)g(using)f
Fs(shopt)f Ft(\(see)i(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)h
-(page)g(55\).)275 540 y(The)38 b(rules)h(concerning)h(the)f
+(page)g(57\).)275 542 y(The)38 b(rules)h(concerning)h(the)f
(de\014nition)g(and)g(use)g(of)g(aliases)i(are)e(somewhat)h(confusing.)
-67 b(Bash)150 650 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g(one)f
+67 b(Bash)150 651 y(alw)m(a)m(ys)42 b(reads)f(at)h(least)g(one)f
(complete)i(line)e(of)g(input)f(b)s(efore)h(executing)h(an)m(y)f(of)g
-(the)g(commands)150 760 y(on)h(that)h(line.)77 b(Aliases)44
+(the)g(commands)150 761 y(on)h(that)h(line.)77 b(Aliases)44
b(are)e(expanded)g(when)f(a)i(command)f(is)g(read,)k(not)c(when)g(it)g
-(is)h(executed.)150 869 y(Therefore,)f(an)e(alias)h(de\014nition)e(app)
+(is)h(executed.)150 870 y(Therefore,)f(an)e(alias)h(de\014nition)e(app)
s(earing)h(on)f(the)h(same)h(line)f(as)g(another)g(command)f(do)s(es)h
-(not)150 979 y(tak)m(e)31 b(e\013ect)f(un)m(til)g(the)f(next)g(line)h
+(not)150 980 y(tak)m(e)31 b(e\013ect)f(un)m(til)g(the)f(next)g(line)h
(of)f(input)f(is)h(read.)41 b(The)28 b(commands)h(follo)m(wing)i(the)e
-(alias)h(de\014nition)150 1088 y(on)d(that)h(line)f(are)h(not)f
+(alias)h(de\014nition)150 1090 y(on)d(that)h(line)f(are)h(not)f
(a\013ected)i(b)m(y)e(the)g(new)g(alias.)41 b(This)26
b(b)s(eha)m(vior)h(is)g(also)h(an)f(issue)g(when)f(functions)150
-1198 y(are)d(executed.)39 b(Aliases)24 b(are)f(expanded)f(when)f(a)i
+1199 y(are)d(executed.)39 b(Aliases)24 b(are)f(expanded)f(when)f(a)i
(function)g(de\014nition)f(is)h(read,)h(not)f(when)e(the)i(function)150
-1308 y(is)i(executed,)j(b)s(ecause)d(a)h(function)f(de\014nition)f(is)i
+1309 y(is)i(executed,)j(b)s(ecause)d(a)h(function)f(de\014nition)f(is)i
(itself)g(a)f(comp)s(ound)f(command.)39 b(As)25 b(a)h(consequence,)150
-1417 y(aliases)36 b(de\014ned)d(in)h(a)g(function)g(are)h(not)f(a)m(v)
+1418 y(aliases)36 b(de\014ned)d(in)h(a)g(function)g(are)h(not)f(a)m(v)
-5 b(ailable)37 b(un)m(til)d(after)h(that)g(function)f(is)g(executed.)
-53 b(T)-8 b(o)35 b(b)s(e)150 1527 y(safe,)41 b(alw)m(a)m(ys)f(put)d
+53 b(T)-8 b(o)35 b(b)s(e)150 1528 y(safe,)41 b(alw)m(a)m(ys)f(put)d
(alias)j(de\014nitions)e(on)g(a)h(separate)g(line,)i(and)d(do)g(not)g
-(use)g Fs(alias)f Ft(in)h(comp)s(ound)150 1636 y(commands.)275
-1768 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
+(use)g Fs(alias)f Ft(in)h(comp)s(ound)150 1638 y(commands.)275
+1771 y(F)-8 b(or)31 b(almost)g(ev)m(ery)g(purp)s(ose,)e(shell)i
(functions)f(are)g(preferred)g(o)m(v)m(er)h(aliases.)150
-1996 y Fr(6.7)68 b(Arra)l(ys)150 2155 y Ft(Bash)33 b(pro)m(vides)g
+2001 y Fr(6.7)68 b(Arra)l(ys)150 2160 y Ft(Bash)33 b(pro)m(vides)g
(one-dimensional)g(indexed)f(and)h(asso)s(ciativ)m(e)i(arra)m(y)e(v)-5
b(ariables.)49 b(An)m(y)33 b(v)-5 b(ariable)33 b(ma)m(y)150
-2265 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e
+2270 y(b)s(e)e(used)h(as)g(an)g(indexed)f(arra)m(y;)j(the)e
Fs(declare)e Ft(builtin)h(will)i(explicitly)g(declare)g(an)f(arra)m(y)
--8 b(.)46 b(There)32 b(is)150 2374 y(no)h(maxim)m(um)g(limit)h(on)f
+-8 b(.)46 b(There)32 b(is)150 2379 y(no)h(maxim)m(um)g(limit)h(on)f
(the)g(size)h(of)g(an)f(arra)m(y)-8 b(,)35 b(nor)d(an)m(y)i(requiremen)
-m(t)f(that)h(mem)m(b)s(ers)e(b)s(e)g(indexed)150 2484
+m(t)f(that)h(mem)m(b)s(ers)e(b)s(e)g(indexed)150 2489
y(or)26 b(assigned)h(con)m(tiguously)-8 b(.)41 b(Indexed)25
b(arra)m(ys)i(are)f(referenced)g(using)g(in)m(tegers)i(\(including)e
-(arithmetic)150 2593 y(expressions)41 b(\(see)h(Section)g(6.5)h([Shell)
-e(Arithmetic],)46 b(page)c(78\))g(and)f(are)g(zero-based;)48
-b(asso)s(ciativ)m(e)150 2703 y(arra)m(ys)31 b(use)f(arbitrary)g
-(strings.)275 2835 y(An)c(indexed)h(arra)m(y)h(is)f(created)h
+(arithmetic)150 2598 y(expressions)41 b(\(see)h(Section)g(6.5)h([Shell)
+e(Arithmetic],)46 b(page)c(80\))g(and)f(are)g(zero-based;)48
+b(asso)s(ciativ)m(e)150 2708 y(arra)m(ys)31 b(use)f(arbitrary)g
+(strings.)275 2841 y(An)c(indexed)h(arra)m(y)h(is)f(created)h
(automatically)j(if)c(an)m(y)g(v)-5 b(ariable)28 b(is)g(assigned)f(to)h
-(using)f(the)g(syn)m(tax)390 2967 y Fs(name[)p Fi(subscript)11
-b Fs(]=)p Fi(value)150 3099 y Ft(The)25 b Fq(subscript)g
-Ft(is)h(treated)g(as)f(an)g(arithmetic)h(expression)f(that)h(m)m(ust)f
-(ev)-5 b(aluate)27 b(to)e(a)h(n)m(um)m(b)s(er)e(greater)150
-3208 y(than)30 b(or)g(equal)h(to)g(zero.)42 b(T)-8 b(o)31
-b(explicitly)h(declare)f(an)f(arra)m(y)-8 b(,)32 b(use)390
-3340 y Fs(declare)46 b(-a)h Fi(name)150 3472 y Ft(The)30
-b(syn)m(tax)390 3604 y Fs(declare)46 b(-a)h Fi(name)11
-b Fs([)p Fi(subscript)g Fs(])150 3736 y Ft(is)30 b(also)i(accepted;)g
-(the)e Fq(subscript)h Ft(is)g(ignored.)275 3868 y(Asso)s(ciativ)m(e)h
-(arra)m(ys)f(are)g(created)g(using)390 4000 y Fs(declare)46
-b(-A)h Fi(name)11 b Fs(.)275 4132 y Ft(A)m(ttributes)46
-b(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(for)h(an)g(arra)m(y)g(v)-5
-b(ariable)47 b(using)e(the)h Fs(declare)e Ft(and)h Fs(readonly)150
-4242 y Ft(builtins.)40 b(Eac)m(h)31 b(attribute)g(applies)g(to)g(all)g
-(mem)m(b)s(ers)f(of)g(an)h(arra)m(y)-8 b(.)275 4374 y(Arra)m(ys)30
-b(are)h(assigned)f(to)h(using)f(comp)s(ound)f(assignmen)m(ts)i(of)g
-(the)f(form)390 4506 y Fs(name=\(value)p Fi(1)55 b Fs(...)47
-b(value)p Fi(n)11 b Fs(\))150 4638 y Ft(where)37 b(eac)m(h)i
-Fq(v)-5 b(alue)42 b Ft(is)c(of)g(the)f(form)g Fs([)p
-Fi(subscript)11 b Fs(]=)p Fq(string)d Ft(.)58 b(Indexed)36
-b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150 4747 y(require)c(the)g(brac)
-m(k)m(et)h(and)e(subscript.)50 b(When)34 b(assigning)g(to)g(indexed)g
-(arra)m(ys,)h(if)f(the)g(optional)h(sub-)150 4857 y(script)c(is)h
-(supplied,)f(that)h(index)f(is)h(assigned)g(to;)h(otherwise)f(the)f
-(index)h(of)f(the)h(elemen)m(t)h(assigned)f(is)150 4966
-y(the)f(last)g(index)f(assigned)g(to)h(b)m(y)g(the)f(statemen)m(t)i
-(plus)e(one.)41 b(Indexing)30 b(starts)g(at)i(zero.)275
-5098 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8
-b(,)32 b(the)e(subscript)f(is)i(required.)275 5230 y(This)f(syn)m(tax)j
-(is)e(also)i(accepted)g(b)m(y)f(the)f Fs(declare)f Ft(builtin.)44
-b(Individual)31 b(arra)m(y)h(elemen)m(ts)h(ma)m(y)g(b)s(e)150
-5340 y(assigned)e(to)g(using)f(the)g Fs(name[)p Fq(subscript)r
-Fs(]=)p Fq(v)-5 b(alue)33 b Ft(syn)m(tax)e(in)m(tro)s(duced)f(ab)s(o)m
-(v)m(e.)p eop end
-%%Page: 81 87
-TeXDict begin 81 86 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(81)275 299 y(An)m(y)33
-b(elemen)m(t)i(of)f(an)f(arra)m(y)h(ma)m(y)g(b)s(e)f(referenced)g
-(using)g Fs(${name[)p Fq(subscript)r Fs(]})p Ft(.)46
-b(The)33 b(braces)h(are)150 408 y(required)28 b(to)j(a)m(v)m(oid)f
-(con\015icts)g(with)f(the)h(shell's)f(\014lename)h(expansion)f(op)s
-(erators.)41 b(If)28 b(the)i Fq(subscript)g Ft(is)150
-518 y(`)p Fs(@)p Ft(')f(or)g(`)p Fs(*)p Ft(',)g(the)g(w)m(ord)g
-(expands)f(to)i(all)f(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)h
-Fq(name)5 b Ft(.)40 b(These)29 b(subscripts)e(di\013er)i(only)150
-628 y(when)36 b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g(quotes.)
-60 b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j Fs(${name[*]})150
-737 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f(with)h(the)g(v)-5
+(using)f(the)g(syn)m(tax)390 2974 y Fs(name[)p Fi(subscript)11
+b Fs(]=)p Fi(value)150 3108 y Ft(The)37 b Fq(subscript)h
+Ft(is)f(treated)h(as)f(an)g(arithmetic)i(expression)e(that)g(m)m(ust)g
+(ev)-5 b(aluate)39 b(to)f(a)g(n)m(um)m(b)s(er.)59 b(If)150
+3217 y Fq(subscript)29 b Ft(ev)-5 b(aluates)29 b(to)g(a)g(n)m(um)m(b)s
+(er)d(less)j(than)e(zero,)j(it)e(is)h(used)e(as)h(an)g(o\013set)h(from)
+f(one)g(greater)h(than)150 3327 y(the)h(arra)m(y's)h(maxim)m(um)e
+(index)h(\(so)g(a)h(sub)s(cript)d(of)i(-1)h(refers)e(to)i(the)f(last)h
+(elemen)m(t)g(of)f(the)g(arra)m(y\).)41 b(T)-8 b(o)150
+3436 y(explicitly)32 b(declare)f(an)g(arra)m(y)-8 b(,)31
+b(use)390 3570 y Fs(declare)46 b(-a)h Fi(name)150 3703
+y Ft(The)30 b(syn)m(tax)390 3836 y Fs(declare)46 b(-a)h
+Fi(name)11 b Fs([)p Fi(subscript)g Fs(])150 3969 y Ft(is)30
+b(also)i(accepted;)g(the)e Fq(subscript)h Ft(is)g(ignored.)275
+4102 y(Asso)s(ciativ)m(e)h(arra)m(ys)f(are)g(created)g(using)390
+4236 y Fs(declare)46 b(-A)h Fi(name)11 b Fs(.)275 4369
+y Ft(A)m(ttributes)46 b(ma)m(y)h(b)s(e)e(sp)s(eci\014ed)g(for)h(an)g
+(arra)m(y)g(v)-5 b(ariable)47 b(using)e(the)h Fs(declare)e
+Ft(and)h Fs(readonly)150 4478 y Ft(builtins.)40 b(Eac)m(h)31
+b(attribute)g(applies)g(to)g(all)g(mem)m(b)s(ers)f(of)g(an)h(arra)m(y)
+-8 b(.)275 4612 y(Arra)m(ys)30 b(are)h(assigned)f(to)h(using)f(comp)s
+(ound)f(assignmen)m(ts)i(of)g(the)f(form)390 4745 y Fs(name=\(value)p
+Fi(1)55 b Fs(...)47 b(value)p Fi(n)11 b Fs(\))150 4878
+y Ft(where)37 b(eac)m(h)i Fq(v)-5 b(alue)42 b Ft(is)c(of)g(the)f(form)g
+Fs([)p Fi(subscript)11 b Fs(]=)p Fq(string)d Ft(.)58
+b(Indexed)36 b(arra)m(y)i(assignmen)m(ts)g(do)g(not)150
+4988 y(require)c(the)g(brac)m(k)m(et)h(and)e(subscript.)50
+b(When)34 b(assigning)g(to)g(indexed)g(arra)m(ys,)h(if)f(the)g
+(optional)h(sub-)150 5097 y(script)c(is)h(supplied,)f(that)h(index)f
+(is)h(assigned)g(to;)h(otherwise)f(the)f(index)h(of)f(the)h(elemen)m(t)
+h(assigned)f(is)150 5207 y(the)f(last)g(index)f(assigned)g(to)h(b)m(y)g
+(the)f(statemen)m(t)i(plus)e(one.)41 b(Indexing)30 b(starts)g(at)i
+(zero.)275 5340 y(When)e(assigning)h(to)g(an)f(asso)s(ciativ)m(e)j
+(arra)m(y)-8 b(,)32 b(the)e(subscript)f(is)i(required.)p
+eop end
+%%Page: 83 89
+TeXDict begin 83 88 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(83)275 299 y(This)30
+b(syn)m(tax)j(is)e(also)i(accepted)g(b)m(y)f(the)f Fs(declare)f
+Ft(builtin.)44 b(Individual)31 b(arra)m(y)h(elemen)m(ts)h(ma)m(y)g(b)s
+(e)150 408 y(assigned)e(to)g(using)f(the)g Fs(name[)p
+Fq(subscript)r Fs(]=)p Fq(v)-5 b(alue)33 b Ft(syn)m(tax)e(in)m(tro)s
+(duced)f(ab)s(o)m(v)m(e.)275 554 y(An)m(y)j(elemen)m(t)i(of)f(an)f
+(arra)m(y)h(ma)m(y)g(b)s(e)f(referenced)g(using)g Fs(${name[)p
+Fq(subscript)r Fs(]})p Ft(.)46 b(The)33 b(braces)h(are)150
+663 y(required)28 b(to)j(a)m(v)m(oid)f(con\015icts)g(with)f(the)h
+(shell's)f(\014lename)h(expansion)f(op)s(erators.)41
+b(If)28 b(the)i Fq(subscript)g Ft(is)150 773 y(`)p Fs(@)p
+Ft(')f(or)g(`)p Fs(*)p Ft(',)g(the)g(w)m(ord)g(expands)f(to)i(all)f
+(mem)m(b)s(ers)f(of)h(the)g(arra)m(y)h Fq(name)5 b Ft(.)40
+b(These)29 b(subscripts)e(di\013er)i(only)150 883 y(when)36
+b(the)g(w)m(ord)g(app)s(ears)g(within)g(double)g(quotes.)60
+b(If)36 b(the)h(w)m(ord)f(is)g(double-quoted,)j Fs(${name[*]})150
+992 y Ft(expands)20 b(to)h(a)g(single)g(w)m(ord)f(with)h(the)g(v)-5
b(alue)21 b(of)f(eac)m(h)i(arra)m(y)f(mem)m(b)s(er)f(separated)h(b)m(y)
-g(the)f(\014rst)g(c)m(haracter)150 847 y(of)38 b(the)g
+g(the)f(\014rst)g(c)m(haracter)150 1102 y(of)38 b(the)g
Fs(IFS)f Ft(v)-5 b(ariable,)41 b(and)c Fs(${name[@]})e
Ft(expands)i(eac)m(h)i(elemen)m(t)g(of)f Fq(name)43 b
-Ft(to)c(a)f(separate)h(w)m(ord.)150 956 y(When)32 b(there)h(are)f(no)g
+Ft(to)c(a)f(separate)h(w)m(ord.)150 1211 y(When)32 b(there)h(are)f(no)g
(arra)m(y)h(mem)m(b)s(ers,)f Fs(${name[@]})e Ft(expands)h(to)i
-(nothing.)47 b(If)31 b(the)i(double-quoted)150 1066 y(expansion)39
+(nothing.)47 b(If)31 b(the)i(double-quoted)150 1321 y(expansion)39
b(o)s(ccurs)h(within)f(a)h(w)m(ord,)i(the)d(expansion)h(of)g(the)f
-(\014rst)g(parameter)h(is)g(joined)f(with)h(the)150 1176
+(\014rst)g(parameter)h(is)g(joined)f(with)h(the)150 1431
y(b)s(eginning)j(part)h(of)g(the)g(original)h(w)m(ord,)j(and)43
b(the)h(expansion)g(of)g(the)g(last)h(parameter)f(is)g(joined)150
-1285 y(with)35 b(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)55
+1540 y(with)35 b(the)g(last)h(part)f(of)g(the)g(original)h(w)m(ord.)55
b(This)34 b(is)h(analogous)h(to)g(the)f(expansion)g(of)g(the)g(sp)s
-(ecial)150 1395 y(parameters)28 b(`)p Fs(@)p Ft(')g(and)f(`)p
+(ecial)150 1650 y(parameters)28 b(`)p Fs(@)p Ft(')g(and)f(`)p
Fs(*)p Ft('.)39 b Fs(${#name[)p Fq(subscript)r Fs(]})24
b Ft(expands)j(to)h(the)g(length)g(of)f Fs(${name[)p
-Fq(subscript)r Fs(]})p Ft(.)150 1504 y(If)j Fq(subscript)i
+Fq(subscript)r Fs(]})p Ft(.)150 1759 y(If)j Fq(subscript)i
Ft(is)f(`)p Fs(@)p Ft(')f(or)h(`)p Fs(*)p Ft(',)g(the)g(expansion)g(is)
g(the)g(n)m(um)m(b)s(er)e(of)i(elemen)m(ts)h(in)f(the)g(arra)m(y)-8
-b(.)42 b(Referencing)150 1614 y(an)30 b(arra)m(y)h(v)-5
+b(.)42 b(Referencing)150 1869 y(an)30 b(arra)m(y)h(v)-5
b(ariable)31 b(without)g(a)f(subscript)g(is)g(equiv)-5
b(alen)m(t)32 b(to)f(referencing)g(with)f(a)g(subscript)g(of)g(0.)275
-1757 y(An)35 b(arra)m(y)i(v)-5 b(ariable)37 b(is)g(considered)f(set)h
+2014 y(An)35 b(arra)m(y)i(v)-5 b(ariable)37 b(is)g(considered)f(set)h
(if)f(a)h(subscript)e(has)h(b)s(een)g(assigned)g(a)h(v)-5
-b(alue.)59 b(The)36 b(n)m(ull)150 1866 y(string)30 b(is)h(a)g(v)-5
-b(alid)30 b(v)-5 b(alue.)275 2009 y(The)32 b Fs(unset)g
+b(alue.)59 b(The)36 b(n)m(ull)150 2124 y(string)30 b(is)h(a)g(v)-5
+b(alid)30 b(v)-5 b(alue.)275 2269 y(The)32 b Fs(unset)g
Ft(builtin)h(is)g(used)g(to)h(destro)m(y)g(arra)m(ys.)50
b Fs(unset)31 b Fq(name)5 b Ft([)p Fq(subscript)r Ft(])33
-b(destro)m(ys)h(the)f(arra)m(y)150 2119 y(elemen)m(t)i(at)g(index)f
+b(destro)m(ys)h(the)f(arra)m(y)150 2379 y(elemen)m(t)i(at)g(index)f
Fq(subscript)r Ft(.)50 b(Care)34 b(m)m(ust)f(b)s(e)h(tak)m(en)h(to)f(a)
m(v)m(oid)i(un)m(w)m(an)m(ted)e(side)g(e\013ects)h(caused)f(b)m(y)150
-2228 y(\014lename)40 b(expansion.)69 b Fs(unset)39 b
+2488 y(\014lename)40 b(expansion.)69 b Fs(unset)39 b
Fq(name)5 b Ft(,)42 b(where)e Fq(name)45 b Ft(is)39 b(an)h(arra)m(y)-8
b(,)44 b(remo)m(v)m(es)d(the)f(en)m(tire)h(arra)m(y)-8
-b(.)70 b(A)150 2338 y(subscript)29 b(of)i(`)p Fs(*)p
+b(.)70 b(A)150 2598 y(subscript)29 b(of)i(`)p Fs(*)p
Ft(')f(or)h(`)p Fs(@)p Ft(')f(also)h(remo)m(v)m(es)h(the)f(en)m(tire)g
-(arra)m(y)-8 b(.)275 2481 y(The)41 b Fs(declare)p Ft(,)i
+(arra)m(y)-8 b(.)275 2743 y(The)41 b Fs(declare)p Ft(,)i
Fs(local)p Ft(,)h(and)d Fs(readonly)f Ft(builtins)h(eac)m(h)j(accept)f
(a)f(`)p Fs(-a)p Ft(')g(option)h(to)f(sp)s(ecify)g(an)150
-2591 y(indexed)34 b(arra)m(y)h(and)f(a)h(`)p Fs(-A)p
+2853 y(indexed)34 b(arra)m(y)h(and)f(a)h(`)p Fs(-A)p
Ft(')g(option)g(to)g(sp)s(ecify)g(an)f(asso)s(ciativ)m(e)j(arra)m(y)-8
b(.)55 b(The)34 b Fs(read)f Ft(builtin)i(accepts)150
-2700 y(a)h(`)p Fs(-a)p Ft(')f(option)h(to)g(assign)g(a)f(list)h(of)g(w)
+2963 y(a)h(`)p Fs(-a)p Ft(')f(option)h(to)g(assign)g(a)f(list)h(of)g(w)
m(ords)f(read)g(from)g(the)h(standard)e(input)h(to)h(an)f(arra)m(y)-8
-b(,)38 b(and)d(can)150 2810 y(read)c(v)-5 b(alues)31
+b(,)38 b(and)d(can)150 3072 y(read)c(v)-5 b(alues)31
b(from)f(the)h(standard)f(input)g(in)m(to)i(individual)e(arra)m(y)h
(elemen)m(ts.)44 b(The)30 b Fs(set)g Ft(and)g Fs(declare)150
-2919 y Ft(builtins)g(displa)m(y)g(arra)m(y)h(v)-5 b(alues)31
+3182 y Ft(builtins)g(displa)m(y)g(arra)m(y)h(v)-5 b(alues)31
b(in)f(a)h(w)m(a)m(y)g(that)g(allo)m(ws)h(them)e(to)h(b)s(e)f(reused)g
-(as)g(input.)150 3164 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150
-3324 y Ft(The)21 b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m
+(as)g(input.)150 3431 y Fr(6.8)68 b(The)45 b(Directory)g(Stac)l(k)150
+3590 y Ft(The)21 b(directory)h(stac)m(k)h(is)e(a)h(list)g(of)f(recen)m
(tly-visited)j(directories.)39 b(The)20 b Fs(pushd)g
-Ft(builtin)h(adds)g(directories)150 3433 y(to)42 b(the)f(stac)m(k)i(as)
+Ft(builtin)h(adds)g(directories)150 3700 y(to)42 b(the)f(stac)m(k)i(as)
e(it)h(c)m(hanges)g(the)f(curren)m(t)g(directory)-8 b(,)45
b(and)40 b(the)i Fs(popd)e Ft(builtin)g(remo)m(v)m(es)j(sp)s(eci\014ed)
-150 3543 y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j
+150 3809 y(directories)29 b(from)f(the)h(stac)m(k)h(and)d(c)m(hanges)j
(the)e(curren)m(t)g(directory)h(to)g(the)g(directory)f(remo)m(v)m(ed.)
-41 b(The)150 3653 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m
-(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 3795
+41 b(The)150 3919 y Fs(dirs)29 b Ft(builtin)h(displa)m(ys)h(the)f(con)m
+(ten)m(ts)i(of)f(the)f(directory)h(stac)m(k.)275 4064
y(The)k(con)m(ten)m(ts)i(of)f(the)h(directory)f(stac)m(k)h(are)f(also)h
(visible)g(as)f(the)g(v)-5 b(alue)36 b(of)g(the)g Fs(DIRSTACK)e
-Ft(shell)150 3905 y(v)-5 b(ariable.)150 4113 y Fj(6.8.1)63
-b(Directory)40 b(Stac)m(k)g(Builtins)150 4289 y Fs(dirs)870
-4427 y(dirs)47 b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11
-b Fs(])46 b([-clpv])630 4566 y Ft(Displa)m(y)35 b(the)f(list)g(of)g
+Ft(shell)150 4174 y(v)-5 b(ariable.)150 4384 y Fj(6.8.1)63
+b(Directory)40 b(Stac)m(k)g(Builtins)150 4561 y Fs(dirs)870
+4701 y(dirs)47 b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11
+b Fs(])46 b([-clpv])630 4841 y Ft(Displa)m(y)35 b(the)f(list)g(of)g
(curren)m(tly)g(remem)m(b)s(ered)f(directories.)51 b(Directories)36
-b(are)e(added)f(to)630 4676 y(the)28 b(list)h(with)f(the)g
+b(are)e(added)f(to)630 4951 y(the)28 b(list)h(with)f(the)g
Fs(pushd)f Ft(command;)i(the)f Fs(popd)f Ft(command)h(remo)m(v)m(es)h
-(directories)g(from)630 4785 y(the)i(list.)630 4953 y
+(directories)g(from)630 5060 y(the)i(list.)630 5230 y
Fs(+)p Fi(N)384 b Ft(Displa)m(ys)23 b(the)f Fq(N)10 b
Ft(th)21 b(directory)h(\(coun)m(ting)h(from)e(the)h(left)g(of)g(the)g
-(list)g(prin)m(ted)1110 5063 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m
-(ok)m(ed)i(without)e(options\),)h(starting)g(with)g(zero.)630
-5230 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47 b(the)g Fq(N)10
-b Ft(th)46 b(directory)h(\(coun)m(ting)g(from)f(the)g(righ)m(t)h(of)g
-(the)f(list)1110 5340 y(prin)m(ted)25 b(b)m(y)g Fs(dirs)g
-Ft(when)f(in)m(v)m(ok)m(ed)j(without)f(options\),)h(starting)g(with)e
-(zero.)p eop end
-%%Page: 82 88
-TeXDict begin 82 87 bop 150 -116 a Ft(82)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(-c)384 b Ft(Clears)31
+(list)g(prin)m(ted)1110 5340 y(b)m(y)30 b Fs(dirs)f Ft(when)h(in)m(v)m
+(ok)m(ed)i(without)e(options\),)h(starting)g(with)g(zero.)p
+eop end
+%%Page: 84 90
+TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y Fs(-)p Fi(N)384 b Ft(Displa)m(ys)47
+b(the)g Fq(N)10 b Ft(th)46 b(directory)h(\(coun)m(ting)g(from)f(the)g
+(righ)m(t)h(of)g(the)f(list)1110 408 y(prin)m(ted)25
+b(b)m(y)g Fs(dirs)g Ft(when)f(in)m(v)m(ok)m(ed)j(without)f(options\),)h
+(starting)g(with)e(zero.)630 565 y Fs(-c)384 b Ft(Clears)31
b(the)f(directory)h(stac)m(k)h(b)m(y)e(deleting)h(all)h(of)e(the)h
-(elemen)m(ts.)630 457 y Fs(-l)384 b Ft(Pro)s(duces)30
+(elemen)m(ts.)630 722 y Fs(-l)384 b Ft(Pro)s(duces)30
b(a)i(longer)g(listing;)h(the)f(default)f(listing)i(format)e(uses)g(a)h
-(tilde)g(to)1110 567 y(denote)f(the)f(home)h(directory)-8
-b(.)630 725 y Fs(-p)384 b Ft(Causes)30 b Fs(dirs)f Ft(to)i(prin)m(t)f
+(tilde)g(to)1110 831 y(denote)f(the)f(home)h(directory)-8
+b(.)630 988 y Fs(-p)384 b Ft(Causes)30 b Fs(dirs)f Ft(to)i(prin)m(t)f
(the)h(directory)g(stac)m(k)h(with)e(one)g(en)m(try)h(p)s(er)e(line.)
-630 883 y Fs(-v)384 b Ft(Causes)36 b Fs(dirs)f Ft(to)i(prin)m(t)f(the)g
-(directory)h(stac)m(k)h(with)e(one)h(en)m(try)f(p)s(er)f(line,)1110
-993 y(pre\014xing)30 b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i
-(the)f(stac)m(k.)150 1151 y Fs(popd)870 1285 y(popd)47
+630 1145 y Fs(-v)384 b Ft(Causes)36 b Fs(dirs)f Ft(to)i(prin)m(t)f(the)
+g(directory)h(stac)m(k)h(with)e(one)h(en)m(try)f(p)s(er)f(line,)1110
+1254 y(pre\014xing)30 b(eac)m(h)h(en)m(try)g(with)f(its)h(index)e(in)i
+(the)f(stac)m(k.)150 1411 y Fs(popd)870 1544 y(popd)47
b([+)p Fi(N)57 b Fs(|)48 b(-)p Fi(N)11 b Fs(])46 b([-n])630
-1419 y Ft(Remo)m(v)m(e)26 b(the)e(top)g(en)m(try)h(from)e(the)h
+1677 y Ft(Remo)m(v)m(e)26 b(the)e(top)g(en)m(try)h(from)e(the)h
(directory)h(stac)m(k,)i(and)c Fs(cd)h Ft(to)h(the)f(new)f(top)i
-(directory)-8 b(.)630 1528 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m
+(directory)-8 b(.)630 1787 y(When)32 b(no)g(argumen)m(ts)h(are)g(giv)m
(en,)h Fs(popd)d Ft(remo)m(v)m(es)j(the)f(top)f(directory)h(from)f(the)
-g(stac)m(k)630 1638 y(and)f(p)s(erforms)e(a)j Fs(cd)f
+g(stac)m(k)630 1897 y(and)f(p)s(erforms)e(a)j Fs(cd)f
Ft(to)h(the)f(new)g(top)h(directory)-8 b(.)44 b(The)31
-b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)f(from)630 1748
+b(elemen)m(ts)i(are)e(n)m(um)m(b)s(ered)f(from)630 2006
y(0)d(starting)g(at)g(the)g(\014rst)f(directory)h(listed)g(with)f
Fs(dirs)p Ft(;)h(i.e.,)i Fs(popd)c Ft(is)i(equiv)-5 b(alen)m(t)28
-b(to)f Fs(popd)630 1857 y(+0)p Ft(.)630 2015 y Fs(+)p
+b(to)f Fs(popd)630 2116 y(+0)p Ft(.)630 2273 y Fs(+)p
Fi(N)384 b Ft(Remo)m(v)m(es)22 b(the)f Fq(N)10 b Ft(th)20
b(directory)g(\(coun)m(ting)i(from)e(the)g(left)h(of)g(the)f(list)h
-(prin)m(ted)1110 2125 y(b)m(y)30 b Fs(dirs)p Ft(\),)g(starting)h(with)f
-(zero.)630 2283 y Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46
+(prin)m(ted)1110 2382 y(b)m(y)30 b Fs(dirs)p Ft(\),)g(starting)h(with)f
+(zero.)630 2539 y Fs(-)p Fi(N)384 b Ft(Remo)m(v)m(es)46
b(the)g Fq(N)10 b Ft(th)44 b(directory)h(\(coun)m(ting)h(from)f(the)g
-(righ)m(t)g(of)g(the)g(list)1110 2393 y(prin)m(ted)30
+(righ)m(t)g(of)g(the)g(list)1110 2648 y(prin)m(ted)30
b(b)m(y)g Fs(dirs)p Ft(\),)g(starting)h(with)f(zero.)630
-2551 y Fs(-n)384 b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g
-(directory)g(when)e(remo)m(ving)j(directo-)1110 2661
+2805 y Fs(-n)384 b Ft(Suppresses)27 b(the)j(normal)g(c)m(hange)g(of)g
+(directory)g(when)e(remo)m(ving)j(directo-)1110 2915
y(ries)f(from)g(the)h(stac)m(k,)h(so)f(that)g(only)f(the)h(stac)m(k)g
-(is)g(manipulated.)150 2819 y Fs(pushd)870 2953 y(pushd)46
+(is)g(manipulated.)150 3071 y Fs(pushd)870 3205 y(pushd)46
b([-n])h([+)p Fi(N)57 b Fs(|)48 b Fi(-N)58 b Fs(|)47
-b Fi(dir)57 b Fs(])630 3087 y Ft(Sa)m(v)m(e)29 b(the)f(curren)m(t)g
+b Fi(dir)57 b Fs(])630 3338 y Ft(Sa)m(v)m(e)29 b(the)f(curren)m(t)g
(directory)g(on)g(the)g(top)g(of)g(the)g(directory)h(stac)m(k)g(and)e
-(then)h Fs(cd)f Ft(to)i Fq(dir)7 b Ft(.)630 3196 y(With)31
+(then)h Fs(cd)f Ft(to)i Fq(dir)7 b Ft(.)630 3447 y(With)31
b(no)f(argumen)m(ts,)h Fs(pushd)e Ft(exc)m(hanges)j(the)e(top)h(t)m(w)m
-(o)h(directories.)630 3354 y Fs(-n)384 b Ft(Suppresses)26
+(o)h(directories.)630 3604 y Fs(-n)384 b Ft(Suppresses)26
b(the)i(normal)h(c)m(hange)g(of)f(directory)h(when)e(adding)h
-(directories)1110 3464 y(to)j(the)g(stac)m(k,)h(so)e(that)h(only)g(the)
-f(stac)m(k)i(is)f(manipulated.)630 3622 y Fs(+)p Fi(N)384
+(directories)1110 3714 y(to)j(the)g(stac)m(k,)h(so)e(that)h(only)g(the)
+f(stac)m(k)i(is)f(manipulated.)630 3870 y Fs(+)p Fi(N)384
b Ft(Brings)29 b(the)f Fq(N)10 b Ft(th)29 b(directory)g(\(coun)m(ting)h
(from)e(the)g(left)i(of)e(the)h(list)g(prin)m(ted)1110
-3732 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)
+3980 y(b)m(y)34 b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)
f(top)g(of)h(the)f(list)h(b)m(y)f(rotating)i(the)1110
-3841 y(stac)m(k.)630 4000 y Fs(-)p Fi(N)384 b Ft(Brings)23
+4089 y(stac)m(k.)630 4246 y Fs(-)p Fi(N)384 b Ft(Brings)23
b(the)g Fq(N)10 b Ft(th)23 b(directory)h(\(coun)m(ting)g(from)e(the)i
-(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 4109 y(b)m(y)34
+(righ)m(t)f(of)g(the)h(list)f(prin)m(ted)1110 4356 y(b)m(y)34
b Fs(dirs)p Ft(,)g(starting)h(with)f(zero\))i(to)f(the)f(top)g(of)h
-(the)f(list)h(b)m(y)f(rotating)i(the)1110 4219 y(stac)m(k.)630
-4377 y Fi(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g
+(the)f(list)h(b)m(y)f(rotating)i(the)1110 4465 y(stac)m(k.)630
+4622 y Fi(dir)336 b Ft(Mak)m(es)36 b(the)f(curren)m(t)g(w)m(orking)g
(directory)g(b)s(e)f(the)h(top)g(of)g(the)g(stac)m(k,)j(and)1110
-4487 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32
+4732 y(then)30 b(executes)i(the)e(equiv)-5 b(alen)m(t)32
b(of)f(`)p Fs(cd)f Fq(dir)7 b Ft('.)39 b Fs(cd)p Ft(s)30
-b(to)h Fq(dir)7 b Ft(.)150 4718 y Fr(6.9)68 b(Con)l(trolling)47
-b(the)e(Prompt)150 4877 y Ft(The)24 b(v)-5 b(alue)24
+b(to)h Fq(dir)7 b Ft(.)150 4961 y Fr(6.9)68 b(Con)l(trolling)47
+b(the)e(Prompt)150 5121 y Ft(The)24 b(v)-5 b(alue)24
b(of)h(the)f(v)-5 b(ariable)25 b Fs(PROMPT_COMMAND)20
b Ft(is)25 b(examined)f(just)g(b)s(efore)f(Bash)i(prin)m(ts)e(eac)m(h)j
-(primary)150 4987 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d
+(primary)150 5230 y(prompt.)39 b(If)28 b Fs(PROMPT_COMMAND)d
Ft(is)j(set)h(and)f(has)g(a)h(non-n)m(ull)f(v)-5 b(alue,)29
b(then)f(the)h(v)-5 b(alue)29 b(is)f(executed)i(just)150
-5096 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command)
-g(line.)275 5230 y(In)d(addition,)j(the)f(follo)m(wing)h(table)f
-(describ)s(es)f(the)h(sp)s(ecial)g(c)m(haracters)h(whic)m(h)f(can)f
-(app)s(ear)g(in)h(the)150 5340 y(prompt)g(v)-5 b(ariables:)p
-eop end
-%%Page: 83 89
-TeXDict begin 83 88 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(83)150 299 y Fs(\\a)384
-b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 457 y Fs(\\d)384
+5340 y(as)h(if)f(it)h(had)f(b)s(een)f(t)m(yp)s(ed)h(on)h(the)f(command)
+g(line.)p eop end
+%%Page: 85 91
+TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(85)275 299 y(In)27
+b(addition,)j(the)f(follo)m(wing)h(table)f(describ)s(es)f(the)h(sp)s
+(ecial)g(c)m(haracters)h(whic)m(h)f(can)f(app)s(ear)g(in)h(the)150
+408 y(prompt)g(v)-5 b(ariables:)150 572 y Fs(\\a)384
+b Ft(A)30 b(b)s(ell)h(c)m(haracter.)150 735 y Fs(\\d)384
b Ft(The)30 b(date,)h(in)f Fs(")p Ft(W)-8 b(eekda)m(y)32
b(Mon)m(th)f(Date)p Fs(")h Ft(format)f(\(e.g.,)h Fs(")p
-Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150 615
-y Fs(\\D{)p Fi(format)11 b Fs(})630 725 y Ft(The)27 b
-Fq(format)i Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)i
-(result)f(is)g(inserted)g(in)m(to)h(the)g(prompt)630
-835 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h
+Ft(T)-8 b(ue)30 b(Ma)m(y)h(26)p Fs(")p Ft(\).)150 897
+y Fs(\\D{)p Fi(format)11 b Fs(})630 1006 y Ft(The)27
+b Fq(format)i Ft(is)f(passed)e(to)i Fs(strftime)p Ft(\(3\))f(and)f(the)
+i(result)f(is)g(inserted)g(in)m(to)h(the)g(prompt)630
+1116 y(string;)42 b(an)d(empt)m(y)f Fq(format)j Ft(results)d(in)g(a)h
(lo)s(cale-sp)s(eci\014c)h(time)f(represen)m(tation.)65
-b(The)630 944 y(braces)31 b(are)f(required.)150 1103
+b(The)630 1226 y(braces)31 b(are)f(required.)150 1388
y Fs(\\e)384 b Ft(An)30 b(escap)s(e)h(c)m(haracter.)150
-1261 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
-(`.'.)150 1419 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
-1577 y Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m
-(tly)h(managed)g(b)m(y)f(the)g(shell.)150 1736 y Fs(\\l)384
+1550 y Fs(\\h)384 b Ft(The)30 b(hostname,)h(up)e(to)i(the)g(\014rst)e
+(`.'.)150 1712 y Fs(\\H)384 b Ft(The)30 b(hostname.)150
+1875 y Fs(\\j)384 b Ft(The)30 b(n)m(um)m(b)s(er)f(of)h(jobs)g(curren)m
+(tly)h(managed)g(b)m(y)f(the)g(shell.)150 2037 y Fs(\\l)384
b Ft(The)30 b(basename)h(of)f(the)h(shell's)f(terminal)h(device)g
-(name.)150 1894 y Fs(\\n)384 b Ft(A)30 b(newline.)150
-2052 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
-2211 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
+(name.)150 2199 y Fs(\\n)384 b Ft(A)30 b(newline.)150
+2362 y Fs(\\r)384 b Ft(A)30 b(carriage)i(return.)150
+2524 y Fs(\\s)384 b Ft(The)22 b(name)g(of)h(the)f(shell,)i(the)f
(basename)f(of)h Fs($0)f Ft(\(the)g(p)s(ortion)g(follo)m(wing)i(the)f
-(\014nal)e(slash\).)150 2369 y Fs(\\t)384 b Ft(The)30
-b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 2527
+(\014nal)e(slash\).)150 2686 y Fs(\\t)384 b Ft(The)30
+b(time,)h(in)f(24-hour)h(HH:MM:SS)g(format.)150 2849
y Fs(\\T)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(HH:MM:SS)g(format.)
-150 2685 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
-(format.)150 2844 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
-(HH:MM)g(format.)150 3002 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
-(the)h(curren)m(t)f(user.)150 3160 y Fs(\\v)384 b Ft(The)30
-b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 3319
+150 3011 y Fs(\\@)384 b Ft(The)30 b(time,)h(in)f(12-hour)h(am/pm)f
+(format.)150 3173 y Fs(\\A)384 b Ft(The)30 b(time,)h(in)f(24-hour)h
+(HH:MM)g(format.)150 3335 y Fs(\\u)384 b Ft(The)30 b(username)g(of)g
+(the)h(curren)m(t)f(user.)150 3498 y Fs(\\v)384 b Ft(The)30
+b(v)m(ersion)h(of)f(Bash)h(\(e.g.,)h(2.00\))150 3660
y Fs(\\V)384 b Ft(The)30 b(release)i(of)e(Bash,)h(v)m(ersion)g
-Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 3477
+Fs(+)f Ft(patc)m(hlev)m(el)i(\(e.g.,)h(2.00.0\))150 3822
y Fs(\\w)384 b Ft(The)34 b(curren)m(t)h(w)m(orking)g(directory)-8
b(,)37 b(with)e Fs($HOME)e Ft(abbreviated)j(with)e(a)h(tilde)h(\(uses)f
-(the)630 3587 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150
-3745 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
+(the)630 3932 y Fs($PROMPT_DIRTRIM)26 b Ft(v)-5 b(ariable\).)150
+4094 y Fs(\\W)384 b Ft(The)30 b(basename)h(of)f Fs($PWD)p
Ft(,)g(with)g Fs($HOME)f Ft(abbreviated)h(with)g(a)h(tilde.)150
-3903 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
-(command.)150 4061 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s
-(er)f(of)i(this)f(command.)150 4220 y Fs(\\$)384 b Ft(If)30
+4257 y Fs(\\!)384 b Ft(The)30 b(history)g(n)m(um)m(b)s(er)f(of)i(this)f
+(command.)150 4419 y Fs(\\#)384 b Ft(The)30 b(command)g(n)m(um)m(b)s
+(er)f(of)i(this)f(command.)150 4581 y Fs(\\$)384 b Ft(If)30
b(the)g(e\013ectiv)m(e)j(uid)d(is)g(0,)h Fs(#)p Ft(,)g(otherwise)g
-Fs($)p Ft(.)150 4378 y Fs(\\)p Fi(nnn)288 b Ft(The)30
+Fs($)p Ft(.)150 4743 y Fs(\\)p Fi(nnn)288 b Ft(The)30
b(c)m(haracter)i(whose)e(ASCI)s(I)f(co)s(de)h(is)h(the)f(o)s(ctal)i(v)
--5 b(alue)31 b Fq(nnn)p Ft(.)150 4536 y Fs(\\\\)384 b
-Ft(A)30 b(bac)m(kslash.)150 4695 y Fs(\\[)384 b Ft(Begin)38
+-5 b(alue)31 b Fq(nnn)p Ft(.)150 4906 y Fs(\\\\)384 b
+Ft(A)30 b(bac)m(kslash.)150 5068 y Fs(\\[)384 b Ft(Begin)38
b(a)f(sequence)g(of)g(non-prin)m(ting)g(c)m(haracters.)61
b(This)36 b(could)h(b)s(e)g(used)f(to)h(em)m(b)s(ed)g(a)630
-4804 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
-150 4963 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m
-(ting)g(c)m(haracters.)275 5121 y(The)25 b(command)h(n)m(um)m(b)s(er)f
+5178 y(terminal)31 b(con)m(trol)h(sequence)e(in)m(to)i(the)e(prompt.)
+150 5340 y Fs(\\])384 b Ft(End)29 b(a)i(sequence)g(of)f(non-prin)m
+(ting)g(c)m(haracters.)p eop end
+%%Page: 86 92
+TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31
+b(Reference)g(Man)m(ual)275 299 y(The)25 b(command)h(n)m(um)m(b)s(er)f
(and)h(the)g(history)g(n)m(um)m(b)s(er)f(are)i(usually)f(di\013eren)m
-(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 5230
-y(of)h(a)f(command)h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f
-(list,)i(whic)m(h)f(ma)m(y)g(include)f(commands)g(restored)g(from)150
-5340 y(the)39 b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e
-(History)h(F)-8 b(acilities],)45 b(page)40 b(121\),)j(while)d(the)f
-(command)p eop end
-%%Page: 84 90
-TeXDict begin 84 89 bop 150 -116 a Ft(84)2572 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(n)m(um)m(b)s(er)42
-b(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h(of)f(commands)g
-(executed)h(during)e(the)i(curren)m(t)f(shell)150 408
-y(session.)275 550 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h(it)f
-(is)g(expanded)f(via)i(parameter)f(expansion,)i(command)d(substi-)150
-659 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)-5
+(t:)39 b(the)26 b(history)g(n)m(um)m(b)s(er)150 408 y(of)h(a)f(command)
+h(is)f(its)h(p)s(osition)f(in)g(the)h(history)f(list,)i(whic)m(h)f(ma)m
+(y)g(include)f(commands)g(restored)g(from)150 518 y(the)39
+b(history)h(\014le)f(\(see)h(Section)g(9.1)h([Bash)e(History)h(F)-8
+b(acilities],)45 b(page)40 b(125\),)j(while)d(the)f(command)150
+628 y(n)m(um)m(b)s(er)j(is)h(the)h(p)s(osition)f(in)g(the)g(sequence)h
+(of)f(commands)g(executed)h(during)e(the)i(curren)m(t)f(shell)150
+737 y(session.)275 874 y(After)35 b(the)g(string)g(is)g(deco)s(ded,)h
+(it)f(is)g(expanded)f(via)i(parameter)f(expansion,)i(command)d(substi-)
+150 983 y(tution,)k(arithmetic)f(expansion,)g(and)e(quote)h(remo)m(v)-5
b(al,)39 b(sub)5 b(ject)35 b(to)i(the)f(v)-5 b(alue)36
-b(of)g(the)g Fs(promptvars)150 769 y Ft(shell)31 b(option)f(\(see)i
-(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(41\).)150
-1012 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)150 1171
+b(of)g(the)g Fs(promptvars)150 1093 y Ft(shell)31 b(option)f(\(see)i
+(Section)f(4.2)g([Bash)g(Builtins],)g(page)g(43\).)150
+1328 y Fr(6.10)68 b(The)45 b(Restricted)h(Shell)150 1488
y Ft(If)27 b(Bash)h(is)g(started)g(with)g(the)g(name)g
Fs(rbash)p Ft(,)f(or)g(the)h(`)p Fs(--restricted)p Ft(')d(or)j(`)p
-Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 1281 y(in)m(v)m(o)s
+Fs(-r)p Ft(')g(option)g(is)g(supplied)e(at)150 1597 y(in)m(v)m(o)s
(cation,)k(the)d(shell)g(b)s(ecomes)h(restricted.)40
b(A)27 b(restricted)h(shell)f(is)g(used)f(to)i(set)f(up)f(an)h(en)m
-(vironmen)m(t)150 1391 y(more)g(con)m(trolled)i(than)e(the)g(standard)g
+(vironmen)m(t)150 1707 y(more)g(con)m(trolled)i(than)e(the)g(standard)g
(shell.)40 b(A)27 b(restricted)h(shell)f(b)s(eha)m(v)m(es)h(iden)m
-(tically)h(to)f Fs(bash)e Ft(with)150 1500 y(the)31 b(exception)g(that)
+(tically)h(to)f Fs(bash)e Ft(with)150 1817 y(the)31 b(exception)g(that)
g(the)g(follo)m(wing)h(are)e(disallo)m(w)m(ed)i(or)e(not)h(p)s
-(erformed:)225 1642 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
-g(the)f Fs(cd)g Ft(builtin.)225 1780 y Fp(\017)60 b Ft(Setting)31
+(erformed:)225 1953 y Fp(\017)60 b Ft(Changing)30 b(directories)h(with)
+g(the)f Fs(cd)g Ft(builtin.)225 2089 y Fp(\017)60 b Ft(Setting)31
b(or)f(unsetting)h(the)g(v)-5 b(alues)30 b(of)h(the)f
Fs(SHELL)p Ft(,)g Fs(PATH)p Ft(,)f Fs(ENV)p Ft(,)h(or)g
-Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 1917 y Fp(\017)60
+Fs(BASH_ENV)e Ft(v)-5 b(ariables.)225 2224 y Fp(\017)60
b Ft(Sp)s(ecifying)30 b(command)g(names)g(con)m(taining)i(slashes.)225
-2055 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m
+2360 y Fp(\017)60 b Ft(Sp)s(ecifying)30 b(a)h(\014lename)f(con)m
(taining)i(a)f(slash)f(as)h(an)f(argumen)m(t)h(to)g(the)f
-Fs(.)h Ft(builtin)e(command.)225 2193 y Fp(\017)60 b
+Fs(.)h Ft(builtin)e(command.)225 2495 y Fp(\017)60 b
Ft(Sp)s(ecifying)28 b(a)i(\014lename)f(con)m(taining)h(a)g(slash)e(as)h
(an)g(argumen)m(t)h(to)f(the)g(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f
-Fs(hash)330 2303 y Ft(builtin)h(command.)225 2441 y Fp(\017)60
+Fs(hash)330 2605 y Ft(builtin)h(command.)225 2740 y Fp(\017)60
b Ft(Imp)s(orting)30 b(function)g(de\014nitions)g(from)f(the)i(shell)g
-(en)m(vironmen)m(t)g(at)g(startup.)225 2579 y Fp(\017)60
+(en)m(vironmen)m(t)g(at)g(startup.)225 2876 y Fp(\017)60
b Ft(P)m(arsing)31 b(the)f(v)-5 b(alue)31 b(of)g Fs(SHELLOPTS)d
Ft(from)h(the)i(shell)g(en)m(vironmen)m(t)g(at)g(startup.)225
-2717 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
+3011 y Fp(\017)60 b Ft(Redirecting)31 b(output)f(using)g(the)h(`)p
Fs(>)p Ft(',)g(`)p Fs(>|)p Ft(',)f(`)p Fs(<>)p Ft(',)h(`)p
Fs(>&)p Ft(',)f(`)p Fs(&>)p Ft(',)h(and)e(`)p Fs(>>)p
-Ft(')i(redirection)g(op)s(erators.)225 2855 y Fp(\017)60
+Ft(')i(redirection)g(op)s(erators.)225 3147 y Fp(\017)60
b Ft(Using)31 b(the)f Fs(exec)f Ft(builtin)h(to)h(replace)h(the)e
-(shell)h(with)f(another)h(command.)225 2993 y Fp(\017)60
+(shell)h(with)f(another)h(command.)225 3282 y Fp(\017)60
b Ft(Adding)40 b(or)h(deleting)h(builtin)e(commands)h(with)f(the)h(`)p
Fs(-f)p Ft(')g(and)f(`)p Fs(-d)p Ft(')h(options)g(to)h(the)f
-Fs(enable)330 3102 y Ft(builtin.)225 3240 y Fp(\017)60
+Fs(enable)330 3392 y Ft(builtin.)225 3527 y Fp(\017)60
b Ft(Using)31 b(the)f Fs(enable)f Ft(builtin)h(command)g(to)h(enable)g
-(disabled)f(shell)g(builtins.)225 3378 y Fp(\017)60 b
+(disabled)f(shell)g(builtins.)225 3663 y Fp(\017)60 b
Ft(Sp)s(ecifying)30 b(the)g(`)p Fs(-p)p Ft(')h(option)g(to)g(the)f
-Fs(command)f Ft(builtin.)225 3516 y Fp(\017)60 b Ft(T)-8
+Fs(command)f Ft(builtin.)225 3798 y Fp(\017)60 b Ft(T)-8
b(urning)29 b(o\013)i(restricted)g(mo)s(de)f(with)g(`)p
Fs(set)g(+r)p Ft(')g(or)g(`)p Fs(set)g(+o)g(restricted)p
-Ft('.)275 3686 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
-(y)g(startup)f(\014les)g(are)h(read.)275 3828 y(When)j(a)i(command)e
+Ft('.)275 3961 y(These)g(restrictions)h(are)g(enforced)f(after)h(an)m
+(y)g(startup)f(\014les)g(are)h(read.)275 4097 y(When)j(a)i(command)e
(that)i(is)f(found)f(to)h(b)s(e)g(a)g(shell)g(script)g(is)g(executed)h
-(\(see)g(Section)g(3.8)g([Shell)150 3937 y(Scripts],)25
-b(page)e(33\),)j Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h
+(\(see)g(Section)g(3.8)g([Shell)150 4207 y(Scripts],)25
+b(page)e(34\),)j Fs(rbash)c Ft(turns)g(o\013)i(an)m(y)f(restrictions)h
(in)f(the)g(shell)h(spa)m(wned)e(to)i(execute)g(the)g(script.)150
-4180 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 4339
+4442 y Fr(6.11)68 b(Bash)45 b(POSIX)f(Mo)t(de)150 4602
y Ft(Starting)34 b(Bash)f(with)g(the)g(`)p Fs(--posix)p
Ft(')f(command-line)i(option)g(or)f(executing)h(`)p Fs(set)c(-o)g
-(posix)p Ft(')i(while)150 4449 y(Bash)26 b(is)g(running)e(will)j(cause)
+(posix)p Ft(')i(while)150 4711 y(Bash)26 b(is)g(running)e(will)j(cause)
f(Bash)g(to)h(conform)f(more)g(closely)h(to)g(the)f Fl(posix)f
-Ft(standard)g(b)m(y)h(c)m(hanging)150 4559 y(the)31 b(b)s(eha)m(vior)f
+Ft(standard)g(b)m(y)h(c)m(hanging)150 4821 y(the)31 b(b)s(eha)m(vior)f
(to)h(matc)m(h)g(that)g(sp)s(eci\014ed)f(b)m(y)g Fl(posix)g
Ft(in)g(areas)h(where)f(the)h(Bash)f(default)h(di\013ers.)275
-4700 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g
+4957 y(When)f(in)m(v)m(ok)m(ed)h(as)g Fs(sh)p Ft(,)f(Bash)h(en)m(ters)g
Fl(posix)e Ft(mo)s(de)h(after)h(reading)g(the)f(startup)g(\014les.)275
-4841 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
-p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 4983
+5094 y(The)f(follo)m(wing)j(list)f(is)g(what's)f(c)m(hanged)h(when)e(`)
+p Fl(posix)h Ft(mo)s(de')h(is)f(in)g(e\013ect:)199 5230
y(1.)61 b(When)28 b(a)i(command)e(in)g(the)h(hash)f(table)i(no)e
(longer)h(exists,)h(Bash)f(will)g(re-searc)m(h)h Fs($PATH)d
-Ft(to)i(\014nd)330 5092 y(the)i(new)e(lo)s(cation.)43
+Ft(to)i(\014nd)330 5340 y(the)i(new)e(lo)s(cation.)43
b(This)29 b(is)i(also)g(a)m(v)-5 b(ailable)33 b(with)d(`)p
-Fs(shopt)f(-s)h(checkhash)p Ft('.)199 5230 y(2.)61 b(The)42
-b(message)h(prin)m(ted)e(b)m(y)h(the)g(job)g(con)m(trol)i(co)s(de)e
-(and)f(builtins)h(when)f(a)h(job)g(exits)h(with)f(a)330
-5340 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)p
-eop end
-%%Page: 85 91
-TeXDict begin 85 90 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(85)199 299 y(3.)61
-b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)m(trol)h(co)s
-(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e(is)330
-408 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31 b(where)f
-Fq(signame)36 b Ft(is,)31 b(for)f(example,)h Fs(SIGTSTP)p
-Ft(.)199 545 y(4.)61 b(The)27 b Fs(bg)g Ft(builtin)g(uses)g(the)h
-(required)f(format)h(to)g(describ)s(e)f(eac)m(h)i(job)e(placed)h(in)f
-(the)h(bac)m(kground,)330 655 y(whic)m(h)h(do)s(es)g(not)g(include)g
-(an)g(indication)h(of)f(whether)f(the)h(job)g(is)g(the)h(curren)m(t)e
-(or)h(previous)g(job.)199 792 y(5.)61 b(Reserv)m(ed)40
-b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)m(text)i(where)d(reserv)m(ed)h
-(w)m(ords)f(are)i(recognized)g(do)f(not)330 902 y(undergo)30
-b(alias)h(expansion.)199 1039 y(6.)61 b(The)38 b Fl(posix)h
-Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i(`)p Fs(!)p
-Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
-Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1148 y(enabled,)26
+Fs(shopt)f(-s)h(checkhash)p Ft('.)p eop end
+%%Page: 87 93
+TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(87)199 299 y(2.)61
+b(The)42 b(message)h(prin)m(ted)e(b)m(y)h(the)g(job)g(con)m(trol)i(co)s
+(de)e(and)f(builtins)h(when)f(a)h(job)g(exits)h(with)f(a)330
+408 y(non-zero)31 b(status)g(is)f(`Done\(status\)'.)199
+540 y(3.)61 b(The)40 b(message)h(prin)m(ted)f(b)m(y)g(the)h(job)f(con)m
+(trol)h(co)s(de)g(and)f(builtins)f(when)h(a)g(job)g(is)h(stopp)s(ed)e
+(is)330 650 y(`Stopp)s(ed\()p Fq(signame)5 b Ft(\)',)31
+b(where)f Fq(signame)36 b Ft(is,)31 b(for)f(example,)h
+Fs(SIGTSTP)p Ft(.)199 781 y(4.)61 b(The)27 b Fs(bg)g
+Ft(builtin)g(uses)g(the)h(required)f(format)h(to)g(describ)s(e)f(eac)m
+(h)i(job)e(placed)h(in)f(the)h(bac)m(kground,)330 891
+y(whic)m(h)h(do)s(es)g(not)g(include)g(an)g(indication)h(of)f(whether)f
+(the)h(job)g(is)g(the)h(curren)m(t)e(or)h(previous)g(job.)199
+1022 y(5.)61 b(Reserv)m(ed)40 b(w)m(ords)g(app)s(earing)f(in)h(a)g(con)
+m(text)i(where)d(reserv)m(ed)h(w)m(ords)f(are)i(recognized)g(do)f(not)
+330 1132 y(undergo)30 b(alias)h(expansion.)199 1263 y(6.)61
+b(The)38 b Fl(posix)h Fs(PS1)f Ft(and)g Fs(PS2)g Ft(expansions)g(of)i
+(`)p Fs(!)p Ft(')f(to)g(the)g(history)g(n)m(um)m(b)s(er)f(and)g(`)p
+Fs(!!)p Ft(')h(to)g(`)p Fs(!)p Ft(')h(are)330 1373 y(enabled,)26
b(and)f(parameter)g(expansion)g(is)g(p)s(erformed)e(on)i(the)g(v)-5
b(alues)25 b(of)g Fs(PS1)f Ft(and)h Fs(PS2)f Ft(regardless)330
-1258 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
-Ft(option.)199 1395 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
+1482 y(of)31 b(the)f(setting)i(of)e(the)h Fs(promptvars)c
+Ft(option.)199 1614 y(7.)61 b(The)30 b Fl(posix)g Ft(startup)f(\014les)
i(are)g(executed)g(\()p Fs($ENV)p Ft(\))f(rather)g(than)g(the)h(normal)
-f(Bash)g(\014les.)199 1532 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
+f(Bash)g(\014les.)199 1745 y(8.)61 b(Tilde)30 b(expansion)g(is)f(only)h
(p)s(erformed)f(on)h(assignmen)m(ts)g(preceding)g(a)g(command)g(name,)g
-(rather)330 1641 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
-(on)e(the)h(line.)199 1778 y(9.)61 b(The)30 b(default)g(history)h
+(rather)330 1855 y(than)g(on)g(all)i(assignmen)m(t)f(statemen)m(ts)h
+(on)e(the)h(line.)199 1987 y(9.)61 b(The)30 b(default)g(history)h
(\014le)f(is)h(`)p Fs(~/.sh_history)p Ft(')c(\(this)k(is)f(the)g
(default)h(v)-5 b(alue)31 b(of)f Fs($HISTFILE)p Ft(\).)154
-1915 y(10.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29
+2118 y(10.)61 b(The)23 b(output)f(of)i(`)p Fs(kill)29
b(-l)p Ft(')23 b(prin)m(ts)f(all)i(the)g(signal)f(names)g(on)g(a)h
-(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 2025
+(single)g(line,)h(separated)e(b)m(y)g(spaces,)330 2228
y(without)30 b(the)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154
-2162 y(11.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)
+2359 y(11.)61 b(The)30 b Fs(kill)f Ft(builtin)h(do)s(es)g(not)h(accept)
h(signal)f(names)f(with)g(a)h(`)p Fs(SIG)p Ft(')f(pre\014x.)154
-2299 y(12.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g
+2491 y(12.)61 b(Non-in)m(teractiv)m(e)34 b(shells)c(exit)h(if)g
Fq(\014lename)k Ft(in)30 b Fs(.)g Fq(\014lename)36 b
-Ft(is)31 b(not)f(found.)154 2436 y(13.)61 b(Non-in)m(teractiv)m(e)41
+Ft(is)31 b(not)f(found.)154 2622 y(13.)61 b(Non-in)m(teractiv)m(e)41
b(shells)d(exit)h(if)f(a)g(syn)m(tax)g(error)g(in)f(an)h(arithmetic)h
-(expansion)f(results)f(in)h(an)330 2545 y(in)m(v)-5 b(alid)31
-b(expression.)154 2682 y(14.)61 b(Redirection)25 b(op)s(erators)f(do)g
-(not)g(p)s(erform)f(\014lename)h(expansion)g(on)g(the)g(w)m(ord)f(in)h
-(the)g(redirection)330 2792 y(unless)30 b(the)g(shell)h(is)f(in)m
-(teractiv)m(e.)154 2929 y(15.)61 b(Redirection)31 b(op)s(erators)g(do)f
-(not)h(p)s(erform)e(w)m(ord)h(splitting)h(on)f(the)h(w)m(ord)f(in)g
-(the)g(redirection.)154 3066 y(16.)61 b(F)-8 b(unction)35
-b(names)g(m)m(ust)f(b)s(e)g(v)-5 b(alid)35 b(shell)f
-Fs(name)p Ft(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)g(not)g(con)m(tain)g
-(c)m(haracters)330 3176 y(other)e(than)g(letters,)h(digits,)h(and)d
-(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h(digit.)49
-b(Declaring)330 3285 y(a)31 b(function)f(with)g(an)g(in)m(v)-5
-b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g
-(non-in)m(teractiv)m(e)j(shells.)154 3422 y(17.)61 b
+(expansion)f(results)f(in)h(an)330 2732 y(in)m(v)-5 b(alid)31
+b(expression.)154 2863 y(14.)61 b(Non-in)m(teractiv)m(e)27
+b(shells)c(exit)i(if)e(there)h(is)f(a)h(syn)m(tax)g(error)f(in)g(a)h
+(script)f(read)g(with)h(the)f Fs(.)g Ft(or)h Fs(source)330
+2973 y Ft(builtins,)30 b(or)g(in)g(a)h(string)g(pro)s(cessed)e(b)m(y)i
+(the)f Fs(eval)f Ft(builtin.)154 3104 y(15.)61 b(Redirection)25
+b(op)s(erators)f(do)g(not)g(p)s(erform)f(\014lename)h(expansion)g(on)g
+(the)g(w)m(ord)f(in)h(the)g(redirection)330 3214 y(unless)30
+b(the)g(shell)h(is)f(in)m(teractiv)m(e.)154 3345 y(16.)61
+b(Redirection)31 b(op)s(erators)g(do)f(not)h(p)s(erform)e(w)m(ord)h
+(splitting)h(on)f(the)h(w)m(ord)f(in)g(the)g(redirection.)154
+3477 y(17.)61 b(F)-8 b(unction)35 b(names)g(m)m(ust)f(b)s(e)g(v)-5
+b(alid)35 b(shell)f Fs(name)p Ft(s.)52 b(That)34 b(is,)i(they)f(ma)m(y)
+g(not)g(con)m(tain)g(c)m(haracters)330 3587 y(other)e(than)g(letters,)h
+(digits,)h(and)d(underscores,)h(and)f(ma)m(y)h(not)g(start)h(with)e(a)h
+(digit.)49 b(Declaring)330 3696 y(a)31 b(function)f(with)g(an)g(in)m(v)
+-5 b(alid)31 b(name)g(causes)f(a)h(fatal)h(syn)m(tax)f(error)f(in)g
+(non-in)m(teractiv)m(e)j(shells.)154 3828 y(18.)61 b
Fl(posix)30 b Ft(sp)s(ecial)h(builtins)e(are)i(found)e(b)s(efore)h
(shell)h(functions)f(during)f(command)h(lo)s(okup.)154
-3559 y(18.)61 b(If)24 b(a)g Fl(posix)g Ft(sp)s(ecial)h(builtin)f
+3959 y(19.)61 b(The)29 b Fs(time)g Ft(reserv)m(ed)h(w)m(ord)g(ma)m(y)g
+(b)s(e)g(used)f(b)m(y)h(itself)g(as)g(a)h(command.)40
+b(When)30 b(used)f(in)g(this)h(w)m(a)m(y)-8 b(,)330 4069
+y(it)33 b(displa)m(ys)g(timing)g(statistics)h(for)e(the)h(shell)g(and)f
+(its)g(completed)i(c)m(hildren.)47 b(The)32 b Fs(TIMEFORMAT)330
+4178 y Ft(v)-5 b(ariable)31 b(con)m(trols)h(the)e(format)h(of)g(the)f
+(timing)h(information.)154 4310 y(20.)61 b(When)33 b(parsing)f(and)g
+(expanding)g(a)i($)p Fs({)6 b Ft(.)22 b(.)g(.)11 b Fs(})33
+b Ft(expansion)f(that)i(app)s(ears)e(within)g(double)g(quotes,)330
+4419 y(single)42 b(quotes)g(are)g(no)g(longer)g(sp)s(ecial)g(and)f
+(cannot)i(b)s(e)e(used)g(to)h(quote)g(a)g(closing)h(brace)f(or)330
+4529 y(other)31 b(sp)s(ecial)h(c)m(haracter,)i(unless)c(the)i(op)s
+(erator)f(is)g(one)h(of)f(those)h(de\014ned)e(to)i(p)s(erform)e
+(pattern)330 4639 y(remo)m(v)-5 b(al.)42 b(In)30 b(this)g(case,)i(they)
+e(do)g(not)h(ha)m(v)m(e)h(to)f(app)s(ear)e(as)i(matc)m(hed)g(pairs.)154
+4770 y(21.)61 b(The)29 b(parser)g(do)s(es)g(not)h(recognize)h
+Fs(time)d Ft(as)i(a)g(reserv)m(ed)f(w)m(ord)g(if)h(the)f(next)h(tok)m
+(en)h(b)s(egins)d(with)i(a)330 4880 y(`)p Fs(-)p Ft('.)154
+5011 y(22.)61 b(If)24 b(a)g Fl(posix)g Ft(sp)s(ecial)h(builtin)f
(returns)f(an)h(error)g(status,)i(a)e(non-in)m(teractiv)m(e)j(shell)e
-(exits.)39 b(The)24 b(fatal)330 3669 y(errors)i(are)h(those)f(listed)h
-(in)f(the)h(POSIX)e(standard,)i(and)f(include)g(things)g(lik)m(e)i
-(passing)e(incorrect)330 3778 y(options,)43 b(redirection)d(errors,)i
-(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e(for)g(assignmen)m(ts)i
-(preceding)f(the)330 3888 y(command)30 b(name,)h(and)f(so)g(on.)154
-4025 y(19.)61 b(If)34 b Fs(CDPATH)f Ft(is)h(set,)i(the)f
-Fs(cd)f Ft(builtin)g(will)g(not)h(implicitly)h(app)s(end)c(the)j
-(curren)m(t)f(directory)h(to)g(it.)330 4134 y(This)29
-b(means)g(that)h Fs(cd)f Ft(will)h(fail)g(if)g(no)f(v)-5
-b(alid)30 b(directory)g(name)f(can)h(b)s(e)f(constructed)h(from)f(an)m
-(y)h(of)330 4244 y(the)i(en)m(tries)g(in)f Fs($CDPATH)p
-Ft(,)e(ev)m(en)j(if)g(the)f(a)h(directory)g(with)f(the)g(same)h(name)f
-(as)h(the)g(name)f(giv)m(en)330 4354 y(as)g(an)f(argumen)m(t)h(to)g
-Fs(cd)f Ft(exists)h(in)f(the)g(curren)m(t)g(directory)-8
-b(.)154 4491 y(20.)61 b(A)31 b(non-in)m(teractiv)m(e)j(shell)d(exits)h
-(with)e(an)h(error)g(status)g(if)g(a)g(v)-5 b(ariable)32
-b(assignmen)m(t)g(error)e(o)s(ccurs)330 4600 y(when)38
-b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)h(statemen)m
-(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
-4710 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
+(exits.)39 b(The)24 b(fatal)330 5121 y(errors)30 b(are)h(those)f
+(listed)h(in)f(the)h Fl(posix)e Ft(standard,)h(and)g(include)g(things)g
+(lik)m(e)i(passing)e(incorrect)330 5230 y(options,)43
+b(redirection)d(errors,)i(v)-5 b(ariable)41 b(assignmen)m(t)g(errors)e
+(for)g(assignmen)m(ts)i(preceding)f(the)330 5340 y(command)30
+b(name,)h(and)f(so)g(on.)p eop end
+%%Page: 88 94
+TeXDict begin 88 93 bop 150 -116 a Ft(88)2572 b(Bash)31
+b(Reference)g(Man)m(ual)154 299 y(23.)61 b(A)31 b(non-in)m(teractiv)m
+(e)j(shell)d(exits)h(with)e(an)h(error)g(status)g(if)g(a)g(v)-5
+b(ariable)32 b(assignmen)m(t)g(error)e(o)s(ccurs)330
+408 y(when)38 b(no)h(command)g(name)g(follo)m(ws)i(the)e(assignmen)m(t)
+h(statemen)m(ts.)69 b(A)39 b(v)-5 b(ariable)40 b(assignmen)m(t)330
+518 y(error)30 b(o)s(ccurs,)g(for)g(example,)i(when)d(trying)i(to)g
(assign)f(a)h(v)-5 b(alue)31 b(to)g(a)g(readonly)f(v)-5
-b(ariable.)154 4847 y(21.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)e
-(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5
-b(ariable)44 b(in)f(a)g Fs(for)330 4956 y Ft(statemen)m(t)32
+b(ariable.)154 645 y(24.)61 b(A)28 b(non-in)m(teractiv)m(e)j(shell)e
+(exists)f(with)g(an)g(error)g(status)h(if)f(a)g(v)-5
+b(ariable)29 b(assignmen)m(t)g(error)f(o)s(ccurs)330
+755 y(in)i(an)g(assignmen)m(t)i(statemen)m(t)g(preceding)e(a)h(sp)s
+(ecial)g(builtin,)f(but)g(not)g(with)h(an)m(y)f(other)h(simple)330
+864 y(command.)154 991 y(25.)61 b(A)43 b(non-in)m(teractiv)m(e)i(shell)
+e(exits)h(with)f(an)f(error)h(status)g(if)g(the)g(iteration)h(v)-5
+b(ariable)44 b(in)f(a)g Fs(for)330 1101 y Ft(statemen)m(t)32
b(or)f(the)f(selection)i(v)-5 b(ariable)32 b(in)e(a)g
Fs(select)f Ft(statemen)m(t)j(is)f(a)f(readonly)h(v)-5
-b(ariable.)154 5093 y(22.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
-f(a)m(v)-5 b(ailable.)154 5230 y(23.)61 b(Assignmen)m(t)23
+b(ariable.)154 1228 y(26.)61 b(Pro)s(cess)30 b(substitution)g(is)h(not)
+f(a)m(v)-5 b(ailable.)154 1354 y(27.)61 b(Assignmen)m(t)23
b(statemen)m(ts)h(preceding)e Fl(posix)f Ft(sp)s(ecial)i(builtins)f(p)s
-(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 5340
-y(after)31 b(the)f(builtin)g(completes.)p eop end
-%%Page: 86 92
-TeXDict begin 86 91 bop 150 -116 a Ft(86)2572 b(Bash)31
-b(Reference)g(Man)m(ual)154 299 y(24.)61 b(Assignmen)m(t)35
-b(statemen)m(ts)h(preceding)f(shell)f(function)g(calls)i(p)s(ersist)e
-(in)g(the)h(shell)f(en)m(vironmen)m(t)330 408 y(after)d(the)f(function)
-h(returns,)e(as)i(if)f(a)h Fl(posix)e Ft(sp)s(ecial)i(builtin)f
-(command)g(had)g(b)s(een)g(executed.)154 535 y(25.)61
-b(The)38 b Fs(export)f Ft(and)g Fs(readonly)f Ft(builtin)i(commands)g
-(displa)m(y)h(their)f(output)g(in)g(the)h(format)g(re-)330
-645 y(quired)30 b(b)m(y)g Fl(posix)p Ft(.)154 772 y(26.)61
-b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g(signal)i(names)e
-(without)g(the)h(leading)g Fs(SIG)p Ft(.)154 899 y(27.)61
-b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g(c)m(hec)m(k)h(the)g
-(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e(signal)i(sp)s
-(eci\014cation)330 1008 y(and)30 b(rev)m(ert)i(the)e(signal)i(handling)
-e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g(is,)g(unless)f(that)
-h(argumen)m(t)330 1118 y(consists)e(solely)g(of)g(digits)g(and)f(is)g
-(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38 b(If)28
-b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
-1228 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
+(ersist)g(in)f(the)i(shell)f(en)m(vironmen)m(t)330 1464
+y(after)31 b(the)f(builtin)g(completes.)154 1591 y(28.)61
+b(Assignmen)m(t)35 b(statemen)m(ts)h(preceding)f(shell)f(function)g
+(calls)i(p)s(ersist)e(in)g(the)h(shell)f(en)m(vironmen)m(t)330
+1700 y(after)d(the)f(function)h(returns,)e(as)i(if)f(a)h
+Fl(posix)e Ft(sp)s(ecial)i(builtin)f(command)g(had)g(b)s(een)g
+(executed.)154 1827 y(29.)61 b(The)38 b Fs(export)f Ft(and)g
+Fs(readonly)f Ft(builtin)i(commands)g(displa)m(y)h(their)f(output)g(in)
+g(the)h(format)g(re-)330 1937 y(quired)30 b(b)m(y)g Fl(posix)p
+Ft(.)154 2064 y(30.)61 b(The)30 b Fs(trap)f Ft(builtin)h(displa)m(ys)g
+(signal)i(names)e(without)g(the)h(leading)g Fs(SIG)p
+Ft(.)154 2191 y(31.)61 b(The)39 b Fs(trap)e Ft(builtin)i(do)s(esn't)g
+(c)m(hec)m(k)h(the)g(\014rst)e(argumen)m(t)i(for)e(a)i(p)s(ossible)e
+(signal)i(sp)s(eci\014cation)330 2300 y(and)30 b(rev)m(ert)i(the)e
+(signal)i(handling)e(to)h(the)g(original)h(disp)s(osition)e(if)h(it)g
+(is,)g(unless)f(that)h(argumen)m(t)330 2410 y(consists)e(solely)g(of)g
+(digits)g(and)f(is)g(a)h(v)-5 b(alid)29 b(signal)g(n)m(um)m(b)s(er.)38
+b(If)28 b(users)g(w)m(an)m(t)h(to)g(reset)g(the)g(handler)330
+2519 y(for)h(a)g(giv)m(en)h(signal)g(to)f(the)h(original)g(disp)s
(osition,)f(they)g(should)f(use)h(`)p Fs(-)p Ft(')g(as)g(the)g(\014rst)
-f(argumen)m(t.)154 1354 y(28.)61 b(The)21 b Fs(.)h Ft(and)f
+f(argumen)m(t.)154 2646 y(32.)61 b(The)21 b Fs(.)h Ft(and)f
Fs(source)f Ft(builtins)h(do)g(not)h(searc)m(h)h(the)f(curren)m(t)f
(directory)h(for)g(the)g(\014lename)f(argumen)m(t)330
-1464 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
-Fs(PATH)p Ft(.)154 1591 y(29.)61 b(Subshells)20 b(spa)m(wned)h(to)h
+2756 y(if)30 b(it)h(is)g(not)f(found)f(b)m(y)i(searc)m(hing)g
+Fs(PATH)p Ft(.)154 2883 y(33.)61 b(Subshells)20 b(spa)m(wned)h(to)h
(execute)g(command)g(substitutions)f(inherit)g(the)g(v)-5
b(alue)22 b(of)g(the)f(`)p Fs(-e)p Ft(')g(option)330
-1700 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
+2992 y(from)34 b(the)h(paren)m(t)g(shell.)55 b(When)34
b(not)i(in)e Fl(posix)g Ft(mo)s(de,)i(Bash)f(clears)h(the)f(`)p
-Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 1810 y(subshells.)154
-1937 y(30.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
-(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 2064
-y(31.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
+Fs(-e)p Ft(')f(option)i(in)e(suc)m(h)330 3102 y(subshells.)154
+3229 y(34.)61 b(Alias)31 b(expansion)g(is)f(alw)m(a)m(ys)i(enabled,)e
+(ev)m(en)i(in)e(non-in)m(teractiv)m(e)j(shells.)154 3356
+y(35.)61 b(When)43 b(the)g Fs(alias)f Ft(builtin)g(displa)m(ys)i(alias)
g(de\014nitions,)i(it)d(do)s(es)g(not)g(displa)m(y)h(them)f(with)g(a)
-330 2173 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
-Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 2300 y(32.)61
+330 3465 y(leading)31 b(`)p Fs(alias)e Ft(')i(unless)f(the)g(`)p
+Fs(-p)p Ft(')g(option)h(is)g(supplied.)154 3592 y(36.)61
b(When)40 b(the)g Fs(set)f Ft(builtin)h(is)g(in)m(v)m(ok)m(ed)h
(without)f(options,)j(it)e(do)s(es)f(not)g(displa)m(y)g(shell)g
-(function)330 2410 y(names)30 b(and)g(de\014nitions.)154
-2537 y(33.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
+(function)330 3702 y(names)30 b(and)g(de\014nitions.)154
+3829 y(37.)61 b(When)36 b(the)g Fs(set)g Ft(builtin)g(is)g(in)m(v)m(ok)
m(ed)i(without)e(options,)i(it)f(displa)m(ys)f(v)-5 b(ariable)37
-b(v)-5 b(alues)37 b(without)330 2646 y(quotes,)26 b(unless)d(they)i
+b(v)-5 b(alues)37 b(without)330 3938 y(quotes,)26 b(unless)d(they)i
(con)m(tain)g(shell)f(metac)m(haracters,)k(ev)m(en)d(if)f(the)g(result)
-g(con)m(tains)i(nonprin)m(ting)330 2756 y(c)m(haracters.)154
-2883 y(34.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
+g(con)m(tains)i(nonprin)m(ting)330 4048 y(c)m(haracters.)154
+4175 y(38.)61 b(When)35 b(the)g Fs(cd)f Ft(builtin)h(is)g(in)m(v)m(ok)m
(ed)i(in)d Fq(logical)41 b Ft(mo)s(de,)36 b(and)f(the)g(pathname)g
-(constructed)g(from)330 2992 y Fs($PWD)i Ft(and)h(the)h(directory)f
+(constructed)g(from)330 4284 y Fs($PWD)i Ft(and)h(the)h(directory)f
(name)h(supplied)e(as)i(an)f(argumen)m(t)h(do)s(es)f(not)g(refer)h(to)g
-(an)f(existing)330 3102 y(directory)-8 b(,)32 b Fs(cd)d
+(an)f(existing)330 4394 y(directory)-8 b(,)32 b Fs(cd)d
Ft(will)i(fail)g(instead)g(of)f(falling)h(bac)m(k)h(to)f
-Fq(ph)m(ysical)j Ft(mo)s(de.)154 3229 y(35.)61 b(When)20
-b(the)h Fs(pwd)e Ft(builtin)h(is)g(supplied)g(the)g(`)p
-Fs(-P)p Ft(')g(option,)j(it)e(resets)g Fs($PWD)e Ft(to)i(a)g(pathname)f
-(con)m(taining)330 3339 y(no)30 b(symlinks.)154 3465
-y(36.)61 b(The)36 b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f
-(v)-5 b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)
-m(t)f(directory)-8 b(,)330 3575 y(ev)m(en)31 b(if)f(it)h(is)g(not)f
-(ask)m(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p
-Fs(-P)p Ft(')f(option.)154 3702 y(37.)61 b(When)35 b(listing)g(the)g
+Fq(ph)m(ysical)j Ft(mo)s(de.)154 4521 y(39.)61 b(The)36
+b Fs(pwd)f Ft(builtin)h(v)m(eri\014es)h(that)g(the)f(v)-5
+b(alue)37 b(it)g(prin)m(ts)e(is)i(the)f(same)h(as)f(the)h(curren)m(t)f
+(directory)-8 b(,)330 4631 y(ev)m(en)31 b(if)f(it)h(is)g(not)f(ask)m
+(ed)h(to)g(c)m(hec)m(k)h(the)f(\014le)f(system)h(with)f(the)h(`)p
+Fs(-P)p Ft(')f(option.)154 4757 y(40.)61 b(When)35 b(listing)g(the)g
(history)-8 b(,)36 b(the)f Fs(fc)g Ft(builtin)f(do)s(es)g(not)h
-(include)g(an)f(indication)i(of)f(whether)f(or)330 3811
+(include)g(an)f(indication)i(of)f(whether)f(or)330 4867
y(not)d(a)f(history)h(en)m(try)f(has)g(b)s(een)g(mo)s(di\014ed.)154
-3938 y(38.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
-Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 4065 y(39.)61 b(The)37
+4994 y(41.)61 b(The)30 b(default)g(editor)h(used)f(b)m(y)g
+Fs(fc)g Ft(is)g Fs(ed)p Ft(.)154 5121 y(42.)61 b(The)37
b Fs(type)g Ft(and)g Fs(command)f Ft(builtins)i(will)g(not)g(rep)s(ort)
f(a)i(non-executable)g(\014le)f(as)g(ha)m(ving)h(b)s(een)330
-4175 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
+5230 y(found,)26 b(though)h(the)g(shell)g(will)g(attempt)h(to)g
(execute)g(suc)m(h)f(a)g(\014le)g(if)g(it)g(is)g(the)g(only)g(so-named)
-g(\014le)330 4284 y(found)i(in)h Fs($PATH)p Ft(.)154
-4411 y(40.)61 b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m
-(ok)m(e)i(the)e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p
-Fs(v)p Ft(')f(command)g(is)g(run,)330 4521 y(instead)e(of)f(c)m(hec)m
-(king)i Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 4648
-y(41.)61 b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j
-(Bash)d(do)s(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330
-4757 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
+g(\014le)330 5340 y(found)i(in)h Fs($PATH)p Ft(.)p eop
+end
+%%Page: 89 95
+TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(6:)41
+b(Bash)30 b(F)-8 b(eatures)2484 b(89)154 299 y(43.)61
+b(The)33 b Fs(vi)f Ft(editing)i(mo)s(de)f(will)g(in)m(v)m(ok)m(e)i(the)
+e Fs(vi)g Ft(editor)h(directly)f(when)f(the)i(`)p Fs(v)p
+Ft(')f(command)g(is)g(run,)330 408 y(instead)e(of)f(c)m(hec)m(king)i
+Fs($VISUAL)d Ft(and)g Fs($EDITOR)p Ft(.)154 543 y(44.)61
+b(When)41 b(the)g Fs(xpg_echo)e Ft(option)i(is)g(enabled,)j(Bash)d(do)s
+(es)g(not)g(attempt)h(to)g(in)m(terpret)f(an)m(y)h(ar-)330
+653 y(gumen)m(ts)35 b(to)g Fs(echo)e Ft(as)i(options.)54
b(Eac)m(h)35 b(argumen)m(t)g(is)f(displa)m(y)m(ed,)j(after)e(escap)s(e)
-g(c)m(haracters)h(are)330 4867 y(con)m(v)m(erted.)154
-4994 y(42.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
+g(c)m(haracters)h(are)330 762 y(con)m(v)m(erted.)154
+897 y(45.)61 b(The)30 b Fs(ulimit)f Ft(builtin)g(uses)h(a)h(blo)s(c)m
(k)g(size)g(of)g(512)g(b)m(ytes)g(for)f(the)h(`)p Fs(-c)p
-Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 5121 y(43.)61
+Ft(')f(and)g(`)p Fs(-f)p Ft(')g(options.)154 1031 y(46.)61
b(The)39 b(arriv)-5 b(al)41 b(of)f Fs(SIGCHLD)e Ft(when)h(a)h(trap)g
(is)g(set)h(on)f Fs(SIGCHLD)e Ft(do)s(es)h(not)h(in)m(terrupt)g(the)g
-Fs(wait)330 5230 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f
+Fs(wait)330 1141 y Ft(builtin)c(and)h(cause)g(it)h(to)f(return)f
(immediately)-8 b(.)62 b(The)37 b(trap)f(command)h(is)g(run)e(once)j
-(for)f(eac)m(h)330 5340 y(c)m(hild)31 b(that)g(exits.)p
-eop end
-%%Page: 87 93
-TeXDict begin 87 92 bop 150 -116 a Ft(Chapter)30 b(6:)41
-b(Bash)30 b(F)-8 b(eatures)2484 b(87)275 299 y(There)34
-b(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)g(do)s(es)f
-(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)150
-408 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
-543 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
+(for)f(eac)m(h)330 1250 y(c)m(hild)31 b(that)g(exits.)275
+1410 y(There)j(is)g(other)h Fl(posix)f Ft(b)s(eha)m(vior)h(that)g(Bash)
+g(do)s(es)f(not)h(implemen)m(t)g(b)m(y)g(default)f(ev)m(en)i(when)d(in)
+150 1519 y Fl(posix)d Ft(mo)s(de.)40 b(Sp)s(eci\014cally:)199
+1654 y(1.)61 b(The)30 b Fs(fc)f Ft(builtin)h(c)m(hec)m(ks)i
Fs($EDITOR)c Ft(as)j(a)f(program)g(to)h(edit)g(history)f(en)m(tries)h
-(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 653 y(rather)g(than)g(defaulting)h
-(directly)g(to)g Fs(ed)p Ft(.)40 b Fs(fc)30 b Ft(uses)g
-Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 787 y(2.)61
+(if)f Fs(FCEDIT)f Ft(is)h(unset,)330 1763 y(rather)g(than)g(defaulting)
+h(directly)g(to)g Fs(ed)p Ft(.)40 b Fs(fc)30 b Ft(uses)g
+Fs(ed)g Ft(if)g Fs(EDITOR)f Ft(is)h(unset.)199 1898 y(2.)61
b(As)29 b(noted)g(ab)s(o)m(v)m(e,)i(Bash)e(requires)g(the)g
Fs(xpg_echo)e Ft(option)j(to)g(b)s(e)e(enabled)h(for)g(the)g
-Fs(echo)f Ft(builtin)330 897 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
-1056 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
+Fs(echo)f Ft(builtin)330 2007 y(to)j(b)s(e)f(fully)g(conforman)m(t.)275
+2167 y(Bash)66 b(can)h(b)s(e)f(con\014gured)g(to)i(b)s(e)e
Fl(posix)p Ft(-conforman)m(t)h(b)m(y)f(default,)77 b(b)m(y)66
-b(sp)s(ecifying)h(the)150 1166 y(`)p Fs(--enable-strict-posix-def)o
+b(sp)s(ecifying)h(the)150 2276 y(`)p Fs(--enable-strict-posix-def)o
(ault)o Ft(')i(to)76 b Fs(configure)c Ft(when)i(building)g(\(see)i
-(Section)f(10.8)150 1275 y([Optional)31 b(F)-8 b(eatures],)32
-b(page)f(129\).)p eop end
-%%Page: 88 94
-TeXDict begin 88 93 bop eop end
-%%Page: 89 95
-TeXDict begin 89 94 bop 150 -116 a Ft(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2571 b(89)150 299 y Fo(7)80 b(Job)54
+(Section)f(10.8)150 2386 y([Optional)31 b(F)-8 b(eatures],)32
+b(page)f(133\).)p eop end
+%%Page: 90 96
+TeXDict begin 90 95 bop eop end
+%%Page: 91 97
+TeXDict begin 91 96 bop 150 -116 a Ft(Chapter)30 b(7:)41
+b(Job)30 b(Con)m(trol)2571 b(91)150 299 y Fo(7)80 b(Job)54
b(Con)l(trol)150 521 y Ft(This)25 b(c)m(hapter)i(discusses)f(what)g
(job)f(con)m(trol)j(is,)f(ho)m(w)f(it)h(w)m(orks,)g(and)f(ho)m(w)g
(Bash)g(allo)m(ws)h(y)m(ou)g(to)g(access)150 631 y(its)k(facilities.)
@@ -11091,8 +11333,8 @@ h Fs(jobs)e Ft(command\),)k(the)d(curren)m(t)h(job)f(is)g(alw)m(a)m(ys)
i(\015agged)f(with)f(a)h(`)p Fs(+)p Ft(',)i(and)d(the)150
5340 y(previous)30 b(job)g(with)g(a)h(`)p Fs(-)p Ft('.)p
eop end
-%%Page: 90 96
-TeXDict begin 90 95 bop 150 -116 a Ft(90)2572 b(Bash)31
+%%Page: 92 98
+TeXDict begin 92 97 bop 150 -116 a Ft(92)2572 b(Bash)31
b(Reference)g(Man)m(ual)275 299 y(A)38 b(job)g(ma)m(y)h(also)g(b)s(e)f
(referred)f(to)j(using)d(a)i(pre\014x)e(of)i(the)f(name)h(used)e(to)i
(start)g(it,)i(or)e(using)f(a)150 408 y(substring)29
@@ -11118,13 +11360,13 @@ g(to)g(not)g(in)m(terrupt)150 1334 y(an)m(y)g(other)g(output.)39
b(If)24 b(the)i(`)p Fs(-b)p Ft(')e(option)i(to)f(the)g
Fs(set)f Ft(builtin)h(is)g(enabled,)h(Bash)f(rep)s(orts)f(suc)m(h)h(c)m
(hanges)150 1443 y(immediately)g(\(see)g(Section)g(4.3.1)g([The)f(Set)g
-(Builtin],)i(page)f(51\).)40 b(An)m(y)24 b(trap)f(on)h
+(Builtin],)i(page)f(54\).)40 b(An)m(y)24 b(trap)f(on)h
Fs(SIGCHLD)e Ft(is)i(executed)150 1553 y(for)30 b(eac)m(h)i(c)m(hild)e
(pro)s(cess)g(that)h(exits.)275 1687 y(If)25 b(an)h(attempt)h(to)g
(exit)g(Bash)f(is)h(made)f(while)g(jobs)f(are)i(stopp)s(ed,)f(\(or)h
(running,)e(if)h(the)g Fs(checkjobs)150 1796 y Ft(option)e(is)f
(enabled)h({)g(see)g(Section)g(4.3.2)h([The)e(Shopt)g(Builtin],)j(page)
-e(55\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
+e(57\),)i(the)e(shell)f(prin)m(ts)g(a)h(w)m(arning)150
1906 y(message,)k(and)c(if)i(the)f Fs(checkjobs)e Ft(option)j(is)f
(enabled,)i(lists)e(the)h(jobs)f(and)f(their)i(statuses.)39
b(The)25 b Fs(jobs)150 2016 y Ft(command)36 b(ma)m(y)h(then)f(b)s(e)f
@@ -11169,9 +11411,9 @@ Ft(s)g(in)g(addition)h(to)g(the)f(normal)h(information.)630
(status.)630 5340 y Fs(-p)384 b Ft(List)31 b(only)f(the)h(pro)s(cess)f
Fl(id)g Ft(of)h(the)f(job's)g(pro)s(cess)g(group)g(leader.)p
eop end
-%%Page: 91 97
-TeXDict begin 91 96 bop 150 -116 a Ft(Chapter)30 b(7:)41
-b(Job)30 b(Con)m(trol)2571 b(91)630 299 y Fs(-r)384 b
+%%Page: 93 99
+TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(7:)41
+b(Job)30 b(Con)m(trol)2571 b(93)630 299 y Fs(-r)384 b
Ft(Restrict)31 b(output)f(to)i(running)c(jobs.)630 461
y Fs(-s)384 b Ft(Restrict)31 b(output)f(to)i(stopp)s(ed)d(jobs.)630
622 y(If)23 b Fq(jobsp)s(ec)28 b Ft(is)c(giv)m(en,)i(output)d(is)h
@@ -11247,8 +11489,8 @@ Ft(signal.)50 b(A)33 b(login)630 5230 y(shell)24 b(cannot)h(b)s(e)e
(susp)s(ended;)h(the)g(`)p Fs(-f)p Ft(')g(option)g(can)h(b)s(e)e(used)g
(to)i(o)m(v)m(erride)g(this)f(and)f(force)630 5340 y(the)31
b(susp)s(ension.)p eop end
-%%Page: 92 98
-TeXDict begin 92 97 bop 150 -116 a Ft(92)2572 b(Bash)31
+%%Page: 94 100
+TeXDict begin 94 99 bop 150 -116 a Ft(94)2572 b(Bash)31
b(Reference)g(Man)m(ual)275 299 y(When)f(job)f(con)m(trol)j(is)e(not)h
(activ)m(e,)i(the)d Fs(kill)f Ft(and)h Fs(wait)f Ft(builtins)g(do)h
(not)h(accept)h Fq(jobsp)s(ec)j Ft(argu-)150 408 y(men)m(ts.)41
@@ -11275,15 +11517,15 @@ Ft(',)d(the)i(string)g(supplied)e(needs)i(to)g(matc)m(h)h(a)f
62 b(The)37 b(`)p Fs(substring)p Ft(')e(v)-5 b(alue)38
b(pro)m(vides)f(functionalit)m(y)i(analogous)g(to)630
1921 y(the)f(`)p Fs(\045?)p Ft(')f(job)h Fl(id)f Ft(\(see)i(Section)f
-(7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(89\).)64
+(7.1)h([Job)f(Con)m(trol)g(Basics],)j(page)d(91\).)64
b(If)37 b(set)h(to)h(an)m(y)630 2031 y(other)32 b(v)-5
b(alue,)32 b(the)g(supplied)e(string)i(m)m(ust)f(b)s(e)g(a)h(pre\014x)f
(of)h(a)g(stopp)s(ed)e(job's)i(name;)g(this)630 2140
y(pro)m(vides)e(functionalit)m(y)i(analogous)g(to)f(the)g(`)p
Fs(\045)p Ft(')f(job)g Fl(id)p Ft(.)p eop end
-%%Page: 93 99
-TeXDict begin 93 98 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(93)150 299 y Fo(8)80
+%%Page: 95 101
+TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2107 b(95)150 299 y Fo(8)80
b(Command)54 b(Line)f(Editing)150 640 y Ft(This)28 b(c)m(hapter)i
(describ)s(es)e(the)h(basic)g(features)h(of)f(the)g Fl(gnu)f
Ft(command)h(line)g(editing)h(in)m(terface.)42 b(Com-)150
@@ -11296,14 +11538,14 @@ Fs(--noediting)p Ft(')d(option)k(is)e(supplied)g(at)h(shell)g(in)m(v)m
(o)s(cation.)42 b(Line)26 b(editing)150 1078 y(is)i(also)h(used)e(when)
h(using)f(the)h(`)p Fs(-e)p Ft(')g(option)h(to)g(the)f
Fs(read)f Ft(builtin)h(command)f(\(see)i(Section)g(4.2)h([Bash)150
-1188 y(Builtins],)37 b(page)f(41\).)57 b(By)36 b(default,)h(the)e(line)
-h(editing)g(commands)f(are)h(similar)f(to)i(those)e(of)h(emacs.)150
-1297 y(A)f(vi-st)m(yle)h(line)f(editing)g(in)m(terface)h(is)e(also)i(a)
+1188 y(Builtins],)36 b(page)f(43\).)52 b(By)35 b(default,)g(the)f(line)
+h(editing)f(commands)g(are)h(similar)f(to)h(those)f(of)g(Emacs.)150
+1297 y(A)h(vi-st)m(yle)h(line)f(editing)g(in)m(terface)h(is)e(also)i(a)
m(v)-5 b(ailable.)55 b(Line)34 b(editing)h(can)g(b)s(e)f(enabled)g(at)h
(an)m(y)g(time)150 1407 y(using)28 b(the)i(`)p Fs(-o)g(emacs)p
Ft(')d(or)i(`)p Fs(-o)h(vi)p Ft(')f(options)g(to)h(the)f
Fs(set)f Ft(builtin)h(command)g(\(see)h(Section)f(4.3.1)i([The)150
-1517 y(Set)g(Builtin],)g(page)g(51\),)h(or)e(disabled)g(using)g(the)h
+1517 y(Set)g(Builtin],)g(page)g(54\),)h(or)e(disabled)g(using)g(the)h
(`)p Fs(+o)f(emacs)p Ft(')f(or)h(`)p Fs(+o)g(vi)p Ft(')g(options)h(to)g
Fs(set)p Ft(.)150 1802 y Fr(8.1)68 b(In)l(tro)t(duction)45
b(to)g(Line)h(Editing)150 1962 y Ft(The)30 b(follo)m(wing)i(paragraphs)
@@ -11343,7 +11585,7 @@ b Fs(DEL)p Ft(,)f Fs(ESC)p Ft(,)g Fs(LFD)p Ft(,)g Fs(SPC)p
Ft(,)g Fs(RET)p Ft(,)150 3908 y(and)d Fs(TAB)f Ft(all)j(stand)e(for)g
(themselv)m(es)i(when)d(seen)i(in)f(this)g(text,)j(or)d(in)h(an)f(init)
h(\014le)f(\(see)i(Section)f(8.3)150 4018 y([Readline)27
-b(Init)g(File],)i(page)e(96\).)41 b(If)26 b(y)m(our)h(k)m(eyb)s(oard)f
+b(Init)g(File],)i(page)e(98\).)41 b(If)26 b(y)m(our)h(k)m(eyb)s(oard)f
(lac)m(ks)i(a)f Fs(LFD)f Ft(k)m(ey)-8 b(,)29 b(t)m(yping)e
Fs(C-j)e Ft(will)i(pro)s(duce)f(the)150 4128 y(desired)k(c)m(haracter.)
42 b(The)30 b Fs(RET)g Ft(k)m(ey)h(ma)m(y)g(b)s(e)e(lab)s(eled)i
@@ -11367,8 +11609,8 @@ Fs(RET)p Ft(.)39 b(Y)-8 b(ou)25 b(do)g(not)g(ha)m(v)m(e)h(to)g(b)s(e)e
Fs(RET)p Ft(;)i(the)g(en)m(tire)g(line)f(is)h(accepted)g(regardless)g
(of)f(the)h(lo)s(cation)h(of)e(the)h(cursor)150 5340
y(within)c(the)g(line.)p eop end
-%%Page: 94 100
-TeXDict begin 94 99 bop 150 -116 a Ft(94)2572 b(Bash)31
+%%Page: 96 102
+TeXDict begin 96 101 bop 150 -116 a Ft(96)2572 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fj(8.2.1)63 b(Readline)40
b(Bare)h(Essen)m(tials)150 446 y Ft(In)31 b(order)h(to)h(en)m(ter)g(c)m
(haracters)g(in)m(to)g(the)g(line,)g(simply)e(t)m(yp)s(e)i(them.)46
@@ -11436,9 +11678,9 @@ b Ft(Mo)m(v)m(e)32 b(to)g(the)e(end)g(of)g(the)h(line.)150
b(that)f(con)m(trol)g(k)m(eystrok)m(es)h(op)s(erate)e(on)g(c)m
(haracters)h(while)f(meta)h(k)m(eystrok)m(es)h(op)s(erate)e(on)150
5340 y(w)m(ords.)p eop end
-%%Page: 95 101
-TeXDict begin 95 100 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(95)150 299 y Fj(8.2.3)63
+%%Page: 97 103
+TeXDict begin 97 102 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2107 b(97)150 299 y Fj(8.2.3)63
b(Readline)40 b(Killing)i(Commands)150 446 y Fq(Killing)35
b Ft(text)28 b(means)e(to)h(delete)h(the)f(text)g(from)g(the)f(line,)i
(but)e(to)h(sa)m(v)m(e)h(it)g(a)m(w)m(a)m(y)g(for)e(later)i(use,)f
@@ -11512,12 +11754,12 @@ b(on)e(the)h(input)e(line.)150 4974 y Fj(8.2.5)63 b(Searc)m(hing)40
b(for)i(Commands)g(in)f(the)g(History)150 5121 y Ft(Readline)35
b(pro)m(vides)f(commands)g(for)g(searc)m(hing)h(through)e(the)i
(command)f(history)g(\(see)h(Section)g(9.1)150 5230 y([Bash)i(History)h
-(F)-8 b(acilities],)42 b(page)37 b(121\))i(for)d(lines)h(con)m(taining)
+(F)-8 b(acilities],)42 b(page)37 b(125\))i(for)d(lines)h(con)m(taining)
i(a)e(sp)s(eci\014ed)f(string.)60 b(There)36 b(are)i(t)m(w)m(o)150
5340 y(searc)m(h)31 b(mo)s(des:)40 b Fq(incremen)m(tal)35
b Ft(and)30 b Fq(non-incremen)m(tal)p Ft(.)p eop end
-%%Page: 96 102
-TeXDict begin 96 101 bop 150 -116 a Ft(96)2572 b(Bash)31
+%%Page: 98 104
+TeXDict begin 98 103 bop 150 -116 a Ft(98)2572 b(Bash)31
b(Reference)g(Man)m(ual)275 299 y(Incremen)m(tal)26 b(searc)m(hes)h(b)s
(egin)e(b)s(efore)g(the)h(user)f(has)h(\014nished)e(t)m(yping)i(the)g
(searc)m(h)g(string.)39 b(As)26 b(eac)m(h)150 408 y(c)m(haracter)37
@@ -11594,7 +11836,7 @@ b(lines)h(are)150 4620 y(ignored.)72 b(Lines)41 b(b)s(eginning)f(with)h
(a)g(`)p Fs(#)p Ft(')g(are)h(commen)m(ts.)73 b(Lines)41
b(b)s(eginning)f(with)g(a)i(`)p Fs($)p Ft(')f(indicate)150
4730 y(conditional)e(constructs)f(\(see)g(Section)h(8.3.2)g
-([Conditional)g(Init)e(Constructs],)j(page)e(102\).)64
+([Conditional)g(Init)e(Constructs],)j(page)e(104\).)64
b(Other)150 4839 y(lines)31 b(denote)g(v)-5 b(ariable)31
b(settings)g(and)f(k)m(ey)h(bindings.)150 5011 y(V)-8
b(ariable)32 b(Settings)630 5121 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
@@ -11603,430 +11845,450 @@ b(ariable)32 b(Settings)630 5121 y(Y)-8 b(ou)41 b(can)g(mo)s(dify)e
b(in)f(Readline)i(using)e(the)g Fs(set)g Ft(command)g(within)g(the)h
(init)g(\014le.)50 b(The)33 b(syn)m(tax)630 5340 y(is)d(simple:)p
eop end
-%%Page: 97 103
-TeXDict begin 97 102 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(97)870 299 y Fs(set)47
-b Fi(variable)56 b(value)630 445 y Ft(Here,)29 b(for)e(example,)h(is)g
+%%Page: 99 105
+TeXDict begin 99 104 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2107 b(99)870 299 y Fs(set)47
+b Fi(variable)56 b(value)630 436 y Ft(Here,)29 b(for)e(example,)h(is)g
(ho)m(w)f(to)h(c)m(hange)g(from)f(the)g(default)h(Emacs-lik)m(e)h(k)m
-(ey)f(binding)e(to)630 555 y(use)k Fs(vi)g Ft(line)h(editing)g
-(commands:)870 701 y Fs(set)47 b(editing-mode)d(vi)630
-847 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36
+(ey)f(binding)e(to)630 545 y(use)k Fs(vi)g Ft(line)h(editing)g
+(commands:)870 682 y Fs(set)47 b(editing-mode)d(vi)630
+819 y Ft(V)-8 b(ariable)36 b(names)f(and)g(v)-5 b(alues,)36
b(where)f(appropriate,)h(are)g(recognized)g(without)f(regard)630
-956 y(to)c(case.)42 b(Unrecognized)31 b(v)-5 b(ariable)31
-b(names)g(are)f(ignored.)630 1103 y(Bo)s(olean)c(v)-5
+929 y(to)c(case.)42 b(Unrecognized)31 b(v)-5 b(ariable)31
+b(names)g(are)f(ignored.)630 1066 y(Bo)s(olean)c(v)-5
b(ariables)26 b(\(those)g(that)g(can)f(b)s(e)f(set)i(to)g(on)f(or)g
(o\013)7 b(\))25 b(are)h(set)f(to)h(on)f(if)g(the)g(v)-5
-b(alue)26 b(is)630 1212 y(n)m(ull)e(or)g(empt)m(y)-8
+b(alue)26 b(is)630 1176 y(n)m(ull)e(or)g(empt)m(y)-8
b(,)27 b Fq(on)d Ft(\(case-insensitiv)m(e\),)29 b(or)24
b(1.)39 b(An)m(y)25 b(other)f(v)-5 b(alue)25 b(results)f(in)g(the)g(v)
--5 b(ariable)630 1322 y(b)s(eing)30 b(set)h(to)g(o\013.)630
-1468 y(The)37 b Fs(bind)30 b(-V)37 b Ft(command)g(lists)i(the)f(curren)
+-5 b(ariable)630 1285 y(b)s(eing)30 b(set)h(to)g(o\013.)630
+1422 y(The)37 b Fs(bind)30 b(-V)37 b Ft(command)g(lists)i(the)f(curren)
m(t)f(Readline)i(v)-5 b(ariable)38 b(names)g(and)f(v)-5
-b(alues.)630 1577 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
-g(41.)630 1724 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
+b(alues.)630 1532 y(See)31 b(Section)g(4.2)g([Bash)g(Builtins],)g(page)
+g(43.)630 1669 y(A)f(great)i(deal)f(of)g(run-time)f(b)s(eha)m(vior)g
(is)g(c)m(hangeable)j(with)d(the)g(follo)m(wing)i(v)-5
-b(ariables.)630 1906 y Fs(bell-style)1110 2016 y Ft(Con)m(trols)44
+b(ariables.)630 1833 y Fs(bell-style)1110 1943 y Ft(Con)m(trols)44
b(what)g(happ)s(ens)e(when)h(Readline)i(w)m(an)m(ts)f(to)h(ring)e(the)h
-(termi-)1110 2125 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
+(termi-)1110 2052 y(nal)37 b(b)s(ell.)61 b(If)37 b(set)h(to)g(`)p
Fs(none)p Ft(',)g(Readline)g(nev)m(er)g(rings)e(the)i(b)s(ell.)61
-b(If)36 b(set)i(to)1110 2235 y(`)p Fs(visible)p Ft(',)32
+b(If)36 b(set)i(to)1110 2162 y(`)p Fs(visible)p Ft(',)32
b(Readline)i(uses)f(a)g(visible)g(b)s(ell)g(if)g(one)g(is)g(a)m(v)-5
-b(ailable.)51 b(If)33 b(set)g(to)1110 2345 y(`)p Fs(audible)p
+b(ailable.)51 b(If)33 b(set)g(to)1110 2271 y(`)p Fs(audible)p
Ft(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
-(terminal's)1110 2454 y(b)s(ell.)630 2637 y Fs(bind-tty-special-chars)
-1110 2746 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
+(terminal's)1110 2381 y(b)s(ell.)630 2545 y Fs(bind-tty-special-chars)
+1110 2655 y Ft(If)45 b(set)h(to)f(`)p Fs(on)p Ft(',)50
b(Readline)45 b(attempts)i(to)f(bind)d(the)j(con)m(trol)g(c)m
-(haracters)1110 2856 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
+(haracters)1110 2765 y(treated)36 b(sp)s(ecially)h(b)m(y)e(the)h(k)m
(ernel's)g(terminal)g(driv)m(er)f(to)h(their)f(Readline)1110
-2966 y(equiv)-5 b(alen)m(ts.)630 3148 y Fs(comment-begin)1110
-3258 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
-g(the)h(line)f(when)f(the)i Fs(insert-)1110 3367 y(comment)e
+2874 y(equiv)-5 b(alen)m(ts.)630 3039 y Fs(comment-begin)1110
+3148 y Ft(The)29 b(string)g(to)h(insert)f(at)h(the)f(b)s(eginning)g(of)
+g(the)h(line)f(when)f(the)i Fs(insert-)1110 3258 y(comment)e
Ft(command)j(is)f(executed.)42 b(The)29 b(default)i(v)-5
-b(alue)31 b(is)f Fs("#")p Ft(.)630 3550 y Fs(completion-ignore-case)
-1110 3660 y Ft(If)d(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(p)s
-(erforms)e(\014lename)h(matc)m(hing)i(and)e(completion)1110
-3769 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)40 b(The)30
-b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p Ft('.)630
-3952 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110
-4061 y Ft(The)g(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
-(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 4171
+b(alue)31 b(is)f Fs("#")p Ft(.)630 3422 y Fs(completion-display-width)
+1110 3532 y Ft(The)41 b(n)m(um)m(b)s(er)f(of)i(screen)g(columns)f(used)
+g(to)h(displa)m(y)g(p)s(ossible)f(matc)m(hes)1110 3641
+y(when)28 b(p)s(erforming)g(completion.)41 b(The)29 b(v)-5
+b(alue)29 b(is)g(ignored)g(if)g(it)h(is)f(less)g(than)1110
+3751 y(0)e(or)f(greater)h(than)f(the)g(terminal)h(screen)f(width.)39
+b(A)26 b(v)-5 b(alue)27 b(of)f(0)h(will)f(cause)1110
+3861 y(matc)m(hes)32 b(to)f(b)s(e)e(displa)m(y)m(ed)i(one)g(p)s(er)e
+(line.)41 b(The)30 b(default)h(v)-5 b(alue)31 b(is)f(-1.)630
+4025 y Fs(completion-ignore-case)1110 4134 y Ft(If)d(set)h(to)g(`)p
+Fs(on)p Ft(',)g(Readline)g(p)s(erforms)e(\014lename)h(matc)m(hing)i
+(and)e(completion)1110 4244 y(in)j(a)h(case-insensitiv)m(e)i(fashion.)
+40 b(The)30 b(default)h(v)-5 b(alue)30 b(is)h(`)p Fs(off)p
+Ft('.)630 4408 y Fs(completion-map-case)1110 4518 y Ft(If)22
+b(set)g(to)h(`)p Fs(on)p Ft(',)h(and)e Fq(completion-ignore-case)31
+b Ft(is)22 b(enabled,)i(Readline)f(treats)1110 4628 y(h)m(yphens)29
+b(\(`)p Fs(-)p Ft('\))j(and)e(underscores)g(\(`)p Fs(_)p
+Ft('\))i(as)f(equiv)-5 b(alen)m(t)32 b(when)e(p)s(erforming)1110
+4737 y(case-insensitiv)m(e)j(\014lename)d(matc)m(hing)i(and)e
+(completion.)630 4902 y Fs(completion-prefix-displa)o(y-le)o(ngth)1110
+5011 y Ft(The)h(length)g(in)g(c)m(haracters)i(of)f(the)f(common)h
+(pre\014x)e(of)h(a)h(list)g(of)f(p)s(ossible)1110 5121
y(completions)g(that)f(is)g(displa)m(y)m(ed)g(without)g(mo)s
-(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 4281
+(di\014cation.)41 b(When)29 b(set)h(to)h(a)1110 5230
y(v)-5 b(alue)26 b(greater)h(than)e(zero,)j(common)e(pre\014xes)e
-(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 4390
+(longer)j(than)e(this)g(v)-5 b(alue)27 b(are)1110 5340
y(replaced)k(with)f(an)g(ellipsis)h(when)e(displa)m(ying)i(p)s(ossible)
-f(completions.)630 4573 y Fs(completion-query-items)1110
-4682 y Ft(The)c(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
-(that)g(determines)f(when)f(the)i(user)1110 4792 y(is)i(ask)m(ed)h
+f(completions.)p eop end
+%%Page: 100 106
+TeXDict begin 100 105 bop 150 -116 a Ft(100)2527 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y Fs(completion-query-items)1110
+408 y Ft(The)26 b(n)m(um)m(b)s(er)f(of)h(p)s(ossible)g(completions)h
+(that)g(determines)f(when)f(the)i(user)1110 518 y(is)i(ask)m(ed)h
(whether)f(the)h(list)g(of)f(p)s(ossibilities)h(should)e(b)s(e)h
-(displa)m(y)m(ed.)41 b(If)29 b(the)1110 4902 y(n)m(um)m(b)s(er)d(of)h
-(p)s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5
-b(alue,)28 b(Readline)1110 5011 y(will)f(ask)g(the)f(user)g(whether)g
+(displa)m(y)m(ed.)41 b(If)29 b(the)1110 628 y(n)m(um)m(b)s(er)d(of)h(p)
+s(ossible)f(completions)i(is)f(greater)h(than)e(this)h(v)-5
+b(alue,)28 b(Readline)1110 737 y(will)f(ask)g(the)f(user)g(whether)g
(or)g(not)h(he)f(wishes)g(to)i(view)e(them;)i(otherwise,)1110
-5121 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
+847 y(they)d(are)f(simply)g(listed.)40 b(This)23 b(v)-5
b(ariable)25 b(m)m(ust)g(b)s(e)e(set)i(to)g(an)g(in)m(teger)g(v)-5
-b(alue)1110 5230 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
+b(alue)1110 956 y(greater)26 b(than)f(or)f(equal)i(to)f(0.)40
b(A)24 b(negativ)m(e)j(v)-5 b(alue)26 b(means)e(Readline)i(should)1110
-5340 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
-Fs(100)p Ft(.)p eop end
-%%Page: 98 104
-TeXDict begin 98 103 bop 150 -116 a Ft(98)2572 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(convert-meta)1110
-408 y Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m
-(v)m(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
-518 y(to)33 b(an)e Fl(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g
+1066 y(nev)m(er)31 b(ask.)41 b(The)29 b(default)i(limit)g(is)g
+Fs(100)p Ft(.)630 1230 y Fs(convert-meta)1110 1340 y
+Ft(If)22 b(set)g(to)h(`)p Fs(on)p Ft(',)h(Readline)f(will)f(con)m(v)m
+(ert)i(c)m(haracters)f(with)f(the)g(eigh)m(th)h(bit)f(set)1110
+1450 y(to)33 b(an)e Fl(asci)r(i)h Ft(k)m(ey)h(sequence)f(b)m(y)g
(stripping)f(the)h(eigh)m(th)h(bit)f(and)f(pre\014xing)1110
-628 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f(to)
-g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 737 y(The)30
-b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(on)p Ft('.)630
-896 y Fs(disable-completion)1110 1005 y Ft(If)36 b(set)h(to)h(`)p
-Fs(On)p Ft(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h(completion.)60
-b(Completion)1110 1115 y(c)m(haracters)28 b(will)e(b)s(e)f(inserted)h
-(in)m(to)h(the)g(line)f(as)g(if)g(they)h(had)e(b)s(een)g(mapp)s(ed)1110
-1224 y(to)31 b Fs(self-insert)p Ft(.)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 1383 y Fs(editing-mode)1110 1492 y
-Ft(The)d Fs(editing-mode)e Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m
-(h)e(default)h(set)h(of)e(k)m(ey)i(bind-)1110 1602 y(ings)25
-b(is)g(used.)38 b(By)26 b(default,)g(Readline)g(starts)f(up)f(in)h
-(Emacs)g(editing)h(mo)s(de,)1110 1711 y(where)j(the)g(k)m(eystrok)m(es)
-i(are)e(most)h(similar)f(to)h(Emacs.)40 b(This)29 b(v)-5
-b(ariable)30 b(can)1110 1821 y(b)s(e)g(set)h(to)g(either)g(`)p
-Fs(emacs)p Ft(')e(or)h(`)p Fs(vi)p Ft('.)630 1979 y Fs
-(echo-control-characters)1110 2089 y Ft(When)g(set)h(to)g(`)p
-Fs(on)p Ft(',)f(on)g(op)s(erating)h(systems)f(that)h(indicate)g(they)g
-(supp)s(ort)1110 2198 y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m
-(haracter)h(corresp)s(onding)d(to)j(a)f(signal)g(generated)1110
-2308 y(from)e(the)g(k)m(eyb)s(oard.)41 b(The)30 b(default)g(is)h(`)p
-Fs(on)p Ft('.)630 2466 y Fs(enable-keypad)1110 2576 y
-Ft(When)23 b(set)h(to)g(`)p Fs(on)p Ft(',)h(Readline)f(will)g(try)f(to)
-h(enable)g(the)f(application)i(k)m(eypad)1110 2685 y(when)h(it)h(is)f
-(called.)41 b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g
-(arro)m(w)g(k)m(eys.)1110 2795 y(The)j(default)g(is)h(`)p
-Fs(off)p Ft('.)630 2953 y Fs(enable-meta-key)1110 3063
-y Ft(When)40 b(set)g(to)g(`)p Fs(on)p Ft(',)j(Readline)d(will)g(try)g
-(to)g(enable)g(an)m(y)g(meta)h(mo)s(di\014er)1110 3173
-y(k)m(ey)i(the)e(terminal)i(claims)f(to)h(supp)s(ort)d(when)h(it)h(is)g
-(called.)76 b(On)41 b(man)m(y)1110 3282 y(terminals,)c(the)e(meta)h(k)m
-(ey)g(is)f(used)g(to)h(send)e(eigh)m(t-bit)j(c)m(haracters.)56
-b(The)1110 3392 y(default)31 b(is)f(`)p Fs(on)p Ft('.)630
-3550 y Fs(expand-tilde)1110 3660 y Ft(If)d(set)h(to)h(`)p
-Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f(p)s(erformed)f(when)h
-(Readline)h(attempts)1110 3769 y(w)m(ord)i(completion.)42
-b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)630 3927
-y Fs(history-preserve-point)1110 4037 y Ft(If)41 b(set)h(to)h(`)p
-Fs(on)p Ft(',)i(the)c(history)h(co)s(de)g(attempts)h(to)f(place)h(the)f
-(p)s(oin)m(t)f(\(the)1110 4147 y(curren)m(t)35 b(cursor)g(p)s
-(osition\))g(at)h(the)g(same)f(lo)s(cation)i(on)e(eac)m(h)h(history)g
-(line)1110 4256 y(retriev)m(ed)h(with)f Fs(previous-history)c
-Ft(or)37 b Fs(next-history)p Ft(.)55 b(The)36 b(default)1110
-4366 y(is)30 b(`)p Fs(off)p Ft('.)630 4524 y Fs(history-size)1110
-4634 y Ft(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g
-(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 4743
+1559 y(an)24 b Fs(ESC)g Ft(c)m(haracter,)j(con)m(v)m(erting)f(them)f
+(to)g(a)g(meta-pre\014xed)f(k)m(ey)h(sequence.)1110 1669
+y(The)30 b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(on)p
+Ft('.)630 1833 y Fs(disable-completion)1110 1943 y Ft(If)36
+b(set)h(to)h(`)p Fs(On)p Ft(',)g(Readline)f(will)g(inhibit)f(w)m(ord)h
+(completion.)60 b(Completion)1110 2052 y(c)m(haracters)28
+b(will)e(b)s(e)f(inserted)h(in)m(to)h(the)g(line)f(as)g(if)g(they)h
+(had)e(b)s(een)g(mapp)s(ed)1110 2162 y(to)31 b Fs(self-insert)p
+Ft(.)38 b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)630
+2326 y Fs(editing-mode)1110 2436 y Ft(The)d Fs(editing-mode)e
+Ft(v)-5 b(ariable)29 b(con)m(trols)h(whic)m(h)e(default)h(set)h(of)e(k)
+m(ey)i(bind-)1110 2545 y(ings)25 b(is)g(used.)38 b(By)26
+b(default,)g(Readline)g(starts)f(up)f(in)h(Emacs)g(editing)h(mo)s(de,)
+1110 2655 y(where)j(the)g(k)m(eystrok)m(es)i(are)e(most)h(similar)f(to)
+h(Emacs.)40 b(This)29 b(v)-5 b(ariable)30 b(can)1110
+2765 y(b)s(e)g(set)h(to)g(either)g(`)p Fs(emacs)p Ft(')e(or)h(`)p
+Fs(vi)p Ft('.)630 2929 y Fs(echo-control-characters)1110
+3039 y Ft(When)g(set)h(to)g(`)p Fs(on)p Ft(',)f(on)g(op)s(erating)h
+(systems)f(that)h(indicate)g(they)g(supp)s(ort)1110 3148
+y(it,)i(readline)e(ec)m(ho)s(es)i(a)f(c)m(haracter)h(corresp)s(onding)d
+(to)j(a)f(signal)g(generated)1110 3258 y(from)e(the)g(k)m(eyb)s(oard.)
+41 b(The)30 b(default)g(is)h(`)p Fs(on)p Ft('.)630 3422
+y Fs(enable-keypad)1110 3532 y Ft(When)23 b(set)h(to)g(`)p
+Fs(on)p Ft(',)h(Readline)f(will)g(try)f(to)h(enable)g(the)f
+(application)i(k)m(eypad)1110 3641 y(when)h(it)h(is)f(called.)41
+b(Some)27 b(systems)f(need)h(this)f(to)h(enable)g(the)g(arro)m(w)g(k)m
+(eys.)1110 3751 y(The)j(default)g(is)h(`)p Fs(off)p Ft('.)630
+3915 y Fs(enable-meta-key)1110 4025 y Ft(When)40 b(set)g(to)g(`)p
+Fs(on)p Ft(',)j(Readline)d(will)g(try)g(to)g(enable)g(an)m(y)g(meta)h
+(mo)s(di\014er)1110 4134 y(k)m(ey)i(the)e(terminal)i(claims)f(to)h
+(supp)s(ort)d(when)h(it)h(is)g(called.)76 b(On)41 b(man)m(y)1110
+4244 y(terminals,)c(the)e(meta)h(k)m(ey)g(is)f(used)g(to)h(send)e(eigh)
+m(t-bit)j(c)m(haracters.)56 b(The)1110 4354 y(default)31
+b(is)f(`)p Fs(on)p Ft('.)630 4518 y Fs(expand-tilde)1110
+4628 y Ft(If)d(set)h(to)h(`)p Fs(on)p Ft(',)f(tilde)g(expansion)g(is)f
+(p)s(erformed)f(when)h(Readline)h(attempts)1110 4737
+y(w)m(ord)i(completion.)42 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 4902 y Fs(history-preserve-point)1110
+5011 y Ft(If)41 b(set)h(to)h(`)p Fs(on)p Ft(',)i(the)c(history)h(co)s
+(de)g(attempts)h(to)f(place)h(the)f(p)s(oin)m(t)f(\(the)1110
+5121 y(curren)m(t)35 b(cursor)g(p)s(osition\))g(at)h(the)g(same)f(lo)s
+(cation)i(on)e(eac)m(h)h(history)g(line)1110 5230 y(retriev)m(ed)h
+(with)f Fs(previous-history)c Ft(or)37 b Fs(next-history)p
+Ft(.)55 b(The)36 b(default)1110 5340 y(is)30 b(`)p Fs(off)p
+Ft('.)p eop end
+%%Page: 101 107
+TeXDict begin 101 106 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(101)630 299 y Fs(history-size)1110
+408 y Ft(Set)39 b(the)g(maxim)m(um)g(n)m(um)m(b)s(er)f(of)h(history)g
+(en)m(tries)h(sa)m(v)m(ed)g(in)f(the)g(history)1110 518
y(list.)53 b(If)34 b(set)h(to)g(zero,)i(the)d(n)m(um)m(b)s(er)g(of)g
(en)m(tries)h(in)f(the)h(history)f(list)h(is)g(not)1110
-4853 y(limited.)630 5011 y Fs(horizontal-scroll-mode)1110
-5121 y Ft(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
+628 y(limited.)630 778 y Fs(horizontal-scroll-mode)1110
+888 y Ft(This)g(v)-5 b(ariable)37 b(can)f(b)s(e)f(set)h(to)h(either)f
(`)p Fs(on)p Ft(')g(or)g(`)p Fs(off)p Ft('.)57 b(Setting)36
-b(it)g(to)h(`)p Fs(on)p Ft(')1110 5230 y(means)26 b(that)h(the)f(text)h
+b(it)g(to)h(`)p Fs(on)p Ft(')1110 998 y(means)26 b(that)h(the)f(text)h
(of)g(the)f(lines)g(b)s(eing)g(edited)h(will)f(scroll)h(horizon)m
-(tally)1110 5340 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
-(are)g(longer)h(than)e(the)h(width)f(of)h(the)p eop end
-%%Page: 99 105
-TeXDict begin 99 104 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2107 b(99)1110 299 y(screen,)27
-b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g(line.)39
-b(By)27 b(default,)g(this)1110 408 y(v)-5 b(ariable)31
-b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630 567 y Fs(input-meta)1110
-676 y Ft(If)f(set)g(to)h(`)p Fs(on)p Ft(',)g(Readline)g(will)f(enable)h
-(eigh)m(t-bit)h(input)d(\(it)i(will)f(not)h(clear)1110
-786 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h(c)m(haracters)h(it)f
-(reads\),)j(regardless)c(of)h(what)g(the)1110 896 y(terminal)g(claims)h
-(it)g(can)f(supp)s(ort.)68 b(The)39 b(default)h(v)-5
-b(alue)40 b(is)g(`)p Fs(off)p Ft('.)69 b(The)1110 1005
-y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m(ym)g(for)g(this)h(v)-5
-b(ariable.)630 1163 y Fs(isearch-terminators)1110 1273
-y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e(terminate)j
-(an)f(incremen)m(tal)1110 1383 y(searc)m(h)25 b(without)g(subsequen)m
-(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g(command)1110
-1492 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i(page)c(95\).)73
-b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110 1602
-y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m(haracters)h
-Fs(ESC)d Ft(and)h Fi(C-J)g Ft(will)h(terminate)g(an)1110
-1711 y(incremen)m(tal)c(searc)m(h.)630 1870 y Fs(keymap)192
+(tally)1110 1107 y(on)32 b(a)g(single)g(screen)g(line)g(when)e(they)i
+(are)g(longer)h(than)e(the)h(width)f(of)h(the)1110 1217
+y(screen,)27 b(instead)g(of)f(wrapping)f(on)m(to)i(a)f(new)g(screen)g
+(line.)39 b(By)27 b(default,)g(this)1110 1326 y(v)-5
+b(ariable)31 b(is)g(set)f(to)i(`)p Fs(off)p Ft('.)630
+1477 y Fs(input-meta)1110 1587 y Ft(If)f(set)g(to)h(`)p
+Fs(on)p Ft(',)g(Readline)g(will)f(enable)h(eigh)m(t-bit)h(input)d(\(it)
+i(will)f(not)h(clear)1110 1696 y(the)40 b(eigh)m(th)g(bit)g(in)f(the)h
+(c)m(haracters)h(it)f(reads\),)j(regardless)c(of)h(what)g(the)1110
+1806 y(terminal)g(claims)h(it)g(can)f(supp)s(ort.)68
+b(The)39 b(default)h(v)-5 b(alue)40 b(is)g(`)p Fs(off)p
+Ft('.)69 b(The)1110 1915 y(name)30 b Fs(meta-flag)e Ft(is)j(a)f(synon)m
+(ym)g(for)g(this)h(v)-5 b(ariable.)630 2066 y Fs(isearch-terminators)
+1110 2176 y Ft(The)51 b(string)h(of)g(c)m(haracters)h(that)f(should)e
+(terminate)j(an)f(incremen)m(tal)1110 2285 y(searc)m(h)25
+b(without)g(subsequen)m(tly)g(executing)h(the)f(c)m(haracter)h(as)f(a)g
+(command)1110 2395 y(\(see)42 b(Section)f(8.2.5)i([Searc)m(hing],)i
+(page)c(97\).)73 b(If)41 b(this)g(v)-5 b(ariable)41 b(has)g(not)1110
+2504 y(b)s(een)35 b(giv)m(en)h(a)g(v)-5 b(alue,)37 b(the)f(c)m
+(haracters)h Fs(ESC)d Ft(and)h Fi(C-J)g Ft(will)h(terminate)g(an)1110
+2614 y(incremen)m(tal)c(searc)m(h.)630 2765 y Fs(keymap)192
b Ft(Sets)39 b(Readline's)g(idea)h(of)f(the)g(curren)m(t)f(k)m(eymap)h
-(for)g(k)m(ey)g(binding)f(com-)1110 1979 y(mands.)81
+(for)g(k)m(ey)g(binding)f(com-)1110 2874 y(mands.)81
b(Acceptable)47 b Fs(keymap)42 b Ft(names)i(are)h Fs(emacs)p
-Ft(,)i Fs(emacs-standard)p Ft(,)1110 2089 y Fs(emacs-meta)p
+Ft(,)i Fs(emacs-standard)p Ft(,)1110 2984 y Fs(emacs-meta)p
Ft(,)99 b Fs(emacs-ctlx)p Ft(,)f Fs(vi)p Ft(,)j Fs(vi-move)p
-Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 2198 y Fs(vi-insert)p
+Ft(,)f Fs(vi-command)p Ft(,)f(and)1110 3093 y Fs(vi-insert)p
Ft(.)64 b Fs(vi)38 b Ft(is)h(equiv)-5 b(alen)m(t)41 b(to)e
Fs(vi-command)p Ft(;)i Fs(emacs)c Ft(is)i(equiv)-5 b(alen)m(t)1110
-2308 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
+3203 y(to)33 b Fs(emacs-standard)p Ft(.)41 b(The)31 b(default)h(v)-5
b(alue)32 b(is)g Fs(emacs)p Ft(.)44 b(The)31 b(v)-5 b(alue)33
-b(of)f(the)1110 2418 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
-b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 2576
-y Fs(mark-directories)1110 2685 y Ft(If)38 b(set)g(to)h(`)p
+b(of)f(the)1110 3313 y Fs(editing-mode)27 b Ft(v)-5 b(ariable)31
+b(also)h(a\013ects)f(the)g(default)f(k)m(eymap.)630 3463
+y Fs(mark-directories)1110 3573 y Ft(If)38 b(set)g(to)h(`)p
Fs(on)p Ft(',)i(completed)e(directory)f(names)g(ha)m(v)m(e)i(a)e(slash)
-g(app)s(ended.)1110 2795 y(The)30 b(default)g(is)h(`)p
-Fs(on)p Ft('.)630 2953 y Fs(mark-modified-lines)1110
-3063 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
+g(app)s(ended.)1110 3682 y(The)30 b(default)g(is)h(`)p
+Fs(on)p Ft('.)630 3833 y Fs(mark-modified-lines)1110
+3943 y Ft(This)k(v)-5 b(ariable,)38 b(when)d(set)h(to)h(`)p
Fs(on)p Ft(',)g(causes)g(Readline)f(to)h(displa)m(y)f(an)f(as-)1110
-3173 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
+4052 y(terisk)f(\(`)p Fs(*)p Ft('\))h(at)f(the)g(start)g(of)g(history)g
(lines)g(whic)m(h)f(ha)m(v)m(e)i(b)s(een)e(mo)s(di\014ed.)1110
-3282 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
-(default.)630 3440 y Fs(mark-symlinked-directori)o(es)1110
-3550 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
+4162 y(This)d(v)-5 b(ariable)31 b(is)f(`)p Fs(off)p Ft(')g(b)m(y)g
+(default.)630 4313 y Fs(mark-symlinked-directori)o(es)1110
+4422 y Ft(If)44 b(set)h(to)h(`)p Fs(on)p Ft(',)i(completed)e(names)f
(whic)m(h)f(are)h(sym)m(b)s(olic)g(links)g(to)g(di-)1110
-3660 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
+4532 y(rectories)j(ha)m(v)m(e)f(a)g(slash)f(app)s(ended)e(\(sub)5
b(ject)47 b(to)g(the)f(v)-5 b(alue)47 b(of)f Fs(mark-)1110
-3769 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 3927 y Fs(match-hidden-files)1110
-4037 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
+4641 y(directories)p Ft(\).)38 b(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 4792 y Fs(match-hidden-files)1110
+4902 y Ft(This)21 b(v)-5 b(ariable,)25 b(when)d(set)g(to)h(`)p
Fs(on)p Ft(',)h(causes)f(Readline)g(to)g(matc)m(h)g(\014les)f(whose)
-1110 4147 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
+1110 5011 y(names)44 b(b)s(egin)g(with)g(a)g(`)p Fs(.)p
Ft(')g(\(hidden)f(\014les\))i(when)e(p)s(erforming)g(\014lename)1110
-4256 y(completion,)j(unless)41 b(the)g(leading)h(`)p
-Fs(.)p Ft(')g(is)g(supplied)e(b)m(y)h(the)h(user)f(in)g(the)1110
-4366 y(\014lename)31 b(to)g(b)s(e)e(completed.)42 b(This)30
-b(v)-5 b(ariable)31 b(is)f(`)p Fs(on)p Ft(')h(b)m(y)f(default.)630
-4524 y Fs(output-meta)1110 4634 y Ft(If)35 b(set)h(to)g(`)p
+5121 y(completion.)75 b(If)41 b(set)g(to)h(`)p Fs(off)p
+Ft(',)i(the)e(leading)g(`)p Fs(.)p Ft(')f(m)m(ust)g(b)s(e)g(supplied)f
+(b)m(y)1110 5230 y(the)34 b(user)g(in)g(the)g(\014lename)g(to)h(b)s(e)f
+(completed.)53 b(This)33 b(v)-5 b(ariable)35 b(is)f(`)p
+Fs(on)p Ft(')g(b)m(y)1110 5340 y(default.)p eop end
+%%Page: 102 108
+TeXDict begin 102 107 bop 150 -116 a Ft(102)2527 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y Fs(menu-complete-display-pr)o(efix)
+1110 408 y Ft(If)i(set)h(to)g(`)p Fs(on)p Ft(',)h(men)m(u)e(completion)
+i(displa)m(ys)e(the)h(common)g(pre\014x)e(of)i(the)1110
+518 y(list)k(of)g(p)s(ossible)f(completions)i(\(whic)m(h)e(ma)m(y)h(b)s
+(e)f(empt)m(y\))i(b)s(efore)e(cycling)1110 628 y(through)30
+b(the)g(list.)42 b(The)29 b(default)i(is)f(`)p Fs(off)p
+Ft('.)630 784 y Fs(output-meta)1110 894 y Ft(If)35 b(set)h(to)g(`)p
Fs(on)p Ft(',)h(Readline)f(will)g(displa)m(y)f(c)m(haracters)i(with)e
-(the)h(eigh)m(th)g(bit)1110 4743 y(set)h(directly)g(rather)f(than)g(as)
+(the)h(eigh)m(th)g(bit)1110 1003 y(set)h(directly)g(rather)f(than)g(as)
h(a)g(meta-pre\014xed)f(escap)s(e)h(sequence.)59 b(The)1110
-4853 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 5011
-y Fs(page-completions)1110 5121 y Ft(If)j(set)i(to)f(`)p
+1113 y(default)31 b(is)f(`)p Fs(off)p Ft('.)630 1270
+y Fs(page-completions)1110 1379 y Ft(If)j(set)i(to)f(`)p
Fs(on)p Ft(',)h(Readline)g(uses)e(an)h(in)m(ternal)h
Fs(more)p Ft(-lik)m(e)f(pager)g(to)h(displa)m(y)1110
-5230 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
+1489 y(a)e(screenful)f(of)g(p)s(ossible)g(completions)i(at)f(a)g(time.)
47 b(This)31 b(v)-5 b(ariable)34 b(is)e(`)p Fs(on)p Ft(')1110
-5340 y(b)m(y)e(default.)p eop end
-%%Page: 100 106
-TeXDict begin 100 105 bop 150 -116 a Ft(100)2527 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(print-completions-horizo)o(ntal)o
-(ly)1110 408 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
+1598 y(b)m(y)e(default.)630 1755 y Fs(print-completions-horizo)o(ntal)o
+(ly)1110 1864 y Ft(If)23 b(set)i(to)g(`)p Fs(on)p Ft(',)g(Readline)g
(will)f(displa)m(y)g(completions)h(with)f(matc)m(hes)h(sorted)1110
-518 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
-(than)g(do)m(wn)g(the)h(screen.)1110 628 y(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)630 788 y Fs(revert-all-at-newline)1110
-897 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f
+1974 y(horizon)m(tally)45 b(in)e(alphab)s(etical)i(order,)i(rather)c
+(than)g(do)m(wn)g(the)h(screen.)1110 2084 y(The)30 b(default)g(is)h(`)p
+Fs(off)p Ft('.)630 2240 y Fs(revert-all-at-newline)1110
+2350 y Ft(If)e(set)h(to)g(`)p Fs(on)p Ft(',)g(Readline)g(will)g(undo)f
(all)h(c)m(hanges)h(to)f(history)g(lines)f(b)s(efore)1110
-1007 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41
-b(By)29 b(default,)g(history)g(lines)1110 1117 y(ma)m(y)42
+2459 y(returning)f(when)f Fs(accept-line)f Ft(is)j(executed.)41
+b(By)29 b(default,)g(history)g(lines)1110 2569 y(ma)m(y)42
b(b)s(e)g(mo)s(di\014ed)e(and)h(retain)i(individual)e(undo)g(lists)h
-(across)g(calls)h(to)1110 1226 y Fs(readline)p Ft(.)38
-b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 1386
-y Fs(show-all-if-ambiguous)1110 1496 y Ft(This)f(alters)i(the)f
+(across)g(calls)h(to)1110 2679 y Fs(readline)p Ft(.)38
+b(The)30 b(default)h(is)f(`)p Fs(off)p Ft('.)630 2835
+y Fs(show-all-if-ambiguous)1110 2945 y Ft(This)f(alters)i(the)f
(default)g(b)s(eha)m(vior)g(of)g(the)h(completion)g(functions.)40
-b(If)29 b(set)1110 1606 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)
+b(If)29 b(set)1110 3054 y(to)f(`)p Fs(on)p Ft(',)g(w)m(ords)f(whic)m(h)
g(ha)m(v)m(e)i(more)f(than)f(one)h(p)s(ossible)f(completion)h(cause)
-1110 1715 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
-(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 1825 y(The)30
+1110 3164 y(the)39 b(matc)m(hes)h(to)g(b)s(e)e(listed)h(immediately)i
+(instead)e(of)g(ringing)g(the)g(b)s(ell.)1110 3273 y(The)30
b(default)g(v)-5 b(alue)31 b(is)g(`)p Fs(off)p Ft('.)630
-1985 y Fs(show-all-if-unmodified)1110 2094 y Ft(This)38
+3430 y Fs(show-all-if-unmodified)1110 3540 y Ft(This)38
b(alters)h(the)g(default)g(b)s(eha)m(vior)g(of)f(the)h(completion)h
-(functions)e(in)h(a)1110 2204 y(fashion)25 b(similar)g(to)h
+(functions)e(in)h(a)1110 3649 y(fashion)25 b(similar)g(to)h
Fq(sho)m(w-all-if-am)m(biguous)t Ft(.)41 b(If)24 b(set)i(to)f(`)p
-Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 2314 y(ha)m(v)m(e)32
+Fs(on)p Ft(',)i(w)m(ords)d(whic)m(h)1110 3759 y(ha)m(v)m(e)32
b(more)f(than)f(one)i(p)s(ossible)e(completion)i(without)f(an)m(y)g(p)s
-(ossible)f(par-)1110 2423 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
-f(completions)h(don't)f(share)g(a)h(common)1110 2533
+(ossible)f(par-)1110 3868 y(tial)43 b(completion)h(\(the)f(p)s(ossible)
+f(completions)h(don't)f(share)g(a)h(common)1110 3978
y(pre\014x\))30 b(cause)g(the)h(matc)m(hes)g(to)g(b)s(e)f(listed)g
-(immediately)i(instead)e(of)h(ring-)1110 2642 y(ing)g(the)f(b)s(ell.)41
+(immediately)i(instead)e(of)h(ring-)1110 4088 y(ing)g(the)f(b)s(ell.)41
b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(`)p Fs(off)p
-Ft('.)630 2803 y Fs(skip-completed-text)1110 2912 y Ft(If)i(set)i(to)f
+Ft('.)630 4244 y Fs(skip-completed-text)1110 4354 y Ft(If)i(set)i(to)f
(`)p Fs(on)p Ft(',)h(this)f(alters)g(the)g(default)g(completion)h(b)s
-(eha)m(vior)f(when)f(in-)1110 3022 y(serting)d(a)h(single)g(matc)m(h)f
+(eha)m(vior)f(when)f(in-)1110 4463 y(serting)d(a)h(single)g(matc)m(h)f
(in)m(to)h(the)g(line.)40 b(It's)30 b(only)f(activ)m(e)i(when)d(p)s
-(erform-)1110 3131 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f
+(erform-)1110 4573 y(ing)35 b(completion)h(in)e(the)h(middle)f(of)h(a)f
(w)m(ord.)53 b(If)35 b(enabled,)g(readline)g(do)s(es)1110
-3241 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h
-(that)f(matc)m(h)g(c)m(haracters)1110 3351 y(after)c(p)s(oin)m(t)g(in)g
+4682 y(not)41 b(insert)f(c)m(haracters)i(from)e(the)h(completion)h
+(that)f(matc)m(h)g(c)m(haracters)1110 4792 y(after)c(p)s(oin)m(t)g(in)g
(the)g(w)m(ord)f(b)s(eing)g(completed,)k(so)d(p)s(ortions)f(of)h(the)g
-(w)m(ord)1110 3460 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g
+(w)m(ord)1110 4902 y(follo)m(wing)c(the)f(cursor)f(are)h(not)g
(duplicated.)45 b(F)-8 b(or)32 b(instance,)h(if)f(this)f(is)h(en-)1110
-3570 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
-(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 3679 y(`)p Fs(Makefile)p
+5011 y(abled,)43 b(attempting)f(completion)g(when)d(the)i(cursor)f(is)g
+(after)h(the)g(`)p Fs(e)p Ft(')f(in)1110 5121 y(`)p Fs(Makefile)p
Ft(')c(will)i(result)f(in)g(`)p Fs(Makefile)p Ft(')f(rather)h(than)h(`)
-p Fs(Makefilefile)p Ft(',)1110 3789 y(assuming)d(there)g(is)h(a)f
+p Fs(Makefilefile)p Ft(',)1110 5230 y(assuming)d(there)g(is)h(a)f
(single)h(p)s(ossible)f(completion.)56 b(The)35 b(default)g(v)-5
-b(alue)1110 3898 y(is)30 b(`)p Fs(off)p Ft('.)630 4059
-y Fs(visible-stats)1110 4168 y Ft(If)h(set)i(to)f(`)p
-Fs(on)p Ft(',)h(a)f(c)m(haracter)i(denoting)e(a)g(\014le's)g(t)m(yp)s
-(e)g(is)g(app)s(ended)e(to)j(the)1110 4278 y(\014lename)e(when)e
-(listing)i(p)s(ossible)f(completions.)42 b(The)30 b(default)g(is)h(`)p
-Fs(off)p Ft('.)150 4438 y(Key)f(Bindings)630 4548 y(The)41
-b(syn)m(tax)i(for)f(con)m(trolling)h(k)m(ey)g(bindings)e(in)h(the)g
-(init)g(\014le)g(is)g(simple.)75 b(First)43 b(y)m(ou)630
-4657 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h(the)g(command)f(that)i
-(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41 b(The)27 b(follo)m(wing)630
-4767 y(sections)37 b(con)m(tain)g(tables)g(of)f(the)g(command)f(name,)j
-(the)e(default)g(k)m(eybinding,)h(if)f(an)m(y)-8 b(,)630
-4876 y(and)30 b(a)h(short)f(description)g(of)h(what)f(the)g(command)h
-(do)s(es.)630 5011 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g(name)g(of)g
-(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g(the)g(init)630
-5121 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m(ou)g(wish)f(to)h
-(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)630
-5230 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
+b(alue)1110 5340 y(is)30 b(`)p Fs(off)p Ft('.)p eop end
+%%Page: 103 109
+TeXDict begin 103 108 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(103)630 299 y Fs(visible-stats)
+1110 408 y Ft(If)31 b(set)i(to)f(`)p Fs(on)p Ft(',)h(a)f(c)m(haracter)i
+(denoting)e(a)g(\014le's)g(t)m(yp)s(e)g(is)g(app)s(ended)e(to)j(the)
+1110 518 y(\014lename)e(when)e(listing)i(p)s(ossible)f(completions.)42
+b(The)30 b(default)g(is)h(`)p Fs(off)p Ft('.)150 675
+y(Key)f(Bindings)630 784 y(The)41 b(syn)m(tax)i(for)f(con)m(trolling)h
+(k)m(ey)g(bindings)e(in)h(the)g(init)g(\014le)g(is)g(simple.)75
+b(First)43 b(y)m(ou)630 894 y(need)27 b(to)i(\014nd)d(the)i(name)f(of)h
+(the)g(command)f(that)i(y)m(ou)f(w)m(an)m(t)g(to)g(c)m(hange.)41
+b(The)27 b(follo)m(wing)630 1003 y(sections)37 b(con)m(tain)g(tables)g
+(of)f(the)g(command)f(name,)j(the)e(default)g(k)m(eybinding,)h(if)f(an)
+m(y)-8 b(,)630 1113 y(and)30 b(a)h(short)f(description)g(of)h(what)f
+(the)g(command)h(do)s(es.)630 1246 y(Once)36 b(y)m(ou)g(kno)m(w)g(the)g
+(name)g(of)g(the)g(command,)h(simply)f(place)h(on)e(a)i(line)f(in)g
+(the)g(init)630 1356 y(\014le)e(the)g(name)f(of)h(the)g(k)m(ey)g(y)m
+(ou)g(wish)f(to)h(bind)f(the)h(command)f(to,)i(a)f(colon,)i(and)d(then)
+630 1465 y(the)f(name)h(of)f(the)g(command.)46 b(There)32
b(can)g(b)s(e)g(no)g(space)g(b)s(et)m(w)m(een)h(the)f(k)m(ey)h(name)g
-(and)630 5340 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
+(and)630 1575 y(the)41 b(colon)h({)f(that)g(will)g(b)s(e)g(in)m
(terpreted)g(as)g(part)f(of)h(the)g(k)m(ey)h(name.)72
-b(The)40 b(name)h(of)p eop end
-%%Page: 101 107
-TeXDict begin 101 106 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(101)630 299 y(the)35
-b(k)m(ey)g(can)g(b)s(e)f(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)
-h(dep)s(ending)d(on)h(what)h(y)m(ou)g(\014nd)e(most)630
-408 y(comfortable.)630 538 y(In)i(addition)h(to)h(command)f(names,)i
-(readline)e(allo)m(ws)h(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f
-(string)630 648 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f
-(pressed)g(\(a)h Fq(macro)5 b Ft(\).)630 778 y(The)42
-b Fs(bind)30 b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g
-(names)g(and)f(bindings)g(in)h(a)630 887 y(format)37
-b(that)h(can)f(put)f(directly)i(in)m(to)g(an)f(initialization)j
-(\014le.)60 b(See)38 b(Section)f(4.2)i([Bash)630 997
-y(Builtins],)31 b(page)g(41.)630 1147 y Fq(k)m(eyname)5
-b Ft(:)42 b Fq(function-name)35 b Ft(or)c Fq(macro)1110
-1257 y(k)m(eyname)k Ft(is)29 b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s
-(elled)e(out)h(in)g(English.)39 b(F)-8 b(or)30 b(example:)1350
-1387 y Fs(Control-u:)45 b(universal-argument)1350 1496
-y(Meta-Rubout:)f(backward-kill-word)1350 1606 y(Control-o:)h(">)i
-(output")1110 1736 y Ft(In)38 b(the)h(ab)s(o)m(v)m(e)h(example,)h
-Fi(C-u)d Ft(is)h(b)s(ound)d(to)k(the)e(function)h Fs(universal-)1110
-1845 y(argument)p Ft(,)f Fi(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g
-(function)g Fs(backward-kill-word)p Ft(,)1110 1955 y(and)g
-Fi(C-o)g Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f
-(the)i(righ)m(t)f(hand)1110 2064 y(side)30 b(\(that)i(is,)e(to)h
-(insert)g(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g
-(line\).)1110 2194 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m
-(haracter)i(names)e(are)g(recognized)h(while)f(pro-)1110
-2304 y(cessing)22 b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37
-b Fq(DEL)p Ft(,)22 b Fq(ESC)8 b Ft(,)20 b Fq(ESCAPE)5
-b Ft(,)21 b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 2414 y(LINE)5
-b Ft(,)31 b Fq(RET)7 b Ft(,)29 b Fq(RETURN)10 b Ft(,)30
-b Fq(R)m(UBOUT)7 b Ft(,)31 b Fq(SP)-8 b(A)m(CE)5 b Ft(,)31
-b Fq(SPC)8 b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630
-2564 y Fs(")p Fq(k)m(eyseq)r Fs(")p Ft(:)41 b Fq(function-name)36
-b Ft(or)30 b Fq(macro)1110 2673 y(k)m(eyseq)k Ft(di\013ers)d(from)f
+b(The)40 b(name)h(of)630 1684 y(the)35 b(k)m(ey)g(can)g(b)s(e)f
+(expressed)f(in)i(di\013eren)m(t)g(w)m(a)m(ys,)h(dep)s(ending)d(on)h
+(what)h(y)m(ou)g(\014nd)e(most)630 1794 y(comfortable.)630
+1927 y(In)i(addition)h(to)h(command)f(names,)i(readline)e(allo)m(ws)h
+(k)m(eys)g(to)g(b)s(e)e(b)s(ound)f(to)j(a)f(string)630
+2037 y(that)31 b(is)f(inserted)h(when)e(the)i(k)m(ey)g(is)f(pressed)g
+(\(a)h Fq(macro)5 b Ft(\).)630 2170 y(The)42 b Fs(bind)30
+b(-p)42 b Ft(command)h(displa)m(ys)g(Readline)g(function)g(names)g(and)
+f(bindings)g(in)h(a)630 2279 y(format)37 b(that)h(can)f(put)f(directly)
+i(in)m(to)g(an)f(initialization)j(\014le.)60 b(See)38
+b(Section)f(4.2)i([Bash)630 2389 y(Builtins],)31 b(page)g(43.)630
+2545 y Fq(k)m(eyname)5 b Ft(:)42 b Fq(function-name)35
+b Ft(or)c Fq(macro)1110 2655 y(k)m(eyname)k Ft(is)29
+b(the)f(name)h(of)g(a)g(k)m(ey)h(sp)s(elled)e(out)h(in)g(English.)39
+b(F)-8 b(or)30 b(example:)1350 2788 y Fs(Control-u:)45
+b(universal-argument)1350 2898 y(Meta-Rubout:)f(backward-kill-word)1350
+3007 y(Control-o:)h(">)i(output")1110 3140 y Ft(In)38
+b(the)h(ab)s(o)m(v)m(e)h(example,)h Fi(C-u)d Ft(is)h(b)s(ound)d(to)k
+(the)e(function)h Fs(universal-)1110 3250 y(argument)p
+Ft(,)f Fi(M-DEL)e Ft(is)i(b)s(ound)e(to)i(the)g(function)g
+Fs(backward-kill-word)p Ft(,)1110 3360 y(and)g Fi(C-o)g
+Ft(is)h(b)s(ound)e(to)j(run)d(the)j(macro)f(expressed)g(on)f(the)i
+(righ)m(t)f(hand)1110 3469 y(side)30 b(\(that)i(is,)e(to)h(insert)g
+(the)f(text)i(`)p Fs(>)e(output)p Ft(')f(in)m(to)i(the)g(line\).)1110
+3602 y(A)37 b(n)m(um)m(b)s(er)f(of)h(sym)m(b)s(olic)g(c)m(haracter)i
+(names)e(are)g(recognized)h(while)f(pro-)1110 3712 y(cessing)22
+b(this)g(k)m(ey)g(binding)e(syn)m(tax:)37 b Fq(DEL)p
+Ft(,)22 b Fq(ESC)8 b Ft(,)20 b Fq(ESCAPE)5 b Ft(,)21
+b Fq(LFD)5 b Ft(,)22 b Fq(NEW-)1110 3821 y(LINE)5 b Ft(,)31
+b Fq(RET)7 b Ft(,)29 b Fq(RETURN)10 b Ft(,)30 b Fq(R)m(UBOUT)7
+b Ft(,)31 b Fq(SP)-8 b(A)m(CE)5 b Ft(,)31 b Fq(SPC)8
+b Ft(,)29 b(and)h Fq(T)-8 b(AB)5 b Ft(.)630 3978 y Fs(")p
+Fq(k)m(eyseq)r Fs(")p Ft(:)41 b Fq(function-name)36 b
+Ft(or)30 b Fq(macro)1110 4088 y(k)m(eyseq)k Ft(di\013ers)d(from)f
Fq(k)m(eyname)37 b Ft(ab)s(o)m(v)m(e)32 b(in)f(that)h(strings)f
-(denoting)g(an)g(en-)1110 2783 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
+(denoting)g(an)g(en-)1110 4197 y(tire)j(k)m(ey)h(sequence)f(can)g(b)s
(e)f(sp)s(eci\014ed,)h(b)m(y)f(placing)i(the)f(k)m(ey)g(sequence)g(in)
-1110 2892 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h
+1110 4307 y(double)29 b(quotes.)41 b(Some)29 b Fl(gnu)h
Ft(Emacs)f(st)m(yle)i(k)m(ey)f(escap)s(es)g(can)g(b)s(e)f(used,)g(as)
-1110 3002 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s
-(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 3112 y(recognized.)1350
-3242 y Fs("\\C-u":)46 b(universal-argument)1350 3351
-y("\\C-x\\C-r":)f(re-read-init-file)1350 3461 y("\\e[11~":)g("Function)
-h(Key)g(1")1110 3591 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
+1110 4416 y(in)k(the)h(follo)m(wing)i(example,)f(but)e(the)h(sp)s
+(ecial)h(c)m(haracter)g(names)f(are)g(not)1110 4526 y(recognized.)1350
+4659 y Fs("\\C-u":)46 b(universal-argument)1350 4769
+y("\\C-x\\C-r":)f(re-read-init-file)1350 4878 y("\\e[11~":)g("Function)
+h(Key)g(1")1110 5011 y Ft(In)64 b(the)g(ab)s(o)m(v)m(e)i(example,)74
b Fi(C-u)64 b Ft(is)g(again)i(b)s(ound)c(to)k(the)e(function)1110
-3700 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
-(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 3810
+5121 y Fs(universal-argument)39 b Ft(\(just)k(as)h(it)g(w)m(as)g(in)g
+(the)f(\014rst)g(example\),)49 b(`)p Fi(C-x)1110 5230
y(C-r)p Ft(')30 b(is)g(b)s(ound)e(to)j(the)g(function)f
Fs(re-read-init-file)p Ft(,)c(and)j(`)p Fs(ESC)h([)g(1)g(1)1110
-3919 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
-Fs(Function)e(Key)g(1)p Ft('.)630 4070 y(The)g(follo)m(wing)i
+5340 y(~)p Ft(')g(is)h(b)s(ound)d(to)j(insert)f(the)h(text)g(`)p
+Fs(Function)e(Key)g(1)p Ft('.)p eop end
+%%Page: 104 110
+TeXDict begin 104 109 bop 150 -116 a Ft(104)2527 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(The)e(follo)m(wing)i
Fl(gnu)f Ft(Emacs)g(st)m(yle)h(escap)s(e)f(sequences)g(are)g(a)m(v)-5
-b(ailable)32 b(when)d(sp)s(ecifying)630 4179 y(k)m(ey)i(sequences:)630
-4329 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630
-4479 y Fi(\\M-)336 b Ft(meta)31 b(pre\014x)630 4630 y
-Fi(\\e)384 b Ft(an)30 b(escap)s(e)h(c)m(haracter)630
-4780 y Fi(\\\\)384 b Ft(bac)m(kslash)630 4930 y Fi(\\)p
-Fs(")g(")p Ft(,)30 b(a)h(double)f(quotation)i(mark)630
-5080 y Fi(\\')384 b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s
-(ostrophe)630 5230 y(In)d(addition)h(to)g(the)g Fl(gnu)f
-Ft(Emacs)h(st)m(yle)h(escap)s(e)f(sequences,)h(a)f(second)f(set)h(of)g
-(bac)m(kslash)630 5340 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)p
-eop end
-%%Page: 102 108
-TeXDict begin 102 107 bop 150 -116 a Ft(102)2527 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y Fs(\\a)384 b Ft(alert)31
-b(\(b)s(ell\))630 460 y Fs(\\b)384 b Ft(bac)m(kspace)630
-621 y Fs(\\d)g Ft(delete)630 782 y Fs(\\f)g Ft(form)30
-b(feed)630 943 y Fs(\\n)384 b Ft(newline)630 1104 y Fs(\\r)g
-Ft(carriage)32 b(return)630 1266 y Fs(\\t)384 b Ft(horizon)m(tal)32
-b(tab)630 1427 y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630
-1588 y Fs(\\)p Fi(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g
-(whose)e(v)-5 b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5
-b(alue)35 b Fq(nnn)e Ft(\(one)i(to)1110 1697 y(three)c(digits\))630
-1858 y Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g
-(whose)e(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5
-b(alue)40 b Fq(HH)1110 1968 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e
-(digits\))630 2129 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g
-(macro,)i(single)e(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)
-630 2239 y(indicate)23 b(a)e(macro)h(de\014nition.)38
-b(Unquoted)21 b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f
-(name.)38 b(In)630 2348 y(the)22 b(macro)f(b)s(o)s(dy)-8
-b(,)23 b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m
-(e)j(are)e(expanded.)37 b(Bac)m(kslash)630 2458 y(will)j(quote)h(an)m
-(y)f(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
+b(ailable)32 b(when)d(sp)s(ecifying)630 408 y(k)m(ey)i(sequences:)630
+578 y Fi(\\C-)336 b Ft(con)m(trol)32 b(pre\014x)630 748
+y Fi(\\M-)336 b Ft(meta)31 b(pre\014x)630 918 y Fi(\\e)384
+b Ft(an)30 b(escap)s(e)h(c)m(haracter)630 1087 y Fi(\\\\)384
+b Ft(bac)m(kslash)630 1257 y Fi(\\)p Fs(")g(")p Ft(,)30
+b(a)h(double)f(quotation)i(mark)630 1427 y Fi(\\')384
+b Fs(')p Ft(,)30 b(a)h(single)g(quote)g(or)f(ap)s(ostrophe)630
+1597 y(In)d(addition)h(to)g(the)g Fl(gnu)f Ft(Emacs)h(st)m(yle)h(escap)
+s(e)f(sequences,)h(a)f(second)f(set)h(of)g(bac)m(kslash)630
+1706 y(escap)s(es)j(is)f(a)m(v)-5 b(ailable:)630 1876
+y Fs(\\a)384 b Ft(alert)31 b(\(b)s(ell\))630 2046 y Fs(\\b)384
+b Ft(bac)m(kspace)630 2215 y Fs(\\d)g Ft(delete)630 2385
+y Fs(\\f)g Ft(form)30 b(feed)630 2555 y Fs(\\n)384 b
+Ft(newline)630 2724 y Fs(\\r)g Ft(carriage)32 b(return)630
+2894 y Fs(\\t)384 b Ft(horizon)m(tal)32 b(tab)630 3064
+y Fs(\\v)384 b Ft(v)m(ertical)32 b(tab)630 3234 y Fs(\\)p
+Fi(nnn)288 b Ft(the)35 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e(v)-5
+b(alue)35 b(is)g(the)f(o)s(ctal)i(v)-5 b(alue)35 b Fq(nnn)e
+Ft(\(one)i(to)1110 3343 y(three)c(digits\))630 3513 y
+Fs(\\x)p Fi(HH)288 b Ft(the)40 b(eigh)m(t-bit)h(c)m(haracter)g(whose)e
+(v)-5 b(alue)39 b(is)h(the)f(hexadecimal)i(v)-5 b(alue)40
+b Fq(HH)1110 3622 y Ft(\(one)31 b(or)f(t)m(w)m(o)i(hex)e(digits\))630
+3792 y(When)37 b(en)m(tering)h(the)g(text)g(of)g(a)g(macro,)i(single)e
+(or)f(double)g(quotes)h(m)m(ust)f(b)s(e)g(used)f(to)630
+3902 y(indicate)23 b(a)e(macro)h(de\014nition.)38 b(Unquoted)21
+b(text)i(is)e(assumed)g(to)h(b)s(e)f(a)h(function)f(name.)38
+b(In)630 4011 y(the)22 b(macro)f(b)s(o)s(dy)-8 b(,)23
+b(the)e(bac)m(kslash)h(escap)s(es)g(describ)s(ed)e(ab)s(o)m(v)m(e)j
+(are)e(expanded.)37 b(Bac)m(kslash)630 4121 y(will)j(quote)h(an)m(y)f
+(other)g(c)m(haracter)i(in)d(the)i(macro)f(text,)k(including)39
b(`)p Fs(")p Ft(')h(and)g(`)p Fs(')p Ft('.)69 b(F)-8
-b(or)630 2568 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
+b(or)630 4231 y(example,)28 b(the)e(follo)m(wing)h(binding)d(will)i
(mak)m(e)h(`)p Fi(C-x)j Fs(\\)p Ft(')c(insert)f(a)h(single)h(`)p
-Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 2703 y Fs("\\C-x\\\\":)45
-b("\\\\")150 2904 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
-150 3051 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
+Fs(\\)p Ft(')f(in)m(to)g(the)g(line:)870 4370 y Fs("\\C-x\\\\":)45
+b("\\\\")150 4580 y Fj(8.3.2)63 b(Conditional)41 b(Init)g(Constructs)
+150 4727 y Ft(Readline)c(implemen)m(ts)g(a)h(facilit)m(y)g(similar)f
(in)g(spirit)f(to)i(the)f(conditional)h(compilation)g(features)f(of)150
-3160 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
+4836 y(the)31 b(C)f(prepro)s(cessor)g(whic)m(h)g(allo)m(ws)i(k)m(ey)g
(bindings)d(and)h(v)-5 b(ariable)32 b(settings)f(to)h(b)s(e)e(p)s
-(erformed)f(as)i(the)150 3270 y(result)f(of)h(tests.)41
+(erformed)f(as)i(the)150 4946 y(result)f(of)h(tests.)41
b(There)30 b(are)h(four)f(parser)f(directiv)m(es)j(used.)150
-3432 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
+5121 y Fs($if)336 b Ft(The)31 b Fs($if)f Ft(construct)i(allo)m(ws)h
(bindings)d(to)i(b)s(e)e(made)i(based)f(on)g(the)g(editing)h(mo)s(de,)g
-(the)630 3542 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
+(the)630 5230 y(terminal)39 b(b)s(eing)e(used,)j(or)e(the)g
(application)h(using)f(Readline.)64 b(The)38 b(text)h(of)f(the)g(test)
-630 3651 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
-(haracters)i(are)f(required)e(to)i(isolate)i(it.)630
-3812 y Fs(mode)288 b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g
-Fs($if)f Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)
-1110 3922 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
+630 5340 y(extends)30 b(to)h(the)g(end)f(of)g(the)h(line;)g(no)f(c)m
+(haracters)i(are)f(required)e(to)i(isolate)i(it.)p eop
+end
+%%Page: 105 111
+TeXDict begin 105 110 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(105)630 299 y Fs(mode)288
+b Ft(The)20 b Fs(mode=)g Ft(form)g(of)h(the)g Fs($if)f
+Ft(directiv)m(e)j(is)e(used)f(to)h(test)h(whether)e(Readline)1110
+408 y(is)29 b(in)h Fs(emacs)e Ft(or)h Fs(vi)g Ft(mo)s(de.)40
b(This)29 b(ma)m(y)h(b)s(e)e(used)h(in)g(conjunction)h(with)f(the)1110
-4031 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
-(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 4141 y(standard)23
+518 y(`)p Fs(set)h(keymap)p Ft(')c(command,)i(for)f(instance,)i(to)f
+(set)g(bindings)f(in)g(the)h Fs(emacs-)1110 628 y(standard)23
b Ft(and)h Fs(emacs-ctlx)f Ft(k)m(eymaps)i(only)g(if)g(Readline)h(is)f
-(starting)h(out)1110 4251 y(in)k Fs(emacs)f Ft(mo)s(de.)630
-4412 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
+(starting)h(out)1110 737 y(in)k Fs(emacs)f Ft(mo)s(de.)630
+897 y Fs(term)288 b Ft(The)26 b Fs(term=)g Ft(form)g(ma)m(y)i(b)s(e)e
(used)g(to)i(include)f(terminal-sp)s(eci\014c)g(k)m(ey)h(bind-)1110
-4521 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
-(output)g(b)m(y)g(the)g(terminal's)1110 4631 y(function)24
+1006 y(ings,)38 b(p)s(erhaps)c(to)j(bind)e(the)h(k)m(ey)h(sequences)f
+(output)g(b)m(y)g(the)g(terminal's)1110 1116 y(function)24
b(k)m(eys.)39 b(The)23 b(w)m(ord)h(on)f(the)i(righ)m(t)f(side)g(of)g
-(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 4741
+(the)g(`)p Fs(=)p Ft(')g(is)g(tested)h(against)1110 1225
y(b)s(oth)k(the)h(full)g(name)g(of)g(the)g(terminal)h(and)e(the)i(p)s
-(ortion)e(of)h(the)g(terminal)1110 4850 y(name)k(b)s(efore)f(the)g
+(ortion)e(of)h(the)g(terminal)1110 1335 y(name)k(b)s(efore)f(the)g
(\014rst)g(`)p Fs(-)p Ft('.)50 b(This)33 b(allo)m(ws)i
Fs(sun)e Ft(to)h(matc)m(h)g(b)s(oth)f Fs(sun)g Ft(and)1110
-4960 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 5121 y
-Fs(application)1110 5230 y Ft(The)21 b Fq(application)j
+1445 y Fs(sun-cmd)p Ft(,)c(for)h(instance.)630 1604 y
+Fs(application)1110 1714 y Ft(The)21 b Fq(application)j
Ft(construct)e(is)g(used)f(to)i(include)f(application-sp)s(eci\014c)h
-(set-)1110 5340 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
-(Readline)g(library)g(sets)g(the)g Fq(application)p eop
-end
-%%Page: 103 109
-TeXDict begin 103 108 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(103)1110 299 y Fq(name)5
-b Ft(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h(particular)h(v)-5
-b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)1110
-408 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g(for)h(a)
-g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110 518 y(instance,)35
-b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)f(sequence)h(that)f
-(quotes)1110 628 y(the)e(curren)m(t)f(or)g(previous)g(w)m(ord)g(in)g
-(Bash:)1350 762 y Fs($if)47 b(Bash)1350 872 y(#)g(Quote)g(the)g
-(current)f(or)h(previous)e(word)1350 981 y("\\C-xq":)h
-("\\eb\\"\\ef\\"")1350 1091 y($endif)150 1250 y($endif)192
-b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g(previous)g(example,)h
-(terminates)g(an)g Fs($if)e Ft(command.)150 1410 y Fs($else)240
-b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i(the)f
-Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g(fails.)
-150 1569 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m(es)g(a)e
-(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g(commands)
-630 1679 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
+(set-)1110 1823 y(tings.)39 b(Eac)m(h)26 b(program)e(using)g(the)h
+(Readline)g(library)g(sets)g(the)g Fq(application)1110
+1933 y(name)5 b Ft(,)25 b(and)d(y)m(ou)h(can)g(test)h(for)e(a)h
+(particular)h(v)-5 b(alue.)38 b(This)22 b(could)h(b)s(e)f(used)g(to)
+1110 2042 y(bind)32 b(k)m(ey)h(sequences)g(to)h(functions)e(useful)g
+(for)h(a)g(sp)s(eci\014c)f(program.)48 b(F)-8 b(or)1110
+2152 y(instance,)35 b(the)e(follo)m(wing)h(command)f(adds)f(a)i(k)m(ey)
+f(sequence)h(that)f(quotes)1110 2262 y(the)e(curren)m(t)f(or)g
+(previous)g(w)m(ord)g(in)g(Bash:)1350 2396 y Fs($if)47
+b(Bash)1350 2506 y(#)g(Quote)g(the)g(current)f(or)h(previous)e(word)
+1350 2615 y("\\C-xq":)h("\\eb\\"\\ef\\"")1350 2725 y($endif)150
+2884 y($endif)192 b Ft(This)29 b(command,)i(as)f(seen)h(in)f(the)g
+(previous)g(example,)h(terminates)g(an)g Fs($if)e Ft(command.)150
+3044 y Fs($else)240 b Ft(Commands)29 b(in)h(this)h(branc)m(h)e(of)i
+(the)f Fs($if)g Ft(directiv)m(e)i(are)f(executed)g(if)f(the)h(test)g
+(fails.)150 3203 y Fs($include)96 b Ft(This)43 b(directiv)m(e)i(tak)m
+(es)g(a)e(single)i(\014lename)e(as)h(an)f(argumen)m(t)h(and)f(reads)g
+(commands)630 3313 y(and)38 b(bindings)f(from)h(that)i(\014le.)65
b(F)-8 b(or)39 b(example,)j(the)d(follo)m(wing)h(directiv)m(e)g(reads)e
-(from)630 1788 y(`)p Fs(/etc/inputrc)p Ft(':)870 1923
-y Fs($include)46 b(/etc/inputrc)150 2122 y Fj(8.3.3)63
-b(Sample)41 b(Init)g(File)150 2269 y Ft(Here)27 b(is)f(an)h(example)g
+(from)630 3422 y(`)p Fs(/etc/inputrc)p Ft(':)870 3557
+y Fs($include)46 b(/etc/inputrc)150 3756 y Fj(8.3.3)63
+b(Sample)41 b(Init)g(File)150 3903 y Ft(Here)27 b(is)f(an)h(example)g
(of)f(an)h Fq(inputrc)k Ft(\014le.)39 b(This)26 b(illustrates)h(k)m(ey)
h(binding,)e(v)-5 b(ariable)27 b(assignmen)m(t,)i(and)150
-2379 y(conditional)j(syn)m(tax.)p eop end
-%%Page: 104 110
-TeXDict begin 104 109 bop 150 -116 a Ft(104)2527 b(Bash)31
+4012 y(conditional)j(syn)m(tax.)p eop end
+%%Page: 106 112
+TeXDict begin 106 111 bop 150 -116 a Ft(106)2527 b(Bash)31
b(Reference)g(Man)m(ual)390 408 y Fs(#)47 b(This)g(file)g(controls)e
(the)i(behaviour)e(of)j(line)e(input)h(editing)e(for)390
518 y(#)i(programs)f(that)h(use)g(the)f(GNU)h(Readline)f(library.)93
@@ -12055,9 +12317,9 @@ y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(keypad)f(mode)390
4902 y(#)390 5011 y(#)47 b(Arrow)g(keys)f(in)i(8)f(bit)g(ANSI)g(mode)
390 5121 y(#)390 5230 y(#"\\M-\\C-[D":)331 b(backward-char)390
5340 y(#"\\M-\\C-[C":)g(forward-char)p eop end
-%%Page: 105 111
-TeXDict begin 105 110 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(105)390 299 y Fs(#"\\M-\\C-[A":)
+%%Page: 107 113
+TeXDict begin 107 112 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(107)390 299 y Fs(#"\\M-\\C-[A":)
331 b(previous-history)390 408 y(#"\\M-\\C-[B":)g(next-history)390
628 y(C-q:)47 b(quoted-insert)390 847 y($endif)390 1066
y(#)g(An)h(old-style)d(binding.)93 b(This)47 b(happens)f(to)h(be)g(the)
@@ -12090,8 +12352,8 @@ y($endif)390 3477 y(#)i(use)g(a)h(visible)e(bell)g(if)h(one)g(is)h
(completions)e(for)390 5121 y(#)j(a)h(word,)e(ask)h(the)g(user)g(if)g
(he)g(wants)f(to)i(see)f(all)f(of)i(them)390 5230 y(set)f
(completion-query-items)42 b(150)p eop end
-%%Page: 106 112
-TeXDict begin 106 111 bop 150 -116 a Ft(106)2527 b(Bash)31
+%%Page: 108 114
+TeXDict begin 108 113 bop 150 -116 a Ft(108)2527 b(Bash)31
b(Reference)g(Man)m(ual)390 299 y Fs(#)47 b(For)g(FTP)390
408 y($if)g(Ftp)390 518 y("\\C-xg":)f("get)g(\\M-?")390
628 y("\\C-xt":)g("put)g(\\M-?")390 737 y("\\M-.":)g(yank-last-arg)390
@@ -12102,7 +12364,7 @@ b(Y)-8 b(ou)33 b(can)150 1344 y(list)40 b(y)m(our)f(k)m(ey)i(bindings)d
(b)m(y)h(executing)i Fs(bind)29 b(-P)39 b Ft(or,)j(for)d(a)h(more)g
(terse)g(format,)i(suitable)e(for)f(an)150 1454 y Fq(inputrc)34
b Ft(\014le,)29 b Fs(bind)g(-p)p Ft(.)40 b(\(See)30 b(Section)f(4.2)h
-([Bash)g(Builtins],)g(page)g(41.\))41 b(Command)28 b(names)h(without)
+([Bash)g(Builtins],)g(page)g(43.\))41 b(Command)28 b(names)h(without)
150 1563 y(an)h(accompan)m(ying)i(k)m(ey)f(sequence)g(are)g(un)m(b)s
(ound)d(b)m(y)i(default.)275 1696 y(In)25 b(the)h(follo)m(wing)i
(descriptions,)f Fq(p)s(oin)m(t)h Ft(refers)e(to)h(the)f(curren)m(t)g
@@ -12139,9 +12401,9 @@ b(ords)35 b(are)g(delimited)630 4683 y(b)m(y)30 b(non-quoted)h(shell)f
b(\(\))630 5322 y Ft(Refresh)30 b(the)g(curren)m(t)h(line.)41
b(By)30 b(default,)h(this)f(is)h(un)m(b)s(ound.)p eop
end
-%%Page: 107 113
-TeXDict begin 107 112 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(107)150 299 y Fj(8.4.2)63
+%%Page: 109 115
+TeXDict begin 109 114 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(109)150 299 y Fj(8.4.2)63
b(Commands)42 b(F)-10 b(or)41 b(Manipulating)h(The)f(History)150
473 y Fs(accept-line)27 b(\(Newline)h(or)i(Return\))630
582 y Ft(Accept)25 b(the)e(line)h(regardless)g(of)f(where)g(the)h
@@ -12202,886 +12464,904 @@ m(ords)g(in)f(the)h(previous)g(command)f(b)s(egin)h(with)f(w)m(ord)630
5340 y(0\).)69 b(A)40 b(negativ)m(e)h(argumen)m(t)f(inserts)g(the)f
Fq(n)p Ft(th)g(w)m(ord)g(from)g(the)h(end)f(of)h(the)f(previous)p
eop end
-%%Page: 108 114
-TeXDict begin 108 113 bop 150 -116 a Ft(108)2527 b(Bash)31
+%%Page: 110 116
+TeXDict begin 110 115 bop 150 -116 a Ft(110)2527 b(Bash)31
b(Reference)g(Man)m(ual)630 299 y(command.)48 b(Once)33
b(the)g(argumen)m(t)h Fq(n)e Ft(is)h(computed,)h(the)f(argumen)m(t)g
(is)g(extracted)i(as)e(if)630 408 y(the)e(`)p Fs(!)p
Fi(n)11 b Ft(')29 b(history)i(expansion)f(had)g(b)s(een)f(sp)s
-(eci\014ed.)150 584 y Fs(yank-last-arg)e(\(M-.)i(or)h(M-_\))630
-693 y Ft(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)f(command)h
-(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 803
-y(history)c(en)m(try\).)41 b(With)31 b(an)g(argumen)m(t,)g(b)s(eha)m(v)
-m(e)g(exactly)i(lik)m(e)f Fs(yank-nth-arg)p Ft(.)38 b(Succes-)630
-913 y(siv)m(e)d(calls)h(to)f Fs(yank-last-arg)c Ft(mo)m(v)m(e)36
-b(bac)m(k)g(through)d(the)i(history)g(list,)h(inserting)f(the)630
-1022 y(last)d(argumen)m(t)f(of)g(eac)m(h)h(line)f(in)f(turn.)41
-b(The)30 b(history)h(expansion)f(facilities)j(are)e(used)f(to)630
-1132 y(extract)i(the)e(last)i(argumen)m(t,)f(as)f(if)h(the)f(`)p
-Fs(!$)p Ft(')g(history)h(expansion)f(had)g(b)s(een)f(sp)s(eci\014ed.)
-150 1347 y Fj(8.4.3)63 b(Commands)42 b(F)-10 b(or)41
-b(Changing)g(T)-10 b(ext)150 1527 y Fs(delete-char)27
-b(\(C-d\))630 1636 y Ft(Delete)41 b(the)e(c)m(haracter)i(at)e(p)s(oin)m
-(t.)66 b(If)39 b(p)s(oin)m(t)f(is)h(at)h(the)f(b)s(eginning)f(of)h(the)
-g(line,)j(there)630 1746 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i
+(eci\014ed.)150 579 y Fs(yank-last-arg)e(\(M-.)i(or)h(M-_\))630
+689 y Ft(Insert)k(last)i(argumen)m(t)g(to)g(the)f(previous)f(command)h
+(\(the)h(last)f(w)m(ord)g(of)g(the)g(previous)630 798
+y(history)e(en)m(try\).)51 b(With)34 b(a)g(n)m(umeric)g(argumen)m(t,)h
+(b)s(eha)m(v)m(e)f(exactly)h(lik)m(e)g Fs(yank-nth-arg)p
+Ft(.)630 908 y(Successiv)m(e)26 b(calls)g(to)f Fs(yank-last-arg)c
+Ft(mo)m(v)m(e)27 b(bac)m(k)e(through)f(the)h(history)g(list,)i
+(inserting)630 1018 y(the)c(last)g(w)m(ord)f(\(or)h(the)g(w)m(ord)f(sp)
+s(eci\014ed)g(b)m(y)g(the)h(argumen)m(t)g(to)g(the)g(\014rst)f(call\))i
+(of)f(eac)m(h)h(line)630 1127 y(in)36 b(turn.)58 b(An)m(y)36
+b(n)m(umeric)h(argumen)m(t)f(supplied)g(to)h(these)g(successiv)m(e)g
+(calls)h(determines)630 1237 y(the)d(direction)g(to)h(mo)m(v)m(e)g
+(through)e(the)h(history)-8 b(.)54 b(A)35 b(negativ)m(e)i(argumen)m(t)e
+(switc)m(hes)h(the)630 1346 y(direction)23 b(through)g(the)g(history)f
+(\(bac)m(k)i(or)f(forw)m(ard\).)38 b(The)22 b(history)h(expansion)g
+(facilities)630 1456 y(are)28 b(used)f(to)h(extract)h(the)f(last)g
+(argumen)m(t,)h(as)e(if)h(the)g(`)p Fs(!$)p Ft(')f(history)g(expansion)
+h(had)f(b)s(een)630 1565 y(sp)s(eci\014ed.)150 1776 y
+Fj(8.4.3)63 b(Commands)42 b(F)-10 b(or)41 b(Changing)g(T)-10
+b(ext)150 1953 y Fs(delete-char)27 b(\(C-d\))630 2063
+y Ft(Delete)41 b(the)e(c)m(haracter)i(at)e(p)s(oin)m(t.)66
+b(If)39 b(p)s(oin)m(t)f(is)h(at)h(the)f(b)s(eginning)f(of)h(the)g
+(line,)j(there)630 2173 y(are)37 b(no)g(c)m(haracters)i(in)d(the)i
(line,)h(and)d(the)h(last)h(c)m(haracter)h(t)m(yp)s(ed)e(w)m(as)g(not)g
-(b)s(ound)e(to)630 1855 y Fs(delete-char)p Ft(,)28 b(then)i(return)f
-Fl(eof)p Ft(.)150 2031 y Fs(backward-delete-char)c(\(Rubout\))630
-2140 y Ft(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
+(b)s(ound)e(to)630 2282 y Fs(delete-char)p Ft(,)28 b(then)i(return)f
+Fl(eof)p Ft(.)150 2453 y Fs(backward-delete-char)c(\(Rubout\))630
+2562 y Ft(Delete)32 b(the)f(c)m(haracter)g(b)s(ehind)e(the)h(cursor.)40
b(A)30 b(n)m(umeric)g(argumen)m(t)h(means)f(to)h(kill)g(the)630
-2250 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
-2425 y Fs(forward-backward-delete-)o(char)24 b(\(\))630
-2535 y Ft(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
+2672 y(c)m(haracters)h(instead)e(of)h(deleting)g(them.)150
+2843 y Fs(forward-backward-delete-)o(char)24 b(\(\))630
+2952 y Ft(Delete)40 b(the)f(c)m(haracter)h(under)c(the)j(cursor,)h
(unless)d(the)i(cursor)e(is)h(at)h(the)g(end)e(of)i(the)630
-2644 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
+3062 y(line,)33 b(in)e(whic)m(h)g(case)i(the)f(c)m(haracter)h(b)s
(ehind)d(the)i(cursor)f(is)g(deleted.)46 b(By)32 b(default,)g(this)630
-2754 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
-2929 y Fs(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3039
+3172 y(is)e(not)h(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150
+3342 y Fs(quoted-insert)27 b(\(C-q)i(or)h(C-v\))630 3452
y Ft(Add)j(the)i(next)f(c)m(haracter)i(t)m(yp)s(ed)e(to)h(the)f(line)h
(v)m(erbatim.)53 b(This)33 b(is)i(ho)m(w)f(to)h(insert)f(k)m(ey)630
-3148 y(sequences)d(lik)m(e)g Fi(C-q)p Ft(,)f(for)g(example.)150
-3324 y Fs(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
-3433 y Ft(Insert)g(y)m(ourself.)150 3609 y Fs(transpose-chars)c
-(\(C-t\))630 3718 y Ft(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
+3561 y(sequences)d(lik)m(e)g Fi(C-q)p Ft(,)f(for)g(example.)150
+3732 y Fs(self-insert)d(\(a,)j(b,)g(A,)f(1,)h(!,)g(...)o(\))630
+3842 y Ft(Insert)g(y)m(ourself.)150 4012 y Fs(transpose-chars)c
+(\(C-t\))630 4122 y Ft(Drag)33 b(the)f(c)m(haracter)h(b)s(efore)f(the)g
(cursor)f(forw)m(ard)h(o)m(v)m(er)h(the)f(c)m(haracter)i(at)e(the)g
-(cursor,)630 3828 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
+(cursor,)630 4232 y(mo)m(ving)k(the)g(cursor)f(forw)m(ard)g(as)g(w)m
(ell.)57 b(If)35 b(the)h(insertion)g(p)s(oin)m(t)f(is)g(at)i(the)e(end)
-g(of)h(the)630 3937 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
+g(of)h(the)630 4341 y(line,)24 b(then)e(this)g(transp)s(oses)f(the)h
(last)h(t)m(w)m(o)g(c)m(haracters)g(of)f(the)h(line.)38
-b(Negativ)m(e)25 b(argumen)m(ts)630 4047 y(ha)m(v)m(e)32
-b(no)e(e\013ect.)150 4222 y Fs(transpose-words)c(\(M-t\))630
-4332 y Ft(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
+b(Negativ)m(e)25 b(argumen)m(ts)630 4451 y(ha)m(v)m(e)32
+b(no)e(e\013ect.)150 4621 y Fs(transpose-words)c(\(M-t\))630
+4731 y Ft(Drag)33 b(the)g(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(past)g
(the)h(w)m(ord)f(after)g(p)s(oin)m(t,)i(mo)m(ving)f(p)s(oin)m(t)f(past)
-g(that)630 4441 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
+g(that)630 4841 y(w)m(ord)c(as)h(w)m(ell.)41 b(If)27
b(the)i(insertion)f(p)s(oin)m(t)h(is)f(at)h(the)g(end)e(of)i(the)f
-(line,)i(this)e(transp)s(oses)g(the)630 4551 y(last)j(t)m(w)m(o)h(w)m
-(ords)e(on)g(the)h(line.)150 4726 y Fs(upcase-word)c(\(M-u\))630
-4836 y Ft(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
+(line,)i(this)e(transp)s(oses)g(the)630 4950 y(last)j(t)m(w)m(o)h(w)m
+(ords)e(on)g(the)h(line.)150 5121 y Fs(upcase-word)c(\(M-u\))630
+5230 y Ft(Upp)s(ercase)32 b(the)g(curren)m(t)g(\(or)g(follo)m(wing\))i
(w)m(ord.)45 b(With)32 b(a)g(negativ)m(e)j(argumen)m(t,)e(upp)s(er-)630
-4946 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
-(the)e(cursor.)150 5121 y Fs(downcase-word)d(\(M-l\))630
-5230 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h(follo)m(wing\))i
-(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m(t,)g(lo)m(w)m
-(ercase)630 5340 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f(mo)m
-(v)m(e)i(the)f(cursor.)p eop end
-%%Page: 109 115
-TeXDict begin 109 114 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(109)150 299 y Fs(capitalize-word)
-26 b(\(M-c\))630 408 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)
-m(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
-(capitalize)630 518 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
-(mo)m(v)m(e)i(the)f(cursor.)150 671 y Fs(overwrite-mode)26
-b(\(\))630 780 y Ft(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
+5340 y(case)e(the)g(previous)f(w)m(ord,)g(but)g(do)g(not)h(mo)m(v)m(e)h
+(the)e(cursor.)p eop end
+%%Page: 111 117
+TeXDict begin 111 116 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(111)150 299 y Fs(downcase-word)27
+b(\(M-l\))630 408 y Ft(Lo)m(w)m(ercase)c(the)f(curren)m(t)f(\(or)h
+(follo)m(wing\))i(w)m(ord.)37 b(With)22 b(a)g(negativ)m(e)i(argumen)m
+(t,)g(lo)m(w)m(ercase)630 518 y(the)31 b(previous)e(w)m(ord,)i(but)e
+(do)i(not)f(mo)m(v)m(e)i(the)f(cursor.)150 692 y Fs(capitalize-word)26
+b(\(M-c\))630 801 y Ft(Capitalize)d(the)f(curren)m(t)f(\(or)g(follo)m
+(wing\))i(w)m(ord.)38 b(With)21 b(a)h(negativ)m(e)h(argumen)m(t,)h
+(capitalize)630 911 y(the)31 b(previous)e(w)m(ord,)i(but)e(do)i(not)f
+(mo)m(v)m(e)i(the)f(cursor.)150 1084 y Fs(overwrite-mode)26
+b(\(\))630 1194 y Ft(T)-8 b(oggle)35 b(o)m(v)m(erwrite)g(mo)s(de.)48
b(With)33 b(an)g(explicit)h(p)s(ositiv)m(e)g(n)m(umeric)f(argumen)m(t,)
-h(switc)m(hes)630 890 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
+h(switc)m(hes)630 1304 y(to)22 b(o)m(v)m(erwrite)i(mo)s(de.)37
b(With)22 b(an)g(explicit)h(non-p)s(ositiv)m(e)f(n)m(umeric)g(argumen)m
-(t,)i(switc)m(hes)e(to)630 999 y(insert)30 b(mo)s(de.)41
+(t,)i(switc)m(hes)e(to)630 1413 y(insert)30 b(mo)s(de.)41
b(This)30 b(command)h(a\013ects)h(only)e Fs(emacs)f Ft(mo)s(de;)i
-Fs(vi)f Ft(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 1109
+Fs(vi)f Ft(mo)s(de)g(do)s(es)g(o)m(v)m(erwrite)630 1523
y(di\013eren)m(tly)-8 b(.)42 b(Eac)m(h)31 b(call)h(to)f
Fs(readline\(\))c Ft(starts)k(in)f(insert)g(mo)s(de.)630
-1240 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)
+1664 y(In)e(o)m(v)m(erwrite)j(mo)s(de,)e(c)m(haracters)i(b)s(ound)c(to)
j Fs(self-insert)c Ft(replace)k(the)g(text)g(at)g(p)s(oin)m(t)630
-1350 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)
+1774 y(rather)41 b(than)h(pushing)e(the)i(text)g(to)g(the)g(righ)m(t.)
75 b(Characters)42 b(b)s(ound)d(to)j Fs(backward-)630
-1459 y(delete-char)27 b Ft(replace)32 b(the)e(c)m(haracter)i(b)s(efore)
-e(p)s(oin)m(t)h(with)f(a)g(space.)630 1590 y(By)h(default,)f(this)h
-(command)f(is)g(un)m(b)s(ound.)150 1783 y Fj(8.4.4)63
-b(Killing)42 b(And)e(Y)-10 b(anking)150 1951 y Fs(kill-line)28
-b(\(C-k\))630 2061 y Ft(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h
-(the)g(end)e(of)i(the)f(line.)150 2213 y Fs(backward-kill-line)25
-b(\(C-x)30 b(Rubout\))630 2323 y Ft(Kill)h(bac)m(kw)m(ard)g(to)g(the)f
-(b)s(eginning)g(of)g(the)h(line.)150 2476 y Fs(unix-line-discard)26
-b(\(C-u\))630 2585 y Ft(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
+1883 y(delete-char)27 b Ft(replace)32 b(the)e(c)m(haracter)i(b)s(efore)
+e(p)s(oin)m(t)h(with)f(a)g(space.)630 2025 y(By)h(default,)f(this)h
+(command)f(is)g(un)m(b)s(ound.)150 2238 y Fj(8.4.4)63
+b(Killing)42 b(And)e(Y)-10 b(anking)150 2417 y Fs(kill-line)28
+b(\(C-k\))630 2527 y Ft(Kill)j(the)f(text)i(from)e(p)s(oin)m(t)g(to)h
+(the)g(end)e(of)i(the)f(line.)150 2700 y Fs(backward-kill-line)25
+b(\(C-x)30 b(Rubout\))630 2810 y Ft(Kill)h(bac)m(kw)m(ard)g(to)g(the)f
+(b)s(eginning)g(of)g(the)h(line.)150 2984 y Fs(unix-line-discard)26
+b(\(C-u\))630 3093 y Ft(Kill)31 b(bac)m(kw)m(ard)g(from)e(the)i(cursor)
f(to)h(the)f(b)s(eginning)g(of)h(the)f(curren)m(t)g(line.)150
-2738 y Fs(kill-whole-line)c(\(\))630 2847 y Ft(Kill)37
+3267 y Fs(kill-whole-line)c(\(\))630 3376 y Ft(Kill)37
b(all)g(c)m(haracters)h(on)f(the)f(curren)m(t)h(line,)h(no)f(matter)g
(where)f(p)s(oin)m(t)h(is.)59 b(By)36 b(default,)630
-2957 y(this)30 b(is)h(un)m(b)s(ound.)150 3109 y Fs(kill-word)d(\(M-d\))
-630 3219 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+3486 y(this)30 b(is)h(un)m(b)s(ound.)150 3659 y Fs(kill-word)d(\(M-d\))
+630 3769 y Ft(Kill)i(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 3329 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 3879 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fs(forward-word)p
-Ft(.)150 3481 y Fs(backward-kill-word)25 b(\(M-DEL\))630
-3591 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
+Ft(.)150 4052 y Fs(backward-kill-word)25 b(\(M-DEL\))630
+4162 y Ft(Kill)k(the)g(w)m(ord)g(b)s(ehind)e(p)s(oin)m(t.)40
b(W)-8 b(ord)29 b(b)s(oundaries)f(are)h(the)g(same)g(as)g
-Fs(backward-word)p Ft(.)150 3743 y Fs(shell-kill-word)d(\(\))630
-3853 y Ft(Kill)k(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
+Fs(backward-word)p Ft(.)150 4335 y Fs(shell-kill-word)d(\(\))630
+4445 y Ft(Kill)k(from)f(p)s(oin)m(t)g(to)h(the)g(end)e(of)i(the)f
(curren)m(t)h(w)m(ord,)f(or)g(if)h(b)s(et)m(w)m(een)g(w)m(ords,)f(to)h
-(the)g(end)630 3963 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
+(the)g(end)630 4555 y(of)h(the)f(next)h(w)m(ord.)40 b(W)-8
b(ord)31 b(b)s(oundaries)e(are)h(the)h(same)g(as)f Fs
-(shell-forward-word)p Ft(.)150 4115 y Fs(backward-kill-word)25
-b(\(\))630 4225 y Ft(Kill)d(the)h(w)m(ord)e(b)s(ehind)g(p)s(oin)m(t.)38
+(shell-forward-word)p Ft(.)150 4728 y Fs(shell-backward-kill-word)24
+b(\(\))630 4838 y Ft(Kill)e(the)h(w)m(ord)e(b)s(ehind)g(p)s(oin)m(t.)38
b(W)-8 b(ord)22 b(b)s(oundaries)f(are)h(the)g(same)h(as)f
-Fs(shell-backward-)630 4334 y(word)p Ft(.)150 4487 y
-Fs(unix-word-rubout)k(\(C-w\))630 4596 y Ft(Kill)32 b(the)g(w)m(ord)f
+Fs(shell-backward-)630 4947 y(word)p Ft(.)150 5121 y
+Fs(unix-word-rubout)k(\(C-w\))630 5230 y Ft(Kill)32 b(the)g(w)m(ord)f
(b)s(ehind)f(p)s(oin)m(t,)i(using)f(white)h(space)g(as)g(a)g(w)m(ord)f
-(b)s(oundary)-8 b(.)43 b(The)31 b(killed)630 4706 y(text)g(is)g(sa)m(v)
-m(ed)g(on)g(the)f(kill-ring.)150 4859 y Fs(unix-filename-rubout)25
-b(\(\))630 4968 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m
-(t,)j(using)e(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f
-(the)630 5078 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30
-b(killed)h(text)g(is)g(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150
-5230 y Fs(delete-horizontal-space)24 b(\(\))630 5340
-y Ft(Delete)33 b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
-b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)p eop
-end
-%%Page: 110 116
-TeXDict begin 110 115 bop 150 -116 a Ft(110)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(kill-region)c(\(\))630
-408 y Ft(Kill)k(the)f(text)i(in)e(the)g(curren)m(t)h(region.)41
-b(By)31 b(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)150
-579 y Fs(copy-region-as-kill)25 b(\(\))630 689 y Ft(Cop)m(y)34
-b(the)g(text)h(in)f(the)g(region)g(to)h(the)f(kill)h(bu\013er,)f(so)g
-(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f(a)m(w)m(a)m(y)-8
-b(.)630 799 y(By)31 b(default,)f(this)h(command)f(is)g(un)m(b)s(ound.)
-150 969 y Fs(copy-backward-word)25 b(\(\))630 1079 y
-Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m(t)g(to)i(the)e
-(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)f(are)i(the)630
-1189 y(same)31 b(as)f Fs(backward-word)p Ft(.)38 b(By)30
-b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
-1359 y Fs(copy-forward-word)26 b(\(\))630 1469 y Ft(Cop)m(y)31
+(b)s(oundary)-8 b(.)43 b(The)31 b(killed)630 5340 y(text)g(is)g(sa)m(v)
+m(ed)g(on)g(the)f(kill-ring.)p eop end
+%%Page: 112 118
+TeXDict begin 112 117 bop 150 -116 a Ft(112)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(unix-filename-rubout)25
+b(\(\))630 408 y Ft(Kill)37 b(the)f(w)m(ord)g(b)s(ehind)f(p)s(oin)m(t,)
+j(using)e(white)g(space)h(and)f(the)g(slash)g(c)m(haracter)i(as)f(the)
+630 518 y(w)m(ord)30 b(b)s(oundaries.)39 b(The)30 b(killed)h(text)g(is)
+g(sa)m(v)m(ed)g(on)g(the)f(kill-ring.)150 673 y Fs
+(delete-horizontal-space)24 b(\(\))630 783 y Ft(Delete)33
+b(all)e(spaces)g(and)e(tabs)i(around)e(p)s(oin)m(t.)41
+b(By)31 b(default,)f(this)h(is)f(un)m(b)s(ound.)150 938
+y Fs(kill-region)d(\(\))630 1048 y Ft(Kill)k(the)f(text)i(in)e(the)g
+(curren)m(t)h(region.)41 b(By)31 b(default,)f(this)h(command)f(is)g(un)
+m(b)s(ound.)150 1203 y Fs(copy-region-as-kill)25 b(\(\))630
+1313 y Ft(Cop)m(y)34 b(the)g(text)h(in)f(the)g(region)g(to)h(the)f
+(kill)h(bu\013er,)f(so)g(it)h(can)f(b)s(e)f(y)m(ank)m(ed)i(righ)m(t)f
+(a)m(w)m(a)m(y)-8 b(.)630 1422 y(By)31 b(default,)f(this)h(command)f
+(is)g(un)m(b)s(ound.)150 1578 y Fs(copy-backward-word)25
+b(\(\))630 1687 y Ft(Cop)m(y)38 b(the)h(w)m(ord)f(b)s(efore)g(p)s(oin)m
+(t)g(to)i(the)e(kill)h(bu\013er.)64 b(The)38 b(w)m(ord)g(b)s(oundaries)
+f(are)i(the)630 1797 y(same)31 b(as)f Fs(backward-word)p
+Ft(.)38 b(By)30 b(default,)h(this)f(command)g(is)h(un)m(b)s(ound.)150
+1952 y Fs(copy-forward-word)26 b(\(\))630 2062 y Ft(Cop)m(y)31
b(the)g(w)m(ord)g(follo)m(wing)h(p)s(oin)m(t)f(to)h(the)f(kill)h
(bu\013er.)42 b(The)30 b(w)m(ord)h(b)s(oundaries)e(are)j(the)630
-1579 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
+2171 y(same)f(as)f Fs(forward-word)p Ft(.)38 b(By)30
b(default,)h(this)g(command)f(is)g(un)m(b)s(ound.)150
-1749 y Fs(yank)f(\(C-y\))630 1859 y Ft(Y)-8 b(ank)31
+2327 y Fs(yank)f(\(C-y\))630 2436 y Ft(Y)-8 b(ank)31
b(the)f(top)h(of)g(the)f(kill)h(ring)f(in)m(to)i(the)e(bu\013er)g(at)h
-(p)s(oin)m(t.)150 2030 y Fs(yank-pop)d(\(M-y\))630 2139
+(p)s(oin)m(t.)150 2592 y Fs(yank-pop)d(\(M-y\))630 2701
y Ft(Rotate)36 b(the)f(kill-ring,)i(and)d(y)m(ank)h(the)f(new)g(top.)54
b(Y)-8 b(ou)35 b(can)g(only)f(do)h(this)f(if)h(the)g(prior)630
-2249 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
-Ft(.)150 2460 y Fj(8.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
-(ts)150 2637 y Fs(digit-argument)26 b(\()p Fi(M-0)p Fs(,)j
-Fi(M-1)p Fs(,)h(...)f Fi(M--)p Fs(\))630 2747 y Ft(Add)d(this)h(digit)g
+2811 y(command)30 b(is)h Fs(yank)e Ft(or)h Fs(yank-pop)p
+Ft(.)150 3006 y Fj(8.4.5)63 b(Sp)s(ecifying)42 b(Numeric)f(Argumen)m
+(ts)150 3176 y Fs(digit-argument)26 b(\()p Fi(M-0)p Fs(,)j
+Fi(M-1)p Fs(,)h(...)f Fi(M--)p Fs(\))630 3285 y Ft(Add)d(this)h(digit)g
(to)h(the)f(argumen)m(t)g(already)h(accum)m(ulating,)h(or)e(start)h(a)f
-(new)f(argumen)m(t.)630 2857 y Fi(M--)j Ft(starts)i(a)g(negativ)m(e)i
-(argumen)m(t.)150 3027 y Fs(universal-argument)25 b(\(\))630
-3137 y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
+(new)f(argumen)m(t.)630 3395 y Fi(M--)j Ft(starts)i(a)g(negativ)m(e)i
+(argumen)m(t.)150 3550 y Fs(universal-argument)25 b(\(\))630
+3660 y Ft(This)g(is)g(another)h(w)m(a)m(y)g(to)h(sp)s(ecify)e(an)g
(argumen)m(t.)40 b(If)25 b(this)g(command)h(is)f(follo)m(w)m(ed)i(b)m
-(y)f(one)630 3247 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
+(y)f(one)630 3770 y(or)k(more)f(digits,)i(optionally)g(with)e(a)h
(leading)h(min)m(us)e(sign,)h(those)g(digits)g(de\014ne)f(the)h(ar-)630
-3356 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
+3879 y(gumen)m(t.)41 b(If)28 b(the)i(command)f(is)g(follo)m(w)m(ed)h(b)
m(y)f(digits,)i(executing)f Fs(universal-argument)630
-3466 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
+3989 y Ft(again)j(ends)e(the)h(n)m(umeric)f(argumen)m(t,)i(but)e(is)h
(otherwise)g(ignored.)45 b(As)32 b(a)g(sp)s(ecial)h(case,)630
-3575 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
+4098 y(if)g(this)g(command)f(is)h(immediately)h(follo)m(w)m(ed)h(b)m(y)
d(a)h(c)m(haracter)i(that)e(is)g(neither)g(a)g(digit)630
-3685 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
+4208 y(or)28 b(min)m(us)f(sign,)i(the)f(argumen)m(t)g(coun)m(t)h(for)e
(the)i(next)f(command)f(is)h(m)m(ultiplied)h(b)m(y)e(four.)630
-3795 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
+4317 y(The)37 b(argumen)m(t)h(coun)m(t)f(is)h(initially)h(one,)g(so)f
(executing)g(this)f(function)g(the)h(\014rst)e(time)630
-3904 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
+4427 y(mak)m(es)d(the)e(argumen)m(t)i(coun)m(t)f(four,)f(a)i(second)e
(time)i(mak)m(es)f(the)g(argumen)m(t)g(coun)m(t)h(six-)630
-4014 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
-(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 4224 y Fj(8.4.6)63
+4537 y(teen,)e(and)f(so)h(on.)40 b(By)31 b(default,)g(this)f(is)g(not)h
+(b)s(ound)d(to)j(a)g(k)m(ey)-8 b(.)150 4732 y Fj(8.4.6)63
b(Letting)40 b(Readline)h(T)m(yp)s(e)g(F)-10 b(or)42
-b(Y)-10 b(ou)150 4402 y Fs(complete)28 b(\(TAB\))630
-4512 y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
+b(Y)-10 b(ou)150 4902 y Fs(complete)28 b(\(TAB\))630
+5011 y Ft(A)m(ttempt)c(to)f(p)s(erform)e(completion)j(on)f(the)g(text)g
(b)s(efore)f(p)s(oin)m(t.)39 b(The)22 b(actual)i(completion)630
-4621 y(p)s(erformed)33 b(is)h(application-sp)s(eci\014c.)53
+5121 y(p)s(erformed)33 b(is)h(application-sp)s(eci\014c.)53
b(Bash)35 b(attempts)g(completion)g(treating)h(the)e(text)630
-4731 y(as)39 b(a)h(v)-5 b(ariable)39 b(\(if)h(the)f(text)h(b)s(egins)e
+5230 y(as)39 b(a)h(v)-5 b(ariable)39 b(\(if)h(the)f(text)h(b)s(egins)e
(with)h(`)p Fs($)p Ft('\),)j(username)c(\(if)i(the)f(text)h(b)s(egins)e
-(with)630 4840 y(`)p Fs(~)p Ft('\),)31 b(hostname)f(\(if)g(the)g(text)h
+(with)630 5340 y(`)p Fs(~)p Ft('\),)31 b(hostname)f(\(if)g(the)g(text)h
(b)s(egins)e(with)h(`)p Fs(@)p Ft('\),)h(or)f(command)f(\(including)h
-(aliases)i(and)630 4950 y(functions\))j(in)f(turn.)53
-b(If)34 b(none)g(of)h(these)h(pro)s(duces)d(a)i(matc)m(h,)i(\014lename)
-e(completion)h(is)630 5060 y(attempted.)150 5230 y Fs
-(possible-completions)25 b(\(M-?\))630 5340 y Ft(List)31
-b(the)f(p)s(ossible)g(completions)i(of)e(the)h(text)g(b)s(efore)f(p)s
-(oin)m(t.)p eop end
-%%Page: 111 117
-TeXDict begin 111 116 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(111)150 299 y Fs
-(insert-completions)25 b(\(M-*\))630 408 y Ft(Insert)30
-b(all)h(completions)h(of)f(the)g(text)g(b)s(efore)f(p)s(oin)m(t)h(that)
-g(w)m(ould)f(ha)m(v)m(e)i(b)s(een)e(generated)630 518
-y(b)m(y)g Fs(possible-completions)p Ft(.)150 682 y Fs(menu-complete)d
-(\(\))630 792 y Ft(Similar)d(to)g Fs(complete)p Ft(,)f(but)h(replaces)g
-(the)g(w)m(ord)g(to)g(b)s(e)f(completed)i(with)e(a)i(single)f(matc)m(h)
-630 902 y(from)37 b(the)h(list)h(of)f(p)s(ossible)f(completions.)64
-b(Rep)s(eated)39 b(execution)g(of)f Fs(menu-complete)630
-1011 y Ft(steps)i(through)g(the)g(list)h(of)f(p)s(ossible)g
-(completions,)k(inserting)c(eac)m(h)i(matc)m(h)f(in)f(turn.)630
-1121 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g(of)g(completions,)i(the)e
-(b)s(ell)g(is)g(rung)f(\(sub)5 b(ject)36 b(to)i(the)f(setting)630
-1230 y(of)f Fs(bell-style)p Ft(\))e(and)h(the)h(original)i(text)f(is)f
-(restored.)57 b(An)36 b(argumen)m(t)h(of)f Fq(n)f Ft(mo)m(v)m(es)i
-Fq(n)630 1340 y Ft(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
+(aliases)i(and)p eop end
+%%Page: 113 119
+TeXDict begin 113 118 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(113)630 299 y(functions\))35
+b(in)f(turn.)53 b(If)34 b(none)g(of)h(these)h(pro)s(duces)d(a)i(matc)m
+(h,)i(\014lename)e(completion)h(is)630 408 y(attempted.)150
+573 y Fs(possible-completions)25 b(\(M-?\))630 682 y
+Ft(List)35 b(the)g(p)s(ossible)f(completions)i(of)e(the)h(text)h(b)s
+(efore)e(p)s(oin)m(t.)54 b(When)34 b(displa)m(ying)h(com-)630
+792 y(pletions,)f(Readline)f(sets)f(the)h(n)m(um)m(b)s(er)e(of)i
+(columns)f(used)f(for)i(displa)m(y)f(to)h(the)g(v)-5
+b(alue)33 b(of)630 902 y Fs(completion-display-width)o
+Ft(,)g(the)j(v)-5 b(alue)37 b(of)g(the)f(en)m(vironmen)m(t)h(v)-5
+b(ariable)38 b Fs(COLUMNS)p Ft(,)630 1011 y(or)30 b(the)h(screen)f
+(width,)g(in)g(that)h(order.)150 1176 y Fs(insert-completions)25
+b(\(M-*\))630 1285 y Ft(Insert)30 b(all)h(completions)h(of)f(the)g
+(text)g(b)s(efore)f(p)s(oin)m(t)h(that)g(w)m(ould)f(ha)m(v)m(e)i(b)s
+(een)e(generated)630 1395 y(b)m(y)g Fs(possible-completions)p
+Ft(.)150 1559 y Fs(menu-complete)d(\(\))630 1669 y Ft(Similar)d(to)g
+Fs(complete)p Ft(,)f(but)h(replaces)g(the)g(w)m(ord)g(to)g(b)s(e)f
+(completed)i(with)e(a)i(single)f(matc)m(h)630 1778 y(from)37
+b(the)h(list)h(of)f(p)s(ossible)f(completions.)64 b(Rep)s(eated)39
+b(execution)g(of)f Fs(menu-complete)630 1888 y Ft(steps)i(through)g
+(the)g(list)h(of)f(p)s(ossible)g(completions,)k(inserting)c(eac)m(h)i
+(matc)m(h)f(in)f(turn.)630 1998 y(A)m(t)e(the)f(end)f(of)h(the)g(list)g
+(of)g(completions,)i(the)e(b)s(ell)g(is)g(rung)f(\(sub)5
+b(ject)36 b(to)i(the)f(setting)630 2107 y(of)f Fs(bell-style)p
+Ft(\))e(and)h(the)h(original)i(text)f(is)f(restored.)57
+b(An)36 b(argumen)m(t)h(of)f Fq(n)f Ft(mo)m(v)m(es)i
+Fq(n)630 2217 y Ft(p)s(ositions)e(forw)m(ard)f(in)g(the)h(list)h(of)e
(matc)m(hes;)39 b(a)c(negativ)m(e)i(argumen)m(t)e(ma)m(y)g(b)s(e)f
-(used)g(to)630 1450 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
+(used)g(to)630 2326 y(mo)m(v)m(e)40 b(bac)m(kw)m(ard)e(through)g(the)g
(list.)65 b(This)38 b(command)g(is)g(in)m(tended)g(to)h(b)s(e)f(b)s
-(ound)e(to)630 1559 y Fs(TAB)p Ft(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
-(y)i(default.)150 1724 y Fs(menu-complete-backward)24
-b(\(\))630 1833 y Ft(Iden)m(tical)36 b(to)g Fs(menu-complete)p
+(ound)e(to)630 2436 y Fs(TAB)p Ft(,)30 b(but)f(is)i(un)m(b)s(ound)d(b)m
+(y)i(default.)150 2600 y Fs(menu-complete-backward)24
+b(\(\))630 2710 y Ft(Iden)m(tical)36 b(to)g Fs(menu-complete)p
Ft(,)d(but)h(mo)m(v)m(es)j(bac)m(kw)m(ard)e(through)f(the)i(list)f(of)g
-(p)s(ossible)630 1943 y(completions,)d(as)e(if)h Fs(menu-complete)26
+(p)s(ossible)630 2819 y(completions,)d(as)e(if)h Fs(menu-complete)26
b Ft(had)k(b)s(een)g(giv)m(en)h(a)g(negativ)m(e)i(argumen)m(t.)150
-2107 y Fs(delete-char-or-list)25 b(\(\))630 2217 y Ft(Deletes)k(the)e
+2984 y Fs(delete-char-or-list)25 b(\(\))630 3093 y Ft(Deletes)k(the)e
(c)m(haracter)h(under)e(the)h(cursor)f(if)h(not)g(at)g(the)g(b)s
-(eginning)g(or)f(end)h(of)g(the)g(line)630 2326 y(\(lik)m(e)k
+(eginning)g(or)f(end)h(of)g(the)g(line)630 3203 y(\(lik)m(e)k
Fs(delete-char)p Ft(\).)37 b(If)29 b(at)h(the)f(end)f(of)i(the)f(line,)
h(b)s(eha)m(v)m(es)g(iden)m(tically)h(to)e Fs(possible-)630
-2436 y(completions)p Ft(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d
-(b)m(y)i(default.)150 2600 y Fs(complete-filename)c(\(M-/\))630
-2710 y Ft(A)m(ttempt)32 b(\014lename)e(completion)i(on)e(the)h(text)g
-(b)s(efore)f(p)s(oin)m(t.)150 2874 y Fs(possible-filename-comple)o
-(tion)o(s)24 b(\(C-x)30 b(/\))630 2984 y Ft(List)f(the)g(p)s(ossible)f
+3313 y(completions)p Ft(.)38 b(This)29 b(command)h(is)h(un)m(b)s(ound)d
+(b)m(y)i(default.)150 3477 y Fs(complete-filename)c(\(M-/\))630
+3587 y Ft(A)m(ttempt)32 b(\014lename)e(completion)i(on)e(the)h(text)g
+(b)s(efore)f(p)s(oin)m(t.)150 3751 y Fs(possible-filename-comple)o
+(tion)o(s)24 b(\(C-x)30 b(/\))630 3861 y Ft(List)f(the)g(p)s(ossible)f
(completions)h(of)g(the)g(text)g(b)s(efore)g(p)s(oin)m(t,)g(treating)h
-(it)f(as)g(a)f(\014lename.)150 3148 y Fs(complete-username)e(\(M-~\))
-630 3258 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)
+(it)f(as)g(a)f(\014lename.)150 4025 y Fs(complete-username)e(\(M-~\))
+630 4134 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)
e(p)s(oin)m(t,)g(treating)i(it)f(as)f(a)h(username.)150
-3422 y Fs(possible-username-comple)o(tion)o(s)24 b(\(C-x)30
-b(~\))630 3532 y Ft(List)25 b(the)g(p)s(ossible)g(completions)h(of)f
+4299 y Fs(possible-username-comple)o(tion)o(s)24 b(\(C-x)30
+b(~\))630 4408 y Ft(List)25 b(the)g(p)s(ossible)g(completions)h(of)f
(the)g(text)h(b)s(efore)f(p)s(oin)m(t,)h(treating)g(it)g(as)f(a)g
-(username.)150 3696 y Fs(complete-variable)h(\(M-$\))630
-3806 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)e(p)
+(username.)150 4573 y Fs(complete-variable)h(\(M-$\))630
+4682 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i(b)s(efore)e(p)
s(oin)m(t,)g(treating)i(it)f(as)f(a)h(shell)g(v)-5 b(ariable.)150
-3970 y Fs(possible-variable-comple)o(tion)o(s)24 b(\(C-x)30
-b($\))630 4080 y Ft(List)42 b(the)g(p)s(ossible)g(completions)h(of)f
+4847 y Fs(possible-variable-comple)o(tion)o(s)24 b(\(C-x)30
+b($\))630 4956 y Ft(List)42 b(the)g(p)s(ossible)g(completions)h(of)f
(the)g(text)h(b)s(efore)e(p)s(oin)m(t,)46 b(treating)d(it)f(as)g(a)h
-(shell)630 4189 y(v)-5 b(ariable.)150 4354 y Fs(complete-hostname)26
-b(\(M-@\))630 4463 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i
-(b)s(efore)e(p)s(oin)m(t,)g(treating)i(it)f(as)f(a)h(hostname.)150
-4628 y Fs(possible-hostname-comple)o(tion)o(s)24 b(\(C-x)30
-b(@\))630 4737 y Ft(List)25 b(the)g(p)s(ossible)f(completions)h(of)g
-(the)g(text)g(b)s(efore)g(p)s(oin)m(t,)h(treating)g(it)f(as)f(a)h
-(hostname.)150 4902 y Fs(complete-command)h(\(M-!\))630
-5011 y Ft(A)m(ttempt)32 b(completion)g(on)f(the)g(text)h(b)s(efore)e(p)
-s(oin)m(t,)h(treating)h(it)g(as)f(a)g(command)g(name.)630
-5121 y(Command)46 b(completion)i(attempts)g(to)f(matc)m(h)h(the)f(text)
-h(against)g(aliases,)53 b(reserv)m(ed)630 5230 y(w)m(ords,)36
-b(shell)g(functions,)h(shell)e(builtins,)i(and)e(\014nally)g
-(executable)i(\014lenames,)g(in)e(that)630 5340 y(order.)p
+(shell)630 5066 y(v)-5 b(ariable.)150 5230 y Fs(complete-hostname)26
+b(\(M-@\))630 5340 y Ft(A)m(ttempt)32 b(completion)f(on)g(the)f(text)i
+(b)s(efore)e(p)s(oin)m(t,)g(treating)i(it)f(as)f(a)h(hostname.)p
eop end
-%%Page: 112 118
-TeXDict begin 112 117 bop 150 -116 a Ft(112)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(possible-command-complet)o(ions)24
-b(\(C-x)29 b(!\))630 408 y Ft(List)d(the)h(p)s(ossible)f(completions)h
-(of)f(the)h(text)g(b)s(efore)f(p)s(oin)m(t,)h(treating)g(it)g(as)g(a)f
-(command)630 518 y(name.)150 675 y Fs(dynamic-complete-history)e
-(\(M-TAB\))630 784 y Ft(A)m(ttempt)31 b(completion)h(on)e(the)g(text)h
-(b)s(efore)f(p)s(oin)m(t,)g(comparing)h(the)f(text)h(against)h(lines)
-630 894 y(from)e(the)g(history)h(list)g(for)f(p)s(ossible)g(completion)
-i(matc)m(hes.)150 1051 y Fs(dabbrev-expand)26 b(\(\))630
-1160 y Ft(A)m(ttempt)i(men)m(u)e(completion)i(on)f(the)g(text)g(b)s
+%%Page: 114 120
+TeXDict begin 114 119 bop 150 -116 a Ft(114)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(possible-hostname-comple)o(tion)o
+(s)24 b(\(C-x)30 b(@\))630 408 y Ft(List)25 b(the)g(p)s(ossible)f
+(completions)h(of)g(the)g(text)g(b)s(efore)g(p)s(oin)m(t,)h(treating)g
+(it)f(as)f(a)h(hostname.)150 578 y Fs(complete-command)h(\(M-!\))630
+688 y Ft(A)m(ttempt)32 b(completion)g(on)f(the)g(text)h(b)s(efore)e(p)s
+(oin)m(t,)h(treating)h(it)g(as)f(a)g(command)g(name.)630
+797 y(Command)46 b(completion)i(attempts)g(to)f(matc)m(h)h(the)f(text)h
+(against)g(aliases,)53 b(reserv)m(ed)630 907 y(w)m(ords,)36
+b(shell)g(functions,)h(shell)e(builtins,)i(and)e(\014nally)g
+(executable)i(\014lenames,)g(in)e(that)630 1017 y(order.)150
+1186 y Fs(possible-command-complet)o(ions)24 b(\(C-x)29
+b(!\))630 1296 y Ft(List)d(the)h(p)s(ossible)f(completions)h(of)f(the)h
+(text)g(b)s(efore)f(p)s(oin)m(t,)h(treating)g(it)g(as)g(a)f(command)630
+1406 y(name.)150 1575 y Fs(dynamic-complete-history)e(\(M-TAB\))630
+1685 y Ft(A)m(ttempt)31 b(completion)h(on)e(the)g(text)h(b)s(efore)f(p)
+s(oin)m(t,)g(comparing)h(the)f(text)h(against)h(lines)630
+1795 y(from)e(the)g(history)h(list)g(for)f(p)s(ossible)g(completion)i
+(matc)m(hes.)150 1964 y Fs(dabbrev-expand)26 b(\(\))630
+2074 y Ft(A)m(ttempt)i(men)m(u)e(completion)i(on)f(the)g(text)g(b)s
(efore)f(p)s(oin)m(t,)i(comparing)f(the)g(text)h(against)630
-1270 y(lines)j(from)e(the)i(history)f(list)h(for)g(p)s(ossible)e
-(completion)j(matc)m(hes.)150 1427 y Fs(complete-into-braces)25
-b(\(M-{\))630 1536 y Ft(P)m(erform)f(\014lename)f(completion)i(and)f
+2183 y(lines)j(from)e(the)i(history)f(list)h(for)g(p)s(ossible)e
+(completion)j(matc)m(hes.)150 2353 y Fs(complete-into-braces)25
+b(\(M-{\))630 2463 y Ft(P)m(erform)f(\014lename)f(completion)i(and)f
(insert)f(the)h(list)g(of)g(p)s(ossible)f(completions)i(enclosed)630
-1646 y(within)34 b(braces)h(so)f(the)h(list)g(is)g(a)m(v)-5
+2572 y(within)34 b(braces)h(so)f(the)h(list)g(is)g(a)m(v)-5
b(ailable)37 b(to)e(the)g(shell)g(\(see)g(Section)h(3.5.1)g([Brace)g
-(Ex-)630 1755 y(pansion],)30 b(page)h(18\).)150 1952
-y Fj(8.4.7)63 b(Keyb)s(oard)41 b(Macros)150 2122 y Fs(start-kbd-macro)
-26 b(\(C-x)j(\(\))630 2232 y Ft(Begin)i(sa)m(ving)h(the)e(c)m
+(Ex-)630 2682 y(pansion],)30 b(page)h(19\).)150 2892
+y Fj(8.4.7)63 b(Keyb)s(oard)41 b(Macros)150 3069 y Fs(start-kbd-macro)
+26 b(\(C-x)j(\(\))630 3178 y Ft(Begin)i(sa)m(ving)h(the)e(c)m
(haracters)i(t)m(yp)s(ed)e(in)m(to)h(the)g(curren)m(t)f(k)m(eyb)s(oard)
-g(macro.)150 2389 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630
-2498 y Ft(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m
+g(macro.)150 3348 y Fs(end-kbd-macro)d(\(C-x)i(\)\))630
+3458 y Ft(Stop)e(sa)m(ving)h(the)g(c)m(haracters)g(t)m(yp)s(ed)f(in)m
(to)i(the)e(curren)m(t)g(k)m(eyb)s(oard)g(macro)h(and)f(sa)m(v)m(e)i
-(the)630 2608 y(de\014nition.)150 2765 y Fs(call-last-kbd-macro)c
-(\(C-x)k(e\))630 2874 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)
+(the)630 3567 y(de\014nition.)150 3737 y Fs(call-last-kbd-macro)c
+(\(C-x)k(e\))630 3847 y Ft(Re-execute)37 b(the)e(last)h(k)m(eyb)s(oard)
f(macro)h(de\014ned,)f(b)m(y)h(making)f(the)g(c)m(haracters)i(in)e(the)
-630 2984 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m
-(eyb)s(oard.)150 3180 y Fj(8.4.8)63 b(Some)41 b(Miscellaneous)i
-(Commands)150 3351 y Fs(re-read-init-file)26 b(\(C-x)j(C-r\))630
-3460 y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
+630 3956 y(macro)c(app)s(ear)f(as)g(if)h(t)m(yp)s(ed)f(at)h(the)f(k)m
+(eyb)s(oard.)150 4166 y Fj(8.4.8)63 b(Some)41 b(Miscellaneous)i
+(Commands)150 4343 y Fs(re-read-init-file)26 b(\(C-x)j(C-r\))630
+4452 y Ft(Read)22 b(in)g(the)g(con)m(ten)m(ts)h(of)f(the)g
Fq(inputrc)27 b Ft(\014le,)d(and)d(incorp)s(orate)h(an)m(y)h(bindings)d
-(or)i(v)-5 b(ariable)630 3570 y(assignmen)m(ts)31 b(found)e(there.)150
-3727 y Fs(abort)g(\(C-g\))630 3836 y Ft(Ab)s(ort)d(the)h(curren)m(t)f
+(or)i(v)-5 b(ariable)630 4562 y(assignmen)m(ts)31 b(found)e(there.)150
+4732 y Fs(abort)g(\(C-g\))630 4841 y Ft(Ab)s(ort)d(the)h(curren)m(t)f
(editing)h(command)f(and)g(ring)h(the)f(terminal's)h(b)s(ell)g(\(sub)5
-b(ject)26 b(to)i(the)630 3946 y(setting)j(of)g Fs(bell-style)p
-Ft(\).)150 4103 y Fs(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
-Fi(x)11 b Fs(,)29 b(...)o(\))630 4212 y Ft(If)e(the)h(meta\014ed)g(c)m
+b(ject)26 b(to)i(the)630 4951 y(setting)j(of)g Fs(bell-style)p
+Ft(\).)150 5121 y Fs(do-uppercase-version)25 b(\(M-a,)k(M-b,)g(M-)p
+Fi(x)11 b Fs(,)29 b(...)o(\))630 5230 y Ft(If)e(the)h(meta\014ed)g(c)m
(haracter)h Fq(x)34 b Ft(is)28 b(lo)m(w)m(ercase,)i(run)d(the)g
-(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 4322 y(corresp)s(onding)
-g(upp)s(ercase)h(c)m(haracter.)150 4479 y Fs(prefix-meta)d(\(ESC\))630
-4588 y Ft(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s(ed.)62
-b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g(k)m(ey)-8
-b(.)630 4698 y(T)m(yping)30 b(`)p Fs(ESC)g(f)p Ft(')g(is)h(equiv)-5
-b(alen)m(t)31 b(to)g(t)m(yping)g Fi(M-f)p Ft(.)150 4854
-y Fs(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630 4964 y Ft(Incremen)m(tal)h
-(undo,)f(separately)h(remem)m(b)s(ered)f(for)g(eac)m(h)i(line.)150
-5121 y Fs(revert-line)27 b(\(M-r\))630 5230 y Ft(Undo)33
-b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49 b(This)32
-b(is)h(lik)m(e)i(executing)f(the)f Fs(undo)f Ft(command)630
-5340 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f(b)s(eginning.)p
-eop end
-%%Page: 113 119
-TeXDict begin 113 118 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(113)150 299 y Fs(tilde-expand)27
-b(\(M-&\))630 408 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g
-(curren)m(t)h(w)m(ord.)150 555 y Fs(set-mark)d(\(C-@\))630
-664 y Ft(Set)33 b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48
-b(If)32 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g
-(is)f(set)630 774 y(to)f(that)g(p)s(osition.)150 920
-y Fs(exchange-point-and-mark)24 b(\(C-x)29 b(C-x\))630
-1029 y Ft(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)g(the)g(mark.)43
-b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f(set)h(to)f(the)h
-(sa)m(v)m(ed)630 1139 y(p)s(osition,)f(and)e(the)i(old)g(cursor)e(p)s
-(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150 1285
-y Fs(character-search)26 b(\(C-]\))630 1395 y Ft(A)f(c)m(haracter)h(is)
-f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g(o)s
-(ccurrence)g(of)g(that)g(c)m(haracter.)630 1504 y(A)30
+(command)h(that)g(is)g(b)s(ound)d(to)k(the)630 5340 y(corresp)s(onding)
+g(upp)s(ercase)h(c)m(haracter.)p eop end
+%%Page: 115 121
+TeXDict begin 115 120 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(115)150 299 y Fs(prefix-meta)27
+b(\(ESC\))630 408 y Ft(Metafy)39 b(the)e(next)h(c)m(haracter)h(t)m(yp)s
+(ed.)62 b(This)37 b(is)g(for)h(k)m(eyb)s(oards)f(without)g(a)h(meta)g
+(k)m(ey)-8 b(.)630 518 y(T)m(yping)30 b(`)p Fs(ESC)g(f)p
+Ft(')g(is)h(equiv)-5 b(alen)m(t)31 b(to)g(t)m(yping)g
+Fi(M-f)p Ft(.)150 671 y Fs(undo)e(\(C-_)g(or)h(C-x)g(C-u\))630
+781 y Ft(Incremen)m(tal)h(undo,)f(separately)h(remem)m(b)s(ered)f(for)g
+(eac)m(h)i(line.)150 934 y Fs(revert-line)27 b(\(M-r\))630
+1044 y Ft(Undo)33 b(all)h(c)m(hanges)g(made)f(to)h(this)f(line.)49
+b(This)32 b(is)h(lik)m(e)i(executing)f(the)f Fs(undo)f
+Ft(command)630 1154 y(enough)e(times)h(to)g(get)h(bac)m(k)f(to)g(the)f
+(b)s(eginning.)150 1307 y Fs(tilde-expand)d(\(M-&\))630
+1417 y Ft(P)m(erform)j(tilde)h(expansion)g(on)f(the)g(curren)m(t)h(w)m
+(ord.)150 1570 y Fs(set-mark)d(\(C-@\))630 1680 y Ft(Set)33
+b(the)g(mark)f(to)i(the)f(p)s(oin)m(t.)48 b(If)32 b(a)h(n)m(umeric)g
+(argumen)m(t)g(is)g(supplied,)f(the)h(mark)g(is)f(set)630
+1789 y(to)f(that)g(p)s(osition.)150 1943 y Fs(exchange-point-and-mark)
+24 b(\(C-x)29 b(C-x\))630 2052 y Ft(Sw)m(ap)i(the)g(p)s(oin)m(t)g(with)
+g(the)g(mark.)43 b(The)31 b(curren)m(t)g(cursor)f(p)s(osition)i(is)f
+(set)h(to)f(the)h(sa)m(v)m(ed)630 2162 y(p)s(osition,)f(and)e(the)i
+(old)g(cursor)e(p)s(osition)i(is)f(sa)m(v)m(ed)i(as)e(the)h(mark.)150
+2315 y Fs(character-search)26 b(\(C-]\))630 2425 y Ft(A)f(c)m(haracter)
+h(is)f(read)g(and)f(p)s(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)g(the)f(next)g
+(o)s(ccurrence)g(of)g(that)g(c)m(haracter.)630 2534 y(A)30
b(negativ)m(e)j(coun)m(t)e(searc)m(hes)g(for)f(previous)g(o)s
-(ccurrences.)150 1650 y Fs(character-search-backwar)o(d)24
-b(\(M-C-]\))630 1760 y Ft(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
+(ccurrences.)150 2688 y Fs(character-search-backwar)o(d)24
+b(\(M-C-]\))630 2798 y Ft(A)45 b(c)m(haracter)h(is)f(read)g(and)f(p)s
(oin)m(t)h(is)g(mo)m(v)m(ed)h(to)f(the)g(previous)f(o)s(ccurrence)h(of)
-g(that)630 1870 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
+g(that)630 2907 y(c)m(haracter.)d(A)31 b(negativ)m(e)h(coun)m(t)f
(searc)m(hes)h(for)e(subsequen)m(t)f(o)s(ccurrences.)150
-2016 y Fs(skip-csi-sequence)d(\(\))630 2125 y Ft(Read)i(enough)f(c)m
+3061 y Fs(skip-csi-sequence)d(\(\))630 3170 y Ft(Read)i(enough)f(c)m
(haracters)h(to)g(consume)f(a)h(m)m(ulti-k)m(ey)h(sequence)f(suc)m(h)f
-(as)g(those)h(de\014ned)630 2235 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g
+(as)g(those)h(de\014ned)630 3280 y(for)37 b(k)m(eys)h(lik)m(e)g(Home)g
(and)f(End.)60 b(Suc)m(h)37 b(sequences)g(b)s(egin)g(with)g(a)h(Con)m
-(trol)g(Sequence)630 2345 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
+(trol)g(Sequence)630 3389 y(Indicator)f(\(CSI\),)f(usually)h(ESC-[.)59
b(If)36 b(this)g(sequence)h(is)g(b)s(ound)d(to)k Fs("\\)p
-Ft(e[)p Fs(")p Ft(,)g(k)m(eys)f(pro-)630 2454 y(ducing)31
+Ft(e[)p Fs(")p Ft(,)g(k)m(eys)f(pro-)630 3499 y(ducing)31
b(suc)m(h)h(sequences)g(will)h(ha)m(v)m(e)g(no)f(e\013ect)h(unless)e
-(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 2564 y(command,)f
+(explicitly)j(b)s(ound)c(to)i(a)h(readline)630 3608 y(command,)f
(instead)g(of)g(inserting)g(stra)m(y)h(c)m(haracters)g(in)m(to)g(the)f
-(editing)h(bu\013er.)44 b(This)31 b(is)630 2673 y(un)m(b)s(ound)d(b)m
+(editing)h(bu\013er.)44 b(This)31 b(is)630 3718 y(un)m(b)s(ound)d(b)m
(y)i(default,)h(but)f(usually)g(b)s(ound)e(to)j(ESC-[.)150
-2819 y Fs(insert-comment)26 b(\(M-#\))630 2929 y Ft(Without)36
+3871 y Fs(insert-comment)26 b(\(M-#\))630 3981 y Ft(Without)36
b(a)g(n)m(umeric)g(argumen)m(t,)h(the)f(v)-5 b(alue)36
b(of)g(the)g Fs(comment-begin)c Ft(v)-5 b(ariable)36
-b(is)g(in-)630 3039 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
+b(is)g(in-)630 4091 y(serted)c(at)g(the)g(b)s(eginning)f(of)h(the)f
(curren)m(t)h(line.)45 b(If)31 b(a)h(n)m(umeric)f(argumen)m(t)h(is)g
-(supplied,)630 3148 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
+(supplied,)630 4200 y(this)k(command)h(acts)g(as)g(a)g(toggle:)55
b(if)37 b(the)f(c)m(haracters)i(at)g(the)e(b)s(eginning)g(of)h(the)g
-(line)630 3258 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
+(line)630 4310 y(do)30 b(not)h(matc)m(h)h(the)f(v)-5
b(alue)31 b(of)f Fs(comment-begin)p Ft(,)e(the)i(v)-5
-b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 3367
+b(alue)31 b(is)g(inserted,)g(otherwise)g(the)630 4419
y(c)m(haracters)42 b(in)d Fs(comment-begin)e Ft(are)j(deleted)h(from)f
-(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 3477
+(the)g(b)s(eginning)g(of)g(the)g(line.)71 b(In)630 4529
y(either)37 b(case,)j(the)e(line)f(is)g(accepted)i(as)e(if)g(a)g
(newline)g(had)g(b)s(een)f(t)m(yp)s(ed.)60 b(The)37 b(default)630
-3587 y(v)-5 b(alue)32 b(of)g Fs(comment-begin)c Ft(causes)k(this)f
+4639 y(v)-5 b(alue)32 b(of)g Fs(comment-begin)c Ft(causes)k(this)f
(command)h(to)g(mak)m(e)h(the)e(curren)m(t)h(line)g(a)g(shell)630
-3696 y(commen)m(t.)40 b(If)26 b(a)h(n)m(umeric)f(argumen)m(t)h(causes)g
+4748 y(commen)m(t.)40 b(If)26 b(a)h(n)m(umeric)f(argumen)m(t)h(causes)g
(the)f(commen)m(t)i(c)m(haracter)g(to)f(b)s(e)f(remo)m(v)m(ed,)630
-3806 y(the)31 b(line)f(will)h(b)s(e)f(executed)h(b)m(y)f(the)h(shell.)
-150 3952 y Fs(dump-functions)26 b(\(\))630 4061 y Ft(Prin)m(t)g(all)i
+4858 y(the)31 b(line)f(will)h(b)s(e)f(executed)h(b)m(y)f(the)h(shell.)
+150 5011 y Fs(dump-functions)26 b(\(\))630 5121 y Ft(Prin)m(t)g(all)i
(of)e(the)h(functions)f(and)g(their)g(k)m(ey)h(bindings)e(to)j(the)e
-(Readline)h(output)f(stream.)630 4171 y(If)31 b(a)h(n)m(umeric)g
+(Readline)h(output)f(stream.)630 5230 y(If)31 b(a)h(n)m(umeric)g
(argumen)m(t)g(is)g(supplied,)f(the)h(output)f(is)h(formatted)g(in)f
-(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 4281 y(it)f(can)g(b)s(e)e(made)i
+(suc)m(h)h(a)g(w)m(a)m(y)g(that)630 5340 y(it)f(can)g(b)s(e)e(made)i
(part)f(of)g(an)h Fq(inputrc)k Ft(\014le.)41 b(This)29
-b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k(default.)150
-4427 y Fs(dump-variables)26 b(\(\))630 4536 y Ft(Prin)m(t)21
-b(all)h(of)g(the)f(settable)i(v)-5 b(ariables)22 b(and)f(their)g(v)-5
-b(alues)22 b(to)g(the)f(Readline)h(output)f(stream.)630
-4646 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g(supplied,)f(the)h
-(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m(y)g(that)630
-4756 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h Fq(inputrc)k
-Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k
-(default.)150 4902 y Fs(dump-macros)c(\(\))630 5011 y
-Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)f(b)s
-(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
-5121 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
+b(command)h(is)h(un)m(b)s(ound)c(b)m(y)k(default.)p eop
+end
+%%Page: 116 122
+TeXDict begin 116 121 bop 150 -116 a Ft(116)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fs(dump-variables)26
+b(\(\))630 408 y Ft(Prin)m(t)21 b(all)h(of)g(the)f(settable)i(v)-5
+b(ariables)22 b(and)f(their)g(v)-5 b(alues)22 b(to)g(the)f(Readline)h
+(output)f(stream.)630 518 y(If)31 b(a)h(n)m(umeric)g(argumen)m(t)g(is)g
+(supplied,)f(the)h(output)f(is)h(formatted)g(in)f(suc)m(h)h(a)g(w)m(a)m
+(y)g(that)630 628 y(it)f(can)g(b)s(e)e(made)i(part)f(of)g(an)h
+Fq(inputrc)k Ft(\014le.)41 b(This)29 b(command)h(is)h(un)m(b)s(ound)c
+(b)m(y)k(default.)150 792 y Fs(dump-macros)c(\(\))630
+902 y Ft(Prin)m(t)34 b(all)g(of)g(the)g(Readline)g(k)m(ey)h(sequences)f
+(b)s(ound)e(to)i(macros)g(and)f(the)h(strings)g(they)630
+1011 y(output.)53 b(If)35 b(a)g(n)m(umeric)f(argumen)m(t)i(is)e
(supplied,)h(the)g(output)g(is)f(formatted)i(in)e(suc)m(h)h(a)630
-5230 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
+1121 y(w)m(a)m(y)c(that)g(it)f(can)g(b)s(e)g(made)g(part)f(of)i(an)e
Fq(inputrc)35 b Ft(\014le.)41 b(This)29 b(command)h(is)g(un)m(b)s(ound)
-d(b)m(y)630 5340 y(default.)p eop end
-%%Page: 114 120
-TeXDict begin 114 119 bop 150 -116 a Ft(114)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fs(glob-complete-word)25
-b(\(M-g\))630 408 y Ft(The)i(w)m(ord)h(b)s(efore)f(p)s(oin)m(t)h(is)g
-(treated)h(as)f(a)h(pattern)f(for)f(pathname)h(expansion,)g(with)g(an)
-630 518 y(asterisk)d(implicitly)h(app)s(ended.)37 b(This)23
+d(b)m(y)630 1230 y(default.)150 1395 y Fs(glob-complete-word)e(\(M-g\))
+630 1504 y Ft(The)i(w)m(ord)h(b)s(efore)f(p)s(oin)m(t)h(is)g(treated)h
+(as)f(a)h(pattern)f(for)f(pathname)h(expansion,)g(with)g(an)630
+1614 y(asterisk)d(implicitly)h(app)s(ended.)37 b(This)23
b(pattern)i(is)f(used)g(to)h(generate)h(a)e(list)h(of)g(matc)m(hing)630
-628 y(\014le)30 b(names)h(for)f(p)s(ossible)g(completions.)150
-791 y Fs(glob-expand-word)c(\(C-x)j(*\))630 900 y Ft(The)40
+1724 y(\014le)30 b(names)h(for)f(p)s(ossible)g(completions.)150
+1888 y Fs(glob-expand-word)c(\(C-x)j(*\))630 1998 y Ft(The)40
b(w)m(ord)g(b)s(efore)g(p)s(oin)m(t)h(is)g(treated)g(as)g(a)g(pattern)g
-(for)f(pathname)g(expansion,)k(and)630 1010 y(the)c(list)g(of)f(matc)m
+(for)f(pathname)g(expansion,)k(and)630 2107 y(the)c(list)g(of)f(matc)m
(hing)i(\014le)e(names)g(is)h(inserted,)h(replacing)g(the)e(w)m(ord.)67
-b(If)39 b(a)h(n)m(umeric)630 1120 y(argumen)m(t)31 b(is)f(supplied,)g
+b(If)39 b(a)h(n)m(umeric)630 2217 y(argumen)m(t)31 b(is)f(supplied,)g
(a)g(`)p Fs(*)p Ft(')h(is)f(app)s(ended)f(b)s(efore)h(pathname)g
-(expansion.)150 1283 y Fs(glob-list-expansions)25 b(\(C-x)k(g\))630
-1392 y Ft(The)k(list)h(of)f(expansions)g(that)h(w)m(ould)f(ha)m(v)m(e)h
+(expansion.)150 2381 y Fs(glob-list-expansions)25 b(\(C-x)k(g\))630
+2491 y Ft(The)k(list)h(of)f(expansions)g(that)h(w)m(ould)f(ha)m(v)m(e)h
(b)s(een)f(generated)h(b)m(y)f Fs(glob-expand-word)630
-1502 y Ft(is)h(displa)m(y)m(ed,)h(and)e(the)h(line)g(is)f(redra)m(wn.)
+2600 y Ft(is)h(displa)m(y)m(ed,)h(and)e(the)h(line)g(is)f(redra)m(wn.)
50 b(If)33 b(a)h(n)m(umeric)g(argumen)m(t)g(is)f(supplied,)h(a)g(`)p
-Fs(*)p Ft(')630 1611 y(is)c(app)s(ended)f(b)s(efore)h(pathname)g
-(expansion.)150 1775 y Fs(display-shell-version)25 b(\(C-x)k(C-v\))630
-1884 y Ft(Displa)m(y)j(v)m(ersion)e(information)h(ab)s(out)f(the)h
-(curren)m(t)f(instance)h(of)f(Bash.)150 2047 y Fs(shell-expand-line)c
-(\(M-C-e\))630 2157 y Ft(Expand)34 b(the)h(line)h(as)g(the)f(shell)h
+Fs(*)p Ft(')630 2710 y(is)c(app)s(ended)f(b)s(efore)h(pathname)g
+(expansion.)150 2874 y Fs(display-shell-version)25 b(\(C-x)k(C-v\))630
+2984 y Ft(Displa)m(y)j(v)m(ersion)e(information)h(ab)s(out)f(the)h
+(curren)m(t)f(instance)h(of)f(Bash.)150 3148 y Fs(shell-expand-line)c
+(\(M-C-e\))630 3258 y Ft(Expand)34 b(the)h(line)h(as)g(the)f(shell)h
(do)s(es.)55 b(This)34 b(p)s(erforms)g(alias)i(and)f(history)g
-(expansion)630 2266 y(as)f(w)m(ell)g(as)g(all)h(of)e(the)h(shell)g(w)m
+(expansion)630 3367 y(as)f(w)m(ell)g(as)g(all)h(of)e(the)h(shell)g(w)m
(ord)f(expansions)g(\(see)i(Section)f(3.5)h([Shell)e(Expansions],)630
-2376 y(page)e(17\).)150 2539 y Fs(history-expand-line)25
-b(\(M-^\))630 2649 y Ft(P)m(erform)30 b(history)h(expansion)f(on)g(the)
-h(curren)m(t)f(line.)150 2812 y Fs(magic-space)d(\(\))630
-2921 y Ft(P)m(erform)c(history)g(expansion)g(on)g(the)g(curren)m(t)g
+3477 y(page)e(19\).)150 3641 y Fs(history-expand-line)25
+b(\(M-^\))630 3751 y Ft(P)m(erform)30 b(history)h(expansion)f(on)g(the)
+h(curren)m(t)f(line.)150 3915 y Fs(magic-space)d(\(\))630
+4025 y Ft(P)m(erform)c(history)g(expansion)g(on)g(the)g(curren)m(t)g
(line)g(and)g(insert)g(a)g(space)h(\(see)g(Section)g(9.3)630
-3031 y([History)31 b(In)m(teraction],)i(page)e(123\).)150
-3194 y Fs(alias-expand-line)26 b(\(\))630 3304 y Ft(P)m(erform)i(alias)
+4134 y([History)31 b(In)m(teraction],)i(page)e(127\).)150
+4299 y Fs(alias-expand-line)26 b(\(\))630 4408 y Ft(P)m(erform)i(alias)
i(expansion)e(on)g(the)h(curren)m(t)f(line)h(\(see)g(Section)g(6.6)h
-([Aliases],)g(page)f(79\).)150 3467 y Fs(history-and-alias-expand)o
-(-lin)o(e)24 b(\(\))630 3576 y Ft(P)m(erform)30 b(history)h(and)e
+([Aliases],)g(page)f(81\).)150 4573 y Fs(history-and-alias-expand)o
+(-lin)o(e)24 b(\(\))630 4682 y Ft(P)m(erform)30 b(history)h(and)e
(alias)j(expansion)e(on)g(the)h(curren)m(t)f(line.)150
-3740 y Fs(insert-last-argument)25 b(\(M-.)k(or)h(M-_\))630
-3849 y Ft(A)g(synon)m(ym)g(for)g Fs(yank-last-arg)p Ft(.)150
-4012 y Fs(operate-and-get-next)25 b(\(C-o\))630 4122
+4847 y Fs(insert-last-argument)25 b(\(M-.)k(or)h(M-_\))630
+4956 y Ft(A)g(synon)m(ym)g(for)g Fs(yank-last-arg)p Ft(.)150
+5121 y Fs(operate-and-get-next)25 b(\(C-o\))630 5230
y Ft(Accept)42 b(the)e(curren)m(t)h(line)f(for)h(execution)g(and)f
(fetc)m(h)i(the)e(next)h(line)g(relativ)m(e)i(to)e(the)630
-4231 y(curren)m(t)30 b(line)h(from)f(the)g(history)h(for)f(editing.)41
-b(An)m(y)31 b(argumen)m(t)f(is)h(ignored.)150 4395 y
-Fs(edit-and-execute-command)24 b(\(C-xC-e\))630 4504
-y Ft(In)m(v)m(ok)m(e)34 b(an)f(editor)g(on)g(the)g(curren)m(t)f
-(command)h(line,)h(and)e(execute)i(the)f(result)g(as)g(shell)630
-4614 y(commands.)81 b(Bash)44 b(attempts)h(to)g(in)m(v)m(ok)m(e)h
-Fs($VISUAL)p Ft(,)f Fs($EDITOR)p Ft(,)h(and)d Fs(emacs)g
-Ft(as)h(the)630 4723 y(editor,)31 b(in)f(that)h(order.)150
-4961 y Fr(8.5)68 b(Readline)47 b(vi)e(Mo)t(de)150 5121
-y Ft(While)32 b(the)g(Readline)g(library)f(do)s(es)g(not)h(ha)m(v)m(e)h
-(a)f(full)f(set)h(of)g Fs(vi)f Ft(editing)h(functions,)f(it)h(do)s(es)g
-(con)m(tain)150 5230 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f
-(the)g(line.)52 b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)
-m(es)i(as)f(sp)s(eci\014ed)f(in)150 5340 y(the)e Fl(posix)e
-Ft(1003.2)k(standard.)p eop end
-%%Page: 115 121
-TeXDict begin 115 120 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(115)275 299 y(In)35
-b(order)g(to)i(switc)m(h)f(in)m(teractiv)m(ely)j(b)s(et)m(w)m(een)d
-Fs(emacs)f Ft(and)g Fs(vi)g Ft(editing)h(mo)s(des,)h(use)f(the)g(`)p
-Fs(set)30 b(-o)150 408 y(emacs)p Ft(')43 b(and)h(`)p
-Fs(set)30 b(-o)f(vi)p Ft(')44 b(commands)g(\(see)i(Section)f(4.3.1)h
-([The)e(Set)h(Builtin],)j(page)e(51\).)83 b(The)150 518
-y(Readline)31 b(default)g(is)f Fs(emacs)f Ft(mo)s(de.)275
-651 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f
+5340 y(curren)m(t)30 b(line)h(from)f(the)g(history)h(for)f(editing.)41
+b(An)m(y)31 b(argumen)m(t)f(is)h(ignored.)p eop end
+%%Page: 117 123
+TeXDict begin 117 122 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(117)150 299 y Fs
+(edit-and-execute-command)24 b(\(C-xC-e\))630 408 y Ft(In)m(v)m(ok)m(e)
+34 b(an)f(editor)g(on)g(the)g(curren)m(t)f(command)h(line,)h(and)e
+(execute)i(the)f(result)g(as)g(shell)630 518 y(commands.)81
+b(Bash)44 b(attempts)h(to)g(in)m(v)m(ok)m(e)h Fs($VISUAL)p
+Ft(,)f Fs($EDITOR)p Ft(,)h(and)d Fs(emacs)g Ft(as)h(the)630
+628 y(editor,)31 b(in)f(that)h(order.)150 864 y Fr(8.5)68
+b(Readline)47 b(vi)e(Mo)t(de)150 1024 y Ft(While)32 b(the)g(Readline)g
+(library)f(do)s(es)g(not)h(ha)m(v)m(e)h(a)f(full)f(set)h(of)g
+Fs(vi)f Ft(editing)h(functions,)f(it)h(do)s(es)g(con)m(tain)150
+1133 y(enough)i(to)h(allo)m(w)g(simple)f(editing)h(of)f(the)g(line.)52
+b(The)34 b(Readline)g Fs(vi)g Ft(mo)s(de)f(b)s(eha)m(v)m(es)i(as)f(sp)s
+(eci\014ed)f(in)150 1243 y(the)e Fl(posix)e Ft(standard.)275
+1380 y(In)35 b(order)g(to)i(switc)m(h)f(in)m(teractiv)m(ely)j(b)s(et)m
+(w)m(een)d Fs(emacs)f Ft(and)g Fs(vi)g Ft(editing)h(mo)s(des,)h(use)f
+(the)g(`)p Fs(set)30 b(-o)150 1490 y(emacs)p Ft(')43
+b(and)h(`)p Fs(set)30 b(-o)f(vi)p Ft(')44 b(commands)g(\(see)i(Section)
+f(4.3.1)h([The)e(Set)h(Builtin],)j(page)e(54\).)83 b(The)150
+1599 y(Readline)31 b(default)g(is)f Fs(emacs)f Ft(mo)s(de.)275
+1737 y(When)g(y)m(ou)i(en)m(ter)f(a)h(line)f(in)g Fs(vi)f
Ft(mo)s(de,)h(y)m(ou)h(are)f(already)h(placed)f(in)g(`insertion')g(mo)s
-(de,)g(as)h(if)f(y)m(ou)150 760 y(had)f(t)m(yp)s(ed)g(an)g(`)p
+(de,)g(as)h(if)f(y)m(ou)150 1846 y(had)f(t)m(yp)s(ed)g(an)g(`)p
Fs(i)p Ft('.)41 b(Pressing)29 b Fs(ESC)f Ft(switc)m(hes)i(y)m(ou)g(in)m
(to)h(`command')e(mo)s(de,)h(where)e(y)m(ou)i(can)g(edit)g(the)150
-870 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
+1956 y(text)35 b(of)f(the)g(line)g(with)f(the)h(standard)f
Fs(vi)g Ft(mo)m(v)m(emen)m(t)j(k)m(eys,)g(mo)m(v)m(e)f(to)f(previous)g
-(history)f(lines)h(with)150 979 y(`)p Fs(k)p Ft(')d(and)e(subsequen)m
+(history)f(lines)h(with)150 2066 y(`)p Fs(k)p Ft(')d(and)e(subsequen)m
(t)h(lines)h(with)f(`)p Fs(j)p Ft(',)g(and)g(so)h(forth.)150
-1208 y Fr(8.6)68 b(Programmable)47 b(Completion)150 1367
+2302 y Fr(8.6)68 b(Programmable)47 b(Completion)150 2462
y Ft(When)25 b(w)m(ord)g(completion)i(is)f(attempted)g(for)g(an)f
(argumen)m(t)h(to)g(a)g(command)f(for)h(whic)m(h)f(a)h(completion)150
-1477 y(sp)s(eci\014cation)40 b(\(a)h Fq(compsp)s(ec)6
+2571 y(sp)s(eci\014cation)40 b(\(a)h Fq(compsp)s(ec)6
b Ft(\))39 b(has)h(b)s(een)f(de\014ned)f(using)h(the)h
Fs(complete)d Ft(builtin)j(\(see)g(Section)h(8.7)150
-1586 y([Programmable)h(Completion)f(Builtins],)k(page)d(117\),)j(the)c
-(programmable)g(completion)i(facilities)150 1696 y(are)31
-b(in)m(v)m(ok)m(ed.)275 1828 y(First,)23 b(the)e(command)g(name)g(is)h
+2681 y([Programmable)h(Completion)f(Builtins],)k(page)d(119\),)j(the)c
+(programmable)g(completion)i(facilities)150 2790 y(are)31
+b(in)m(v)m(ok)m(ed.)275 2928 y(First,)23 b(the)e(command)g(name)g(is)h
(iden)m(ti\014ed.)37 b(If)21 b(a)g(compsp)s(ec)g(has)g(b)s(een)f
-(de\014ned)g(for)h(that)h(command,)150 1938 y(the)44
+(de\014ned)g(for)h(that)h(command,)150 3037 y(the)44
b(compsp)s(ec)g(is)g(used)f(to)h(generate)i(the)e(list)g(of)g(p)s
(ossible)g(completions)h(for)e(the)h(w)m(ord.)81 b(If)44
-b(the)150 2048 y(command)36 b(w)m(ord)g(is)g(the)g(empt)m(y)h(string)f
+b(the)150 3147 y(command)36 b(w)m(ord)g(is)g(the)g(empt)m(y)h(string)f
(\(completion)i(attempted)f(at)g(the)g(b)s(eginning)e(of)h(an)h(empt)m
-(y)150 2157 y(line\),)28 b(an)m(y)e(compsp)s(ec)f(de\014ned)g(with)g
+(y)150 3256 y(line\),)28 b(an)m(y)e(compsp)s(ec)f(de\014ned)g(with)g
(the)h(`)p Fs(-E)p Ft(')f(option)i(to)f Fs(complete)e
Ft(is)h(used.)39 b(If)25 b(the)h(command)f(w)m(ord)150
-2267 y(is)i(a)h(full)e(pathname,)i(a)g(compsp)s(ec)e(for)h(the)g(full)g
+3366 y(is)i(a)h(full)e(pathname,)i(a)g(compsp)s(ec)e(for)h(the)g(full)g
(pathname)g(is)g(searc)m(hed)h(for)f(\014rst.)39 b(If)26
-b(no)h(compsp)s(ec)g(is)150 2376 y(found)22 b(for)g(the)h(full)g
+b(no)h(compsp)s(ec)g(is)150 3476 y(found)22 b(for)g(the)h(full)g
(pathname,)h(an)f(attempt)h(is)f(made)g(to)g(\014nd)f(a)h(compsp)s(ec)f
-(for)h(the)g(p)s(ortion)f(follo)m(wing)150 2486 y(the)34
+(for)h(the)g(p)s(ortion)f(follo)m(wing)150 3585 y(the)34
b(\014nal)g(slash.)53 b(If)34 b(those)g(searc)m(hes)i(do)e(not)g
(result)h(in)f(a)g(compsp)s(ec,)h(an)m(y)g(compsp)s(ec)f(de\014ned)f
-(with)150 2595 y(the)e(`)p Fs(-D)p Ft(')f(option)h(to)g
+(with)150 3695 y(the)e(`)p Fs(-D)p Ft(')f(option)h(to)g
Fs(complete)d Ft(is)i(used)g(as)g(the)h(default.)275
-2728 y(Once)j(a)g(compsp)s(ec)g(has)g(b)s(een)f(found,)h(it)h(is)f
+3832 y(Once)j(a)g(compsp)s(ec)g(has)g(b)s(een)f(found,)h(it)h(is)f
(used)f(to)i(generate)h(the)e(list)h(of)f(matc)m(hing)h(w)m(ords.)51
-b(If)150 2838 y(a)37 b(compsp)s(ec)f(is)g(not)h(found,)f(the)h(default)
+b(If)150 3942 y(a)37 b(compsp)s(ec)f(is)g(not)h(found,)f(the)h(default)
f(Bash)h(completion)g(describ)s(ed)e(ab)s(o)m(v)m(e)j(\(see)f(Section)g
-(8.4.6)150 2947 y([Commands)30 b(F)-8 b(or)31 b(Completion],)g(page)g
-(110\))h(is)f(p)s(erformed.)275 3080 y(First,)g(the)g(actions)g(sp)s
+(8.4.6)150 4051 y([Commands)30 b(F)-8 b(or)31 b(Completion],)g(page)g
+(112\))h(is)f(p)s(erformed.)275 4189 y(First,)g(the)g(actions)g(sp)s
(eci\014ed)f(b)m(y)h(the)f(compsp)s(ec)h(are)g(used.)40
b(Only)30 b(matc)m(hes)i(whic)m(h)e(are)h(pre\014xed)150
-3189 y(b)m(y)25 b(the)h(w)m(ord)f(b)s(eing)f(completed)j(are)e
+4298 y(b)m(y)25 b(the)h(w)m(ord)f(b)s(eing)f(completed)j(are)e
(returned.)38 b(When)25 b(the)h(`)p Fs(-f)p Ft(')f(or)g(`)p
Fs(-d)p Ft(')g(option)h(is)f(used)g(for)g(\014lename)150
-3299 y(or)30 b(directory)h(name)f(completion,)i(the)e(shell)h(v)-5
+4408 y(or)30 b(directory)h(name)f(completion,)i(the)e(shell)h(v)-5
b(ariable)31 b Fs(FIGNORE)d Ft(is)i(used)f(to)i(\014lter)g(the)f(matc)m
-(hes.)42 b(See)150 3408 y(Section)31 b(5.2)h([Bash)e(V)-8
-b(ariables],)33 b(page)e(61,)g(for)f(a)h(description)g(of)f
-Fs(FIGNORE)p Ft(.)275 3541 y(An)m(y)f(completions)h(sp)s(eci\014ed)f(b)
+(hes.)42 b(See)150 4517 y(Section)31 b(5.2)h([Bash)e(V)-8
+b(ariables],)33 b(page)e(63,)g(for)f(a)h(description)g(of)f
+Fs(FIGNORE)p Ft(.)275 4655 y(An)m(y)f(completions)h(sp)s(eci\014ed)f(b)
m(y)g(a)h(\014lename)f(expansion)h(pattern)f(to)h(the)g(`)p
-Fs(-G)p Ft(')f(option)h(are)f(gener-)150 3650 y(ated)h(next.)40
+Fs(-G)p Ft(')f(option)h(are)f(gener-)150 4764 y(ated)h(next.)40
b(The)29 b(w)m(ords)g(generated)h(b)m(y)f(the)h(pattern)f(need)g(not)g
(matc)m(h)i(the)e(w)m(ord)g(b)s(eing)g(completed.)150
-3760 y(The)42 b Fs(GLOBIGNORE)d Ft(shell)k(v)-5 b(ariable)43
+4874 y(The)42 b Fs(GLOBIGNORE)d Ft(shell)k(v)-5 b(ariable)43
b(is)f(not)h(used)e(to)i(\014lter)f(the)h(matc)m(hes,)j(but)c(the)g
-Fs(FIGNORE)f Ft(shell)150 3870 y(v)-5 b(ariable)31 b(is)g(used.)275
-4002 y(Next,)k(the)g(string)e(sp)s(eci\014ed)h(as)g(the)g(argumen)m(t)g
+Fs(FIGNORE)f Ft(shell)150 4983 y(v)-5 b(ariable)31 b(is)g(used.)275
+5121 y(Next,)k(the)g(string)e(sp)s(eci\014ed)h(as)g(the)g(argumen)m(t)g
(to)h(the)f(`)p Fs(-W)p Ft(')g(option)g(is)g(considered.)52
-b(The)33 b(string)150 4112 y(is)g(\014rst)e(split)i(using)f(the)h(c)m
+b(The)33 b(string)150 5230 y(is)g(\014rst)e(split)i(using)f(the)h(c)m
(haracters)h(in)e(the)h Fs(IFS)e Ft(sp)s(ecial)j(v)-5
b(ariable)33 b(as)g(delimiters.)48 b(Shell)32 b(quoting)h(is)150
-4221 y(honored.)56 b(Eac)m(h)37 b(w)m(ord)e(is)h(then)f(expanded)g
-(using)h(brace)g(expansion,)h(tilde)f(expansion,)h(parameter)150
-4331 y(and)44 b(v)-5 b(ariable)46 b(expansion,)j(command)44
-b(substitution,)49 b(and)44 b(arithmetic)i(expansion,)j(as)c(describ)s
-(ed)150 4440 y(ab)s(o)m(v)m(e)38 b(\(see)f(Section)h(3.5)g([Shell)e
-(Expansions],)i(page)f(17\).)61 b(The)36 b(results)h(are)g(split)f
-(using)h(the)f(rules)150 4550 y(describ)s(ed)29 b(ab)s(o)m(v)m(e)i
-(\(see)f(Section)h(3.5.7)h([W)-8 b(ord)30 b(Splitting],)h(page)f(23\).)
-42 b(The)30 b(results)f(of)h(the)g(expansion)150 4660
-y(are)f(pre\014x-matc)m(hed)h(against)g(the)f(w)m(ord)g(b)s(eing)f
-(completed,)j(and)d(the)i(matc)m(hing)g(w)m(ords)e(b)s(ecome)i(the)150
-4769 y(p)s(ossible)g(completions.)275 4902 y(After)f(these)g(matc)m
-(hes)i(ha)m(v)m(e)f(b)s(een)f(generated,)h(an)m(y)g(shell)f(function)g
-(or)g(command)g(sp)s(eci\014ed)f(with)150 5011 y(the)i(`)p
+5340 y(honored.)56 b(Eac)m(h)37 b(w)m(ord)e(is)h(then)f(expanded)g
+(using)h(brace)g(expansion,)h(tilde)f(expansion,)h(parameter)p
+eop end
+%%Page: 118 124
+TeXDict begin 118 123 bop 150 -116 a Ft(118)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y(and)44 b(v)-5 b(ariable)46
+b(expansion,)j(command)44 b(substitution,)49 b(and)44
+b(arithmetic)i(expansion,)j(as)c(describ)s(ed)150 408
+y(ab)s(o)m(v)m(e)38 b(\(see)f(Section)h(3.5)g([Shell)e(Expansions],)i
+(page)f(19\).)61 b(The)36 b(results)h(are)g(split)f(using)h(the)f
+(rules)150 518 y(describ)s(ed)29 b(ab)s(o)m(v)m(e)i(\(see)f(Section)h
+(3.5.7)h([W)-8 b(ord)30 b(Splitting],)h(page)f(25\).)42
+b(The)30 b(results)f(of)h(the)g(expansion)150 628 y(are)f
+(pre\014x-matc)m(hed)h(against)g(the)f(w)m(ord)g(b)s(eing)f(completed,)
+j(and)d(the)i(matc)m(hing)g(w)m(ords)e(b)s(ecome)i(the)150
+737 y(p)s(ossible)g(completions.)275 888 y(After)f(these)g(matc)m(hes)i
+(ha)m(v)m(e)f(b)s(een)f(generated,)h(an)m(y)g(shell)f(function)g(or)g
+(command)g(sp)s(eci\014ed)f(with)150 998 y(the)i(`)p
Fs(-F)p Ft(')g(and)f(`)p Fs(-C)p Ft(')h(options)g(is)g(in)m(v)m(ok)m
(ed.)41 b(When)30 b(the)g(command)g(or)f(function)h(is)g(in)m(v)m(ok)m
-(ed,)h(the)f Fs(COMP_)150 5121 y(LINE)p Ft(,)42 b Fs(COMP_POINT)p
+(ed,)h(the)f Fs(COMP_)150 1107 y(LINE)p Ft(,)42 b Fs(COMP_POINT)p
Ft(,)d Fs(COMP_KEY)p Ft(,)i(and)e Fs(COMP_TYPE)f Ft(v)-5
b(ariables)41 b(are)f(assigned)g(v)-5 b(alues)41 b(as)f(describ)s(ed)
-150 5230 y(ab)s(o)m(v)m(e)k(\(see)g(Section)f(5.2)h([Bash)f(V)-8
-b(ariables],)48 b(page)c(61\).)79 b(If)42 b(a)i(shell)f(function)f(is)h
-(b)s(eing)f(in)m(v)m(ok)m(ed,)150 5340 y(the)37 b Fs(COMP_WORDS)d
+150 1217 y(ab)s(o)m(v)m(e)k(\(see)g(Section)f(5.2)h([Bash)f(V)-8
+b(ariables],)48 b(page)c(63\).)79 b(If)42 b(a)i(shell)f(function)f(is)h
+(b)s(eing)f(in)m(v)m(ok)m(ed,)150 1326 y(the)37 b Fs(COMP_WORDS)d
Ft(and)i Fs(COMP_CWORD)e Ft(v)-5 b(ariables)38 b(are)f(also)h(set.)60
-b(When)37 b(the)g(function)f(or)h(command)p eop end
-%%Page: 116 122
-TeXDict begin 116 121 bop 150 -116 a Ft(116)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y(is)42 b(in)m(v)m(ok)m(ed,)k(the)41
-b(\014rst)g(argumen)m(t)h(is)g(the)g(name)f(of)h(the)g(command)f(whose)
-h(argumen)m(ts)f(are)h(b)s(eing)150 408 y(completed,)d(the)d(second)g
-(argumen)m(t)h(is)f(the)g(w)m(ord)g(b)s(eing)g(completed,)i(and)e(the)g
-(third)f(argumen)m(t)i(is)150 518 y(the)28 b(w)m(ord)g(preceding)h(the)
-f(w)m(ord)g(b)s(eing)g(completed)h(on)f(the)h(curren)m(t)f(command)g
-(line.)40 b(No)29 b(\014ltering)g(of)150 628 y(the)i(generated)h
-(completions)h(against)f(the)f(w)m(ord)g(b)s(eing)g(completed)h(is)f(p)
-s(erformed;)f(the)h(function)g(or)150 737 y(command)f(has)g(complete)i
-(freedom)e(in)g(generating)i(the)f(matc)m(hes.)275 871
-y(An)m(y)g(function)h(sp)s(eci\014ed)f(with)g(`)p Fs(-F)p
-Ft(')h(is)g(in)m(v)m(ok)m(ed)h(\014rst.)44 b(The)31 b(function)h(ma)m
-(y)g(use)g(an)m(y)g(of)g(the)g(shell)150 981 y(facilities,)50
-b(including)44 b(the)h Fs(compgen)d Ft(and)i Fs(compopt)e
-Ft(builtins)i(describ)s(ed)f(b)s(elo)m(w)h(\(see)i(Section)f(8.7)150
-1090 y([Programmable)31 b(Completion)h(Builtins],)f(page)h(117\),)g(to)
-g(generate)g(the)f(matc)m(hes.)42 b(It)31 b(m)m(ust)g(put)f(the)150
-1200 y(p)s(ossible)g(completions)h(in)f(the)h Fs(COMPREPLY)d
-Ft(arra)m(y)j(v)-5 b(ariable.)275 1334 y(Next,)23 b(an)m(y)e(command)f
-(sp)s(eci\014ed)g(with)g(the)h(`)p Fs(-C)p Ft(')f(option)h(is)g(in)m(v)
-m(ok)m(ed)h(in)e(an)g(en)m(vironmen)m(t)h(equiv)-5 b(alen)m(t)150
-1443 y(to)26 b(command)e(substitution.)39 b(It)25 b(should)f(prin)m(t)h
-(a)g(list)h(of)f(completions,)i(one)e(p)s(er)f(line,)j(to)f(the)f
-(standard)150 1553 y(output.)40 b(Bac)m(kslash)32 b(ma)m(y)f(b)s(e)f
-(used)g(to)h(escap)s(e)g(a)f(newline,)h(if)f(necessary)-8
-b(.)275 1687 y(After)42 b(all)g(of)g(the)g(p)s(ossible)g(completions)h
-(are)f(generated,)k(an)m(y)c(\014lter)g(sp)s(eci\014ed)f(with)h(the)g
-(`)p Fs(-X)p Ft(')150 1797 y(option)34 b(is)f(applied)g(to)h(the)f
-(list.)49 b(The)33 b(\014lter)g(is)g(a)h(pattern)f(as)g(used)g(for)g
-(pathname)g(expansion;)h(a)g(`)p Fs(&)p Ft(')150 1906
-y(in)39 b(the)g(pattern)g(is)g(replaced)g(with)g(the)g(text)h(of)f(the)
-g(w)m(ord)g(b)s(eing)f(completed.)68 b(A)39 b(literal)h(`)p
-Fs(&)p Ft(')f(ma)m(y)150 2016 y(b)s(e)e(escap)s(ed)h(with)g(a)h(bac)m
-(kslash;)k(the)38 b(bac)m(kslash)h(is)f(remo)m(v)m(ed)h(b)s(efore)e
-(attempting)j(a)e(matc)m(h.)65 b(An)m(y)150 2125 y(completion)35
-b(that)g(matc)m(hes)g(the)f(pattern)g(will)g(b)s(e)g(remo)m(v)m(ed)h
-(from)e(the)h(list.)53 b(A)34 b(leading)g(`)p Fs(!)p
-Ft(')h(negates)150 2235 y(the)c(pattern;)f(in)g(this)h(case)g(an)m(y)g
-(completion)g(not)g(matc)m(hing)h(the)e(pattern)h(will)f(b)s(e)g(remo)m
-(v)m(ed.)275 2369 y(Finally)-8 b(,)33 b(an)m(y)f(pre\014x)f(and)g
-(su\016x)g(sp)s(eci\014ed)g(with)h(the)g(`)p Fs(-P)p
-Ft(')f(and)g(`)p Fs(-S)p Ft(')h(options)g(are)g(added)f(to)i(eac)m(h)
-150 2478 y(mem)m(b)s(er)e(of)g(the)h(completion)h(list,)f(and)f(the)h
+b(When)37 b(the)g(function)f(or)h(command)150 1436 y(is)42
+b(in)m(v)m(ok)m(ed,)k(the)41 b(\014rst)g(argumen)m(t)h(is)g(the)g(name)
+f(of)h(the)g(command)f(whose)h(argumen)m(ts)f(are)h(b)s(eing)150
+1545 y(completed,)d(the)d(second)g(argumen)m(t)h(is)f(the)g(w)m(ord)g
+(b)s(eing)g(completed,)i(and)e(the)g(third)f(argumen)m(t)i(is)150
+1655 y(the)28 b(w)m(ord)g(preceding)h(the)f(w)m(ord)g(b)s(eing)g
+(completed)h(on)f(the)h(curren)m(t)f(command)g(line.)40
+b(No)29 b(\014ltering)g(of)150 1765 y(the)i(generated)h(completions)h
+(against)f(the)f(w)m(ord)g(b)s(eing)g(completed)h(is)f(p)s(erformed;)f
+(the)h(function)g(or)150 1874 y(command)f(has)g(complete)i(freedom)e
+(in)g(generating)i(the)f(matc)m(hes.)275 2025 y(An)m(y)g(function)h(sp)
+s(eci\014ed)f(with)g(`)p Fs(-F)p Ft(')h(is)g(in)m(v)m(ok)m(ed)h
+(\014rst.)44 b(The)31 b(function)h(ma)m(y)g(use)g(an)m(y)g(of)g(the)g
+(shell)150 2134 y(facilities,)50 b(including)44 b(the)h
+Fs(compgen)d Ft(and)i Fs(compopt)e Ft(builtins)i(describ)s(ed)f(b)s
+(elo)m(w)h(\(see)i(Section)f(8.7)150 2244 y([Programmable)31
+b(Completion)h(Builtins],)f(page)h(119\),)g(to)g(generate)g(the)f(matc)
+m(hes.)42 b(It)31 b(m)m(ust)g(put)f(the)150 2354 y(p)s(ossible)g
+(completions)h(in)f(the)h Fs(COMPREPLY)d Ft(arra)m(y)j(v)-5
+b(ariable.)275 2504 y(Next,)23 b(an)m(y)e(command)f(sp)s(eci\014ed)g
+(with)g(the)h(`)p Fs(-C)p Ft(')f(option)h(is)g(in)m(v)m(ok)m(ed)h(in)e
+(an)g(en)m(vironmen)m(t)h(equiv)-5 b(alen)m(t)150 2614
+y(to)26 b(command)e(substitution.)39 b(It)25 b(should)f(prin)m(t)h(a)g
+(list)h(of)f(completions,)i(one)e(p)s(er)f(line,)j(to)f(the)f(standard)
+150 2724 y(output.)40 b(Bac)m(kslash)32 b(ma)m(y)f(b)s(e)f(used)g(to)h
+(escap)s(e)g(a)f(newline,)h(if)f(necessary)-8 b(.)275
+2874 y(After)42 b(all)g(of)g(the)g(p)s(ossible)g(completions)h(are)f
+(generated,)k(an)m(y)c(\014lter)g(sp)s(eci\014ed)f(with)h(the)g(`)p
+Fs(-X)p Ft(')150 2984 y(option)34 b(is)f(applied)g(to)h(the)f(list.)49
+b(The)33 b(\014lter)g(is)g(a)h(pattern)f(as)g(used)g(for)g(pathname)g
+(expansion;)h(a)g(`)p Fs(&)p Ft(')150 3093 y(in)39 b(the)g(pattern)g
+(is)g(replaced)g(with)g(the)g(text)h(of)f(the)g(w)m(ord)g(b)s(eing)f
+(completed.)68 b(A)39 b(literal)h(`)p Fs(&)p Ft(')f(ma)m(y)150
+3203 y(b)s(e)e(escap)s(ed)h(with)g(a)h(bac)m(kslash;)k(the)38
+b(bac)m(kslash)h(is)f(remo)m(v)m(ed)h(b)s(efore)e(attempting)j(a)e
+(matc)m(h.)65 b(An)m(y)150 3313 y(completion)35 b(that)g(matc)m(hes)g
+(the)f(pattern)g(will)g(b)s(e)g(remo)m(v)m(ed)h(from)e(the)h(list.)53
+b(A)34 b(leading)g(`)p Fs(!)p Ft(')h(negates)150 3422
+y(the)c(pattern;)f(in)g(this)h(case)g(an)m(y)g(completion)g(not)g(matc)
+m(hing)h(the)e(pattern)h(will)f(b)s(e)g(remo)m(v)m(ed.)275
+3573 y(Finally)-8 b(,)33 b(an)m(y)f(pre\014x)f(and)g(su\016x)g(sp)s
+(eci\014ed)g(with)h(the)g(`)p Fs(-P)p Ft(')f(and)g(`)p
+Fs(-S)p Ft(')h(options)g(are)g(added)f(to)i(eac)m(h)150
+3682 y(mem)m(b)s(er)e(of)g(the)h(completion)h(list,)f(and)f(the)h
(result)f(is)h(returned)e(to)i(the)g(Readline)g(completion)h(co)s(de)
-150 2588 y(as)e(the)f(list)h(of)g(p)s(ossible)f(completions.)275
-2722 y(If)22 b(the)i(previously-applied)f(actions)i(do)e(not)h
+150 3792 y(as)e(the)f(list)h(of)g(p)s(ossible)f(completions.)275
+3943 y(If)22 b(the)i(previously-applied)f(actions)i(do)e(not)h
(generate)h(an)m(y)f(matc)m(hes,)i(and)d(the)g(`)p Fs(-o)30
-b(dirnames)p Ft(')22 b(op-)150 2832 y(tion)29 b(w)m(as)f(supplied)f(to)
+b(dirnames)p Ft(')22 b(op-)150 4052 y(tion)29 b(w)m(as)f(supplied)f(to)
i Fs(complete)d Ft(when)h(the)h(compsp)s(ec)g(w)m(as)g(de\014ned,)g
-(directory)g(name)h(completion)150 2941 y(is)h(attempted.)275
-3075 y(If)g(the)i(`)p Fs(-o)e(plusdirs)p Ft(')f(option)j(w)m(as)f
+(directory)g(name)h(completion)150 4162 y(is)h(attempted.)275
+4313 y(If)g(the)i(`)p Fs(-o)e(plusdirs)p Ft(')f(option)j(w)m(as)f
(supplied)f(to)i Fs(complete)e Ft(when)g(the)h(compsp)s(ec)g(w)m(as)h
-(de\014ned,)150 3185 y(directory)k(name)f(completion)i(is)e(attempted)h
+(de\014ned,)150 4422 y(directory)k(name)f(completion)i(is)e(attempted)h
(and)f(an)m(y)h(matc)m(hes)g(are)g(added)f(to)h(the)f(results)g(of)h
-(the)150 3294 y(other)31 b(actions.)275 3428 y(By)g(default,)i(if)e(a)h
+(the)150 4532 y(other)31 b(actions.)275 4682 y(By)g(default,)i(if)e(a)h
(compsp)s(ec)f(is)h(found,)f(whatev)m(er)h(it)g(generates)h(is)e
-(returned)g(to)h(the)g(completion)150 3538 y(co)s(de)21
+(returned)g(to)h(the)g(completion)150 4792 y(co)s(de)21
b(as)g(the)g(full)g(set)g(of)g(p)s(ossible)f(completions.)39
b(The)20 b(default)h(Bash)g(completions)h(are)g(not)f(attempted,)150
-3647 y(and)k(the)h(Readline)g(default)g(of)g(\014lename)g(completion)h
+4902 y(and)k(the)h(Readline)g(default)g(of)g(\014lename)g(completion)h
(is)f(disabled.)38 b(If)26 b(the)g(`)p Fs(-o)k(bashdefault)p
-Ft(')22 b(option)150 3757 y(w)m(as)i(supplied)e(to)j
+Ft(')22 b(option)150 5011 y(w)m(as)i(supplied)e(to)j
Fs(complete)c Ft(when)i(the)g(compsp)s(ec)h(w)m(as)g(de\014ned,)g(the)f
-(default)h(Bash)g(completions)h(are)150 3867 y(attempted)f(if)f(the)g
+(default)h(Bash)g(completions)h(are)150 5121 y(attempted)f(if)f(the)g
(compsp)s(ec)g(generates)i(no)e(matc)m(hes.)39 b(If)23
b(the)g(`)p Fs(-o)30 b(default)p Ft(')21 b(option)j(w)m(as)f(supplied)f
-(to)150 3976 y Fs(complete)j Ft(when)h(the)h(compsp)s(ec)f(w)m(as)i
+(to)150 5230 y Fs(complete)j Ft(when)h(the)h(compsp)s(ec)f(w)m(as)i
(de\014ned,)e(Readline's)i(default)f(completion)h(will)f(b)s(e)f(p)s
-(erformed)150 4086 y(if)k(the)h(compsp)s(ec)f(\(and,)g(if)h(attempted,)
-g(the)g(default)f(Bash)h(completions\))h(generate)g(no)e(matc)m(hes.)
-275 4220 y(When)20 b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g
-(name)f(completion)h(is)f(desired,)i(the)e(programmable)150
-4329 y(completion)31 b(functions)e(force)i(Readline)f(to)h(app)s(end)d
-(a)i(slash)g(to)g(completed)h(names)e(whic)m(h)h(are)g(sym-)150
-4439 y(b)s(olic)40 b(links)g(to)h(directories,)j(sub)5
-b(ject)40 b(to)h(the)f(v)-5 b(alue)41 b(of)f(the)g Fq(mark-directories)
-45 b Ft(Readline)c(v)-5 b(ariable,)150 4548 y(regardless)31
-b(of)f(the)h(setting)g(of)g(the)f Fq(mark-symlink)m(ed-directories)36
-b Ft(Readline)31 b(v)-5 b(ariable.)275 4682 y(There)25
-b(is)i(some)g(supp)s(ort)e(for)h(dynamically)h(mo)s(difying)f
-(completions.)40 b(This)26 b(is)g(most)h(useful)f(when)150
-4792 y(used)37 b(in)h(com)m(bination)h(with)e(a)i(default)f(completion)
-h(sp)s(eci\014ed)e(with)h(`)p Fs(-D)p Ft('.)63 b(It's)38
-b(p)s(ossible)f(for)h(shell)150 4902 y(functions)28 b(executed)h(as)f
-(completion)i(handlers)d(to)i(indicate)g(that)g(completion)g(should)e
-(b)s(e)h(retried)g(b)m(y)150 5011 y(returning)j(an)i(exit)g(status)f
-(of)h(124.)48 b(If)31 b(a)i(shell)f(function)g(returns)f(124,)k(and)c
-(c)m(hanges)j(the)e(compsp)s(ec)150 5121 y(asso)s(ciated)43
-b(with)e(the)g(command)g(on)g(whic)m(h)g(completion)i(is)e(b)s(eing)g
-(attempted)h(\(supplied)e(as)i(the)150 5230 y(\014rst)29
-b(argumen)m(t)h(when)e(the)i(function)f(is)g(executed\),)j
-(programmable)d(completion)i(restarts)f(from)f(the)150
-5340 y(b)s(eginning,)40 b(with)e(an)h(attempt)g(to)h(\014nd)d(a)i
-(compsp)s(ec)f(for)g(that)h(command.)65 b(This)38 b(allo)m(ws)i(a)f
-(set)g(of)p eop end
-%%Page: 117 123
-TeXDict begin 117 122 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(117)150 299 y(completions)33
-b(to)f(b)s(e)g(built)f(dynamically)i(as)f(completion)h(is)f(attempted,)
-h(rather)f(than)f(b)s(eing)g(loaded)150 408 y(all)g(at)g(once.)275
-564 y(F)-8 b(or)38 b(instance,)h(assuming)e(that)h(there)f(is)h(a)f
-(library)g(of)g(compsp)s(ecs,)i(eac)m(h)g(k)m(ept)e(in)g(a)h(\014le)f
-(corre-)150 673 y(sp)s(onding)g(to)j(the)f(name)f(of)h(the)g(command,)i
-(the)e(follo)m(wing)h(default)f(completion)h(function)e(w)m(ould)150
-783 y(load)31 b(completions)g(dynamically:)390 938 y
-Fs(_completion_loader\(\))390 1048 y({)390 1157 y(.)47
+(erformed)150 5340 y(if)k(the)h(compsp)s(ec)f(\(and,)g(if)h(attempted,)
+g(the)g(default)f(Bash)h(completions\))h(generate)g(no)e(matc)m(hes.)p
+eop end
+%%Page: 119 125
+TeXDict begin 119 124 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(119)275 299 y(When)20
+b(a)i(compsp)s(ec)e(indicates)i(that)g(directory)g(name)f(completion)h
+(is)f(desired,)i(the)e(programmable)150 408 y(completion)31
+b(functions)e(force)i(Readline)f(to)h(app)s(end)d(a)i(slash)g(to)g
+(completed)h(names)e(whic)m(h)h(are)g(sym-)150 518 y(b)s(olic)40
+b(links)g(to)h(directories,)j(sub)5 b(ject)40 b(to)h(the)f(v)-5
+b(alue)41 b(of)f(the)g Fq(mark-directories)45 b Ft(Readline)c(v)-5
+b(ariable,)150 628 y(regardless)31 b(of)f(the)h(setting)g(of)g(the)f
+Fq(mark-symlink)m(ed-directories)36 b Ft(Readline)31
+b(v)-5 b(ariable.)275 770 y(There)25 b(is)i(some)g(supp)s(ort)e(for)h
+(dynamically)h(mo)s(difying)f(completions.)40 b(This)26
+b(is)g(most)h(useful)f(when)150 880 y(used)37 b(in)h(com)m(bination)h
+(with)e(a)i(default)f(completion)h(sp)s(eci\014ed)e(with)h(`)p
+Fs(-D)p Ft('.)63 b(It's)38 b(p)s(ossible)f(for)h(shell)150
+989 y(functions)28 b(executed)h(as)f(completion)i(handlers)d(to)i
+(indicate)g(that)g(completion)g(should)e(b)s(e)h(retried)g(b)m(y)150
+1099 y(returning)j(an)i(exit)g(status)f(of)h(124.)48
+b(If)31 b(a)i(shell)f(function)g(returns)f(124,)k(and)c(c)m(hanges)j
+(the)e(compsp)s(ec)150 1209 y(asso)s(ciated)43 b(with)e(the)g(command)g
+(on)g(whic)m(h)g(completion)i(is)e(b)s(eing)g(attempted)h(\(supplied)e
+(as)i(the)150 1318 y(\014rst)29 b(argumen)m(t)h(when)e(the)i(function)f
+(is)g(executed\),)j(programmable)d(completion)i(restarts)f(from)f(the)
+150 1428 y(b)s(eginning,)e(with)g(an)h(attempt)g(to)g(\014nd)e(a)i(new)
+e(compsp)s(ec)i(for)f(that)h(command.)39 b(This)27 b(allo)m(ws)h(a)g
+(set)g(of)150 1537 y(completions)33 b(to)f(b)s(e)g(built)f(dynamically)
+i(as)f(completion)h(is)f(attempted,)h(rather)f(than)f(b)s(eing)g
+(loaded)150 1647 y(all)g(at)g(once.)275 1789 y(F)-8 b(or)38
+b(instance,)h(assuming)e(that)h(there)f(is)h(a)f(library)g(of)g(compsp)
+s(ecs,)i(eac)m(h)g(k)m(ept)e(in)g(a)h(\014le)f(corre-)150
+1899 y(sp)s(onding)g(to)j(the)f(name)f(of)h(the)g(command,)i(the)e
+(follo)m(wing)h(default)f(completion)h(function)e(w)m(ould)150
+2009 y(load)31 b(completions)g(dynamically:)390 2151
+y Fs(_completion_loader\(\))390 2261 y({)390 2370 y(.)47
b("/etc/bash_completion.d/$1)o(.sh")41 b(>/dev/null)k(2>&1)i(&&)g
-(return)f(124)390 1267 y(})390 1376 y(complete)g(-D)h(-F)g
-(_completion_loader)150 1640 y Fr(8.7)68 b(Programmable)47
-b(Completion)f(Builtins)150 1799 y Ft(Tw)m(o)27 b(builtin)g(commands)g
+(return)f(124)390 2480 y(})390 2589 y(complete)g(-D)h(-F)g
+(_completion_loader)150 2834 y Fr(8.7)68 b(Programmable)47
+b(Completion)f(Builtins)150 2993 y Ft(Tw)m(o)27 b(builtin)g(commands)g
(are)g(a)m(v)-5 b(ailable)29 b(to)f(manipulate)g(the)f(programmable)g
-(completion)h(facilities.)150 1990 y Fs(compgen)870 2134
+(completion)h(facilities.)150 3165 y Fs(compgen)870 3303
y(compgen)46 b([)p Fi(option)11 b Fs(])45 b([)p Fi(word)11
-b Fs(])630 2279 y Ft(Generate)27 b(p)s(ossible)e(completion)i(matc)m
+b Fs(])630 3442 y Ft(Generate)27 b(p)s(ossible)e(completion)i(matc)m
(hes)g(for)e Fq(w)m(ord)k Ft(according)e(to)f(the)g Fq(option)p
-Ft(s,)h(whic)m(h)630 2389 y(ma)m(y)h(b)s(e)f(an)m(y)h(option)g
+Ft(s,)h(whic)m(h)630 3552 y(ma)m(y)h(b)s(e)f(an)m(y)h(option)g
(accepted)h(b)m(y)e(the)h Fs(complete)d Ft(builtin)j(with)f(the)h
-(exception)g(of)g(`)p Fs(-p)p Ft(')630 2498 y(and)k(`)p
+(exception)g(of)g(`)p Fs(-p)p Ft(')630 3661 y(and)k(`)p
Fs(-r)p Ft(',)i(and)e(write)h(the)g(matc)m(hes)h(to)g(the)f(standard)f
(output.)48 b(When)33 b(using)f(the)h(`)p Fs(-F)p Ft(')630
-2608 y(or)28 b(`)p Fs(-C)p Ft(')g(options,)h(the)f(v)-5
+3771 y(or)28 b(`)p Fs(-C)p Ft(')g(options,)h(the)f(v)-5
b(arious)29 b(shell)f(v)-5 b(ariables)29 b(set)f(b)m(y)g(the)g
-(programmable)h(completion)630 2718 y(facilities,)k(while)d(a)m(v)-5
+(programmable)h(completion)630 3880 y(facilities,)k(while)d(a)m(v)-5
b(ailable,)33 b(will)e(not)g(ha)m(v)m(e)g(useful)f(v)-5
-b(alues.)630 2862 y(The)34 b(matc)m(hes)h(will)g(b)s(e)f(generated)h
+b(alues.)630 4019 y(The)34 b(matc)m(hes)h(will)g(b)s(e)f(generated)h
(in)f(the)h(same)g(w)m(a)m(y)g(as)g(if)f(the)h(programmable)f(com-)630
-2972 y(pletion)d(co)s(de)g(had)f(generated)i(them)e(directly)i(from)e
-(a)h(completion)h(sp)s(eci\014cation)f(with)630 3082
+4128 y(pletion)d(co)s(de)g(had)f(generated)i(them)e(directly)i(from)e
+(a)h(completion)h(sp)s(eci\014cation)f(with)630 4238
y(the)e(same)h(\015ags.)40 b(If)29 b Fq(w)m(ord)j Ft(is)d(sp)s
(eci\014ed,)g(only)g(those)h(completions)g(matc)m(hing)g
-Fq(w)m(ord)j Ft(will)630 3191 y(b)s(e)d(displa)m(y)m(ed.)630
-3336 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h(in)
+Fq(w)m(ord)j Ft(will)630 4348 y(b)s(e)d(displa)m(y)m(ed.)630
+4486 y(The)24 b(return)g(v)-5 b(alue)25 b(is)g(true)f(unless)g(an)h(in)
m(v)-5 b(alid)25 b(option)g(is)g(supplied,)f(or)h(no)g(matc)m(hes)g(w)m
-(ere)630 3446 y(generated.)150 3626 y Fs(complete)870
-3770 y(complete)46 b([-abcdefgjksuv])d([-o)k Fi(comp-option)11
+(ere)630 4596 y(generated.)150 4763 y Fs(complete)870
+4902 y(complete)46 b([-abcdefgjksuv])d([-o)k Fi(comp-option)11
b Fs(])44 b([-DE])i([-A)h Fi(action)11 b Fs(])46 b([-)870
-3880 y(G)h Fi(globpat)11 b Fs(])46 b([-W)g Fi(wordlist)11
-b Fs(])870 3990 y([-F)47 b Fi(function)11 b Fs(])45 b([-C)i
+5011 y(G)h Fi(globpat)11 b Fs(])46 b([-W)g Fi(wordlist)11
+b Fs(])870 5121 y([-F)47 b Fi(function)11 b Fs(])45 b([-C)i
Fi(command)11 b Fs(])45 b([-X)i Fi(filterpat)11 b Fs(])870
-4099 y([-P)47 b Fi(prefix)11 b Fs(])45 b([-S)i Fi(suffix)11
+5230 y([-P)47 b Fi(prefix)11 b Fs(])45 b([-S)i Fi(suffix)11
b Fs(])45 b Fi(name)58 b Fs([)p Fi(name)f Fs(...)o(])870
-4209 y(complete)46 b(-pr)g([-DE])h([)p Fi(name)57 b Fs(...)o(])630
-4354 y Ft(Sp)s(ecify)33 b(ho)m(w)h(argumen)m(ts)h(to)f(eac)m(h)i
-Fq(name)j Ft(should)33 b(b)s(e)g(completed.)53 b(If)33
-b(the)i(`)p Fs(-p)p Ft(')e(option)630 4463 y(is)d(supplied,)e(or)i(if)g
-(no)f(options)h(are)g(supplied,)f(existing)h(completion)h(sp)s
-(eci\014cations)g(are)630 4573 y(prin)m(ted)43 b(in)h(a)g(w)m(a)m(y)h
+5340 y(complete)46 b(-pr)g([-DE])h([)p Fi(name)57 b Fs(...)o(])p
+eop end
+%%Page: 120 126
+TeXDict begin 120 125 bop 150 -116 a Ft(120)2527 b(Bash)31
+b(Reference)g(Man)m(ual)630 299 y(Sp)s(ecify)i(ho)m(w)h(argumen)m(ts)h
+(to)f(eac)m(h)i Fq(name)j Ft(should)33 b(b)s(e)g(completed.)53
+b(If)33 b(the)i(`)p Fs(-p)p Ft(')e(option)630 408 y(is)d(supplied,)e
+(or)i(if)g(no)f(options)h(are)g(supplied,)f(existing)h(completion)h(sp)
+s(eci\014cations)g(are)630 518 y(prin)m(ted)43 b(in)h(a)g(w)m(a)m(y)h
(that)f(allo)m(ws)h(them)f(to)g(b)s(e)g(reused)f(as)h(input.)80
-b(The)43 b(`)p Fs(-r)p Ft(')g(option)630 4682 y(remo)m(v)m(es)29
+b(The)43 b(`)p Fs(-r)p Ft(')g(option)630 628 y(remo)m(v)m(es)29
b(a)e(completion)i(sp)s(eci\014cation)e(for)g(eac)m(h)i
Fq(name)5 b Ft(,)28 b(or,)g(if)f(no)g Fq(name)5 b Ft(s)27
-b(are)h(supplied,)630 4792 y(all)46 b(completion)h(sp)s
-(eci\014cations.)87 b(The)45 b(`)p Fs(-D)p Ft(')h(option)g(indicates)g
-(that)g(the)g(remaining)630 4902 y(options)35 b(and)f(actions)h(should)
-f(apply)g(to)h(the)g(\\default")g(command)f(completion;)k(that)630
-5011 y(is,)25 b(completion)g(attempted)g(on)e(a)h(command)f(for)g(whic)
-m(h)h(no)f(completion)i(has)e(previously)630 5121 y(b)s(een)28
+b(are)h(supplied,)630 737 y(all)46 b(completion)h(sp)s(eci\014cations.)
+87 b(The)45 b(`)p Fs(-D)p Ft(')h(option)g(indicates)g(that)g(the)g
+(remaining)630 847 y(options)35 b(and)f(actions)h(should)f(apply)g(to)h
+(the)g(\\default")g(command)f(completion;)k(that)630
+956 y(is,)25 b(completion)g(attempted)g(on)e(a)h(command)f(for)g(whic)m
+(h)h(no)f(completion)i(has)e(previously)630 1066 y(b)s(een)28
b(de\014ned.)39 b(The)27 b(`)p Fs(-E)p Ft(')i(option)g(indicates)g
(that)g(the)g(remaining)f(options)h(and)f(actions)630
-5230 y(should)i(apply)i(to)g(\\empt)m(y")g(command)g(completion;)h
-(that)f(is,)g(completion)h(attempted)630 5340 y(on)d(a)h(blank)f(line.)
-p eop end
-%%Page: 118 124
-TeXDict begin 118 123 bop 150 -116 a Ft(118)2527 b(Bash)31
-b(Reference)g(Man)m(ual)630 299 y(The)e(pro)s(cess)g(of)h(applying)g
-(these)g(completion)g(sp)s(eci\014cations)h(when)d(w)m(ord)i
-(completion)630 408 y(is)35 b(attempted)h(is)f(describ)s(ed)f(ab)s(o)m
-(v)m(e)j(\(see)f(Section)g(8.6)g([Programmable)g(Completion],)630
-518 y(page)31 b(115\).)42 b(The)30 b(`)p Fs(-D)p Ft(')h(option)f(tak)m
-(es)i(precedence)f(o)m(v)m(er)h(`)p Fs(-E)p Ft('.)630
-656 y(Other)41 b(options,)46 b(if)41 b(sp)s(eci\014ed,)j(ha)m(v)m(e)f
-(the)f(follo)m(wing)i(meanings.)75 b(The)41 b(argumen)m(ts)h(to)630
-766 y(the)e(`)p Fs(-G)p Ft(',)j(`)p Fs(-W)p Ft(',)g(and)d(`)p
+1176 y(should)i(apply)i(to)g(\\empt)m(y")g(command)g(completion;)h
+(that)f(is,)g(completion)h(attempted)630 1285 y(on)d(a)h(blank)f(line.)
+630 1419 y(The)f(pro)s(cess)g(of)h(applying)g(these)g(completion)g(sp)s
+(eci\014cations)h(when)d(w)m(ord)i(completion)630 1529
+y(is)35 b(attempted)h(is)f(describ)s(ed)f(ab)s(o)m(v)m(e)j(\(see)f
+(Section)g(8.6)g([Programmable)g(Completion],)630 1638
+y(page)31 b(117\).)42 b(The)30 b(`)p Fs(-D)p Ft(')h(option)f(tak)m(es)i
+(precedence)f(o)m(v)m(er)h(`)p Fs(-E)p Ft('.)630 1772
+y(Other)41 b(options,)46 b(if)41 b(sp)s(eci\014ed,)j(ha)m(v)m(e)f(the)f
+(follo)m(wing)i(meanings.)75 b(The)41 b(argumen)m(ts)h(to)630
+1882 y(the)e(`)p Fs(-G)p Ft(',)j(`)p Fs(-W)p Ft(',)g(and)d(`)p
Fs(-X)p Ft(')g(options)g(\(and,)j(if)d(necessary)-8 b(,)44
b(the)c(`)p Fs(-P)p Ft(')h(and)e(`)p Fs(-S)p Ft(')h(options\))630
-875 y(should)30 b(b)s(e)h(quoted)g(to)h(protect)g(them)f(from)g
+1991 y(should)30 b(b)s(e)h(quoted)g(to)h(protect)g(them)f(from)g
(expansion)g(b)s(efore)g(the)g Fs(complete)e Ft(builtin)630
-985 y(is)h(in)m(v)m(ok)m(ed.)630 1151 y Fs(-o)g Fi(comp-option)1110
-1261 y Ft(The)c Fq(comp-option)i Ft(con)m(trols)g(sev)m(eral)h(asp)s
+2101 y(is)h(in)m(v)m(ok)m(ed.)630 2259 y Fs(-o)g Fi(comp-option)1110
+2369 y Ft(The)c Fq(comp-option)i Ft(con)m(trols)g(sev)m(eral)h(asp)s
(ects)e(of)g(the)g(compsp)s(ec's)g(b)s(eha)m(v-)1110
-1370 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h(generation)h(of)e
+2478 y(ior)g(b)s(ey)m(ond)f(the)g(simple)h(generation)h(of)e
(completions.)41 b Fq(comp-option)27 b Ft(ma)m(y)1110
-1480 y(b)s(e)j(one)g(of:)1110 1646 y Fs(bashdefault)1590
-1756 y Ft(P)m(erform)d(the)h(rest)f(of)h(the)g(default)f(Bash)h
-(completions)g(if)g(the)1590 1866 y(compsp)s(ec)i(generates)i(no)e
-(matc)m(hes.)1110 2032 y Fs(default)144 b Ft(Use)22 b(Readline's)g
+2588 y(b)s(e)j(one)g(of:)1110 2746 y Fs(bashdefault)1590
+2856 y Ft(P)m(erform)d(the)h(rest)f(of)h(the)g(default)f(Bash)h
+(completions)g(if)g(the)1590 2966 y(compsp)s(ec)i(generates)i(no)e
+(matc)m(hes.)1110 3124 y Fs(default)144 b Ft(Use)22 b(Readline's)g
(default)g(\014lename)g(completion)g(if)g(the)g(comp-)1590
-2142 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
-2308 y Fs(dirnames)96 b Ft(P)m(erform)46 b(directory)g(name)h
-(completion)g(if)f(the)g(compsp)s(ec)1590 2418 y(generates)32
-b(no)e(matc)m(hes.)1110 2584 y Fs(filenames)1590 2694
+3233 y(sp)s(ec)30 b(generates)i(no)e(matc)m(hes.)1110
+3392 y Fs(dirnames)96 b Ft(P)m(erform)46 b(directory)g(name)h
+(completion)g(if)f(the)g(compsp)s(ec)1590 3501 y(generates)32
+b(no)e(matc)m(hes.)1110 3660 y Fs(filenames)1590 3769
y Ft(T)-8 b(ell)40 b(Readline)f(that)h(the)f(compsp)s(ec)f(generates)j
-(\014lenames,)1590 2803 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h
+(\014lenames,)1590 3879 y(so)29 b(it)h(can)f(p)s(erform)f(an)m(y)h
(\014lename-sp)s(eci\014c)h(pro)s(cessing)e(\(lik)m(e)1590
-2913 y(adding)d(a)h(slash)f(to)h(directory)g(names)f(quoting)h(sp)s
-(ecial)g(c)m(har-)1590 3022 y(acters,)39 b(or)d(suppressing)f(trailing)
-i(spaces\).)59 b(This)35 b(option)i(is)1590 3132 y(in)m(tended)30
+3988 y(adding)d(a)h(slash)f(to)h(directory)g(names)f(quoting)h(sp)s
+(ecial)g(c)m(har-)1590 4098 y(acters,)39 b(or)d(suppressing)f(trailing)
+i(spaces\).)59 b(This)35 b(option)i(is)1590 4208 y(in)m(tended)30
b(to)g(b)s(e)g(used)f(with)g(shell)i(functions)e(sp)s(eci\014ed)g(with)
-1590 3242 y(`)p Fs(-F)p Ft('.)1110 3408 y Fs(nospace)144
+1590 4317 y(`)p Fs(-F)p Ft('.)1110 4475 y Fs(nospace)144
b Ft(T)-8 b(ell)40 b(Readline)g(not)g(to)g(app)s(end)d(a)j(space)g
-(\(the)f(default\))h(to)1590 3518 y(w)m(ords)30 b(completed)h(at)g(the)
-g(end)f(of)g(the)h(line.)1110 3684 y Fs(plusdirs)96 b
+(\(the)f(default\))h(to)1590 4585 y(w)m(ords)30 b(completed)h(at)g(the)
+g(end)f(of)g(the)h(line.)1110 4743 y Fs(plusdirs)96 b
Ft(After)30 b(an)m(y)h(matc)m(hes)g(de\014ned)d(b)m(y)i(the)g(compsp)s
-(ec)g(are)g(gener-)1590 3794 y(ated,)g(directory)f(name)g(completion)i
-(is)d(attempted)i(and)f(an)m(y)1590 3903 y(matc)m(hes)j(are)e(added)g
+(ec)g(are)g(gener-)1590 4853 y(ated,)g(directory)f(name)g(completion)i
+(is)d(attempted)i(and)f(an)m(y)1590 4963 y(matc)m(hes)j(are)e(added)g
(to)h(the)g(results)f(of)g(the)h(other)g(actions.)630
-4070 y Fs(-A)f Fi(action)1110 4179 y Ft(The)25 b Fq(action)h
+5121 y Fs(-A)f Fi(action)1110 5230 y Ft(The)25 b Fq(action)h
Ft(ma)m(y)g(b)s(e)e(one)h(of)h(the)f(follo)m(wing)i(to)e(generate)i(a)e
-(list)h(of)f(p)s(ossible)1110 4289 y(completions:)1110
-4455 y Fs(alias)240 b Ft(Alias)31 b(names.)41 b(Ma)m(y)31
-b(also)h(b)s(e)e(sp)s(eci\014ed)f(as)i(`)p Fs(-a)p Ft('.)1110
-4622 y Fs(arrayvar)96 b Ft(Arra)m(y)31 b(v)-5 b(ariable)31
-b(names.)1110 4788 y Fs(binding)144 b Ft(Readline)30
-b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h([Bindable)1590
-4898 y(Readline)h(Commands],)f(page)h(106\).)1110 5064
-y Fs(builtin)144 b Ft(Names)21 b(of)g(shell)f(builtin)h(commands.)37
-b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 5174
-y(as)31 b(`)p Fs(-b)p Ft('.)1110 5340 y Fs(command)144
+(list)h(of)f(p)s(ossible)1110 5340 y(completions:)p eop
+end
+%%Page: 121 127
+TeXDict begin 121 126 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(121)1110 299 y Fs(alias)240
+b Ft(Alias)31 b(names.)41 b(Ma)m(y)31 b(also)h(b)s(e)e(sp)s(eci\014ed)f
+(as)i(`)p Fs(-a)p Ft('.)1110 461 y Fs(arrayvar)96 b Ft(Arra)m(y)31
+b(v)-5 b(ariable)31 b(names.)1110 623 y Fs(binding)144
+b Ft(Readline)30 b(k)m(ey)f(binding)f(names)h(\(see)h(Section)f(8.4)h
+([Bindable)1590 732 y(Readline)h(Commands],)f(page)h(108\).)1110
+894 y Fs(builtin)144 b Ft(Names)21 b(of)g(shell)f(builtin)h(commands.)
+37 b(Ma)m(y)21 b(also)h(b)s(e)e(sp)s(eci\014ed)1590 1004
+y(as)31 b(`)p Fs(-b)p Ft('.)1110 1166 y Fs(command)144
b Ft(Command)29 b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s
-(eci\014ed)f(as)i(`)p Fs(-c)p Ft('.)p eop end
-%%Page: 119 125
-TeXDict begin 119 124 bop 150 -116 a Ft(Chapter)30 b(8:)41
-b(Command)29 b(Line)i(Editing)2062 b(119)1110 299 y Fs(directory)1590
-408 y Ft(Directory)32 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s
-(eci\014ed)g(as)g(`)p Fs(-d)p Ft('.)1110 573 y Fs(disabled)96
+(eci\014ed)f(as)i(`)p Fs(-c)p Ft('.)1110 1328 y Fs(directory)1590
+1438 y Ft(Directory)h(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s
+(eci\014ed)g(as)g(`)p Fs(-d)p Ft('.)1110 1600 y Fs(disabled)96
b Ft(Names)31 b(of)g(disabled)f(shell)g(builtins.)1110
-737 y Fs(enabled)144 b Ft(Names)31 b(of)g(enabled)f(shell)g(builtins.)
-1110 902 y Fs(export)192 b Ft(Names)34 b(of)f(exp)s(orted)f(shell)h(v)
+1762 y Fs(enabled)144 b Ft(Names)31 b(of)g(enabled)f(shell)g(builtins.)
+1110 1924 y Fs(export)192 b Ft(Names)34 b(of)f(exp)s(orted)f(shell)h(v)
-5 b(ariables.)49 b(Ma)m(y)35 b(also)e(b)s(e)g(sp)s(eci-)1590
-1011 y(\014ed)d(as)g(`)p Fs(-e)p Ft('.)1110 1176 y Fs(file)288
+2033 y(\014ed)d(as)g(`)p Fs(-e)p Ft('.)1110 2195 y Fs(file)288
b Ft(File)32 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f
-(as)i(`)p Fs(-f)p Ft('.)1110 1340 y Fs(function)96 b
-Ft(Names)31 b(of)g(shell)f(functions.)1110 1504 y Fs(group)240
+(as)i(`)p Fs(-f)p Ft('.)1110 2357 y Fs(function)96 b
+Ft(Names)31 b(of)g(shell)f(functions.)1110 2519 y Fs(group)240
b Ft(Group)30 b(names.)40 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)g
-(as)g(`)p Fs(-g)p Ft('.)1110 1669 y Fs(helptopic)1590
-1778 y Ft(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
-Fs(help)f Ft(builtin)g(\(see)h(Sec-)1590 1888 y(tion)31
-b(4.2)g([Bash)g(Builtins],)g(page)g(41\).)1110 2052 y
+(as)g(`)p Fs(-g)p Ft('.)1110 2681 y Fs(helptopic)1590
+2791 y Ft(Help)37 b(topics)g(as)g(accepted)h(b)m(y)e(the)h
+Fs(help)f Ft(builtin)g(\(see)h(Sec-)1590 2900 y(tion)31
+b(4.2)g([Bash)g(Builtins],)g(page)g(43\).)1110 3062 y
Fs(hostname)96 b Ft(Hostnames,)89 b(as)76 b(tak)m(en)h(from)f(the)g
-(\014le)h(sp)s(eci\014ed)e(b)m(y)1590 2162 y(the)55 b
+(\014le)h(sp)s(eci\014ed)e(b)m(y)1590 3172 y(the)55 b
Fs(HOSTFILE)e Ft(shell)j(v)-5 b(ariable)56 b(\(see)g(Section)g(5.2)h
-([Bash)1590 2271 y(V)-8 b(ariables],)32 b(page)f(61\).)1110
-2436 y Fs(job)336 b Ft(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f
+([Bash)1590 3282 y(V)-8 b(ariables],)32 b(page)f(63\).)1110
+3444 y Fs(job)336 b Ft(Job)31 b(names,)h(if)g(job)f(con)m(trol)i(is)f
(activ)m(e.)46 b(Ma)m(y)33 b(also)g(b)s(e)e(sp)s(eci-)1590
-2545 y(\014ed)f(as)g(`)p Fs(-j)p Ft('.)1110 2710 y Fs(keyword)144
+3553 y(\014ed)f(as)g(`)p Fs(-j)p Ft('.)1110 3715 y Fs(keyword)144
b Ft(Shell)30 b(reserv)m(ed)h(w)m(ords.)40 b(Ma)m(y)32
b(also)f(b)s(e)f(sp)s(eci\014ed)f(as)i(`)p Fs(-k)p Ft('.)1110
-2874 y Fs(running)144 b Ft(Names)31 b(of)g(running)d(jobs,)i(if)h(job)f
-(con)m(trol)h(is)g(activ)m(e.)1110 3039 y Fs(service)144
+3877 y Fs(running)144 b Ft(Names)31 b(of)g(running)d(jobs,)i(if)h(job)f
+(con)m(trol)h(is)g(activ)m(e.)1110 4039 y Fs(service)144
b Ft(Service)31 b(names.)41 b(Ma)m(y)31 b(also)g(b)s(e)f(sp)s
-(eci\014ed)g(as)g(`)p Fs(-s)p Ft('.)1110 3203 y Fs(setopt)192
+(eci\014ed)g(as)g(`)p Fs(-s)p Ft('.)1110 4201 y Fs(setopt)192
b Ft(V)-8 b(alid)34 b(argumen)m(ts)f(for)f(the)h(`)p
Fs(-o)p Ft(')g(option)g(to)h(the)f Fs(set)e Ft(builtin)1590
-3313 y(\(see)g(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(51\).)
-1110 3477 y Fs(shopt)240 b Ft(Shell)40 b(option)g(names)g(as)g
+4311 y(\(see)g(Section)h(4.3.1)g([The)e(Set)g(Builtin],)i(page)f(54\).)
+1110 4473 y Fs(shopt)240 b Ft(Shell)40 b(option)g(names)g(as)g
(accepted)i(b)m(y)e(the)g Fs(shopt)e Ft(builtin)1590
-3587 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(41\).)
-1110 3751 y Fs(signal)192 b Ft(Signal)31 b(names.)1110
-3915 y Fs(stopped)144 b Ft(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g
-(job)g(con)m(trol)i(is)f(activ)m(e.)1110 4080 y Fs(user)288
+4582 y(\(see)31 b(Section)h(4.2)f([Bash)g(Builtins],)g(page)g(43\).)
+1110 4744 y Fs(signal)192 b Ft(Signal)31 b(names.)1110
+4906 y Fs(stopped)144 b Ft(Names)31 b(of)g(stopp)s(ed)e(jobs,)h(if)g
+(job)g(con)m(trol)i(is)f(activ)m(e.)1110 5068 y Fs(user)288
b Ft(User)30 b(names.)41 b(Ma)m(y)32 b(also)f(b)s(e)f(sp)s(eci\014ed)f
-(as)i(`)p Fs(-u)p Ft('.)1110 4244 y Fs(variable)96 b
+(as)i(`)p Fs(-u)p Ft('.)1110 5230 y Fs(variable)96 b
Ft(Names)36 b(of)g(all)g(shell)g(v)-5 b(ariables.)56
b(Ma)m(y)37 b(also)f(b)s(e)f(sp)s(eci\014ed)g(as)1590
-4354 y(`)p Fs(-v)p Ft('.)630 4518 y Fs(-G)30 b Fi(globpat)1110
-4628 y Ft(The)39 b(\014lename)h(expansion)g(pattern)g
-Fq(globpat)j Ft(is)d(expanded)f(to)h(generate)1110 4737
-y(the)31 b(p)s(ossible)e(completions.)630 4902 y Fs(-W)h
-Fi(wordlist)1110 5011 y Ft(The)24 b Fq(w)m(ordlist)k
-Ft(is)d(split)g(using)f(the)h(c)m(haracters)i(in)d(the)i
-Fs(IFS)e Ft(sp)s(ecial)h(v)-5 b(ariable)1110 5121 y(as)36
-b(delimiters,)i(and)e(eac)m(h)h(resultan)m(t)g(w)m(ord)e(is)h
-(expanded.)57 b(The)35 b(p)s(ossible)1110 5230 y(completions)c(are)e
-(the)h(mem)m(b)s(ers)f(of)g(the)h(resultan)m(t)g(list)g(whic)m(h)f
-(matc)m(h)i(the)1110 5340 y(w)m(ord)f(b)s(eing)g(completed.)p
-eop end
-%%Page: 120 126
-TeXDict begin 120 125 bop 150 -116 a Ft(120)2527 b(Bash)31
+5340 y(`)p Fs(-v)p Ft('.)p eop end
+%%Page: 122 128
+TeXDict begin 122 127 bop 150 -116 a Ft(122)2527 b(Bash)31
b(Reference)g(Man)m(ual)630 299 y Fs(-C)f Fi(command)1110
408 y Fq(command)35 b Ft(is)e(executed)g(in)e(a)i(subshell)e(en)m
(vironmen)m(t,)i(and)f(its)g(output)g(is)1110 518 y(used)e(as)g(the)h
-(p)s(ossible)f(completions.)630 677 y Fs(-F)g Fi(function)1110
-787 y Ft(The)25 b(shell)i(function)e Fq(function)h Ft(is)g(executed)h
-(in)e(the)i(curren)m(t)e(shell)i(en)m(viron-)1110 897
+(p)s(ossible)f(completions.)630 674 y Fs(-F)g Fi(function)1110
+783 y Ft(The)25 b(shell)i(function)e Fq(function)h Ft(is)g(executed)h
+(in)e(the)i(curren)m(t)e(shell)i(en)m(viron-)1110 893
y(men)m(t.)40 b(When)25 b(it)h(\014nishes,)f(the)h(p)s(ossible)f
-(completions)h(are)g(retriev)m(ed)g(from)1110 1006 y(the)31
+(completions)h(are)g(retriev)m(ed)g(from)1110 1003 y(the)31
b(v)-5 b(alue)30 b(of)h(the)g Fs(COMPREPLY)c Ft(arra)m(y)k(v)-5
-b(ariable.)630 1166 y Fs(-X)30 b Fi(filterpat)1110 1275
-y Fq(\014lterpat)d Ft(is)e(a)g(pattern)g(as)f(used)g(for)h(\014lename)g
-(expansion.)38 b(It)25 b(is)g(applied)f(to)1110 1385
-y(the)30 b(list)f(of)h(p)s(ossible)f(completions)h(generated)h(b)m(y)e
-(the)g(preceding)h(options)1110 1494 y(and)d(argumen)m(ts,)i(and)e(eac)
-m(h)i(completion)g(matc)m(hing)g Fq(\014lterpat)h Ft(is)e(remo)m(v)m
-(ed)1110 1604 y(from)i(the)h(list.)42 b(A)30 b(leading)i(`)p
-Fs(!)p Ft(')e(in)g Fq(\014lterpat)j Ft(negates)f(the)f(pattern;)g(in)f
-(this)1110 1714 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g
-Fq(\014lterpat)i Ft(is)d(remo)m(v)m(ed.)630 1873 y Fs(-P)g
-Fi(prefix)1110 1983 y Fq(pre\014x)39 b Ft(is)34 b(added)f(at)i(the)f(b)
-s(eginning)f(of)i(eac)m(h)g(p)s(ossible)e(completion)i(after)1110
-2092 y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630
-2252 y Fs(-S)g Fi(suffix)1110 2361 y Fq(su\016x)c Ft(is)20
+b(ariable.)630 1158 y Fs(-G)30 b Fi(globpat)1110 1268
+y Ft(The)39 b(\014lename)h(expansion)g(pattern)g Fq(globpat)j
+Ft(is)d(expanded)f(to)h(generate)1110 1377 y(the)31 b(p)s(ossible)e
+(completions.)630 1533 y Fs(-P)h Fi(prefix)1110 1643
+y Fq(pre\014x)39 b Ft(is)34 b(added)f(at)i(the)f(b)s(eginning)f(of)i
+(eac)m(h)g(p)s(ossible)e(completion)i(after)1110 1752
+y(all)c(other)g(options)g(ha)m(v)m(e)g(b)s(een)f(applied.)630
+1908 y Fs(-S)g Fi(suffix)1110 2018 y Fq(su\016x)c Ft(is)20
b(app)s(ended)f(to)i(eac)m(h)h(p)s(ossible)e(completion)i(after)f(all)g
-(other)g(options)1110 2471 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
-2630 y(The)35 b(return)g(v)-5 b(alue)37 b(is)f(true)f(unless)h(an)f(in)
-m(v)-5 b(alid)37 b(option)f(is)g(supplied,)g(an)g(option)h(other)630
-2740 y(than)31 b(`)p Fs(-p)p Ft(')g(or)g(`)p Fs(-r)p
+(other)g(options)1110 2127 y(ha)m(v)m(e)32 b(b)s(een)d(applied.)630
+2283 y Fs(-W)h Fi(wordlist)1110 2393 y Ft(The)24 b Fq(w)m(ordlist)k
+Ft(is)d(split)g(using)f(the)h(c)m(haracters)i(in)d(the)i
+Fs(IFS)e Ft(sp)s(ecial)h(v)-5 b(ariable)1110 2502 y(as)36
+b(delimiters,)i(and)e(eac)m(h)h(resultan)m(t)g(w)m(ord)e(is)h
+(expanded.)57 b(The)35 b(p)s(ossible)1110 2612 y(completions)c(are)e
+(the)h(mem)m(b)s(ers)f(of)g(the)h(resultan)m(t)g(list)g(whic)m(h)f
+(matc)m(h)i(the)1110 2721 y(w)m(ord)f(b)s(eing)g(completed.)630
+2877 y Fs(-X)g Fi(filterpat)1110 2987 y Fq(\014lterpat)d
+Ft(is)e(a)g(pattern)g(as)f(used)g(for)h(\014lename)g(expansion.)38
+b(It)25 b(is)g(applied)f(to)1110 3096 y(the)30 b(list)f(of)h(p)s
+(ossible)f(completions)h(generated)h(b)m(y)e(the)g(preceding)h(options)
+1110 3206 y(and)d(argumen)m(ts,)i(and)e(eac)m(h)i(completion)g(matc)m
+(hing)g Fq(\014lterpat)h Ft(is)e(remo)m(v)m(ed)1110 3315
+y(from)i(the)h(list.)42 b(A)30 b(leading)i(`)p Fs(!)p
+Ft(')e(in)g Fq(\014lterpat)j Ft(negates)f(the)f(pattern;)g(in)f(this)
+1110 3425 y(case,)i(an)m(y)e(completion)i(not)f(matc)m(hing)g
+Fq(\014lterpat)i Ft(is)d(remo)m(v)m(ed.)630 3581 y(The)35
+b(return)g(v)-5 b(alue)37 b(is)f(true)f(unless)h(an)f(in)m(v)-5
+b(alid)37 b(option)f(is)g(supplied,)g(an)g(option)h(other)630
+3690 y(than)31 b(`)p Fs(-p)p Ft(')g(or)g(`)p Fs(-r)p
Ft(')g(is)g(supplied)f(without)h(a)g Fq(name)37 b Ft(argumen)m(t,)32
-b(an)f(attempt)h(is)f(made)g(to)630 2849 y(remo)m(v)m(e)h(a)e
+b(an)f(attempt)h(is)f(made)g(to)630 3800 y(remo)m(v)m(e)h(a)e
(completion)i(sp)s(eci\014cation)f(for)f(a)h Fq(name)k
Ft(for)30 b(whic)m(h)g(no)g(sp)s(eci\014cation)h(exists,)630
-2959 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s
-(eci\014cation.)150 3118 y Fs(compopt)870 3253 y(compopt)46
+3910 y(or)f(an)h(error)f(o)s(ccurs)g(adding)g(a)g(completion)i(sp)s
+(eci\014cation.)150 4065 y Fs(compopt)870 4198 y(compopt)46
b([-o)h Fi(option)11 b Fs(])45 b([-DE])h([+o)h Fi(option)11
-b Fs(])46 b([)p Fi(name)11 b Fs(])630 3387 y Ft(Mo)s(dify)33
+b Fs(])46 b([)p Fi(name)11 b Fs(])630 4331 y Ft(Mo)s(dify)33
b(completion)h(options)g(for)f(eac)m(h)h Fq(name)39 b
Ft(according)34 b(to)g(the)f Fq(option)p Ft(s,)i(or)e(for)g(the)630
-3497 y(curren)m(tly-execution)46 b(completion)f(if)f(no)f
+4440 y(curren)m(tly-executing)46 b(completion)f(if)f(no)f
Fq(name)5 b Ft(s)44 b(are)h(supplied.)80 b(If)43 b(no)h
-Fq(option)p Ft(s)h(are)630 3606 y(giv)m(en,)30 b(displa)m(y)e(the)g
+Fq(option)p Ft(s)h(are)630 4550 y(giv)m(en,)30 b(displa)m(y)e(the)g
(completion)h(options)g(for)e(eac)m(h)i Fq(name)34 b
-Ft(or)27 b(the)i(curren)m(t)e(completion.)630 3716 y(The)f(p)s(ossible)
+Ft(or)27 b(the)i(curren)m(t)e(completion.)630 4659 y(The)f(p)s(ossible)
g(v)-5 b(alues)27 b(of)f Fq(option)h Ft(are)g(those)g(v)-5
b(alid)26 b(for)g(the)h Fs(complete)d Ft(builtin)i(describ)s(ed)630
-3826 y(ab)s(o)m(v)m(e.)40 b(The)23 b(`)p Fs(-D)p Ft(')i(option)f
+4769 y(ab)s(o)m(v)m(e.)40 b(The)23 b(`)p Fs(-D)p Ft(')i(option)f
(indicates)h(that)g(the)f(remaining)g(options)h(should)e(apply)h(to)h
-(the)630 3935 y(\\default")33 b(command)f(completion;)i(that)f(is,)g
-(completion)g(attempted)g(on)f(a)g(command)630 4045 y(for)c(whic)m(h)f
+(the)630 4879 y(\\default")33 b(command)f(completion;)i(that)f(is,)g
+(completion)g(attempted)g(on)f(a)g(command)630 4988 y(for)c(whic)m(h)f
(no)h(completion)h(has)f(previously)g(b)s(een)f(de\014ned.)38
b(The)28 b(`)p Fs(-E)p Ft(')g(option)g(indicates)630
-4154 y(that)c(the)g(remaining)g(options)g(should)e(apply)h(to)i(\\empt)
-m(y")g(command)e(completion;)k(that)630 4264 y(is,)k(completion)g
-(attempted)h(on)e(a)h(blank)f(line.)630 4399 y(The)g(`)p
+5098 y(that)c(the)g(remaining)g(options)g(should)e(apply)h(to)i(\\empt)
+m(y")g(command)e(completion;)k(that)630 5207 y(is,)k(completion)g
+(attempted)h(on)e(a)h(blank)f(line.)630 5340 y(The)g(`)p
Fs(-D)p Ft(')g(option)h(tak)m(es)h(precedence)f(o)m(v)m(er)g(`)p
-Fs(-E)p Ft('.)630 4533 y(The)23 b(return)g(v)-5 b(alue)25
-b(is)f(true)g(unless)f(an)h(in)m(v)-5 b(alid)24 b(option)h(is)f
-(supplied,)g(an)g(attempt)h(is)f(made)630 4643 y(to)32
-b(mo)s(dify)f(the)g(options)h(for)f(a)h Fq(name)k Ft(for)31
-b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f(exists,)630
-4752 y(or)e(an)h(output)f(error)g(o)s(ccurs.)p eop end
-%%Page: 121 127
-TeXDict begin 121 126 bop 150 -116 a Ft(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(121)150
+Fs(-E)p Ft('.)p eop end
+%%Page: 123 129
+TeXDict begin 123 128 bop 150 -116 a Ft(Chapter)30 b(8:)41
+b(Command)29 b(Line)i(Editing)2062 b(123)630 299 y(The)23
+b(return)g(v)-5 b(alue)25 b(is)f(true)g(unless)f(an)h(in)m(v)-5
+b(alid)24 b(option)h(is)f(supplied,)g(an)g(attempt)h(is)f(made)630
+408 y(to)32 b(mo)s(dify)f(the)g(options)h(for)f(a)h Fq(name)k
+Ft(for)31 b(whic)m(h)g(no)g(completion)i(sp)s(eci\014cation)f(exists,)
+630 518 y(or)e(an)h(output)f(error)g(o)s(ccurs.)p eop
+end
+%%Page: 124 130
+TeXDict begin 124 129 bop eop end
+%%Page: 125 131
+TeXDict begin 125 130 bop 150 -116 a Ft(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(125)150
299 y Fo(9)80 b(Using)53 b(History)g(In)l(teractiv)l(ely)150
572 y Ft(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)
f Fl(gnu)h Ft(History)g(Library)e(in)m(teractiv)m(ely)-8
@@ -13094,7 +13374,7 @@ y Fr(9.1)68 b(Bash)45 b(History)h(F)-11 b(acilities)150
1202 y Ft(When)40 b(the)h(`)p Fs(-o)30 b(history)p Ft(')38
b(option)j(to)g(the)g Fs(set)e Ft(builtin)h(is)h(enabled)f(\(see)h
(Section)g(4.3.1)i([The)d(Set)150 1311 y(Builtin],)32
-b(page)g(51\),)h(the)e(shell)h(pro)m(vides)f(access)h(to)g(the)f
+b(page)g(54\),)h(the)e(shell)h(pro)m(vides)f(access)h(to)g(the)f
Fq(command)g(history)p Ft(,)h(the)f(list)h(of)f(commands)150
1421 y(previously)h(t)m(yp)s(ed.)47 b(The)33 b(v)-5 b(alue)33
b(of)f(the)h Fs(HISTSIZE)e Ft(shell)h(v)-5 b(ariable)34
@@ -13121,7 +13401,7 @@ Fs($HISTSIZE)d Ft(lines)j(are)f(copied)150 2445 y(from)29
b(the)i(history)e(list)i(to)g(the)f(\014le)g(named)f(b)m(y)h
Fs($HISTFILE)p Ft(.)38 b(If)30 b(the)g Fs(histappend)d
Ft(shell)j(option)g(is)g(set)150 2555 y(\(see)22 b(Section)g(4.2)g
-([Bash)g(Builtins],)h(page)f(41\),)j(the)c(lines)g(are)h(app)s(ended)d
+([Bash)g(Builtins],)h(page)f(43\),)j(the)c(lines)g(are)h(app)s(ended)d
(to)j(the)f(history)g(\014le,)j(otherwise)150 2664 y(the)32
b(history)f(\014le)g(is)h(o)m(v)m(erwritten.)45 b(If)31
b Fs(HISTFILE)e Ft(is)j(unset,)f(or)h(if)f(the)h(history)f(\014le)g(is)
@@ -13148,7 +13428,7 @@ b(using)f(command-line)h(editing,)h(searc)m(h)f(commands)g(are)g(a)m(v)
-5 b(ailable)33 b(in)e(eac)m(h)150 3836 y(editing)45
b(mo)s(de)g(that)g(pro)m(vide)g(access)h(to)f(the)g(history)f(list)i
(\(see)f(Section)h(8.4.2)g([Commands)e(F)-8 b(or)150
-3945 y(History],)31 b(page)h(107\).)275 4093 y(The)47
+3945 y(History],)31 b(page)h(109\).)275 4093 y(The)47
b(shell)i(allo)m(ws)h(con)m(trol)f(o)m(v)m(er)h(whic)m(h)e(commands)g
(are)h(sa)m(v)m(ed)g(on)f(the)h(history)f(list.)95 b(The)150
4202 y Fs(HISTCONTROL)25 b Ft(and)j Fs(HISTIGNORE)e Ft(v)-5
@@ -13164,13 +13444,13 @@ b(sa)m(v)m(e)h(eac)m(h)f(line)g(of)f(a)h(m)m(ulti-line)g(command)f(in)g
m(b)s(edded)f(newlines)h(instead)h(of)f(semicolons.)40
b(The)23 b Fs(shopt)e Ft(builtin)i(is)h(used)150 4750
y(to)31 b(set)g(these)g(options.)41 b(See)31 b(Section)g(4.2)g([Bash)g
-(Builtins],)g(page)g(41,)h(for)e(a)h(description)f(of)h
+(Builtins],)g(page)g(43,)h(for)e(a)h(description)f(of)h
Fs(shopt)p Ft(.)150 5002 y Fr(9.2)68 b(Bash)45 b(History)h(Builtins)150
5161 y Ft(Bash)31 b(pro)m(vides)f(t)m(w)m(o)i(builtin)e(commands)g
(whic)m(h)g(manipulate)g(the)h(history)f(list)h(and)f(history)g
(\014le.)150 5340 y Fs(fc)p eop end
-%%Page: 122 128
-TeXDict begin 122 127 bop 150 -116 a Ft(122)2527 b(Bash)31
+%%Page: 126 132
+TeXDict begin 126 131 bop 150 -116 a Ft(126)2527 b(Bash)31
b(Reference)g(Man)m(ual)870 299 y Fs(fc)47 b([-e)g Fi(ename)11
b Fs(])46 b([-lnr])g([)p Fi(first)11 b Fs(])45 b([)p
Fi(last)11 b Fs(])870 408 y(fc)47 b(-s)g([)p Fi(pat)11
@@ -13214,7 +13494,7 @@ Fs(fc)f Ft(command)h(is)g Fs(r='fc)e(-s')p Ft(,)h(so)h(that)h(t)m
(yping)f(`)p Fs(r)f(cc)p Ft(')630 2443 y(runs)35 b(the)h(last)h
(command)f(b)s(eginning)g(with)g Fs(cc)f Ft(and)h(t)m(yping)g(`)p
Fs(r)p Ft(')h(re-executes)h(the)e(last)630 2552 y(command)30
-b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(79\).)150
+b(\(see)h(Section)h(6.6)f([Aliases],)h(page)g(81\).)150
2703 y Fs(history)870 2833 y(history)46 b([)p Fi(n)11
b Fs(])870 2943 y(history)46 b(-c)870 3052 y(history)g(-d)h
Fi(offset)870 3162 y Fs(history)f([-anrw])g([)p Fi(filename)11
@@ -13249,148 +13529,153 @@ y(the)26 b(curren)m(t)f(history)g(list.)40 b(These)25
b(are)h(lines)g(app)s(ended)e(to)i(the)f(history)h(\014le)1110
5340 y(since)31 b(the)f(b)s(eginning)g(of)g(the)h(curren)m(t)f(Bash)h
(session.)p eop end
-%%Page: 123 129
-TeXDict begin 123 128 bop 150 -116 a Ft(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(123)630
+%%Page: 127 133
+TeXDict begin 127 132 bop 150 -116 a Ft(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(127)630
299 y Fs(-r)384 b Ft(Read)26 b(the)h(curren)m(t)f(history)g(\014le)g
(and)g(app)s(end)e(its)j(con)m(ten)m(ts)h(to)f(the)f(history)1110
-408 y(list.)630 573 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h
+408 y(list.)630 562 y Fs(-w)384 b Ft(W)-8 b(rite)32 b(out)e(the)h
(curren)m(t)f(history)g(to)i(the)e(history)g(\014le.)630
-739 y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)
+715 y Fs(-p)384 b Ft(P)m(erform)31 b(history)f(substitution)h(on)f(the)
h Fq(arg)8 b Ft(s)31 b(and)f(displa)m(y)h(the)f(result)h(on)1110
-848 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
-(in)g(the)g(history)g(list.)630 1013 y Fs(-s)384 b Ft(The)30
+824 y(the)d(standard)f(output,)i(without)f(storing)g(the)g(results)g
+(in)g(the)g(history)g(list.)630 977 y Fs(-s)384 b Ft(The)30
b Fq(arg)8 b Ft(s)30 b(are)h(added)f(to)h(the)f(end)g(of)h(the)f
(history)h(list)g(as)f(a)h(single)g(en)m(try)-8 b(.)630
-1178 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
+1130 y(When)24 b(an)m(y)h(of)f(the)h(`)p Fs(-w)p Ft(',)h(`)p
Fs(-r)p Ft(',)f(`)p Fs(-a)p Ft(',)h(or)f(`)p Fs(-n)p
Ft(')f(options)g(is)h(used,)g(if)f Fq(\014lename)30 b
-Ft(is)24 b(giv)m(en,)j(then)630 1288 y(it)32 b(is)g(used)f(as)h(the)f
+Ft(is)24 b(giv)m(en,)j(then)630 1240 y(it)32 b(is)g(used)f(as)h(the)f
(history)h(\014le.)45 b(If)31 b(not,)h(then)g(the)f(v)-5
b(alue)32 b(of)g(the)g Fs(HISTFILE)d Ft(v)-5 b(ariable)33
-b(is)630 1397 y(used.)150 1638 y Fr(9.3)68 b(History)46
-b(Expansion)150 1798 y Ft(The)f(History)h(library)e(pro)m(vides)i(a)f
+b(is)630 1350 y(used.)150 1576 y Fr(9.3)68 b(History)46
+b(Expansion)150 1735 y Ft(The)f(History)h(library)e(pro)m(vides)i(a)f
(history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f
-(history)150 1907 y(expansion)g(pro)m(vided)f(b)m(y)h
+(history)150 1845 y(expansion)g(pro)m(vided)f(b)m(y)h
Fs(csh)p Ft(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h
-(used)e(to)i(manipulate)f(the)150 2017 y(history)30 b(information.)275
-2157 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
+(used)e(to)i(manipulate)f(the)150 1954 y(history)30 b(information.)275
+2086 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h
(history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150
-2266 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
+2195 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen)
m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150
-2376 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
-(quic)m(kly)-8 b(.)275 2516 y(History)27 b(expansion)f(tak)m(es)i
+2305 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g
+(quic)m(kly)-8 b(.)275 2436 y(History)27 b(expansion)f(tak)m(es)i
(place)f(in)f(t)m(w)m(o)i(parts.)39 b(The)26 b(\014rst)g(is)g(to)h
-(determine)g(whic)m(h)f(line)h(from)f(the)150 2626 y(history)i(list)g
+(determine)g(whic)m(h)f(line)h(from)f(the)150 2546 y(history)i(list)g
(should)f(b)s(e)g(used)g(during)g(substitution.)39 b(The)27
b(second)h(is)g(to)h(select)g(p)s(ortions)e(of)h(that)h(line)150
-2735 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
+2655 y(for)d(inclusion)f(in)m(to)i(the)f(curren)m(t)f(one.)40
b(The)25 b(line)h(selected)h(from)f(the)g(history)f(is)h(called)h(the)f
-Fq(ev)m(en)m(t)p Ft(,)j(and)150 2845 y(the)21 b(p)s(ortions)g(of)g
+Fq(ev)m(en)m(t)p Ft(,)j(and)150 2765 y(the)21 b(p)s(ortions)g(of)g
(that)h(line)f(that)h(are)g(acted)g(up)s(on)e(are)h(called)h
Fq(w)m(ords)p Ft(.)38 b(V)-8 b(arious)21 b Fq(mo)s(di\014ers)j
-Ft(are)e(a)m(v)-5 b(ailable)150 2955 y(to)35 b(manipulate)f(the)g
+Ft(are)e(a)m(v)-5 b(ailable)150 2874 y(to)35 b(manipulate)f(the)g
(selected)i(w)m(ords.)51 b(The)33 b(line)h(is)g(brok)m(en)g(in)m(to)h
-(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 3064
+(w)m(ords)e(in)h(the)g(same)h(fashion)e(that)150 2984
y(Bash)i(do)s(es,)h(so)f(that)h(sev)m(eral)g(w)m(ords)e(surrounded)f(b)
m(y)i(quotes)g(are)g(considered)g(one)g(w)m(ord.)54 b(History)150
-3174 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
+3094 y(expansions)34 b(are)g(in)m(tro)s(duced)f(b)m(y)h(the)g(app)s
(earance)g(of)g(the)g(history)g(expansion)g(c)m(haracter,)i(whic)m(h)e
-(is)150 3283 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
+(is)150 3203 y(`)p Fs(!)p Ft(')d(b)m(y)f(default.)41
b(Only)29 b(`)p Fs(\\)p Ft(')i(and)f(`)p Fs(')p Ft(')g(ma)m(y)h(b)s(e)f
(used)g(to)h(escap)s(e)g(the)f(history)g(expansion)h(c)m(haracter.)275
-3423 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
+3335 y(Sev)m(eral)40 b(shell)g(options)g(settable)h(with)e(the)h
Fs(shopt)e Ft(builtin)h(\(see)h(Section)h(4.2)f([Bash)g(Builtins],)150
-3533 y(page)32 b(41\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
+3444 y(page)32 b(43\))h(ma)m(y)f(b)s(e)f(used)g(to)i(tailor)g(the)e(b)s
(eha)m(vior)h(of)g(history)g(expansion.)44 b(If)31 b(the)h
-Fs(histverify)d Ft(shell)150 3643 y(option)39 b(is)f(enabled,)i(and)e
+Fs(histverify)d Ft(shell)150 3554 y(option)39 b(is)f(enabled,)i(and)e
(Readline)g(is)h(b)s(eing)e(used,)j(history)e(substitutions)g(are)g
-(not)h(immediately)150 3752 y(passed)30 b(to)h(the)g(shell)g(parser.)40
+(not)h(immediately)150 3663 y(passed)30 b(to)h(the)g(shell)g(parser.)40
b(Instead,)30 b(the)h(expanded)f(line)h(is)f(reloaded)h(in)m(to)h(the)e
-(Readline)h(editing)150 3862 y(bu\013er)e(for)i(further)e(mo)s
+(Readline)h(editing)150 3773 y(bu\013er)e(for)i(further)e(mo)s
(di\014cation.)41 b(If)30 b(Readline)h(is)f(b)s(eing)g(used,)g(and)g
-(the)g Fs(histreedit)e Ft(shell)i(option)150 3971 y(is)k(enabled,)h(a)g
+(the)g Fs(histreedit)e Ft(shell)i(option)150 3882 y(is)k(enabled,)h(a)g
(failed)g(history)f(expansion)g(will)g(b)s(e)g(reloaded)g(in)m(to)h
-(the)g(Readline)f(editing)h(bu\013er)e(for)150 4081 y(correction.)74
+(the)g(Readline)f(editing)h(bu\013er)e(for)150 3992 y(correction.)74
b(The)41 b(`)p Fs(-p)p Ft(')g(option)g(to)h(the)f Fs(history)f
Ft(builtin)g(command)h(ma)m(y)h(b)s(e)e(used)h(to)g(see)h(what)150
-4191 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
+4102 y(a)c(history)g(expansion)f(will)h(do)f(b)s(efore)h(using)f(it.)63
b(The)37 b(`)p Fs(-s)p Ft(')g(option)h(to)h(the)f Fs(history)d
-Ft(builtin)i(ma)m(y)150 4300 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
+Ft(builtin)i(ma)m(y)150 4211 y(b)s(e)c(used)h(to)g(add)g(commands)f(to)
i(the)f(end)g(of)g(the)g(history)g(list)h(without)f(actually)i
-(executing)f(them,)150 4410 y(so)j(that)h(they)f(are)g(a)m(v)-5
+(executing)f(them,)150 4321 y(so)j(that)h(they)f(are)g(a)m(v)-5
b(ailable)40 b(for)e(subsequen)m(t)f(recall.)65 b(This)37
-b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4519
-y(Readline.)275 4659 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e
+b(is)h(most)g(useful)g(in)f(conjunction)h(with)150 4430
+y(Readline.)275 4562 y(The)33 b(shell)h(allo)m(ws)h(con)m(trol)h(of)e
(the)g(v)-5 b(arious)34 b(c)m(haracters)h(used)f(b)m(y)f(the)h(history)
-g(expansion)g(mec)m(h-)150 4769 y(anism)h(with)g(the)g
+g(expansion)g(mec)m(h-)150 4671 y(anism)h(with)g(the)g
Fs(histchars)d Ft(v)-5 b(ariable,)38 b(as)d(explained)g(ab)s(o)m(v)m(e)
i(\(see)f(Section)f(5.2)i([Bash)e(V)-8 b(ariables],)150
-4879 y(page)32 b(61\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
+4781 y(page)32 b(63\).)44 b(The)31 b(shell)g(uses)g(the)g(history)g
(commen)m(t)i(c)m(haracter)f(to)g(mark)f(history)g(timestamps)h(when)
-150 4988 y(writing)e(the)h(history)f(\014le.)150 5193
-y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5340
-y Ft(An)30 b(ev)m(en)m(t)i(designator)f(is)f(a)h(reference)g(to)g(a)g
-(command)f(line)h(en)m(try)f(in)g(the)h(history)f(list.)p
-eop end
-%%Page: 124 130
-TeXDict begin 124 129 bop 150 -116 a Ft(124)2527 b(Bash)31
+150 4891 y(writing)e(the)h(history)f(\014le.)150 5083
+y Fj(9.3.1)63 b(Ev)m(en)m(t)39 b(Designators)150 5230
+y Ft(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g(reference)g(to)h(a)f
+(command)f(line)h(en)m(try)g(in)g(the)g(history)g(list.)48
+b(Unless)33 b(the)150 5340 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts)
+f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h
+(history)f(list.)p eop end
+%%Page: 128 134
+TeXDict begin 128 133 bop 150 -116 a Ft(128)2527 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fs(!)432 b Ft(Start)34
b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)
e(a)h(space,)h(tab,)f(the)g(end)f(of)630 408 y(the)i(line,)g(`)p
Fs(=)p Ft(')g(or)f(`)p Fs(\()p Ft(')h(\(when)e(the)i
Fs(extglob)d Ft(shell)j(option)f(is)h(enabled)f(using)g(the)g
-Fs(shopt)630 518 y Ft(builtin\).)150 680 y Fs(!)p Fi(n)384
+Fs(shopt)630 518 y Ft(builtin\).)150 669 y Fs(!)p Fi(n)384
b Ft(Refer)30 b(to)i(command)e(line)g Fq(n)p Ft(.)150
-841 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
-Fq(n)g Ft(lines)h(bac)m(k.)150 1003 y Fs(!!)384 b Ft(Refer)30
+819 y Fs(!-)p Fi(n)336 b Ft(Refer)30 b(to)i(the)e(command)g
+Fq(n)g Ft(lines)h(bac)m(k.)150 970 y Fs(!!)384 b Ft(Refer)30
b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f
-(for)g(`)p Fs(!-1)p Ft('.)150 1164 y Fs(!)p Fi(string)144
-b Ft(Refer)30 b(to)i(the)e(most)h(recen)m(t)g(command)f(starting)i
-(with)e Fq(string)8 b Ft(.)150 1326 y Fs(!?)p Fi(string)j
-Fs([?])630 1436 y Ft(Refer)33 b(to)h(the)f(most)g(recen)m(t)h(command)f
-(con)m(taining)h Fq(string)8 b Ft(.)48 b(The)33 b(trailing)h(`)p
-Fs(?)p Ft(')f(ma)m(y)h(b)s(e)630 1545 y(omitted)d(if)g(the)f
-Fq(string)38 b Ft(is)31 b(follo)m(w)m(ed)h(immediately)g(b)m(y)e(a)h
-(newline.)150 1707 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
-Fs(^)630 1816 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
+(for)g(`)p Fs(!-1)p Ft('.)150 1120 y Fs(!)p Fi(string)144
+b Ft(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g
+(the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630
+1230 y(list)31 b(starting)g(with)f Fq(string)8 b Ft(.)150
+1381 y Fs(!?)p Fi(string)j Fs([?])630 1490 y Ft(Refer)25
+b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g(the)g(curren)m(t)
+g(p)s(osition)g(in)g(the)g(history)630 1600 y(list)32
+b(con)m(taining)h Fq(string)8 b Ft(.)43 b(The)31 b(trailing)h(`)p
+Fs(?)p Ft(')f(ma)m(y)h(b)s(e)f(omitted)h(if)f(the)h Fq(string)39
+b Ft(is)31 b(follo)m(w)m(ed)630 1709 y(immediately)h(b)m(y)e(a)h
+(newline.)150 1860 y Fs(^)p Fi(string1)11 b Fs(^)p Fi(string2)g
+Fs(^)630 1970 y Ft(Quic)m(k)31 b(Substitution.)43 b(Rep)s(eat)31
b(the)g(last)h(command,)g(replacing)f Fq(string1)39 b
-Ft(with)31 b Fq(string2)7 b Ft(.)630 1926 y(Equiv)-5
+Ft(with)31 b Fq(string2)7 b Ft(.)630 2079 y(Equiv)-5
b(alen)m(t)31 b(to)g Fs(!!:s/)p Fi(string1)11 b Fs(/)p
-Fi(string2)g Fs(/)p Ft(.)150 2088 y Fs(!#)384 b Ft(The)30
+Fi(string2)g Fs(/)p Ft(.)150 2230 y Fs(!#)384 b Ft(The)30
b(en)m(tire)h(command)f(line)h(t)m(yp)s(ed)f(so)h(far.)150
-2289 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
-2436 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
+2420 y Fj(9.3.2)63 b(W)-10 b(ord)41 b(Designators)150
+2567 y Ft(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h
(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27
b(`)p Fs(:)p Ft(')g(separates)h(the)f(ev)m(en)m(t)150
-2546 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
+2677 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61
b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g
-(b)s(egins)150 2655 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
+(b)s(egins)150 2786 y(with)30 b(a)g(`)p Fs(^)p Ft(',)g(`)p
Fs($)p Ft(',)g(`)p Fs(*)p Ft(',)h(`)p Fs(-)p Ft(',)f(or)g(`)p
Fs(\045)p Ft('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i
(the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150
-2765 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
+2896 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)
41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f
-(line)g(separated)h(b)m(y)150 2874 y(single)h(spaces.)275
-3011 y(F)-8 b(or)31 b(example,)150 3174 y Fs(!!)384 b
+(line)g(separated)h(b)m(y)150 3005 y(single)h(spaces.)275
+3136 y(F)-8 b(or)31 b(example,)150 3286 y Fs(!!)384 b
Ft(designates)37 b(the)f(preceding)g(command.)57 b(When)35
b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630
-3283 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 3445
+3396 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 3546
y Fs(!!:$)288 b Ft(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the)
h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630
-3555 y(to)31 b Fs(!$)p Ft(.)150 3716 y Fs(!fi:2)240 b
+3656 y(to)31 b Fs(!$)p Ft(.)150 3806 y Fs(!fi:2)240 b
Ft(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f
-(recen)m(t)i(command)e(starting)h(with)f(the)630 3826
-y(letters)j Fs(fi)p Ft(.)275 3988 y(Here)e(are)h(the)g(w)m(ord)f
-(designators:)150 4151 y Fs(0)g(\(zero\))114 b Ft(The)30
+(recen)m(t)i(command)e(starting)h(with)f(the)630 3916
+y(letters)j Fs(fi)p Ft(.)275 4067 y(Here)e(are)h(the)g(w)m(ord)f
+(designators:)150 4217 y Fs(0)g(\(zero\))114 b Ft(The)30
b Fs(0)p Ft(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h
-(this)e(is)g(the)h(command)f(w)m(ord.)150 4313 y Fi(n)432
-b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 4474 y Fs(^)432
+(this)e(is)g(the)h(command)f(w)m(ord.)150 4368 y Fi(n)432
+b Ft(The)30 b Fq(n)p Ft(th)g(w)m(ord.)150 4518 y Fs(^)432
b Ft(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150
-4636 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
-4798 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
+4669 y Fs($)432 b Ft(The)30 b(last)h(argumen)m(t.)150
+4820 y Fs(\045)432 b Ft(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h
(most)g(recen)m(t)g(`)p Fs(?)p Fi(string)11 b Fs(?)p
-Ft(')28 b(searc)m(h.)150 4959 y Fi(x)11 b Fs(-)p Fi(y)325
+Ft(')28 b(searc)m(h.)150 4970 y Fi(x)11 b Fs(-)p Fi(y)325
b Ft(A)30 b(range)h(of)g(w)m(ords;)f(`)p Fs(-)p Fi(y)11
b Ft(')30 b(abbreviates)h(`)p Fs(0-)p Fi(y)11 b Ft('.)150
5121 y Fs(*)432 b Ft(All)28 b(of)g(the)g(w)m(ords,)g(except)h(the)e
@@ -13399,9 +13684,9 @@ Fs(1-$)p Ft('.)39 b(It)28 b(is)g(not)g(an)f(error)630
5230 y(to)j(use)g(`)p Fs(*)p Ft(')f(if)h(there)g(is)g(just)f(one)h(w)m
(ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h
(returned)e(in)630 5340 y(that)j(case.)p eop end
-%%Page: 125 131
-TeXDict begin 125 130 bop 150 -116 a Ft(Chapter)30 b(9:)41
-b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(125)150
+%%Page: 129 135
+TeXDict begin 129 134 bop 150 -116 a Ft(Chapter)30 b(9:)41
+b(Using)30 b(History)h(In)m(teractiv)m(ely)1925 b(129)150
299 y Fi(x)11 b Fs(*)373 b Ft(Abbreviates)31 b(`)p Fi(x)11
b Fs(-$)p Ft(')150 458 y Fi(x)g Fs(-)373 b Ft(Abbreviates)31
b(`)p Fi(x)11 b Fs(-$)p Ft(')29 b(lik)m(e)j(`)p Fi(x)11
@@ -13447,11 +13732,11 @@ Fs(gs/)p Fi(old)11 b Fs(/)p Fi(new)g Fs(/)p Ft(,)26 b(or)k(with)h(`)p
Fs(&)p Ft('.)150 3813 y Fs(G)432 b Ft(Apply)30 b(the)g(follo)m(wing)i
(`)p Fs(s)p Ft(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g
(the)g(ev)m(en)m(t.)p eop end
-%%Page: 126 132
-TeXDict begin 126 131 bop eop end
-%%Page: 127 133
-TeXDict begin 127 132 bop 150 -116 a Ft(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(127)150 299 y Fo(10)80
+%%Page: 130 136
+TeXDict begin 130 135 bop eop end
+%%Page: 131 137
+TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(131)150 299 y Fo(10)80
b(Installing)52 b(Bash)150 556 y Ft(This)31 b(c)m(hapter)h(pro)m(vides)
g(basic)g(instructions)f(for)g(installing)i(Bash)f(on)f(the)h(v)-5
b(arious)31 b(supp)s(orted)f(plat-)150 665 y(forms.)40
@@ -13532,8 +13817,8 @@ b(T)-8 b(o)32 b(also)g(remo)m(v)m(e)g(the)g(\014les)f(that)g
Fs(configure)e Ft(created)j(\(so)g(y)m(ou)g(can)f(compile)150
5340 y(Bash)g(for)f(a)g(di\013eren)m(t)h(kind)f(of)g(computer\),)h(t)m
(yp)s(e)g(`)p Fs(make)e(distclean)p Ft('.)p eop end
-%%Page: 128 134
-TeXDict begin 128 133 bop 150 -116 a Ft(128)2527 b(Bash)31
+%%Page: 132 138
+TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fr(10.2)68 b(Compilers)46
b(and)f(Options)150 458 y Ft(Some)28 b(systems)h(require)f(un)m(usual)f
(options)i(for)f(compilation)i(or)f(linking)f(that)h(the)g
@@ -13618,9 +13903,9 @@ b Fs(configure)d Ft(can)i(\014gure)g(that)g(out,)150
5340 y(but)c(if)h(it)g(prin)m(ts)g(a)g(message)h(sa)m(ying)g(it)f(can)h
(not)f(guess)g(the)g(host)g(t)m(yp)s(e,)h(giv)m(e)g(it)f(the)h(`)p
Fs(--host=TYPE)p Ft(')p eop end
-%%Page: 129 135
-TeXDict begin 129 134 bop 150 -116 a Ft(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(129)150 299 y(option.)39
+%%Page: 133 139
+TeXDict begin 133 138 bop 150 -116 a Ft(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(133)150 299 y(option.)39
b(`)p Fs(TYPE)p Ft(')25 b(can)g(either)g(b)s(e)g(a)g(short)g(name)g
(for)g(the)g(system)g(t)m(yp)s(e,)h(suc)m(h)f(as)g(`)p
Fs(sun4)p Ft(',)h(or)f(a)g(canonical)150 408 y(name)30
@@ -13690,8 +13975,8 @@ Fs(lib/malloc)p Ft('.)39 b(This)30 b(is)h(not)g(the)630
5340 y(same)h Fs(malloc)e Ft(that)j(app)s(ears)e(in)g
Fl(gnu)h Ft(lib)s(c,)g(but)f(an)h(older)f(v)m(ersion)i(originally)g
(deriv)m(ed)p eop end
-%%Page: 130 136
-TeXDict begin 130 135 bop 150 -116 a Ft(130)2527 b(Bash)31
+%%Page: 134 140
+TeXDict begin 134 139 bop 150 -116 a Ft(134)2527 b(Bash)31
b(Reference)g(Man)m(ual)630 299 y(from)h(the)h(4.2)g
Fl(bsd)f Fs(malloc)p Ft(.)45 b(This)31 b Fs(malloc)g
Ft(is)i(v)m(ery)f(fast,)i(but)e(w)m(astes)h(some)g(space)g(on)630
@@ -13762,27 +14047,27 @@ h(for)e(`)p Fs(disabled-builtins)p Ft(')d(and)j(`)p Fs
(xpg-echo-default)p Ft(')150 5340 y(are)26 b(enabled)g(b)m(y)g
(default,)h(unless)f(the)g(op)s(erating)g(system)g(do)s(es)g(not)g(pro)
m(vide)g(the)g(necessary)g(supp)s(ort.)p eop end
-%%Page: 131 137
-TeXDict begin 131 136 bop 150 -116 a Ft(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(131)150 299 y Fs(--enable-alias)630
+%%Page: 135 141
+TeXDict begin 135 140 bop 150 -116 a Ft(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(135)150 299 y Fs(--enable-alias)630
408 y Ft(Allo)m(w)41 b(alias)g(expansion)f(and)f(include)g(the)h
Fs(alias)f Ft(and)g Fs(unalias)e Ft(builtins)j(\(see)g(Sec-)630
-518 y(tion)31 b(6.6)g([Aliases],)i(page)e(79\).)150 692
+518 y(tion)31 b(6.6)g([Aliases],)i(page)e(81\).)150 692
y Fs(--enable-arith-for-comma)o(nd)630 801 y Ft(Include)21
b(supp)s(ort)g(for)g(the)i(alternate)g(form)f(of)g(the)g
Fs(for)f Ft(command)h(that)h(b)s(eha)m(v)m(es)f(lik)m(e)i(the)630
911 y(C)30 b(language)i Fs(for)d Ft(statemen)m(t)j(\(see)g(Section)f
-(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(9\).)150
+(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(10\).)150
1084 y Fs(--enable-array-variables)630 1194 y Ft(Include)h(supp)s(ort)g
(for)h(one-dimensional)h(arra)m(y)f(shell)h(v)-5 b(ariables)33
-b(\(see)h(Section)g(6.7)h([Ar-)630 1303 y(ra)m(ys],)c(page)g(80\).)150
+b(\(see)h(Section)g(6.7)h([Ar-)630 1303 y(ra)m(ys],)c(page)g(82\).)150
1477 y Fs(--enable-bang-history)630 1587 y Ft(Include)36
b(supp)s(ort)f(for)h Fs(csh)p Ft(-lik)m(e)h(history)g(substitution)f
(\(see)h(Section)g(9.3)h([History)f(In-)630 1696 y(teraction],)c(page)e
-(123\).)150 1870 y Fs(--enable-brace-expansion)630 1979
+(127\).)150 1870 y Fs(--enable-brace-expansion)630 1979
y Ft(Include)40 b Fs(csh)p Ft(-lik)m(e)h(brace)f(expansion)g(\()h
Fs(b{a,b}c)d Fp(7!)i Fs(bac)30 b(bbc)39 b Ft(\).)71 b(See)40
-b(Section)h(3.5.1)630 2089 y([Brace)32 b(Expansion],)e(page)h(18,)h
+b(Section)h(3.5.1)630 2089 y([Brace)32 b(Expansion],)e(page)h(19,)h
(for)e(a)g(complete)i(description.)150 2262 y Fs
(--enable-casemod-attribu)o(tes)630 2372 y Ft(Include)37
b(supp)s(ort)g(for)g(case-mo)s(difying)i(attributes)g(in)e(the)h
@@ -13804,29 +14089,30 @@ m(ell)g(as)g(shell)f(builtins)g(and)g(functions)g(to)h(b)s(e)e(timed.)
b(supp)s(ort)f(for)i(the)g Fs([[)f Ft(conditional)i(command.)51
b(\(see)34 b(Section)h(3.2.4.2)h([Condi-)630 3769 y(tional)c
(Constructs],)e(page)h(10\).)150 3943 y Fs(--enable-cond-regexp)630
-4052 y Ft(Include)f(supp)s(ort)f(for)i(matc)m(hing)h(POSIX)d(regular)i
-(expressions)g(using)f(the)h(`)p Fs(=~)p Ft(')g(binary)630
-4162 y(op)s(erator)25 b(in)f(the)h Fs([[)f Ft(conditional)h(command.)39
-b(\(see)25 b(Section)h(3.2.4.2)h([Conditional)e(Con-)630
-4271 y(structs],)31 b(page)g(10\).)150 4445 y Fs(--enable-coprocesses)
-630 4555 y Ft(Include)23 b(supp)s(ort)f(for)i(copro)s(cesses)g(and)f
-(the)h Fs(coproc)e Ft(reserv)m(ed)i(w)m(ord)g(\(see)h(Section)f(3.2.2)
-630 4664 y([Pip)s(elines],)31 b(page)g(8\).)150 4838
-y Fs(--enable-debugger)630 4947 y Ft(Include)f(supp)s(ort)e(for)i(the)h
+4052 y Ft(Include)k(supp)s(ort)f(for)i(matc)m(hing)h
+Fl(posix)e Ft(regular)h(expressions)g(using)f(the)h(`)p
+Fs(=~)p Ft(')g(binary)630 4162 y(op)s(erator)25 b(in)f(the)h
+Fs([[)f Ft(conditional)h(command.)39 b(\(see)25 b(Section)h(3.2.4.2)h
+([Conditional)e(Con-)630 4271 y(structs],)31 b(page)g(10\).)150
+4445 y Fs(--enable-coprocesses)630 4555 y Ft(Include)23
+b(supp)s(ort)f(for)i(copro)s(cesses)g(and)f(the)h Fs(coproc)e
+Ft(reserv)m(ed)i(w)m(ord)g(\(see)h(Section)f(3.2.2)630
+4664 y([Pip)s(elines],)31 b(page)g(8\).)150 4838 y Fs
+(--enable-debugger)630 4947 y Ft(Include)f(supp)s(ort)e(for)i(the)h
(bash)f(debugger)g(\(distributed)g(separately\).)150
5121 y Fs(--enable-directory-stack)630 5230 y Ft(Include)j(supp)s(ort)g
(for)h(a)g Fs(csh)p Ft(-lik)m(e)h(directory)f(stac)m(k)i(and)d(the)i
Fs(pushd)p Ft(,)f Fs(popd)p Ft(,)g(and)f Fs(dirs)630
5340 y Ft(builtins)d(\(see)h(Section)g(6.8)h([The)e(Directory)i(Stac)m
-(k],)g(page)f(81\).)p eop end
-%%Page: 132 138
-TeXDict begin 132 137 bop 150 -116 a Ft(132)2527 b(Bash)31
+(k],)g(page)f(83\).)p eop end
+%%Page: 136 142
+TeXDict begin 136 141 bop 150 -116 a Ft(136)2527 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fs(--enable-disabled-builti)o(ns)630
408 y Ft(Allo)m(w)40 b(builtin)e(commands)g(to)h(b)s(e)f(in)m(v)m(ok)m
(ed)i(via)f(`)p Fs(builtin)29 b(xxx)p Ft(')37 b(ev)m(en)j(after)f
Fs(xxx)e Ft(has)630 518 y(b)s(een)31 b(disabled)g(using)g(`)p
Fs(enable)d(-n)i(xxx)p Ft('.)43 b(See)32 b(Section)g(4.2)h([Bash)e
-(Builtins],)i(page)f(41,)630 628 y(for)e(details)i(of)e(the)h
+(Builtins],)i(page)f(43,)630 628 y(for)e(details)i(of)e(the)h
Fs(builtin)d Ft(and)i Fs(enable)e Ft(builtin)i(commands.)150
783 y Fs(--enable-dparen-arithmet)o(ic)630 892 y Ft(Include)42
b(supp)s(ort)f(for)h(the)h Fs(\(\(...)o(\)\))f Ft(command)g(\(see)i
@@ -13835,21 +14121,21 @@ b(page)h(10\).)150 1157 y Fs(--enable-extended-glob)630
1267 y Ft(Include)40 b(supp)s(ort)e(for)i(the)h(extended)f(pattern)h
(matc)m(hing)g(features)g(describ)s(ed)e(ab)s(o)m(v)m(e)630
1377 y(under)29 b(Section)i(3.5.8.1)i([P)m(attern)e(Matc)m(hing],)i
-(page)e(24.)150 1532 y Fs(--enable-extended-glob-d)o(efau)o(lt)630
+(page)e(26.)150 1532 y Fs(--enable-extended-glob-d)o(efau)o(lt)630
1641 y Ft(Set)40 b(the)g(default)g(v)-5 b(alue)41 b(of)f(the)g
Fq(extglob)j Ft(shell)d(option)g(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)
d(Sec-)630 1751 y(tion)31 b(4.3.2)h([The)e(Shopt)g(Builtin],)h(page)g
-(55)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630
+(57)g(to)h(b)s(e)d(enabled.)150 1906 y Fs(--enable-help-builtin)630
2016 y Ft(Include)24 b(the)h Fs(help)f Ft(builtin,)h(whic)m(h)g(displa)
m(ys)f(help)h(on)f(shell)h(builtins)f(and)h(v)-5 b(ariables)25
b(\(see)630 2125 y(Section)31 b(4.2)h([Bash)e(Builtins],)i(page)f
-(41\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g
+(43\).)150 2281 y Fs(--enable-history)630 2390 y Ft(Include)e(command)g
(history)h(and)f(the)h Fs(fc)f Ft(and)g Fs(history)e
Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g
-(History)g(F)-8 b(acilities],)34 b(page)d(121\).)150
+(History)g(F)-8 b(acilities],)34 b(page)d(125\).)150
2655 y Fs(--enable-job-control)630 2765 y Ft(This)e(enables)i(the)f
(job)g(con)m(trol)h(features)g(\(see)g(Chapter)f(7)g([Job)g(Con)m
-(trol],)h(page)g(89\),)h(if)630 2874 y(the)f(op)s(erating)f(system)h
+(trol],)h(page)g(91\),)h(if)630 2874 y(the)f(op)s(erating)f(system)h
(supp)s(orts)d(them.)150 3029 y Fs(--enable-multibyte)630
3139 y Ft(This)h(enables)i(supp)s(ort)d(for)i(m)m(ultib)m(yte)h(c)m
(haracters)g(if)f(the)g(op)s(erating)h(system)f(pro)m(vides)630
@@ -13859,14 +14145,14 @@ Ft(builtin)j(commands)f(\(see)h(Sec-)630 2500 y(tion)h(9.1)g([Bash)g
Fs(/dev/tcp/)p Fi(host)11 b Fs(/)p Fi(port)630 3623 y
Ft(and)29 b Fs(/dev/udp/)p Fi(host)11 b Fs(/)p Fi(port)34
b Ft(when)28 b(used)g(in)h(redirections)h(\(see)g(Section)g(3.6)g
-([Redirec-)630 3733 y(tions],)h(page)g(26\).)150 3888
+([Redirec-)630 3733 y(tions],)h(page)g(27\).)150 3888
y Fs(--enable-process-substit)o(utio)o(n)630 3998 y Ft(This)49
b(enables)i(pro)s(cess)f(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)
-s(cess)e(Substitution],)630 4107 y(page)31 b(23\))h(if)e(the)h(op)s
+s(cess)e(Substitution],)630 4107 y(page)31 b(24\))h(if)e(the)h(op)s
(erating)f(system)h(pro)m(vides)f(the)h(necessary)g(supp)s(ort.)150
4262 y Fs(--enable-progcomp)630 4372 y Ft(Enable)d(the)g(programmable)g
(completion)i(facilities)g(\(see)f(Section)g(8.6)g([Programmable)630
-4482 y(Completion],)i(page)h(115\).)42 b(If)30 b(Readline)h(is)f(not)h
+4482 y(Completion],)i(page)h(117\).)42 b(If)30 b(Readline)h(is)f(not)h
(enabled,)f(this)h(option)g(has)f(no)g(e\013ect.)150
4637 y Fs(--enable-prompt-string-d)o(ecod)o(ing)630 4746
y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m
@@ -13874,25 +14160,25 @@ y Ft(T)-8 b(urn)46 b(on)h(the)h(in)m(terpretation)g(of)g(a)g(n)m(um)m
4856 y(the)39 b Fs($PS1)p Ft(,)g Fs($PS2)p Ft(,)h Fs($PS3)p
Ft(,)f(and)f Fs($PS4)f Ft(prompt)h(strings.)64 b(See)39
b(Section)g(6.9)h([Prin)m(ting)f(a)630 4966 y(Prompt],)30
-b(page)h(82,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g
+b(page)h(84,)h(for)e(a)h(complete)h(list)f(of)f(prompt)g(string)g
(escap)s(e)h(sequences.)150 5121 y Fs(--enable-readline)630
5230 y Ft(Include)d(supp)s(ort)f(for)h(command-line)h(editing)g(and)f
(history)g(with)g(the)h(Bash)g(v)m(ersion)g(of)630 5340
y(the)i(Readline)g(library)f(\(see)h(Chapter)f(8)g([Command)g(Line)g
-(Editing],)h(page)g(93\).)p eop end
-%%Page: 133 139
-TeXDict begin 133 138 bop 150 -116 a Ft(Chapter)30 b(10:)41
-b(Installing)31 b(Bash)2356 b(133)150 299 y Fs(--enable-restricted)630
+(Editing],)h(page)g(95\).)p eop end
+%%Page: 137 143
+TeXDict begin 137 142 bop 150 -116 a Ft(Chapter)30 b(10:)41
+b(Installing)31 b(Bash)2356 b(137)150 299 y Fs(--enable-restricted)630
408 y Ft(Include)41 b(supp)s(ort)f(for)i(a)g Fq(restricted)g(shell)p
Ft(.)75 b(If)42 b(this)f(is)h(enabled,)j(Bash,)g(when)c(called)630
518 y(as)f Fs(rbash)p Ft(,)h(en)m(ters)f(a)g(restricted)h(mo)s(de.)68
b(See)40 b(Section)h(6.10)g([The)f(Restricted)h(Shell],)630
-628 y(page)31 b(84,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s
-(de.)150 787 y Fs(--enable-select)630 897 y Ft(Include)k(the)g
-Fs(select)f Ft(builtin,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g(of)
-g(simple)f(men)m(us)g(\(see)630 1006 y(Section)c(3.2.4.2)i
-([Conditional)e(Constructs],)g(page)g(10\).)150 1166
-y Fs(--enable-separate-helpfi)o(les)630 1275 y Ft(Use)h(external)h
+628 y(page)31 b(86,)h(for)e(a)g(description)h(of)f(restricted)h(mo)s
+(de.)150 787 y Fs(--enable-select)630 897 y Ft(Include)25
+b(the)h Fs(select)f Ft(comp)s(ound)f(command,)j(whic)m(h)e(allo)m(ws)j
+(the)e(generation)h(of)f(simple)630 1006 y(men)m(us)k(\(see)h(Section)g
+(3.2.4.2)i([Conditional)e(Constructs],)g(page)g(10\).)150
+1166 y Fs(--enable-separate-helpfi)o(les)630 1275 y Ft(Use)h(external)h
(\014les)f(for)g(the)g(do)s(cumen)m(tation)h(displa)m(y)m(ed)f(b)m(y)g
(the)g Fs(help)f Ft(builtin)h(instead)630 1385 y(of)f(storing)f(the)h
(text)g(in)m(ternally)-8 b(.)150 1544 y Fs(--enable-single-help-str)o
@@ -13905,7 +14191,7 @@ b(ma)m(y)g(need)630 1873 y(to)c(disable)g(this)f(if)g(y)m(our)h
2032 y Fs(--enable-strict-posix-de)o(faul)o(t)630 2142
y Ft(Mak)m(e)c(Bash)f Fl(posix)p Ft(-conforman)m(t)g(b)m(y)f(default)h
(\(see)g(Section)h(6.11)g([Bash)f(POSIX)e(Mo)s(de],)630
-2252 y(page)31 b(84\).)150 2411 y Fs(--enable-usg-echo-defaul)o(t)630
+2252 y(page)31 b(86\).)150 2411 y Fs(--enable-usg-echo-defaul)o(t)630
2521 y Ft(A)f(synon)m(ym)g(for)g Fs(--enable-xpg-echo-default)p
Ft(.)150 2680 y Fs(--enable-xpg-echo-defaul)o(t)630 2790
y Ft(Mak)m(e)c(the)f Fs(echo)e Ft(builtin)i(expand)f(bac)m
@@ -13917,7 +14203,7 @@ Ft(,)g(whic)m(h)g(mak)m(es)g(the)g(Bash)g Fs(echo)e Ft(b)s(eha)m(v)m(e)
i(more)g(lik)m(e)h(the)f(v)m(ersion)g(sp)s(eci\014ed)630
3118 y(in)41 b(the)h(Single)g(Unix)f(Sp)s(eci\014cation,)k(v)m(ersion)e
(3.)74 b(See)42 b(Section)g(4.2)h([Bash)f(Builtins],)630
-3228 y(page)31 b(41,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g
+3228 y(page)31 b(43,)h(for)e(a)g(description)h(of)f(the)h(escap)s(e)g
(sequences)f(that)h Fs(echo)f Ft(recognizes.)275 3387
y(The)23 b(\014le)i(`)p Fs(config-top.h)p Ft(')c(con)m(tains)26
b(C)e(Prepro)s(cessor)g(`)p Fs(#define)p Ft(')e(statemen)m(ts)k(for)f
@@ -13928,11 +14214,11 @@ y(the)h(consequences)g(if)f(y)m(ou)h(do.)55 b(Read)36
b(the)g(commen)m(ts)g(asso)s(ciated)h(with)e(eac)m(h)i(de\014nition)e
(for)g(more)150 3716 y(information)c(ab)s(out)f(its)h(e\013ect.)p
eop end
-%%Page: 134 140
-TeXDict begin 134 139 bop eop end
-%%Page: 135 141
-TeXDict begin 135 140 bop 150 -116 a Ft(App)s(endix)29
-b(A:)h(Rep)s(orting)h(Bugs)2299 b(135)150 299 y Fo(App)t(endix)52
+%%Page: 138 144
+TeXDict begin 138 143 bop eop end
+%%Page: 139 145
+TeXDict begin 139 144 bop 150 -116 a Ft(App)s(endix)29
+b(A:)h(Rep)s(orting)h(Bugs)2299 b(139)150 299 y Fo(App)t(endix)52
b(A)81 b(Rep)t(orting)53 b(Bugs)150 533 y Ft(Please)33
b(rep)s(ort)e(all)h(bugs)f(y)m(ou)h(\014nd)e(in)i(Bash.)44
b(But)32 b(\014rst,)g(y)m(ou)g(should)e(mak)m(e)j(sure)e(that)h(it)g
@@ -13961,12 +14247,12 @@ s(duce)e(it.)150 2182 y Fs(bashbug)d Ft(inserts)i(the)h(\014rst)f
(vides)f(for)g(\014ling)h(a)150 2291 y(bug)h(rep)s(ort.)275
2426 y(Please)h(send)f(all)h(rep)s(orts)f(concerning)g(this)h(man)m
(ual)f(to)h Fs(chet.ramey@case.edu)p Ft(.)p eop end
-%%Page: 136 142
-TeXDict begin 136 141 bop eop end
-%%Page: 137 143
-TeXDict begin 137 142 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 140 146
+TeXDict begin 140 145 bop eop end
+%%Page: 141 147
+TeXDict begin 141 146 bop 150 -116 a Ft(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(137)150 141 y Fo(App)t(endix)58
+b(The)f(Bourne)g(Shell)1258 b(141)150 141 y Fo(App)t(endix)58
b(B)81 b(Ma)9 b(jor)54 b(Di\013erences)d(F)-13 b(rom)54
b(The)g(Bourne)1088 299 y(Shell)150 530 y Ft(Bash)26
b(implemen)m(ts)h(essen)m(tially)g(the)g(same)f(grammar,)h(parameter)f
@@ -13987,20 +14273,20 @@ Fs(sh)f Ft(included)g(in)h(SVR4.2)h(\(the)f(last)h(v)m(ersion)f(of)g
Fl(posix)p Ft(-conforman)m(t,)g(ev)m(en)g(where)f(the)g
Fl(posix)g Ft(sp)s(eci\014cation)h(di\013ers)f(from)g(traditional)330
1431 y Fs(sh)e Ft(b)s(eha)m(vior)g(\(see)i(Section)f(6.11)h([Bash)e
-(POSIX)g(Mo)s(de],)h(page)g(84\).)225 1565 y Fp(\017)60
+(POSIX)g(Mo)s(de],)h(page)g(86\).)225 1565 y Fp(\017)60
b Ft(Bash)26 b(has)g(m)m(ulti-c)m(haracter)i(in)m(v)m(o)s(cation)g
(options)f(\(see)f(Section)h(6.1)g([In)m(v)m(oking)g(Bash],)h(page)e
-(71\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h
+(73\).)225 1699 y Fp(\017)60 b Ft(Bash)28 b(has)g(command-line)h
(editing)f(\(see)h(Chapter)f(8)g([Command)f(Line)h(Editing],)i(page)e
-(93\))i(and)330 1809 y(the)h Fs(bind)e Ft(builtin.)225
+(95\))i(and)330 1809 y(the)h Fs(bind)e Ft(builtin.)225
1943 y Fp(\017)60 b Ft(Bash)46 b(pro)m(vides)g(a)g(programmable)g(w)m
(ord)f(completion)i(mec)m(hanism)f(\(see)h(Section)g(8.6)g([Pro-)330
-2052 y(grammable)39 b(Completion],)i(page)e(115\),)i(and)d(builtin)g
+2052 y(grammable)39 b(Completion],)i(page)e(117\),)i(and)d(builtin)g
(commands)f Fs(complete)p Ft(,)h Fs(compgen)p Ft(,)h(and)330
2162 y Fs(compopt)p Ft(,)29 b(to)i(manipulate)g(it.)225
2296 y Fp(\017)60 b Ft(Bash)26 b(has)f(command)h(history)f(\(see)i
(Section)f(9.1)h([Bash)f(History)h(F)-8 b(acilities],)30
-b(page)c(121\))i(and)d(the)330 2405 y Fs(history)k Ft(and)h
+b(page)c(125\))i(and)d(the)330 2405 y Fs(history)k Ft(and)h
Fs(fc)g Ft(builtins)g(to)h(manipulate)g(it.)42 b(The)30
b(Bash)h(history)g(list)g(main)m(tains)g(timestamp)330
2515 y(information)g(and)e(uses)h(the)h(v)-5 b(alue)31
@@ -14008,9 +14294,9 @@ b(of)f(the)h Fs(HISTTIMEFORMAT)26 b Ft(v)-5 b(ariable)32
b(to)f(displa)m(y)f(it.)225 2649 y Fp(\017)60 b Ft(Bash)48
b(implemen)m(ts)h Fs(csh)p Ft(-lik)m(e)g(history)f(expansion)g(\(see)h
(Section)g(9.3)h([History)f(In)m(teraction],)330 2759
-y(page)31 b(123\).)225 2892 y Fp(\017)60 b Ft(Bash)33
+y(page)31 b(127\).)225 2892 y Fp(\017)60 b Ft(Bash)33
b(has)g(one-dimensional)h(arra)m(y)f(v)-5 b(ariables)34
-b(\(see)g(Section)g(6.7)g([Arra)m(ys],)g(page)g(80\),)h(and)e(the)330
+b(\(see)g(Section)g(6.7)g([Arra)m(ys],)g(page)g(82\),)h(and)e(the)330
3002 y(appropriate)39 b(v)-5 b(ariable)40 b(expansions)f(and)g
(assignmen)m(t)h(syn)m(tax)g(to)g(use)f(them.)67 b(Sev)m(eral)40
b(of)g(the)330 3112 y(Bash)32 b(builtins)f(tak)m(e)j(options)e(to)h
@@ -14047,13 +14333,13 @@ b(ariable.)225 4987 y Fp(\017)60 b Ft(Bash)23 b(implemen)m(ts)g(the)h
Fs(for)29 b(\(\()h Fi(expr1)39 b Fs(;)30 b Fi(expr2)40
b Fs(;)30 b Fi(expr3)39 b Fs(\)\))23 b Ft(arithmetic)h(for)e(command,)j
(sim-)330 5096 y(ilar)31 b(to)g(the)g(C)f(language)h(\(see)h(Section)f
-(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(9\).)225
+(3.2.4.1)i([Lo)s(oping)d(Constructs],)h(page)g(10\).)225
5230 y Fp(\017)60 b Ft(Bash)31 b(includes)f(the)g Fs(select)f
Ft(comp)s(ound)g(command,)i(whic)m(h)f(allo)m(ws)i(the)f(generation)g
(of)g(simple)330 5340 y(men)m(us)f(\(see)h(Section)g(3.2.4.2)i
([Conditional)e(Constructs],)g(page)g(10\).)p eop end
-%%Page: 138 144
-TeXDict begin 138 143 bop 150 -116 a Ft(138)2527 b(Bash)31
+%%Page: 142 148
+TeXDict begin 142 147 bop 150 -116 a Ft(142)2527 b(Bash)31
b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(Bash)40
b(includes)g(the)g Fs([[)g Ft(comp)s(ound)e(command,)43
b(whic)m(h)c(mak)m(es)i(conditional)h(testing)f(part)f(of)330
@@ -14063,17 +14349,17 @@ b(regular)e(expression)g(matc)m(hing.)225 653 y Fp(\017)60
b Ft(Bash)31 b(pro)m(vides)f(optional)h(case-insensitiv)m(e)i(matc)m
(hing)f(for)e(the)g Fs(case)g Ft(and)f Fs([[)h Ft(constructs.)225
789 y Fp(\017)60 b Ft(Bash)27 b(includes)g(brace)h(expansion)f(\(see)h
-(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(18\))h(and)d(tilde)330
+(Section)g(3.5.1)i([Brace)e(Expansion],)g(page)g(19\))h(and)d(tilde)330
898 y(expansion)k(\(see)i(Section)f(3.5.2)h([Tilde)f(Expansion],)f
-(page)h(19\).)225 1034 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h
+(page)h(20\).)225 1034 y Fp(\017)60 b Ft(Bash)24 b(implemen)m(ts)h
(command)e(aliases)j(and)d(the)i Fs(alias)d Ft(and)i
Fs(unalias)e Ft(builtins)h(\(see)i(Section)g(6.6)330
-1143 y([Aliases],)32 b(page)f(79\).)225 1279 y Fp(\017)60
+1143 y([Aliases],)32 b(page)f(81\).)225 1279 y Fp(\017)60
b Ft(Bash)32 b(pro)m(vides)g(shell)g(arithmetic,)i(the)e
Fs(\(\()g Ft(comp)s(ound)e(command)i(\(see)h(Section)f(3.2.4.2)j([Con-)
330 1388 y(ditional)d(Constructs],)e(page)i(10\),)g(and)e(arithmetic)i
(expansion)e(\(see)i(Section)f(6.5)h([Shell)f(Arith-)330
-1498 y(metic],)h(page)f(78\).)225 1633 y Fp(\017)60 b
+1498 y(metic],)h(page)f(80\).)225 1633 y Fp(\017)60 b
Ft(V)-8 b(ariables)31 b(presen)m(t)e(in)g(the)g(shell's)h(initial)g(en)
m(vironmen)m(t)g(are)g(automatically)i(exp)s(orted)d(to)h(c)m(hild)330
1743 y(pro)s(cesses.)38 b(The)23 b(Bourne)g(shell)g(do)s(es)g(not)g
@@ -14089,44 +14375,44 @@ Fs(#)p Ft(',)g(`)p Fs(\045\045)p Ft(')e(and)f(`)p Fs(##)p
Ft(')h(expansions)g(to)g(remo)m(v)m(e)330 2342 y(leading)f(or)f
(trailing)h(substrings)e(from)g(v)-5 b(ariable)35 b(v)-5
b(alues)35 b(\(see)g(Section)g(3.5.3)g([Shell)g(P)m(arameter)330
-2452 y(Expansion],)30 b(page)h(19\).)225 2587 y Fp(\017)60
+2452 y(Expansion],)30 b(page)h(21\).)225 2587 y Fp(\017)60
b Ft(The)46 b(expansion)g Fs(${#xx})p Ft(,)j(whic)m(h)d(returns)f(the)i
(length)f(of)h Fs(${xx})p Ft(,)i(is)e(supp)s(orted)d(\(see)j(Sec-)330
2697 y(tion)31 b(3.5.3)h([Shell)f(P)m(arameter)g(Expansion],)f(page)i
-(19\).)225 2832 y Fp(\017)60 b Ft(The)30 b(expansion)g
+(21\).)225 2832 y Fp(\017)60 b Ft(The)30 b(expansion)g
Fs(${var:)p Fq(o\013set)r Fs([:)p Fq(length)p Fs(]})p
Ft(,)g(whic)m(h)g(expands)g(to)h(the)g(substring)e(of)i
Fs(var)p Ft('s)e(v)-5 b(alue)330 2942 y(of)43 b(length)g
Fq(length)p Ft(,)j(b)s(eginning)c(at)i Fq(o\013set)r
Ft(,)j(is)42 b(presen)m(t)h(\(see)h(Section)f(3.5.3)i([Shell)e(P)m
-(arameter)330 3051 y(Expansion],)30 b(page)h(19\).)225
+(arameter)330 3051 y(Expansion],)30 b(page)h(21\).)225
3187 y Fp(\017)60 b Ft(The)21 b(expansion)f Fs(${var/[/])p
Fq(pattern)p Fs([/)p Fq(replacemen)m(t)r Fs(]})p Ft(,)i(whic)m(h)e
(matc)m(hes)j Fq(pattern)e Ft(and)f(replaces)330 3296
y(it)29 b(with)e Fq(replacemen)m(t)32 b Ft(in)c(the)g(v)-5
b(alue)29 b(of)f Fs(var)p Ft(,)g(is)g(a)m(v)-5 b(ailable)31
b(\(see)e(Section)f(3.5.3)i([Shell)f(P)m(arameter)330
-3406 y(Expansion],)h(page)h(19\).)225 3541 y Fp(\017)60
+3406 y(Expansion],)h(page)h(21\).)225 3541 y Fp(\017)60
b Ft(The)32 b(expansion)g Fs(${!)p Fi(prefix)p Fs(})p
Fi(*)40 b Ft(expansion,)32 b(whic)m(h)g(expands)g(to)h(the)f(names)g
(of)h(all)g(shell)f(v)-5 b(ari-)330 3651 y(ables)36 b(whose)f(names)h
(b)s(egin)f(with)g Fq(pre\014x)6 b Ft(,)36 b(is)g(a)m(v)-5
b(ailable)38 b(\(see)e(Section)h(3.5.3)g([Shell)f(P)m(arameter)330
-3761 y(Expansion],)30 b(page)h(19\).)225 3896 y Fp(\017)60
+3761 y(Expansion],)30 b(page)h(21\).)225 3896 y Fp(\017)60
b Ft(Bash)22 b(has)f Fq(indirect)j Ft(v)-5 b(ariable)22
b(expansion)g(using)f Fs(${!word})e Ft(\(see)k(Section)f(3.5.3)i
-([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(19\).)225
+([Shell)e(P)m(arameter)330 4006 y(Expansion],)30 b(page)h(21\).)225
4141 y Fp(\017)60 b Ft(Bash)31 b(can)f(expand)g(p)s(ositional)h
(parameters)g(b)s(ey)m(ond)e Fs($9)h Ft(using)g Fs(${)p
Fi(num)11 b Fs(})p Ft(.)225 4276 y Fp(\017)60 b Ft(The)27
b Fl(posix)g Fs($\(\))g Ft(form)g(of)h(command)g(substitution)f(is)h
(implemen)m(ted)g(\(see)h(Section)f(3.5.4)i([Com-)330
-4386 y(mand)38 b(Substitution],)k(page)e(22\),)j(and)38
+4386 y(mand)38 b(Substitution],)k(page)e(24\),)j(and)38
b(preferred)g(to)i(the)g(Bourne)f(shell's)h Fs(``)e Ft(\(whic)m(h)i(is)
f(also)330 4495 y(implemen)m(ted)31 b(for)f(bac)m(kw)m(ards)h
(compatibilit)m(y\).)225 4631 y Fp(\017)60 b Ft(Bash)31
b(has)f(pro)s(cess)g(substitution)g(\(see)h(Section)g(3.5.6)h([Pro)s
-(cess)f(Substitution],)f(page)h(23\).)225 4766 y Fp(\017)60
+(cess)f(Substitution],)f(page)h(24\).)225 4766 y Fp(\017)60
b Ft(Bash)55 b(automatically)j(assigns)e(v)-5 b(ariables)55
b(that)h(pro)m(vide)f(information)h(ab)s(out)f(the)g(curren)m(t)330
4876 y(user)40 b(\()p Fs(UID)p Ft(,)i Fs(EUID)p Ft(,)g(and)e
@@ -14135,26 +14421,26 @@ Ft(,)h Fs(OSTYPE)p Ft(,)h Fs(MACHTYPE)p Ft(,)f(and)330
4985 y Fs(HOSTNAME)p Ft(\),)55 b(and)c(the)g(instance)h(of)g(Bash)f
(that)h(is)f(running)f(\()p Fs(BASH)p Ft(,)56 b Fs(BASH_VERSION)p
Ft(,)e(and)330 5095 y Fs(BASH_VERSINFO)p Ft(\).)37 b(See)31
-b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33 b(page)e(61,)g(for)f
+b(Section)g(5.2)h([Bash)e(V)-8 b(ariables],)33 b(page)e(63,)g(for)f
(details.)225 5230 y Fp(\017)60 b Ft(The)44 b Fs(IFS)f
Ft(v)-5 b(ariable)45 b(is)f(used)f(to)i(split)f(only)g(the)g(results)g
(of)h(expansion,)i(not)d(all)h(w)m(ords)f(\(see)330 5340
-y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(23\).)41
+y(Section)29 b(3.5.7)h([W)-8 b(ord)29 b(Splitting],)h(page)f(25\).)41
b(This)28 b(closes)h(a)g(longstanding)g(shell)f(securit)m(y)h(hole.)p
eop end
-%%Page: 139 145
-TeXDict begin 139 144 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 143 149
+TeXDict begin 143 148 bop 150 -116 a Ft(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(139)225 299 y Fp(\017)60
+b(The)f(Bourne)g(Shell)1258 b(143)225 299 y Fp(\017)60
b Ft(Bash)38 b(implemen)m(ts)g(the)g(full)g(set)g(of)g
Fl(posix)f Ft(\014lename)h(expansion)g(op)s(erators,)i(including)d
Fq(c)m(har-)330 408 y(acter)i(classes)t Ft(,)h Fq(equiv)-5
b(alence)39 b(classes)t Ft(,)h(and)d Fq(collating)j(sym)m(b)s(ols)g
Ft(\(see)f(Section)f(3.5.8)h([Filename)330 518 y(Expansion],)30
-b(page)h(24\).)225 660 y Fp(\017)60 b Ft(Bash)35 b(implemen)m(ts)g
+b(page)h(25\).)225 660 y Fp(\017)60 b Ft(Bash)35 b(implemen)m(ts)g
(extended)g(pattern)g(matc)m(hing)h(features)f(when)f(the)h
Fs(extglob)d Ft(shell)j(option)330 769 y(is)30 b(enabled)h(\(see)g
-(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(24\).)225
+(Section)g(3.5.8.1)i([P)m(attern)f(Matc)m(hing],)g(page)f(26\).)225
911 y Fp(\017)60 b Ft(It)22 b(is)g(p)s(ossible)g(to)h(ha)m(v)m(e)g(a)f
(v)-5 b(ariable)23 b(and)f(a)g(function)g(with)g(the)g(same)g(name;)j
Fs(sh)d Ft(do)s(es)g(not)g(separate)330 1021 y(the)31
@@ -14163,24 +14449,24 @@ Ft(Bash)30 b(functions)e(are)i(p)s(ermitted)f(to)h(ha)m(v)m(e)h(lo)s
(cal)g(v)-5 b(ariables)30 b(using)f(the)g Fs(local)f
Ft(builtin,)i(and)e(th)m(us)330 1272 y(useful)i(recursiv)m(e)g
(functions)g(ma)m(y)h(b)s(e)f(written)g(\(see)i(Section)f(4.2)g([Bash)g
-(Builtins],)g(page)h(41\).)225 1414 y Fp(\017)60 b Ft(V)-8
+(Builtins],)g(page)h(43\).)225 1414 y Fp(\017)60 b Ft(V)-8
b(ariable)25 b(assignmen)m(ts)g(preceding)e(commands)h(a\013ect)h(only)
f(that)g(command,)h(ev)m(en)f(builtins)g(and)330 1524
y(functions)36 b(\(see)h(Section)g(3.7.4)h([En)m(vironmen)m(t],)h(page)
-e(31\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37
+e(33\).)60 b(In)35 b Fs(sh)p Ft(,)j(all)f(v)-5 b(ariable)37
b(assignmen)m(ts)330 1633 y(preceding)30 b(commands)g(are)h(global)h
(unless)d(the)i(command)f(is)h(executed)g(from)f(the)g(\014le)h
(system.)225 1775 y Fp(\017)60 b Ft(Bash)44 b(p)s(erforms)e(\014lename)
i(expansion)f(on)h(\014lenames)g(sp)s(eci\014ed)f(as)h(op)s(erands)e
(to)j(input)e(and)330 1885 y(output)30 b(redirection)h(op)s(erators)g
-(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(26\).)225
+(\(see)g(Section)g(3.6)h([Redirections],)g(page)f(27\).)225
2027 y Fp(\017)60 b Ft(Bash)29 b(con)m(tains)h(the)f(`)p
Fs(<>)p Ft(')f(redirection)i(op)s(erator,)f(allo)m(wing)i(a)e(\014le)g
(to)g(b)s(e)f(op)s(ened)g(for)h(b)s(oth)f(read-)330 2136
y(ing)35 b(and)f(writing,)i(and)e(the)h(`)p Fs(&>)p Ft(')g(redirection)
g(op)s(erator,)h(for)f(directing)g(standard)f(output)h(and)330
2246 y(standard)30 b(error)g(to)h(the)f(same)h(\014le)f(\(see)i
-(Section)f(3.6)g([Redirections],)h(page)g(26\).)225 2388
+(Section)f(3.6)g([Redirections],)h(page)g(27\).)225 2388
y Fp(\017)60 b Ft(Bash)21 b(includes)f(the)h(`)p Fs(<<<)p
Ft(')g(redirection)g(op)s(erator,)i(allo)m(wing)g(a)e(string)f(to)i(b)s
(e)e(used)g(as)h(the)g(standard)330 2497 y(input)29 b(to)j(a)e
@@ -14191,20 +14477,20 @@ m(e)330 2749 y(one)j(\014le)f(descriptor)g(to)h(another.)225
2890 y Fp(\017)60 b Ft(Bash)25 b(treats)h(a)f(n)m(um)m(b)s(er)e(of)i
(\014lenames)g(sp)s(ecially)g(when)f(they)h(are)g(used)f(in)g
(redirection)i(op)s(erators)330 3000 y(\(see)31 b(Section)h(3.6)f
-([Redirections],)h(page)f(26\).)225 3142 y Fp(\017)60
+([Redirections],)h(page)f(27\).)225 3142 y Fp(\017)60
b Ft(Bash)33 b(can)f(op)s(en)g(net)m(w)m(ork)i(connections)f(to)h
(arbitrary)e(mac)m(hines)h(and)f(services)h(with)f(the)h(redi-)330
3251 y(rection)e(op)s(erators)g(\(see)g(Section)g(3.6)h
-([Redirections],)g(page)f(26\).)225 3393 y Fp(\017)60
+([Redirections],)g(page)f(27\).)225 3393 y Fp(\017)60
b Ft(The)29 b Fs(noclobber)e Ft(option)j(is)g(a)m(v)-5
b(ailable)32 b(to)e(a)m(v)m(oid)h(o)m(v)m(erwriting)g(existing)g
(\014les)e(with)h(output)f(redi-)330 3503 y(rection)39
-b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(51\).)66
+b(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)i(page)e(54\).)66
b(The)38 b(`)p Fs(>|)p Ft(')h(redirection)g(op)s(erator)330
3612 y(ma)m(y)31 b(b)s(e)f(used)f(to)i(o)m(v)m(erride)h
Fs(noclobber)p Ft(.)225 3754 y Fp(\017)60 b Ft(The)34
b(Bash)g Fs(cd)g Ft(and)f Fs(pwd)g Ft(builtins)h(\(see)h(Section)g(4.1)
-g([Bourne)g(Shell)f(Builtins],)h(page)g(35\))h(eac)m(h)330
+g([Bourne)g(Shell)f(Builtins],)h(page)g(37\))h(eac)m(h)330
3864 y(tak)m(e)c(`)p Fs(-L)p Ft(')e(and)g(`)p Fs(-P)p
Ft(')g(options)h(to)g(switc)m(h)g(b)s(et)m(w)m(een)g(logical)i(and)c
(ph)m(ysical)i(mo)s(des.)225 4006 y Fp(\017)60 b Ft(Bash)25
@@ -14213,26 +14499,26 @@ b(allo)m(ws)h(a)g(function)e(to)i(o)m(v)m(erride)g(a)g(builtin)e(with)h
4115 y(that)34 b(builtin's)f(functionalit)m(y)h(within)f(the)g
(function)g(via)h(the)f Fs(builtin)f Ft(and)g Fs(command)g
Ft(builtins)330 4225 y(\(see)f(Section)h(4.2)f([Bash)g(Builtins],)g
-(page)g(41\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e
+(page)g(43\).)225 4367 y Fp(\017)60 b Ft(The)35 b Fs(command)e
Ft(builtin)i(allo)m(ws)i(selectiv)m(e)h(disabling)e(of)f(functions)g
(when)g(command)g(lo)s(okup)g(is)330 4476 y(p)s(erformed)29
-b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(41\).)225
+b(\(see)i(Section)g(4.2)h([Bash)f(Builtins],)g(page)g(43\).)225
4618 y Fp(\017)60 b Ft(Individual)23 b(builtins)g(ma)m(y)i(b)s(e)e
(enabled)h(or)g(disabled)g(using)f(the)h Fs(enable)f
Ft(builtin)g(\(see)i(Section)g(4.2)330 4728 y([Bash)31
-b(Builtins],)g(page)g(41\).)225 4869 y Fp(\017)60 b Ft(The)26
+b(Builtins],)g(page)g(43\).)225 4869 y Fp(\017)60 b Ft(The)26
b(Bash)h Fs(exec)e Ft(builtin)h(tak)m(es)i(additional)f(options)g(that)
g(allo)m(w)h(users)d(to)j(con)m(trol)g(the)e(con)m(ten)m(ts)330
4979 y(of)35 b(the)f(en)m(vironmen)m(t)h(passed)f(to)h(the)g(executed)g
(command,)h(and)d(what)i(the)f(zeroth)h(argumen)m(t)330
5089 y(to)c(the)g(command)f(is)g(to)h(b)s(e)f(\(see)h(Section)h(4.1)f
-([Bourne)f(Shell)h(Builtins],)g(page)g(35\).)225 5230
+([Bourne)f(Shell)h(Builtins],)g(page)g(37\).)225 5230
y Fp(\017)60 b Ft(Shell)29 b(functions)g(ma)m(y)h(b)s(e)f(exp)s(orted)g
(to)h(c)m(hildren)f(via)h(the)g(en)m(vironmen)m(t)g(using)f
Fs(export)f(-f)h Ft(\(see)330 5340 y(Section)i(3.3)h([Shell)e(F)-8
-b(unctions],)32 b(page)f(14\).)p eop end
-%%Page: 140 146
-TeXDict begin 140 145 bop 150 -116 a Ft(140)2527 b(Bash)31
+b(unctions],)32 b(page)f(15\).)p eop end
+%%Page: 144 150
+TeXDict begin 144 149 bop 150 -116 a Ft(144)2527 b(Bash)31
b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(The)37
b(Bash)g Fs(export)p Ft(,)h Fs(readonly)p Ft(,)f(and)f
Fs(declare)g Ft(builtins)h(can)g(tak)m(e)i(a)f(`)p Fs(-f)p
@@ -14249,15 +14535,15 @@ Ft(builtin)g(allo)m(ws)j(a)e(name)g(to)g(b)s(e)f(asso)s(ciated)j(with)d
(an)h(arbitrary)f(\014lename,)330 874 y(ev)m(en)30 b(when)e(that)h
(\014lename)g(cannot)h(b)s(e)e(found)g(b)m(y)h(searc)m(hing)g(the)g
Fs($PATH)p Ft(,)g(using)f(`)p Fs(hash)h(-p)p Ft(')g(\(see)330
-984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(35\).)225
+984 y(Section)i(4.1)h([Bourne)e(Shell)g(Builtins],)h(page)h(37\).)225
1121 y Fp(\017)60 b Ft(Bash)27 b(includes)f(a)i Fs(help)d
Ft(builtin)i(for)f(quic)m(k)h(reference)h(to)f(shell)g(facilities)i
-(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(41\).)225
+(\(see)f(Section)g(4.2)g([Bash)330 1230 y(Builtins],)j(page)g(43\).)225
1367 y Fp(\017)60 b Ft(The)42 b Fs(printf)g Ft(builtin)g(is)h(a)m(v)-5
b(ailable)45 b(to)f(displa)m(y)f(formatted)g(output)g(\(see)h(Section)g
-(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(41\).)225
+(4.2)g([Bash)330 1477 y(Builtins],)31 b(page)g(43\).)225
1614 y Fp(\017)60 b Ft(The)26 b(Bash)h Fs(read)f Ft(builtin)g(\(see)i
-(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(41\))g(will)f(read)g(a)g
+(Section)g(4.2)g([Bash)f(Builtins],)h(page)g(43\))g(will)f(read)g(a)g
(line)g(ending)330 1724 y(in)f(`)p Fs(\\)p Ft(')h(with)f(the)g(`)p
Fs(-r)p Ft(')h(option,)h(and)d(will)i(use)f(the)h Fs(REPLY)e
Ft(v)-5 b(ariable)27 b(as)g(a)f(default)h(if)f(no)h(non-option)330
@@ -14280,23 +14566,23 @@ h(particular)g(c)m(haracter)h(rather)e(than)g(newline.)225
2628 y Fp(\017)60 b Ft(The)33 b Fs(return)e Ft(builtin)i(ma)m(y)g(b)s
(e)g(used)f(to)i(ab)s(ort)f(execution)h(of)f(scripts)g(executed)h(with)
f(the)g Fs(.)g Ft(or)330 2737 y Fs(source)c Ft(builtins)g(\(see)j
-(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(35\).)225
+(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g(37\).)225
2874 y Fp(\017)60 b Ft(Bash)43 b(includes)g(the)g Fs(shopt)f
Ft(builtin,)k(for)d(\014ner)f(con)m(trol)j(of)e(shell)h(optional)g
(capabilities)h(\(see)330 2984 y(Section)c(4.3.2)g([The)f(Shopt)f
-(Builtin],)k(page)d(55\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f
+(Builtin],)k(page)d(57\),)k(and)39 b(allo)m(ws)i(these)f(options)h(to)f
(b)s(e)f(set)i(and)330 3093 y(unset)30 b(at)h(shell)g(in)m(v)m(o)s
(cation)h(\(see)f(Section)h(6.1)f([In)m(v)m(oking)g(Bash],)g(page)h
-(71\).)225 3230 y Fp(\017)60 b Ft(Bash)45 b(has)f(m)m(uc)m(h)g(more)h
+(73\).)225 3230 y Fp(\017)60 b Ft(Bash)45 b(has)f(m)m(uc)m(h)g(more)h
(optional)h(b)s(eha)m(vior)e(con)m(trollable)j(with)e(the)f
Fs(set)g Ft(builtin)g(\(see)h(Sec-)330 3340 y(tion)31
-b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(51\).)225 3477
+b(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(54\).)225 3477
y Fp(\017)60 b Ft(The)31 b(`)p Fs(-x)p Ft(')g(\()p Fs(xtrace)p
Ft(\))g(option)h(displa)m(ys)f(commands)h(other)f(than)h(simple)f
(commands)g(when)g(p)s(er-)330 3587 y(forming)f(an)g(execution)i(trace)
-f(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(51\).)225
+f(\(see)h(Section)f(4.3.1)h([The)e(Set)h(Builtin],)g(page)g(54\).)225
3724 y Fp(\017)60 b Ft(The)28 b Fs(test)g Ft(builtin)h(\(see)h(Section)
-f(4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(35\))g(is)f(sligh)m(tly)h
+f(4.1)h([Bourne)f(Shell)g(Builtins],)h(page)g(37\))g(is)f(sligh)m(tly)h
(di\013eren)m(t,)330 3833 y(as)23 b(it)g(implemen)m(ts)f(the)h
Fl(posix)f Ft(algorithm,)j(whic)m(h)d(sp)s(eci\014es)g(the)h(b)s(eha)m
(vior)f(based)g(on)h(the)f(n)m(um)m(b)s(er)330 3943 y(of)31
@@ -14307,7 +14593,7 @@ b(\(a)f(shell)f(function)h(or)f(a)h(script)f(executed)h(with)f(the)h
Fs(.)f Ft(or)g Fs(source)f Ft(builtins\).)39 b(This)26
b(supp)s(orts)330 4299 y(the)31 b(bash)e(debugger.)225
4436 y Fp(\017)60 b Ft(The)42 b Fs(trap)f Ft(builtin)h(\(see)i(Section)
-f(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(35\))h(allo)m(ws)g(a)e
+f(4.1)h([Bourne)e(Shell)g(Builtins],)47 b(page)c(37\))h(allo)m(ws)g(a)e
Fs(DEBUG)330 4545 y Ft(pseudo-signal)c(sp)s(eci\014cation,)i(similar)e
(to)g Fs(EXIT)p Ft(.)62 b(Commands)36 b(sp)s(eci\014ed)h(with)g(a)h
Fs(DEBUG)e Ft(trap)330 4655 y(are)k(executed)g(b)s(efore)f(ev)m(ery)h
@@ -14323,20 +14609,20 @@ Fs(functrace)d Ft(option)j(has)f(b)s(een)g(enabled)g(using)330
Fs(extdebug)f Ft(shell)i(option)g(has)f(additional)h(e\013ects)h(on)f
(the)g Fs(DEBUG)e Ft(trap.)330 5230 y(The)21 b Fs(trap)e
Ft(builtin)i(\(see)h(Section)g(4.1)g([Bourne)f(Shell)g(Builtins],)j
-(page)e(35\))g(allo)m(ws)g(an)f Fs(ERR)f Ft(pseudo-)330
+(page)e(37\))g(allo)m(ws)g(an)f Fs(ERR)f Ft(pseudo-)330
5340 y(signal)30 b(sp)s(eci\014cation,)h(similar)f(to)g
Fs(EXIT)f Ft(and)g Fs(DEBUG)p Ft(.)39 b(Commands)28 b(sp)s(eci\014ed)h
(with)g(an)g Fs(ERR)g Ft(trap)p eop end
-%%Page: 141 147
-TeXDict begin 141 146 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 145 151
+TeXDict begin 145 150 bop 150 -116 a Ft(App)s(endix)29
b(B:)i(Ma)5 b(jor)31 b(Di\013erences)g(F)-8 b(rom)31
-b(The)f(Bourne)g(Shell)1258 b(141)330 299 y(are)40 b(executed)g(after)g
+b(The)f(Bourne)g(Shell)1258 b(145)330 299 y(are)40 b(executed)g(after)g
(a)f(simple)h(command)f(fails,)j(with)d(a)h(few)f(exceptions.)68
b(The)39 b Fs(ERR)g Ft(trap)g(is)330 408 y(not)g(inherited)f(b)m(y)h
(shell)g(functions)f(unless)g(the)h Fs(-o)29 b(errtrace)37
b Ft(option)i(to)g(the)g Fs(set)f Ft(builtin)g(is)330
518 y(enabled.)330 650 y(The)g Fs(trap)g Ft(builtin)h(\(see)g(Section)h
-(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(35\))g(allo)m(ws)g(a)g
+(4.1)g([Bourne)f(Shell)g(Builtins],)i(page)f(37\))g(allo)m(ws)g(a)g
Fs(RETURN)330 760 y Ft(pseudo-signal)35 b(sp)s(eci\014cation,)j
(similar)d(to)h Fs(EXIT)e Ft(and)g Fs(DEBUG)p Ft(.)54
b(Commands)34 b(sp)s(eci\014ed)g(with)h(an)330 869 y
@@ -14351,30 +14637,30 @@ g(the)g Fs(shopt)f Ft(builtin.)225 1330 y Fp(\017)60
b Ft(The)30 b(Bash)g Fs(type)f Ft(builtin)h(is)g(more)g(extensiv)m(e)i
(and)d(giv)m(es)j(more)e(information)h(ab)s(out)f(the)g(names)330
1440 y(it)h(\014nds)e(\(see)i(Section)g(4.2)h([Bash)e(Builtins],)i
-(page)f(41\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h
+(page)f(43\).)225 1571 y Fp(\017)60 b Ft(The)34 b(Bash)h
Fs(umask)e Ft(builtin)h(p)s(ermits)g(a)g(`)p Fs(-p)p
Ft(')h(option)g(to)g(cause)g(the)g(output)f(to)h(b)s(e)f(displa)m(y)m
(ed)h(in)330 1681 y(the)g(form)g(of)g(a)h Fs(umask)e
Ft(command)h(that)g(ma)m(y)h(b)s(e)f(reused)f(as)h(input)g(\(see)h
(Section)g(4.1)g([Bourne)330 1791 y(Shell)30 b(Builtins],)h(page)h
-(35\).)225 1923 y Fp(\017)60 b Ft(Bash)34 b(implemen)m(ts)h(a)g
+(37\).)225 1923 y Fp(\017)60 b Ft(Bash)34 b(implemen)m(ts)h(a)g
Fs(csh)p Ft(-lik)m(e)g(directory)f(stac)m(k,)j(and)d(pro)m(vides)g(the)
g Fs(pushd)p Ft(,)g Fs(popd)p Ft(,)g(and)g Fs(dirs)330
2032 y Ft(builtins)g(to)i(manipulate)f(it)h(\(see)f(Section)h(6.8)g
-([The)f(Directory)h(Stac)m(k],)i(page)d(81\).)56 b(Bash)35
+([The)f(Directory)h(Stac)m(k],)i(page)d(83\).)56 b(Bash)35
b(also)330 2142 y(mak)m(es)c(the)g(directory)g(stac)m(k)g(visible)g(as)
g(the)f(v)-5 b(alue)31 b(of)g(the)f Fs(DIRSTACK)f Ft(shell)h(v)-5
b(ariable.)225 2274 y Fp(\017)60 b Ft(Bash)28 b(in)m(terprets)h(sp)s
(ecial)g(bac)m(kslash-escap)s(ed)g(c)m(haracters)g(in)f(the)h(prompt)e
(strings)h(when)f(in)m(ter-)330 2383 y(activ)m(e)33 b(\(see)e(Section)g
-(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(82\).)225
+(6.9)h([Prin)m(ting)e(a)h(Prompt],)g(page)g(84\).)225
2515 y Fp(\017)60 b Ft(The)46 b(Bash)h(restricted)g(mo)s(de)f(is)h
(more)f(useful)g(\(see)h(Section)h(6.10)g([The)e(Restricted)i(Shell],)
-330 2625 y(page)31 b(84\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s
+330 2625 y(page)31 b(86\);)h(the)f(SVR4.2)g(shell)f(restricted)h(mo)s
(de)f(is)h(to)s(o)g(limited.)225 2757 y Fp(\017)60 b
Ft(The)30 b Fs(disown)f Ft(builtin)h(can)h(remo)m(v)m(e)h(a)f(job)f
(from)g(the)h(in)m(ternal)g(shell)g(job)f(table)i(\(see)f(Section)h
-(7.2)330 2866 y([Job)h(Con)m(trol)h(Builtins],)g(page)g(90\))h(or)e
+(7.2)330 2866 y([Job)h(Con)m(trol)h(Builtins],)g(page)g(92\))h(or)e
(suppress)e(the)i(sending)g(of)g Fs(SIGHUP)e Ft(to)j(a)g(job)f(when)f
(the)330 2976 y(shell)f(exits)g(as)f(the)h(result)f(of)h(a)f
Fs(SIGHUP)p Ft(.)225 3108 y Fp(\017)60 b Ft(Bash)31 b(includes)f(a)g(n)
@@ -14391,7 +14677,7 @@ Fp(\017)60 b Ft(The)30 b(SVR4.2)h Fs(sh)f Ft(uses)g(a)g
Fs(TIMEOUT)f Ft(v)-5 b(ariable)31 b(lik)m(e)h(Bash)e(uses)g
Fs(TMOUT)p Ft(.)150 3900 y(More)h(features)g(unique)e(to)i(Bash)g(ma)m
(y)g(b)s(e)f(found)f(in)h(Chapter)f(6)i([Bash)g(F)-8
-b(eatures],)32 b(page)f(71.)150 4127 y Fr(B.1)67 b(Implemen)l(tation)48
+b(eatures],)32 b(page)f(73.)150 4127 y Fr(B.1)67 b(Implemen)l(tation)48
b(Di\013erences)e(F)-11 b(rom)44 b(The)h(SVR4.2)g(Shell)150
4287 y Ft(Since)33 b(Bash)h(is)f(a)g(completely)i(new)e(implemen)m
(tation,)j(it)e(do)s(es)e(not)i(su\013er)e(from)h(man)m(y)g(of)h(the)f
@@ -14412,8 +14698,8 @@ Ft(.)57 b(If)35 b(the)i(shell)f(is)h(started)g(from)e(a)i(pro)s(cess)f
(with)g Fs(SIGSEGV)e Ft(blo)s(c)m(k)m(ed)k(\(e.g.,)h(b)m(y)d(using)330
5340 y(the)31 b Fs(system\(\))d Ft(C)i(library)g(function)g(call\),)i
(it)f(misb)s(eha)m(v)m(es)g(badly)-8 b(.)p eop end
-%%Page: 142 148
-TeXDict begin 142 147 bop 150 -116 a Ft(142)2527 b(Bash)31
+%%Page: 146 152
+TeXDict begin 146 151 bop 150 -116 a Ft(146)2527 b(Bash)31
b(Reference)g(Man)m(ual)225 299 y Fp(\017)60 b Ft(In)26
b(a)i(questionable)g(attempt)h(at)f(securit)m(y)-8 b(,)29
b(the)e(SVR4.2)h(shell,)g(when)f(in)m(v)m(ok)m(ed)h(without)g(the)f(`)p
@@ -14445,10 +14731,10 @@ Fl(posix)330 1738 y Ft(standard.)225 1873 y Fp(\017)60
b Ft(The)30 b(SVR4.2)h(shell)g(b)s(eha)m(v)m(es)f(di\013eren)m(tly)h
(when)f(in)m(v)m(ok)m(ed)i(as)e Fs(jsh)g Ft(\(it)h(turns)e(on)h(job)g
(con)m(trol\).)p eop end
-%%Page: 143 149
-TeXDict begin 143 148 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 147 153
+TeXDict begin 147 152 bop 150 -116 a Ft(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(143)150 299 y Fo(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13
+b(147)150 299 y Fo(App)t(endix)52 b(C)81 b(GNU)54 b(F)-13
b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 502 y Ft(V)-8
b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
635 y(Cop)m(yrigh)m(t)842 632 y(c)817 635 y Fp(\015)e
@@ -14529,8 +14815,8 @@ b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
5340 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)p eop end
-%%Page: 144 150
-TeXDict begin 144 149 bop 150 -116 a Ft(144)2527 b(Bash)31
+%%Page: 148 154
+TeXDict begin 148 153 bop 150 -116 a Ft(148)2527 b(Bash)31
b(Reference)g(Man)m(ual)330 299 y(under)26 b(this)i(License.)40
b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 408
@@ -14622,10 +14908,10 @@ b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
(and)f(has)h(no)330 5189 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
(this)f(License.)199 5340 y(2.)61 b(VERBA)-8 b(TIM)31
b(COPYING)p eop end
-%%Page: 145 151
-TeXDict begin 145 150 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 149 155
+TeXDict begin 149 154 bop 150 -116 a Ft(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(145)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
+b(149)330 299 y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h
(the)g(Do)s(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h
(or)330 408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42
b(that)h(this)f(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j
@@ -14715,8 +15001,8 @@ b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
b(,)p eop end
-%%Page: 146 152
-TeXDict begin 146 151 bop 150 -116 a Ft(146)2527 b(Bash)31
+%%Page: 150 156
+TeXDict begin 150 155 bop 150 -116 a Ft(150)2527 b(Bash)31
b(Reference)g(Man)m(ual)510 299 y(b)s(e)g(listed)h(in)f(the)g(History)h
(section)g(of)g(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32
b(ma)m(y)g(use)f(the)g(same)h(title)h(as)510 408 y(a)e(previous)f(v)m
@@ -14797,10 +15083,10 @@ b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
-%%Page: 147 153
-TeXDict begin 147 152 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 151 157
+TeXDict begin 151 156 bop 150 -116 a Ft(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(147)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
+b(151)330 299 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8
b(ersion's)36 b(license)g(notice.)57 b(These)330 408
y(titles)32 b(m)m(ust)e(b)s(e)g(distinct)h(from)e(an)m(y)i(other)g
@@ -14885,8 +15171,8 @@ b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
-%%Page: 148 154
-TeXDict begin 148 153 bop 150 -116 a Ft(148)2527 b(Bash)31
+%%Page: 152 158
+TeXDict begin 152 157 bop 150 -116 a Ft(152)2527 b(Bash)31
b(Reference)g(Man)m(ual)199 299 y(7.)61 b(A)m(GGREGA)-8
b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330 441 y(A)d(compilation)i
(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5 b(ativ)m(es)30
@@ -14973,10 +15259,10 @@ b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
-%%Page: 149 155
-TeXDict begin 149 154 bop 150 -116 a Ft(App)s(endix)29
+%%Page: 153 159
+TeXDict begin 153 158 bop 150 -116 a Ft(App)s(endix)29
b(C:)h(GNU)h(F)-8 b(ree)31 b(Do)s(cumen)m(tation)i(License)1560
-b(149)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
+b(153)154 299 y(10.)61 b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)
330 433 y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8
b(oundation)43 b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g
(the)g(GNU)g(F)-8 b(ree)330 543 y(Do)s(cumen)m(tation)34
@@ -15040,8 +15326,8 @@ f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
-%%Page: 150 156
-TeXDict begin 150 155 bop 150 -116 a Ft(150)2527 b(Bash)31
+%%Page: 154 160
+TeXDict begin 154 159 bop 150 -116 a Ft(154)2527 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fr(ADDENDUM:)45 b(Ho)l(w)h(to)f(use)g
(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)150
458 y Ft(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g
@@ -15078,200 +15364,200 @@ y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
b(as)g(the)g(GNU)150 2331 y(General)31 b(Public)f(License,)i(to)f(p)s
(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)p
eop end
-%%Page: 151 157
-TeXDict begin 151 156 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(151)150 299 y Fo(App)t(endix)52
+%%Page: 155 161
+TeXDict begin 155 160 bop 150 -116 a Ft(App)s(endix)29
+b(D:)i(Indexes)2623 b(155)150 299 y Fo(App)t(endix)52
b(D)81 b(Indexes)150 631 y Fr(D.1)68 b(Index)45 b(of)g(Shell)g(Builtin)
g(Commands)150 868 y(.)150 984 y Fe(.)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)39 b Fb(35)150 1218 y Fr(:)150 1335
+(:)h(:)f(:)g(:)g(:)39 b Fb(37)150 1218 y Fr(:)150 1335
y Fe(:)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
-b Fb(35)150 1579 y Fr([)150 1695 y Fe([)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(37)150 1579 y Fr([)150 1695 y Fe([)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)39 b Fb(39)150 1938 y Fr(A)150 2055
+(:)h(:)f(:)g(:)g(:)39 b Fb(41)150 1938 y Fr(A)150 2055
y Fe(alias)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(41)150
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(43)150
2289 y Fr(B)150 2405 y Fe(bg)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)37 b Fb(90)150 2493 y Fe(bind)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
+g(:)37 b Fb(92)150 2493 y Fe(bind)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-49 b Fb(41)150 2580 y Fe(break)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
+49 b Fb(44)150 2580 y Fe(break)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fb(35)150 2668 y Fe(builtin)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(37)150 2668 y Fe(builtin)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fb(43)150 2902 y Fr(C)150 3019 y Fe(caller)17 b Fc(:)e(:)e(:)g(:)g(:)
+b Fb(45)150 2902 y Fr(C)150 3019 y Fe(caller)17 b Fc(:)e(:)e(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-43 b Fb(43)150 3106 y Fe(cd)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+43 b Fb(45)150 3106 y Fe(cd)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)37 b Fb(36)150 3194 y Fe(command)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g
+(:)37 b Fb(38)150 3194 y Fe(command)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fb(43)150 3281 y Fe(compgen)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(45)150 3281 y Fe(compgen)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b
-Fb(117)150 3368 y Fe(complete)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)
+Fb(119)150 3368 y Fe(complete)10 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(117)150
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37 b Fb(119)150
3456 y Fe(compopt)12 b Fc(:)j(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fb(120)150 3543
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39 b Fb(122)150 3543
y Fe(continue)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(36)150 3778 y
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(38)150 3778 y
Fr(D)150 3894 y Fe(declare)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b
-Fb(43)150 3982 y Fe(dirs)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(46)150 3982 y Fe(dirs)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(81)150 4069 y Fe(disown)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(83)150 4069 y Fe(disown)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(91)150 4303 y Fr(E)150 4420 y Fe(echo)23 b Fc(:)13
+b Fb(93)150 4303 y Fr(E)150 4420 y Fe(echo)23 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(45)150 4507 y Fe(enable)17
+g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(47)150 4507 y Fe(enable)17
b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(45)150 4595 y Fe(eval)23
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(48)150 4595 y Fe(eval)23
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(36)150 4682 y
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(38)150 4682 y
Fe(exec)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(36)150
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(38)150
4770 y Fe(exit)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(36)150 4857 y Fe(export)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(38)150 4857 y Fe(export)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(36)150 5110 y Fr(F)150 5227 y Fe(fc)8 b Fc(:)14
+b Fb(39)150 5110 y Fr(F)150 5227 y Fe(fc)8 b Fc(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(121)150 5314
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(125)150 5314
y Fe(fg)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
-b Fb(90)2025 868 y Fr(G)2025 988 y Fe(getopts)15 b Fc(:)f(:)f(:)g(:)g
+b Fb(92)2025 868 y Fr(G)2025 988 y Fe(getopts)15 b Fc(:)f(:)f(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fb(37)2025 1250 y Fr(H)2025 1370 y Fe(hash)23 b Fc(:)13
+b Fb(39)2025 1250 y Fr(H)2025 1370 y Fe(hash)23 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(37)2025 1459 y Fe(help)23
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(40)2025 1459 y Fe(help)23
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(46)2025 1549
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(48)2025 1549
y Fe(history)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(122)2025 1811
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(126)2025 1811
y Fr(J)2025 1931 y Fe(jobs)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fb(90)2025 2193 y Fr(K)2025 2313 y Fe(kill)23 b Fc(:)13
+b Fb(92)2025 2193 y Fr(K)2025 2313 y Fe(kill)23 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(91)2025 2557 y Fr(L)2025
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(93)2025 2557 y Fr(L)2025
2677 y Fe(let)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(46)2025 2766 y Fe(local)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(48)2025 2766 y Fe(local)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(46)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(48)2025 2856 y Fe(logout)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(46)2025 3118 y Fr(M)2025 3238 y Fe(mapfile)15 b
+b Fb(49)2025 3118 y Fr(M)2025 3238 y Fe(mapfile)15 b
Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)41 b Fb(46)2025 3500 y Fr(P)2025 3620
+h(:)f(:)g(:)g(:)41 b Fb(49)2025 3500 y Fr(P)2025 3620
y Fe(popd)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(82)2025
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(84)2025
3710 y Fe(printf)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(47)2025
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(49)2025
3799 y Fe(pushd)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
-Fb(82)2025 3888 y Fe(pwd)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+Fb(84)2025 3888 y Fe(pwd)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(38)2025 4150 y Fr(R)2025 4270 y Fe(read)23 b Fc(:)13
+b Fb(40)2025 4150 y Fr(R)2025 4270 y Fe(read)23 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(47)2025 4360 y Fe(readarray)9
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(50)2025 4360 y Fe(readarray)9
b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)36 b Fb(49)2025 4449 y Fe(readonly)12 b Fc(:)j(:)e(:)g(:)g
+f(:)g(:)g(:)36 b Fb(51)2025 4449 y Fe(readonly)12 b Fc(:)j(:)e(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fb(38)2025 4538 y Fe(return)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(40)2025 4538 y Fe(return)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(38)2025 4782 y Fr(S)2025 4902 y Fe(set)8 b Fc(:)13
+b Fb(40)2025 4782 y Fr(S)2025 4902 y Fe(set)8 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(51)2025 4991
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(54)2025 4991
y Fe(shift)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(38)2025
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(41)2025
5080 y Fe(shopt)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
-Fb(55)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+Fb(57)2025 5169 y Fe(source)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(49)2025 5259 y Fe(suspend)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(51)2025 5259 y Fe(suspend)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fb(91)p eop end
-%%Page: 152 158
-TeXDict begin 152 157 bop 150 -116 a Ft(152)2527 b(Bash)31
+b Fb(93)p eop end
+%%Page: 156 162
+TeXDict begin 156 161 bop 150 -116 a Ft(156)2527 b(Bash)31
b(Reference)g(Man)m(ual)150 299 y Fr(T)150 428 y Fe(test)23
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(39)150 522 y
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(41)150 522 y
Fe(times)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(40)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Fb(42)150
616 y Fe(trap)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(40)150 709 y Fe(type)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(42)150 709 y Fe(type)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(49)150 803 y Fe(typeset)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)
+b Fb(52)150 803 y Fe(typeset)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
-b Fb(49)2025 299 y Fr(U)2025 415 y Fe(ulimit)17 b Fc(:)d(:)g(:)f(:)g(:)
+b Fb(52)2025 299 y Fr(U)2025 415 y Fe(ulimit)17 b Fc(:)d(:)g(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-44 b Fb(49)2025 502 y Fe(umask)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
+44 b Fb(52)2025 502 y Fe(umask)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(41)2025 590 y Fe(unalias)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+b Fb(43)2025 590 y Fe(unalias)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fb(51)2025 677 y Fe(unset)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(53)2025 677 y Fe(unset)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(41)2025 910 y Fr(W)2025 1026 y Fe(wait)23 b Fc(:)13
+b Fb(43)2025 910 y Fr(W)2025 1026 y Fe(wait)23 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(91)150 1259 y Fr(D.2)68
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(93)150 1259 y Fr(D.2)68
b(Index)45 b(of)g(Shell)g(Reserv)l(ed)h(W)-11 b(ords)150
1495 y(!)150 1612 y Fe(!)15 b Fc(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
@@ -15286,21 +15572,21 @@ g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
g(:)37 b Fb(12)150 2579 y Fa({)150 2695 y Fe({)13 b Fc(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(13)150 2938 y Fa(})150
+(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(14)150 2938 y Fa(})150
3054 y Fe(})13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
-b Fb(13)150 3296 y Fr(C)150 3412 y Fe(case)23 b Fc(:)13
+b Fb(14)150 3296 y Fr(C)150 3412 y Fe(case)23 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(10)150 3646 y Fr(D)150
-3762 y Fe(do)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fb(9)150 3849 y Fe(done)7 b Fc(:)14 b(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(9)150 4083 y Fr(E)150 4199 y Fe(elif)23 b Fc(:)13
+g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(11)150 3646 y Fr(D)150
+3762 y Fe(do)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)37
+b Fb(10)150 3849 y Fe(done)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fb(10)150 4083 y Fr(E)150 4199 y Fe(elif)23 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 1495 y Fe(else)23
@@ -15309,7 +15595,7 @@ b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 1586
y Fe(esac)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(11)2025
1838 y Fr(F)2025 1961 y Fe(fi)10 b Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
@@ -15319,13 +15605,13 @@ g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)34 b Fb(10)2025 2143 y Fe(function)12 b Fc(:)j(:)e(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
-b Fb(14)2025 2394 y Fr(I)2025 2518 y Fe(if)10 b Fc(:)k(:)f(:)g(:)g(:)g
+b Fb(15)2025 2394 y Fr(I)2025 2518 y Fe(if)10 b Fc(:)k(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)37 b Fb(10)2025 2608 y Fe(in)10 b
Fc(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(10)2025
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(11)2025
2860 y Fr(S)2025 2983 y Fe(select)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
@@ -15336,962 +15622,987 @@ h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(10)2025 3449 y Fe(time)7
b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(8)2025
-3701 y Fr(U)2025 3824 y Fe(until)23 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
-b Fb(9)2025 4076 y Fr(W)2025 4199 y Fe(while)23 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)49 b Fb(9)150 4431 y Fr(D.3)68
-b(P)l(arameter)47 b(and)d(V)-11 b(ariable)46 b(Index)150
-4668 y(!)150 4794 y Fe(!)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)39 b Fb(17)150 5054 y Fr(#)150 5180 y Fe(#)13 b Fc(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)2025 4668 y Fr($)2025
-4794 y Fe($)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+3701 y Fr(U)2025 3824 y Fe(until)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
-b Fb(17)2025 5067 y Fr(*)2025 5192 y Fe(*)13 b Fc(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
+b Fb(10)2025 4076 y Fr(W)2025 4199 y Fe(while)21 b Fc(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)46 b Fb(10)150 4431 y Fr(D.3)68 b(P)l(arameter)47
+b(and)d(V)-11 b(ariable)46 b(Index)150 4668 y(!)150 4794
+y Fe(!)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39
+b Fb(18)150 5054 y Fr(#)150 5180 y Fe(#)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)39 b Fb(18)2025 4668 y Fr($)2025 4794
+y Fe($)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(18)2025 5067 y Fr(*)2025 5192 y Fe(*)13 b Fc(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(16)p eop end
-%%Page: 153 159
-TeXDict begin 153 158 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(153)150 299 y Fr(-)150 415 y Fe(-)13
+(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(18)p eop end
+%%Page: 157 163
+TeXDict begin 157 162 bop 150 -116 a Ft(App)s(endix)29
+b(D:)i(Indexes)2623 b(157)150 299 y Fr(-)150 415 y Fe(-)13
b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)150
649 y Fr(?)150 765 y Fe(?)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)39 b Fb(17)150 999 y Fr(@)150 1115 y Fe(@)13 b
+(:)g(:)39 b Fb(18)150 999 y Fr(@)150 1115 y Fe(@)13 b
Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(16)p
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)p
159 1349 41 6 v 150 1465 a Fe(_)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)39 b Fb(17)150 1699 y Fr(0)150 1815 y Fe(0)13
+(:)g(:)g(:)39 b Fb(18)150 1699 y Fr(0)150 1815 y Fe(0)13
b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(17)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)39 b Fb(18)150
2049 y Fr(A)150 2166 y Fe(auto_resume)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(92)150
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(94)150
2409 y Fr(B)150 2525 y Fe(BASH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(61)150 2612 y Fe(BASH_ALIASES)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fb(63)150 2612 y Fe(BASH_ALIASES)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(62)150 2700
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(64)150 2700
y Fe(BASH_ARGC)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(62)150 2787 y
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 2787 y
Fe(BASH_ARGV)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(62)150 2874 y Fe(BASH_CMDS)9
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 2874 y Fe(BASH_CMDS)9
b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)36 b Fb(62)150 2962 y Fe(BASH_COMMAND)22
+g(:)g(:)g(:)36 b Fb(64)150 2962 y Fe(BASH_COMMAND)22
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fb(62)150 3049 y Fe(BASH_ENV)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g
+b Fb(64)150 3049 y Fe(BASH_ENV)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b
-Fb(62)150 3137 y Fe(BASH_EXECUTION_STRING)13 b Fc(:)18
+Fb(64)150 3137 y Fe(BASH_EXECUTION_STRING)13 b Fc(:)18
b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)39 b Fb(62)150 3224 y Fe(BASH_LINENO)24
+g(:)g(:)g(:)h(:)f(:)39 b Fb(64)150 3224 y Fe(BASH_LINENO)24
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-48 b Fb(63)150 3311 y Fe(BASH_REMATCH)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)
+48 b Fb(65)150 3311 y Fe(BASH_REMATCH)22 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(63)150
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(65)150
3399 y Fe(BASH_SOURCE)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(63)150 3486 y Fe(BASH_SUBSHELL)16
+(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(65)150 3486 y Fe(BASH_SUBSHELL)16
b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
-b Fb(63)150 3573 y Fe(BASH_VERSINFO)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g
+b Fb(65)150 3573 y Fe(BASH_VERSINFO)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(63)150 3661 y Fe(BASH_VERSION)22
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(65)150 3661 y Fe(BASH_VERSION)22
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45
-b Fb(63)150 3748 y Fe(BASH_XTRACEFD)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g
+b Fb(65)150 3748 y Fe(BASH_XTRACEFD)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(63)150 3835 y Fe(BASHOPTS)12
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(65)150 3835 y Fe(BASHOPTS)12
b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)38 b Fb(62)150 3923 y Fe(BASHPID)15 b
+(:)g(:)h(:)f(:)38 b Fb(64)150 3923 y Fe(BASHPID)15 b
Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)41 b Fb(62)150 4010 y Fe(bell-style)7
+f(:)g(:)g(:)g(:)41 b Fb(64)150 4010 y Fe(bell-style)7
b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)33 b Fb(97)150 4098 y Fe(bind-tty-special-chars)10
+f(:)g(:)33 b Fb(99)150 4098 y Fe(bind-tty-special-chars)10
b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(97)150 4350 y Fr(C)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(99)150 4350 y Fr(C)150
4466 y Fe(CDPATH)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150
4554 y Fe(COLUMNS)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(64)150
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(66)150
4641 y Fe(comment-begin)16 b Fc(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)43 b Fb(97)150 4728 y Fe(COMP_CWORD)7
+g(:)g(:)g(:)g(:)43 b Fb(99)150 4728 y Fe(COMP_CWORD)7
b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)33 b Fb(64)150 4816 y Fe(COMP_KEY)12 b Fc(:)j(:)e(:)g(:)g(:)g
+f(:)g(:)33 b Fb(66)150 4816 y Fe(COMP_KEY)12 b Fc(:)j(:)e(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Fb(64)150 4903 y Fe(COMP_LINE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+b Fb(66)150 4903 y Fe(COMP_LINE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b
-Fb(64)150 4991 y Fe(COMP_POINT)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)
+Fb(66)150 4991 y Fe(COMP_POINT)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(64)150
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(66)150
5078 y Fe(COMP_TYPE)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(64)150 5165
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(66)150 5165
y Fe(COMP_WORDBREAKS)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)38 b Fb(64)150 5253 y Fe(COMP_WORDS)7 b Fc(:)15
+g(:)g(:)38 b Fb(66)150 5253 y Fe(COMP_WORDS)7 b Fc(:)15
b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-33 b Fb(64)150 5340 y Fe(completion-prefix-display-len)q(gth)25
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(97)2025
-299 y Fe(completion-query-items)10 b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
-b Fb(97)2025 387 y Fe(COMPREPLY)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
-Fb(65)2025 475 y Fe(convert-meta)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
+33 b Fb(66)150 5340 y Fe(completion-display-width)28
+b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)49 b Fb(99)2025 299 y Fe(completion-ignore-case)10
+b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(99)2025 387 y Fe(completion-map-case)18
+b Fc(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(99)2025 474 y
+Fe(completion-prefix-display-leng)q(th)25 b Fc(:)13 b(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)46 b Fb(99)2025 562 y Fe(completion-query-items)8
+b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(100)2025 649 y Fe(COMPREPLY)9
+b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)36 b Fb(67)2025 737 y Fe(convert-meta)17
+b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(100)2025 825 y Fe(COPROC)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(98)2025 713 y
-Fr(D)2025 831 y Fe(DIRSTACK)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(65)2025
-919 y Fe(disable-completion)25 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-47 b Fb(98)2025 1175 y Fr(E)2025 1293 y Fe(editing-mode)21
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(67)2025 1060 y Fr(D)2025 1177 y Fe(DIRSTACK)12 b
+Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)39 b Fb(67)2025 1264 y Fe(disable-completion)22
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fb(98)2025 1381 y Fe(EMACS)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(65)2025 1470 y Fe(enable-keypad)16 b Fc(:)g(:)d(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(98)2025 1558 y
-Fe(EUID)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(65)2025
-1646 y Fe(expand-tilde)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(98)2025 1902 y Fr(F)2025
-2020 y Fe(FCEDIT)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(100)2025 1518
+y Fr(E)2025 1635 y Fe(editing-mode)17 b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(100)2025 1723 y Fe(EMACS)21
+b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(67)2025 1810 y Fe(enable-keypad)14
+b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
+b Fb(100)2025 1898 y Fe(ENV)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)34 b Fb(67)2025 1985 y Fe(EUID)23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(65)2025
-2108 y Fe(FIGNORE)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(65)2025
-2196 y Fe(FUNCNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(65)2025 2434
-y Fr(G)2025 2552 y Fe(GLOBIGNORE)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(65)2025
-2640 y Fe(GROUPS)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(65)2025
-2878 y Fr(H)2025 2996 y Fe(histchars)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(65)2025 3084 y Fe(HISTCMD)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+49 b Fb(67)2025 2073 y Fe(expand-tilde)17 b Fc(:)e(:)f(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(100)2025 2327
+y Fr(F)2025 2444 y Fe(FCEDIT)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(67)2025 2531 y Fe(FIGNORE)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fb(66)2025 3172 y Fe(HISTCONTROL)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fb(67)2025 2619 y Fe(FUNCNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
+Fb(67)2025 2707 y Fe(FUNCNEST)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
+Fb(67)2025 2942 y Fr(G)2025 3059 y Fe(GLOBIGNORE)7 b
+Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)33 b Fb(67)2025 3146 y Fe(GROUPS)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(68)2025 3381 y Fr(H)2025 3498 y Fe(histchars)9 b
+Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)36 b Fb(68)2025 3586 y Fe(HISTCMD)15 b Fc(:)f(:)f(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
+b Fb(68)2025 3674 y Fe(HISTCONTROL)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(66)2025
-3260 y Fe(HISTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(68)2025
+3761 y Fe(HISTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(66)2025 3348
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(68)2025 3849
y Fe(HISTFILESIZE)21 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)45 b Fb(66)2025 3436 y Fe(HISTIGNORE)7
+(:)g(:)g(:)g(:)h(:)45 b Fb(68)2025 3936 y Fe(HISTIGNORE)7
b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)33 b Fb(66)2025 3525 y Fe(history-preserve-point)10
-b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(98)2025 3613 y Fe(history-size)21
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fb(98)2025 3701 y Fe(HISTSIZE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
-Fb(66)2025 3789 y Fe(HISTTIMEFORMAT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(66)2025 3877 y Fe(HOME)23
+g(:)h(:)33 b Fb(68)2025 4024 y Fe(history-preserve-point)8
+b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(100)2025 4112 y Fe(history-size)17
+b Fc(:)e(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(101)2025 4199 y Fe(HISTSIZE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
+b Fb(69)2025 4287 y Fe(HISTTIMEFORMAT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(69)2025 4375 y Fe(HOME)23
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(61)2025 3965
-y Fe(horizontal-scroll-mode)10 b Fc(:)18 b(:)c(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37
-b Fb(98)2025 4053 y Fe(HOSTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
-Fb(67)2025 4141 y Fe(HOSTNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(63)2025 4462
+y Fe(horizontal-scroll-mode)8 b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35
+b Fb(101)2025 4550 y Fe(HOSTFILE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
+b Fb(69)2025 4637 y Fe(HOSTNAME)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
-Fb(67)2025 4230 y Fe(HOSTTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
+Fb(69)2025 4725 y Fe(HOSTTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b
-Fb(67)2025 4467 y Fr(I)2025 4585 y Fe(IFS)8 b Fc(:)13
+Fb(69)2025 4960 y Fr(I)2025 5077 y Fe(IFS)8 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(61)2025 4673
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(63)2025 5165
y Fe(IGNOREEOF)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(67)2025 4761 y
-Fe(input-meta)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(99)2025 4850 y Fe(INPUTRC)15
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(69)2025 5252 y
+Fe(input-meta)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)49 b Fb(101)2025 5340 y Fe(INPUTRC)15
b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)41 b Fb(67)2025 4938 y Fe(isearch-terminators)18
-b Fc(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(99)2025 5175
-y Fr(K)2025 5293 y Fe(keymap)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(99)p eop end
-%%Page: 154 160
-TeXDict begin 154 159 bop 150 -116 a Ft(154)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fr(L)150 415 y Fe(LANG)23
-b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(67)150 502 y
-Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(67)150 589
-y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(67)150 676 y Fe(LC_CTYPE)12
-b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)38 b Fb(67)150 764 y Fe(LC_MESSAGES)13
-b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
-b Fb(7,)26 b(67)150 851 y Fe(LC_NUMERIC)7 b Fc(:)15 b(:)e(:)h(:)f(:)g
+(:)h(:)f(:)g(:)g(:)41 b Fb(69)p eop end
+%%Page: 158 164
+TeXDict begin 158 163 bop 150 -116 a Ft(158)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fe(isearch-terminators)16
+b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(101)150 536 y Fr(K)150
+654 y Fe(keymap)15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33
-b Fb(67)150 938 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
-b Fb(67)150 1025 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fb(101)150 910
+y Fr(L)150 1027 y Fe(LANG)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fb(69)150 1115 y Fe(LC_ALL)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
+b Fb(69)150 1203 y Fe(LC_COLLATE)7 b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(69)150
+1291 y Fe(LC_CTYPE)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(70)150 1380
+y Fe(LC_MESSAGES)13 b Fc(:)j(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)40 b Fb(7,)26 b(70)150 1468 y Fe(LC_NUMERIC)7
+b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)33 b Fb(70)150 1556 y Fe(LINENO)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
+b Fb(70)150 1644 y Fe(LINES)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46
-b Fb(67)150 1258 y Fr(M)150 1374 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g
+b Fb(70)150 1881 y Fr(M)150 1998 y Fe(MACHTYPE)12 b Fc(:)j(:)e(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
-b Fb(67)150 1461 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+b Fb(70)150 2087 y Fe(MAIL)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(61)150 1549 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
+b Fb(63)150 2175 y Fe(MAILCHECK)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b
-Fb(68)150 1636 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(61)150
-1723 y Fe(mark-modified-lines)18 b Fc(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fb(99)150 1810 y Fe(mark-symlinked-directories)18 b
-Fc(:)g(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
-b Fb(99)150 1897 y Fe(match-hidden-files)25 b Fc(:)13
-b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(99)150 1985 y
-Fe(meta-flag)9 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(99)150 2236 y Fr(O)150
-2352 y Fe(OLDPWD)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150
-2439 y Fe(OPTARG)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150
-2526 y Fe(OPTERR)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150
-2614 y Fe(OPTIND)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+Fb(70)150 2263 y Fe(MAILPATH)12 b Fc(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(61)150
-2701 y Fe(OSTYPE)17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(68)150
-2788 y Fe(output-meta)24 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(99)150 3040 y Fr(P)150
-3156 y Fe(page-completions)9 b Fc(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)35 b Fb(99)150 3243 y Fe(PATH)23 b Fc(:)13
-b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fb(63)150
+2351 y Fe(MAPFILE)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(70)150
+2439 y Fe(mark-modified-lines)16 b Fc(:)h(:)d(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
+b Fb(101)150 2527 y Fe(mark-symlinked-directories)16
+b Fc(:)i(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+42 b Fb(101)150 2615 y Fe(match-hidden-files)23 b Fc(:)13
+b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(101)150 2703 y Fe
+(menu-complete-display-prefix)11 b Fc(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(102)150 2791 y Fe(meta-flag)7
+b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(61)150 3330 y Fe(PIPESTATUS)7
-b Fc(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)33 b Fb(68)150 3417 y Fe(POSIXLY_CORRECT)11 b
-Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(68)150 3504 y Fe(PPID)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(68)150 3592 y Fe(PROMPT_COMMAND)14 b Fc(:)i(:)d(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Fb(68)2025 299 y Fe(PROMPT_DIRTRIM)14
+g(:)g(:)34 b Fb(101)150 3047 y Fr(O)150 3164 y Fe(OLDPWD)17
+b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3252 y Fe(OPTARG)17
+b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3340 y Fe(OPTERR)17
+b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3428 y Fe(OPTIND)17
+b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(63)150 3516 y Fe(OSTYPE)17
+b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(70)150 3604 y Fe(output-meta)22
+b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
+b Fb(102)150 3860 y Fr(P)150 3978 y Fe(page-completions)7
+b Fc(:)16 b(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)33 b Fb(102)150
+4066 y Fe(PATH)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)49
+b Fb(63)2025 299 y Fe(PIPESTATUS)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(70)2025
+386 y Fe(POSIXLY_CORRECT)11 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)38 b Fb(70)2025 473 y Fe(PPID)23 b Fc(:)13
+b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(70)2025 560 y Fe(PROMPT_COMMAND)14
b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(68)2025 387 y Fe(PS1)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(61)2025 475 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(61)2025 563 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(68)2025 651 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(70)2025 648 y Fe(PROMPT_DIRTRIM)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 735 y Fe(PS1)8
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(63)2025
+822 y Fe(PS2)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
+b Fb(63)2025 909 y Fe(PS3)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(68)2025 739 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(71)2025 996 y Fe(PS4)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(68)2025 977 y Fr(R)2025 1095 y Fe(RANDOM)17 b Fc(:)d(:)g(:)f(:)g
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)44 b Fb(68)2025 1183 y Fe(REPLY)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(68)2025 1271 y Fe(revert-all-at-newline)11 b Fc(:)18
-b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)38 b Fb(100)2025 1508 y Fr(S)2025 1626
-y Fe(SECONDS)15 b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(69)2025 1714
-y Fe(SHELL)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(69)2025
-1802 y Fe(SHELLOPTS)9 b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Fb(69)2025 1890
-y Fe(SHLVL)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(69)2025
-1978 y Fe(show-all-if-ambiguous)11 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(100)2025 2067 y Fe(show-all-if-unmodified)8 b Fc(:)18
-b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)35 b Fb(100)2025 2155 y Fe(skip-completed-text)16
-b Fc(:)h(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(100)2025 2411 y Fr(T)2025
-2529 y Fe(TEXTDOMAIN)9 b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(7)2025 2617
-y Fe(TEXTDOMAINDIR)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(71)2025 1083 y Fe(PWD)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+34 b Fb(71)2025 1316 y Fr(R)2025 1432 y Fe(RANDOM)17
+b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(71)2025 1519 y Fe(READLINE_LINE)16
+b Fc(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
+b Fb(71)2025 1606 y Fe(READLINE_POINT)14 b Fc(:)i(:)d(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)46 b Fb(7)2025 2705 y Fe(TIMEFORMAT)7
-b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)33 b Fb(69)2025 2793 y Fe(TMOUT)21 b Fc(:)13
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(71)2025 1694 y Fe(REPLY)21
+b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 1781 y Fe
+(revert-all-at-newline)11 b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
+b Fb(102)2025 2014 y Fr(S)2025 2130 y Fe(SECONDS)15 b
+Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)41 b Fb(71)2025 2217 y Fe(SHELL)21 b
+Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2304 y Fe(SHELLOPTS)9
+b Fc(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)36 b Fb(71)2025 2391 y Fe(SHLVL)21 b Fc(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)46 b Fb(69)2025 2881 y Fe(TMPDIR)17
-b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(70)2025 3119 y Fr(U)2025
-3236 y Fe(UID)8 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+g(:)g(:)h(:)f(:)g(:)46 b Fb(71)2025 2478 y Fe(show-all-if-ambiguous)11
+b Fc(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)38 b Fb(102)2025 2565 y Fe
+(show-all-if-unmodified)8 b Fc(:)18 b(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b
+Fb(102)2025 2653 y Fe(skip-completed-text)16 b Fc(:)h(:)c(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(70)2025 3474 y Fr(V)2025 3592 y Fe(visible-stats)14
-b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
-b Fb(100)150 3831 y Fr(D.4)68 b(F)-11 b(unction)44 b(Index)150
-4068 y(A)150 4195 y Fe(abort)27 b(\(C-g\))9 b Fc(:)14
-b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
-b Fb(112)150 4287 y Fe(accept-line)28 b(\(Newline)g(or)e(Return\))e
-Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b
-Fb(107)150 4380 y Fe(alias-expand-line)29 b(\(\))21 b
-Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(114)150 4659 y Fr(B)150
-4785 y Fe(backward-char)29 b(\(C-b\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-49 b Fb(106)150 4878 y Fe(backward-delete-char)30 b(\(Rubout\))14
-b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)41
-b Fb(108)150 4970 y Fe(backward-kill-line)30 b(\(C-x)c(Rubout\))16
-b Fc(:)f(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(109)150
-5063 y Fe(backward-kill-word)30 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fb(109)150 5155 y Fe(backward-kill-word)30 b(\(M-DEL\))23
-b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-49 b Fb(109)150 5248 y Fe(backward-word)29 b(\(M-b\))23
+g(:)43 b Fb(102)2025 2904 y Fr(T)2025 3020 y Fe(TEXTDOMAIN)9
+b Fc(:)15 b(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)36 b Fb(7)2025 3107 y Fe(TEXTDOMAINDIR)21
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)46
+b Fb(7)2025 3194 y Fe(TIMEFORMAT)7 b Fc(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(71)2025
+3282 y Fe(TMOUT)21 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b
+Fb(72)2025 3369 y Fe(TMPDIR)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
+b Fb(72)2025 3601 y Fr(U)2025 3717 y Fe(UID)8 b Fc(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(72)2025 3950
+y Fr(V)2025 4066 y Fe(visible-stats)14 b Fc(:)i(:)d(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(103)150 4299 y Fr(D.4)68
+b(F)-11 b(unction)44 b(Index)150 4535 y(A)150 4661 y
+Fe(abort)27 b(\(C-g\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)36 b Fb(114)150 4753 y Fe(accept-line)28
+b(\(Newline)g(or)e(Return\))e Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)50 b Fb(109)150 4845 y Fe(alias-expand-line)29
+b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(116)150
+5122 y Fr(B)150 5248 y Fe(backward-char)29 b(\(C-b\))23
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(106)150 5340 y
-Fe(beginning-of-history)30 b(\(M-<\))23 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(107)2025
-4068 y Fe(beginning-of-line)29 b(\(C-a\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
-b Fb(106)2025 4329 y Fr(C)2025 4449 y Fe(call-last-kbd-macro)30
-b(\(C-x)c(e\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)36 b Fb(112)2025 4538 y Fe(capitalize-word)29
-b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(109)2025 4627
-y Fe(character-search)29 b(\(C-]\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42
-b Fb(113)2025 4716 y Fe(character-search-backward)31
-b(\(M-C-]\))23 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)48
-b Fb(113)2025 4806 y Fe(clear-screen)28 b(\(C-l\))8 b
-Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(106)2025
-4895 y Fe(complete)27 b(\(TAB\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fb(110)2025 4984 y Fe(complete-command)29
-b(\(M-!\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(111)2025 5073
-y Fe(complete-filename)29 b(\(M-/\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
-b Fb(111)2025 5162 y Fe(complete-hostname)29 b(\(M-@\))13
+(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49 b Fb(108)150 5340 y
+Fe(backward-delete-char)30 b(\(Rubout\))14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)41 b Fb(110)2025 4535 y Fe
+(backward-kill-line)29 b(\(C-x)e(Rubout\))16 b Fc(:)f(:)e(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)43 b Fb(111)2025 4622 y Fe(backward-kill-word)29
+b(\(M-DEL\))24 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)49 b Fb(111)2025 4710 y Fe(backward-word)28
+b(\(M-b\))c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fb(108)2025
+4797 y Fe(beginning-of-history)30 b(\(M-<\))23 b Fc(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fb(109)2025 4884 y Fe(beginning-of-line)29 b(\(C-a\))13
b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)40 b Fb(111)2025 5251 y Fe(complete-into-braces)30
-b(\(M-{\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)49 b Fb(112)2025 5340 y Fe(complete-username)29
-b(\(M-~\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(111)p eop end
-%%Page: 155 161
-TeXDict begin 155 160 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(155)150 299 y Fe(complete-variable)29
-b(\(M-$\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(111)150 389 y Fe(copy-backward-word)
-30 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(110)150 479
+g(:)g(:)g(:)40 b Fb(108)2025 5136 y Fr(C)2025 5253 y
+Fe(call-last-kbd-macro)30 b(\(C-x)c(e\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025
+5340 y Fe(capitalize-word)29 b(\(M-c\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
+b Fb(111)p eop end
+%%Page: 159 165
+TeXDict begin 159 164 bop 150 -116 a Ft(App)s(endix)29
+b(D:)i(Indexes)2623 b(159)150 299 y Fe(character-search)29
+b(\(C-]\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42 b Fb(115)150 387 y
+Fe(character-search-backward)31 b(\(M-C-]\))23 b Fc(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(115)150 474 y Fe(clear-screen)28
+b(\(C-l\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
+b Fb(108)150 562 y Fe(complete)27 b(\(TAB\))20 b Fc(:)13
+b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(112)150
+650 y Fe(complete-command)29 b(\(M-!\))15 b Fc(:)g(:)e(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
+b Fb(114)150 738 y Fe(complete-filename)29 b(\(M-/\))13
+b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)39 b Fb(113)150 825 y Fe(complete-hostname)29
+b(\(M-@\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(113)150 913 y Fe
+(complete-into-braces)30 b(\(M-{\))23 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(114)150
+1001 y Fe(complete-username)29 b(\(M-~\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39
+b Fb(113)150 1089 y Fe(complete-variable)29 b(\(M-$\))13
+b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)39 b Fb(113)150 1176 y Fe(copy-backward-word)30
+b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(112)150 1264
y Fe(copy-forward-word)29 b(\(\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(110)150 569 y Fe(copy-region-as-kill)30 b(\(\))15
+b Fb(112)150 1352 y Fe(copy-region-as-kill)30 b(\(\))15
b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)42 b Fb(110)150 836 y Fr(D)150 958 y
-Fe(dabbrev-expand)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-38 b Fb(112)150 1048 y Fe(delete-char)28 b(\(C-d\))11
+g(:)g(:)g(:)g(:)42 b Fb(112)150 1606 y Fr(D)150 1724
+y Fe(dabbrev-expand)29 b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)38 b Fb(114)150 1811 y Fe(delete-char)28 b(\(C-d\))11
b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(108)150
-1138 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(110)150
+1899 y Fe(delete-char-or-list)30 b(\(\))15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)42
-b Fb(111)150 1228 y Fe(delete-horizontal-space)31 b(\(\))22
+b Fb(113)150 1987 y Fe(delete-horizontal-space)31 b(\(\))22
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-49 b Fb(109)150 1318 y Fe(digit-argument)29 b(\()p Fd(M-0)p
+49 b Fb(112)150 2075 y Fe(digit-argument)29 b(\()p Fd(M-0)p
Fe(,)e Fd(M-1)p Fe(,)f(...)g Fd(M--)p Fe(\))d Fc(:)13
-b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(110)150 1408 y Fe
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(112)150 2162 y Fe
(display-shell-version)30 b(\(C-x)d(C-v\))16 b Fc(:)e(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(114)150 1499 y Fe(do-uppercase-version)
+(:)f(:)g(:)g(:)g(:)g(:)43 b Fb(116)150 2250 y Fe(do-uppercase-version)
30 b(\(M-a,)d(M-b,)f(M-)p Fd(x)9 b Fe(,)27 b(...\))325
-1586 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+2337 y Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(112)150 1676
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(114)150 2425
y Fe(downcase-word)29 b(\(M-l\))23 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)49
-b Fb(108)150 1766 y Fe(dump-functions)29 b(\(\))11 b
+b Fb(111)150 2513 y Fe(dump-functions)29 b(\(\))11 b
Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(113)150
-1856 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(115)150
+2600 y Fe(dump-macros)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)45 b Fb(113)150 1946 y Fe(dump-variables)29
+g(:)g(:)h(:)f(:)g(:)45 b Fb(116)150 2688 y Fe(dump-variables)29
b(\(\))11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(113)150 2036 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7
-b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(112)150
-2303 y Fr(E)150 2425 y Fe(edit-and-execute-command)e(\(C-xC-e\))23
-b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(114)150
-2515 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14
+b Fb(116)150 2776 y Fe(dynamic-complete-history)31 b(\(M-TAB\))7
+b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150
+3030 y Fr(E)150 3148 y Fe(edit-and-execute-command)e(\(C-xC-e\))23
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fb(117)150
+3235 y Fe(end-kbd-macro)29 b(\(C-x)d(\)\))7 b Fc(:)14
b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)34 b Fb(112)150 2605 y Fe(end-of-history)29
+(:)g(:)h(:)f(:)g(:)34 b Fb(114)150 3323 y Fe(end-of-history)29
b(\(M->\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(107)150
-2695 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(109)150
+3411 y Fe(end-of-line)28 b(\(C-e\))11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)38 b Fb(106)150 2785 y Fe(exchange-point-and-mark)31
+g(:)g(:)38 b Fb(108)150 3499 y Fe(exchange-point-and-mark)31
b(\(C-x)26 b(C-x\))11 b Fc(:)j(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)38
-b Fb(113)150 3052 y Fr(F)150 3174 y Fe(forward-backward-delete-char)32
+b Fb(115)150 3753 y Fr(F)150 3870 y Fe(forward-backward-delete-char)32
b(\(\))9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36
-b Fb(108)150 3264 y Fe(forward-char)28 b(\(C-f\))8 b
+b Fb(110)150 3958 y Fe(forward-char)28 b(\(C-f\))8 b
Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(106)150
-3354 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(107)150 3445
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(108)150
+4046 y Fe(forward-search-history)c(\(C-s\))17 b Fc(:)d(:)f(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(109)150 4134
y Fe(forward-word)28 b(\(M-f\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)35 b Fb(106)150 3701 y Fr(G)150 3823 y Fe(glob-complete-word)30
+(:)35 b Fb(108)150 4378 y Fr(G)150 4495 y Fe(glob-complete-word)30
b(\(M-g\))10 b Fc(:)k(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(114)150 3913 y Fe(glob-expand-word)29
+(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(116)150 4583 y Fe(glob-expand-word)29
b(\(C-x)e(*\))17 b Fc(:)c(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(114)150 4003 y Fe
+(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(116)150 4670 y Fe
(glob-list-expansions)30 b(\(C-x)d(g\))7 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150 4270
-y Fr(H)150 4392 y Fe(history-and-alias-expand-line)f(\(\))7
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(114)150
-4482 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150 4925
+y Fr(H)150 5042 y Fe(history-and-alias-expand-line)f(\(\))7
+b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Fb(116)150
+5130 y Fe(history-expand-line)d(\(M-^\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)34
-b Fb(114)150 4572 y Fe(history-search-backward)d(\(\))22
+b Fb(116)150 5217 y Fe(history-search-backward)d(\(\))22
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-49 b Fb(107)150 4662 y Fe(history-search-forward)31 b(\(\))8
+49 b Fb(109)150 5305 y Fe(history-search-forward)31 b(\(\))8
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)34 b Fb(107)150 4929 y Fr(I)150 5051 y Fe(insert-comment)29
-b(\(M-#\))21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(113)150
-5141 y Fe(insert-completions)30 b(\(M-*\))10 b Fc(:)k(:)f(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37
-b Fb(111)150 5231 y Fe(insert-last-argument)30 b(\(M-.)d(or)f(M-_\))18
-b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(114)2025
-299 y Fr(K)2025 416 y Fe(kill-line)27 b(\(C-k\))16 b
-Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(109)2025
-503 y Fe(kill-region)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fb(110)2025 591 y Fe(kill-whole-line)29
-b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b
-Fb(109)2025 678 y Fe(kill-word)27 b(\(M-d\))16 b Fc(:)f(:)e(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)43 b Fb(109)2025 921 y Fr(M)2025
-1038 y Fe(magic-space)28 b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fb(114)2025 1126 y Fe(menu-complete)28
-b(\(\))13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40
-b Fb(111)2025 1213 y Fe(menu-complete-backward)30 b(\(\))8
-b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)34 b Fb(111)2025 1467 y Fr(N)2025 1584 y Fe(next-history)28
+(:)g(:)34 b Fb(109)2025 299 y Fr(I)2025 416 y Fe(insert-comment)29
+b(\(M-#\))21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(115)2025
+503 y Fe(insert-completions)29 b(\(M-*\))10 b Fc(:)15
+b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)37 b Fb(113)2025 591 y Fe(insert-last-argument)30
+b(\(M-.)c(or)g(M-_\))18 b Fc(:)c(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)45
+b Fb(116)2025 844 y Fr(K)2025 961 y Fe(kill-line)27 b(\(C-k\))16
+b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b
+Fb(111)2025 1048 y Fe(kill-region)28 b(\(\))19 b Fc(:)13
+b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Fb(112)2025
+1136 y Fe(kill-whole-line)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)35 b Fb(111)2025 1224 y Fe(kill-word)27 b(\(M-d\))16
+b Fc(:)f(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43 b
+Fb(111)2025 1467 y Fr(M)2025 1583 y Fe(magic-space)28
+b(\(\))19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fb(116)2025 1671 y Fe(menu-complete)28 b(\(\))13 b
+Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(113)2025
+1758 y Fe(menu-complete-backward)30 b(\(\))8 b Fc(:)13
+b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)34
+b Fb(113)2025 2012 y Fr(N)2025 2129 y Fe(next-history)28
b(\(C-n\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
-b Fb(107)2025 1671 y Fe(non-incremental-forward-search)q(-hist)q(ory)d
-(\(M-n\))2200 1758 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+b Fb(109)2025 2216 y Fe(non-incremental-forward-search)q(-hist)q(ory)d
+(\(M-n\))2200 2303 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fb(107)2025 1846 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32
-b(\(M-p\))2200 1933 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+Fb(109)2025 2391 y Fe(non-incremental-reverse-search)q(-hist)q(ory)32
+b(\(M-p\))2200 2478 y Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b
-Fb(107)2025 2168 y Fr(O)2025 2285 y Fe(operate-and-get-next)30
+Fb(109)2025 2713 y Fr(O)2025 2829 y Fe(operate-and-get-next)30
b(\(C-o\))23 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)49 b Fb(114)2025 2372 y Fe(overwrite-mode)29
+g(:)g(:)g(:)49 b Fb(116)2025 2917 y Fe(overwrite-mode)29
b(\(\))11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(109)2025 2615 y Fr(P)2025 2732 y Fe(possible-command-completions)
+b Fb(111)2025 3160 y Fr(P)2025 3277 y Fe(possible-command-completions)
32 b(\(C-x)26 b(!\))21 b Fc(:)13 b(:)g(:)h(:)f(:)47 b
-Fb(112)2025 2820 y Fe(possible-completions)30 b(\(M-?\))23
+Fb(114)2025 3364 y Fe(possible-completions)30 b(\(M-?\))23
b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-49 b Fb(110)2025 2907 y Fe(possible-filename-completions)32
-b(\(C-x)26 b(/\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025
-2995 y Fe(possible-hostname-completions)32 b(\(C-x)26
-b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3082 y Fe
+49 b Fb(113)2025 3452 y Fe(possible-filename-completions)32
+b(\(C-x)26 b(/\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025
+3539 y Fe(possible-hostname-completions)32 b(\(C-x)26
+b(@\))18 b Fc(:)c(:)f(:)g(:)45 b Fb(114)2025 3627 y Fe
(possible-username-completions)32 b(\(C-x)26 b(~\))18
-b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3170 y Fe
+b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3715 y Fe
(possible-variable-completions)32 b(\(C-x)26 b($\))18
-b Fc(:)c(:)f(:)g(:)45 b Fb(111)2025 3258 y Fe(prefix-meta)28
+b Fc(:)c(:)f(:)g(:)45 b Fb(113)2025 3802 y Fe(prefix-meta)28
b(\(ESC\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(112)2025 3345 y Fe(previous-history)29 b(\(C-p\))15
+b Fb(115)2025 3890 y Fe(previous-history)29 b(\(C-p\))15
b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)42 b Fb(107)2025 3599 y Fr(Q)2025 3715
+h(:)f(:)g(:)g(:)42 b Fb(109)2025 4143 y Fr(Q)2025 4260
y Fe(quoted-insert)28 b(\(C-q)f(or)f(C-v\))19 b Fc(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)46
-b Fb(108)2025 3969 y Fr(R)2025 4086 y Fe(re-read-init-file)29
+b Fb(110)2025 4513 y Fr(R)2025 4630 y Fe(re-read-init-file)29
b(\(C-x)e(C-r\))9 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)36 b Fb(112)2025 4173 y Fe(redraw-current-line)30
+(:)g(:)h(:)f(:)g(:)36 b Fb(114)2025 4718 y Fe(redraw-current-line)30
b(\(\))15 b Fc(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(106)2025 4261 y Fe
+(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(108)2025 4805 y Fe
(reverse-search-history)30 b(\(C-r\))17 b Fc(:)e(:)e(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(107)2025 4348 y Fe(revert-line)28
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Fb(109)2025 4893 y Fe(revert-line)28
b(\(M-r\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)38
-b Fb(112)2025 4592 y Fr(S)2025 4708 y Fe(self-insert)28
+b Fb(115)2025 5136 y Fr(S)2025 5252 y Fe(self-insert)28
b(\(a,)e(b,)g(A,)g(1,)g(!,)g(...)q(\))7 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(108)2025 4796 y Fe(set-mark)27
+(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(110)2025 5340 y Fe(set-mark)27
b(\(C-@\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
-b Fb(113)2025 4883 y Fe(shell-backward-word)30 b(\(\))15
-b Fc(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)42 b Fb(106)2025 4971 y Fe(shell-expand-line)29
-b(\(M-C-e\))8 b Fc(:)14 b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(114)2025 5059 y Fe(shell-forward-word)29
+b Fb(115)p eop end
+%%Page: 160 166
+TeXDict begin 160 165 bop 150 -116 a Ft(160)2527 b(Bash)31
+b(Reference)g(Man)m(ual)150 299 y Fe(shell-backward-kill-word)g(\(\))20
+b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
+b Fb(111)150 389 y Fe(shell-backward-word)30 b(\(\))15
+b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)42 b Fb(108)150 479 y Fe(shell-expand-line)29
+b(\(M-C-e\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)34 b Fb(116)150 569 y Fe(shell-forward-word)c
+(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 659 y
+Fe(shell-kill-word)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+35 b Fb(111)150 748 y Fe(skip-csi-sequence)29 b(\(\))21
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(115)150 838 y Fe(start-kbd-macro)29
+b(\(C-x)e(\(\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fb(114)150 1094
+y Fr(T)150 1216 y Fe(tilde-expand)28 b(\(M-&\))8 b Fc(:)15
+b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35 b Fb(115)150 1305 y
+Fe(transpose-chars)29 b(\(C-t\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
+b Fb(110)150 1395 y Fe(transpose-words)29 b(\(M-t\))18
+b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)44 b Fb(110)2025 299 y Fr(U)2025
+417 y Fe(undo)26 b(\(C-_)h(or)f(C-x)g(C-u\))c Fc(:)13
+b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)48 b Fb(115)2025 505 y Fe(universal-argument)29
b(\(\))18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(106)2025 5146
-y Fe(shell-kill-word)29 b(\(\))8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
-(:)35 b Fb(109)2025 5234 y Fe(skip-csi-sequence)29 b(\(\))21
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45 b Fb(112)2025 594 y
+Fe(unix-filename-rubout)30 b(\(\))13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)40
+b Fb(112)2025 682 y Fe(unix-line-discard)29 b(\(C-u\))13
+b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)40 b Fb(111)2025 770 y Fe(unix-word-rubout)29
+b(\(C-w\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(111)2025 858 y
+Fe(upcase-word)28 b(\(M-u\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+38 b Fb(110)2025 1116 y Fr(Y)2025 1234 y Fe(yank)26 b(\(C-y\))12
+b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)39 b Fb(112)2025 1322 y Fe(yank-last-arg)28 b(\(M-.)f(or)f(M-_\))19
+b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)46 b Fb(110)2025 1410 y Fe(yank-nth-arg)28 b(\(M-C-y\))22
b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(113)2025 5321 y Fe(start-kbd-macro)
-29 b(\(C-x)d(\(\))20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46 b Fb(112)p eop
-end
-%%Page: 156 162
-TeXDict begin 156 161 bop 150 -116 a Ft(156)2527 b(Bash)31
-b(Reference)g(Man)m(ual)150 299 y Fr(T)150 415 y Fe(tilde-expand)d
-(\(M-&\))8 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(113)150 502 y Fe(transpose-chars)29 b(\(C-t\))18
-b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 590 y Fe(transpose-words)29
-b(\(M-t\))18 b Fc(:)c(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(108)150 842
-y Fr(U)150 958 y Fe(undo)27 b(\(C-_)f(or)g(C-x)g(C-u\))c
-Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(112)150 1046 y Fe
-(universal-argument)30 b(\(\))18 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44
-b Fb(110)150 1133 y Fe(unix-filename-rubout)30 b(\(\))13
-b Fc(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)39 b Fb(109)2025 299 y Fe(unix-line-discard)29
-b(\(C-u\))13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(109)2025 389 y Fe(unix-word-rubout)
-29 b(\(C-w\))15 b Fc(:)f(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)42 b Fb(109)2025 478
-y Fe(upcase-word)28 b(\(M-u\))11 b Fc(:)j(:)f(:)g(:)g(:)g(:)h(:)f(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)38 b Fb(108)2025 743 y Fr(Y)2025 864 y Fe(yank)26
-b(\(C-y\))12 b Fc(:)i(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)39 b Fb(110)2025 954 y Fe(yank-last-arg)28
-b(\(M-.)f(or)f(M-_\))19 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)46 b Fb(108)2025 1043 y Fe(yank-nth-arg)28
-b(\(M-C-y\))22 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(107)2025
-1133 y Fe(yank-pop)27 b(\(M-y\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)45 b Fb(110)150 1366 y Fr(D.5)68
-b(Concept)45 b(Index)150 1625 y(A)150 1743 y Fb(alias)27
-b(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)44 b Fb(79)150 1831 y(arithmetic)26 b(ev)l(aluation)16
-b Fc(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)43 b Fb(78)150 1919
-y(arithmetic)26 b(expansion)d Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49
-b Fb(23)150 2007 y(arithmetic,)27 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fb(78)150 2095 y(arra)n(ys)15
-b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b Fb(80)150 2348 y Fr(B)150
-2466 y Fb(bac)n(kground)9 b Fc(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Fb(89)150 2554 y(Bash)26
-b(con\014guration)d Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(127)150 2642 y(Bash)26 b(installation)c Fc(:)13
+(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Fb(109)2025 1499 y Fe(yank-pop)27
+b(\(M-y\))20 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
+b Fb(112)150 1731 y Fr(D.5)68 b(Concept)45 b(Index)150
+1991 y(A)150 2109 y Fb(alias)27 b(expansion)18 b Fc(:)c(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Fb(81)150 2197
+y(arithmetic)26 b(ev)l(aluation)16 b Fc(:)e(:)f(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+43 b Fb(80)150 2285 y(arithmetic)26 b(expansion)d Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Fb(127)150
-2729 y(Bourne)26 b(shell)13 b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(5)150 2817
-y(brace)26 b(expansion)20 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)47 b Fb(18)150 2905 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)36 b Fb(3)150 3142 y Fr(C)150 3260 y Fb(command)26
-b(editing)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
-b Fb(94)150 3348 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)49 b Fb(24)150 2373 y(arithmetic,)27
+b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)43
+b Fb(80)150 2461 y(arra)n(ys)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
+f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41
+b Fb(82)150 2714 y Fr(B)150 2832 y Fb(bac)n(kground)9
+b Fc(:)j(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)35 b Fb(91)150 2920 y(Bash)26 b(con\014guration)d
+Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49 b Fb(131)150
+3008 y(Bash)26 b(installation)c Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)46 b Fb(131)150 3096 y(Bourne)26 b(shell)13
+b Fc(:)h(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)40 b Fb(5)150 3184 y(brace)26 b(expansion)20 b
+Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
+(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)47
+b Fb(19)150 3272 y(builtin)9 b Fc(:)k(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36
+b Fb(3)150 3509 y Fr(C)150 3627 y Fb(command)26 b(editing)15
+b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
+b Fb(96)150 3715 y(command)26 b(execution)d Fc(:)13 b(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)49 b Fb(30)150 3435 y(command)26 b(expansion)16
+h(:)f(:)g(:)g(:)49 b Fb(31)150 3803 y(command)26 b(expansion)16
b Fc(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(29)150
-3523 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(31)150
+3891 y(command)26 b(history)12 b Fc(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)39 b Fb(121)150 3611 y(command)26 b(searc)n(h)10
+g(:)g(:)39 b Fb(125)150 3979 y(command)26 b(searc)n(h)10
b Fc(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36
-b Fb(30)150 3699 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
+b Fb(31)150 4067 y(command)26 b(substitution)15 b Fc(:)e(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)41 b Fb(22)150 3787 y(command)26 b(timing)7
+(:)f(:)g(:)41 b Fb(24)150 4155 y(command)26 b(timing)7
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
-b Fb(8)150 3875 y(commands,)26 b(comp)r(ound)18 b Fc(:)c(:)f(:)g(:)g(:)
+b Fb(8)150 4243 y(commands,)26 b(comp)r(ound)18 b Fc(:)c(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)45 b Fb(9)150 3963 y(commands,)26 b(conditional)d
+(:)h(:)f(:)g(:)45 b Fb(9)150 4331 y(commands,)26 b(conditional)d
Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(10)150 4051 y(commands,)26
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(10)150 4419 y(commands,)26
b(grouping)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)35
-b Fb(13)150 4139 y(commands,)26 b(lists)6 b Fc(:)15 b(:)e(:)g(:)g(:)g
+b Fb(13)150 4507 y(commands,)26 b(lists)6 b Fc(:)15 b(:)e(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(8)150
-4227 y(commands,)26 b(lo)r(oping)18 b Fc(:)d(:)e(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)45 b Fb(9)150 4315 y(commands,)26 b(pip)r(elines)12
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)33 b Fb(9)150
+4595 y(commands,)26 b(lo)r(oping)16 b Fc(:)f(:)e(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)42 b Fb(10)150 4683 y(commands,)26 b(pip)r(elines)12
b Fc(:)i(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(8)150
-4403 y(commands,)26 b(shell)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+4771 y(commands,)26 b(shell)15 b Fc(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)42 b Fb(7)150 4491 y(commands,)26
+f(:)g(:)g(:)g(:)g(:)42 b Fb(8)150 4859 y(commands,)26
b(simple)17 b Fc(:)d(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fb(8)150 4579 y(commen)n(ts,)26 b(shell)7 b Fc(:)15
+b Fb(8)150 4947 y(commen)n(ts,)26 b(shell)7 b Fc(:)15
b(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)34
-b Fb(7)150 4667 y(completion)27 b(builtins)15 b Fc(:)e(:)g(:)g(:)g(:)g
+b Fb(7)150 5035 y(completion)27 b(builtins)15 b Fc(:)e(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)42 b Fb(117)150 4755 y(con\014guration)15
+g(:)g(:)g(:)g(:)42 b Fb(119)150 5123 y(con\014guration)15
b Fc(:)f(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
-b Fb(127)150 4842 y(con)n(trol)26 b(op)r(erator)21 b
+b Fb(131)150 5211 y(con)n(trol)26 b(op)r(erator)21 b
Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
-b Fb(3)150 4930 y(copro)r(cess)12 b Fc(:)i(:)g(:)f(:)g(:)g(:)g(:)g(:)g
+b Fb(3)150 5299 y(copro)r(cess)12 b Fc(:)i(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38 b
-Fb(14)150 5184 y Fr(D)150 5301 y Fb(directory)26 b(stac)n(k)c
-Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)49
-b Fb(81)2025 1625 y Fr(E)2025 1745 y Fb(editing)26 b(command)g(lines)13
+Fb(14)2025 1991 y Fr(D)2025 2112 y Fb(directory)26 b(stac)n(k)c
+Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49
+b Fb(83)2025 2376 y Fr(E)2025 2497 y Fb(editing)26 b(command)g(lines)13
b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(94)2025 1834
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)39 b Fb(96)2025 2587
y(en)n(vironmen)n(t)12 b Fc(:)g(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(31)2025 1923 y(ev)l(aluation,)26
+g(:)g(:)g(:)g(:)g(:)g(:)39 b Fb(33)2025 2677 y(ev)l(aluation,)26
b(arithmetic)e Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)49 b
-Fb(78)2025 2012 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g
+Fb(80)2025 2766 y(ev)n(en)n(t)24 b(designators)14 b Fc(:)h(:)e(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(123)2025 2101 y(execution)25
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)41 b Fb(127)2025 2856 y(execution)25
b(en)n(vironmen)n(t)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)37
-b Fb(30)2025 2190 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:)
+b Fb(32)2025 2946 y(exit)25 b(status)18 b Fc(:)c(:)f(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45 b Fb(3,)26
-b(32)2025 2279 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+b(33)2025 3036 y(expansion)20 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(17)2025
-2368 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(19)2025
+3126 y(expansion,)26 b(arithmetic)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)38 b Fb(23)2025 2457 y(expansion,)26 b(brace)10 b
+f(:)38 b Fb(24)2025 3215 y(expansion,)26 b(brace)10 b
Fc(:)j(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
-b Fb(18)2025 2546 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h
+b Fb(19)2025 3305 y(expansion,)26 b(\014lename)12 b Fc(:)h(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(24)2025 2635 y(expansion,)26
+g(:)g(:)g(:)g(:)g(:)h(:)38 b Fb(25)2025 3395 y(expansion,)26
b(parameter)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fb(19)2025 2724 y(expansion,)26 b(pathname)18 b Fc(:)13
+b Fb(21)2025 3485 y(expansion,)26 b(pathname)18 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(24)2025 2813 y(expansion,)26
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(25)2025 3575 y(expansion,)26
b(tilde)8 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)34 b Fb(19)2025 2902 y(expressions,)27 b(arithmetic)7
+g(:)34 b Fb(20)2025 3665 y(expressions,)27 b(arithmetic)7
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(78)2025 2991
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(80)2025 3754
y(expressions,)27 b(conditional)11 b Fc(:)j(:)f(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)38
-b Fb(76)2025 3250 y Fr(F)2025 3369 y Fb(\014eld)15 b
+b Fb(78)2025 4018 y Fr(F)2025 4139 y Fb(\014eld)15 b
Fc(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 3458
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025 4229
y(\014lename)15 b Fc(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)42 b Fb(3)2025
-3547 y(\014lename)26 b(expansion)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
+4319 y(\014lename)26 b(expansion)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)49 b Fb(24)2025 3636 y(foreground)23 b Fc(:)13
+(:)g(:)g(:)49 b Fb(25)2025 4408 y(foreground)23 b Fc(:)13
b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-49 b Fb(89)2025 3725 y(functions,)26 b(shell)21 b Fc(:)13
+49 b Fb(91)2025 4498 y(functions,)26 b(shell)21 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fb(14)2025 3984 y Fr(H)2025 4104 y Fb(history)25 b(builtins)14
+b Fb(15)2025 4762 y Fr(H)2025 4883 y Fb(history)25 b(builtins)14
b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)41
-b Fb(121)2025 4193 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13
+b Fb(125)2025 4973 y(history)25 b(ev)n(en)n(ts)19 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fb(123)2025 4282 y(history)25 b(expansion)8 b Fc(:)14
+b Fb(127)2025 5063 y(history)25 b(expansion)8 b Fc(:)14
b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(123)2025
-4371 y(history)25 b(list)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)35 b Fb(127)2025
+5152 y(history)25 b(list)c Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(121)2025 4460
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Fb(125)2025 5242
y(History)-6 b(,)25 b(ho)n(w)h(to)g(use)13 b Fc(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)40 b Fb(120)2025 4719 y Fr(I)2025 4838 y
-Fb(iden)n(ti\014er)22 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)50 b Fb(3)2025
-4927 y(initialization)28 b(\014le,)e(readline)13 b Fc(:)h(:)f(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-40 b Fb(96)2025 5016 y(installation)13 b Fc(:)i(:)e(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(127)2025
-5105 y(in)n(teraction,)26 b(readline)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)47 b Fb(93)2025 5194 y(in)n(teractiv)n(e)26
-b(shell)14 b Fc(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)40
-b Fb(73,)27 b(75)2025 5283 y(in)n(ternationalization)14
-b Fc(:)h(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)41 b
-Fb(7)p eop end
-%%Page: 157 163
-TeXDict begin 157 162 bop 150 -116 a Ft(App)s(endix)29
-b(D:)i(Indexes)2623 b(157)150 299 y Fr(J)150 415 y Fb(job)16
-b Fc(:)e(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(3)150
-503 y(job)26 b(con)n(trol)13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)40 b Fb(3,)26 b(89)150 753
-y Fr(K)150 870 y Fb(kill)g(ring)21 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(95)150 957 y(killing)27 b(text)19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
+g(:)g(:)g(:)40 b Fb(123)p eop end
+%%Page: 161 167
+TeXDict begin 161 166 bop 150 -116 a Ft(App)s(endix)29
+b(D:)i(Indexes)2623 b(161)150 299 y Fr(I)150 415 y Fb(iden)n(ti\014er)
+22 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
+g(:)g(:)g(:)g(:)g(:)g(:)50 b Fb(3)150 502 y(initialization)28
+b(\014le,)e(readline)13 b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)39 b Fb(98)150
+589 y(installation)13 b Fc(:)i(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b
-Fb(95)150 1208 y Fr(L)150 1324 y Fb(lo)r(calization)14
-b Fc(:)i(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)41 b Fb(7)150 1412 y(login)27 b(shell)17 b
-Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+f(:)g(:)g(:)g(:)g(:)g(:)40 b Fb(131)150 676 y(in)n(teraction,)27
+b(readline)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
+b Fb(95)150 764 y(in)n(teractiv)n(e)26 b(shell)14 b Fc(:)g(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)g(:)44 b Fb(73)150 1662 y Fr(M)150 1779 y Fb(matc)n(hing,)26
-b(pattern)20 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47
-b Fb(24)150 1866 y(metac)n(haracter)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(3)150 2100
-y Fr(N)150 2217 y Fb(name)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
+g(:)h(:)f(:)g(:)g(:)g(:)41 b Fb(75,)26 b(76)150 851 y(in)n
+(ternationalization)14 b Fc(:)h(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+41 b Fb(7)150 1084 y Fr(J)150 1200 y Fb(job)16 b Fc(:)e(:)f(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
-b Fb(3)150 2304 y(nativ)n(e)25 b(languages)13 b Fc(:)i(:)e(:)g(:)h(:)f
+g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)43 b Fb(3)150 1287 y(job)26 b(con)n(trol)13
+b Fc(:)h(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
+b Fb(3,)26 b(91)150 1537 y Fr(K)150 1653 y Fb(kill)g(ring)21
+b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)47 b Fb(97)150 1740 y(killing)27
+b(text)19 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)46 b Fb(97)150 1989 y Fr(L)150 2105
+y Fb(lo)r(calization)14 b Fc(:)i(:)d(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41 b Fb(7)150 2193
+y(login)27 b(shell)17 b Fc(:)d(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)44 b Fb(75)150 2442 y
+Fr(M)150 2558 y Fb(matc)n(hing,)26 b(pattern)20 b Fc(:)14
+b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(26)150
+2645 y(metac)n(haracter)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)45 b Fb(3)150 2878 y Fr(N)150
+2994 y Fb(name)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
+g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)40
+b Fb(3)150 3081 y(nativ)n(e)25 b(languages)13 b Fc(:)i(:)e(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
-g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(7)150 2391
+g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fb(7)150 3169
y(notation,)27 b(readline)9 b Fc(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)35 b Fb(94)150 2642 y Fr(O)150 2759 y Fb(op)r(erator,)27
+(:)f(:)g(:)35 b Fb(96)150 3418 y Fr(O)150 3534 y Fb(op)r(erator,)27
b(shell)16 b Fc(:)e(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)43 b Fb(3)150 3009 y Fr(P)150 3126 y Fb(parameter)26
+g(:)g(:)43 b Fb(3)150 3784 y Fr(P)150 3900 y Fb(parameter)26
b(expansion)7 b Fc(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34
-b Fb(19)150 3213 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(21)150 3987 y(parameters)17 b Fc(:)d(:)f(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(15)150
-3300 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)43 b Fb(17)150
+4074 y(parameters,)27 b(p)r(ositional)18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)44 b Fb(16)150 3388 y(parameters,)27 b(sp)r(ecial)18
+g(:)44 b Fb(17)150 4161 y(parameters,)27 b(sp)r(ecial)18
b Fc(:)c(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(16)150
-3475 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44 b Fb(18)150
+4249 y(pathname)25 b(expansion)12 b Fc(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)38 b Fb(24)150 3563 y(pattern)25 b(matc)n(hing)14
+g(:)38 b Fb(25)150 4336 y(pattern)25 b(matc)n(hing)14
b Fc(:)g(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)40
-b Fb(24)150 3650 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(26)150 4423 y(pip)r(eline)23 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50
-b Fb(8)150 3737 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
+b Fb(8)150 4510 y(POSIX)17 b Fc(:)12 b(:)h(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44
-b Fb(3)150 3825 y(POSIX)25 b(Mo)r(de)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)
+b Fb(3)150 4597 y(POSIX)25 b(Mo)r(de)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(84)150
-3912 y(pro)r(cess)27 b(group)9 b Fc(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fb(86)150
+4685 y(pro)r(cess)27 b(group)9 b Fc(:)k(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fb(3)150 4000 y(pro)r(cess)27
-b(group)e(ID)d Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)49 b Fb(3)150 4087 y(pro)r(cess)27 b(substitution)21
-b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)48 b Fb(23)150
-4175 y(programmable)27 b(completion)20 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)46
-b Fb(115)150 4262 y(prompting)11 b Fc(:)i(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)37 b Fb(82)2025
-299 y Fr(Q)2025 419 y Fb(quoting)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)
+g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)36 b Fb(3)2025 299 y(pro)r(cess)26
+b(group)g(ID)21 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)49 b Fb(3)2025 386 y(pro)r(cess)26 b(substitution)c
+Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
+(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)48 b Fb(24)2025
+474 y(programmable)27 b(completion)20 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)46
+b Fb(117)2025 561 y(prompting)11 b Fc(:)i(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Fb(84)2025
+811 y Fr(Q)2025 928 y Fb(quoting)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)37
-b Fb(6)2025 508 y(quoting,)26 b(ANSI)13 b Fc(:)e(:)j(:)f(:)g(:)g(:)g(:)
-g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(6)2025
-768 y Fr(R)2025 888 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)7
+b Fb(6)2025 1015 y(quoting,)26 b(ANSI)13 b Fc(:)e(:)j(:)f(:)g(:)g(:)g
+(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)40 b Fb(6)2025
+1266 y Fr(R)2025 1382 y Fb(Readline,)26 b(ho)n(w)g(to)g(use)7
b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
-(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(92)2025
-977 y(redirection)7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
-(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(26)2025 1066
+(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34 b Fb(94)2025
+1469 y(redirection)7 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
+h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
+(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Fb(27)2025 1557
y(reserv)n(ed)25 b(w)n(ord)7 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
-(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(3)2025 1155
+(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34 b Fb(3)2025 1644
y(restricted)26 b(shell)8 b Fc(:)14 b(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(84)2025 1244 y(return)25
+h(:)f(:)g(:)g(:)g(:)g(:)35 b Fb(86)2025 1731 y(return)25
b(status)c Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
-(:)g(:)h(:)f(:)48 b Fb(4)2025 1487 y Fr(S)2025 1607 y
+(:)g(:)h(:)f(:)48 b Fb(4)2025 1965 y Fr(S)2025 2082 y
Fb(shell)26 b(arithmetic)11 b Fc(:)j(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
-(:)g(:)g(:)h(:)f(:)37 b Fb(78)2025 1696 y(shell)26 b(function)12
+(:)g(:)g(:)h(:)f(:)37 b Fb(80)2025 2169 y(shell)26 b(function)12
b Fc(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)38
-b Fb(14)2025 1785 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
+b Fb(15)2025 2256 y(shell)26 b(script)c Fc(:)13 b(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b
-Fb(33)2025 1874 y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:)
+Fb(34)2025 2344 y(shell)26 b(v)l(ariable)18 b Fc(:)c(:)f(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
-(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(15)2025
-1964 y(shell,)26 b(in)n(teractiv)n(e)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)
+(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45 b Fb(17)2025
+2431 y(shell,)26 b(in)n(teractiv)n(e)14 b Fc(:)g(:)f(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
-(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fb(75)2025 2053 y(signal)7
+(:)g(:)g(:)g(:)g(:)g(:)h(:)40 b Fb(76)2025 2518 y(signal)7
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fb(4)2025 2142
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)34 b Fb(4)2025 2606
y(signal)27 b(handling)17 b Fc(:)c(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
-g(:)g(:)g(:)g(:)44 b Fb(32)2025 2231 y(sp)r(ecial)27
+g(:)g(:)g(:)g(:)44 b Fb(34)2025 2693 y(sp)r(ecial)27
b(builtin)10 b Fc(:)j(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-37 b Fb(4,)26 b(59)2025 2320 y(startup)f(\014les)d Fc(:)13
+37 b Fb(4,)26 b(62)2025 2781 y(startup)f(\014les)d Fc(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
-b Fb(73)2025 2409 y(susp)r(ending)25 b(jobs)6 b Fc(:)14
+b Fb(75)2025 2868 y(susp)r(ending)25 b(jobs)6 b Fc(:)14
b(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33
-b Fb(89)2025 2669 y Fr(T)2025 2789 y Fb(tilde)26 b(expansion)18
+b Fb(91)2025 3118 y Fr(T)2025 3235 y Fb(tilde)26 b(expansion)18
b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)45
-b Fb(19)2025 2878 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)
+b Fb(20)2025 3322 y(tok)n(en)11 b Fc(:)h(:)i(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)38
-b Fb(4)2025 2967 y(translation,)27 b(nativ)n(e)e(languages)13
+b Fb(4)2025 3409 y(translation,)27 b(nativ)n(e)e(languages)13
b Fc(:)i(:)e(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
-g(:)g(:)g(:)40 b Fb(7)2025 3227 y Fr(V)2025 3347 y Fb(v)l(ariable,)26
+g(:)g(:)g(:)40 b Fb(7)2025 3660 y Fr(V)2025 3776 y Fb(v)l(ariable,)26
b(shell)8 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
-f(:)g(:)g(:)34 b Fb(15)2025 3436 y(v)l(ariables,)27 b(readline)21
+f(:)g(:)g(:)34 b Fb(17)2025 3864 y(v)l(ariables,)27 b(readline)21
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
-b Fb(97)2025 3695 y Fr(W)2025 3815 y Fb(w)n(ord)21 b
+b Fb(99)2025 4114 y Fr(W)2025 4230 y Fb(w)n(ord)21 b
Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
-g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(4)2025 3904
+g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fb(4)2025 4318
y(w)n(ord)26 b(splitting)21 b Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(23)2025 4164 y Fr(Y)2025
-4284 y Fb(y)n(anking)25 b(text)9 b Fc(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g
+g(:)h(:)f(:)g(:)g(:)g(:)47 b Fb(25)2025 4568 y Fr(Y)2025
+4685 y Fb(y)n(anking)25 b(text)9 b Fc(:)j(:)h(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
-g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(95)p eop
+g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)35 b Fb(97)p eop
end
-%%Page: 158 164
-TeXDict begin 158 163 bop eop end
+%%Page: 162 168
+TeXDict begin 162 167 bop eop end
%%Trailer
userdict /end-hook known{end-hook}if
diff --git a/doc/bashref.texi b/doc/bashref.texi
index bf8e3d0..b4fd8d3 100644
--- a/doc/bashref.texi
+++ b/doc/bashref.texi
@@ -16,7 +16,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
of @cite{The GNU Bash Reference Manual},
for @code{Bash}, Version @value{VERSION}.
-Copyright @copyright{} 1988--2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2011 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -522,6 +522,12 @@ the eight-bit character whose value is the octal value @var{nnn}
@item \x@var{HH}
the eight-bit character whose value is the hexadecimal value @var{HH}
(one or two hex digits)
+@item \u@var{HHHH}
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+@var{HHHH} (one to four hex digits)
+@item \U@var{HHHHHHHH}
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+@var{HHHHHHHH} (one to eight hex digits)
@item \c@var{x}
a control-@var{x} character
@end table
@@ -590,6 +596,7 @@ some other grouping.
* Lists:: How to execute commands sequentially.
* Compound Commands:: Shell commands for control flow.
* Coprocesses:: Two-way communication between commands.
+* GNU Parallel:: Running commands in parallel.
@end menu
@node Simple Commands
@@ -641,6 +648,9 @@ The statistics currently consist of elapsed (wall-clock) time and
user and system time consumed by the command's execution.
The @option{-p} option changes the output format to that specified
by @sc{posix}.
+When the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}),
+it does not recognize @code{time} as a reserved word if the next
+token begins with a @samp{-}.
The @env{TIMEFORMAT} variable may be set to a format string that
specifies how the timing information should be displayed.
@xref{Bash Variables}, for a description of the available formats.
@@ -648,6 +658,12 @@ The use of @code{time} as a reserved word permits the timing of
shell builtins, shell functions, and pipelines. An external
@code{time} command cannot time these easily.
+When the shell is in @sc{posix} mode (@pxref{Bash POSIX Mode}), @code{time}
+may be followed by a newline. In this case, the shell displays the
+total user and system time consumed by the shell and its children.
+The @env{TIMEFORMAT} variable may be used to specify the format of
+the time information.
+
If the pipeline is not executed asynchronously (@pxref{Lists}), the
shell waits for all commands in the pipeline to complete.
@@ -804,7 +820,7 @@ until it evaluates to zero.
Each time @var{expr2} evaluates to a non-zero value, @var{commands} are
executed and the arithmetic expression @var{expr3} is evaluated.
If any expression is omitted, it behaves as if it evaluates to 1.
-The return value is the exit status of the last command in @var{list}
+The return value is the exit status of the last command in @var{commands}
that is executed, or false if any of the expressions is invalid.
@end table
@@ -979,7 +995,7 @@ substitution, and quote removal are performed.
Conditional operators such as @samp{-f} must be unquoted to be recognized
as primaries.
-When used with @samp{[[}, The @samp{<} and @samp{>} operators sort
+When used with @samp{[[}, the @samp{<} and @samp{>} operators sort
lexicographically using the current locale.
When the @samp{==} and @samp{!=} operators are used, the string to the
@@ -1119,13 +1135,88 @@ command (@pxref{Redirections}).
The file descriptors can be utilized as arguments to shell commands
and redirections using standard word expansions.
-The process id of the shell spawned to execute the coprocess is
+The process ID of the shell spawned to execute the coprocess is
available as the value of the variable @var{NAME}_PID.
The @code{wait}
builtin command may be used to wait for the coprocess to terminate.
The return status of a coprocess is the exit status of @var{command}.
+@node GNU Parallel
+@subsection GNU Parallel
+
+GNU Parallel, as its name suggests, can be used to build and run commands
+in parallel. You may run the same command with different arguments, whether
+they are filenames, usernames, hostnames, or lines read from files.
+
+For a complete description, refer to the GNU Parallel documentation. A few
+examples should provide a brief introduction to its use.
+
+For example, it is easy to prefix each line in a text file with a specified
+string:
+@example
+cat file | parallel -k echo prefix_string
+@end example
+@noindent
+The @option{-k} option is required to preserve the lines' order.
+
+Similarly, you can append a specified string to each line in a text file:
+@example
+cat file | parallel -k echo @{@} append_string
+@end example
+
+You can use Parallel to move files from the current directory when the
+number of files is too large to process with one @code{mv} invocation:
+@example
+ls | parallel mv @{@} destdir
+@end example
+
+As you can see, the @{@} is replaced with each line read from standard input.
+This will run as many @code{mv} commands as there are files in the current
+directory. You can emulate a parallel @code{xargs} by adding the @option{-X}
+option:
+@example
+ls | parallel -X mv @{@} destdir
+@end example
+
+GNU Parallel can replace certain common idioms that operate on lines read
+from a file (in this case, filenames):
+@example
+ for x in $(cat list); do
+ do-something1 $x config-$x
+ do-something2 < $x
+ done | process-output
+@end example
+
+@noindent
+with a more compact syntax reminiscent of lambdas:
+@example
+cat list | parallel "do-something1 @{@} config-@{@} ; do-something2 < @{@}" | process-output
+@end example
+
+Parallel provides a built-in mechanism to remove filename extensions, which
+lends itself to batch file transformations or renaming:
+@example
+ls *.gz | parallel -j+0 "zcat @{@} | bzip2 >@{.@}.bz2 && rm @{@}"
+@end example
+@noindent
+This will recompress all files in the current directory with names ending
+in .gz using bzip2, running one job per CPU (-j+0) in parallel.
+
+If a command generates output, you may want to preserve the input order in
+the output. For instance, the following command
+@example
+@{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel traceroute
+@end example
+@noindent
+will display as output the traceroute invocation that finishes first. Using
+the @option{-k} option, as we saw above
+@example
+@{ echo foss.org.my ; echo debian.org; echo freenetproject.org; @} | parallel -k traceroute
+@end example
+@noindent
+will ensure that the output of @code{traceroute foss.org.my} is displayed first.
+
@node Shell Functions
@section Shell Functions
@cindex shell function
@@ -1142,7 +1233,8 @@ shell context; no new process is created to interpret them.
Functions are declared using this syntax:
@rwindex function
@example
-[ @code{function} ] @var{name} () @var{compound-command} [ @var{redirections} ]
+@var{name} () @var{compound-command} [ @var{redirections} ]@*or@*
+@code{function} @var{name} [()] @var{compound-command} [ @var{redirections} ]
@end example
This defines a shell function named @var{name}. The reserved
@@ -1198,6 +1290,11 @@ shell option has been enabled.
@xref{Bourne Shell Builtins}, for the description of the
@code{trap} builtin.
+The @env{FUNCNEST} variable, if set to a numeric value greater
+than 0, defines a maximum function nesting level. Function
+invocations that exceed the limit cause the entire command to
+abort.
+
If the builtin command @code{return}
is executed in a function, the function completes and
execution resumes with the next command after the function
@@ -1232,8 +1329,10 @@ in multiple identically-named entries in the environment passed to the
shell's children.
Care should be taken in cases where this may cause a problem.
-Functions may be recursive. No limit is placed on the number of
-recursive calls.
+Functions may be recursive.
+The @code{FUNCNEST} variable may be used to limit the depth of the
+function call stack and restrict the number of function invocations.
+By default, no limit is placed on the number of recursive calls.
@node Shell Parameters
@section Shell Parameters
@@ -1283,7 +1382,7 @@ In the context where an assignment statement is assigning a value
to a shell variable or array index (@pxref{Arrays}), the @samp{+=}
operator can be used to
append to or add to the variable's previous value.
-When @samp{+=} is applied to a variable for which the integer attribute
+When @samp{+=} is applied to a variable for which the @var{integer} attribute
has been set, @var{value} is evaluated as an arithmetic expression and
added to the variable's current value, which is also evaluated.
When @samp{+=} is applied to an array variable using compound assignment
@@ -1618,7 +1717,7 @@ Bash uses the value of the variable formed from the rest of
expanded and that value is used in the rest of the substitution, rather
than the value of @var{parameter} itself.
This is known as @code{indirect expansion}.
-The exceptions to this are the expansions of $@{!@var{prefix*}@}
+The exceptions to this are the expansions of $@{!@var{prefix}@*@}
and $@{!@var{name}[@@]@}
described below.
The exclamation point must immediately follow the left brace in order to
@@ -1672,9 +1771,13 @@ If @var{length} is omitted, expands to the substring of
(@pxref{Shell Arithmetic}).
This is referred to as Substring Expansion.
-@var{length} must evaluate to a number greater than or equal to zero.
If @var{offset} evaluates to a number less than zero, the value
is used as an offset from the end of the value of @var{parameter}.
+If @var{length} evaluates to a number less than zero, and @var{parameter}
+is not @samp{@@} and not an indexed or associative array, it is interpreted
+as an offset from the end of the value of @var{parameter} rather than
+a number of characters, and the expansion is the characters between the
+two offsets.
If @var{parameter} is @samp{@@}, the result is @var{length} positional
parameters beginning at @var{offset}.
If @var{parameter} is an indexed array name subscripted
@@ -2838,7 +2941,7 @@ The return status is zero unless @var{n} is not greater than or equal to 1.
@item cd
@btindex cd
@example
-cd [-L|-P] [@var{directory}]
+cd [-L|[-P [-e]]] [@var{directory}]
@end example
Change the current working directory to @var{directory}.
If @var{directory} is not given, the value of the @env{HOME} shell
@@ -2848,6 +2951,10 @@ If @var{directory} begins with a slash, @env{CDPATH} is not used.
The @option{-P} option means to not follow symbolic links; symbolic
links are followed by default or with the @option{-L} option.
+If the @option{-e} option is supplied with @option{-P}
+and the current working directory cannot be successfully determined
+after a successful directory change, @code{cd} will return an unsuccessful
+status.
If @var{directory} is @samp{-}, it is equivalent to @env{$OLDPWD}.
If a non-empty directory name from @env{CDPATH} is used, or if
@@ -2954,7 +3061,7 @@ invocation if a new set of parameters is to be used.
When the end of options is encountered, @code{getopts} exits with a
return value greater than zero.
@env{OPTIND} is set to the index of the first non-option argument,
-and @code{name} is set to @samp{?}.
+and @var{name} is set to @samp{?}.
@code{getopts}
normally parses the positional parameters, but if more arguments are
@@ -2986,10 +3093,12 @@ If @code{getopts} is silent, then a colon (@samp{:}) is placed in
@example
hash [-r] [-p @var{filename}] [-dt] [@var{name}]
@end example
-Remember the full pathnames of commands specified as @var{name} arguments,
+Each time @code{hash} is invoked, it remembers the full pathnames of the
+commands specified as @var{name} arguments,
so they need not be searched for on subsequent invocations.
The commands are found by searching through the directories listed in
@env{$PATH}.
+Any previously-remembered pathname is discarded.
The @option{-p} option inhibits the path search, and @var{filename} is
used as the location of @var{name}.
The @option{-r} option causes the shell to forget all remembered locations.
@@ -3023,7 +3132,7 @@ is supplied.
@item readonly
@btindex readonly
@example
-readonly [-aApf] [@var{name}[=@var{value}]] @dots{}
+readonly [-aAf] [-p] [@var{name}[=@var{value}]] @dots{}
@end example
Mark each @var{name} as readonly.
The values of these names may not be changed by subsequent assignment.
@@ -3032,8 +3141,11 @@ function.
The @option{-a} option means each @var{name} refers to an indexed
array variable; the @option{-A} option means each @var{name} refers
to an associative array variable.
+If both options are supplied, @option{-A} takes precedence.
If no @var{name} arguments are given, or if the @option{-p}
option is supplied, a list of all readonly names is printed.
+The other options may be used to restrict the output to a subset of
+the set of readonly names.
The @option{-p} option causes output to be displayed in a format that
may be reused as input.
If a variable name is followed by =@var{value}, the value of
@@ -3093,6 +3205,7 @@ be a @code{]}.
Expressions may be combined using the following operators, listed in
decreasing order of precedence.
The evaluation depends on the number of arguments; see below.
+Operator precedence is used when there are five or more arguments.
@table @code
@item ! @var{expr}
@@ -3129,6 +3242,7 @@ If the first argument is not a valid unary operator, the expression is
false.
@item 3 arguments
+The following conditions are applied in the order listed.
If the second argument is one of the binary conditional
operators (@pxref{Bash Conditional Expressions}), the
result of the expression is the result of the binary test using the
@@ -3153,6 +3267,9 @@ The expression is parsed and evaluated according to precedence
using the rules listed above.
@end table
+When used with @code{test} or @samp{[}, the @samp{<} and @samp{>}
+operators sort lexicographically using ASCII ordering.
+
@item times
@btindex times
@example
@@ -3448,6 +3565,11 @@ If the @code{extdebug} shell option is enabled using @code{shopt}
(@pxref{The Shopt Builtin}), the source file name and line number where
the function is defined are displayed as well.
@option{-F} implies @option{-f}.
+
+The @option{-g} option forces variables to be created or modified at
+the global scope, even when @code{declare} is executed in a shell function.
+It is ignored in all other cases.
+
The following options can be used to restrict output to variables with
the specified attributes or to give variables attributes:
@@ -3496,8 +3618,9 @@ with the exceptions that @samp{+a}
may not be used to destroy an array variable and @samp{+r} will not
remove the readonly attribute.
When used in a function, @code{declare} makes each @var{name} local,
-as with the @code{local} command. If a variable name is followed by
-=@var{value}, the value of the variable is set to @var{value}.
+as with the @code{local} command, unless the @samp{-g} option is used.
+If a variable name is followed by =@var{value}, the value of the variable
+is set to @var{value}.
The return status is zero unless an invalid option is encountered,
an attempt is made to define a function using @samp{-f foo=bar},
@@ -3536,6 +3659,7 @@ backspace
@item \c
suppress further output
@item \e
+@itemx \E
escape
@item \f
form feed
@@ -3555,6 +3679,12 @@ the eight-bit character whose value is the octal value @var{nnn}
@item \x@var{HH}
the eight-bit character whose value is the hexadecimal value @var{HH}
(one or two hex digits)
+@item \u@var{HHHH}
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+@var{HHHH} (one to four hex digits)
+@item \U@var{HHHHHHHH}
+the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value
+@var{HHHHHHHH} (one to eight hex digits)
@end table
@item enable
@@ -3679,7 +3809,8 @@ Specify the number of lines read between each call to @var{callback}.
If @option{-C} is specified without @option{-c},
the default quantum is 5000.
When @var{callback} is evaluated, it is supplied the index of the next
-array element to be assigned as an additional argument.
+array element to be assigned and the line to be assigned to that element
+as additional arguments.
@var{callback} is evaluated after the line is read but before the
array element is assigned.
@@ -3697,22 +3828,40 @@ printf [-v @var{var}] @var{format} [@var{arguments}]
@end example
Write the formatted @var{arguments} to the standard output under the
control of the @var{format}.
+The @option{-v} option causes the output to be assigned to the variable
+@var{var} rather than being printed to the standard output.
+
The @var{format} is a character string which contains three types of objects:
plain characters, which are simply copied to standard output, character
escape sequences, which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive
@var{argument}.
-In addition to the standard @code{printf(1)} formats, @samp{%b} causes
-@code{printf} to expand backslash escape sequences in the corresponding
-@var{argument},
+In addition to the standard @code{printf(1)} formats, @code{printf}
+interprets the following extensions:
+
+@table @code
+@item %b
+causes @code{printf} to expand backslash escape sequences in the
+corresponding @var{argument},
(except that @samp{\c} terminates output, backslashes in
@samp{\'}, @samp{\"}, and @samp{\?} are not removed, and octal escapes
-beginning with @samp{\0} may contain up to four digits),
-and @samp{%q} causes @code{printf} to output the
+beginning with @samp{\0} may contain up to four digits).
+@item %q
+causes @code{printf} to output the
corresponding @var{argument} in a format that can be reused as shell input.
+@item %(@var{datefmt})T
+causes @code{printf} to output the date-time string resulting from using
+@var{datefmt} as a format string for @code{strftime}(3). The corresponding
+@var{argument} is an integer representing the number of seconds since the
+epoch. Two special argument values may be used: -1 represents the current
+time, and -2 represents the time the shell was invoked.
+@end table
-The @option{-v} option causes the output to be assigned to the variable
-@var{var} rather than being printed to the standard output.
+@noindent
+Arguments to non-string format specifiers are treated as C language constants,
+except that a leading plus or minus sign is allowed, and if the leading
+character is a single or double quote, the value is the ASCII value of
+the following character.
The @var{format} is reused as necessary to consume all of the @var{arguments}.
If the @var{format} requires more @var{arguments} than are supplied, the
@@ -3939,7 +4088,8 @@ The maximum amount of cpu time in seconds.
The maximum number of processes available to a single user.
@item -v
-The maximum amount of virtual memory available to the process.
+The maximum amount of virtual memory available to the shell, and, on
+some systems, to its children.
@item -x
The maximum number of file locks.
@@ -3999,8 +4149,8 @@ parameters, or to display the names and values of shell variables.
@item set
@btindex set
@example
-set [--abefhkmnptuvxBCEHPT] [-o @var{option}] [@var{argument} @dots{}]
-set [+abefhkmnptuvxBCEHPT] [+o @var{option}] [@var{argument} @dots{}]
+set [--abefhkmnptuvxBCEHPT] [-o @var{option-name}] [@var{argument} @dots{}]
+set [+abefhkmnptuvxBCEHPT] [+o @var{option-name}] [@var{argument} @dots{}]
@end example
If no options or arguments are supplied, @code{set} displays the names
@@ -4361,7 +4511,29 @@ easy re-editing of multi-line commands.
@item compat31
If set, Bash
changes its behavior to that of version 3.1 with respect to quoted
-arguments to the conditional command's =~ operator.
+arguments to the conditional command's @samp{=~} operator.
+
+@item compat32
+If set, Bash
+changes its behavior to that of version 3.2 with respect to locale-specific
+string comparison when using the @samp{[[}
+conditional command's @samp{<} and @samp{>} operators.
+Bash versions prior to bash-4.0 use ASCII collation and strcmp(3);
+bash-4.1 and later use the current locale's collation sequence and strcoll(3).
+
+@item compat40
+If set, Bash
+changes its behavior to that of version 4.0 with respect to locale-specific
+string comparison when using the @samp{[[}
+conditional command's @samp{<} and @samp{>} operators (see previous item)
+and the effect of interrupting a command list.
+
+@item compat41
+If set, Bash, when in posix mode, treats a single quote in a double-quoted
+parameter expansion as a special character. The single quotes must match
+(an even number) and the characters between the single quotes are considered
+quoted. This is the behavior of @sc{posix} mode through version 4.1.
+The default Bash behavior remains as in previous versions.
@item dirspell
If set, Bash
@@ -4414,7 +4586,7 @@ subshells invoked with @code{( @var{command} )} inherit the
@item
Error tracing is enabled: command substitution, shell functions, and
subshells invoked with @code{( @var{command} )} inherit the
-@code{ERROR} trap.
+@code{ERR} trap.
@end enumerate
@item extglob
@@ -4439,7 +4611,7 @@ This option is enabled by default.
@item globstar
If set, the pattern @samp{**} used in a filename expansion context will
-match a files and zero or more directories and subdirectories.
+match all files and zero or more directories and subdirectories.
If the pattern is followed by a @samp{/}, only directories and
subdirectories match.
@@ -4479,6 +4651,10 @@ to cause that word and all remaining characters on that
line to be ignored in an interactive shell.
This option is enabled by default.
+@item lastpipe
+If set, and job control is not active, the shell runs the last command of
+a pipeline not executed in the background in the current shell environment.
+
@item lithist
If enabled, and the @code{cmdhist}
option is enabled, multi-line commands are saved to the history with
@@ -4621,9 +4797,10 @@ A list of characters that separate fields; used when the shell splits
words as part of expansion.
@item MAIL
-If this parameter is set to a filename and the @env{MAILPATH} variable
+If this parameter is set to a filename or directory name
+and the @env{MAILPATH} variable
is not set, Bash informs the user of the arrival of mail in
-the specified file.
+the specified file or Maildir-format directory.
@item MAILPATH
A colon-separated list of filenames which the shell periodically checks
@@ -4685,13 +4862,13 @@ starts up, each shell option in the list will be enabled before
reading any startup files. This variable is readonly.
@item BASHPID
-Expands to the process id of the current Bash process.
+Expands to the process ID of the current Bash process.
This differs from @code{$$} under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
@item BASH_ALIASES
An associative array variable whose members correspond to the internal
-list of aliases as maintained by the @code{alias} builtin
+list of aliases as maintained by the @code{alias} builtin.
(@pxref{Bourne Shell Builtins}).
Elements added to this array appear in the alias list; unsetting array
elements cause aliases to be removed from the alias list.
@@ -4741,11 +4918,11 @@ The command argument to the @option{-c} invocation option.
@item BASH_LINENO
An array variable whose members are the line numbers in source files
-corresponding to each member of @var{FUNCNAME}.
-@code{$@{BASH_LINENO[$i]@}} is the line number in the source file where
+where each corresponding member of @var{FUNCNAME} was invoked.
+@code{$@{BASH_LINENO[$i]@}} is the line number in the source file
+(@code{$@{BASH_SOURCE[$i+1]@}}) where
@code{$@{FUNCNAME[$i]@}} was called (or @code{$@{BASH_LINENO[$i-1]@}} if
-referenced within another shell function).
-The corresponding source file name is @code{$@{BASH_SOURCE[$i]@}}.
+referenced within another shell function).
Use @code{LINENO} to obtain the current line number.
@item BASH_REMATCH
@@ -4759,8 +4936,11 @@ string matching the @var{n}th parenthesized subexpression.
This variable is read-only.
@item BASH_SOURCE
-An array variable whose members are the source filenames corresponding
-to the elements in the @code{FUNCNAME} array variable.
+An array variable whose members are the source filenames where the
+corresponding shell function names in the @code{FUNCNAME} array
+variable are defined.
+The shell function @code{$@{FUNCNAME[$i]@}} is defined in the file
+@code{$@{BASH_SOURCE[$i]@}} and called from @code{$@{BASH_SOURCE[$i+1]@}}
@item BASH_SUBSHELL
Incremented by one each time a subshell or subshell environment is spawned.
@@ -4811,7 +4991,7 @@ descriptor) and then unsetting it will result in the standard error
being closed.
@item COLUMNS
-Used by the @code{select} builtin command to determine the terminal width
+Used by the @code{select} command to determine the terminal width
when printing selection lists. Automatically set upon receipt of a
@code{SIGWINCH}.
@@ -4872,6 +5052,10 @@ An array variable from which Bash reads the possible completions
generated by a shell function invoked by the programmable completion
facility (@pxref{Programmable Completion}).
+@item COPROC
+An array variable created to hold the file descriptors
+for output from and input to an unnamed coprocess (@pxref{Coprocesses}).
+
@item DIRSTACK
An array variable containing the current contents of the directory stack.
Directories appear in the stack in the order they are displayed by the
@@ -4886,7 +5070,11 @@ it is subsequently reset.
@item EMACS
If Bash finds this variable in the environment when the shell
starts with value @samp{t}, it assumes that the shell is running in an
-emacs shell buffer and disables line editing.
+Emacs shell buffer and disables line editing.
+
+@item ENV
+Similar to @code{BASH_ENV}; used when the shell is invoked in
+@sc{posix} Mode (@pxref{Bash POSIX Mode}).
@item EUID
The numeric effective user id of the current user. This variable
@@ -4909,12 +5097,26 @@ An array variable containing the names of all shell functions
currently in the execution call stack.
The element with index 0 is the name of any currently-executing
shell function.
-The bottom-most element is @code{"main"}.
+The bottom-most element (the one with the highest index)
+is @code{"main"}.
This variable exists only when a shell function is executing.
Assignments to @env{FUNCNAME} have no effect and return an error status.
If @env{FUNCNAME} is unset, it loses its special properties, even if
it is subsequently reset.
+This variable can be used with @code{BASH_LINENO} and @code{BASH_SOURCE}.
+Each element of @code{FUNCNAME} has corresponding elements in
+@code{BASH_LINENO} and @code{BASH_SOURCE} to describe the call stack.
+For instance, @code{$@{FUNCNAME[$i]@}} was called from the file
+@code{$@{BASH_SOURCE[$i+1]@}} at line number @code{$@{BASH_LINENO[$i]@}}.
+The @code{caller} builtin displays the current call stack using this
+information.
+
+@item FUNCNEST
+If set to a numeric value greater than 0, defines a maximum function
+nesting level. Function invocations that exceed this nesting level
+will cause the current command to abort.
+
@item GLOBIGNORE
A colon-separated list of patterns defining the set of filenames to
be ignored by filename expansion.
@@ -5078,7 +5280,7 @@ This variable determines the locale category used for number formatting.
The line number in the script or shell function currently executing.
@item LINES
-Used by the @code{select} builtin command to determine the column length
+Used by the @code{select} command to determine the column length
for printing selection lists. Automatically set upon receipt of a
@code{SIGWINCH}.
@@ -5094,6 +5296,10 @@ for mail, the shell does so before displaying the primary prompt.
If this variable is unset, or set to a value that is not a number
greater than or equal to zero, the shell disables mail checking.
+@item MAPFILE
+An array variable created to hold the text read by the
+@code{mapfile} builtin when no variable name is supplied.
+
@item OLDPWD
The previous working directory as set by the @code{cd} builtin.
@@ -5156,6 +5362,14 @@ Each time this parameter is referenced, a random integer
between 0 and 32767 is generated. Assigning a value to this
variable seeds the random number generator.
+@item READLINE_LINE
+The contents of the Readline line buffer, for use
+with @samp{bind -x} (@pxref{Bash Builtins}).
+
+@item READLINE_POINT
+The position of the insertion point in the Readline line buffer, for use
+with @samp{bind -x} (@pxref{Bash Builtins}).
+
@item REPLY
The default variable for the @code{read} builtin.
@@ -5284,8 +5498,9 @@ bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}]
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] [@var{argument} @dots{}]
@end example
-In addition to the single-character shell command-line options
-(@pxref{The Set Builtin}), there are several multi-character
+All of the single-character options used with the @code{set} builtin
+(@pxref{The Set Builtin}) can be used as options when the shell is invoked.
+In addition, there are several multi-character
options that you can use. These options must appear on the command
line before the single-character options to be recognized.
@@ -5294,9 +5509,7 @@ line before the single-character options to be recognized.
Arrange for the debugger profile to be executed before the shell
starts. Turns on extended debugging mode (see @ref{The Shopt Builtin}
for a description of the @code{extdebug} option to the @code{shopt}
-builtin) and shell function tracing
-(see @ref{The Set Builtin} for a description of the @code{-o functrace}
-option).
+builtin).
@item --dump-po-strings
A list of all double-quoted strings preceded by @samp{$}
@@ -5527,7 +5740,7 @@ No other startup files are read.
@subsubheading Invoked by remote shell daemon
Bash attempts to determine when it is being run with its standard input
-connected to a a network connection, as if by the remote shell
+connected to a network connection, as when executed by the remote shell
daemon, usually @code{rshd}, or the secure shell daemon @code{sshd}.
If Bash determines it is being run in
this fashion, it reads and executes commands from @file{~/.bashrc}, if that
@@ -5722,8 +5935,9 @@ If the @var{file} argument to one of the primaries is one of
@file{/dev/stdin}, @file{/dev/stdout}, or @file{/dev/stderr}, file
descriptor 0, 1, or 2, respectively, is checked.
-When used with @samp{[[}, The @samp{<} and @samp{>} operators sort
+When used with @samp{[[}, the @samp{<} and @samp{>} operators sort
lexicographically using the current locale.
+The @code{test} command uses ASCII ordering.
Unless otherwise specified, primaries that operate on files follow symbolic
links and operate on the target of the link, rather than the link itself.
@@ -5777,20 +5991,24 @@ True if @var{file} exists and is writable.
@item -x @var{file}
True if @var{file} exists and is executable.
-@item -O @var{file}
-True if @var{file} exists and is owned by the effective user id.
-
@item -G @var{file}
True if @var{file} exists and is owned by the effective group id.
@item -L @var{file}
True if @var{file} exists and is a symbolic link.
+@item -N @var{file}
+True if @var{file} exists and has been modified since it was last read.
+
+@item -O @var{file}
+True if @var{file} exists and is owned by the effective user id.
+
@item -S @var{file}
True if @var{file} exists and is a socket.
-@item -N @var{file}
-True if @var{file} exists and has been modified since it was last read.
+@item @var{file1} -ef @var{file2}
+True if @var{file1} and @var{file2} refer to the same device and
+inode numbers.
@item @var{file1} -nt @var{file2}
True if @var{file1} is newer (according to modification date)
@@ -5800,15 +6018,14 @@ than @var{file2}, or if @var{file1} exists and @var{file2} does not.
True if @var{file1} is older than @var{file2},
or if @var{file2} exists and @var{file1} does not.
-@item @var{file1} -ef @var{file2}
-True if @var{file1} and @var{file2} refer to the same device and
-inode numbers.
-
@item -o @var{optname}
-True if shell option @var{optname} is enabled.
+True if the shell option @var{optname} is enabled.
The list of options appears in the description of the @option{-o}
option to the @code{set} builtin (@pxref{The Set Builtin}).
+@item -v @var{varname}
+True if the shell variable @var{varname} is set (has been assigned a value).
+
@item -z @var{string}
True if the length of @var{string} is zero.
@@ -5928,12 +6145,12 @@ The value of a variable is evaluated as an arithmetic expression
when it is referenced, or when a variable which has been given the
@var{integer} attribute using @samp{declare -i} is assigned a value.
A null value evaluates to 0.
-A shell variable need not have its integer attribute turned on
+A shell variable need not have its @var{integer} attribute turned on
to be used in an expression.
Constants with a leading 0 are interpreted as octal numbers.
A leading @samp{0x} or @samp{0X} denotes hexadecimal. Otherwise,
-numbers take the form [@var{base}@code{#}]@var{n}, where @var{base}
+numbers take the form [@var{base}@code{#}]@var{n}, where the optional @var{base}
is a decimal number between 2 and 64 representing the arithmetic
base, and @var{n} is a number in that base. If @var{base}@code{#} is
omitted, then base 10 is used.
@@ -6028,8 +6245,11 @@ name[@var{subscript}]=@var{value}
@noindent
The @var{subscript}
-is treated as an arithmetic expression that must evaluate to a number
-greater than or equal to zero. To explicitly declare an array, use
+is treated as an arithmetic expression that must evaluate to a number.
+If @var{subscript} evaluates to a number less than zero, it is used as
+an offset from one greater than the array's maximum index (so a subcript
+of -1 refers to the last element of the array).
+To explicitly declare an array, use
@example
declare -a @var{name}
@end example
@@ -6111,6 +6331,7 @@ entire array.
The @code{declare}, @code{local}, and @code{readonly}
builtins each accept a @option{-a} option to specify an indexed
array and a @option{-A} option to specify an associative array.
+If both options are supplied, @option{-A} takes precedence.
The @code{read} builtin accepts a @option{-a}
option to assign a list of words read from the standard input
to an array, and can read values from the standard input into
@@ -6440,6 +6661,11 @@ Non-interactive shells exit if a syntax error in an arithmetic expansion
results in an invalid expression.
@item
+Non-interactive shells exit if there is a syntax error in a script read
+with the @code{.} or @code{source} builtins, or in a string processed by
+the @code{eval} builtin.
+
+@item
Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
@@ -6458,21 +6684,30 @@ causes a fatal syntax error in non-interactive shells.
during command lookup.
@item
+The @code{time} reserved word may be used by itself as a command. When
+used in this way, it displays timing statistics for the shell and its
+completed children. The @env{TIMEFORMAT} variable controls the format
+of the timing information.
+
+@item
+When parsing and expanding a $@{@dots{}@} expansion that appears within
+double quotes, single quotes are no longer special and cannot be used to
+quote a closing brace or other special character, unless the operator is
+one of those defined to perform pattern removal. In this case, they do
+not have to appear as matched pairs.
+
+@item
+The parser does not recognize @code{time} as a reserved word if the next
+token begins with a @samp{-}.
+
+@item
If a @sc{posix} special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
-the POSIX standard, and include things like passing incorrect options,
+the @sc{posix} standard, and include things like passing incorrect options,
redirection errors, variable assignment errors for assignments preceding
the command name, and so on.
@item
-If @env{CDPATH} is set, the @code{cd} builtin will not implicitly
-append the current directory to it. This means that @code{cd} will
-fail if no valid directory name can be constructed from
-any of the entries in @env{$CDPATH}, even if the a directory with
-the same name as the name given as an argument to @code{cd} exists
-in the current directory.
-
-@item
A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements.
@@ -6480,6 +6715,11 @@ A variable assignment error occurs, for example, when trying to assign
a value to a readonly variable.
@item
+A non-interactive shell exists with an error status if a variable
+assignment error occurs in an assignment statement preceding a special
+builtin, but not with any other simple command.
+
+@item
A non-interactive shell exits with an error status if the iteration
variable in a @code{for} statement or the selection variable in a
@code{select} statement is a readonly variable.
@@ -6545,10 +6785,6 @@ does not refer to an existing directory, @code{cd} will fail instead of
falling back to @var{physical} mode.
@item
-When the @code{pwd} builtin is supplied the @option{-P} option, it resets
-@code{$PWD} to a pathname containing no symlinks.
-
-@item
The @code{pwd} builtin verifies that the value it prints is the same as the
current directory, even if it is not asked to check the file system with the
@option{-P} option.
@@ -7269,7 +7505,7 @@ Include support for the @code{[[} conditional command.
(@pxref{Conditional Constructs}).
@item --enable-cond-regexp
-Include support for matching POSIX regular expressions using the
+Include support for matching @sc{posix} regular expressions using the
@samp{=~} binary operator in the @code{[[} conditional command.
(@pxref{Conditional Constructs}).
@@ -7350,8 +7586,8 @@ when called as @code{rbash}, enters a restricted mode. See
@ref{The Restricted Shell}, for a description of restricted mode.
@item --enable-select
-Include the @code{select} builtin, which allows the generation of simple
-menus (@pxref{Conditional Constructs}).
+Include the @code{select} compound command, which allows the generation of
+simple menus (@pxref{Conditional Constructs}).
@item --enable-separate-helpfiles
Use external files for the documentation displayed by the @code{help} builtin
diff --git a/doc/builtins.0 b/doc/builtins.0
index a721e38..5361dd7 100644
--- a/doc/builtins.0
+++ b/doc/builtins.0
@@ -129,7 +129,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
ccaalllleerr [_e_x_p_r]
Returns the context of any active subroutine call (a shell func-
- tion or a script executed with the .. or ssoouurrccee builtins. With-
+ tion or a script executed with the .. or ssoouurrccee builtins). With-
out _e_x_p_r, ccaalllleerr displays the line number and source filename of
the current subroutine call. If a non-negative integer is sup-
plied as _e_x_p_r, ccaalllleerr displays the line number, subroutine name,
@@ -140,7 +140,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
routine call or _e_x_p_r does not correspond to a valid position in
the call stack.
- ccdd [--LL||--PP] [_d_i_r]
+ ccdd [--LL|[--PP [--ee]]] [_d_i_r]
Change the current directory to _d_i_r. The variable HHOOMMEE is the
default _d_i_r. The variable CCDDPPAATTHH defines the search path for
the directory containing _d_i_r. Alternative directory names in
@@ -150,104 +150,107 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
option says to use the physical directory structure instead of
following symbolic links (see also the --PP option to the sseett
builtin command); the --LL option forces symbolic links to be fol-
- lowed. An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non-
- empty directory name from CCDDPPAATTHH is used, or if -- 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-
+ lowed. If the --ee option is supplied with --PP, and the current
+ working directory cannot be successfully determined after a suc-
+ cessful directory change, ccdd will return an unsuccessful status.
+ An argument of -- is equivalent to $$OOLLDDPPWWDD. If a non-empty
+ directory name from CCDDPPAATTHH is used, or if -- is the first argu-
+ ment, and the directory change is successful, the absolute path-
+ name of the new working directory is written to the standard
+ output. The return value is true if the directory was success-
fully changed; false otherwise.
ccoommmmaanndd [--ppVVvv] _c_o_m_m_a_n_d [_a_r_g ...]
- Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function
- lookup. Only builtin commands or commands found in the PPAATTHH are
- executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is
- performed using a default value for PPAATTHH that is guaranteed to
- find all of the standard utilities. If either the --VV or --vv
+ Run _c_o_m_m_a_n_d with _a_r_g_s suppressing the normal shell function
+ lookup. Only builtin commands or commands found in the PPAATTHH are
+ executed. If the --pp option is given, the search for _c_o_m_m_a_n_d is
+ performed using a default value for PPAATTHH that is guaranteed to
+ find all of the standard utilities. If either the --VV or --vv
option is supplied, a description of _c_o_m_m_a_n_d is printed. The --vv
- 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 _c_o_m_m_a_n_d to be displayed; the --VV option produces a
- more verbose description. If the --VV or --vv option is supplied,
- the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If
+ more verbose description. If the --VV or --vv option is supplied,
+ the exit status is 0 if _c_o_m_m_a_n_d was found, and 1 if not. If
neither option is supplied and an error occurred or _c_o_m_m_a_n_d 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 ccoommmmaanndd builtin is the exit status of _c_o_m_m_a_n_d.
ccoommppggeenn [_o_p_t_i_o_n] [_w_o_r_d]
- Generate possible completion matches for _w_o_r_d according to the
- _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee
- builtin with the exception of --pp and --rr, and write the matches
- to the standard output. When using the --FF or --CC options, the
- various shell variables set by the programmable completion
+ Generate possible completion matches for _w_o_r_d according to the
+ _o_p_t_i_o_ns, which may be any option accepted by the ccoommpplleettee
+ builtin with the exception of --pp and --rr, and write the matches
+ to the standard output. When using the --FF or --CC 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 _w_o_r_d is speci-
fied, only those completions matching _w_o_r_d 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.
- ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_-
+ ccoommpplleettee [--aabbccddeeffggjjkkssuuvv] [--oo _c_o_m_p_-_o_p_t_i_o_n] [--DDEE] [--AA _a_c_t_i_o_n] [--GG _g_l_o_b_-
_p_a_t] [--WW _w_o_r_d_l_i_s_t] [--FF _f_u_n_c_t_i_o_n] [--CC _c_o_m_m_a_n_d]
[--XX _f_i_l_t_e_r_p_a_t] [--PP _p_r_e_f_i_x] [--SS _s_u_f_f_i_x] _n_a_m_e [_n_a_m_e _._._.]
ccoommpplleettee --pprr [--DDEE] [_n_a_m_e ...]
- Specify how arguments to each _n_a_m_e should be completed. If the
- --pp 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 _n_a_m_e should be completed. If the
+ --pp 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 --rr option removes a completion spec-
- ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com-
+ ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com-
pletion specifications. The --DD option indicates that the
- remaining options and actions should apply to the ``default''
- command completion; that is, completion attempted on a command
- for which no completion has previously been defined. The --EE
- option indicates that the remaining options and actions should
- apply to ``empty'' command completion; that is, completion
+ remaining options and actions should apply to the ``default''
+ command completion; that is, completion attempted on a command
+ for which no completion has previously been defined. The --EE
+ option indicates that the remaining options and actions should
+ apply to ``empty'' command completion; that is, completion
attempted on a blank line.
- The process of applying these completion specifications when
- word completion is attempted is described above under PPrroo--
+ The process of applying these completion specifications when
+ word completion is attempted is described above under PPrroo--
ggrraammmmaabbllee CCoommpplleettiioonn.
- Other options, if specified, have the following meanings. The
- arguments to the --GG, --WW, and --XX options (and, if necessary, the
- --PP and --SS options) should be quoted to protect them from expan-
+ Other options, if specified, have the following meanings. The
+ arguments to the --GG, --WW, and --XX options (and, if necessary, the
+ --PP and --SS options) should be quoted to protect them from expan-
sion before the ccoommpplleettee builtin is invoked.
--oo _c_o_m_p_-_o_p_t_i_o_n
- The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp-
- spec's behavior beyond the simple generation of comple-
+ The _c_o_m_p_-_o_p_t_i_o_n controls several aspects of the comp-
+ spec's behavior beyond the simple generation of comple-
tions. _c_o_m_p_-_o_p_t_i_o_n may be one of:
bbaasshhddeeffaauulltt
Perform the rest of the default bbaasshh completions
if the compspec generates no matches.
- ddeeffaauulltt Use readline's default filename completion if
+ ddeeffaauulltt Use readline's default filename completion if
the compspec generates no matches.
ddiirrnnaammeess
- Perform directory name completion if the comp-
+ Perform directory name completion if the comp-
spec generates no matches.
ffiilleennaammeess
- 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.
- nnoossppaaccee Tell readline not to append a space (the
- default) to words completed at the end of the
+ nnoossppaaccee Tell readline not to append a space (the
+ default) to words completed at the end of the
line.
pplluussddiirrss
- 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.
--AA _a_c_t_i_o_n
- The _a_c_t_i_o_n may be one of the following to generate a
+ The _a_c_t_i_o_n may be one of the following to generate a
list of possible completions:
aalliiaass Alias names. May also be specified as --aa.
aarrrraayyvvaarr
Array variable names.
bbiinnddiinngg RReeaaddlliinnee key binding names.
- bbuuiillttiinn Names of shell builtin commands. May also be
+ bbuuiillttiinn Names of shell builtin commands. May also be
specified as --bb.
ccoommmmaanndd Command names. May also be specified as --cc.
ddiirreeccttoorryy
@@ -255,7 +258,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
ddiissaabblleedd
Names of disabled shell builtins.
eennaabblleedd Names of enabled shell builtins.
- eexxppoorrtt Names of exported shell variables. May also be
+ eexxppoorrtt Names of exported shell variables. May also be
specified as --ee.
ffiillee File names. May also be specified as --ff.
ffuunnccttiioonn
@@ -264,17 +267,17 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
hheellppttooppiicc
Help topics as accepted by the hheellpp builtin.
hhoossttnnaammee
- Hostnames, as taken from the file specified by
+ Hostnames, as taken from the file specified by
the HHOOSSTTFFIILLEE shell variable.
- jjoobb Job names, if job control is active. May also
+ jjoobb Job names, if job control is active. May also
be specified as --jj.
- kkeeyywwoorrdd Shell reserved words. May also be specified as
+ kkeeyywwoorrdd Shell reserved words. May also be specified as
--kk.
rruunnnniinngg Names of running jobs, if job control is active.
sseerrvviiccee Service names. May also be specified as --ss.
- sseettoopptt Valid arguments for the --oo option to the sseett
+ sseettoopptt Valid arguments for the --oo option to the sseett
builtin.
- sshhoopptt Shell option names as accepted by the sshhoopptt
+ sshhoopptt Shell option names as accepted by the sshhoopptt
builtin.
ssiiggnnaall Signal names.
ssttooppppeedd Names of stopped jobs, if job control is active.
@@ -282,15 +285,6 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
vvaarriiaabbllee
Names of all shell variables. May also be spec-
ified as --vv.
- --GG _g_l_o_b_p_a_t
- The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
- generate the possible completions.
- --WW _w_o_r_d_l_i_s_t
- The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS
- 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.
--CC _c_o_m_m_a_n_d
_c_o_m_m_a_n_d is executed in a subshell environment, and its
output is used as the possible completions.
@@ -299,69 +293,81 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
shell environment. When it finishes, the possible com-
pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY
array variable.
- --XX _f_i_l_t_e_r_p_a_t
- _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
- It is applied to the list of possible completions gener-
- ated by the preceding options and arguments, and each
- completion matching _f_i_l_t_e_r_p_a_t is removed from the list.
- A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this
- case, any completion not matching _f_i_l_t_e_r_p_a_t is removed.
+ --GG _g_l_o_b_p_a_t
+ The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
+ generate the possible completions.
--PP _p_r_e_f_i_x
- _p_r_e_f_i_x is added at the beginning of each possible com-
+ _p_r_e_f_i_x is added at the beginning of each possible com-
pletion after all other options have been applied.
--SS _s_u_f_f_i_x
_s_u_f_f_i_x 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 --pp or --rr is supplied without a _n_a_m_e argu-
- ment, an attempt is made to remove a completion specification
+ --WW _w_o_r_d_l_i_s_t
+ The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS
+ 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.
+ --XX _f_i_l_t_e_r_p_a_t
+ _f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
+ It is applied to the list of possible completions gener-
+ ated by the preceding options and arguments, and each
+ completion matching _f_i_l_t_e_r_p_a_t is removed from the list.
+ A leading !! in _f_i_l_t_e_r_p_a_t negates the pattern; in this
+ case, any completion not matching _f_i_l_t_e_r_p_a_t is removed.
+
+ The return value is true unless an invalid option is supplied,
+ an option other than --pp or --rr is supplied without a _n_a_m_e argu-
+ ment, an attempt is made to remove a completion specification
for a _n_a_m_e for which no specification exists, or an error occurs
adding a completion specification.
ccoommppoopptt [--oo _o_p_t_i_o_n] [--DDEE] [++oo _o_p_t_i_o_n] [_n_a_m_e]
Modify completion options for each _n_a_m_e according to the
- _o_p_t_i_o_ns, or for the currently-execution completion if no _n_a_m_es
- are supplied. If no _o_p_t_i_o_ns are given, display the completion
- options for each _n_a_m_e or the current completion. The possible
- values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin
- described above. The --DD option indicates that the remaining
+ _o_p_t_i_o_ns, or for the currently-executing completion if no _n_a_m_es
+ are supplied. If no _o_p_t_i_o_ns are given, display the completion
+ options for each _n_a_m_e or the current completion. The possible
+ values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin
+ described above. The --DD option indicates that the remaining
options should apply to the ``default'' command completion; that
- is, completion attempted on a command for which no completion
- has previously been defined. The --EE option indicates that the
- remaining options should apply to ``empty'' command completion;
+ is, completion attempted on a command for which no completion
+ has previously been defined. The --EE option indicates that the
+ remaining options should apply to ``empty'' command completion;
that is, completion attempted on a blank line.
- The return value is true unless an invalid option is supplied, an
- attempt is made to modify the options for a _n_a_m_e for which no comple-
- tion specification exists, or an output error occurs.
+ The return value is true unless an invalid option is supplied,
+ an attempt is made to modify the options for a _n_a_m_e for which no
+ completion specification exists, or an output error occurs.
ccoonnttiinnuuee [_n]
Resume the next iteration of the enclosing ffoorr, wwhhiillee, uunnttiill, or
- sseelleecctt loop. If _n is specified, resume at the _nth enclosing
- loop. _n must be >= 1. If _n is greater than the number of
- enclosing loops, the last enclosing loop (the ``top-level''
+ sseelleecctt loop. If _n is specified, resume at the _nth enclosing
+ loop. _n must be >= 1. If _n is greater than the number of
+ enclosing loops, the last enclosing loop (the ``top-level''
loop) is resumed. The return value is 0 unless _n is not greater
than or equal to 1.
- ddeeccllaarree [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
- ttyyppeesseett [--aaAAffFFiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
- Declare variables and/or give them attributes. If no _n_a_m_es are
- given then display the values of variables. The --pp option will
+ ddeeccllaarree [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
+ ttyyppeesseett [--aaAAffFFggiillrrttuuxx] [--pp] [_n_a_m_e[=_v_a_l_u_e] ...]
+ Declare variables and/or give them attributes. If no _n_a_m_es are
+ given then display the values of variables. The --pp option will
display the attributes and values of each _n_a_m_e. When --pp is used
with _n_a_m_e arguments, additional options are ignored. When --pp is
- supplied without _n_a_m_e 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
- --pp, ddeeccllaarree will display the attributes and values of all shell
- variables. The --ff option will restrict the display to shell
+ supplied without _n_a_m_e 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
+ --pp, ddeeccllaarree will display the attributes and values of all shell
+ variables. The --ff option will restrict the display to shell
functions. The --FF option inhibits the display of function defi-
- nitions; only the function name and attributes are printed. If
- the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source
+ nitions; only the function name and attributes are printed. If
+ the eexxttddeebbuugg shell option is enabled using sshhoopptt, the source
file name and line number where the function is defined are dis-
- played as well. The --FF option implies --ff. The following
- options can be used to restrict output to variables with the
- specified attribute or to give variables attributes:
+ played as well. The --FF option implies --ff. The --gg option forces
+ variables to be created or modified at the global scope, even
+ when ddeeccllaarree is executed in a shell function. It is ignored in
+ all other cases. The following options can be used to restrict
+ output to variables with the specified attribute or to give
+ variables attributes:
--aa Each _n_a_m_e is an indexed array variable (see AArrrraayyss
above).
--AA Each _n_a_m_e is an associative array variable (see AArrrraayyss
@@ -388,20 +394,20 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Using `+' instead of `-' turns off the attribute instead, with
the exceptions that ++aa may not be used to destroy an array vari-
able and ++rr will not remove the readonly attribute. When used
- in a function, makes each _n_a_m_e local, as with the llooccaall command.
- If a variable name is followed by =_v_a_l_u_e, the value of the vari-
- able is set to _v_a_l_u_e. The return value is 0 unless an invalid
- option is encountered, an attempt is made to define a function
- using ``-f foo=bar'', an attempt is made to assign a value to a
- readonly variable, an attempt is made to assign a value to an
- array variable without using the compound assignment syntax (see
- AArrrraayyss above), one of the _n_a_m_e_s is not a valid shell variable
- name, an attempt is made to turn off readonly status for a read-
- only variable, an attempt is made to turn off array status for
- an array variable, or an attempt is made to display a non-exis-
- tent function with --ff.
-
- ddiirrss [[++_n]] [[--_n]] [[--ccppllvv]]
+ in a function, makes each _n_a_m_e local, as with the llooccaall command,
+ unless the --ggPP ooppttiioonn iiss ssuupppplliieedd,, IIff aa vvaarriiaabbllee nnaammee iiss ffooll--
+ lloowweedd bbyy ==_v_a_l_u_e,, tthhee vvaalluuee ooff tthhee vvaarriiaabbllee iiss sseett ttoo _v_a_l_u_e.. TThhee
+ rreettuurrnn vvaalluuee iiss 00 uunnlleessss aann iinnvvaalliidd ooppttiioonn iiss eennccoouunntteerreedd,, aann
+ aatttteemmpptt iiss mmaaddee ttoo ddeeffiinnee aa ffuunnccttiioonn uussiinngg ````--ff ffoooo==bbaarr'''',, aann
+ aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aa rreeaaddoonnllyy vvaarriiaabbllee,, aann
+ aatttteemmpptt iiss mmaaddee ttoo aassssiiggnn aa vvaalluuee ttoo aann aarrrraayy vvaarriiaabbllee wwiitthhoouutt
+ uussiinngg tthhee ccoommppoouunndd aassssiiggnnmmeenntt ssyynnttaaxx ((sseeee AArrrraayyss above), one of
+ the _n_a_m_e_s is not a valid shell variable name, an attempt is made
+ to turn off readonly status for a readonly variable, an attempt
+ is made to turn off array status for an array variable, or an
+ attempt is made to display a non-existent function with --ff.
+
+ ddiirrss [[++_n]] [[--_n]] [[--ccllppvv]]
Without options, displays the list of currently remembered
directories. The default display is on a single line with
directory names separated by spaces. Directories are added to
@@ -451,7 +457,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
\\aa alert (bell)
\\bb backspace
\\cc suppress further output
- \\ee an escape character
+ \\ee
+ \\EE an escape character
\\ff form feed
\\nn new line
\\rr carriage return
@@ -462,6 +469,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
_n_n_n (zero to three octal digits)
\\xx_H_H the eight-bit character whose value is the hexadecimal
value _H_H (one or two hex digits)
+ \\uu_H_H_H_H the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H (one to four hex digits)
+ \\UU_H_H_H_H_H_H_H_H
+ the Unicode (ISO/IEC 10646) character whose value is the
+ hexadecimal value _H_H_H_H_H_H_H_H (one to eight hex digits)
eennaabbllee [--aa] [--ddnnppss] [--ff _f_i_l_e_n_a_m_e] [_n_a_m_e ...]
Enable and disable builtin shell commands. Disabling a builtin
@@ -589,7 +601,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
When the end of options is encountered, ggeettooppttss exits with a
return value greater than zero. OOPPTTIINNDD is set to the index of
- the first non-option argument, and nnaammee is set to ?.
+ the first non-option argument, and _n_a_m_e is set to ?.
ggeettooppttss normally parses the positional parameters, but if more
arguments are given in _a_r_g_s, ggeettooppttss parses those instead.
@@ -617,25 +629,26 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
an error occurs.
hhaasshh [--llrr] [--pp _f_i_l_e_n_a_m_e] [--ddtt] [_n_a_m_e]
- For each _n_a_m_e, the full file name of the command is determined
- by searching the directories in $$PPAATTHH and remembered. If the --pp
- option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e is
- used as the full file name of the command. The --rr option causes
- the shell to forget all remembered locations. The --dd option
- causes the shell to forget the remembered location of each _n_a_m_e.
- If the --tt option is supplied, the full pathname to which each
- _n_a_m_e corresponds is printed. If multiple _n_a_m_e arguments are
- supplied with --tt, the _n_a_m_e is printed before the hashed full
- pathname. The --ll option causes output to be displayed in a for-
- mat that may be reused as input. If no arguments are given, or
- if only --ll is supplied, information about remembered commands is
- printed. The return status is true unless a _n_a_m_e is not found
- or an invalid option is supplied.
+ Each time hhaasshh is invoked, the full pathname of the command _n_a_m_e
+ is determined by searching the directories in $$PPAATTHH and remem-
+ bered. Any previously-remembered pathname is discarded. If the
+ --pp option is supplied, no path search is performed, and _f_i_l_e_n_a_m_e
+ is used as the full file name of the command. The --rr option
+ causes the shell to forget all remembered locations. The --dd
+ option causes the shell to forget the remembered location of
+ each _n_a_m_e. If the --tt option is supplied, the full pathname to
+ which each _n_a_m_e corresponds is printed. If multiple _n_a_m_e argu-
+ ments are supplied with --tt, the _n_a_m_e is printed before the
+ hashed full pathname. The --ll option causes output to be dis-
+ played in a format that may be reused as input. If no arguments
+ are given, or if only --ll is supplied, information about remem-
+ bered commands is printed. The return status is true unless a
+ _n_a_m_e is not found or an invalid option is supplied.
hheellpp [--ddmmss] [_p_a_t_t_e_r_n]
- Display helpful information about builtin commands. If _p_a_t_t_e_r_n
- is specified, hheellpp gives detailed help on all commands matching
- _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
+ Display helpful information about builtin commands. If _p_a_t_t_e_r_n
+ is specified, hheellpp gives detailed help on all commands matching
+ _p_a_t_t_e_r_n; otherwise help for all the builtins and shell control
structures is printed.
--dd Display a short description of each _p_a_t_t_e_r_n
--mm Display the description of each _p_a_t_t_e_r_n in a manpage-like
@@ -651,44 +664,44 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
hhiissttoorryy --ss _a_r_g [_a_r_g _._._.]
With no options, display the command history list with line num-
bers. Lines listed with a ** have been modified. An argument of
- _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
- FFOORRMMAATT is set and not null, it is used as a format string for
- _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
- played history entry. No intervening blank is printed between
- the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
- supplied, it is used as the name of the history file; if not,
- the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
+ _n lists only the last _n lines. If the shell variable HHIISSTTTTIIMMEE--
+ FFOORRMMAATT is set and not null, it is used as a format string for
+ _s_t_r_f_t_i_m_e(3) to display the time stamp associated with each dis-
+ played history entry. No intervening blank is printed between
+ the formatted time stamp and the history line. If _f_i_l_e_n_a_m_e is
+ supplied, it is used as the name of the history file; if not,
+ the value of HHIISSTTFFIILLEE is used. Options, if supplied, have the
following meanings:
--cc Clear the history list by deleting all the entries.
--dd _o_f_f_s_e_t
Delete the history entry at position _o_f_f_s_e_t.
- --aa Append the ``new'' history lines (history lines entered
- since the beginning of the current bbaasshh session) to the
+ --aa Append the ``new'' history lines (history lines entered
+ since the beginning of the current bbaasshh session) to the
history file.
- --nn Read the history lines not already read from the history
- file into the current history list. These are lines
- appended to the history file since the beginning of the
+ --nn Read the history lines not already read from the history
+ file into the current history list. These are lines
+ appended to the history file since the beginning of the
current bbaasshh session.
--rr Read the contents of the history file and use them as the
current history.
- --ww Write the current history to the history file, overwrit-
+ --ww Write the current history to the history file, overwrit-
ing the history file's contents.
- --pp Perform history substitution on the following _a_r_g_s and
- display the result on the standard output. Does not
- store the results in the history list. Each _a_r_g must be
+ --pp Perform history substitution on the following _a_r_g_s and
+ display the result on the standard output. Does not
+ store the results in the history list. Each _a_r_g must be
quoted to disable normal history expansion.
- --ss Store the _a_r_g_s in the history list as a single entry.
- The last command in the history list is removed before
+ --ss Store the _a_r_g_s in the history list as a single entry.
+ The last command in the history list is removed before
the _a_r_g_s are added.
- If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
- tion associated with each history entry is written to the his-
- tory file, marked with the history comment character. When the
- history file is read, lines beginning with the history comment
- character followed immediately by a digit are interpreted as
+ If the HHIISSTTTTIIMMEEFFOORRMMAATT variable is set, the time stamp informa-
+ tion associated with each history entry is written to the his-
+ tory file, marked with the history comment character. When the
+ history file is read, lines beginning with the history comment
+ character followed immediately by a digit are interpreted as
timestamps for the previous history line. The return value is 0
- unless an invalid option is encountered, an error occurs while
- reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
+ unless an invalid option is encountered, an error occurs while
+ reading or writing the history file, an invalid _o_f_f_s_e_t is sup-
plied as an argument to --dd, or the history expansion supplied as
an argument to --pp fails.
@@ -697,127 +710,141 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
The first form lists the active jobs. The options have the fol-
lowing meanings:
--ll List process IDs in addition to the normal information.
- --pp List only the process ID of the job's process group
- leader.
--nn Display information only about jobs that have changed
status since the user was last notified of their status.
+ --pp List only the process ID of the job's process group
+ leader.
--rr Restrict output to running jobs.
--ss Restrict output to stopped jobs.
- If _j_o_b_s_p_e_c is given, output is restricted to information about
- that job. The return status is 0 unless an invalid option is
+ If _j_o_b_s_p_e_c is given, output is restricted to information about
+ that job. The return status is 0 unless an invalid option is
encountered or an invalid _j_o_b_s_p_e_c is supplied.
If the --xx option is supplied, jjoobbss replaces any _j_o_b_s_p_e_c found in
- _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and
+ _c_o_m_m_a_n_d or _a_r_g_s with the corresponding process group ID, and
executes _c_o_m_m_a_n_d passing it _a_r_g_s, returning its exit status.
kkiillll [--ss _s_i_g_s_p_e_c | --nn _s_i_g_n_u_m | --_s_i_g_s_p_e_c] [_p_i_d | _j_o_b_s_p_e_c] ...
kkiillll --ll [_s_i_g_s_p_e_c | _e_x_i_t___s_t_a_t_u_s]
- Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
- named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
- signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
- a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
- present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
- signal names. If any arguments are supplied when --ll is given,
- the names of the signals corresponding to the arguments are
+ Send the signal named by _s_i_g_s_p_e_c or _s_i_g_n_u_m to the processes
+ named by _p_i_d or _j_o_b_s_p_e_c. _s_i_g_s_p_e_c is either a case-insensitive
+ signal name such as SSIIGGKKIILLLL (with or without the SSIIGG prefix) or
+ a signal number; _s_i_g_n_u_m is a signal number. If _s_i_g_s_p_e_c is not
+ present, then SSIIGGTTEERRMM is assumed. An argument of --ll lists the
+ signal names. If any arguments are supplied when --ll is given,
+ the names of the signals corresponding to the arguments are
listed, and the return status is 0. The _e_x_i_t___s_t_a_t_u_s argument to
- --ll is a number specifying either a signal number or the exit
- status of a process terminated by a signal. kkiillll returns true
- if at least one signal was successfully sent, or false if an
+ --ll is a number specifying either a signal number or the exit
+ status of a process terminated by a signal. kkiillll returns true
+ if at least one signal was successfully sent, or false if an
error occurs or an invalid option is encountered.
lleett _a_r_g [_a_r_g ...]
Each _a_r_g is an arithmetic expression to be evaluated (see AARRIITTHH--
- MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
+ MMEETTIICC EEVVAALLUUAATTIIOONN above). If the last _a_r_g evaluates to 0, lleett
returns 1; 0 is returned otherwise.
llooccaall [_o_p_t_i_o_n] [_n_a_m_e[=_v_a_l_u_e] ...]
- For each argument, a local variable named _n_a_m_e is created, and
- assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
+ For each argument, a local variable named _n_a_m_e is created, and
+ assigned _v_a_l_u_e. The _o_p_t_i_o_n can be any of the options accepted
by ddeeccllaarree. When llooccaall is used within a function, it causes the
- variable _n_a_m_e to have a visible scope restricted to that func-
+ variable _n_a_m_e to have a visible scope restricted to that func-
tion and its children. With no operands, llooccaall writes a list of
- local variables to the standard output. It is an error to use
+ local variables to the standard output. It is an error to use
llooccaall when not within a function. The return status is 0 unless
- llooccaall is used outside a function, an invalid _n_a_m_e is supplied,
+ llooccaall is used outside a function, an invalid _n_a_m_e is supplied,
or _n_a_m_e is a readonly variable.
llooggoouutt Exit a login shell.
- mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
+ mmaappffiillee [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
[--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
- rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
+ rreeaaddaarrrraayy [--nn _c_o_u_n_t] [--OO _o_r_i_g_i_n] [--ss _c_o_u_n_t] [--tt] [--uu _f_d] [--CC _c_a_l_l_b_a_c_k]
[--cc _q_u_a_n_t_u_m] [_a_r_r_a_y]
- Read lines from the standard input into the indexed array vari-
- able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
- plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
+ Read lines from the standard input into the indexed array vari-
+ able _a_r_r_a_y, or from file descriptor _f_d if the --uu option is sup-
+ plied. The variable MMAAPPFFIILLEE is the default _a_r_r_a_y. Options, if
supplied, have the following meanings:
- --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
+ --nn Copy at most _c_o_u_n_t lines. If _c_o_u_n_t is 0, all lines are
copied.
- --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
+ --OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
index is 0.
--ss Discard the first _c_o_u_n_t lines read.
--tt Remove a trailing newline from each line read.
- --uu Read lines from file descriptor _f_d instead of the stan-
+ --uu Read lines from file descriptor _f_d instead of the stan-
dard input.
- --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
+ --CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--cc option specifies _q_u_a_n_t_u_m.
- --cc Specify the number of lines read between each call to
+ --cc Specify the number of lines read between each call to
_c_a_l_l_b_a_c_k.
- If --CC is specified without --cc, the default quantum is 5000.
+ If --CC is specified without --cc, the default quantum is 5000.
When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next
- array element to be assigned as an additional argument. _c_a_l_l_-
- _b_a_c_k is evaluated after the line is read but before the array
- element is assigned.
+ array element to be assigned and the line to be assigned to that
+ element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
+ the line is read but before the array element is assigned.
- If not supplied with an explicit origin, mmaappffiillee will clear
+ If not supplied with an explicit origin, mmaappffiillee will clear
_a_r_r_a_y before assigning to it.
- mmaappffiillee returns successfully unless an invalid option or option
- argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
+ mmaappffiillee returns successfully unless an invalid option or option
+ argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
_a_r_r_a_y is not an indexed array.
ppooppdd [-nn] [+_n] [-_n]
- Removes entries from the directory stack. With no arguments,
- removes the top directory from the stack, and performs a ccdd to
+ Removes entries from the directory stack. With no arguments,
+ removes the top directory from the stack, and performs a ccdd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
- --nn Suppresses the normal change of directory when removing
- directories from the stack, so that only the stack is
+ --nn Suppresses the normal change of directory when removing
+ directories from the stack, so that only the stack is
manipulated.
- ++_n Removes the _nth entry counting from the left of the list
- shown by ddiirrss, starting with zero. For example: ``popd
+ ++_n Removes the _nth entry counting from the left of the list
+ shown by ddiirrss, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
--_n Removes the _nth entry counting from the right of the list
- shown by ddiirrss, starting with zero. For example: ``popd
- -0'' removes the last directory, ``popd -1'' the next to
+ shown by ddiirrss, starting with zero. For example: ``popd
+ -0'' removes the last directory, ``popd -1'' the next to
last.
- If the ppooppdd command is successful, a ddiirrss is performed as well,
- and the return status is 0. ppooppdd returns false if an invalid
+ If the ppooppdd command is successful, a ddiirrss is performed as well,
+ and the return status is 0. ppooppdd returns false if an invalid
option is encountered, the directory stack is empty, a non-exis-
tent directory stack entry is specified, or the directory change
fails.
pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
- Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
- control of the _f_o_r_m_a_t. The _f_o_r_m_a_t is a character string which
- contains three types of objects: plain characters, which are
- simply copied to standard output, character escape sequences,
- which are converted and copied to the standard output, and for-
- mat specifications, each of which causes printing of the next
- successive _a_r_g_u_m_e_n_t. In addition to the standard _p_r_i_n_t_f(1) for-
- mats, %%bb causes pprriinnttff to expand backslash escape sequences in
- the corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
- backslashes in \\'', \\"", and \\?? are not removed, and octal escapes
- beginning with \\00 may contain up to four digits), and %%qq causes
- pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a format that can
- be reused as shell input.
-
- The --vv option causes the output to be assigned to the variable
- _v_a_r rather than being printed to the standard output.
+ Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
+ control of the _f_o_r_m_a_t. The --vv option causes the output to be
+ assigned to the variable _v_a_r rather than being printed to the
+ standard output.
+
+ The _f_o_r_m_a_t is a character string which contains three types of
+ objects: plain characters, which are simply copied to standard
+ output, character escape sequences, which are converted and
+ copied to the standard output, and format specifications, each
+ of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
+ addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff
+ interprets the following extensions:
+ %%bb causes pprriinnttff to expand backslash escape sequences in the
+ corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
+ backslashes in \\'', \\"", and \\?? are not removed, and octal
+ escapes beginning with \\00 may contain up to four digits).
+ %%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
+ format that can be reused as shell input.
+ %%((_d_a_t_e_f_m_t))TT
+ causes pprriinnttff to output the date-time string resulting
+ from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
+ The corresponding _a_r_g_u_m_e_n_t is an integer representing the
+ number of seconds since the epoch. Two special argument
+ values may be used: -1 represents the current time, and
+ -2 represents the time the shell was invoked.
+
+ Arguments to non-string format specifiers are treated as C con-
+ stants, except that a leading plus or minus sign is allowed, and
+ if the leading character is a single or double quote, the value
+ is the ASCII value of the following character.
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
@@ -956,8 +983,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
status is false. Any command associated with the RREETTUURRNN trap is
executed before execution resumes after the function or script.
- sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n] [_a_r_g ...]
- sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n] [_a_r_g ...]
+ sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
+ sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
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-
@@ -1200,17 +1227,29 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
easy re-editing of multi-line commands.
ccoommppaatt3311
If set, bbaasshh changes its behavior to that of version 3.1
- with respect to quoted arguments to the conditional com-
- mand's =~ operator.
+ with respect to quoted arguments to the [[[[ conditional
+ command's ==~~ operator.
ccoommppaatt3322
If set, bbaasshh changes its behavior to that of version 3.2
with respect to locale-specific string comparison when
- using the conditional command's < and > operators.
+ using the [[[[ conditional command's << and >> operators.
+ Bash versions prior to bash-4.1 use ASCII collation and
+ _s_t_r_c_m_p(3); bash-4.1 and later use the current locale's
+ collation sequence and _s_t_r_c_o_l_l(3).
ccoommppaatt4400
If set, bbaasshh changes its behavior to that of version 4.0
- with respect to locale-specific string comparison when
- using the conditional command's < and > operators and
- the effect of interrupting a command list.
+ with respect to locale-specific string comparison when
+ using the [[[[ conditional command's << and >> operators
+ (see previous item) and the effect of interrupting a
+ command list.
+ ccoommppaatt4411
+ @item compat41 If set, bbaasshh, when in posix mode, treats
+ a single quote in a double-quoted parameter expansion as
+ a special character. The single quotes must match (an
+ even number) and the characters between the single
+ quotes are considered quoted. This is the behavior of
+ posix mode through version 4.1. The default bash behav-
+ ior remains as in previous versions.
ddiirrssppeellll
If set, bbaasshh attempts spelling correction on directory
names during word completion if the directory name ini-
@@ -1247,7 +1286,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
(( _c_o_m_m_a_n_d )) inherit the DDEEBBUUGG and RREETTUURRNN traps.
66.. Error tracing is enabled: command substitution,
shell functions, and subshells invoked with ((
- _c_o_m_m_a_n_d )) inherit the EERRRROORR trap.
+ _c_o_m_m_a_n_d )) inherit the EERRRR trap.
eexxttgglloobb If set, the extended pattern matching features described
above under PPaatthhnnaammee EExxppaannssiioonn are enabled.
eexxttqquuoottee
@@ -1298,6 +1337,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
and all remaining characters on that line to be ignored
in an interactive shell (see CCOOMMMMEENNTTSS above). This
option is enabled by default.
+ llaassttppiippee
+ If set, and job control is not active, the shell runs
+ the last command of a pipeline not executed in the back-
+ ground in the current shell environment.
lliitthhiisstt If set, and the ccmmddhhiisstt option is enabled, multi-line
commands are saved to the history with embedded newlines
rather than using semicolon separators where possible.
@@ -1369,10 +1412,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Expressions may be combined using the following operators,
listed in decreasing order of precedence. The evaluation
- depends on the number of arguments; see below.
+ depends on the number of arguments; see below. Operator prece-
+ dence is used when there are five or more arguments.
!! _e_x_p_r True if _e_x_p_r is false.
(( _e_x_p_r ))
- Returns the value of _e_x_p_r. This may be used to override
+ Returns the value of _e_x_p_r. This may be used to override
the normal precedence of operators.
_e_x_p_r_1 -aa _e_x_p_r_2
True if both _e_x_p_r_1 and _e_x_p_r_2 are true.
@@ -1389,13 +1433,14 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
null.
2 arguments
If the first argument is !!, the expression is true if and
- only if the second argument is null. If the first argu-
- ment is one of the unary conditional operators listed
- above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
+ only if the second argument is null. If the first argu-
+ ment is one of the unary conditional operators listed
+ above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the expression is
true if the unary test is true. If the first argument is
not a valid unary conditional operator, the expression is
false.
3 arguments
+ The following conditions are applied in the order listed.
If the second argument is one of the binary conditional
operators listed above under CCOONNDDIITTIIOONNAALL EEXXPPRREESSSSIIOONNSS, the
result of the expression is the result of the binary test
@@ -1417,31 +1462,34 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
The expression is parsed and evaluated according to
precedence using the rules listed above.
- ttiimmeess Print the accumulated user and system times for the shell and
+ When used with tteesstt or [[, the << and >> operators sort lexico-
+ graphically using ASCII ordering.
+
+ ttiimmeess Print the accumulated user and system times for the shell and
for processes run from the shell. The return status is 0.
ttrraapp [--llpp] [[_a_r_g] _s_i_g_s_p_e_c ...]
- The command _a_r_g is to be read and executed when the shell
- receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
- single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
- original disposition (the value it had upon entrance to the
- shell). If _a_r_g is the null string the signal specified by each
- _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
- If _a_r_g is not present and --pp has been supplied, then the trap
- commands associated with each _s_i_g_s_p_e_c are displayed. If no
- arguments are supplied or if only --pp is given, ttrraapp prints the
- list of commands associated with each signal. The --ll option
- causes the shell to print a list of signal names and their cor-
- responding numbers. Each _s_i_g_s_p_e_c is either a signal name
- defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
- case insensitive and the SIG prefix is optional.
-
- If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
- from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
- cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
- _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
- first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
- above). Refer to the description of the eexxttddeebbuugg option to the
+ The command _a_r_g is to be read and executed when the shell
+ receives signal(s) _s_i_g_s_p_e_c. If _a_r_g is absent (and there is a
+ single _s_i_g_s_p_e_c) or --, each specified signal is reset to its
+ original disposition (the value it had upon entrance to the
+ shell). If _a_r_g is the null string the signal specified by each
+ _s_i_g_s_p_e_c is ignored by the shell and by the commands it invokes.
+ If _a_r_g is not present and --pp has been supplied, then the trap
+ commands associated with each _s_i_g_s_p_e_c are displayed. If no
+ arguments are supplied or if only --pp is given, ttrraapp prints the
+ list of commands associated with each signal. The --ll option
+ causes the shell to print a list of signal names and their cor-
+ responding numbers. Each _s_i_g_s_p_e_c is either a signal name
+ defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
+ case insensitive and the SSIIGG prefix is optional.
+
+ If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
+ from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
+ cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
+ _s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
+ first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
+ above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
@@ -1449,53 +1497,53 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim-
ple command has a non-zero exit status, subject to the following
- conditions. The EERRRR trap is not executed if the failed command
- is part of the command list immediately following a wwhhiillee or
- uunnttiill keyword, part of the test in an _i_f statement, part of a
- command executed in a &&&& or |||| list, or if the command's return
- value is being inverted via !!. These are the same conditions
+ conditions. The EERRRR trap is not executed if the failed command
+ is part of the command list immediately following a wwhhiillee or
+ uunnttiill keyword, part of the test in an _i_f statement, part of a
+ command executed in a &&&& or |||| list, or if the command's return
+ value is being inverted via !!. These are the same conditions
obeyed by the eerrrreexxiitt option.
- Signals ignored upon entry to the shell cannot be trapped or
- reset. Trapped signals that are not being ignored are reset to
+ Signals ignored upon entry to the shell cannot be trapped or
+ reset. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
- one is created. The return status is false if any _s_i_g_s_p_e_c is
+ one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
- With no options, indicate how each _n_a_m_e would be interpreted if
+ With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
- string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
- _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
- builtin, or disk file, respectively. If the _n_a_m_e is not found,
- then nothing is printed, and an exit status of false is
- returned. If the --pp option is used, ttyyppee either returns the
+ string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
+ _f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
+ builtin, or disk file, respectively. If the _n_a_m_e is not found,
+ then nothing is printed, and an exit status of false is
+ returned. If the --pp option is used, ttyyppee either returns the
name of the disk file that would be executed if _n_a_m_e were speci-
fied as a command name, or nothing if ``type -t name'' would not
- return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
+ return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
- hashed, --pp and --PP print the hashed value, not necessarily the
+ hashed, --pp and --PP print the hashed value, not necessarily the
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
- prints all of the places that contain an executable named _n_a_m_e.
- This includes aliases and functions, if and only if the --pp
- option is not also used. The table of hashed commands is not
- consulted when using --aa. The --ff option suppresses shell func-
- tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
+ prints all of the places that contain an executable named _n_a_m_e.
+ This includes aliases and functions, if and only if the --pp
+ option is not also used. The table of hashed commands is not
+ consulted when using --aa. The --ff option suppresses shell func-
+ tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
- Provides control over the resources available to the shell and
- to processes started by it, on systems that allow such control.
+ Provides control over the resources available to the shell and
+ to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
- for the given resource. A hard limit cannot be increased by a
- non-root user once it is set; a soft limit may be increased up
- to the value of the hard limit. If neither --HH nor --SS is speci-
+ for the given resource. A hard limit cannot be increased by a
+ non-root user once it is set; a soft limit may be increased up
+ to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
- current hard limit, the current soft limit, and no limit,
- respectively. If _l_i_m_i_t is omitted, the current value of the
- soft limit of the resource is printed, unless the --HH option is
+ current hard limit, the current soft limit, and no limit,
+ respectively. If _l_i_m_i_t is omitted, the current value of the
+ soft limit of the resource is printed, unless the --HH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
@@ -1504,11 +1552,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
- --ff The maximum size of files written by the shell and its
+ --ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--ll The maximum size that may be locked into memory
- --mm The maximum resident set size (many systems do not honor
+ --mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -1517,58 +1565,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
- --uu The maximum number of processes available to a single
+ --uu The maximum number of processes available to a single
user
- --vv The maximum amount of virtual memory available to the
- shell
+ --vv The maximum amount of virtual memory available to the
+ shell and, on some systems, to its children
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, it is the new value of the specified resource
(the --aa option is display only). If no option is given, then --ff
- is assumed. Values are in 1024-byte increments, except for --tt,
- which is in seconds, --pp, which is in units of 512-byte blocks,
- and --TT, --bb, --nn, and --uu, which are unscaled values. The return
+ is assumed. Values are in 1024-byte increments, except for --tt,
+ which is in seconds, --pp, which is in units of 512-byte blocks,
+ and --TT, --bb, --nn, and --uu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
- a digit, it is interpreted as an octal number; otherwise it is
- interpreted as a symbolic mode mask similar to that accepted by
- _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
- printed. The --SS option causes the mask to be printed in sym-
- bolic form; the default output is an octal number. If the --pp
+ a digit, it is interpreted as an octal number; otherwise it is
+ interpreted as a symbolic mode mask similar to that accepted by
+ _c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
+ printed. The --SS option causes the mask to be printed in sym-
+ bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
- was successfully changed or if no _m_o_d_e argument was supplied,
+ was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
- Remove each _n_a_m_e from the list of defined aliases. If --aa is
- supplied, all alias definitions are removed. The return value
+ Remove each _n_a_m_e from the list of defined aliases. If --aa is
+ supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [_n_a_m_e ...]
- For each _n_a_m_e, remove the corresponding variable or function.
+ For each _n_a_m_e, remove the corresponding variable or function.
If no options are supplied, or the --vv option is given, each _n_a_m_e
- refers to a shell variable. Read-only variables may not be
- unset. If --ff is specified, each _n_a_m_e refers to a shell func-
- tion, and the function definition is removed. Each unset vari-
- able or function is removed from the environment passed to sub-
- sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS,
- LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they
- lose their special properties, even if they are subsequently
+ refers to a shell variable. Read-only variables may not be
+ unset. If --ff is specified, each _n_a_m_e refers to a shell func-
+ tion, and the function definition is removed. Each unset vari-
+ able or function is removed from the environment passed to sub-
+ sequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANNDDOOMM, SSEECCOONNDDSS,
+ LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they
+ lose their special properties, even if they are subsequently
reset. The exit status is true unless a _n_a_m_e is readonly.
wwaaiitt [_n _._._.]
- Wait for each specified process and return its termination sta-
- tus. Each _n may be a process ID or a job specification; if a
- job spec is given, all processes in that job's pipeline are
- waited for. If _n is not given, all currently active child pro-
- cesses are waited for, and the return status is zero. If _n
- specifies a non-existent process or job, the return status is
- 127. Otherwise, the return status is the exit status of the
+ Wait for each specified process and return its termination sta-
+ tus. Each _n may be a process ID or a job specification; if a
+ job spec is given, all processes in that job's pipeline are
+ waited for. If _n is not given, all currently active child pro-
+ cesses are waited for, and the return status is zero. If _n
+ specifies a non-existent process or job, the return status is
+ 127. Otherwise, the return status is the exit status of the
last process or job waited for.
SSEEEE AALLSSOO
diff --git a/doc/builtins.ps b/doc/builtins.ps
index 539dfb0..6dde00b 100644
--- a/doc/builtins.ps
+++ b/doc/builtins.ps
@@ -1,13 +1,13 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Wed Dec 30 13:07:37 2009
+%%CreationDate: Tue Dec 28 14:30:24 2010
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Symbol
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.19 2
-%%Pages: 21
+%%Pages: 22
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
@@ -443,9 +443,9 @@ E F1(shell\255b)2.84 E(uiltin)-.2 E F0(is not a shell b)2.74 E
2.754(ya)-.15 G(cti)-2.754 E .554 -.15(ve s)-.25 H .254
(ubroutine call \(a shell function or a script e).15 F -.15(xe)-.15 G
.254(cuted with the).15 F F2(.)2.753 E F0(or)2.753 E F2(sour)144 535.2 Q
-(ce)-.18 E F0 -.2(bu)3.062 G 3.062(iltins. W).2 F(ithout)-.4 E F1 -.2
-(ex)3.062 G(pr).2 E F0(,)A F2(caller)3.062 E F0 .562
-(displays the line number and source \214lename of the current)3.062 F
+(ce)-.18 E F0 -.2(bu)2.824 G 2.824(iltins\). W).2 F(ithout)-.4 E F1 -.2
+(ex)2.824 G(pr).2 E F0(,)A F2(caller)2.824 E F0 .324
+(displays the line number and source \214lename of the current)2.824 F
.254(subroutine call.)144 547.2 R .254(If a non-ne)5.254 F -.05(ga)-.15
G(ti).05 E .554 -.15(ve i)-.25 H(nte).15 E .253(ger is supplied as)-.15
F F1 -.2(ex)2.753 G(pr).2 E F0(,)A F2(caller)2.753 E F0 .253
@@ -459,11 +459,11 @@ ent e)144 559.2 R -.15(xe)-.15 G 1.328(cution call stack.).15 F .001
(cuting a subroutine call or).15 F F1 -.2(ex)3.02 G(pr).2 E F0 .52
(does not corre-)3.02 F(spond to a v)144 595.2 Q
(alid position in the call stack.)-.25 E F2(cd)108 612 Q F0([)2.5 E F2
-(\255L|-P)A F0 2.5(][)C F1(dir)-2.5 E F0(])A .21
-(Change the current directory to)144 624 R F1(dir)2.71 E F0 5.21(.T)C
-.21(he v)-5.21 F(ariable)-.25 E F3(HOME)2.71 E F0 .21(is the def)2.46 F
-(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F(ariable)-.25
-E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776
+<ad4c>A F0(|[)A F2<ad50>A F0([)2.5 E F2<ad65>A F0(]]] [)A F1(dir)A F0(])
+A .21(Change the current directory to)144 624 R F1(dir)2.71 E F0 5.21
+(.T)C .21(he v)-5.21 F(ariable)-.25 E F3(HOME)2.71 E F0 .21(is the def)
+2.46 F(ault)-.1 E F1(dir)2.71 E F0 5.21(.T).73 G .21(he v)-5.21 F
+(ariable)-.25 E F3(CDP)2.71 E -.855(AT)-.666 G(H).855 E F0 .776
(de\214nes the search path for the directory containing)144 636 R F1
(dir)3.276 E F0 5.777(.A).73 G(lternati)-5.777 E 1.077 -.15(ve d)-.25 H
.777(irectory names in).15 F F3(CDP)3.277 E -.855(AT)-.666 G(H).855 E F0
@@ -477,2175 +477,2246 @@ F0 .764(is the same as the current direc-)3.014 F(tory)144 660 Q 2.973
(option says to use)2.974 F .58(the ph)144 672 R .58
(ysical directory structure instead of follo)-.05 F .579
(wing symbolic links \(see also the)-.25 F F2<ad50>3.079 E F0 .579
-(option to the)3.079 F F2(set)144 684 Q F0 -.2(bu)3.383 G .883
-(iltin command\); the).2 F F2<ad4c>3.383 E F0 .884
-(option forces symbolic links to be follo)3.384 F 3.384(wed. An)-.25 F
-(ar)3.384 E .884(gument of)-.18 F F2<ad>3.384 E F0(is)3.384 E(equi)144
-696 Q -.25(va)-.25 G .316(lent to).25 F F3($OLDPWD)2.816 E F4(.)A F0
-.316(If a non-empty directory name from)4.816 F F3(CDP)2.815 E -.855(AT)
--.666 G(H).855 E F0 .315(is used, or if)2.565 F F2<ad>2.815 E F0 .315
-(is the \214rst)2.815 F(ar)144 708 Q .116(gument, and the directory cha\
-nge is successful, the absolute pathname of the ne)-.18 F 2.616(ww)-.25
-G .116(orking direc-)-2.716 F 1.165
-(tory is written to the standard output.)144 720 R 1.164(The return v)
-6.164 F 1.164(alue is true if the directory w)-.25 F 1.164
-(as successfully)-.1 F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(2)
-203.725 E 0 Cg EP
+(option to the)3.079 F F2(set)144 684 Q F0 -.2(bu)2.716 G .216
+(iltin command\); the).2 F F2<ad4c>2.716 E F0 .216
+(option forces symbolic links to be follo)2.716 F 2.717(wed. If)-.25 F
+(the)2.717 E F2<ad65>2.717 E F0 .217(option is sup-)2.717 F 1.087
+(plied with)144 696 R F2<ad50>3.587 E F0 3.587(,a)C 1.087
+(nd the current w)-3.587 F 1.086
+(orking directory cannot be successfully determined after a suc-)-.1 F
+.44(cessful directory change,)144 708 R F2(cd)2.94 E F0 .44
+(will return an unsuccessful status.)2.94 F .44(An ar)5.44 F .44
+(gument of)-.18 F F2<ad>2.94 E F0 .44(is equi)2.94 F -.25(va)-.25 G .44
+(lent to).25 F F3($OLDPWD)144 720 Q F4(.)A F0 1.045
+(If a non-empty directory name from)5.545 F F3(CDP)3.545 E -.855(AT)
+-.666 G(H).855 E F0 1.044(is used, or if)3.295 F F2<ad>3.544 E F0 1.044
+(is the \214rst ar)3.544 F(gument,)-.18 E(GNU Bash-4.0)72 768 Q
+(2004 Apr 20)148.735 E(2)203.725 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E(changed; f)
-144 84 Q(alse otherwise.)-.1 E/F1 10/Times-Bold@0 SF(command)108 100.8 Q
-F0([)2.5 E F1(\255pVv)A F0(])A/F2 10/Times-Italic@0 SF(command)2.5 E F0
-([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 112.8 Q F2(command)2.956
-E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .021(and th\
+e directory change is successful, the absolute pathname of the ne)144 84
+R 2.522(ww)-.25 G .022(orking directory is writ-)-2.622 F .165
+(ten to the standard output.)144 96 R .165(The return v)5.165 F .165
+(alue is true if the directory w)-.25 F .165(as successfully changed; f)
+-.1 F(alse)-.1 E(otherwise.)144 108 Q/F1 10/Times-Bold@0 SF(command)108
+124.8 Q F0([)2.5 E F1(\255pVv)A F0(])A/F2 10/Times-Italic@0 SF(command)
+2.5 E F0([)2.5 E F2(ar)A(g)-.37 E F0(...])2.5 E(Run)144 136.8 Q F2
+(command)2.956 E F0(with)3.527 E F2(ar)3.087 E(gs)-.37 E F0 .257
(suppressing the normal shell function lookup. Only b)3.027 F .257
-(uiltin commands or)-.2 F .502(commands found in the)144 124.8 R/F3 9
+(uiltin commands or)-.2 F .502(commands found in the)144 148.8 R/F3 9
/Times-Bold@0 SF -.666(PA)3.002 G(TH)-.189 E F0 .502(are e)2.752 F -.15
(xe)-.15 G 3.002(cuted. If).15 F(the)3.002 E F1<ad70>3.002 E F0 .502
(option is gi)3.002 F -.15(ve)-.25 G .501(n, the search for).15 F F2
-(command)3.201 E F0(is)3.771 E .399(performed using a def)144 136.8 R
+(command)3.201 E F0(is)3.771 E .399(performed using a def)144 160.8 R
.399(ault v)-.1 F .399(alue for)-.25 F F3 -.666(PA)2.899 G(TH)-.189 E F0
.4(that is guaranteed to \214nd all of the standard utilities.)2.649 F
-(If)5.4 E .175(either the)144 148.8 R F1<ad56>2.675 E F0(or)2.675 E F1
+(If)5.4 E .175(either the)144 172.8 R F1<ad56>2.675 E F0(or)2.675 E F1
<ad76>2.675 E F0 .175(option is supplied, a description of)2.675 F F2
(command)2.875 E F0 .174(is printed.)3.445 F(The)5.174 E F1<ad76>2.674 E
-F0 .174(option causes)2.674 F 3.11(as)144 160.8 S .61(ingle w)-3.11 F
+F0 .174(option causes)2.674 F 3.11(as)144 184.8 S .61(ingle w)-3.11 F
.61(ord indicating the command or \214le name used to in)-.1 F -.2(vo)
-.4 G -.1(ke).2 G F2(command)3.41 E F0 .61(to be displayed; the)3.88 F
-F1<ad56>144 172.8 Q F0 .25(option produces a more v)2.75 F .25
+F1<ad56>144 196.8 Q F0 .25(option produces a more v)2.75 F .25
(erbose description.)-.15 F .249(If the)5.25 F F1<ad56>2.749 E F0(or)
2.749 E F1<ad76>2.749 E F0 .249(option is supplied, the e)2.749 F .249
-(xit status)-.15 F 1.004(is 0 if)144 184.8 R F2(command)3.704 E F0 -.1
+(xit status)-.15 F 1.004(is 0 if)144 208.8 R F2(command)3.704 E F0 -.1
(wa)4.274 G 3.504(sf).1 G 1.005(ound, and 1 if not.)-3.504 F 1.005
(If neither option is supplied and an error occurred or)6.005 F F2
-(command)144.2 196.8 Q F0 1.599(cannot be found, the e)4.869 F 1.599
+(command)144.2 220.8 Q F0 1.599(cannot be found, the e)4.869 F 1.599
(xit status is 127.)-.15 F 1.599(Otherwise, the e)6.599 F 1.598
-(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 208.8 S
+(xit status of the)-.15 F F1(command)4.098 E F0 -.2(bu)144 232.8 S
(iltin is the e).2 E(xit status of)-.15 E F2(command)2.5 E F0(.).77 E F1
-(compgen)108 225.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
--.37 E F0(])A .012(Generate possible completion matches for)144 237.6 R
+(compgen)108 249.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(wor)-2.5 E(d)
+-.37 E F0(])A .012(Generate possible completion matches for)144 261.6 R
F2(wor)2.513 E(d)-.37 E F0 .013(according to the)2.513 F F2(option)2.513
E F0 .013(s, which may be an)B 2.513(yo)-.15 G(ption)-2.513 E .982
-(accepted by the)144 249.6 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
+(accepted by the)144 273.6 R F1(complete)3.482 E F0 -.2(bu)3.481 G .981
(iltin with the e).2 F .981(xception of)-.15 F F1<ad70>3.481 E F0(and)
3.481 E F1<ad72>3.481 E F0 3.481(,a)C .981(nd write the matches to the)
--3.481 F 1.415(standard output.)144 261.6 R 1.415(When using the)6.415 F
+-3.481 F 1.415(standard output.)144 285.6 R 1.415(When using the)6.415 F
F1<ad46>3.915 E F0(or)3.915 E F1<ad43>3.915 E F0 1.415(options, the v)
3.915 F 1.415(arious shell v)-.25 F 1.415(ariables set by the pro-)-.25
-F(grammable completion f)144 273.6 Q(acilities, while a)-.1 E -.25(va)
+F(grammable completion f)144 297.6 Q(acilities, while a)-.1 E -.25(va)
-.2 G(ilable, will not ha).25 E .3 -.15(ve u)-.2 H(seful v).15 E(alues.)
--.25 E .352(The matches will be generated in the same w)144 297.6 R .352
+-.25 E .352(The matches will be generated in the same w)144 321.6 R .352
(ay as if the programmable completion code had gen-)-.1 F .02(erated th\
em directly from a completion speci\214cation with the same \215ags.)144
-309.6 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
-2.52 F(those completions matching)144 321.6 Q F2(wor)2.5 E(d)-.37 E F0
-(will be displayed.)2.5 E(The return v)144 345.6 Q
+333.6 R(If)5.02 E F2(wor)2.52 E(d)-.37 E F0 .02(is speci\214ed, only)
+2.52 F(those completions matching)144 345.6 Q F2(wor)2.5 E(d)-.37 E F0
+(will be displayed.)2.5 E(The return v)144 369.6 Q
(alue is true unless an in)-.25 E -.25(va)-.4 G
(lid option is supplied, or no matches were generated.).25 E F1
-(complete)108 362.4 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C
+(complete)108 386.4 Q F0([)3.729 E F1(\255abcdefgjksuv)A F0 3.729(][)C
F1<ad6f>-3.729 E F2(comp-option)3.729 E F0 3.729(][)C F1(\255DE)-3.729 E
F0 3.728(][)C F1<ad41>-3.728 E F2(action)3.728 E F0 3.728(][)C F1<ad47>
-3.728 E F2(globpat)3.728 E F0 3.728(][)C F1<ad57>-3.728 E F2(wor)3.728
E(dlist)-.37 E F0 3.728(][)C F1<ad46>-3.728 E F2(func-)3.728 E(tion)108
-374.4 Q F0 2.5(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A([)144 386.4 Q
+398.4 Q F0 2.5(][)C F1<ad43>-2.5 E F2(command)2.5 E F0(])A([)144 410.4 Q
F1<ad58>A F2(\214lterpat)2.5 E F0 2.5(][)C F1<ad50>-2.5 E F2(pr)2.5 E
(e\214x)-.37 E F0 2.5(][)C F1<ad53>-2.5 E F2(suf)2.5 E<8c78>-.18 E F0(])
A F2(name)2.5 E F0([)2.5 E F2(name ...)A F0(])A F1(complete \255pr)108
-398.4 Q F0([)2.5 E F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E
-.634(Specify ho)144 410.4 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
+422.4 Q F0([)2.5 E F1(\255DE)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E
+.634(Specify ho)144 434.4 R 3.134(wa)-.25 G -.18(rg)-3.134 G .634
(uments to each).18 F F2(name)3.134 E F0 .634(should be completed.)3.134
F .633(If the)5.634 F F1<ad70>3.133 E F0 .633
(option is supplied, or if no)3.133 F .139(options are supplied, e)144
-422.4 R .139(xisting completion speci\214cations are printed in a w)-.15
+446.4 R .139(xisting completion speci\214cations are printed in a w)-.15
F .14(ay that allo)-.1 F .14(ws them to be)-.25 F .31(reused as input.)
-144 434.4 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
+144 458.4 R(The)5.31 E F1<ad72>2.81 E F0 .31(option remo)2.81 F -.15(ve)
-.15 G 2.81(sac).15 G .31(ompletion speci\214cation for each)-2.81 F F2
(name)2.81 E F0 2.81(,o)C 1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E
F2(name)2.81 E F0(s)A 1.346
-(are supplied, all completion speci\214cations.)144 446.4 R(The)6.347 E
+(are supplied, all completion speci\214cations.)144 470.4 R(The)6.347 E
F1<ad44>3.847 E F0 1.347(option indicates that the remaining options)
-3.847 F .5(and actions should apply to the `)144 458.4 R(`def)-.74 E
+3.847 F .5(and actions should apply to the `)144 482.4 R(`def)-.74 E
(ault')-.1 E 3('c)-.74 G .5
(ommand completion; that is, completion attempted on)-3 F 3.455(ac)144
-470.4 S .955(ommand for which no completion has pre)-3.455 F .955
+494.4 S .955(ommand for which no completion has pre)-3.455 F .955
(viously been de\214ned.)-.25 F(The)5.955 E F1<ad45>3.455 E F0 .955
(option indicates that)3.455 F .065
-(the remaining options and actions should apply to `)144 482.4 R
+(the remaining options and actions should apply to `)144 506.4 R
(`empty')-.74 E 2.564('c)-.74 G .064
(ommand completion; that is, comple-)-2.564 F
-(tion attempted on a blank line.)144 494.4 Q 1.437
+(tion attempted on a blank line.)144 518.4 Q 1.437
(The process of applying these completion speci\214cations when w)144
-518.4 R 1.438(ord completion is attempted is)-.1 F(described abo)144
-530.4 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E
+542.4 R 1.438(ord completion is attempted is)-.1 F(described abo)144
+554.4 Q .3 -.15(ve u)-.15 H(nder).15 E F1(Pr)2.5 E
(ogrammable Completion)-.18 E F0(.)A .556
-(Other options, if speci\214ed, ha)144 554.4 R .856 -.15(ve t)-.2 H .555
+(Other options, if speci\214ed, ha)144 578.4 R .856 -.15(ve t)-.2 H .555
(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F .555
(guments to the)-.18 F F1<ad47>3.055 E F0(,)A F1<ad57>3.055 E F0 3.055
(,a)C(nd)-3.055 E F1<ad58>3.055 E F0 .722(options \(and, if necessary)
-144 566.4 R 3.222(,t)-.65 G(he)-3.222 E F1<ad50>3.222 E F0(and)3.222 E
+144 590.4 R 3.222(,t)-.65 G(he)-3.222 E F1<ad50>3.222 E F0(and)3.222 E
F1<ad53>3.222 E F0 .723
(options\) should be quoted to protect them from e)3.222 F(xpan-)-.15 E
-(sion before the)144 578.4 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
-(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 590.4 Q
-F2(comp-option)2.5 E F0(The)184 602.4 Q F2(comp-option)2.791 E F0 .291
+(sion before the)144 602.4 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
+(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 614.4 Q
+F2(comp-option)2.5 E F0(The)184 626.4 Q F2(comp-option)2.791 E F0 .291
(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 614.4 Q F2
-(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 626.4 Q F0
-.281(Perform the rest of the def)224 638.4 R(ault)-.1 E F1(bash)2.781 E
+(yond the simple)-.15 F(generation of completions.)184 638.4 Q F2
+(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184 650.4 Q F0
+.281(Perform the rest of the def)224 662.4 R(ault)-.1 E F1(bash)2.781 E
F0 .281(completions if the compspec generates no)2.781 F(matches.)224
-650.4 Q F1(default)184 662.4 Q F0 2.876(Use readline')10 F 5.376(sd)-.55
+674.4 Q F1(default)184 686.4 Q F0 2.876(Use readline')10 F 5.376(sd)-.55
G(ef)-5.376 E 2.875
(ault \214lename completion if the compspec generates no)-.1 F(matches.)
-224 674.4 Q F1(dir)184 686.4 Q(names)-.15 E F0(Perform directory name c\
-ompletion if the compspec generates no matches.)224 698.4 Q
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(3)203.725 E 0 Cg EP
+224 698.4 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(3)203.725 E 0 Cg
+EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(\214lenames)184 84 Q F0 -.7(Te)224 96 S .137(ll readli\
-ne that the compspec generates \214lenames, so it can perform an).7 F
-2.637<798c>-.15 G(le-)-2.637 E .134(name\255speci\214c processing \(lik)
-224 108 R 2.634(ea)-.1 G .134
+/Times-Bold@0 SF(dir)184 84 Q(names)-.15 E F0(Perform directory name co\
+mpletion if the compspec generates no matches.)224 96 Q F1(\214lenames)
+184 108 Q F0 -.7(Te)224 120 S .137(ll readline that the compspec genera\
+tes \214lenames, so it can perform an).7 F 2.637<798c>-.15 G(le-)-2.637
+E .134(name\255speci\214c processing \(lik)224 132 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 120 R .45
-(Intended to be used with shell)5.45 F(functions.)224 132 Q F1(nospace)
-184 144 Q F0 -.7(Te)6.11 G .22
+(cial characters, or suppressing trailing spaces\).)224 144 R .45
+(Intended to be used with shell)5.45 F(functions.)224 156 Q F1(nospace)
+184 168 Q F0 -.7(Te)6.11 G .22
(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1 F
-.22(ords completed at the end)-.1 F(of the line.)224 156 Q F1(plusdirs)
-184 168 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
+.22(ords completed at the end)-.1 F(of the line.)224 180 Q F1(plusdirs)
+184 192 Q F0 1.985(After an)5.54 F 4.485(ym)-.15 G 1.985
(atches de\214ned by the compspec are generated, directory name)-4.485 F
-.584(completion is attempted and an)224 180 R 3.084(ym)-.15 G .584
-(atches are added to the results of the other)-3.084 F(actions.)224 192
-Q F1<ad41>144 204 Q/F2 10/Times-Italic@0 SF(action)2.5 E F0(The)184 216
+.584(completion is attempted and an)224 204 R 3.084(ym)-.15 G .584
+(atches are added to the results of the other)-3.084 F(actions.)224 216
+Q F1<ad41>144 228 Q/F2 10/Times-Italic@0 SF(action)2.5 E F0(The)184 240
Q F2(action)2.5 E F0(may be one of the follo)2.5 E
(wing to generate a list of possible completions:)-.25 E F1(alias)184
-228 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
-E F0(.)A F1(arrayv)184 240 Q(ar)-.1 E F0(Array v)224 252 Q
-(ariable names.)-.25 E F1 4.7(binding Readline)184 264 R F0 -.1(ke)2.5 G
-2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 276 S(iltin).2 E F0
+252 Q F0(Alias names.)20.55 E(May also be speci\214ed as)5 E F1<ad61>2.5
+E F0(.)A F1(arrayv)184 264 Q(ar)-.1 E F0(Array v)224 276 Q
+(ariable names.)-.25 E F1 4.7(binding Readline)184 288 R F0 -.1(ke)2.5 G
+2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 300 S(iltin).2 E F0
(Names of shell b)11.85 E(uiltin commands.)-.2 E
-(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 288
-Q F0(Command names.)224 300 Q(May also be speci\214ed as)5 E F1<ad63>2.5
-E F0(.)A F1(dir)184 312 Q(ectory)-.18 E F0(Directory names.)224 324 Q
-(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 336
-Q F0(Names of disabled shell b)224 348 Q(uiltins.)-.2 E F1(enabled)184
-360 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
-372 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
+(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 312
+Q F0(Command names.)224 324 Q(May also be speci\214ed as)5 E F1<ad63>2.5
+E F0(.)A F1(dir)184 336 Q(ectory)-.18 E F0(Directory names.)224 348 Q
+(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 360
+Q F0(Names of disabled shell b)224 372 Q(uiltins.)-.2 E F1(enabled)184
+384 Q F0(Names of enabled shell b)6.66 E(uiltins.)-.2 E F1(export)184
+396 Q F0(Names of e)12.23 E(xported shell v)-.15 E 2.5(ariables. May)
-.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
-384 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
-E F0(.)A F1(function)184 396 Q F0(Names of shell functions.)224 408 Q F1
-(gr)184 420 Q(oup)-.18 E F0(Group names.)14.62 E
+408 Q F0(File names.)27.22 E(May also be speci\214ed as)5 E F1<ad66>2.5
+E F0(.)A F1(function)184 420 Q F0(Names of shell functions.)224 432 Q F1
+(gr)184 444 Q(oup)-.18 E F0(Group names.)14.62 E
(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
-432 Q F0(Help topics as accepted by the)224 444 Q F1(help)2.5 E F0 -.2
-(bu)2.5 G(iltin.).2 E F1(hostname)184 456 Q F0(Hostnames, as tak)224 468
+456 Q F0(Help topics as accepted by the)224 468 Q F1(help)2.5 E F0 -.2
+(bu)2.5 G(iltin.).2 E F1(hostname)184 480 Q F0(Hostnames, as tak)224 492
Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
-(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 480 Q F0
+(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 504 Q F0
(Job names, if job control is acti)26.11 E -.15(ve)-.25 G 5(.M).15 G
-(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 492 S
-(yw).1 E(ord)-.1 E F0(Shell reserv)224 504 Q(ed w)-.15 E 2.5(ords. May)
+(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 516 S
+(yw).1 E(ord)-.1 E F0(Shell reserv)224 528 Q(ed w)-.15 E 2.5(ords. May)
-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
-516 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
--.25 G(.).15 E F1(ser)184 528 Q(vice)-.1 E F0(Service names.)10.67 E
-(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 540 Q
+540 Q F0(Names of running jobs, if job control is acti)5.54 E -.15(ve)
+-.25 G(.).15 E F1(ser)184 552 Q(vice)-.1 E F0(Service names.)10.67 E
+(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 564 Q
F0 -1.11(Va)14.45 G(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
-(shopt)184 552 Q F0(Shell option names as accepted by the)16.66 E F1
-(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 564 Q F0
-(Signal names.)14.99 E F1(stopped)184 576 Q F0
+(shopt)184 576 Q F0(Shell option names as accepted by the)16.66 E F1
+(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 588 Q F0
+(Signal names.)14.99 E F1(stopped)184 600 Q F0
(Names of stopped jobs, if job control is acti)6.66 E -.15(ve)-.25 G(.)
-.15 E F1(user)184 588 Q F0(User names.)21.67 E
-(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 600 S
+.15 E F1(user)184 612 Q F0(User names.)21.67 E
+(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 624 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 612 Q F2
-(globpat)2.5 E F0 1.007(The pathname e)184 624 R 1.007(xpansion pattern)
--.15 F F2(globpat)3.507 E F0 1.007(is e)3.507 F 1.008
-(xpanded to generate the possible comple-)-.15 F(tions.)184 636 Q F1
-<ad57>144 648 Q F2(wor)2.5 E(dlist)-.37 E F0(The)184 660 Q F2(wor)3.64 E
-(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F F3
-(IFS)3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and)
--.25 F 2.007(each resultant w)184 672 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 684 Q(ord being completed.)
--.1 E F1<ad43>144 696 Q F2(command)2.5 E(command)184 708 Q F0 1.056
-(is e)3.556 F -.15(xe)-.15 G 1.056(cuted in a subshell en).15 F 1.056
+(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 636 Q F2
+(command)2.5 E(command)184 648 Q F0 1.055(is e)3.555 F -.15(xe)-.15 G
+1.055(cuted in a subshell en).15 F 1.056
(vironment, and its output is used as the possible)-.4 F(completions.)
-184 720 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(4)203.725 E 0 Cg
-EP
+184 660 Q F1<ad46>144 672 Q F2(function)2.5 E F0 1.181
+(The shell function)184 684 R F2(function)3.681 E F0 1.181(is e)3.681 F
+-.15(xe)-.15 G 1.181(cuted in the current shell en).15 F 3.68
+(vironment. When)-.4 F 1.18(it \214n-)3.68 F .932
+(ishes, the possible completions are retrie)184 696 R -.15(ve)-.25 G
+3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F F3
+(COMPREPL)3.432 E(Y)-.828 E F0(array)3.182 E -.25(va)184 708 S(riable.)
+.25 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(4)203.725 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad46>144 84 Q/F2 10/Times-Italic@0 SF(function)2.5 E F0
-1.18(The shell function)184 96 R F2(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 108 R -.15(ve)-.25 G
-3.432(df).15 G .932(rom the v)-3.432 F .932(alue of the)-.25 F/F3 9
-/Times-Bold@0 SF(COMPREPL)3.431 E(Y)-.828 E F0(array)3.181 E -.25(va)184
-120 S(riable.).25 E F1<ad58>144 132 Q F2(\214lterpat)2.5 E(\214lterpat)
-184 144 Q F0 .455(is a pattern as used for pathname e)2.955 F 2.956
-(xpansion. It)-.15 F .456(is applied to the list of possible)2.956 F
-1.596(completions generated by the preceding options and ar)184 156 R
-1.596(guments, and each completion)-.18 F(matching)184 168 Q F2
-(\214lterpat)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 F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15
-G .705(tes the pattern;).05 F(in this case, an)184 180 Q 2.5(yc)-.15 G
-(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
--.15(ve)-.15 G(d.).15 E F1<ad50>144 192 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
-184 204 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
+/Times-Bold@0 SF<ad47>144 84 Q/F2 10/Times-Italic@0 SF(globpat)2.5 E F0
+1.008(The pathname e)184 96 R 1.008(xpansion pattern)-.15 F F2(globpat)
+3.507 E F0 1.007(is e)3.507 F 1.007
+(xpanded to generate the possible comple-)-.15 F(tions.)184 108 Q F1
+<ad50>144 120 Q F2(pr)2.5 E(e\214x)-.37 E(pr)184 132 Q(e\214x)-.37 E F0
+.534(is added at the be)3.034 F .534
(ginning of each possible completion after all other options ha)-.15 F
--.15(ve)-.2 G(been applied.)184 216 Q F1<ad53>144 228 Q F2(suf)2.5 E
+-.15(ve)-.2 G(been applied.)184 144 Q F1<ad53>144 156 Q F2(suf)2.5 E
2.81(\214x suf)-.18 F<8c78>-.18 E F0
(is appended to each possible completion after all other options ha)2.5
-E .3 -.15(ve b)-.2 H(een applied.).15 E .466(The return v)144 244.8 R
-.466(alue is true unless an in)-.25 F -.25(va)-.4 G .466
+E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 168 Q F2(wor)2.5 E
+(dlist)-.37 E F0(The)184 180 Q F2(wor)3.64 E(dlist)-.37 E F0 1.14
+(is split using the characters in the)3.64 F/F3 9/Times-Bold@0 SF(IFS)
+3.64 E F0 1.139(special v)3.39 F 1.139(ariable as delimiters, and)-.25 F
+2.007(each resultant w)184 192 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 204 Q(ord being completed.)
+-.1 E F1<ad58>144 216 Q F2(\214lterpat)2.5 E(\214lterpat)184 228 Q F0
+.456(is a pattern as used for pathname e)2.956 F 2.956(xpansion. It)-.15
+F .455(is applied to the list of possible)2.956 F 1.596
+(completions generated by the preceding options and ar)184 240 R 1.596
+(guments, and each completion)-.18 F(matching)184 252 Q F2(\214lterpat)
+3.205 E F0 .705(is remo)3.205 F -.15(ve)-.15 G 3.205(df).15 G .704
+(rom the list.)-3.205 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
+(in)3.204 E F2(\214lterpat)3.204 E F0(ne)3.204 E -.05(ga)-.15 G .704
+(tes the pattern;).05 F(in this case, an)184 264 Q 2.5(yc)-.15 G
+(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
+-.15(ve)-.15 G(d.).15 E .466(The return v)144 280.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 256.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
+(plied without a)144 292.8 R F2(name)3.862 E F0(ar)3.862 E 1.361
(gument, an attempt is made to remo)-.18 F 1.661 -.15(ve a c)-.15 H
-1.361(ompletion speci\214cation for a).15 F F2(name)144 268.8 Q F0
+1.361(ompletion speci\214cation for a).15 F F2(name)144 304.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 285.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
+F1(compopt)108 321.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
F1(\255DE)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C F2
-(name)-2.5 E F0(])A .447(Modify completion options for each)144 297.6 R
+(name)-2.5 E F0(])A .447(Modify completion options for each)144 333.6 R
F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
-.447(s, or for the currently-e)B -.15(xe)-.15 G(cution).15 E .726
-(completion if no)144 309.6 R F2(name)3.226 E F0 3.226(sa)C .726
+.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .726
+(completion if no)144 345.6 R F2(name)3.226 E F0 3.226(sa)C .726
(re supplied.)-3.226 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa)
C .725(re gi)-3.225 F -.15(ve)-.25 G .725
-(n, display the completion options for).15 F(each)144 321.6 Q F2(name)
+(n, display the completion options for).15 F(each)144 357.6 Q F2(name)
3.223 E F0 .723(or the current completion.)3.223 F .724(The possible v)
5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224
-F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 333.6 Q F0 -.2(bu)
+F .724(alid for the)-.25 F F1(com-)3.224 E(plete)144 369.6 Q F0 -.2(bu)
2.798 G .298(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
-5.297 E F1<ad44>2.797 E F0 .297
(option indicates that the remaining options should apply to)2.797 F
-1.227(the `)144 345.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
+1.227(the `)144 381.6 R(`def)-.74 E(ault')-.1 E 3.727('c)-.74 G 1.228(o\
mmand completion; that is, completion attempted on a command for which \
-no)-3.727 F 2.178(completion has pre)144 357.6 R 2.178
+no)-3.727 F 2.178(completion has pre)144 393.6 R 2.178
(viously been de\214ned.)-.25 F(The)7.178 E F1<ad45>4.678 E F0 2.177
(option indicates that the remaining options)4.677 F(should apply to `)
-144 369.6 Q(`empty')-.74 E 2.5('c)-.74 G
+144 405.6 Q(`empty')-.74 E 2.5('c)-.74 G
(ommand completion; that is, completion attempted on a blank line.)-2.5
-E .327(The return v)108 386.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 F2(name)108 398.4 Q F0(for which no completion speci\214cation e)
-2.5 E(xists, or an output error occurs.)-.15 E F1(continue)108 415.2 Q
-F0([)2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 427.2 R 1.754
+E 1.387(The return v)144 429.6 R 1.387(alue is true unless an in)-.25 F
+-.25(va)-.4 G 1.388
+(lid option is supplied, an attempt is made to modify the).25 F
+(options for a)144 441.6 Q F2(name)2.5 E F0
+(for which no completion speci\214cation e)2.5 E
+(xists, or an output error occurs.)-.15 E F1(continue)108 458.4 Q F0([)
+2.5 E F2(n)A F0(])A 1.754(Resume the ne)144 470.4 R 1.754
(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r).25 E F0(,)A
F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)-4.254 E F1
(select)4.254 E F0 4.253(loop. If)4.254 F F2(n)4.613 E F0 1.753
-(is speci\214ed,)4.493 F 1.208(resume at the)144 439.2 R F2(n)3.709 E F0
+(is speci\214ed,)4.493 F 1.208(resume at the)144 482.4 R F2(n)3.709 E F0
1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F4 10
/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
(is greater than the number of enclosing)3.949 F .514
-(loops, the last enclosing loop \(the `)144 451.2 R(`top-le)-.74 E -.15
+(loops, the last enclosing loop \(the `)144 494.4 R(`top-le)-.74 E -.15
(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
(The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is)
-3.013 E(not greater than or equal to 1.)144 463.2 Q F1(declar)108 480 Q
-(e)-.18 E F0([)2.5 E F1(\255aAfFilrtux)A F0 2.5(][)C F1<ad70>-2.5 E F0
+3.013 E(not greater than or equal to 1.)144 506.4 Q F1(declar)108 523.2
+Q(e)-.18 E F0([)2.5 E F1(\255aAfFgilrtux)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 F1
-(typeset)108 492 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 504 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 516 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
+(typeset)108 535.2 Q F0([)2.5 E F1(\255aAfFgilrtux)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 547.2 R 1.264(ariables and/or gi)-.25 F
+1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)
+3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
+G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F
+-.25(va)144 559.2 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 528 Q F2(name)3.579 E F0
-(ar)3.579 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 540 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 552 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 564 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 576 R 2.423(utes are)
--.2 F 2.664(printed. If)144 588 R(the)2.664 E F1(extdeb)2.664 E(ug)-.2 E
-F0 .164(shell option is enabled using)2.664 F F1(shopt)2.664 E F0 2.664
-(,t)C .163(he source \214le name and line number)-2.664 F 1.382
-(where the function is de\214ned are displayed as well.)144 600 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
-(options can be used to restrict output to v)144 612 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 624 Q(utes:)-.2 E F1
-<ad61>144 636 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 648 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 660 Q F0(Use function names only)26.97 E(.)-.65 E F1
-<ad69>144 672 Q F0 .557(The v)27.52 F .558
-(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
-(va)-.25 G .558(luation \(see).25 F F3 .558(ARITHMETIC EV)3.058 F(ALU)
--1.215 E(A-)-.54 E(TION)180 684 Q F0(abo)2.25 E -.15(ve)-.15 G 2.5(\)i)
-.15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E(ariable is assigned a v)
--.25 E(alue.)-.25 E F1<ad6c>144 696 Q F0 .91(When the v)27.52 F .909
-(ariable is assigned a v)-.25 F .909(alue, all upper)-.25 F .909
-(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to lo).15 F(wer)
--.25 E(-)-.2 E 2.5(case. The)180 708 R(upper)2.5 E(-case attrib)-.2 E
-(ute is disabled.)-.2 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(5)
-203.725 E 0 Cg EP
+<ad70>3.482 E F0 .982(is used)3.482 F(with)144 571.2 Q F2(name)3.579 E
+F0(ar)3.579 E 1.079(guments, additional options are ignored.)-.18 F
+(When)6.079 E 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 583.2 R .151(utes and v)-.2 F
+.151(alues of all v)-.25 F .15(ariables ha)-.25 F .15(ving the attrib)
+-.2 F .15(utes speci\214ed by the)-.2 F .046(additional options.)144
+595.2 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 607.2 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 functio\
+n de\214nitions; only the function name and attrib)144 619.2 R 2.423
+(utes are)-.2 F 2.664(printed. If)144 631.2 R(the)2.664 E F1(extdeb)
+2.664 E(ug)-.2 E F0 .164(shell option is enabled using)2.664 F F1(shopt)
+2.664 E F0 2.664(,t)C .163(he source \214le name and line number)-2.664
+F 1.288(where the function is de\214ned are displayed as well.)144 643.2
+R(The)6.288 E F1<ad46>3.788 E F0 1.288(option implies)3.788 F F1<ad66>
+3.788 E F0 6.288(.T)C(he)-6.288 E F1<ad67>3.789 E F0(option)3.789 E .491
+(forces v)144 655.2 R .491
+(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
+(ve)-.25 G 2.99(nw).15 G(hen)-2.99 E F1(declar)2.99 E(e)-.18 E F0 .49
+(is e)2.99 F -.15(xe)-.15 G .49(cuted in a).15 F .124(shell function.)
+144 667.2 R .124(It is ignored in all other cases.)5.124 F .125
+(The follo)5.125 F .125(wing options can be used to restrict output)-.25
+F(to v)144 679.2 Q(ariables with the speci\214ed attrib)-.25 E
+(ute or to gi)-.2 E .3 -.15(ve v)-.25 H(ariables attrib)-.1 E(utes:)-.2
+E F1<ad61>144 691.2 Q F0(Each)25.3 E F2(name)2.5 E F0(is an inde)2.5 E
+-.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1
+(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1<ad41>144 703.2 Q
+F0(Each)23.08 E F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)-.25
+H(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E -.15
+(ve)-.15 G(\).).15 E F1<ad66>144 715.2 Q F0(Use function names only)
+26.97 E(.)-.65 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(5)203.725 E
+0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad72>144 84 Q F0(Mak)25.86 E(e)-.1 E/F2 10
-/Times-Italic@0 SF(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E 7.546(.T)
--.65 G 2.546(hese names cannot then be assigned v)-7.546 F 2.547
-(alues by subsequent)-.25 F(assignment statements or unset.)180 96 Q F1
-<ad74>144 108 Q F0(Gi)26.97 E .73 -.15(ve e)-.25 H(ach).15 E F2(name)
-2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929
+/Times-Bold@0 SF<ad69>144 84 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/F2 9/Times-Bold@0 SF .557
+(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 96 Q F0(abo)2.25
+E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)-2.5 E
+(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad6c>144 108 Q F0 .909
+(When the v)27.52 F .909(ariable is assigned a v)-.25 F .909
+(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
+G .91(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 120 R(upper)
+2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad72>144 132 Q F0
+(Mak)25.86 E(e)-.1 E/F3 10/Times-Italic@0 SF(name)5.047 E F0 5.047(sr)C
+(eadonly)-5.047 E 7.547(.T)-.65 G 2.546
+(hese names cannot then be assigned v)-7.547 F 2.546
+(alues by subsequent)-.25 F(assignment statements or unset.)180 144 Q F1
+<ad74>144 156 Q F0(Gi)26.97 E .729 -.15(ve e)-.25 H(ach).15 E F3(name)
+2.929 E F0(the)2.929 E F3(tr)2.929 E(ace)-.15 E F0(attrib)2.929 E 2.929
(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1(DEB)2.929 E(UG)
--.1 E F0(and)2.929 E F1(RETURN)2.929 E F0(traps from the calling shell.)
-180 120 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
-(ariables.)-.25 E F1<ad75>144 132 Q F0 .909(When the v)24.74 F .909
+-.1 E F0(and)2.93 E F1(RETURN)2.93 E F0(traps from the calling shell.)
+180 168 Q(The trace attrib)5 E(ute has no special meaning for v)-.2 E
+(ariables.)-.25 E F1<ad75>144 180 Q F0 .91(When the v)24.74 F .909
(ariable is assigned a v)-.25 F .909(alue, all lo)-.25 F(wer)-.25 E .909
-(-case characters are con)-.2 F -.15(ve)-.4 G .91(rted to upper).15 F(-)
--.2 E 2.5(case. The)180 144 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E
-(ute is disabled.)-.2 E F1<ad78>144 156 Q F0(Mark)25.3 E F2(name)2.5 E
+(-case characters are con)-.2 F -.15(ve)-.4 G .909(rted to upper).15 F
+(-)-.2 E 2.5(case. The)180 192 R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E
+(ute is disabled.)-.2 E F1<ad78>144 204 Q F0(Mark)25.3 E F3(name)2.5 E
F0 2.5(sf)C(or e)-2.5 E(xport to subsequent commands via the en)-.15 E
-(vironment.)-.4 E .121(Using `+' instead of `\255' turns of)144 172.8 R
-2.621(ft)-.25 G .121(he attrib)-2.621 F .121(ute instead, with the e)-.2
-F .12(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F
-.644(to destro)144 184.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
--3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
-3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
-(ute. When)-.2 F .645(used in a func-)3.145 F 1.945(tion, mak)144 196.8
-R 1.945(es each)-.1 F F2(name)4.445 E F0 1.945(local, as with the)4.445
-F F1(local)4.444 E F0 4.444(command. If)4.444 F 4.444(av)4.444 G 1.944
-(ariable name is follo)-4.694 F 1.944(wed by)-.25 F(=)144 208.8 Q F2
-(value)A F0 3.238(,t)C .738(he v)-3.238 F .738(alue of the v)-.25 F .738
-(ariable is set to)-.25 F F2(value)3.238 E F0 5.738(.T)C .738
-(he return v)-5.738 F .739(alue is 0 unless an in)-.25 F -.25(va)-.4 G
-.739(lid option is).25 F .603
-(encountered, an attempt is made to de\214ne a function using)144 220.8
-R/F3 10/Courier@0 SF .603(\255f foo=bar)3.103 F F0 3.103(,a)C 3.103(na)
--3.103 G .603(ttempt is made to)-3.103 F 1.242(assign a v)144 232.8 R
-1.242(alue to a readonly v)-.25 F 1.242
-(ariable, an attempt is made to assign a v)-.25 F 1.243
-(alue to an array v)-.25 F(ariable)-.25 E 1.386
-(without using the compound assignment syntax \(see)144 244.8 R F1
-(Arrays)3.886 E F0(abo)3.886 E -.15(ve)-.15 G 1.386(\), one of the).15 F
-F2(names)3.886 E F0 1.386(is not a)3.886 F -.25(va)144 256.8 S .171
-(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
-F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
-(ariable, an)-.25 F .96(attempt is made to turn of)144 268.8 R 3.46(fa)
--.25 G .96(rray status for an array v)-3.46 F .96
-(ariable, or an attempt is made to display a)-.25 F(non-e)144 280.8 Q
-(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 297.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 309.6 S .328
+(vironment.)-.4 E .12(Using `+' instead of `\255' turns of)144 220.8 R
+2.62(ft)-.25 G .12(he attrib)-2.62 F .121(ute instead, with the e)-.2 F
+.121(xceptions that)-.15 F F1(+a)2.621 E F0 .121(may not be used)2.621 F
+.645(to destro)144 232.8 R 3.145(ya)-.1 G 3.145(na)-3.145 G .645(rray v)
+-3.145 F .645(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
+3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.144
+(ute. When)-.2 F .644(used in a func-)3.144 F .53(tion, mak)144 244.8 R
+.53(es each)-.1 F F3(name)3.03 E F0 .53(local, as with the)3.03 F F1
+(local)3.031 E F0 .531(command, unless the)3.031 F F1 .531
+(\255gP option is supplied, If a)3.031 F -.1(va)144 256.8 S 1.558
+(riable name is f).1 F(ollo)-.25 E 1.558(wed by =)-.1 F F3(value)A F1
+4.058(,t)C 1.558(he v)-4.058 F 1.557(alue of the v)-.1 F 1.557
+(ariable is set to)-.1 F F3(value)4.057 E F1 6.557(.T)C 1.557(he r)
+-6.557 F(etur)-.18 E(n)-.15 E -.1(va)144 268.8 S 1.168
+(lue is 0 unless an in).1 F -.1(va)-.4 G 1.168(lid option is encounter)
+.1 F 1.168(ed, an attempt is made to de\214ne a function)-.18 F(using)
+144 280.8 Q/F4 10/Courier@0 SF .312(\255f foo=bar)2.812 F F1 2.812(,a)C
+2.812(na)-2.812 G .312(ttempt is made to assign a v)-2.812 F .312
+(alue to a r)-.1 F .312(eadonly v)-.18 F .311(ariable, an attempt)-.1 F
+.615(is made to assign a v)144 292.8 R .615(alue to an array v)-.1 F
+.616(ariable without using the compound assignment syn-)-.1 F .26
+(tax \(see Arrays)144 304.8 R F0(abo)2.76 E -.15(ve)-.15 G .26
+(\), one of the).15 F F3(names)2.76 E F0 .259(is not a v)2.76 F .259
+(alid shell v)-.25 F .259(ariable name, an attempt is made to)-.25 F
+.703(turn of)144 316.8 R 3.203(fr)-.25 G .704
+(eadonly status for a readonly v)-3.203 F .704
+(ariable, an attempt is made to turn of)-.25 F 3.204(fa)-.25 G .704
+(rray status for an)-3.204 F(array v)144 328.8 Q
+(ariable, or an attempt is made to display a non-e)-.25 E
+(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1(dirs [+)108 345.6
+Q F3(n)A F1 2.5(][)C<ad>-2.5 E F3(n)A F1 2.5(][)C(\255clpv])-2.5 E F0
+-.4(Wi)144 357.6 S .329
(thout options, displays the list of currently remembered directories.)
-.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
-(single line with directory names separated by spaces.)144 321.6 R 1.238
-(Directories are added to the list with the)6.238 F F1(pushd)144 333.6 Q
+.4 F .328(The def)5.328 F .328(ault display is on a)-.1 F 1.238
+(single line with directory names separated by spaces.)144 369.6 R 1.238
+(Directories are added to the list with the)6.238 F F1(pushd)144 381.6 Q
F0(command; the)2.5 E F1(popd)2.5 E F0(command remo)2.5 E -.15(ve)-.15 G
-2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 345.6 Q F2(n)A F0
-1.564(Displays the)25.3 F F2(n)4.064 E F0 1.565
-(th entry counting from the left of the list sho)B 1.565(wn by)-.25 F F1
-(dirs)4.065 E F0 1.565(when in)4.065 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 357.6 Q F1<ad>144 369.6 Q F2
-(n)A F0 1.194(Displays the)25.3 F F2(n)3.694 E F0 1.194
+2.5(se).15 G(ntries from the list.)-2.5 E F1(+)144 393.6 Q F3(n)A F0
+1.565(Displays the)25.3 F F3(n)4.065 E F0 1.565
+(th entry counting from the left of the list sho)B 1.564(wn by)-.25 F F1
+(dirs)4.064 E F0 1.564(when in)4.064 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
+(without options, starting with zero.)180 405.6 Q F1<ad>144 417.6 Q F3
+(n)A F0 1.194(Displays the)25.3 F F3(n)3.694 E F0 1.194
(th entry counting from the right of the list sho)B 1.194(wn by)-.25 F
F1(dirs)3.694 E F0 1.194(when in)3.694 F -.2(vo)-.4 G -.1(ke).2 G(d).1 E
-(without options, starting with zero.)180 381.6 Q F1<ad63>144 393.6 Q F0
+(without options, starting with zero.)180 429.6 Q F1<ad63>144 441.6 Q F0
(Clears the directory stack by deleting all of the entries.)25.86 E F1
-<ad6c>144 405.6 Q F0 .324(Produces a longer listing; the def)27.52 F
+<ad6c>144 453.6 Q F0 .324(Produces a longer listing; the def)27.52 F
.324(ault listing format uses a tilde to denote the home direc-)-.1 F
-(tory)180 417.6 Q(.)-.65 E F1<ad70>144 429.6 Q F0
+(tory)180 465.6 Q(.)-.65 E F1<ad70>144 477.6 Q F0
(Print the directory stack with one entry per line.)24.74 E F1<ad76>144
-441.6 Q F0 .273(Print the directory stack with one entry per line, pre\
-\214xing each entry with its inde)25.3 F 2.772(xi)-.15 G 2.772(nt)-2.772
-G(he)-2.772 E(stack.)180 453.6 Q .257(The return v)144 470.4 R .258
+489.6 Q F0 .272(Print the directory stack with one entry per line, pre\
+\214xing each entry with its inde)25.3 F 2.773(xi)-.15 G 2.773(nt)-2.773
+G(he)-2.773 E(stack.)180 501.6 Q .258(The return v)144 518.4 R .258
(alue is 0 unless an in)-.25 F -.25(va)-.4 G .258
-(lid option is supplied or).25 F F2(n)2.758 E F0(inde)2.758 E -.15(xe)
+(lid option is supplied or).25 F F3(n)2.758 E F0(inde)2.758 E -.15(xe)
-.15 G 2.758(sb).15 G -.15(ey)-2.758 G .258(ond the end of the direc-)
-.15 F(tory stack.)144 482.4 Q F1(diso)108 499.2 Q(wn)-.1 E F0([)2.5 E F1
-(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F2(jobspec)-2.5 E F0
-(...])2.5 E -.4(Wi)144 511.2 S .295(thout options, each).4 F F2(jobspec)
+.15 F(tory stack.)144 530.4 Q F1(diso)108 547.2 Q(wn)-.1 E F0([)2.5 E F1
+(\255ar)A F0 2.5(][)C F1<ad68>-2.5 E F0 2.5(][)C F3(jobspec)-2.5 E F0
+(...])2.5 E -.4(Wi)144 559.2 S .295(thout options, each).4 F F3(jobspec)
4.535 E F0 .295(is remo)3.105 F -.15(ve)-.15 G 2.795(df).15 G .295
(rom the table of acti)-2.795 F .595 -.15(ve j)-.25 H 2.795(obs. If).15
-F F2(jobspec)4.535 E F0 .295(is not present,)3.105 F .422(and neither)
-144 523.2 R F1<ad61>2.922 E F0(nor)2.922 E F1<ad72>2.922 E F0 .422
-(is supplied, the shell')2.922 F 2.922(sn)-.55 G .422(otion of the)
--2.922 F F2(curr)2.923 E .423(ent job)-.37 F F0 .423(is used.)2.923 F
-.423(If the)5.423 F F1<ad68>2.923 E F0 .423(option is)2.923 F(gi)144
-535.2 Q -.15(ve)-.25 G .141(n, each).15 F F2(jobspec)4.381 E F0 .141
-(is not remo)2.951 F -.15(ve)-.15 G 2.641(df).15 G .141
-(rom the table, b)-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F
-/F4 9/Times-Bold@0 SF(SIGHUP)2.641 E F0 .14(is not sent to the)2.39 F
-.004(job if the shell recei)144 547.2 R -.15(ve)-.25 G 2.504(sa).15 G F4
-(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0 .004(If no)4.504 F F2(jobspec)
-4.244 E F0 .004(is present, and neither the)2.814 F F1<ad61>2.504 E F0
-.005(nor the)2.504 F F1<ad72>2.505 E F0 .005(option is)2.505 F 1.229
-(supplied, the)144 559.2 R F2(curr)3.729 E 1.229(ent job)-.37 F F0 1.229
-(is used.)3.729 F 1.229(If no)6.229 F F2(jobspec)5.469 E F0 1.229
-(is supplied, the)4.039 F F1<ad61>3.729 E F0 1.228(option means to remo)
-3.729 F 1.528 -.15(ve o)-.15 H(r).15 E .656(mark all jobs; the)144 571.2
-R F1<ad72>3.156 E F0 .657(option without a)3.156 F F2(jobspec)4.897 E F0
-(ar)3.467 E .657(gument restricts operation to running jobs.)-.18 F(The)
-5.657 E(return v)144 583.2 Q(alue is 0 unless a)-.25 E F2(jobspec)4.24 E
-F0(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 600 Q
-F0([)2.5 E F1(\255neE)A F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E
-.395(Output the)144 612 R F2(ar)2.895 E(g)-.37 E F0 .395
+F F3(jobspec)4.535 E F0 .295(is not present,)3.105 F .423(and neither)
+144 571.2 R F1<ad61>2.923 E F0(nor)2.923 E F1<ad72>2.923 E F0 .423
+(is supplied, the shell')2.923 F 2.923(sn)-.55 G .423(otion of the)
+-2.923 F F3(curr)2.922 E .422(ent job)-.37 F F0 .422(is used.)2.922 F
+.422(If the)5.422 F F1<ad68>2.922 E F0 .422(option is)2.922 F(gi)144
+583.2 Q -.15(ve)-.25 G .14(n, each).15 F F3(jobspec)4.38 E F0 .14
+(is not remo)2.95 F -.15(ve)-.15 G 2.641(df).15 G .141(rom the table, b)
+-2.641 F .141(ut is mark)-.2 F .141(ed so that)-.1 F F2(SIGHUP)2.641 E
+F0 .141(is not sent to the)2.391 F .005(job if the shell recei)144 595.2
+R -.15(ve)-.25 G 2.504(sa).15 G F2(SIGHUP)A/F5 9/Times-Roman@0 SF(.)A F0
+.004(If no)4.504 F F3(jobspec)4.244 E F0 .004
+(is present, and neither the)2.814 F F1<ad61>2.504 E F0 .004(nor the)
+2.504 F F1<ad72>2.504 E F0 .004(option is)2.504 F 1.228(supplied, the)
+144 607.2 R F3(curr)3.728 E 1.228(ent job)-.37 F F0 1.229(is used.)3.729
+F 1.229(If no)6.229 F F3(jobspec)5.469 E F0 1.229(is supplied, the)4.039
+F F1<ad61>3.729 E F0 1.229(option means to remo)3.729 F 1.529 -.15(ve o)
+-.15 H(r).15 E .657(mark all jobs; the)144 619.2 R F1<ad72>3.157 E F0
+.657(option without a)3.157 F F3(jobspec)4.897 E F0(ar)3.467 E .656
+(gument restricts operation to running jobs.)-.18 F(The)5.656 E
+(return v)144 631.2 Q(alue is 0 unless a)-.25 E F3(jobspec)4.24 E F0
+(does not specify a v)2.81 E(alid job)-.25 E(.)-.4 E F1(echo)108 648 Q
+F0([)2.5 E F1(\255neE)A F0 2.5(][)C F3(ar)-2.5 E(g)-.37 E F0(...])2.5 E
+.394(Output the)144 660 R F3(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
-(is speci\214ed, the trailing ne)144 624 R .548(wline is suppressed.)
+(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 672 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 636 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 648 R -.15(ve)-.25 G 4.002(no).15 G
-4.002(ns)-4.002 G 1.502(ystems where the)-4.002 F 4.002(ya)-.15 G 1.502
-(re interpreted by def)-4.002 F 4.003(ault. The)-.1 F F1(xpg_echo)4.003
-E F0(shell)4.003 E .009
-(option may be used to dynamically determine whether or not)144 660 R F1
-(echo)2.509 E F0 -.15(ex)2.509 G .009(pands these escape characters).15
-F .659(by def)144 672 R(ault.)-.1 E F1(echo)5.659 E F0 .659
-(does not interpret)3.159 F 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 684 Q F1
-(\\a)144 696 Q F0(alert \(bell\))28.22 E F1(\\b)144 708 Q F0(backspace)
-27.66 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(6)203.725 E 0 Cg EP
+-.15(ve)-.25 G .548(n, interpretation of the fol-).15 F(lo)144 684 Q
+.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 696 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 708 R F1
+(echo)2.509 E F0 -.15(ex)2.51 G .01(pands these escape characters).15 F
+.66(by def)144 720 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(GNU Bash-4.0)72 768 Q
+(2004 Apr 20)148.735 E(6)203.725 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(\\c)144 84 Q F0(suppress further output)28.78 E F1(\\e)
-144 96 Q F0(an escape character)28.78 E F1(\\f)144 108 Q F0(form feed)
-29.89 E F1(\\n)144 120 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)
-144 132 Q F0(carriage return)28.78 E F1(\\t)144 144 Q F0(horizontal tab)
-29.89 E F1(\\v)144 156 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)144
-168 Q F0(backslash)30.44 E F1(\\0)144 180 Q/F2 10/Times-Italic@0 SF(nnn)
-A F0(the eight-bit character whose v)13.22 E(alue is the octal v)-.25 E
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
+(escape sequences:)144 84 Q/F1 10/Times-Bold@0 SF(\\a)144 96 Q F0
+(alert \(bell\))28.22 E F1(\\b)144 108 Q F0(backspace)27.66 E F1(\\c)144
+120 Q F0(suppress further output)28.78 E F1(\\e)144 132 Q(\\E)144 144 Q
+F0(an escape character)26.55 E F1(\\f)144 156 Q F0(form feed)29.89 E F1
+(\\n)144 168 Q F0(ne)27.66 E 2.5(wl)-.25 G(ine)-2.5 E F1(\\r)144 180 Q
+F0(carriage return)28.78 E F1(\\t)144 192 Q F0(horizontal tab)29.89 E F1
+(\\v)144 204 Q F0 -.15(ve)28.22 G(rtical tab).15 E F1(\\\\)144 216 Q F0
+(backslash)30.44 E F1(\\0)144 228 Q/F2 10/Times-Italic@0 SF(nnn)A F0
+(the eight-bit character whose v)13.22 E(alue is the octal v)-.25 E
(alue)-.25 E F2(nnn)2.5 E F0(\(zero to three octal digits\))2.5 E F1
-(\\x)144 192 Q F2(HH)A F0(the eight-bit character whose v)13.78 E
+(\\x)144 240 Q F2(HH)A F0(the eight-bit character whose v)13.78 E
(alue is the he)-.25 E(xadecimal v)-.15 E(alue)-.25 E F2(HH)2.5 E F0
(\(one or tw)2.5 E 2.5(oh)-.1 G .3 -.15(ex d)-2.5 H(igits\)).15 E F1
-(enable)108 208.8 Q F0([)2.5 E 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(Enable and disable b)144 220.8 R .278
-(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
-(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .833
-(the same name as a shell b)144 232.8 R .834(uiltin to be e)-.2 F -.15
+(\\u)144 252 Q F2(HHHH)A F0 1.506
+(the Unicode \(ISO/IEC 10646\) character whose v)180 264 R 1.507
+(alue is the he)-.25 F 1.507(xadecimal v)-.15 F(alue)-.25 E F2(HHHH)
+4.007 E F0(\(one to four he)180 276 Q 2.5(xd)-.15 G(igits\))-2.5 E F1
+(\\U)144 288 Q F2(HHHHHHHH)A F0 .548
+(the Unicode \(ISO/IEC 10646\) character whose v)180 300 R .547
+(alue is the he)-.25 F .547(xadecimal v)-.15 F(alue)-.25 E F2(HHHHH-)
+3.047 E(HHH)180 312 Q F0(\(one to eight he)2.5 E 2.5(xd)-.15 G(igits\))
+-2.5 E F1(enable)108 328.8 Q F0([)2.5 E F1<ad61>A F0 2.5(][)C F1
+(\255dnps)-2.5 E F0 2.5(][)C F1<ad66>-2.5 E F2(\214lename)2.5 E F0 2.5
+(][)C F2(name)-2.5 E F0(...])2.5 E .277(Enable and disable b)144 340.8 R
+.278(uiltin shell commands.)-.2 F .278(Disabling a b)5.278 F .278
+(uiltin allo)-.2 F .278(ws a disk command which has)-.25 F .834
+(the same name as a shell b)144 352.8 R .834(uiltin to be e)-.2 F -.15
(xe)-.15 G .834(cuted without specifying a full pathname, e).15 F -.15
-(ve)-.25 G 3.334(nt).15 G(hough)-3.334 E .99
-(the shell normally searches for b)144 244.8 R .989
-(uiltins before disk commands.)-.2 F(If)5.989 E 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 256.8 R F2(names)4.082 E F0 1.582(are enabled.)
+(ve)-.25 G 3.333(nt).15 G(hough)-3.333 E .989
+(the shell normally searches for b)144 364.8 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 376.8 R F2(names)4.082 E F0 1.582(are enabled.)
4.082 F -.15(Fo)6.582 G 4.082(re).15 G 1.582(xample, to use the)-4.232 F
F1(test)4.082 E F0 1.582(binary found via the)4.082 F/F3 9/Times-Bold@0
-SF -.666(PA)4.082 G(TH)-.189 E F0 .081(instead of the shell b)144 268.8
-R .081(uiltin v)-.2 F .081(ersion, run)-.15 F/F4 10/Courier@0 SF .081
-(enable -n test)2.581 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.58 E F0 .08
-(option means to load the ne)2.58 F(w)-.25 E -.2(bu)144 280.8 S 1.524
-(iltin command).2 F F2(name)4.384 E F0 1.524(from shared object)4.204 F
+SF -.666(PA)4.081 G(TH)-.189 E F0 .08(instead of the shell b)144 388.8 R
+.08(uiltin v)-.2 F .08(ersion, run)-.15 F/F4 10/Courier@0 SF .081
+(enable -n test)2.58 F F0 5.081(.T)C(he)-5.081 E F1<ad66>2.581 E F0 .081
+(option means to load the ne)2.581 F(w)-.25 E -.2(bu)144 400.8 S 1.525
+(iltin command).2 F F2(name)4.385 E F0 1.524(from shared object)4.204 F
F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
-(ystems that support dynamic loading.)-4.024 F(The)144 292.8 Q F1<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 304.8 R F1<ad70>
-2.898 E F0 .399(option is supplied, a list of shell b)2.899 F .399
+(ystems that support dynamic loading.)-4.024 F(The)144 412.8 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 424.8 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 .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
-316.8 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 328.8 R 1.916
-(uiltins, with an indication of whether or not each is)-.2 F 2.879
-(enabled. If)144 340.8 R 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 352.8 R F2(name)3.854 E F0 .994
-(is not a shell b)3.674 F .994(uiltin or there is an error loading a ne)
--.2 F 3.495(wb)-.25 G .995(uiltin from a shared)-3.695 F(object.)144
-364.8 Q F1 -2.3 -.15(ev a)108 381.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
-E F0(...])2.5 E(The)144 393.6 Q F2(ar)3.171 E(g)-.37 E F0 3.171(sa)C
-.671(re read and concatenated together into a single command.)-3.171 F
-.67(This command is then read)5.67 F .495(and e)144 405.6 R -.15(xe)-.15
-G .495(cuted by the shell, and its e).15 F .495
+F .398(guments, the)-.18 F .098(list consists of all enabled shell b)144
+436.8 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 448.8 R 1.916
+(uiltins, with an indication of whether or not each is)-.2 F 2.878
+(enabled. If)144 460.8 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 472.8 R F2(name)3.855 E F0 .994
+(is not a shell b)3.675 F .994(uiltin or there is an error loading a ne)
+-.2 F 3.494(wb)-.25 G .994(uiltin from a shared)-3.694 F(object.)144
+484.8 Q F1 -2.3 -.15(ev a)108 501.6 T(l).15 E F0([)2.5 E F2(ar)A(g)-.37
+E F0(...])2.5 E(The)144 513.6 Q F2(ar)3.17 E(g)-.37 E F0 3.17(sa)C .671
+(re read and concatenated together into a single command.)-3.17 F .671
+(This command is then read)5.671 F .495(and e)144 525.6 R -.15(xe)-.15 G
+.495(cuted by the shell, and its e).15 F .495
(xit status is returned as the v)-.15 F .495(alue of)-.25 F F1 -2.3 -.15
(ev a)2.995 H(l).15 E F0 5.495(.I)C 2.995(ft)-5.495 G .495(here are no)
--2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 417.6 Q
+-2.995 F F2(ar)2.995 E(gs)-.37 E F0(,).27 E(or only null ar)144 537.6 Q
(guments,)-.18 E F1 -2.3 -.15(ev a)2.5 H(l).15 E F0(returns 0.)2.5 E F1
-(exec)108 434.4 Q F0([)2.5 E F1(\255cl)A F0 2.5(][)C F1<ad61>-2.5 E F2
+(exec)108 554.4 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 446.4 Q F2(command)3.006 E F0 .306
-(is speci\214ed, it replaces the shell.)3.576 F .305(No ne)5.305 F 2.805
-(wp)-.25 G .305(rocess is created.)-2.805 F(The)5.305 E F2(ar)3.135 E
-(guments)-.37 E F0(become)3.075 E .176(the ar)144 458.4 R .176
+-.37 E F0(]])A(If)144 566.4 Q F2(command)3.005 E F0 .305
+(is speci\214ed, it replaces the shell.)3.575 F .305(No ne)5.305 F 2.805
+(wp)-.25 G .306(rocess is created.)-2.805 F(The)5.306 E F2(ar)3.136 E
+(guments)-.37 E F0(become)3.076 E .177(the ar)144 578.4 R .177
(guments to)-.18 F F2(command)2.676 E F0 5.176(.I)C 2.676(ft)-5.176 G
(he)-2.676 E 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 470.4 R .5(gument passed to)-.18
-F F2(command)3 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2(lo)2.999
-E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.499 E F1<ad63>2.999 E F0
-.499(option causes)2.999 F F2(com-)3.199 E(mand)144 482.4 Q F0 .638
-(to be e)3.908 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
+(option is supplied, the shell places a dash at the be)2.676 F .176
+(ginning of)-.15 F .499(the zeroth ar)144 590.4 R .499(gument passed to)
+-.18 F F2(command)2.999 E F0 5.499(.T).77 G .499(his is what)-5.499 F F2
+(lo)2.999 E(gin)-.1 E F0 .499(\(1\) does.).24 F(The)5.5 E F1<ad63>3 E F0
+.5(option causes)3 F F2(com-)3.2 E(mand)144 602.4 Q F0 .639(to be e)
+3.909 F -.15(xe)-.15 G .638(cuted with an empty en).15 F 3.138
(vironment. If)-.4 F 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 494.4 R 1.077(gument to the e)-.18 F -.15
+(is supplied, the shell passes)3.138 F F2(name)3.498 E F0 .638(as the)
+3.318 F 1.077(zeroth ar)144 614.4 R 1.077(gument to the e)-.18 F -.15
(xe)-.15 G 1.077(cuted command.).15 F(If)6.077 E F2(command)3.777 E F0
1.077(cannot be e)4.347 F -.15(xe)-.15 G 1.077(cuted for some reason, a)
-.15 F(non-interacti)144 506.4 Q .617 -.15(ve s)-.25 H .317(hell e).15 F
-.317(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .318
+.15 F(non-interacti)144 626.4 Q .618 -.15(ve s)-.25 H .318(hell e).15 F
+.318(xits, unless the shell option)-.15 F F1(execfail)2.817 E F0 .317
(is enabled, in which case it returns f)2.817 F(ail-)-.1 E 2.505
-(ure. An)144 518.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
+(ure. An)144 638.4 R(interacti)2.505 E .305 -.15(ve s)-.25 H .005
(hell returns f).15 F .005(ailure if the \214le cannot be e)-.1 F -.15
(xe)-.15 G 2.505(cuted. If).15 F F2(command)2.705 E F0 .005
-(is not speci\214ed,)3.275 F(an)144 530.4 Q 3.036(yr)-.15 G .536
-(edirections tak)-3.036 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
+(is not speci\214ed,)3.275 F(an)144 650.4 Q 3.037(yr)-.15 G .537
+(edirections tak)-3.037 F 3.036(ee)-.1 G -.25(ff)-3.036 G .536
(ect in the current shell, and the return status is 0.).25 F .536
-(If there is a redirection)5.536 F(error)144 542.4 Q 2.5(,t)-.4 G
-(he return status is 1.)-2.5 E F1(exit)108 559.2 Q F0([)2.5 E F2(n)A F0
-6.29(]C)C .096(ause the shell to e)-6.29 F .096(xit with a status of)
--.15 F F2(n)2.596 E F0 5.096(.I)C(f)-5.096 E F2(n)2.955 E F0 .095
-(is omitted, the e)2.835 F .095(xit status is that of the last command)
--.15 F -.15(exe)144 571.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5
+(If there is a redirection)5.536 F(error)144 662.4 Q 2.5(,t)-.4 G
+(he return status is 1.)-2.5 E F1(exit)108 679.2 Q F0([)2.5 E F2(n)A F0
+6.29(]C)C .095(ause the shell to e)-6.29 F .095(xit with a status of)
+-.15 F F2(n)2.595 E F0 5.095(.I)C(f)-5.095 E F2(n)2.955 E F0 .096
+(is omitted, the e)2.835 F .096(xit status is that of the last command)
+-.15 F -.15(exe)144 691.2 S 2.5(cuted. A).15 F(trap on)2.5 E F3(EXIT)2.5
E F0(is e)2.25 E -.15(xe)-.15 G(cuted before the shell terminates.).15 E
-F1(export)108 588 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G F2(name)-2.5
-E F0([=)A F2(wor)A(d)-.37 E F0(]] ...)A F1(export \255p)108 600 Q F0
-.256(The supplied)144 612 R F2(names)3.117 E F0 .257(are mark)3.027 F
-.257(ed for automatic e)-.1 F .257(xport to the en)-.15 F .257
-(vironment of subsequently e)-.4 F -.15(xe)-.15 G(cuted).15 E 2.627
-(commands. If)144 624 R(the)2.627 E F1<ad66>2.627 E F0 .127
-(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2(names)2.987 E
-F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2(names)2.987 E
-F0 .127(are gi)2.897 F -.15(ve)-.25 G .126(n, or if the).15 F F1<ad70>
-144 636 Q F0 .659(option is supplied, a list of all names that are e)
-3.159 F .66(xported in this shell is printed.)-.15 F(The)5.66 E F1<ad6e>
-3.16 E F0(option)3.16 E 1.587(causes the e)144 648 R 1.587
-(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
-(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
-1.586(ariable name is follo)-4.336 F 1.586(wed by)-.25 F(=)144 660 Q F2
-(wor)A(d)-.37 E F0 2.803(,t)C .303(he v)-2.803 F .303(alue of the v)-.25
-F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
-(export)5.304 E F0 .304(returns an e)2.804 F .304
-(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .294
-(option is encountered, one of the)144 672 R F2(names)2.793 E F0 .293
-(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
-F F1<ad66>2.793 E F0 .293(is supplied with a)2.793 F F2(name)144.36 684
-Q F0(that is not a function.)2.68 E F1(fc)108 700.8 Q F0([)2.5 E F1
-<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
-<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A(GNU Bash-4.0)72
-768 Q(2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(7)203.725 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(fc \255s)108 84 Q F0([)2.5 E/F2 10/Times-Italic@0 SF
-(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2(cmd)-2.5 E F0(])A .477
-(Fix Command.)144 96 R .478
-(In the \214rst form, a range of commands from)5.477 F F2<8c72>4.888 E
-(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .478
-(is selected from the his-)3.658 F .882(tory list.)144 108 R F2 -.45(Fi)
-5.882 G -.1(rs).45 G(t).1 E F0(and)4.062 E F2(last)3.472 E F0 .882
+/Times-Bold@0 SF(export)108 84 Q F0([)2.5 E F1(\255fn)A F0 2.5(][).833 G
+/F2 10/Times-Italic@0 SF(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E F0
+(]] ...)A F1(export \255p)108 96 Q F0 .257(The supplied)144 108 R F2
+(names)3.117 E F0 .257(are mark)3.027 F .257(ed for automatic e)-.1 F
+.257(xport to the en)-.15 F .257(vironment of subsequently e)-.4 F -.15
+(xe)-.15 G(cuted).15 E 2.626(commands. If)144 120 R(the)2.626 E F1<ad66>
+2.626 E F0 .127(option is gi)2.627 F -.15(ve)-.25 G .127(n, the).15 F F2
+(names)2.987 E F0 .127(refer to functions.)2.897 F .127(If no)5.127 F F2
+(names)2.987 E F0 .127(are gi)2.897 F -.15(ve)-.25 G .127(n, or if the)
+.15 F F1<ad70>144 132 Q F0 .66
+(option is supplied, a list of all names that are e)3.16 F .659
+(xported in this shell is printed.)-.15 F(The)5.659 E F1<ad6e>3.159 E F0
+(option)3.159 E 1.586(causes the e)144 144 R 1.586
+(xport property to be remo)-.15 F -.15(ve)-.15 G 4.086(df).15 G 1.586
+(rom each)-4.086 F F2(name)4.086 E F0 6.586(.I)C 4.086(fav)-6.586 G
+1.587(ariable name is follo)-4.336 F 1.587(wed by)-.25 F(=)144 156 Q F2
+(wor)A(d)-.37 E F0 2.804(,t)C .304(he v)-2.804 F .304(alue of the v)-.25
+F .304(ariable is set to)-.25 F F2(wor)2.804 E(d)-.37 E F0(.)A F1
+(export)5.304 E F0 .304(returns an e)2.804 F .303
+(xit status of 0 unless an in)-.15 F -.25(va)-.4 G(lid).25 E .293
+(option is encountered, one of the)144 168 R F2(names)2.793 E F0 .293
+(is not a v)2.793 F .293(alid shell v)-.25 F .293(ariable name, or)-.25
+F F1<ad66>2.793 E F0 .294(is supplied with a)2.793 F F2(name)144.36 180
+Q F0(that is not a function.)2.68 E F1(fc)108 196.8 Q F0([)2.5 E F1
+<ad65>A F2(ename)2.5 E F0 2.5(][)C F1(\255lnr)-2.5 E F0 2.5(][)C F2
+<8c72>-2.5 E(st)-.1 E F0 2.5(][)C F2(last)-2.5 E F0(])A F1(fc \255s)108
+208.8 Q F0([)2.5 E F2(pat)A F0(=)A F2 -.37(re)C(p).37 E F0 2.5(][)C F2
+(cmd)-2.5 E F0(])A .478(Fix Command.)144 220.8 R .478
+(In the \214rst form, a range of commands from)5.478 F F2<8c72>4.888 E
+(st)-.1 E F0(to)3.658 E F2(last)3.068 E F0 .477
+(is selected from the his-)3.658 F .881(tory list.)144 232.8 R F2 -.45
+(Fi)5.881 G -.1(rs).45 G(t).1 E F0(and)4.061 E F2(last)3.471 E F0 .882
(may be speci\214ed as a string \(to locate the last command be)4.062 F
-.881(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
-120 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
--.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .797(umber is used as an)
-.15 F(of)144 132 Q .277(fset from the current command number\).)-.25 F
-(If)5.277 E F2(last)2.867 E F0 .276
-(is not speci\214ed it is set to the current command)3.457 F .092
-(for listing \(so that)144 144 R/F3 10/Courier@0 SF .092
+.882(ginning with)-.15 F .797(that string\) or as a number \(an inde)144
+244.8 R 3.297(xi)-.15 G .797(nto the history list, where a ne)-3.297 F
+-.05(ga)-.15 G(ti).05 E 1.097 -.15(ve n)-.25 H .796(umber is used as an)
+.15 F(of)144 256.8 Q .276(fset from the current command number\).)-.25 F
+(If)5.276 E F2(last)2.866 E F0 .277
+(is not speci\214ed it is set to the current command)3.456 F .093
+(for listing \(so that)144 268.8 R/F3 10/Courier@0 SF .092
(fc \255l \25510)2.592 F F0 .092(prints the last 10 commands\) and to)
2.592 F F2<8c72>4.502 E(st)-.1 E F0 2.592(otherwise. If)3.272 F F2<8c72>
-4.502 E(st)-.1 E F0 .093(is not)3.273 F
-(speci\214ed it is set to the pre)144 156 Q
-(vious command for editing and \25516 for listing.)-.25 E(The)144 180 Q
-F1<ad6e>2.522 E F0 .022
+4.502 E(st)-.1 E F0 .092(is not)3.272 F
+(speci\214ed it is set to the pre)144 280.8 Q
+(vious command for editing and \25516 for listing.)-.25 E(The)144 304.8
+Q F1<ad6e>2.522 E F0 .022
(option suppresses the command numbers when listing.)2.522 F(The)5.022 E
F1<ad72>2.522 E F0 .022(option re)2.522 F -.15(ve)-.25 G .022
-(rses the order of).15 F .438(the commands.)144 192 R .438(If the)5.438
-F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
+(rses the order of).15 F .438(the commands.)144 316.8 R .438(If the)
+5.438 F F1<ad6c>2.938 E F0 .438(option is gi)2.938 F -.15(ve)-.25 G .438
(n, the commands are listed on standard output.).15 F(Otherwise,)5.438 E
-.335(the editor gi)144 204 R -.15(ve)-.25 G 2.835(nb).15 G(y)-2.835 E F2
-(ename)3.025 E F0 .335(is in)3.015 F -.2(vo)-.4 G -.1(ke).2 G 2.835(do)
-.1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835 F
-(If)5.334 E F2(ename)3.024 E F0 .334(is not gi)3.014 F -.15(ve)-.25 G
-(n,).15 E .63(the v)144 216 R .63(alue of the)-.25 F/F4 9/Times-Bold@0
-SF(FCEDIT)3.13 E F0 -.25(va)2.88 G .631(riable is used, and the v).25 F
-.631(alue of)-.25 F F4(EDIT)3.131 E(OR)-.162 E F0(if)2.881 E F4(FCEDIT)
-3.131 E F0 .631(is not set.)2.881 F .631(If nei-)5.631 F 1.884(ther v)
-144 228 R 1.884(ariable is set, is used.)-.25 F 1.884
+.334(the editor gi)144 328.8 R -.15(ve)-.25 G 2.834(nb).15 G(y)-2.834 E
+F2(ename)3.024 E F0 .335(is in)3.014 F -.2(vo)-.4 G -.1(ke).2 G 2.835
+(do).1 G 2.835(na\214)-2.835 G .335(le containing those commands.)-2.835
+F(If)5.335 E F2(ename)3.025 E F0 .335(is not gi)3.015 F -.15(ve)-.25 G
+(n,).15 E .631(the v)144 340.8 R .631(alue of the)-.25 F/F4 9
+/Times-Bold@0 SF(FCEDIT)3.131 E F0 -.25(va)2.881 G .631
+(riable is used, and the v).25 F .631(alue of)-.25 F F4(EDIT)3.131 E(OR)
+-.162 E F0(if)2.881 E F4(FCEDIT)3.13 E F0 .63(is not set.)2.88 F .63
+(If nei-)5.63 F 1.884(ther v)144 352.8 R 1.884(ariable is set, is used.)
+-.25 F 1.884
(When editing is complete, the edited commands are echoed and)6.884 F
--.15(exe)144 240 S(cuted.).15 E .039(In the second form,)144 264 R F2
-(command)2.539 E F0 .039(is re-e)2.539 F -.15(xe)-.15 G .039
-(cuted after each instance of).15 F F2(pat)2.54 E F0 .04(is replaced by)
-2.54 F F2 -.37(re)2.54 G(p).37 E F0 5.04(.A)C(useful)-2.5 E .406
-(alias to use with this is)144 276 R F3 .406(r='fc \255s')2.906 F F0
-2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3 6.406(rc)2.906
-G(c)-6.406 E F0 .406(runs the last command be)2.906 F .406(ginning with)
--.15 F F3(cc)144 288 Q F0(and typing)2.5 E F3(r)2.5 E F0(re-e)2.5 E -.15
-(xe)-.15 G(cutes the last command.).15 E .142
-(If the \214rst form is used, the return v)144 312 R .142
+-.15(exe)144 364.8 S(cuted.).15 E .04(In the second form,)144 388.8 R F2
+(command)2.54 E F0 .04(is re-e)2.54 F -.15(xe)-.15 G .039
+(cuted after each instance of).15 F F2(pat)2.539 E F0 .039
+(is replaced by)2.539 F F2 -.37(re)2.539 G(p).37 E F0 5.039(.A)C(useful)
+-2.5 E .406(alias to use with this is)144 400.8 R F3 .406(r='fc \255s')
+2.906 F F0 2.906(,s)C 2.906(ot)-2.906 G .406(hat typing)-2.906 F F3
+6.406(rc)2.906 G(c)-6.406 E F0 .406(runs the last command be)2.906 F
+.407(ginning with)-.15 F F3(cc)144 412.8 Q F0(and typing)2.5 E F3(r)2.5
+E F0(re-e)2.5 E -.15(xe)-.15 G(cutes the last command.).15 E .142
+(If the \214rst form is used, the return v)144 436.8 R .142
(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
(lid option is encountered or).25 F F2<8c72>4.552 E(st)-.1 E F0(or)3.322
-E F2(last)2.732 E F0 .455(specify history lines out of range.)144 324 R
-.454(If the)5.454 F F1<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 336 R -.15(xe)-.15 G .787
-(cuted or f).15 F .788
+E F2(last)2.732 E F0 .454(specify history lines out of range.)144 448.8
+R .454(If the)5.454 F F1<ad65>2.954 E F0 .454
+(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
+(alue of the)-.25 F .788(last command e)144 460.8 R -.15(xe)-.15 G .788
+(cuted or f).15 F .787
(ailure if an error occurs with the temporary \214le of commands.)-.1 F
-.788(If the)5.788 F 1.136
+.787(If the)5.787 F 1.135
(second form is used, the return status is that of the command re-e)144
-348 R -.15(xe)-.15 G 1.135(cuted, unless).15 F F2(cmd)3.835 E F0 1.135
-(does not)4.405 F(specify a v)144 360 Q
+472.8 R -.15(xe)-.15 G 1.136(cuted, unless).15 F F2(cmd)3.836 E F0 1.136
+(does not)4.406 F(specify a v)144 484.8 Q
(alid history line, in which case)-.25 E F1(fc)2.5 E F0(returns f)2.5 E
-(ailure.)-.1 E F1(fg)108 376.8 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
-144 388.8 Q F2(jobspec)5.653 E F0 1.413(in the fore)4.223 F 1.413
+(ailure.)-.1 E F1(fg)108 501.6 Q F0([)2.5 E F2(jobspec)A F0(])A(Resume)
+144 513.6 Q F2(jobspec)5.654 E F0 1.413(in the fore)4.224 F 1.413
(ground, and mak)-.15 F 3.913(ei)-.1 G 3.913(tt)-3.913 G 1.413
(he current job)-3.913 F 6.413(.I)-.4 G(f)-6.413 E F2(jobspec)5.653 E F0
-1.414(is not present, the)4.223 F(shell')144 400.8 Q 3.117(sn)-.55 G
-.617(otion of the)-3.117 F F2(curr)3.117 E .617(ent job)-.37 F F0 .617
-(is used.)3.117 F .617(The return v)5.617 F .616
-(alue is that of the command placed into the)-.25 F(fore)144 412.8 Q
-.362(ground, or f)-.15 F .362
-(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .363
-(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 424.8 Q
-F0 .004(does not specify a v)2.815 F .004(alid job or)-.25 F F2(jobspec)
+1.413(is not present, the)4.223 F(shell')144 525.6 Q 3.116(sn)-.55 G
+.616(otion of the)-3.116 F F2(curr)3.116 E .616(ent job)-.37 F F0 .617
+(is used.)3.116 F .617(The return v)5.617 F .617
+(alue is that of the command placed into the)-.25 F(fore)144 537.6 Q
+.363(ground, or f)-.15 F .363
+(ailure if run when job control is disabled or)-.1 F 2.862(,w)-.4 G .362
+(hen run with job control enabled, if)-2.862 F F2(jobspec)145.74 549.6 Q
+F0 .004(does not specify a v)2.814 F .004(alid job or)-.25 F F2(jobspec)
4.244 E F0 .004(speci\214es a job that w)2.814 F .004
-(as started without job control.)-.1 F F1(getopts)108 441.6 Q F2
+(as started without job control.)-.1 F F1(getopts)108 566.4 Q F2
(optstring name)2.5 E F0([)2.5 E F2(ar)A(gs)-.37 E F0(])A F1(getopts)144
-453.6 Q F0 .793
-(is used by shell procedures to parse positional parameters.)3.293 F F2
-(optstring)6.023 E F0 .793(contains the option)3.513 F .15
-(characters to be recognized; if a character is follo)144 465.6 R .149
-(wed by a colon, the option is e)-.25 F .149(xpected to ha)-.15 F .449
--.15(ve a)-.2 H(n).15 E(ar)144 477.6 Q .578
-(gument, which should be separated from it by white space.)-.18 F .579
+578.4 Q F0 .793
+(is used by shell procedures to parse positional parameters.)3.294 F F2
+(optstring)6.023 E F0 .793(contains the option)3.513 F .149
+(characters to be recognized; if a character is follo)144 590.4 R .15
+(wed by a colon, the option is e)-.25 F .15(xpected to ha)-.15 F .45
+-.15(ve a)-.2 H(n).15 E(ar)144 602.4 Q .579
+(gument, which should be separated from it by white space.)-.18 F .578
(The colon and question mark char)5.579 F(-)-.2 E 1.665
-(acters may not be used as option characters.)144 489.6 R 1.665
+(acters may not be used as option characters.)144 614.4 R 1.665
(Each time it is in)6.665 F -.2(vo)-.4 G -.1(ke).2 G(d,).1 E F1(getopts)
-4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .796
-(option in the shell v)144 501.6 R(ariable)-.25 E F2(name)3.296 E F0
-3.296(,i).18 G(nitializing)-3.296 E F2(name)3.657 E F0 .797
-(if it does not e)3.477 F .797(xist, and the inde)-.15 F 3.297(xo)-.15 G
-3.297(ft)-3.297 G .797(he ne)-3.297 F(xt)-.15 E(ar)144 513.6 Q .085
+4.165 E F0 1.665(places the ne)4.165 F(xt)-.15 E .797
+(option in the shell v)144 626.4 R(ariable)-.25 E F2(name)3.297 E F0
+3.297(,i).18 G(nitializing)-3.297 E F2(name)3.657 E F0 .797
+(if it does not e)3.477 F .796(xist, and the inde)-.15 F 3.296(xo)-.15 G
+3.296(ft)-3.296 G .796(he ne)-3.296 F(xt)-.15 E(ar)144 638.4 Q .085
(gument to be processed into the v)-.18 F(ariable)-.25 E F4(OPTIND)2.585
E/F5 9/Times-Roman@0 SF(.)A F4(OPTIND)4.585 E F0 .085
-(is initialized to 1 each time the shell)2.335 F .845
-(or a shell script is in)144 525.6 R -.2(vo)-.4 G -.1(ke).2 G 3.345
+(is initialized to 1 each time the shell)2.335 F .846
+(or a shell script is in)144 650.4 R -.2(vo)-.4 G -.1(ke).2 G 3.345
(d. When).1 F .845(an option requires an ar)3.345 F(gument,)-.18 E F1
-(getopts)3.346 E F0 .846(places that ar)3.346 F(gument)-.18 E .804
-(into the v)144 537.6 R(ariable)-.25 E F4(OPT)3.304 E(ARG)-.81 E F5(.)A
-F0 .803(The shell does not reset)5.304 F F4(OPTIND)3.303 E F0 .803
-(automatically; it must be manually)3.053 F .293
-(reset between multiple calls to)144 549.6 R F1(getopts)2.793 E F0 .293
+(getopts)3.345 E F0 .845(places that ar)3.345 F(gument)-.18 E .803
+(into the v)144 662.4 R(ariable)-.25 E F4(OPT)3.303 E(ARG)-.81 E F5(.)A
+F0 .803(The shell does not reset)5.303 F F4(OPTIND)3.303 E F0 .804
+(automatically; it must be manually)3.054 F .294
+(reset between multiple calls to)144 674.4 R F1(getopts)2.793 E F0 .293
(within the same shell in)2.793 F -.2(vo)-.4 G .293(cation if a ne).2 F
-2.793(ws)-.25 G .294(et of parameters)-2.793 F(is to be used.)144 561.6
-Q 2.044(When the end of options is encountered,)144 585.6 R F1(getopts)
-4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.043
-(alue greater than zero.)-.25 F F4(OPTIND)144 597.6 Q F0
+2.793(ws)-.25 G .293(et of parameters)-2.793 F(is to be used.)144 686.4
+Q 2.043(When the end of options is encountered,)144 710.4 R F1(getopts)
+4.543 E F0 -.15(ex)4.543 G 2.043(its with a return v).15 F 2.044
+(alue greater than zero.)-.25 F F4(OPTIND)144 722.4 Q F0
(is set to the inde)2.25 E 2.5(xo)-.15 G 2.5(ft)-2.5 G
-(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F1(name)2.5 E F0
-(is set to ?.)2.5 E F1(getopts)144 621.6 Q F0 2.392
-(normally parses the positional parameters, b)4.892 F 2.392
-(ut if more ar)-.2 F 2.393(guments are gi)-.18 F -.15(ve)-.25 G 4.893
-(ni).15 G(n)-4.893 E F2(ar)4.893 E(gs)-.37 E F0(,).27 E F1(getopts)144
-633.6 Q F0(parses those instead.)2.5 E F1(getopts)144 657.6 Q F0 1.166
-(can report errors in tw)3.666 F 3.665(ow)-.1 G 3.665(ays. If)-3.765 F
-1.165(the \214rst character of)3.665 F F2(optstring)3.895 E F0 1.165
-(is a colon,)3.885 F F2(silent)4.005 E F0(error)4.345 E 1.263
-(reporting is used.)144 669.6 R 1.263
-(In normal operation diagnostic messages are printed when in)6.263 F
--.25(va)-.4 G 1.263(lid options or).25 F .394(missing option ar)144
-681.6 R .394(guments are encountered.)-.18 F .394(If the v)5.394 F
-(ariable)-.25 E F4(OPTERR)2.894 E F0 .394
-(is set to 0, no error messages)2.644 F(will be displayed, e)144 693.6 Q
--.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
-F2(optstring)2.73 E F0(is not a colon.)2.72 E .666(If an in)144 717.6 R
--.25(va)-.4 G .666(lid option is seen,).25 F F1(getopts)3.166 E F0 .667
-(places ? into)3.167 F F2(name)3.527 E F0 .667
-(and, if not silent, prints an error message)3.347 F .4(and unsets)144
-729.6 R F4(OPT)2.9 E(ARG)-.81 E F5(.)A F0(If)4.899 E F1(getopts)2.899 E
-F0 .399(is silent, the option character found is placed in)2.899 F F4
-(OPT)2.899 E(ARG)-.81 E F0 .399(and no)2.649 F(GNU Bash-4.0)72 768 Q
-(2004 Apr 20)148.735 E(8)203.725 E 0 Cg EP
+(he \214rst non-option ar)-2.5 E(gument, and)-.18 E F2(name)2.5 E F0
+(is set to ?.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(8)
+203.725 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
-(diagnostic message is printed.)144 84 Q 1.241(If a required ar)144 108
-R 1.241(gument is not found, and)-.18 F/F1 10/Times-Bold@0 SF(getopts)
-3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1(?).833 E
-F0 3.742(\)i).833 G 3.742(sp)-3.742 G 1.242(laced in)-3.742 F/F2 10
-/Times-Italic@0 SF(name)144 120 Q F0(,).18 E/F3 9/Times-Bold@0 SF(OPT)
-2.735 E(ARG)-.81 E F0 .234
-(is unset, and a diagnostic message is printed.)2.485 F(If)5.234 E F1
-(getopts)2.734 E F0 .234(is silent, then a colon \()2.734 F F1(:).833 E
-F0(\)).833 E(is placed in)144 132 Q F2(name)2.86 E F0(and)2.68 E F3(OPT)
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(getopts)144 84 Q F0 2.393
+(normally parses the positional parameters, b)4.893 F 2.392
+(ut if more ar)-.2 F 2.392(guments are gi)-.18 F -.15(ve)-.25 G 4.892
+(ni).15 G(n)-4.892 E/F2 10/Times-Italic@0 SF(ar)4.892 E(gs)-.37 E F0(,)
+.27 E F1(getopts)144 96 Q F0(parses those instead.)2.5 E F1(getopts)144
+120 Q F0 1.165(can report errors in tw)3.665 F 3.665(ow)-.1 G 3.665
+(ays. If)-3.765 F 1.165(the \214rst character of)3.665 F F2(optstring)
+3.895 E F0 1.166(is a colon,)3.886 F F2(silent)4.006 E F0(error)4.346 E
+1.264(reporting is used.)144 132 R 1.263
+(In normal operation diagnostic messages are printed when in)6.263 F
+-.25(va)-.4 G 1.263(lid options or).25 F .393(missing option ar)144 144
+R .393(guments are encountered.)-.18 F .394(If the v)5.394 F(ariable)
+-.25 E/F3 9/Times-Bold@0 SF(OPTERR)2.894 E F0 .394
+(is set to 0, no error messages)2.644 F(will be displayed, e)144 156 Q
+-.15(ve)-.25 G 2.5(ni).15 G 2.5(ft)-2.5 G(he \214rst character of)-2.5 E
+F2(optstring)2.73 E F0(is not a colon.)2.72 E .667(If an in)144 180 R
+-.25(va)-.4 G .667(lid option is seen,).25 F F1(getopts)3.167 E F0 .667
+(places ? into)3.167 F F2(name)3.527 E F0 .666
+(and, if not silent, prints an error message)3.347 F .399(and unsets)144
+192 R F3(OPT)2.899 E(ARG)-.81 E/F4 9/Times-Roman@0 SF(.)A F0(If)4.899 E
+F1(getopts)2.899 E F0 .399
+(is silent, the option character found is placed in)2.899 F F3(OPT)2.899
+E(ARG)-.81 E F0 .4(and no)2.65 F(diagnostic message is printed.)144 204
+Q 1.242(If a required ar)144 228 R 1.242(gument is not found, and)-.18 F
+F1(getopts)3.741 E F0 1.241(is not silent, a question mark \()3.741 F F1
+(?).833 E F0 3.741(\)i).833 G 3.741(sp)-3.741 G 1.241(laced in)-3.741 F
+F2(name)144 240 Q F0(,).18 E F3(OPT)2.734 E(ARG)-.81 E F0 .234
+(is unset, and a diagnostic message is printed.)2.484 F(If)5.234 E F1
+(getopts)2.734 E F0 .235(is silent, then a colon \()2.734 F F1(:).833 E
+F0(\)).833 E(is placed in)144 252 Q F2(name)2.86 E F0(and)2.68 E F3(OPT)
2.5 E(ARG)-.81 E F0(is set to the option character found.)2.25 E F1
-(getopts)144 156 Q F0 .902
+(getopts)144 276 Q F0 .902
(returns true if an option, speci\214ed or unspeci\214ed, is found.)
-3.401 F .902(It returns f)5.902 F .902(alse if the end of)-.1 F
-(options is encountered or an error occurs.)144 168 Q F1(hash)108 184.8
+3.402 F .902(It returns f)5.902 F .901(alse if the end of)-.1 F
+(options is encountered or an error occurs.)144 288 Q F1(hash)108 304.8
Q F0([)2.5 E F1(\255lr)A F0 2.5(][)C F1<ad70>-2.5 E F2(\214lename)2.5 E
-F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A -.15(Fo)
-144 196.8 S 3.555(re).15 G(ach)-3.555 E F2(name)3.555 E F0 3.555(,t).18
-G 1.054(he full \214le name of the command is determined by searching t\
-he directories in)-3.555 F F1($P)144 208.8 Q -.95(AT)-.74 G(H).95 E F0
-.349(and remembered.)2.849 F .349(If the)5.349 F F1<ad70>2.849 E F0 .349
-(option is supplied, no path search is performed, and)2.849 F F2
-(\214lename)4.76 E F0 .452
-(is used as the full \214le name of the command.)144 220.8 R(The)5.452 E
-F1<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 232.8 R(The)5.592 E F1
-<ad64>3.092 E F0 .593(option causes the shell to for)3.092 F .593
-(get the remembered location of each)-.18 F F2(name)3.093 E F0(.)A .021
-(If the)144 244.8 R F1<ad74>2.521 E F0 .021
-(option is supplied, the full pathname to which each)2.521 F F2(name)
-2.52 E F0 .02(corresponds is printed.)2.52 F .02(If multi-)5.02 F(ple)
-144 256.8 Q F2(name)3.703 E F0(ar)3.703 E 1.203
-(guments are supplied with)-.18 F F1<ad74>3.703 E F0 3.703(,t)C(he)
--3.703 E F2(name)3.703 E F0 1.204
-(is printed before the hashed full pathname.)3.703 F(The)144 268.8 Q F1
-<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 280.8 R -.15(ve)-.25 G 1.183(n, or if only).15 F
-F1<ad6c>3.683 E F0 1.184
-(is supplied, information about remembered commands is printed.)3.684 F
-(The return status is true unless a)144 292.8 Q F2(name)2.86 E F0
-(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.).25
-E F1(help)108 309.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2(pattern)
--2.5 E F0(])A .867(Display helpful information about b)144 321.6 R .867
-(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0 .866
-(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25 G
-3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144
-333.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307
+F0 2.5(][)C F1(\255dt)-2.5 E F0 2.5(][)C F2(name)-2.5 E F0(])A .858
+(Each time)144 316.8 R F1(hash)3.358 E F0 .858(is in)3.358 F -.2(vo)-.4
+G -.1(ke).2 G .858(d, the full pathname of the command).1 F F2(name)
+3.718 E F0 .858(is determined by searching)3.538 F .956
+(the directories in)144 328.8 R F1($P)3.456 E -.95(AT)-.74 G(H).95 E F0
+.956(and remembered.)3.456 F(An)5.956 E 3.456(yp)-.15 G(re)-3.456 E .956
+(viously-remembered pathname is discarded.)-.25 F .098(If the)144 340.8
+R F1<ad70>2.598 E F0 .098
+(option is supplied, no path search is performed, and)2.598 F F2
+(\214lename)4.509 E F0 .099(is used as the full \214le name)2.779 F
+1.712(of the command.)144 352.8 R(The)6.712 E F1<ad72>4.212 E F0 1.711
+(option causes the shell to for)4.212 F 1.711
+(get all remembered locations.)-.18 F(The)6.711 E F1<ad64>4.211 E F0
+.833(option causes the shell to for)144 364.8 R .833
+(get the remembered location of each)-.18 F F2(name)3.333 E F0 5.833(.I)
+C 3.333(ft)-5.833 G(he)-3.333 E F1<ad74>3.333 E F0 .833(option is sup-)
+3.333 F .704(plied, the full pathname to which each)144 376.8 R F2(name)
+3.204 E F0 .703(corresponds is printed.)3.204 F .703(If multiple)5.703 F
+F2(name)3.203 E F0(ar)3.203 E(guments)-.18 E .795(are supplied with)144
+388.8 R F1<ad74>3.295 E F0 3.295(,t)C(he)-3.295 E F2(name)3.295 E F0
+.795(is printed before the hashed full pathname.)3.295 F(The)5.795 E F1
+<ad6c>3.295 E F0 .795(option causes)3.295 F .934
+(output to be displayed in a format that may be reused as input.)144
+400.8 R .934(If no ar)5.934 F .934(guments are gi)-.18 F -.15(ve)-.25 G
+.934(n, or if).15 F(only)144 412.8 Q F1<ad6c>2.821 E F0 .321
+(is supplied, information about remembered commands is printed.)2.821 F
+.322(The return status is true)5.322 F(unless a)144 424.8 Q F2(name)2.86
+E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
+.25 E F1(help)108 441.6 Q F0([)2.5 E F1(\255dms)A F0 2.5(][)C F2
+(pattern)-2.5 E F0(])A .867(Display helpful information about b)144
+453.6 R .867(uiltin commands.)-.2 F(If)5.867 E F2(pattern)4.617 E F0
+.866(is speci\214ed,)3.607 F F1(help)3.366 E F0(gi)3.366 E -.15(ve)-.25
+G 3.366(sd).15 G(etailed)-3.366 E .306(help on all commands matching)144
+465.6 R F2(pattern)2.806 E F0 2.807(;o).24 G .307
(therwise help for all the b)-2.807 F .307
-(uiltins and shell control struc-)-.2 F(tures is printed.)144 345.6 Q F1
-<ad64>144 357.6 Q F0(Display a short description of each)24.74 E F2
-(pattern)2.5 E F1<ad6d>144 369.6 Q F0(Display the description of each)
+(uiltins and shell control struc-)-.2 F(tures is printed.)144 477.6 Q F1
+<ad64>144 489.6 Q F0(Display a short description of each)24.74 E F2
+(pattern)2.5 E F1<ad6d>144 501.6 Q F0(Display the description of each)
21.97 E F2(pattern)2.5 E F0(in a manpage-lik)2.5 E 2.5(ef)-.1 G(ormat)
--2.5 E F1<ad73>144 381.6 Q F0
+-2.5 E F1<ad73>144 513.6 Q F0
(Display only a short usage synopsis for each)26.41 E F2(pattern)2.5 E
-F0(The return status is 0 unless no command matches)108 393.6 Q F2
-(pattern)2.5 E F0(.).24 E F1(history [)108 410.4 Q F2(n)A F1(])A
-(history \255c)108 422.4 Q(history \255d)108 434.4 Q F2(of)2.5 E(fset)
--.18 E F1(history \255anrw)108 446.4 Q F0([)2.5 E F2(\214lename)A F0(])A
-F1(history \255p)108 458.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
-(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 470.4 Q F2(ar)2.5 E(g)
+F0(The return status is 0 unless no command matches)108 525.6 Q F2
+(pattern)2.5 E F0(.).24 E F1(history [)108 542.4 Q F2(n)A F1(])A
+(history \255c)108 554.4 Q(history \255d)108 566.4 Q F2(of)2.5 E(fset)
+-.18 E F1(history \255anrw)108 578.4 Q F0([)2.5 E F2(\214lename)A F0(])A
+F1(history \255p)108 590.4 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A 2.5
+(g.)-.37 G(..)-2.5 E F0(])A F1(history \255s)108 602.4 Q F2(ar)2.5 E(g)
-.37 E F0([)2.5 E F2(ar)A 2.5(g.)-.37 G(..)-2.5 E F0(])A -.4(Wi)144
-482.4 S .752
+614.4 S .752
(th no options, display the command history list with line numbers.).4 F
.752(Lines listed with a)5.752 F F1(*)3.251 E F0(ha)3.251 E -.15(ve)-.2
-G .38(been modi\214ed.)144 494.4 R .38(An ar)5.38 F .38(gument of)-.18 F
+G .38(been modi\214ed.)144 626.4 R .38(An ar)5.38 F .38(gument of)-.18 F
F2(n)3.24 E F0 .38(lists only the last)3.12 F F2(n)3.24 E F0 2.88
(lines. If)3.12 F .38(the shell v)2.88 F(ariable)-.25 E F3(HISTTIMEFOR-)
-2.881 E(MA)144 506.4 Q(T)-.855 E F0 .265
+2.881 E(MA)144 638.4 Q(T)-.855 E F0 .265
(is set and not null, it is used as a format string for)2.515 F F2
(strftime)2.764 E F0 .264(\(3\) to display the time stamp asso-)B 1.019
-(ciated with each displayed history entry)144 518.4 R 6.019(.N)-.65 G
+(ciated with each displayed history entry)144 650.4 R 6.019(.N)-.65 G
3.519(oi)-6.019 G(nterv)-3.519 E 1.019
(ening blank is printed between the formatted)-.15 F .176
-(time stamp and the history line.)144 530.4 R(If)5.176 E F2(\214lename)
+(time stamp and the history line.)144 662.4 R(If)5.176 E F2(\214lename)
2.676 E F0 .176
(is supplied, it is used as the name of the history \214le; if)2.676 F
-(not, the v)144 542.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.)
+(not, the v)144 674.4 Q(alue of)-.25 E F3(HISTFILE)2.5 E F0(is used.)
2.25 E(Options, if supplied, ha)5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad63>144 554.4 Q F0
+(wing meanings:)-.25 E F1<ad63>144 686.4 Q F0
(Clear the history list by deleting all the entries.)25.86 E F1<ad64>144
-566.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
-180 578.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A F1<ad61>144 590.4 Q F0 .598
-(Append the `)25.3 F(`ne)-.74 E(w')-.25 E 3.098('h)-.74 G .598
-(istory lines \(history lines entered since the be)-3.098 F .599
-(ginning of the current)-.15 F F1(bash)180 602.4 Q F0
-(session\) to the history \214le.)2.5 E F1<ad6e>144 614.4 Q F0 .854(Rea\
-d the history lines not already read from the history \214le into the c\
-urrent history list.)24.74 F .772
-(These are lines appended to the history \214le since the be)180 626.4 R
-.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
-(sion.)180 638.4 Q F1<ad72>144 650.4 Q F0(Read the contents of the hist\
-ory \214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>
-144 662.4 Q F0(Write the current history to the history \214le, o)23.08
-E -.15(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G
-(ontents.)-2.5 E F1<ad70>144 674.4 Q F0 .626
-(Perform history substitution on the follo)24.74 F(wing)-.25 E F2(ar)
-3.125 E(gs)-.37 E F0 .625(and display the result on the standard)3.125 F
-2.975(output. Does)180 686.4 R .475
-(not store the results in the history list.)2.975 F(Each)5.475 E F2(ar)
-2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
-(normal history e)180 698.4 Q(xpansion.)-.15 E F1<ad73>144 710.4 Q F0
-.363(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
-(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
-(he last command in the history list is)-5.363 F(remo)180 722.4 Q -.15
-(ve)-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
-(are added.)2.77 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(9)203.725
-E 0 Cg EP
+698.4 Q F2(of)2.5 E(fset)-.18 E F0(Delete the history entry at position)
+180 710.4 Q F2(of)2.5 E(fset)-.18 E F0(.)A(GNU Bash-4.0)72 768 Q
+(2004 Apr 20)148.735 E(9)203.725 E 0 Cg EP
%%Page: 10 10
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .145(If the)
-144 84 R/F1 9/Times-Bold@0 SF(HISTTIMEFORMA)2.645 E(T)-.855 E F0 -.25
-(va)2.395 G .145
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF<ad61>144 84 Q F0 .598(Append the `)25.3 F(`ne)-.74 E
+(w')-.25 E 3.098('h)-.74 G .598
+(istory lines \(history lines entered since the be)-3.098 F .599
+(ginning of the current)-.15 F F1(bash)180 96 Q F0
+(session\) to the history \214le.)2.5 E F1<ad6e>144 108 Q F0 .854(Read \
+the history lines not already read from the history \214le into the cur\
+rent history list.)24.74 F .772
+(These are lines appended to the history \214le since the be)180 120 R
+.773(ginning of the current)-.15 F F1(bash)3.273 E F0(ses-)3.273 E
+(sion.)180 132 Q F1<ad72>144 144 Q F0(Read the contents of the history \
+\214le and use them as the current history)25.86 E(.)-.65 E F1<ad77>144
+156 Q F0(Write the current history to the history \214le, o)23.08 E -.15
+(ve)-.15 G(rwriting the history \214le').15 E 2.5(sc)-.55 G(ontents.)
+-2.5 E F1<ad70>144 168 Q F0 .626
+(Perform history substitution on the follo)24.74 F(wing)-.25 E/F2 10
+/Times-Italic@0 SF(ar)3.125 E(gs)-.37 E F0 .625
+(and display the result on the standard)3.125 F 2.975(output. Does)180
+180 R .475(not store the results in the history list.)2.975 F(Each)5.475
+E F2(ar)2.975 E(g)-.37 E F0 .475(must be quoted to disable)2.975 F
+(normal history e)180 192 Q(xpansion.)-.15 E F1<ad73>144 204 Q F0 .363
+(Store the)26.41 F F2(ar)3.193 E(gs)-.37 E F0 .363
+(in the history list as a single entry)3.133 F 5.363(.T)-.65 G .362
+(he last command in the history list is)-5.363 F(remo)180 216 Q -.15(ve)
+-.15 G 2.5(db).15 G(efore the)-2.5 E F2(ar)2.83 E(gs)-.37 E F0
+(are added.)2.77 E .145(If the)144 232.8 R/F3 9/Times-Bold@0 SF
+(HISTTIMEFORMA)2.645 E(T)-.855 E F0 -.25(va)2.395 G .145
(riable is set, the time stamp information associated with each history)
-.25 F .669(entry is written to the history \214le, mark)144 96 R .669
+.25 F .669(entry is written to the history \214le, mark)144 244.8 R .669
(ed with the history comment character)-.1 F 5.668(.W)-.55 G .668
-(hen the history)-5.668 F .955(\214le is read, lines be)144 108 R .956
+(hen the history)-5.668 F .955(\214le is read, lines be)144 256.8 R .956
(ginning with the history comment character follo)-.15 F .956
(wed immediately by a digit)-.25 F .416
-(are interpreted as timestamps for the pre)144 120 R .416
+(are interpreted as timestamps for the pre)144 268.8 R .416
(vious history line.)-.25 F .416(The return v)5.416 F .415
(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 132 R -.25(va)-.4 G(lid).25 E/F2 10/Times-Italic@0 SF(of)3 E
-(fset)-.18 E F0(is)3 E(supplied as an ar)144 144 Q(gument to)-.18 E/F3
-10/Times-Bold@0 SF<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 160.8 Q F0([)2.5 E F3(\255lnprs)A
-F0 2.5(][)C F2(jobspec)A F0(... ])2.5 E F3(jobs \255x)108 172.8 Q F2
-(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)-.37 E F0(... ])2.5 E
-(The \214rst form lists the acti)144 184.8 Q .3 -.15(ve j)-.25 H 2.5
-(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F3<ad6c>144 196.8 Q F0
-(List process IDs in addition to the normal information.)27.52 E F3
-<ad70>144 208.8 Q F0(List only the process ID of the job')24.74 E 2.5
-(sp)-.55 G(rocess group leader)-2.5 E(.)-.55 E F3<ad6e>144 220.8 Q F0
-.194(Display information only about jobs that ha)24.74 F .494 -.15(ve c)
--.2 H .193(hanged status since the user w).15 F .193(as last noti-)-.1 F
-(\214ed of their status.)180 232.8 Q F3<ad72>144 244.8 Q F0
-(Restrict output to running jobs.)25.86 E F3<ad73>144 256.8 Q F0
-(Restrict output to stopped jobs.)26.41 E(If)144 273.6 Q F2(jobspec)
+, an in)144 280.8 R -.25(va)-.4 G(lid).25 E F2(of)3 E(fset)-.18 E F0(is)
+3 E(supplied as an ar)144 292.8 Q(gument to)-.18 E F1<ad64>2.5 E F0 2.5
+(,o)C 2.5(rt)-2.5 G(he history e)-2.5 E(xpansion supplied as an ar)-.15
+E(gument to)-.18 E F1<ad70>2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(jobs)108
+309.6 Q F0([)2.5 E F1(\255lnprs)A F0 2.5(][)C F2(jobspec)A F0(... ])2.5
+E F1(jobs \255x)108 321.6 Q F2(command)2.5 E F0([)2.5 E F2(ar)2.5 E(gs)
+-.37 E F0(... ])2.5 E(The \214rst form lists the acti)144 333.6 Q .3
+-.15(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
+(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 345.6 Q F0
+(List process IDs in addition to the normal information.)27.52 E F1
+<ad6e>144 357.6 Q F0 .194(Display information only about jobs that ha)
+24.74 F .494 -.15(ve c)-.2 H .193(hanged status since the user w).15 F
+.193(as last noti-)-.1 F(\214ed of their status.)180 369.6 Q F1<ad70>144
+381.6 Q F0(List only the process ID of the job')24.74 E 2.5(sp)-.55 G
+(rocess group leader)-2.5 E(.)-.55 E F1<ad72>144 393.6 Q F0
+(Restrict output to running jobs.)25.86 E F1<ad73>144 405.6 Q F0
+(Restrict output to stopped jobs.)26.41 E(If)144 422.4 Q F2(jobspec)
4.553 E F0 .313(is gi)3.123 F -.15(ve)-.25 G .313
(n, output is restricted to information about that job).15 F 5.314(.T)
--.4 G .314(he return status is 0 unless)-5.314 F(an in)144 285.6 Q -.25
+-.4 G .314(he return status is 0 unless)-5.314 F(an in)144 434.4 Q -.25
(va)-.4 G(lid option is encountered or an in).25 E -.25(va)-.4 G(lid).25
-E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 302.4 R F3
-<ad78>2.895 E F0 .394(option is supplied,)2.894 F F3(jobs)2.894 E F0
+E F2(jobspec)4.24 E F0(is supplied.)2.81 E .395(If the)144 451.2 R F1
+<ad78>2.895 E F0 .394(option is supplied,)2.894 F F1(jobs)2.894 E F0
.394(replaces an)2.894 F(y)-.15 E F2(jobspec)4.634 E F0 .394(found in)
3.204 F F2(command)3.094 E F0(or)3.664 E F2(ar)3.224 E(gs)-.37 E F0 .394
-(with the corre-)3.164 F(sponding process group ID, and e)144 314.4 Q
+(with the corre-)3.164 F(sponding process group ID, and e)144 463.2 Q
-.15(xe)-.15 G(cutes).15 E F2(command)2.7 E F0(passing it)3.27 E F2(ar)
2.5 E(gs)-.37 E F0 2.5(,r).27 G(eturning its e)-2.5 E(xit status.)-.15 E
-F3(kill)108 331.2 Q F0([)2.5 E F3<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F3
-<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F3<ad>2.5 E F2(sigspec)A F0 2.5
-(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F3
-(kill \255l)108 343.2 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5
-G(it_status).2 E F0(])A .119(Send the signal named by)144 355.2 R F2
+F1(kill)108 480 Q F0([)2.5 E F1<ad73>A F2(sigspec)2.5 E F0(|)2.5 E F1
+<ad6e>2.5 E F2(signum)2.5 E F0(|)2.5 E F1<ad>2.5 E F2(sigspec)A F0 2.5
+(][)C F2(pid)-2.5 E F0(|)2.5 E F2(jobspec)2.5 E F0 2.5(].)C(..)-2.5 E F1
+(kill \255l)108 492 Q F0([)2.5 E F2(sigspec)A F0(|)2.5 E F2 -.2(ex)2.5 G
+(it_status).2 E F0(])A .119(Send the signal named by)144 504 R F2
(sigspec)2.959 E F0(or)2.929 E F2(signum)2.959 E F0 .119
(to the processes named by)2.939 F F2(pid)3.87 E F0(or)3.39 E F2
(jobspec)2.62 E F0(.).31 E F2(sigspec)5.46 E F0(is)2.93 E .319
-(either a case-insensiti)144 367.2 R .619 -.15(ve s)-.25 H .319
-(ignal name such as).15 F F1(SIGKILL)2.819 E F0 .318
-(\(with or without the)2.569 F F1(SIG)2.818 E F0 .318
-(pre\214x\) or a signal)2.568 F(number;)144 379.2 Q F2(signum)4.188 E F0
+(either a case-insensiti)144 516 R .619 -.15(ve s)-.25 H .319
+(ignal name such as).15 F F3(SIGKILL)2.819 E F0 .318
+(\(with or without the)2.569 F F3(SIG)2.818 E F0 .318
+(pre\214x\) or a signal)2.568 F(number;)144 528 Q F2(signum)4.188 E F0
1.349(is a signal number)4.168 F 6.349(.I)-.55 G(f)-6.349 E F2(sigspec)
-4.189 E F0 1.349(is not present, then)4.159 F F1(SIGTERM)3.849 E F0
-1.349(is assumed.)3.599 F(An)6.349 E(ar)144 391.2 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 403.2
-R .28(guments are listed, and the return status is 0.)-.18 F(The)5.28 E
-F2 -.2(ex)2.78 G(it_status).2 E F0(ar)144 415.2 Q .378(gument to)-.18 F
-F3<ad6c>2.878 E F0 .378
+4.189 E F0 1.349(is not present, then)4.159 F F3(SIGTERM)3.849 E F0
+1.349(is assumed.)3.599 F(An)6.349 E(ar)144 540 Q .523(gument of)-.18 F
+F1<ad6c>3.023 E F0 .523(lists the signal names.)3.023 F .523(If an)5.523
+F 3.023(ya)-.15 G -.18(rg)-3.023 G .523(uments are supplied when).18 F
+F1<ad6c>3.023 E F0 .523(is gi)3.023 F -.15(ve)-.25 G .523(n, the names)
+.15 F .28(of the signals corresponding to the ar)144 552 R .28
+(guments are listed, and the return status is 0.)-.18 F(The)5.28 E F2
+-.2(ex)2.78 G(it_status).2 E F0(ar)144 564 Q .378(gument to)-.18 F F1
+<ad6c>2.878 E F0 .378
(is a number specifying either a signal number or the e)2.878 F .377
-(xit status of a process termi-)-.15 F .593(nated by a signal.)144 427.2
-R F3(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
+(xit status of a process termi-)-.15 F .593(nated by a signal.)144 576 R
+F1(kill)5.593 E F0 .593(returns true if at least one signal w)3.093 F
.593(as successfully sent, or f)-.1 F .594(alse if an error)-.1 F
-(occurs or an in)144 439.2 Q -.25(va)-.4 G(lid option is encountered.)
-.25 E F3(let)108 456 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E
-F0(...])2.5 E(Each)144 468 Q F2(ar)3.027 E(g)-.37 E F0 .197
+(occurs or an in)144 588 Q -.25(va)-.4 G(lid option is encountered.).25
+E F1(let)108 604.8 Q F2(ar)2.5 E(g)-.37 E F0([)2.5 E F2(ar)A(g)-.37 E F0
+(...])2.5 E(Each)144 616.8 Q F2(ar)3.027 E(g)-.37 E F0 .197
(is an arithmetic e)2.917 F .197(xpression to be e)-.15 F -.25(va)-.25 G
-.196(luated \(see).25 F F1 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855
+.196(luated \(see).25 F F3 .196(ARITHMETIC EV)2.696 F(ALU)-1.215 E -.855
(AT)-.54 G(ION).855 E F0(abo)2.446 E -.15(ve)-.15 G 2.696(\). If).15 F
-(the last)144 480 Q F2(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 496.8 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
--2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 508.8 S
+(the last)144 628.8 Q F2(ar)2.83 E(g)-.37 E F0 -.25(eva)2.72 G
+(luates to 0,).25 E F1(let)2.5 E F0(returns 1; 0 is returned otherwise.)
+2.5 E F1(local)108 645.6 Q F0([)2.5 E F2(option)A F0 2.5(][)C F2(name)
+-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E -.15(Fo)144 657.6 S
2.56(re).15 G .06(ach ar)-2.56 F .06(gument, a local v)-.18 F .06
(ariable named)-.25 F F2(name)2.92 E F0 .06(is created, and assigned)
2.74 F F2(value)2.56 E F0 5.06(.T).18 G(he)-5.06 E F2(option)2.56 E F0
-.06(can be)2.56 F(an)144 520.8 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
-(he options accepted by)-3.153 F F3(declar)3.153 E(e)-.18 E F0 5.652(.W)
-C(hen)-5.652 E F3(local)3.152 E F0 .652
+.06(can be)2.56 F(an)144 669.6 Q 3.153(yo)-.15 G 3.153(ft)-3.153 G .653
+(he options accepted by)-3.153 F F1(declar)3.153 E(e)-.18 E F0 5.652(.W)
+C(hen)-5.652 E F1(local)3.152 E F0 .652
(is used within a function, it causes the v)3.152 F(ari-)-.25 E(able)144
-532.8 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
+681.6 Q F2(name)3.72 E F0 .86(to ha)3.54 F 1.16 -.15(ve a v)-.2 H .861
(isible scope restricted to that function and its children.).15 F -.4
-(Wi)5.861 G .861(th no operands,).4 F F3(local)144 544.8 Q F0 1.165
+(Wi)5.861 G .861(th no operands,).4 F F1(local)144 693.6 Q F0 1.165
(writes a list of local v)3.665 F 1.165
(ariables to the standard output.)-.25 F 1.165(It is an error to use)
-6.165 F F3(local)3.664 E F0 1.164(when not)3.664 F .232
-(within a function.)144 556.8 R .233(The return status is 0 unless)5.232
-F F3(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
+6.165 F F1(local)3.664 E F0 1.164(when not)3.664 F .232
+(within a function.)144 705.6 R .233(The return status is 0 unless)5.232
+F F1(local)2.733 E F0 .233(is used outside a function, an in)2.733 F
-.25(va)-.4 G(lid).25 E F2(name)3.093 E F0(is)2.913 E(supplied, or)144
-568.8 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E F3
-(logout)108 585.6 Q F0(Exit a login shell.)9.33 E F3(map\214le)108 602.4
-Q F0([)2.5 E F3<ad6e>A F2(count)2.5 E F0 2.5(][)C F3<ad4f>-2.5 E F2
-(origin)2.5 E F0 2.5(][)C F3<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F3
-<ad74>-2.5 E F0 2.5(][)C F3<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F3<ad43>
--2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F3<ad63>-2.5 E F2(quantum)
-2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A F3 -.18(re)108 614.4 S
-(adarray).18 E F0([)2.5 E F3<ad6e>A F2(count)2.5 E F0 2.5(][)C F3<ad4f>
--2.5 E F2(origin)2.5 E F0 2.5(][)C F3<ad73>-2.5 E F2(count)2.5 E F0 2.5
-(][)C F3<ad74>-2.5 E F0 2.5(][)C F3<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C
-F3<ad43>-2.5 E F2(callbac)2.5 E(k)-.2 E F0 2.5(][)C F3<ad63>-2.5 E F2
-(quantum)2.5 E F0 2.5(][)C F2(arr)-2.5 E(ay)-.15 E F0(])A .351
-(Read lines from the standard input into the inde)144 626.4 R -.15(xe)
--.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E
-(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)
--2.85 F F2(fd)2.85 E F0 1.248(if the)144 638.4 R F3<ad75>3.748 E F0
-1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E F1
-(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E F2(arr)3.749 E
-(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249 F(ha)144
-650.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F3<ad6e>
-144 662.4 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E F2
-(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0
-(is 0, all lines are copied.)2.5 E F3<ad4f>144 674.4 Q F0(Be)22.52 E
-(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
--.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi)
--.15 G 2.5(s0)-2.5 G(.)-2.5 E F3<ad73>144 686.4 Q F0
-(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F3
-<ad74>144 698.4 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E
-(wline from each line read.)-.25 E F3<ad75>144 710.4 Q F0
-(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
-(instead of the standard input.)2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)
-148.735 E(10)198.725 E 0 Cg EP
+717.6 Q F2(name)2.5 E F0(is a readonly v)2.5 E(ariable.)-.25 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(10)198.725 E 0 Cg EP
%%Page: 11 11
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad43>144 84 Q F0(Ev)23.08 E(aluate)-.25 E/F2 10
-/Times-Italic@0 SF(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum)
+/Times-Bold@0 SF(logout)108 84 Q F0(Exit a login shell.)9.33 E F1
+(map\214le)108 100.8 Q F0([)2.5 E F1<ad6e>A/F2 10/Times-Italic@0 SF
+(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2(origin)2.5 E F0 2.5(][)C F1
+<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1<ad74>-2.5 E F0 2.5(][)C F1
+<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>-2.5 E F2(callbac)2.5 E(k)
+-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2(arr)
+-2.5 E(ay)-.15 E F0(])A F1 -.18(re)108 112.8 S(adarray).18 E F0([)2.5 E
+F1<ad6e>A F2(count)2.5 E F0 2.5(][)C F1<ad4f>-2.5 E F2(origin)2.5 E F0
+2.5(][)C F1<ad73>-2.5 E F2(count)2.5 E F0 2.5(][)C F1<ad74>-2.5 E F0 2.5
+(][)C F1<ad75>-2.5 E F2(fd)2.5 E F0 2.5(][)C F1<ad43>-2.5 E F2(callbac)
+2.5 E(k)-.2 E F0 2.5(][)C F1<ad63>-2.5 E F2(quantum)2.5 E F0 2.5(][)C F2
+(arr)-2.5 E(ay)-.15 E F0(])A .351
+(Read lines from the standard input into the inde)144 124.8 R -.15(xe)
+-.15 G 2.851(da).15 G .351(rray v)-2.851 F(ariable)-.25 E F2(arr)2.85 E
+(ay)-.15 E F0 2.85(,o).32 G 2.85(rf)-2.85 G .35(rom \214le descriptor)
+-2.85 F F2(fd)2.85 E F0 1.248(if the)144 136.8 R F1<ad75>3.748 E F0
+1.248(option is supplied.)3.748 F 1.249(The v)6.249 F(ariable)-.25 E/F3
+9/Times-Bold@0 SF(MAPFILE)3.749 E F0 1.249(is the def)3.499 F(ault)-.1 E
+F2(arr)3.749 E(ay)-.15 E F0 6.249(.O)C 1.249(ptions, if supplied,)-6.249
+F(ha)144 148.8 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E
+F1<ad6e>144 160.8 Q F0(Cop)24.74 E 2.5(ya)-.1 G 2.5(tm)-2.5 G(ost)-2.5 E
+F2(count)2.7 E F0 2.5(lines. If)3.18 F F2(count)2.5 E F0
+(is 0, all lines are copied.)2.5 E F1<ad4f>144 172.8 Q F0(Be)22.52 E
+(gin assigning to)-.15 E F2(arr)2.83 E(ay)-.15 E F0(at inde)2.82 E(x)
+-.15 E F2(origin)2.5 E F0 5(.T).24 G(he def)-5 E(ault inde)-.1 E 2.5(xi)
+-.15 G 2.5(s0)-2.5 G(.)-2.5 E F1<ad73>144 184.8 Q F0
+(Discard the \214rst)26.41 E F2(count)2.5 E F0(lines read.)2.5 E F1
+<ad74>144 196.8 Q F0(Remo)26.97 E .3 -.15(ve a t)-.15 H(railing ne).15 E
+(wline from each line read.)-.25 E F1<ad75>144 208.8 Q F0
+(Read lines from \214le descriptor)24.74 E F2(fd)2.5 E F0
+(instead of the standard input.)2.5 E F1<ad43>144 220.8 Q F0(Ev)23.08 E
+(aluate)-.25 E F2(callbac)2.7 E(k)-.2 E F0(each time)3.17 E F2(quantum)
2.5 E F0(lines are read.)2.5 E(The)5 E F1<ad63>2.5 E F0
-(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 96 Q
-F0(Specify the number of lines read between each call to)25.86 E F2
-(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 112.8 Q F1<ad43>2.968 E F0 .467
+(option speci\214es)2.5 E F2(quantum)2.5 E F0(.).32 E F1<ad63>144 232.8
+Q F0(Specify the number of lines read between each call to)25.86 E F2
+(callbac)2.5 E(k)-.2 E F0(.).67 E(If)144 249.6 Q F1<ad43>2.968 E F0 .467
(is speci\214ed without)2.967 F F1<ad63>2.967 E F0 2.967(,t)C .467
(he def)-2.967 F .467(ault quantum is 5000.)-.1 F(When)5.467 E F2
(callbac)2.967 E(k)-.2 E F0 .467(is e)2.967 F -.25(va)-.25 G .467
-(luated, it is sup-).25 F 1.22(plied the inde)144 124.8 R 3.72(xo)-.15 G
-3.72(ft)-3.72 G 1.22(he ne)-3.72 F 1.22
-(xt array element to be assigned as an additional ar)-.15 F(gument.)-.18
-E F2(callbac)6.22 E(k)-.2 E F0(is)3.72 E -.25(eva)144 136.8 S
-(luated after the line is read b).25 E
-(ut before the array element is assigned.)-.2 E
-(If not supplied with an e)144 153.6 Q(xplicit origin,)-.15 E F1
+(luated, it is sup-).25 F .261(plied the inde)144 261.6 R 2.761(xo)-.15
+G 2.761(ft)-2.761 G .261(he ne)-2.761 F .262(xt array element to be ass\
+igned and the line to be assigned to that element)-.15 F .275
+(as additional ar)144 273.6 R(guments.)-.18 E F2(callbac)5.275 E(k)-.2 E
+F0 .275(is e)2.775 F -.25(va)-.25 G .274
+(luated after the line is read b).25 F .274
+(ut before the array element is)-.2 F(assigned.)144 285.6 Q
+(If not supplied with an e)144 302.4 Q(xplicit origin,)-.15 E F1
(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
-(before assigning to it.)2.5 E F1(map\214le)144 170.4 Q F0 1.906
-(returns successfully unless an in)4.406 F -.25(va)-.4 G 1.905
-(lid option or option ar).25 F 1.905(gument is supplied,)-.18 F F2(arr)
-4.405 E(ay)-.15 E F0(is)4.405 E(in)144 182.4 Q -.25(va)-.4 G
+(before assigning to it.)2.5 E F1(map\214le)144 319.2 Q F0 1.905
+(returns successfully unless an in)4.405 F -.25(va)-.4 G 1.905
+(lid option or option ar).25 F 1.906(gument is supplied,)-.18 F F2(arr)
+4.406 E(ay)-.15 E F0(is)4.406 E(in)144 331.2 Q -.25(va)-.4 G
(lid or unassignable, or if).25 E F2(arr)2.5 E(ay)-.15 E F0
(is not an inde)2.5 E -.15(xe)-.15 G 2.5(da).15 G(rray)-2.5 E(.)-.65 E
-F1(popd)108 199.2 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0
-2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 211.2 Q -.15(ve)-.15 G 2.799
-(se).15 G .299(ntries from the directory stack.)-2.799 F -.4(Wi)5.299 G
-.299(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15
-G .3(he top directory from the)-2.799 F 1.479(stack, and performs a)144
-223.2 R F1(cd)3.979 E F0 1.479(to the ne)3.979 F 3.979(wt)-.25 G 1.479
-(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.478
-(uments, if supplied, ha).18 F 1.778 -.15(ve t)-.2 H 1.478(he follo).15
-F(wing)-.25 E(meanings:)144 235.2 Q F1<ad6e>144 247.2 Q F0 .551
+F1(popd)108 348 Q F0<5bad>2.5 E F1(n)A F0 2.5(][)C(+)-2.5 E F2(n)A F0
+2.5(][)C<ad>-2.5 E F2(n)A F0(])A(Remo)144 360 Q -.15(ve)-.15 G 2.8(se)
+.15 G .3(ntries from the directory stack.)-2.8 F -.4(Wi)5.299 G .299
+(th no ar).4 F .299(guments, remo)-.18 F -.15(ve)-.15 G 2.799(st).15 G
+.299(he top directory from the)-2.799 F 1.478(stack, and performs a)144
+372 R F1(cd)3.978 E F0 1.479(to the ne)3.978 F 3.979(wt)-.25 G 1.479
+(op directory)-3.979 F 6.479(.A)-.65 G -.18(rg)-6.479 G 1.479
+(uments, if supplied, ha).18 F 1.779 -.15(ve t)-.2 H 1.479(he follo).15
+F(wing)-.25 E(meanings:)144 384 Q F1<ad6e>144 396 Q F0 .551
(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 259.2 Q F1(+)144 271.2 Q F2(n)A
-F0(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0
-.14(th entry counting from the left of the list sho)B .14(wn by)-.25 F
-F1(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180
-283.2 S 2.5(re).15 G(xample:)-2.65 E/F3 10/Courier@0 SF(popd +0)2.5 E F0
-(remo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)
--.65 E F3(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 295.2 Q F2(n)A F0
-(Remo)25.3 E -.15(ve)-.15 G 3.759(st).15 G(he)-3.759 E F2(n)3.759 E F0
-1.259(th entry counting from the right of the list sho)B 1.26(wn by)-.25
-F F1(dirs)3.76 E F0 3.76(,s)C 1.26(tarting with)-3.76 F 2.5(zero. F)180
-307.2 R(or e)-.15 E(xample:)-.15 E F3(popd -0)2.5 E F0(remo)2.5 E -.15
-(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F3(popd -1)2.5
-E F0(the ne)2.5 E(xt to last.)-.15 E .644(If the)144 324 R F1(popd)3.144
-E F0 .644(command is successful, a)3.144 F F1(dirs)3.143 E F0 .643
-(is performed as well, and the return status is 0.)3.143 F F1(popd)5.643
-E F0 .415(returns f)144 336 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 348 Q
-(ails.)-.1 E F1(printf)108 364.8 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
-(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A .372
-(Write the formatted)144 376.8 R F2(ar)2.872 E(guments)-.37 E F0 .372
-(to the standard output under the control of the)2.872 F F2(format)2.872
-E F0 5.372(.T)C(he)-5.372 E F2(format)2.872 E F0 1.804(is a character s\
-tring which contains three types of objects: plain characters, which ar\
-e simply)144 388.8 R .159
-(copied to standard output, character escape sequences, which are con)
-144 400.8 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 412.8 R .5(xt successi)-.15 F -.15(ve)-.25 G F2(ar)3.15 E
-(gu-)-.37 E(ment)144 424.8 Q F0 5.424(.I)C 2.924(na)-5.424 G .424
-(ddition to the standard)-2.924 F F2(printf)2.924 E F0 .424
-(\(1\) formats,)B F1(%b)2.924 E F0(causes)2.923 E F1(printf)2.923 E F0
-.423(to e)2.923 F .423(xpand backslash escape)-.15 F .976
-(sequences in the corresponding)144 436.8 R F2(ar)3.476 E(gument)-.37 E
-F0(\(e)3.476 E .976(xcept that)-.15 F F1(\\c)3.476 E F0 .976
-(terminates output, backslashes in)3.476 F F1<5c08>3.477 E F0(,)A F1
-(\\")3.477 E F0(,)A(and)144 448.8 Q F1(\\?)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 F1(\\0)3.422 E F0 .921
-(may contain up to four digits\), and)3.422 F F1(%q)144 460.8 Q F0
-(causes)3.63 E F1(printf)3.63 E F0 1.13(to output the corresponding)3.63
-F F2(ar)3.631 E(gument)-.37 E F0 1.131
-(in a format that can be reused as shell)3.631 F(input.)144 472.8 Q(The)
-144 496.8 Q F1<ad76>2.904 E F0 .404
-(option causes the output to be assigned to the v)2.904 F(ariable)-.25 E
-F2(var)2.904 E F0 .404(rather than being printed to the)2.904 F
-(standard output.)144 508.8 Q(The)144 532.8 Q F2(format)3.423 E F0 .923
-(is reused as necessary to consume all of the)3.423 F F2(ar)3.423 E
-(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F2(format)
-3.423 E F0 .924(requires more)3.424 F F2(ar)144 544.8 Q(guments)-.37 E
-F0 .033(than are supplied, the e)2.534 F .033
-(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
-.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
--.25 F(as appropriate, had been supplied.)144 556.8 Q(The return v)5 E
-(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E F1(pushd)
-108 573.6 Q F0([)2.5 E F1<ad6e>A F0 2.5(][)C(+)-2.5 E F2(n)A F0 2.5(][)C
-<ad>-2.5 E F2(n)A F0(])A F1(pushd)108 585.6 Q F0([)2.5 E F1<ad6e>A F0
-2.5(][)C F2(dir)-2.5 E F0(])A .639(Adds a directory to the top of the d\
-irectory stack, or rotates the stack, making the ne)144 597.6 R 3.14(wt)
--.25 G .64(op of the)-3.14 F 1.316(stack the current w)144 609.6 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 621.6 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 633.6 Q
-F1<ad6e>144 645.6 Q F0 .902(Suppresses the normal change of directory w\
-hen adding directories to the stack, so that)24.74 F
-(only the stack is manipulated.)180 657.6 Q F1(+)144 669.6 Q F2(n)A F0
-1.267(Rotates the stack so that the)25.3 F F2(n)3.767 E F0 1.268
-(th directory \(counting from the left of the list sho)B 1.268(wn by)
--.25 F F1(dirs)180 681.6 Q F0 2.5(,s)C
-(tarting with zero\) is at the top.)-2.5 E F1<ad>144 693.6 Q F2(n)A F0
-.92(Rotates the stack so that the)25.3 F F2(n)3.42 E F0 .92
-(th directory \(counting from the right of the list sho)B .92(wn by)-.25
-F F1(dirs)180 705.6 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
--2.5 E F2(dir)144.35 717.6 Q F0(Adds)23.98 E F2(dir)2.85 E F0
-(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
-G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E(GNU Bash-4.0)72 768 Q
+(that only the stack is manipulated.)180 408 Q F1(+)144 420 Q F2(n)A F0
+(Remo)25.3 E -.15(ve)-.15 G 2.64(st).15 G(he)-2.64 E F2(n)2.64 E F0 .14
+(th entry counting from the left of the list sho)B .14(wn by)-.25 F F1
+(dirs)2.64 E F0 2.64(,s)C .14(tarting with zero.)-2.64 F -.15(Fo)180 432
+S 2.5(re).15 G(xample:)-2.65 E/F4 10/Courier@0 SF(popd +0)2.5 E F0(remo)
+2.5 E -.15(ve)-.15 G 2.5(st).15 G(he \214rst directory)-2.5 E(,)-.65 E
+F4(popd +1)2.5 E F0(the second.)2.5 E F1<ad>144 444 Q F2(n)A F0(Remo)
+25.3 E -.15(ve)-.15 G 3.76(st).15 G(he)-3.76 E F2(n)3.76 E F0 1.259
+(th entry counting from the right of the list sho)B 1.259(wn by)-.25 F
+F1(dirs)3.759 E F0 3.759(,s)C 1.259(tarting with)-3.759 F 2.5(zero. F)
+180 456 R(or e)-.15 E(xample:)-.15 E F4(popd -0)2.5 E F0(remo)2.5 E -.15
+(ve)-.15 G 2.5(st).15 G(he last directory)-2.5 E(,)-.65 E F4(popd -1)2.5
+E F0(the ne)2.5 E(xt to last.)-.15 E .643(If the)144 472.8 R F1(popd)
+3.143 E F0 .643(command is successful, a)3.143 F F1(dirs)3.143 E F0 .644
+(is performed as well, and the return status is 0.)3.143 F F1(popd)5.644
+E F0 .416(returns f)144 484.8 R .416(alse if an in)-.1 F -.25(va)-.4 G
+.415(lid option is encountered, the directory stack is empty).25 F 2.915
+(,an)-.65 G(on-e)-2.915 E .415(xistent direc-)-.15 F
+(tory stack entry is speci\214ed, or the directory change f)144 496.8 Q
+(ails.)-.1 E F1(printf)108 513.6 Q F0([)2.5 E F1<ad76>A F2(var)2.5 E F0
+(])A F2(format)2.5 E F0([)2.5 E F2(ar)A(guments)-.37 E F0(])A 1.436
+(Write the formatted)144 525.6 R F2(ar)3.936 E(guments)-.37 E F0 1.437
+(to the standard output under the control of the)3.936 F F2(format)3.937
+E F0 6.437(.T)C(he)-6.437 E F1<ad76>3.937 E F0 .126
+(option causes the output to be assigned to the v)144 537.6 R(ariable)
+-.25 E F2(var)2.626 E F0 .126(rather than being printed to the standard)
+2.626 F(output.)144 549.6 Q(The)144 573.6 Q F2(format)3.017 E F0 .517(i\
+s a character string which contains three types of objects: plain chara\
+cters, which are)3.017 F .704(simply copied to standard output, charact\
+er escape sequences, which are con)144 585.6 R -.15(ve)-.4 G .703
+(rted and copied to).15 F .036(the standard output, and format speci\
+\214cations, each of which causes printing of the ne)144 597.6 R .037
+(xt successi)-.15 F -.15(ve)-.25 G F2(ar)144 609.6 Q(gument)-.37 E F0
+5.532(.I)C 3.032(na)-5.532 G .532(ddition to the standard)-3.032 F F2
+(printf)3.032 E F0 .532(\(1\) format speci\214cations,)B F1(printf)3.031
+E F0 .531(interprets the follo)3.031 F(w-)-.25 E(ing e)144 621.6 Q
+(xtensions:)-.15 E F1(%b)144 633.6 Q F0(causes)20.44 E F1(printf)5.115 E
+F0 2.615(to e)5.115 F 2.615
+(xpand backslash escape sequences in the corresponding)-.15 F F2(ar)
+5.115 E(gument)-.37 E F0(\(e)180 645.6 Q .608(xcept that)-.15 F F1(\\c)
+3.108 E F0 .608(terminates output, backslashes in)3.108 F F1<5c08>3.108
+E F0(,)A F1(\\")3.108 E F0 3.108(,a)C(nd)-3.108 E F1(\\?)3.108 E F0 .608
+(are not remo)3.108 F -.15(ve)-.15 G .608(d, and octal).15 F(escapes be)
+180 657.6 Q(ginning with)-.15 E F1(\\0)2.5 E F0
+(may contain up to four digits\).)2.5 E F1(%q)144 669.6 Q F0(causes)
+20.44 E F1(printf)2.51 E F0 .01(to output the corresponding)2.51 F F2
+(ar)2.51 E(gument)-.37 E F0 .01(in a format that can be reused as shell)
+2.51 F(input.)180 681.6 Q F1(%\()144 693.6 Q F2(datefmt)A F1(\)T)A F0
+(causes)180 705.6 Q F1(printf)4.404 E F0 1.904
+(to output the date-time string resulting from using)4.404 F F2(datefmt)
+4.404 E F0 1.903(as a format)4.404 F .38(string for)180 717.6 R F2
+(strftime)2.881 E F0 2.881(\(3\). The)B(corresponding)2.881 E F2(ar)
+2.881 E(gument)-.37 E F0 .381(is an inte)2.881 F .381
+(ger representing the number)-.15 F .458(of seconds since the epoch.)180
+729.6 R -1 -.8(Tw o)5.458 H .458(special ar)3.758 F .458(gument v)-.18 F
+.458(alues may be used: -1 represents the)-.25 F(GNU Bash-4.0)72 768 Q
(2004 Apr 20)148.735 E(11)198.725 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .488(If the)
-144 84 R/F1 10/Times-Bold@0 SF(pushd)2.988 E F0 .488
-(command is successful, a)2.988 F F1(dirs)2.988 E F0 .488
-(is performed as well.)2.988 F .489(If the \214rst form is used,)5.488 F
-F1(pushd)2.989 E F0 1.04(returns 0 unless the cd to)144 96 R/F2 10
-/Times-Italic@0 SF(dir)3.89 E F0 -.1(fa)4.27 G 3.539(ils. W).1 F 1.039
-(ith the second form,)-.4 F F1(pushd)3.539 E F0 1.039
-(returns 0 unless the directory)3.539 F .846(stack is empty)144 108 R
-3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack element is \
-speci\214ed, or the directory change to the)-.15 F(speci\214ed ne)144
-120 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E(ails.)-.1 E F1(pwd)108
-136.8 Q F0([)2.5 E F1(\255LP)A F0(])A .845
-(Print the absolute pathname of the current w)144 148.8 R .845
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
+(current time, and -2 represents the time the shell w)180 84 Q(as in)-.1
+E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E(Ar)144 100.8 Q .463(guments to non-s\
+tring format speci\214ers are treated as C constants, e)-.18 F .464
+(xcept that a leading plus or)-.15 F 1.259(minus sign is allo)144 112.8
+R 1.259
+(wed, and if the leading character is a single or double quote, the v)
+-.25 F 1.258(alue is the)-.25 F(ASCII v)144 124.8 Q(alue of the follo)
+-.25 E(wing character)-.25 E(.)-.55 E(The)144 141.6 Q/F1 10
+/Times-Italic@0 SF(format)3.423 E F0 .923
+(is reused as necessary to consume all of the)3.423 F F1(ar)3.423 E
+(guments)-.37 E F0 5.923(.I)C 3.423(ft)-5.923 G(he)-3.423 E F1(format)
+3.423 E F0 .924(requires more)3.424 F F1(ar)144 153.6 Q(guments)-.37 E
+F0 .033(than are supplied, the e)2.534 F .033
+(xtra format speci\214cations beha)-.15 F .333 -.15(ve a)-.2 H 2.533(si)
+.15 G 2.533(faz)-2.533 G .033(ero v)-2.533 F .033(alue or null string,)
+-.25 F(as appropriate, had been supplied.)144 165.6 Q(The return v)5 E
+(alue is zero on success, non-zero on f)-.25 E(ailure.)-.1 E/F2 10
+/Times-Bold@0 SF(pushd)108 182.4 Q F0([)2.5 E F2<ad6e>A F0 2.5(][)C(+)
+-2.5 E F1(n)A F0 2.5(][)C<ad>-2.5 E F1(n)A F0(])A F2(pushd)108 194.4 Q
+F0([)2.5 E F2<ad6e>A F0 2.5(][)C F1(dir)-2.5 E F0(])A .639(Adds a direc\
+tory to the top of the directory stack, or rotates the stack, making th\
+e ne)144 206.4 R 3.14(wt)-.25 G .64(op of the)-3.14 F 1.316
+(stack the current w)144 218.4 R 1.316(orking directory)-.1 F 6.316(.W)
+-.65 G 1.315(ith no ar)-6.716 F 1.315(guments, e)-.18 F 1.315
+(xchanges the top tw)-.15 F 3.815(od)-.1 G 1.315(irectories and)-3.815 F
+.871(returns 0, unless the directory stack is empty)144 230.4 R 5.871
+(.A)-.65 G -.18(rg)-5.871 G .872(uments, if supplied, ha).18 F 1.172
+-.15(ve t)-.2 H .872(he follo).15 F .872(wing mean-)-.25 F(ings:)144
+242.4 Q F2<ad6e>144 254.4 Q F0 .902(Suppresses the normal change of dir\
+ectory when adding directories to the stack, so that)24.74 F
+(only the stack is manipulated.)180 266.4 Q F2(+)144 278.4 Q F1(n)A F0
+1.267(Rotates the stack so that the)25.3 F F1(n)3.767 E F0 1.268
+(th directory \(counting from the left of the list sho)B 1.268(wn by)
+-.25 F F2(dirs)180 290.4 Q F0 2.5(,s)C
+(tarting with zero\) is at the top.)-2.5 E F2<ad>144 302.4 Q F1(n)A F0
+.92(Rotates the stack so that the)25.3 F F1(n)3.42 E F0 .92
+(th directory \(counting from the right of the list sho)B .92(wn by)-.25
+F F2(dirs)180 314.4 Q F0 2.5(,s)C(tarting with zero\) is at the top.)
+-2.5 E F1(dir)144.35 326.4 Q F0(Adds)23.98 E F1(dir)2.85 E F0
+(to the directory stack at the top, making it the ne)3.23 E 2.5(wc)-.25
+G(urrent w)-2.5 E(orking directory)-.1 E(.)-.65 E .488(If the)144 343.2
+R F2(pushd)2.988 E F0 .488(command is successful, a)2.988 F F2(dirs)
+2.988 E F0 .488(is performed as well.)2.988 F .489
+(If the \214rst form is used,)5.488 F F2(pushd)2.989 E F0 1.04
+(returns 0 unless the cd to)144 355.2 R F1(dir)3.89 E F0 -.1(fa)4.27 G
+3.539(ils. W).1 F 1.039(ith the second form,)-.4 F F2(pushd)3.539 E F0
+1.039(returns 0 unless the directory)3.539 F .846(stack is empty)144
+367.2 R 3.346(,an)-.65 G(on-e)-3.346 E .847(xistent directory stack ele\
+ment is speci\214ed, or the directory change to the)-.15 F
+(speci\214ed ne)144 379.2 Q 2.5(wc)-.25 G(urrent directory f)-2.5 E
+(ails.)-.1 E F2(pwd)108 396 Q F0([)2.5 E F2(\255LP)A F0(])A .845
+(Print the absolute pathname of the current w)144 408 R .845
(orking directory)-.1 F 5.844(.T)-.65 G .844
(he pathname printed contains no)-5.844 F .181(symbolic links if the)144
-160.8 R F1<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F1
-.181(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F1
-(set)2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264
-(enabled. If)144 172.8 R(the)3.264 E F1<ad4c>3.264 E F0 .763
+420 R F2<ad50>2.681 E F0 .181(option is supplied or the)2.681 F F2 .181
+(\255o ph)2.681 F(ysical)-.15 E F0 .181(option to the)2.681 F F2(set)
+2.681 E F0 -.2(bu)2.681 G .182(iltin command is).2 F 3.264(enabled. If)
+144 432 R(the)3.264 E F2<ad4c>3.264 E F0 .763
(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 184.8 R -.25(va)
--.4 G(lid).25 E(option is supplied.)144 196.8 Q F1 -.18(re)108 213.6 S
-(ad).18 E F0([)3.817 E F1(\255ers)A F0 3.817(][)C F1<ad61>-3.817 E F2
-(aname)3.817 E F0 3.817(][)C F1<ad64>-3.817 E F2(delim)3.817 E F0 3.817
-(][)C F1<ad69>-3.817 E F2(te)3.817 E(xt)-.2 E F0 3.817(][)C F1<ad6e>
--3.817 E F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1<ad4e>-3.816 E
-F2(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F1<ad70>-3.816 E F2(pr)
-3.816 E(ompt)-.45 E F0 3.816(][)C F1<ad74>-3.816 E F2(timeout)3.816 E F0
-3.816(][)C F1<ad75>-3.816 E F2(fd)3.816 E F0(])A([)108 225.6 Q F2(name)A
-F0(...])2.5 E .516(One line is read from the standard input, or from th\
-e \214le descriptor)144 237.6 R F2(fd)3.016 E F0 .516(supplied as an ar)
-3.016 F .516(gument to)-.18 F(the)144 249.6 Q F1<ad75>2.538 E F0 .038
+ reading the name of the current directory or an in)144 444 R -.25(va)
+-.4 G(lid).25 E(option is supplied.)144 456 Q F2 -.18(re)108 472.8 S(ad)
+.18 E F0([)3.817 E F2(\255ers)A F0 3.817(][)C F2<ad61>-3.817 E F1(aname)
+3.817 E F0 3.817(][)C F2<ad64>-3.817 E F1(delim)3.817 E F0 3.817(][)C F2
+<ad69>-3.817 E F1(te)3.817 E(xt)-.2 E F0 3.817(][)C F2<ad6e>-3.817 E F1
+(nc)3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad4e>-3.816 E F1(nc)
+3.816 E(har)-.15 E(s)-.1 E F0 3.816(][)C F2<ad70>-3.816 E F1(pr)3.816 E
+(ompt)-.45 E F0 3.816(][)C F2<ad74>-3.816 E F1(timeout)3.816 E F0 3.816
+(][)C F2<ad75>-3.816 E F1(fd)3.816 E F0(])A([)108 484.8 Q F1(name)A F0
+(...])2.5 E .516(One line is read from the standard input, or from the \
+\214le descriptor)144 496.8 R F1(fd)3.016 E F0 .516(supplied as an ar)
+3.016 F .516(gument to)-.18 F(the)144 508.8 Q F2<ad75>2.538 E F0 .038
(option, and the \214rst w)2.538 F .038(ord is assigned to the \214rst)
--.1 F F2(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039
-(ord to the second)-.1 F F2(name)2.539 E F0(,).18 E .42
-(and so on, with lefto)144 261.6 R -.15(ve)-.15 G 2.92(rw).15 G .42
+-.1 F F1(name)2.539 E F0 2.539(,t).18 G .039(he second w)-2.539 F .039
+(ord to the second)-.1 F F1(name)2.539 E F0(,).18 E .42
+(and so on, with lefto)144 520.8 R -.15(ve)-.15 G 2.92(rw).15 G .42
(ords and their interv)-3.02 F .42
-(ening separators assigned to the last)-.15 F F2(name)2.92 E F0 5.42(.I)
-.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 273.6 R .54(wer w)-.25
+(ening separators assigned to the last)-.15 F F1(name)2.92 E F0 5.42(.I)
+.18 G 2.92(ft)-5.42 G(here)-2.92 E .54(are fe)144 532.8 R .54(wer w)-.25
F .541(ords read from the input stream than names, the remaining names \
-are assigned empty)-.1 F -.25(va)144 285.6 S 2.511(lues. The).25 F .011
+are assigned empty)-.1 F -.25(va)144 544.8 S 2.511(lues. The).25 F .011
(characters in)2.511 F/F3 9/Times-Bold@0 SF(IFS)2.511 E F0 .011
(are used to split the line into w)2.261 F 2.511(ords. The)-.1 F .011
-(backslash character \()2.511 F F1(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
-(be used to remo)144 297.6 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
+(backslash character \()2.511 F F2(\\)A F0 2.51(\)m)C(ay)-2.51 E 1.89
+(be used to remo)144 556.8 R 2.19 -.15(ve a)-.15 H 2.19 -.15(ny s).15 H
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 309.6 Q .3 -.15(ve t)-.2 H(he follo).15 E
-(wing meanings:)-.25 E F1<ad61>144 321.6 Q F2(aname)2.5 E F0 1.05(The w)
-180 333.6 R 1.049
+(Options, if supplied, ha)144 568.8 Q .3 -.15(ve t)-.2 H(he follo).15 E
+(wing meanings:)-.25 E F2<ad61>144 580.8 Q F1(aname)2.5 E F0 1.05(The w)
+180 592.8 R 1.049
(ords are assigned to sequential indices of the array v)-.1 F(ariable)
--.25 E F2(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
-F2(aname)180.33 345.6 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
--.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F2(name)2.5 E F0
-(ar)2.5 E(guments are ignored.)-.18 E F1<ad64>144 357.6 Q F2(delim)2.5 E
-F0(The \214rst character of)180 369.6 Q F2(delim)2.5 E F0
+-.25 E F1(aname)3.549 E F0 3.549(,s).18 G 1.049(tarting at 0.)-3.549 F
+F1(aname)180.33 604.8 Q F0(is unset before an)2.68 E 2.5(yn)-.15 G .5
+-.25(ew va)-2.5 H(lues are assigned.).25 E(Other)5 E F1(name)2.5 E F0
+(ar)2.5 E(guments are ignored.)-.18 E F2<ad64>144 616.8 Q F1(delim)2.5 E
+F0(The \214rst character of)180 628.8 Q F1(delim)2.5 E F0
(is used to terminate the input line, rather than ne)2.5 E(wline.)-.25 E
-F1<ad65>144 381.6 Q F0 .372
-(If the standard input is coming from a terminal,)25.86 F F1 -.18(re)
+F2<ad65>144 640.8 Q F0 .372
+(If the standard input is coming from a terminal,)25.86 F F2 -.18(re)
2.873 G(adline).18 E F0(\(see)2.873 E F3(READLINE)2.873 E F0(abo)2.623 E
-.15(ve)-.15 G 2.873(\)i).15 G 2.873(su)-2.873 G(sed)-2.873 E .218
-(to obtain the line.)180 393.6 R .218
+(to obtain the line.)180 652.8 R .218
(Readline uses the current \(or def)5.218 F .218
(ault, if line editing w)-.1 F .218(as not pre)-.1 F(viously)-.25 E
-(acti)180 405.6 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
-F1<ad69>144 417.6 Q F2(te)2.5 E(xt)-.2 E F0(If)10.78 E F1 -.18(re)2.715
-G(adline).18 E F0 .216(is being used to read the line,)2.715 F F2(te)
+(acti)180 664.8 Q -.15(ve)-.25 G 2.5(\)e).15 G(diting settings.)-2.5 E
+F2<ad69>144 676.8 Q F1(te)2.5 E(xt)-.2 E F0(If)10.78 E F2 -.18(re)2.715
+G(adline).18 E F0 .216(is being used to read the line,)2.715 F F1(te)
2.716 E(xt)-.2 E F0 .216(is placed into the editing b)2.716 F(uf)-.2 E
-.216(fer before edit-)-.25 F(ing be)180 429.6 Q(gins.)-.15 E F1<ad6e>144
-441.6 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 453.6 S(ad).18 E
-F0 1.395(returns after reading)3.895 F F2(nc)3.895 E(har)-.15 E(s)-.1 E
+.216(fer before edit-)-.25 F(ing be)180 688.8 Q(gins.)-.15 E F2<ad6e>144
+700.8 Q F1(nc)2.5 E(har)-.15 E(s)-.1 E F2 -.18(re)180 712.8 S(ad).18 E
+F0 1.395(returns after reading)3.895 F F1(nc)3.895 E(har)-.15 E(s)-.1 E
F0 1.395(characters rather than w)3.895 F 1.394
-(aiting for a complete line of)-.1 F(input, b)180 465.6 Q
-(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F2(nc)2.5 E(har)-.15 E
-(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E F1
-<ad4e>144 477.6 Q F2(nc)2.5 E(har)-.15 E(s)-.1 E F1 -.18(re)180 489.6 S
-(ad).18 E F0 1.269(returns after reading e)3.769 F(xactly)-.15 E F2(nc)
-3.769 E(har)-.15 E(s)-.1 E F0 1.269(characters rather than w)3.769 F
-1.27(aiting for a complete)-.1 F .275
-(line of input, unless EOF is encountered or)180 501.6 R F1 -.18(re)
-2.775 G(ad).18 E F0 .274(times out.)2.774 F .274
-(Delimiter characters encoun-)5.274 F 1.002
-(tered in the input are not treated specially and do not cause)180 513.6
-R F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)
-3.503 E(har)-.15 E(s)-.1 E F0(characters are read.)180 525.6 Q F1<ad70>
-144 537.6 Q F2(pr)2.5 E(ompt)-.45 E F0(Display)180 549.6 Q F2(pr)3.661 E
-(ompt)-.45 E F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
+(aiting for a complete line of)-.1 F(input, b)180 724.8 Q
+(ut honor a delimiter if fe)-.2 E(wer than)-.25 E F1(nc)2.5 E(har)-.15 E
+(s)-.1 E F0(characters are read before the delimiter)2.5 E(.)-.55 E
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
+%%Page: 13 13
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF<ad4e>144 84 Q/F2 10/Times-Italic@0 SF(nc)2.5 E(har)-.15
+E(s)-.1 E F1 -.18(re)180 96 S(ad).18 E F0 1.269(returns after reading e)
+3.769 F(xactly)-.15 E F2(nc)3.769 E(har)-.15 E(s)-.1 E F0 1.269
+(characters rather than w)3.769 F 1.27(aiting for a complete)-.1 F .275
+(line of input, unless EOF is encountered or)180 108 R F1 -.18(re)2.775
+G(ad).18 E F0 .274(times out.)2.774 F .274(Delimiter characters encoun-)
+5.274 F 1.002
+(tered in the input are not treated specially and do not cause)180 120 R
+F1 -.18(re)3.503 G(ad).18 E F0 1.003(to return until)3.503 F F2(nc)3.503
+E(har)-.15 E(s)-.1 E F0(characters are read.)180 132 Q F1<ad70>144 144 Q
+F2(pr)2.5 E(ompt)-.45 E F0(Display)180 156 Q F2(pr)3.661 E(ompt)-.45 E
+F0 1.161(on standard error)3.661 F 3.661(,w)-.4 G 1.161
(ithout a trailing ne)-3.661 F 1.161(wline, before attempting to read)
--.25 F(an)180 561.6 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
+-.25 F(an)180 168 Q 2.5(yi)-.15 G 2.5(nput. The)-2.5 F
(prompt is displayed only if input is coming from a terminal.)2.5 E F1
-<ad72>144 573.6 Q F0 .543(Backslash does not act as an escape character)
+<ad72>144 180 Q F0 .543(Backslash does not act as an escape character)
25.86 F 5.543(.T)-.55 G .544(he backslash is considered to be part of)
--5.543 F(the line.)180 585.6 Q(In particular)5 E 2.5(,ab)-.4 G
+-5.543 F(the line.)180 192 Q(In particular)5 E 2.5(,ab)-.4 G
(ackslash-ne)-2.5 E(wline pair may not be used as a line continuation.)
--.25 E F1<ad73>144 597.6 Q F0(Silent mode.)26.41 E
+-.25 E F1<ad73>144 204 Q F0(Silent mode.)26.41 E
(If input is coming from a terminal, characters are not echoed.)5 E F1
-<ad74>144 609.6 Q F2(timeout)2.5 E F0(Cause)180 621.6 Q F1 -.18(re)3.549
-G(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
+<ad74>144 216 Q F2(timeout)2.5 E F0(Cause)180 228 Q F1 -.18(re)3.549 G
+(ad).18 E F0 1.048(to time out and return f)3.549 F 1.048
(ailure if a complete line of input is not read within)-.1 F F2(timeout)
-180 633.6 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
+180 240 Q F0(seconds.)3.496 E F2(timeout)5.996 E F0 .997
(may be a decimal number with a fractional portion follo)3.496 F(wing)
--.25 E .576(the decimal point.)180 645.6 R .576(This option is only ef)
+-.25 E .576(the decimal point.)180 252 R .576(This option is only ef)
5.576 F(fecti)-.25 E .876 -.15(ve i)-.25 H(f).15 E F1 -.18(re)3.076 G
(ad).18 E F0 .576(is reading input from a terminal,)3.076 F .141
-(pipe, or other special \214le; it has no ef)180 657.6 R .142
+(pipe, or other special \214le; it has no ef)180 264 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 669.6 S(ad).18 E
+F2(timeout)2.642 E F0 .142(is 0,)2.642 F F1 -.18(re)180 276 S(ad).18 E
F0 .113(returns success if input is a)2.614 F -.25(va)-.2 G .113
(ilable on the speci\214ed \214le descriptor).25 F 2.613(,f)-.4 G .113
-(ailure otherwise.)-2.713 F(The e)180 681.6 Q
+(ailure otherwise.)-2.713 F(The e)180 288 Q
(xit status is greater than 128 if the timeout is e)-.15 E(xceeded.)-.15
-E F1<ad75>144 693.6 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 710.4 R F2(names)3.051 E F0
+E F1<ad75>144 300 Q F2(fd)2.5 E F0(Read input from \214le descriptor)
+14.46 E F2(fd)2.5 E F0(.)A .191(If no)144 316.8 R F2(names)3.051 E F0
.191(are supplied, the line read is assigned to the v)2.961 F(ariable)
--.25 E F3(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 722.4 R F1 -.18(re)3.844 G(ad)
+-.25 E/F3 9/Times-Bold@0 SF(REPL)2.692 E(Y)-.828 E/F4 9/Times-Roman@0 SF
+(.)A F0 .192(The return code is zero,)4.692 F 1.344
+(unless end-of-\214le is encountered,)144 328.8 R F1 -.18(re)3.844 G(ad)
.18 E F0 1.343
(times out \(in which case the return code is greater than)3.844 F
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(12)198.725 E 0 Cg EP
-%%Page: 13 13
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
-(128\), or an in)144 84 Q -.25(va)-.4 G
-(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E/F1
-10/Times-Bold@0 SF<ad75>2.5 E F0(.)A F1 -.18(re)108 100.8 S(adonly).18 E
-F0([)2.5 E F1(\255aA)A(pf)-.25 E F0 2.5(][)C/F2 10/Times-Italic@0 SF
-(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E F0 2.5(].)C(..])-2.5 E .77
-(The gi)144 112.8 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 124.8 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 136.8 Q 3.334(ed. The)
+(128\), or an in)144 340.8 Q -.25(va)-.4 G
+(lid \214le descriptor is supplied as the ar).25 E(gument to)-.18 E F1
+<ad75>2.5 E F0(.)A F1 -.18(re)108 357.6 S(adonly).18 E F0([)2.5 E F1
+(\255aA)A(pf)-.25 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(wor)A(d)-.37 E
+F0 2.5(].)C(..])-2.5 E .77(The gi)144 369.6 R -.15(ve)-.25 G(n).15 E F2
+(names)3.27 E F0 .77(are mark)3.27 F .77(ed readonly; the v)-.1 F .77
+(alues of these)-.25 F F2(names)3.63 E F0 .77
+(may not be changed by subse-)3.54 F 1.097(quent assignment.)144 381.6 R
+1.097(If the)6.097 F F1<ad66>3.597 E F0 1.097
+(option is supplied, the functions corresponding to the)3.597 F F2
+(names)3.596 E F0 1.096(are so)3.596 F(mark)144 393.6 Q 3.334(ed. The)
-.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 148.8 R .838 -.15(ve a)-.25 H 3.038
+-.25 E .538(ables to associati)144 405.6 R .838 -.15(ve a)-.25 H 3.038
(rrays. If).15 F(no)3.038 E F2(name)3.398 E F0(ar)3.218 E .538
(guments are gi)-.18 F -.15(ve)-.25 G .538(n, or if the).15 F F1<ad70>
3.038 E F0 .537(option is supplied, a list)3.038 F .08
-(of all readonly names is printed.)144 160.8 R(The)5.08 E F1<ad70>2.58 E
+(of all readonly names is printed.)144 417.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 172.8 R 1.177(If a v)6.177 F 1.176
+1.177(be reused as input.)144 429.6 R 1.177(If a v)6.177 F 1.176
(ariable name is follo)-.25 F 1.176(wed by =)-.25 F F2(wor)A(d)-.37 E F0
3.676(,t)C 1.176(he v)-3.676 F 1.176(alue of the v)-.25 F 1.176
-(ariable is set to)-.25 F F2(wor)144 184.8 Q(d)-.37 E F0 6.205(.T)C
+(ariable is set to)-.25 F F2(wor)144 441.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 196.8 S(lid shell v).25 E
+(is not a)3.976 F -.25(va)144 453.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 213.6 S
+(name)2.86 E F0(that is not a function.)2.68 E F1 -.18(re)108 470.4 S
(tur).18 E(n)-.15 E F0([)2.5 E F2(n)A F0(])A .587
-(Causes a function to e)144 225.6 R .587(xit with the return v)-.15 F
+(Causes a function to e)144 482.4 R .587(xit with the return v)-.15 F
.587(alue speci\214ed by)-.25 F F2(n)3.087 E F0 5.587(.I).24 G(f)-5.587
E F2(n)3.447 E F0 .586(is omitted, the return status is)3.327 F 1.335
-(that of the last command e)144 237.6 R -.15(xe)-.15 G 1.335
+(that of the last command e)144 494.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 249.6 S .794(cution of a script by the).15 F F1(.)3.294 E F0(\()
+144 506.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 261.6 R F2(n)3.105
+(cuting that script).15 F .245(and return either)144 518.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 273.6 R .082
+(xit sta-)-.15 F .082(tus of the script.)144 530.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 285.6 R 4.805(alse. An)-.1 F
+(he return sta-)-2.581 F 2.305(tus is f)144 542.4 R 4.805(alse. An)-.1 F
4.805(yc)-.15 G 2.305(ommand associated with the)-4.805 F F1(RETURN)
4.805 E F0 2.306(trap is e)4.806 F -.15(xe)-.15 G 2.306(cuted before e)
.15 F -.15(xe)-.15 G(cution).15 E(resumes after the function or script.)
-144 297.6 Q F1(set)108 314.4 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 326.4 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 338.4 S
-.836(thout options, the name and v).4 F .835(alue of each shell v)-.25 F
-.835(ariable are displayed in a format that can be)-.25 F .784
-(reused as input for setting or resetting the currently-set v)144 350.4
+144 554.4 Q F1(set)108 571.2 Q F0([)2.5 E F1
+(\255\255abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1<ad6f>-2.5 E F2
+(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0(...])2.5 E F1
+(set)108 583.2 Q F0([)2.5 E F1(+abefhkmnptuvxBCEHPT)A F0 2.5(][)C F1(+o)
+-2.5 E F2(option\255name)2.5 E F0 2.5(][)C F2(ar)-2.5 E(g)-.37 E F0
+(...])2.5 E -.4(Wi)144 595.2 S .836(thout options, the name and v).4 F
+.835(alue of each shell v)-.25 F .835
+(ariable are displayed in a format that can be)-.25 F .784
+(reused as input for setting or resetting the currently-set v)144 607.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 362.4 R F2 .447(posix mode)
+(riables cannot be).25 F 2.947(reset. In)144 619.2 R F2 .447(posix mode)
2.947 F F0 2.947(,o)C .447(nly shell v)-2.947 F .447
(ariables are listed.)-.25 F .447
(The output is sorted according to the current)5.447 F 3.53
-(locale. When)144 374.4 R 1.031(options are speci\214ed, the)3.53 F
+(locale. When)144 631.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 386.4 R 1.623
+1.624(after option processing are treated as v)144 643.2 R 1.623
(alues for the positional parameters and are assigned, in)-.25 F(order)
-144 398.4 Q 2.5(,t)-.4 G(o)-2.5 E F1($1)2.5 E F0(,)A F1($2)2.5 E F0(,)A
+144 655.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 410.4 Q
+-.15(ve t)-.2 H(he follo).15 E(wing meanings:)-.25 E F1<ad61>144 667.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 422.4 Q(vironment of subsequent commands.)
--.4 E F1<ad62>144 434.4 Q F0 .132
+(xport to)-.15 F(the en)184 679.2 Q(vironment of subsequent commands.)
+-.4 E F1<ad62>144 691.2 Q F0 .132
(Report the status of terminated background jobs immediately)28.74 F
2.632(,r)-.65 G .131(ather than before the ne)-2.632 F(xt)-.15 E
-(primary prompt.)184 446.4 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 458.4 Q F0 .51
+(primary prompt.)184 703.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 715.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 470.4 Q F0 .872
+F0 3.011(\), a)B F2(sub-)3.011 E(shell)184 727.2 Q F0 .872
(command enclosed in parentheses, or one of the commands e)3.373 F -.15
-(xe)-.15 G .872(cuted as part of a).15 F .399
-(command list enclosed by braces \(see)184 482.4 R/F3 9/Times-Bold@0 SF
+(xe)-.15 G .872(cuted as part of a).15 F(GNU Bash-4.0)72 768 Q
+(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
+%%Page: 14 14
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .399
+(command list enclosed by braces \(see)184 84 R/F1 9/Times-Bold@0 SF
.399(SHELL GRAMMAR)2.899 F F0(abo)2.649 E -.15(ve)-.15 G 2.899(\)e).15 G
-.399(xits with a non-zero)-3.049 F 3.969(status. The)184 494.4 R 1.468
+.399(xits with a non-zero)-3.049 F 3.969(status. The)184 96 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 506.4
-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
-518.4 Q .544(ed w)-.15 F .544(ords, part of an)-.1 F 3.044(yc)-.15 G
-.544(ommand e)-3.044 F -.15(xe)-.15 G .544(cuted in a).15 F F1(&&)3.044
-E F0(or)3.044 E/F4 10/Symbol SF<efef>3.044 E F0 .544(list e)3.044 F .544
-(xcept the command)-.15 F(follo)184 530.4 Q 1.23(wing the \214nal)-.25 F
-F1(&&)3.73 E F0(or)3.73 E F4<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 542.4 Q 3.191(sr)-.55 G
-.691(eturn v)-3.191 F .691(alue is being in)-.25 F -.15(ve)-.4 G .691
-(rted with).15 F F1(!)3.191 E F0 5.691(.A)C .691(trap on)-2.5 F F1(ERR)
-3.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 554.4 R 3.186(xits. This)
--.15 F .686(option applies to the shell en)3.186 F .686
-(vironment and each subshell en)-.4 F(viron-)-.4 E .068
-(ment separately \(see)184 566.4 R F3 .068(COMMAND EXECUTION ENVIR)2.568
-F(ONMENT)-.27 E F0(abo)2.318 E -.15(ve)-.15 G .068(\), and may cause).15
-F(subshells to e)184 578.4 Q(xit before e)-.15 E -.15(xe)-.15 G
-(cuting all the commands in the subshell.).15 E F1<ad66>144 590.4 Q F0
-(Disable pathname e)30.97 E(xpansion.)-.15 E F1<ad68>144 602.4 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 614.4 Q(ault.)-.1 E F1
-<ad6b>144 626.4 Q F0 .514(All ar)28.74 F .514
+(ails is part of the command list)-.1 F .569(immediately follo)184 108 R
+.569(wing a)-.25 F/F2 10/Times-Bold@0 SF(while)3.069 E F0(or)3.069 E F2
+(until)3.069 E F0 -.1(ke)3.069 G(yw)-.05 E .569
+(ord, part of the test follo)-.1 F .57(wing the)-.25 F F2(if)3.07 E F0
+(or)3.07 E F2(elif)3.07 E F0(reserv)184 120 Q .91(ed w)-.15 F .91
+(ords, part of an)-.1 F 3.41(yc)-.15 G .909(ommand e)-3.41 F -.15(xe)
+-.15 G .909(cuted in a).15 F F2(&&)3.409 E F0(or)3.409 E F2(||)3.409 E
+F0 .909(list e)3.409 F .909(xcept the command)-.15 F(follo)184 132 Q
+.049(wing the \214nal)-.25 F F2(&&)2.549 E F0(or)2.549 E F2(||)2.549 E
+F0 2.549(,a)C .349 -.15(ny c)-2.549 H .049(ommand in a pipeline b).15 F
+.05(ut the last, or if the command')-.2 F(s)-.55 E .373(return v)184 144
+R .373(alue is being in)-.25 F -.15(ve)-.4 G .373(rted with).15 F F2(!)
+2.873 E F0 5.372(.A)C .372(trap on)-2.5 F F2(ERR)2.872 E F0 2.872(,i)C
+2.872(fs)-2.872 G .372(et, is e)-2.872 F -.15(xe)-.15 G .372
+(cuted before the shell).15 F -.15(ex)184 156 S 2.896(its. This).15 F
+.397(option applies to the shell en)2.896 F .397
+(vironment and each subshell en)-.4 F .397(vironment sepa-)-.4 F .191
+(rately \(see)184 168 R F1 .19(COMMAND EXECUTION ENVIR)2.691 F(ONMENT)
+-.27 E F0(abo)2.44 E -.15(ve)-.15 G .19(\), and may cause subshells).15
+F(to e)184 180 Q(xit before e)-.15 E -.15(xe)-.15 G
+(cuting all the commands in the subshell.).15 E F2<ad66>144 192 Q F0
+(Disable pathname e)30.97 E(xpansion.)-.15 E F2<ad68>144 204 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 216 Q(ault.)-.1 E F2
+<ad6b>144 228 Q F0 .514(All ar)28.74 F .514
(guments in the form of assignment statements are placed in the en)-.18
F .513(vironment for a)-.4 F
-(command, not just those that precede the command name.)184 638.4 Q F1
-<ad6d>144 650.4 Q F0 .148(Monitor mode.)25.97 F .148
+(command, not just those that precede the command name.)184 240 Q F2
+<ad6d>144 252 Q F0 .148(Monitor mode.)25.97 F .148
(Job control is enabled.)5.148 F .149(This option is on by def)5.148 F
.149(ault for interacti)-.1 F .449 -.15(ve s)-.25 H(hells).15 E .637
-(on systems that support it \(see)184 662.4 R F3 .636(JOB CONTR)3.136 F
+(on systems that support it \(see)184 264 R F1 .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 674.4 R .642
-(xit status is printed upon their com-)-.15 F(pletion.)184 686.4 Q F1
-<ad6e>144 698.4 Q F0 .653(Read commands b)28.74 F .653(ut do not e)-.2 F
+(separate process group and a line containing their e)184 276 R .642
+(xit status is printed upon their com-)-.15 F(pletion.)184 288 Q F2
+<ad6e>144 300 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
-710.4 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15
-E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(13)198.725 E 0 Cg EP
-%%Page: 14 14
+312 Q(This is ignored by interacti)5 E .3 -.15(ve s)-.25 H(hells.).15 E
+F2<ad6f>144 324 Q/F3 10/Times-Italic@0 SF(option\255name)2.5 E F0(The)
+184 336 Q F3(option\255name)2.5 E F0(can be one of the follo)2.5 E
+(wing:)-.25 E F2(allexport)184 348 Q F0(Same as)224 360 Q F2<ad61>2.5 E
+F0(.)A F2(braceexpand)184 372 Q F0(Same as)224 384 Q F2<ad42>2.5 E F0(.)
+A F2(emacs)184 396 Q F0 .089
+(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
+-.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
+(when the shell is interacti)224 408 R -.15(ve)-.25 G 3.45(,u).15 G .95
+(nless the shell is started with the)-3.45 F F2(\255\255noediting)3.45 E
+F0 2.5(option. This)224 420 R(also af)2.5 E(fects the editing interf)
+-.25 E(ace used for)-.1 E F2 -.18(re)2.5 G(ad \255e).18 E F0(.)A F2(err)
+184 432 Q(exit)-.18 E F0(Same as)11.31 E F2<ad65>2.5 E F0(.)A F2
+(errtrace)184 444 Q F0(Same as)5.03 E F2<ad45>2.5 E F0(.)A F2(functrace)
+184 456 Q F0(Same as)224 468 Q F2<ad54>2.5 E F0(.)A F2(hashall)184 480 Q
+F0(Same as)9.43 E F2<ad68>2.5 E F0(.)A F2(histexpand)184 492 Q F0
+(Same as)224 504 Q F2<ad48>2.5 E F0(.)A F2(history)184 516 Q F0 .586
+(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
+(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E F1(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 528 Q(ault in interacti)-.1 E .3 -.15(ve s)-.25 H
+(hells.).15 E F2(ignor)184 540 Q(eeof)-.18 E F0 1.657(The ef)224 552 R
+1.657(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF
+(IGNOREEOF=10)4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted)
+.15 E(\(see)224 564 Q F2(Shell V)2.5 E(ariables)-.92 E F0(abo)2.5 E -.15
+(ve)-.15 G(\).).15 E F2 -.1(ke)184 576 S(yw).1 E(ord)-.1 E F0(Same as)
+224 588 Q F2<ad6b>2.5 E F0(.)A F2(monitor)184 600 Q F0(Same as)5.56 E F2
+<ad6d>2.5 E F0(.)A F2(noclob)184 612 Q(ber)-.1 E F0(Same as)224 624 Q F2
+<ad43>2.5 E F0(.)A F2(noexec)184 636 Q F0(Same as)11.12 E F2<ad6e>2.5 E
+F0(.)A F2(noglob)184 648 Q F0(Same as)11.1 E F2<ad66>2.5 E F0(.)A F2
+(nolog)184 660 Q F0(Currently ignored.)16.66 E F2(notify)184 672 Q F0
+(Same as)15 E F2<ad62>2.5 E F0(.)A F2(nounset)184 684 Q F0(Same as)6.66
+E F2<ad75>2.5 E F0(.)A F2(onecmd)184 696 Q F0(Same as)6.67 E F2<ad74>2.5
+E F0(.)A F2(ph)184 708 Q(ysical)-.15 E F0(Same as)5.14 E F2<ad50>2.5 E
+F0(.)A(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)198.725 E 0 Cg EP
+%%Page: 15 15
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad6f>144 84 Q/F2 10/Times-Italic@0 SF(option\255name)
-2.5 E F0(The)184 96 Q F2(option\255name)2.5 E F0
-(can be one of the follo)2.5 E(wing:)-.25 E F1(allexport)184 108 Q F0
-(Same as)224 120 Q F1<ad61>2.5 E F0(.)A F1(braceexpand)184 132 Q F0
-(Same as)224 144 Q F1<ad42>2.5 E F0(.)A F1(emacs)184 156 Q F0 .089
-(Use an emacs-style command line editing interf)13.9 F 2.589(ace. This)
--.1 F .089(is enabled by def)2.589 F(ault)-.1 E .95
-(when the shell is interacti)224 168 R -.15(ve)-.25 G 3.45(,u).15 G .95
-(nless the shell is started with the)-3.45 F F1(\255\255noediting)3.45 E
-F0 2.5(option. This)224 180 R(also af)2.5 E(fects the editing interf)
--.25 E(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(err)
-184 192 Q(exit)-.18 E F0(Same as)11.31 E F1<ad65>2.5 E F0(.)A F1
-(errtrace)184 204 Q F0(Same as)5.03 E F1<ad45>2.5 E F0(.)A F1(functrace)
-184 216 Q F0(Same as)224 228 Q F1<ad54>2.5 E F0(.)A F1(hashall)184 240 Q
-F0(Same as)9.43 E F1<ad68>2.5 E F0(.)A F1(histexpand)184 252 Q F0
-(Same as)224 264 Q F1<ad48>2.5 E F0(.)A F1(history)184 276 Q F0 .586
-(Enable command history)10 F 3.087(,a)-.65 G 3.087(sd)-3.087 G .587
-(escribed abo)-3.087 F .887 -.15(ve u)-.15 H(nder).15 E/F3 9
-/Times-Bold@0 SF(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF
-(.)A F0 .587(This option is)5.087 F(on by def)224 288 Q
-(ault in interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(ignor)184
-300 Q(eeof)-.18 E F0 1.657(The ef)224 312 R 1.657
-(fect is as if the shell command)-.25 F/F5 10/Courier@0 SF(IGNOREEOF=10)
-4.156 E F0 1.656(had been e)4.156 F -.15(xe)-.15 G(cuted).15 E(\(see)224
-324 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 336 S(yw).1 E(ord)-.1 E F0(Same as)224 348 Q F1
-<ad6b>2.5 E F0(.)A F1(monitor)184 360 Q F0(Same as)5.56 E F1<ad6d>2.5 E
-F0(.)A F1(noclob)184 372 Q(ber)-.1 E F0(Same as)224 384 Q F1<ad43>2.5 E
-F0(.)A F1(noexec)184 396 Q F0(Same as)11.12 E F1<ad6e>2.5 E F0(.)A F1
-(noglob)184 408 Q F0(Same as)11.1 E F1<ad66>2.5 E F0(.)A F1(nolog)184
-420 Q F0(Currently ignored.)16.66 E F1(notify)184 432 Q F0(Same as)15 E
-F1<ad62>2.5 E F0(.)A F1(nounset)184 444 Q F0(Same as)6.66 E F1<ad75>2.5
-E F0(.)A F1(onecmd)184 456 Q F0(Same as)6.67 E F1<ad74>2.5 E F0(.)A F1
-(ph)184 468 Q(ysical)-.15 E F0(Same as)5.14 E F1<ad50>2.5 E F0(.)A F1
-(pipefail)184 480 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 492 R
+/Times-Bold@0 SF(pipefail)184 84 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 96 R
1.136
(xit with a non-zero status, or zero if all commands in the pipeline)
--.15 F -.15(ex)224 504 S(it successfully).15 E 5(.T)-.65 G
-(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 516 Q F0
+-.15 F -.15(ex)224 108 S(it successfully).15 E 5(.T)-.65 G
+(his option is disabled by def)-5 E(ault.)-.1 E F1(posix)184 120 Q F0
2.09(Change the beha)17.77 F 2.091(vior of)-.2 F F1(bash)4.591 E F0
2.091(where the def)4.591 F 2.091(ault operation dif)-.1 F 2.091
-(fers from the)-.25 F(POSIX standard to match the standard \()224 528 Q
-F2(posix mode)A F0(\).)A F1(pri)184 540 Q(vileged)-.1 E F0(Same as)224
-552 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 564 S(rbose).1 E F0(Same as)
-7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 576 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 588 Q
-(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0(.)A F1(xtrace)184
-600 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184 618 Q F1<ad6f>3.052
-E F0 .552(is supplied with no)3.052 F F2(option\255name)3.053 E F0 3.053
-(,t)C .553(he v)-3.053 F .553(alues of the current options are printed.)
--.25 F(If)5.553 E F1(+o)184 630 Q F0 1.072(is supplied with no)3.572 F
-F2(option\255name)3.572 E F0 3.572(,a)C 1.071(series of)-.001 F F1(set)
-3.571 E F0 1.071(commands to recreate the current)3.571 F
-(option settings is displayed on the standard output.)184 642 Q F1<ad70>
-144 654 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
+(fers from the)-.25 F(POSIX standard to match the standard \()224 132 Q
+/F2 10/Times-Italic@0 SF(posix mode)A F0(\).)A F1(pri)184 144 Q(vileged)
+-.1 E F0(Same as)224 156 Q F1<ad70>2.5 E F0(.)A F1 -.1(ve)184 168 S
+(rbose).1 E F0(Same as)7.33 E F1<ad76>2.5 E F0(.)A F1(vi)184 180 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 192 Q(ace used for)-.1 E F1 -.18(re)2.5 G(ad \255e).18 E F0
+(.)A F1(xtrace)184 204 Q F0(Same as)13.35 E F1<ad78>2.5 E F0(.)A(If)184
+222 Q F1<ad6f>3.052 E F0 .552(is supplied with no)3.052 F F2
+(option\255name)3.053 E F0 3.053(,t)C .553(he v)-3.053 F .553
+(alues of the current options are printed.)-.25 F(If)5.553 E F1(+o)184
+234 Q F0 1.072(is supplied with no)3.572 F F2(option\255name)3.572 E F0
+3.572(,a)C 1.071(series of)-.001 F F1(set)3.571 E F0 1.071
+(commands to recreate the current)3.571 F
+(option settings is displayed on the standard output.)184 246 Q F1<ad70>
+144 258 Q F0 -.45(Tu)28.74 G 1.071(rn on).45 F F2(privile)4.821 E -.1
(ge)-.4 G(d).1 E F0 3.572(mode. In)4.341 F 1.072(this mode, the)3.572 F
-F3($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 666 R 1.5
-(vironment, and the)-.4 F F3(SHELLOPTS)4 E F4(,)A F3 -.27(BA)184 678 S
-(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H).855 E F4(,)A F0
-(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G .524
-(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
-(vironment,)-.4 E .38(are ignored.)184 690 R .38
+/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 270 R 1.5
+(vironment, and the)-.4 F F3(SHELLOPTS)4 E/F4 9/Times-Roman@0 SF(,)A F3
+-.27(BA)184 282 S(SHOPTS).27 E F4(,)A F3(CDP)2.774 E -.855(AT)-.666 G(H)
+.855 E F4(,)A F0(and)2.774 E F3(GLOBIGNORE)3.024 E F0 -.25(va)2.774 G
+.524(riables, if the).25 F 3.025(ya)-.15 G .525(ppear in the en)-3.025 F
+(vironment,)-.4 E .38(are ignored.)184 294 R .38
(If the shell is started with the ef)5.38 F(fecti)-.25 E .679 -.15(ve u)
-.25 H .379(ser \(group\) id not equal to the real).15 F .461
-(user \(group\) id, and the)184 702 R F1<ad70>2.961 E F0 .461
+(user \(group\) id, and the)184 306 R F1<ad70>2.961 E F0 .461
(option is not supplied, these actions are tak)2.961 F .462
-(en and the ef)-.1 F(fec-)-.25 E(ti)184 714 Q .695 -.15(ve u)-.25 H .395
+(en and the ef)-.1 F(fec-)-.25 E(ti)184 318 Q .695 -.15(ve u)-.25 H .395
(ser id is set to the real user id.).15 F .395(If the)5.395 F F1<ad70>
2.895 E F0 .394(option is supplied at startup, the ef)2.895 F(fecti)-.25
-E -.15(ve)-.25 G .386(user id is not reset.)184 726 R -.45(Tu)5.386 G
+E -.15(ve)-.25 G .386(user id is not reset.)184 330 R -.45(Tu)5.386 G
.386(rning this option of).45 F 2.886(fc)-.25 G .387(auses the ef)-2.886
F(fecti)-.25 E .687 -.15(ve u)-.25 H .387(ser and group ids to be).15 F
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(14)198.725 E 0 Cg EP
-%%Page: 15 15
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E
-(set to the real user and group ids.)184 84 Q/F1 10/Times-Bold@0 SF
-<ad74>144 96 Q F0(Exit after reading and e)30.97 E -.15(xe)-.15 G
-(cuting one command.).15 E F1<ad75>144 108 Q F0 -.35(Tr)28.74 G .044
-(eat unset v).35 F .044(ariables and parameters other than the special \
-parameters "@" and "*" as an)-.25 F .182
-(error when performing parameter e)184 120 R 2.682(xpansion. If)-.15 F
--.15(ex)2.682 G .183(pansion is attempted on an unset v).15 F(ari-)-.25
-E .746(able or parameter)184 132 R 3.246(,t)-.4 G .746
+(set to the real user and group ids.)184 342 Q F1<ad74>144 354 Q F0
+(Exit after reading and e)30.97 E -.15(xe)-.15 G(cuting one command.).15
+E F1<ad75>144 366 Q F0 -.35(Tr)28.74 G .044(eat unset v).35 F .044(aria\
+bles and parameters other than the special parameters "@" and "*" as an)
+-.25 F .182(error when performing parameter e)184 378 R 2.682
+(xpansion. If)-.15 F -.15(ex)2.682 G .183
+(pansion is attempted on an unset v).15 F(ari-)-.25 E .746
+(able or parameter)184 390 R 3.246(,t)-.4 G .746
(he shell prints an error message, and, if not interacti)-3.246 F -.15
(ve)-.25 G 3.246(,e).15 G .746(xits with a)-3.396 F(non-zero status.)184
-144 Q F1<ad76>144 156 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
--.15 G(re read.)-2.5 E F1<ad78>144 168 Q F0 .315(After e)29.3 F .315
-(xpanding each)-.15 F/F2 10/Times-Italic@0 SF .315(simple command)2.815
-F F0(,)A F1 -.25(fo)2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E
-F0(command,)2.815 E F1(select)2.815 E F0(command,)2.815 E 1.236
-(or arithmetic)184 180 R F1 -.25(fo)3.736 G(r).25 E F0 1.236
-(command, display the e)3.736 F 1.236(xpanded v)-.15 F 1.236(alue of)
--.25 F/F3 9/Times-Bold@0 SF(PS4)3.736 E/F4 9/Times-Roman@0 SF(,)A F0
-(follo)3.486 E 1.236(wed by the com-)-.25 F(mand and its e)184 192 Q
+402 Q F1<ad76>144 414 Q F0(Print shell input lines as the)29.3 E 2.5(ya)
+-.15 G(re read.)-2.5 E F1<ad78>144 426 Q F0 .315(After e)29.3 F .315
+(xpanding each)-.15 F F2 .315(simple command)2.815 F F0(,)A F1 -.25(fo)
+2.815 G(r).25 E F0(command,)2.815 E F1(case)2.815 E F0(command,)2.815 E
+F1(select)2.815 E F0(command,)2.815 E 1.236(or arithmetic)184 438 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 450 Q
(xpanded ar)-.15 E(guments or associated w)-.18 E(ord list.)-.1 E F1
-<ad42>144 204 Q F0 2.578(The shell performs brace e)27.63 F 2.578
+<ad42>144 462 Q F0 2.578(The shell performs brace e)27.63 F 2.578
(xpansion \(see)-.15 F F1 2.578(Brace Expansion)5.078 F F0(abo)5.078 E
--.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 216 Q
-(ault.)-.1 E F1<ad43>144 228 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
+-.15(ve)-.15 G 5.079(\). This).15 F 2.579(is on by)5.079 F(def)184 474 Q
+(ault.)-.1 E F1<ad43>144 486 Q F0 .214(If set,)27.08 F F1(bash)2.714 E
F0 .214(does not o)2.714 F -.15(ve)-.15 G .214(rwrite an e).15 F .214
(xisting \214le with the)-.15 F F1(>)2.714 E F0(,)A F1(>&)2.714 E F0
2.713(,a)C(nd)-2.713 E F1(<>)2.713 E F0 .213(redirection opera-)2.713 F
-3.053(tors. This)184 240 R .553(may be o)3.053 F -.15(ve)-.15 G .553
+3.053(tors. This)184 498 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 252 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
-<ad45>144 264 Q F0 .104(If set, an)27.63 F 2.604(yt)-.15 G .104(rap on)
+.15 F(tor)184 510 Q F1(>|)2.5 E F0(instead of)2.5 E F1(>)2.5 E F0(.)A F1
+<ad45>144 522 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 276 R -.15(xe)-.15 G .838(cuted in a subshell en).15
+F .838(mands e)184 534 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 288 Q F1
-<ad48>144 300 Q F0(Enable)26.52 E F1(!)3.032 E F0 .532
+(trap is normally not inherited in)3.339 F(such cases.)184 546 Q F1
+<ad48>144 558 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 312 Q -.15
-(ve)-.25 G(.).15 E F1<ad50>144 324 Q F0 1.164
+F .531(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 570 Q -.15
+(ve)-.25 G(.).15 E F1<ad50>144 582 Q F0 1.164
(If set, the shell does not follo)28.19 F 3.664(ws)-.25 G 1.164
(ymbolic links when e)-3.664 F -.15(xe)-.15 G 1.165
(cuting commands such as).15 F F1(cd)3.665 E F0 2.822
-(that change the current w)184 336 R 2.822(orking directory)-.1 F 7.822
+(that change the current w)184 594 R 2.822(orking directory)-.1 F 7.822
(.I)-.65 G 5.322(tu)-7.822 G 2.822(ses the ph)-5.322 F 2.821
-(ysical directory structure)-.05 F 2.685(instead. By)184 348 R(def)2.685
+(ysical directory structure)-.05 F 2.685(instead. By)184 606 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 360 Q(.)-.65 E F1<ad54>144
-372 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
+(mands which change the current directory)184 618 Q(.)-.65 E F1<ad54>144
+630 Q F0 .89(If set, an)27.63 F 3.39(yt)-.15 G .89(raps on)-3.39 F F1
(DEB)3.39 E(UG)-.1 E F0(and)3.39 E F1(RETURN)3.39 E F0 .89
(are inherited by shell functions, command)3.39 F 1.932
-(substitutions, and commands e)184 384 R -.15(xe)-.15 G 1.932
+(substitutions, and commands e)184 642 R -.15(xe)-.15 G 1.932
(cuted in a subshell en).15 F 4.432(vironment. The)-.4 F F1(DEB)4.432 E
-(UG)-.1 E F0(and)4.432 E F1(RETURN)184 396 Q F0
-(traps are normally not inherited in such cases.)2.5 E F1<adad>144 408 Q
+(UG)-.1 E F0(and)4.432 E F1(RETURN)184 654 Q F0
+(traps are normally not inherited in such cases.)2.5 E F1<adad>144 666 Q
F0 .401(If no ar)28.6 F .401(guments follo)-.18 F 2.901(wt)-.25 G .401
(his option, then the positional parameters are unset.)-2.901 F
-(Otherwise,)5.4 E(the positional parameters are set to the)184 420 Q F2
+(Otherwise,)5.4 E(the positional parameters are set to the)184 678 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
-432 Q F0 1.944(Signal the end of options, cause all remaining)34.3 F F2
+690 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 444 R
+1.945(ssigned to the positional)-4.445 F 3.446(parameters. The)184 702 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 456 Q .425(The options are of)144
-472.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
+(parameters remain unchanged.)184 714 Q .425(The options are of)144
+730.8 R 2.925(fb)-.25 G 2.925(yd)-2.925 G(ef)-2.925 E .425
(ault unless otherwise noted.)-.1 F .425
-(Using + rather than \255 causes these options)5.425 F .178
-(to be turned of)144 484.8 R 2.678(f. The)-.25 F .178
+(Using + rather than \255 causes these options)5.425 F(GNU Bash-4.0)72
+768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
+%%Page: 16 16
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .178
+(to be turned of)144 84 R 2.678(f. The)-.25 F .178
(options can also be speci\214ed as ar)2.678 F .178(guments to an in)
-.18 F -.2(vo)-.4 G .177(cation of the shell.).2 F(The)5.177 E .066
-(current set of options may be found in)144 496.8 R F1<24ad>2.566 E F0
-5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)-.1 G .066
-(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
-(is encountered.)144 508.8 Q F1(shift)108 525.6 Q F0([)2.5 E F2(n)A F0
-(])A .429(The positional parameters from)144 537.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 549.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 561.6 R(If)5.06 E F2(n)2.92 E F0
-.06(is not gi)2.8 F -.15(ve)-.25 G .06(n, it is assumed to be 1.).15 F
-(If)5.06 E F2(n)2.92 E F0 .06(is greater than)2.8 F F1($#)2.56 E F0 2.56
-(,t)C(he)-2.56 E .143(positional parameters are not changed.)144 573.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 585.6 Q F1(shopt)108 602.4 Q F0([)
+(current set of options may be found in)144 96 R/F1 10/Times-Bold@0 SF
+<24ad>2.566 E F0 5.066(.T)C .066(he return status is al)-5.066 F -.1(wa)
+-.1 G .066(ys true unless an in).1 F -.25(va)-.4 G .067(lid option).25 F
+(is encountered.)144 108 Q F1(shift)108 124.8 Q F0([)2.5 E/F2 10
+/Times-Italic@0 SF(n)A F0(])A .429(The positional parameters from)144
+136.8 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 148.8 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 160.8
+R(If)5.06 E F2(n)2.92 E F0 .06(is not gi)2.8 F -.15(ve)-.25 G .06
+(n, it is assumed to be 1.).15 F(If)5.06 E F2(n)2.92 E F0 .06
+(is greater than)2.8 F F1($#)2.56 E F0 2.56(,t)C(he)-2.56 E .143
+(positional parameters are not changed.)144 172.8 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 184.8 Q F1(shopt)108 201.6 Q F0([)
2.5 E F1(\255pqsu)A F0 2.5(][)C F1<ad6f>-2.5 E F0 2.5(][)C F2(optname)
--2.5 E F0(...])2.5 E -.8(To)144 614.4 S .222(ggle the v).8 F .222
+-2.5 E F0(...])2.5 E -.8(To)144 213.6 S .222(ggle the v).8 F .222
(alues of v)-.25 F .222(ariables controlling optional shell beha)-.25 F
(vior)-.2 E 5.222(.W)-.55 G .222(ith no options, or with the)-5.622 F F1
<ad70>2.722 E F0 .721(option, a list of all settable options is display\
-ed, with an indication of whether or not each is set.)144 626.4 R(The)
-144 638.4 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
+ed, with an indication of whether or not each is set.)144 225.6 R(The)
+144 237.6 Q F1<ad70>2.828 E F0 .327(option causes output to be displaye\
d in a form that may be reused as input.)2.828 F .327(Other options)
-5.327 F(ha)144 650.4 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
--.25 E F1<ad73>144 662.4 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
-E F0(.)A F1<ad75>144 674.4 Q F0(Disable \(unset\) each)24.74 E F2
-(optname)2.5 E F0(.)A F1<ad71>144 686.4 Q F0 .003(Suppresses normal out\
+5.327 F(ha)144 249.6 Q .3 -.15(ve t)-.2 H(he follo).15 E(wing meanings:)
+-.25 E F1<ad73>144 261.6 Q F0(Enable \(set\) each)26.41 E F2(optname)2.5
+E F0(.)A F1<ad75>144 273.6 Q F0(Disable \(unset\) each)24.74 E F2
+(optname)2.5 E F0(.)A F1<ad71>144 285.6 Q F0 .003(Suppresses normal out\
put \(quiet mode\); the return status indicates whether the)24.74 F F2
-(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 698.4 R .256
+(optname)2.504 E F0(is)2.504 E .256(set or unset.)180 297.6 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 710.4 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
-2.5 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(15)198.725 E 0 Cg EP
-%%Page: 16 16
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF<ad6f>144 84 Q F0(Restricts the v)25.3 E(alues of)-.25 E
-/F2 10/Times-Italic@0 SF(optname)2.5 E F0(to be those de\214ned for the)
-2.5 E F1<ad6f>2.5 E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G
-(iltin.).2 E .127(If either)144 100.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.024(are set or unset, respecti)144 112.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 124.8 Q
-(ault.)-.1 E 1.544
-(The return status when listing options is zero if all)144 141.6 R F2
-(optnames)4.044 E F0 1.545(are enabled, non-zero otherwise.)4.045 F .696
+(all)180 309.6 Q F2(optnames)2.5 E F0(are enabled; non-zero otherwise.)
+2.5 E F1<ad6f>144 321.6 Q F0(Restricts the v)25.3 E(alues of)-.25 E F2
+(optname)2.5 E F0(to be those de\214ned for the)2.5 E F1<ad6f>2.5 E F0
+(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E .127
+(If either)144 338.4 R F1<ad73>2.627 E F0(or)2.627 E F1<ad75>2.627 E F0
+.127(is used with no)2.627 F F2(optname)2.627 E F0(ar)2.627 E .127
+(guments, the display is limited to those options which)-.18 F 1.024
+(are set or unset, respecti)144 350.4 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 362.4 Q(ault.)
+-.1 E 1.544(The return status when listing options is zero if all)144
+379.2 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 153.6 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695
-(alid shell)-.25 F(option.)144 165.6 Q(The list of)144 182.4 Q F1(shopt)
-2.5 E F0(options is:)2.5 E F1(autocd)144 200.4 Q F0 .199
+144 391.2 R F2(optname)3.196 E F0 .696(is not a v)3.196 F .695
+(alid shell)-.25 F(option.)144 403.2 Q(The list of)144 420 Q F1(shopt)
+2.5 E F0(options is:)2.5 E F1(autocd)144 438 Q F0 .199
(If set, a command name that is the name of a directory is e)11.11 F
-.15(xe)-.15 G .2(cuted as if it were the ar).15 F(gu-)-.18 E
-(ment to the)184 212.4 Q F1(cd)2.5 E F0 2.5(command. This)2.5 F
+(ment to the)184 450 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 224.4 Q(ars)-.1 E F0 .156(If set, an ar)184 236.4 R .156
+F1(cdable_v)144 462 Q(ars)-.1 E F0 .156(If set, an ar)184 474 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 248.4 Q(ariable whose v)-.25 E
-(alue is the directory to change to.)-.25 E F1(cdspell)144 260.4 Q F0
+(name of a v)184 486 Q(ariable whose v)-.25 E
+(alue is the directory to change to.)-.25 E F1(cdspell)144 498 Q F0
1.055
(If set, minor errors in the spelling of a directory component in a)
10.55 F F1(cd)3.555 E F0 1.055(command will be)3.555 F 3.988
-(corrected. The)184 272.4 R 1.488(errors check)3.988 F 1.487
+(corrected. The)184 510 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 284.4 R 4.352 -.65
-(y. I)-.15 H 3.052(fac).65 G .552
+-.4 G(nd)-3.987 E .552(one character too man)184 522 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 296.4 Q
-(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
-.15 E F1(checkhash)144 308.4 Q F0 2.08(If set,)184 320.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 332.4 S(cute it.).15 E
+(the command proceeds.)184 534 Q(This option is only used by interacti)5
+E .3 -.15(ve s)-.25 H(hells.).15 E F1(checkhash)144 546 Q F0 2.08
+(If set,)184 558 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 570 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 344.4
-Q F0 .448(If set,)184 356.4 R F1(bash)2.948 E F0 .448
+(xists, a normal path search is performed.)-.15 E F1(checkjobs)144 582 Q
+F0 .448(If set,)184 594 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 368.4 R(an)3.439 E 3.439(yj)-.15 G
+F -.15(ve)-.25 G 3.439(shell. If)184 606 R(an)3.439 E 3.439(yj)-.15 G
.938(obs are running, this causes the e)-3.439 F .938
(xit to be deferred until a second e)-.15 F .938(xit is)-.15 F 2.203
-(attempted without an interv)184 380.4 R 2.203(ening command \(see)-.15
-F/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
--.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 392.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 404.4 Q F0 .797(If set,)184
-416.4 R F1(bash)3.297 E F0 .797(checks the windo)3.297 F 3.297(ws)-.25 G
+(attempted without an interv)184 618 R 2.203(ening command \(see)-.15 F
+/F3 9/Times-Bold@0 SF 2.203(JOB CONTR)4.703 F(OL)-.27 E F0(abo)4.453 E
+-.15(ve)-.15 G 4.703(\). The).15 F(shell)4.704 E(al)184 630 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 642 Q F0 .797(If set,)184
+654 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 428.4 S(lues of).25 E F3(LINES)2.5
-E F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist)
-144 440.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
+.796(pdates the)-3.296 F -.25(va)184 666 S(lues of).25 E F3(LINES)2.5 E
+F0(and)2.25 E F3(COLUMNS)2.5 E/F4 9/Times-Roman@0 SF(.)A F1(cmdhist)144
+678 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
-452.4 Q 5(.T)-.65 G(his allo)-5 E
-(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 464.4
-Q F0 .42(If set,)184 476.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 488.4 Q 2.5(s=)-.55 G 2.5(~o)-2.5 G
-(perator)-2.5 E(.)-.55 E F1(compat32)144 500.4 Q F0 1.409(If set,)184
-512.4 R F1(bash)3.909 E F0 1.409(changes its beha)3.909 F 1.409
-(vior to that of v)-.2 F 1.41
-(ersion 3.2 with respect to locale-speci\214c)-.15 F
-(string comparison when using the conditional command')184 524.4 Q 2.5
-(s<a)-.55 G(nd > operators.)-2.5 E F1(compat40)144 536.4 Q F0 1.41
-(If set,)184 548.4 R F1(bash)3.91 E F0 1.41(changes its beha)3.91 F
-1.409(vior to that of v)-.2 F 1.409
-(ersion 4.0 with respect to locale-speci\214c)-.15 F 1.692
-(string comparison when using the conditional command')184 560.4 R 4.193
-(s<a)-.55 G 1.693(nd > operators and the)-4.193 F(ef)184 572.4 Q
-(fect of interrupting a command list.)-.25 E F1(dirspell)144 584.4 Q F0
-.859(If set,)7.77 F F1(bash)3.359 E F0 .858
+690 Q 5(.T)-.65 G(his allo)-5 E
+(ws easy re-editing of multi-line commands.)-.25 E F1(compat31)144 702 Q
+F0 .42(If set,)184 714 R F1(bash)2.92 E F0 .42(changes its beha)2.92 F
+.419(vior to that of v)-.2 F .419(ersion 3.1 with respect to quoted ar)
+-.15 F(guments)-.18 E(to the)184 726 Q F1([[)2.5 E F0
+(conditional command')2.5 E(s)-.55 E F1(=~)2.5 E F0(operator)2.5 E(.)
+-.55 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(16)198.725 E 0 Cg EP
+%%Page: 17 17
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(compat32)144 84 Q F0 1.409(If set,)184 96 R F1(bash)
+3.909 E F0 1.409(changes its beha)3.909 F 1.409(vior to that of v)-.2 F
+1.41(ersion 3.2 with respect to locale-speci\214c)-.15 F 1.266
+(string comparison when using the)184 108 R F1([[)3.766 E F0 1.266
+(conditional command')3.766 F(s)-.55 E F1(<)3.766 E F0(and)3.766 E F1(>)
+3.766 E F0 3.765(operators. Bash)3.765 F -.15(ve)184 120 S .512
+(rsions prior to bash-4.1 use ASCII collation and).15 F/F2 10
+/Times-Italic@0 SF(str)3.012 E(cmp)-.37 E F0 .513
+(\(3\); bash-4.1 and later use the).19 F(current locale')184 132 Q 2.5
+(sc)-.55 G(ollation sequence and)-2.5 E F2(str)2.5 E(coll)-.37 E F0
+(\(3\).).51 E F1(compat40)144 144 Q F0 1.41(If set,)184 156 R F1(bash)
+3.91 E F0 1.41(changes its beha)3.91 F 1.409(vior to that of v)-.2 F
+1.409(ersion 4.0 with respect to locale-speci\214c)-.15 F .422
+(string comparison when using the)184 168 R F1([[)2.922 E F0 .422
+(conditional command')2.922 F(s)-.55 E F1(<)2.922 E F0(and)2.922 E F1(>)
+2.923 E F0 .423(operators \(see pre-)2.923 F(vious item\) and the ef)184
+180 Q(fect of interrupting a command list.)-.25 E F1(compat41)144 192 Q
+F0 1.232(@item compat41 If set,)184 204 R F1(bash)3.732 E F0 3.732(,w)C
+1.232(hen in posix mode, treats a single quote in a double-)-3.732 F
+1.213(quoted parameter e)184 216 R 1.213
+(xpansion as a special character)-.15 F 6.213(.T)-.55 G 1.214
+(he single quotes must match \(an)-6.213 F -2.15 -.25(ev e)184 228 T
+2.949(nn).25 G .448(umber\) and the characters between the single quote\
+s are considered quoted.)-2.949 F(This)5.448 E .062(is the beha)184 240
+R .062(vior of posix mode through v)-.2 F .062(ersion 4.1.)-.15 F .062
+(The def)5.062 F .062(ault bash beha)-.1 F .063(vior remains as)-.2 F
+(in pre)184 252 Q(vious v)-.25 E(ersions.)-.15 E F1(dirspell)144 264 Q
+F0 .859(If set,)7.77 F F1(bash)3.359 E F0 .858
(attempts spelling correction on directory names during w)3.359 F .858
(ord completion if)-.1 F
-(the directory name initially supplied does not e)184 596.4 Q(xist.)-.15
-E F1(dotglob)144 608.4 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
+(the directory name initially supplied does not e)184 276 Q(xist.)-.15 E
+F1(dotglob)144 288 Q F0 .165(If set,)7.77 F F1(bash)2.665 E F0 .165
(includes \214lenames be)2.665 F .165(ginning with a `.)-.15 F 2.665('i)
-.7 G 2.665(nt)-2.665 G .165(he results of pathname e)-2.665 F
-(xpansion.)-.15 E F1(execfail)144 620.4 Q F0 1.387
+(xpansion.)-.15 E F1(execfail)144 300 Q F0 1.387
(If set, a non-interacti)7.79 F 1.687 -.15(ve s)-.25 H 1.386
(hell will not e).15 F 1.386(xit if it cannot e)-.15 F -.15(xe)-.15 G
-1.386(cute the \214le speci\214ed as an).15 F(ar)184 632.4 Q
+1.386(cute the \214le speci\214ed as an).15 F(ar)184 312 Q
(gument to the)-.18 E F1(exec)2.5 E F0 -.2(bu)2.5 G(iltin command.).2 E
(An interacti)5 E .3 -.15(ve s)-.25 H(hell does not e).15 E(xit if)-.15
-E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 644.4 Q
-F0 .716(If set, aliases are e)184 656.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 668.4 Q
-(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.).15 E F1(extdeb)144
-680.4 Q(ug)-.2 E F0(If set, beha)184 692.4 Q
+E F1(exec)2.5 E F0 -.1(fa)2.5 G(ils.).1 E F1(expand_aliases)144 324 Q F0
+.716(If set, aliases are e)184 336 R .717(xpanded as described abo)-.15
+F 1.017 -.15(ve u)-.15 H(nder).15 E/F3 9/Times-Bold@0 SF(ALIASES)3.217 E
+/F4 9/Times-Roman@0 SF(.)A F0 .717(This option is enabled)5.217 F
+(by def)184 348 Q(ault for interacti)-.1 E .3 -.15(ve s)-.25 H(hells.)
+.15 E F1(extdeb)144 360 Q(ug)-.2 E F0(If set, beha)184 372 Q
(vior intended for use by deb)-.2 E(uggers is enabled:)-.2 E F1(1.)184
-704.4 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
+384 Q F0(The)28.5 E F1<ad46>4.251 E F0 1.751(option to the)4.251 F F1
(declar)4.251 E(e)-.18 E F0 -.2(bu)4.251 G 1.751
(iltin displays the source \214le name and line).2 F
-(number corresponding to each function name supplied as an ar)220 716.4
-Q(gument.)-.18 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(16)198.725
-E 0 Cg EP
-%%Page: 17 17
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(2.)184 84 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 96 Q
--.15(xe)-.15 G(cuted.).15 E F1(3.)184 108 Q F0 .841
+(number corresponding to each function name supplied as an ar)220 396 Q
+(gument.)-.18 E F1(2.)184 408 Q F0 1.667(If the command run by the)28.5
+F F1(DEB)4.167 E(UG)-.1 E F0 1.667(trap returns a non-zero v)4.167 F
+1.667(alue, the ne)-.25 F(xt)-.15 E(command is skipped and not e)220 420
+Q -.15(xe)-.15 G(cuted.).15 E F1(3.)184 432 Q F0 .841
(If the command run by the)28.5 F F1(DEB)3.341 E(UG)-.1 E F0 .841
(trap returns a v)3.341 F .84(alue of 2, and the shell is)-.25 F -.15
-(exe)220 120 S .488
+(exe)220 444 S .488
(cuting in a subroutine \(a shell function or a shell script e).15 F
-.15(xe)-.15 G .488(cuted by the).15 F F1(.)2.988 E F0(or)2.988 E F1
-(sour)220 132 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
--.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 144 Q
-/F2 9/Times-Bold@0 SF -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F2
--.27(BA)3.404 G(SH_ARGV).27 E F0 .904
-(are updated as described in their descriptions)3.154 F(abo)220 156 Q
--.15(ve)-.15 G(.).15 E F1(5.)184 168 Q F0 1.359
+(sour)220 456 Q(ce)-.18 E F0 -.2(bu)2.5 G(iltins\), a call to).2 E F1
+-.18(re)2.5 G(tur).18 E(n)-.15 E F0(is simulated.)2.5 E F1(4.)184 468 Q
+F3 -.27(BA)28.5 G(SH_ARGC).27 E F0(and)3.154 E F3 -.27(BA)3.404 G
+(SH_ARGV).27 E F0 .904(are updated as described in their descriptions)
+3.154 F(abo)220 480 Q -.15(ve)-.15 G(.).15 E F1(5.)184 492 Q F0 1.359
(Function tracing is enabled:)28.5 F 1.359
(command substitution, shell functions, and sub-)6.359 F(shells in)220
-180 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E/F3 10
-/Times-Italic@0 SF(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1
-(DEB)2.5 E(UG)-.1 E F0(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)
-184 192 Q F0 .805(Error tracing is enabled:)28.5 F .804
-(command substitution, shell functions, and subshells)5.805 F(in)220 204
-Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F3
-(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E(OR)-.3 E F0
-(trap.)2.5 E F1(extglob)144 216 Q F0 .4(If set, the e)8.89 F .4
+504 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2
+(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(DEB)2.5 E(UG)-.1 E F0
+(and)2.5 E F1(RETURN)2.5 E F0(traps.)2.5 E F1(6.)184 516 Q F0 .805
+(Error tracing is enabled:)28.5 F .804
+(command substitution, shell functions, and subshells)5.805 F(in)220 528
+Q -.2(vo)-.4 G -.1(ke).2 G 2.5(dw).1 G(ith)-2.5 E F1(\()2.5 E F2
+(command)2.5 E F1(\))2.5 E F0(inherit the)2.5 E F1(ERR)2.5 E F0(trap.)
+2.5 E F1(extglob)144 540 Q F0 .4(If set, the e)8.89 F .4
(xtended pattern matching features described abo)-.15 F .7 -.15(ve u)
--.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 228 Q
-F0(are enabled.)2.5 E F1(extquote)144 240 Q F0 2.473(If set,)184 252 R
-F1($)4.973 E F0<08>A F3(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
-E F0(")A F3(string)A F0 4.973("q)C 2.473(uoting is performed within)
--4.973 F F1(${)4.973 E F3(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
-(pansions).15 E(enclosed in double quotes.)184 264 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 276 Q F0
+-.15 H(nder).15 E F1 -.1(Pa)2.9 G .4(thname Expan-).1 F(sion)184 552 Q
+F0(are enabled.)2.5 E F1(extquote)144 564 Q F0 2.473(If set,)184 576 R
+F1($)4.973 E F0<08>A F2(string)A F0 4.973<0861>C(nd)-4.973 E F1($)4.973
+E F0(")A F2(string)A F0 4.973("q)C 2.473(uoting is performed within)
+-4.973 F F1(${)4.973 E F2(par)A(ameter)-.15 E F1(})A F0 -.15(ex)4.973 G
+(pansions).15 E(enclosed in double quotes.)184 588 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(failglob)144 600 Q F0
1.424(If set, patterns which f)7.77 F 1.425
(ail to match \214lenames during pathname e)-.1 F 1.425
-(xpansion result in an)-.15 F -.15(ex)184 288 S(pansion error).15 E(.)
--.55 E F1 -.25(fo)144 300 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
-.937(If set, the suf)184 312 R<8c78>-.25 E .936(es speci\214ed by the)
--.15 F F2(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
--.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 324 R .32
+(xpansion result in an)-.15 F -.15(ex)184 612 S(pansion error).15 E(.)
+-.55 E F1 -.25(fo)144 624 S -.18(rc).25 G(e_\214gnor).18 E(e)-.18 E F0
+.937(If set, the suf)184 636 R<8c78>-.25 E .936(es speci\214ed by the)
+-.15 F F3(FIGNORE)3.436 E F0 .936(shell v)3.186 F .936(ariable cause w)
+-.25 F .936(ords to be ignored)-.1 F .32(when performing w)184 648 R .32
(ord completion e)-.1 F -.15(ve)-.25 G 2.82(ni).15 G 2.82(ft)-2.82 G .32
(he ignored w)-2.82 F .32(ords are the only possible com-)-.1 F 2.948
-(pletions. See)184 336 R F2 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
-(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F2
-(FIGNORE)2.947 E/F4 9/Times-Roman@0 SF(.)A F0 .447(This option is)4.947
-F(enabled by def)184 348 Q(ault.)-.1 E F1(globstar)144 360 Q F0 .178
-(If set, the pattern)5 F F1(**)2.678 E F0 .178(used in a pathname e)
-2.678 F .178(xpansion conte)-.15 F .179
-(xt will match a \214les and zero or)-.15 F 1.298
-(more directories and subdirectories.)184 372 R 1.298
+(pletions. See)184 660 R F3 .448(SHELL V)2.948 F(ARIABLES)-1.215 E F0
+(abo)2.698 E .748 -.15(ve f)-.15 H .448(or a description of).15 F F3
+(FIGNORE)2.947 E F4(.)A F0 .447(This option is)4.947 F(enabled by def)
+184 672 Q(ault.)-.1 E F1(globstar)144 684 Q F0 .178(If set, the pattern)
+5 F F1(**)2.678 E F0 .178(used in a pathname e)2.678 F .178
+(xpansion conte)-.15 F .179(xt will match a \214les and zero or)-.15 F
+1.298(more directories and subdirectories.)184 696 R 1.298
(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
-384 Q F1(gnu_errfmt)144 396 Q F0(If set, shell error messages are writt\
-en in the standard GNU error message format.)184 408 Q F1(histappend)144
-420 Q F0 .676
+708 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
+%%Page: 18 18
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
+/Times-Bold@0 SF(gnu_errfmt)144 84 Q F0(If set, shell error messages ar\
+e written in the standard GNU error message format.)184 96 Q F1
+(histappend)144 108 Q F0 .676
(If set, the history list is appended to the \214le named by the v)184
-432 R .676(alue of the)-.25 F F2(HISTFILE)3.177 E F0 -.25(va)2.927 G
-(ri-).25 E(able when the shell e)184 444 Q(xits, rather than o)-.15 E
--.15(ve)-.15 G(rwriting the \214le.).15 E F1(histr)144 456 Q(eedit)-.18
-E F0 .576(If set, and)184 468 R F1 -.18(re)3.076 G(adline).18 E F0 .575
-(is being used, a user is gi)3.076 F -.15(ve)-.25 G 3.075(nt).15 G .575
-(he opportunity to re-edit a f)-3.075 F .575(ailed his-)-.1 F
-(tory substitution.)184 480 Q F1(histv)144 492 Q(erify)-.1 E F0 .402
-(If set, and)184 504 R F1 -.18(re)2.903 G(adline).18 E F0 .403
+120 R .676(alue of the)-.25 F/F2 9/Times-Bold@0 SF(HISTFILE)3.177 E F0
+-.25(va)2.927 G(ri-).25 E(able when the shell e)184 132 Q
+(xits, rather than o)-.15 E -.15(ve)-.15 G(rwriting the \214le.).15 E F1
+(histr)144 144 Q(eedit)-.18 E F0 .576(If set, and)184 156 R F1 -.18(re)
+3.076 G(adline).18 E F0 .575(is being used, a user is gi)3.076 F -.15
+(ve)-.25 G 3.075(nt).15 G .575(he opportunity to re-edit a f)-3.075 F
+.575(ailed his-)-.1 F(tory substitution.)184 168 Q F1(histv)144 180 Q
+(erify)-.1 E F0 .402(If set, and)184 192 R F1 -.18(re)2.903 G(adline).18
+E F0 .403
(is being used, the results of history substitution are not immediately)
-2.903 F .662(passed to the shell parser)184 516 R 5.662(.I)-.55 G .661
+2.903 F .662(passed to the shell parser)184 204 R 5.662(.I)-.55 G .661
(nstead, the resulting line is loaded into the)-5.662 F F1 -.18(re)3.161
-G(adline).18 E F0(editing)3.161 E -.2(bu)184 528 S -.25(ff).2 G(er).25 E
+G(adline).18 E F0(editing)3.161 E -.2(bu)184 216 S -.25(ff).2 G(er).25 E
2.5(,a)-.4 G(llo)-2.5 E(wing further modi\214cation.)-.25 E F1
-(hostcomplete)144 540 Q F0 1.181(If set, and)184 552 R F1 -.18(re)3.681
+(hostcomplete)144 228 Q F0 1.181(If set, and)184 240 R F1 -.18(re)3.681
G(adline).18 E F0 1.181(is being used,)3.681 F F1(bash)3.682 E F0 1.182
(will attempt to perform hostname completion)3.682 F 1.381(when a w)184
-564 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
+252 R 1.381(ord containing a)-.1 F F1(@)3.881 E F0 1.381
(is being completed \(see)3.881 F F1(Completing)3.88 E F0(under)3.88 E
-F2(READLINE)3.88 E F0(abo)184 576 Q -.15(ve)-.15 G 2.5(\). This).15 F
-(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 588 Q F0(If set,)
-184 600 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
+F2(READLINE)3.88 E F0(abo)184 264 Q -.15(ve)-.15 G 2.5(\). This).15 F
+(is enabled by def)2.5 E(ault.)-.1 E F1(huponexit)144 276 Q F0(If set,)
+184 288 Q F1(bash)2.5 E F0(will send)2.5 E F2(SIGHUP)2.5 E F0
(to all jobs when an interacti)2.25 E .3 -.15(ve l)-.25 H(ogin shell e)
-.15 E(xits.)-.15 E F1(interacti)144 612 Q -.1(ve)-.1 G(_comments).1 E F0
-.33(If set, allo)184 624 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
+.15 E(xits.)-.15 E F1(interacti)144 300 Q -.1(ve)-.1 G(_comments).1 E F0
+.33(If set, allo)184 312 R 2.83(waw)-.25 G .33(ord be)-2.93 F .33
(ginning with)-.15 F F1(#)2.83 E F0 .33(to cause that w)2.83 F .33
(ord and all remaining characters on)-.1 F .967
-(that line to be ignored in an interacti)184 636 R 1.267 -.15(ve s)-.25
+(that line to be ignored in an interacti)184 324 R 1.267 -.15(ve s)-.25
H .967(hell \(see).15 F F2(COMMENTS)3.467 E F0(abo)3.217 E -.15(ve)-.15
-G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 648 Q
-(ault.)-.1 E F1(lithist)144 660 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 672 Q
+G 3.467(\). This).15 F .967(option is)3.467 F(enabled by def)184 336 Q
+(ault.)-.1 E F1(lastpipe)144 348 Q F0 1.211
+(If set, and job control is not acti)6.66 F -.15(ve)-.25 G 3.712(,t).15
+G 1.212(he shell runs the last command of a pipeline not)-3.712 F -.15
+(exe)184 360 S(cuted in the background in the current shell en).15 E
+(vironment.)-.4 E F1(lithist)144 372 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 384 Q
(wlines rather than using semicolon separators where possible.)-.25 E F1
-(login_shell)144 684 Q F0 .486
+(login_shell)144 396 Q F0 .486
(The shell sets this option if it is started as a login shell \(see)184
-696 R F2(INV)2.986 E(OCA)-.405 E(TION)-.855 E F0(abo)2.736 E -.15(ve)
--.15 G 2.986(\). The).15 F -.25(va)184 708 S(lue may not be changed.).25
-E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(17)198.725 E 0 Cg EP
-%%Page: 18 18
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Bold@0 SF(mailwar)144 84 Q(n)-.15 E F0 .814
-(If set, and a \214le that)184 96 R F1(bash)3.314 E F0 .815
-(is checking for mail has been accessed since the last time it)3.314 F
--.1(wa)184 108 S 2.5(sc).1 G(heck)-2.5 E(ed, the message `)-.1 E
-(`The mail in)-.74 E/F2 10/Times-Italic@0 SF(mail\214le)2.5 E F0
+408 R F2(INV)2.987 E(OCA)-.405 E(TION)-.855 E F0(abo)2.737 E -.15(ve)
+-.15 G 2.987(\). The).15 F -.25(va)184 420 S(lue may not be changed.).25
+E F1(mailwar)144 432 Q(n)-.15 E F0 .815(If set, and a \214le that)184
+444 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 456 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 120 Q F0 .325(If set, and)184 132 R F1 -.18
-(re)2.825 G(adline).18 E F0 .325(is being used,)2.825 F F1(bash)2.824 E
-F0 .324(will not attempt to search the)2.824 F/F3 9/Times-Bold@0 SF
--.666(PA)2.824 G(TH)-.189 E F0 .324(for possible)2.574 F
-(completions when completion is attempted on an empty line.)184 144 Q F1
-(nocaseglob)144 156 Q F0 .436(If set,)184 168 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 180 S
+(no_empty_cmd_completion)144 468 Q F0 .324(If set, and)184 480 R F1 -.18
+(re)2.824 G(adline).18 E F0 .324(is being used,)2.824 F F1(bash)2.824 E
+F0 .324(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)
+-.189 E F0 .325(for possible)2.575 F
+(completions when completion is attempted on an empty line.)184 492 Q F1
+(nocaseglob)144 504 Q F0 .437(If set,)184 516 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 528 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 192 Q F0 1.194(If set,)184
-204 R F1(bash)3.694 E F0 1.194(matches patterns in a case\255insensiti)
-3.694 F 1.493 -.15(ve f)-.25 H 1.193(ashion when performing matching).05
-F(while e)184 216 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 228 Q F0
-.854(If set,)184 240 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 252 S(pand to a null string, rather than themselv)
-.15 E(es.)-.15 E F1(pr)144 264 Q(ogcomp)-.18 E F0 .677
-(If set, the programmable completion f)184 276 R .677(acilities \(see)
--.1 F F1(Pr)3.176 E .676(ogrammable Completion)-.18 F F0(abo)3.176 E
--.15(ve)-.15 G(\)).15 E(are enabled.)184 288 Q
-(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 300 Q(omptv)
--.18 E(ars)-.1 E F0 1.447(If set, prompt strings under)184 312 R 1.448
-(go parameter e)-.18 F 1.448(xpansion, command substitution, arithmetic)
--.15 F -.15(ex)184 324 S .171(pansion, and quote remo).15 F -.25(va)-.15
+-.15(ve)-.15 G(\).).15 E F1(nocasematch)144 540 Q F0 1.193(If set,)184
+552 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 564 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 576 Q F0
+.855(If set,)184 588 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 600 S(pand to a null string, rather than themselv)
+.15 E(es.)-.15 E F1(pr)144 612 Q(ogcomp)-.18 E F0 .676
+(If set, the programmable completion f)184 624 R .677(acilities \(see)
+-.1 F F1(Pr)3.177 E .677(ogrammable Completion)-.18 F F0(abo)3.177 E
+-.15(ve)-.15 G(\)).15 E(are enabled.)184 636 Q
+(This option is enabled by def)5 E(ault.)-.1 E F1(pr)144 648 Q(omptv)
+-.18 E(ars)-.1 E F0 1.448(If set, prompt strings under)184 660 R 1.448
+(go parameter e)-.18 F 1.447(xpansion, command substitution, arithmetic)
+-.15 F -.15(ex)184 672 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 F3(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 336 Q(ault.)-.1 E F1 -.18(re)144 348
+-.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 684 Q(ault.)-.1 E F1 -.18(re)144 696
S(stricted_shell).18 E F0 1.069
(The shell sets this option if it is started in restricted mode \(see)
-184 360 R F3 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 372 Q 4.178
+184 708 R F2 1.069(RESTRICTED SHELL)3.569 F F0(belo)184 720 Q 4.178
(w\). The)-.25 F -.25(va)4.178 G 1.678(lue may not be changed.).25 F
-1.678(This is not reset when the startup \214les are)6.678 F -.15(exe)
-184 384 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 396 Q(erbose)-.1 E F0 .501(If set, the)184 408 R F1
-(shift)3.001 E F0 -.2(bu)3.001 G .501
-(iltin prints an error message when the shift count e).2 F .502
-(xceeds the number)-.15 F(of positional parameters.)184 420 Q F1(sour)
-144 432 Q(cepath)-.18 E F0 .771(If set, the)184 444 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 F3 -.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 456 Q 2.5(gument. This)-.18 F(option is enabled by def)2.5 E(ault.)
--.1 E F1(xpg_echo)144 468 Q F0(If set, the)184 480 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 492 Q F0([)2.5 E F1<ad66>A F0(])A 1.001
-(Suspend the e)144 504 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
-F3(SIGCONT)A F0 3.502(signal. A)3.252 F 1.002(login shell cannot be)
-3.502 F .023(suspended; the)144 516 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 528 S(nless the shell is a login shell and)-2.5 E F1
+1.678(This is not reset when the startup \214les are)6.678 F
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725 E 0 Cg EP
+%%Page: 19 19
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -.15(exe)184
+84 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 10
+/Times-Bold@0 SF(shift_v)144 96 Q(erbose)-.1 E F0 .502(If set, the)184
+108 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 120 Q F1(sour)
+144 132 Q(cepath)-.18 E F0 .77(If set, the)184 144 R F1(sour)3.27 E(ce)
+-.18 E F0(\()3.27 E F1(.)A F0 3.27(\)b)C .77(uiltin uses the v)-3.47 F
+.771(alue of)-.25 F/F2 9/Times-Bold@0 SF -.666(PA)3.271 G(TH)-.189 E F0
+.771(to \214nd the directory containing the)3.021 F
+(\214le supplied as an ar)184 156 Q 2.5(gument. This)-.18 F
+(option is enabled by def)2.5 E(ault.)-.1 E F1(xpg_echo)144 168 Q F0
+(If set, the)184 180 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 192 Q F0([)2.5 E F1<ad66>A F0(])A 1.002(Suspend the e)144 204 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 216 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 228 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 540 Q F2 -.2(ex)2.5 G(pr).2 E F1([)108 552 Q F2 -.2(ex)2.5 G
-(pr).2 E F1(])2.5 E F0 1.15
+F1(test)108 240 Q/F3 10/Times-Italic@0 SF -.2(ex)2.5 G(pr).2 E F1([)108
+252 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 F2 -.2(ex)3.65 G
-(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.188
-(operator and operand must be a separate ar)144 564 R 3.688
-(gument. Expressions)-.18 F 1.187(are composed of the primaries)3.688 F
-1.889(described abo)144 576 R 2.189 -.15(ve u)-.15 H(nder).15 E F3
-(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 588 Q
+(luation of the conditional e).25 F(xpression)-.15 E F3 -.2(ex)3.65 G
+(pr).2 E F0 6.15(.E).73 G(ach)-6.15 E 1.187
+(operator and operand must be a separate ar)144 264 R 3.688
+(gument. Expressions)-.18 F 1.188(are composed of the primaries)3.688 F
+1.89(described abo)144 276 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 288 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 606 R .785
-(wing operators, listed in decreasing order of prece-)-.25 F 2.5
-(dence. The)144 618 R -.25(eva)2.5 G
-(luation depends on the number of ar).25 E(guments; see belo)-.18 E -.65
-(w.)-.25 G F1(!)144 630 Q F2 -.2(ex)2.5 G(pr).2 E F0 -.35(Tr)12.6 G
-(ue if).35 E F2 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1 E F1(\()
-144 642 Q F2 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26(Returns the v)6.77
-F .26(alue of)-.25 F F2 -.2(ex)2.76 G(pr).2 E F0 5.26(.T)C .26
-(his may be used to o)-5.26 F -.15(ve)-.15 G .26
-(rride the normal precedence of opera-).15 F(tors.)180 654 Q F2 -.2(ex)
-144 666 S(pr1).2 E F0<ad>2.5 E F1(a)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35
-(Tr)180 678 S(ue if both).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F2
--.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F2 -.2(ex)144 690 S(pr1).2 E
-F0<ad>2.5 E F1(o)A F2 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 702 S
-(ue if either).35 E F2 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F2 -.2(ex)2.5 G
-(pr2).2 E F0(is true.)2.52 E F1(test)144 718.8 Q F0(and)2.5 E F1([)2.5 E
+E .785(Expressions may be combined using the follo)144 306 R .786
+(wing operators, listed in decreasing order of prece-)-.25 F 3.412
+(dence. The)144 318 R -.25(eva)3.412 G .912
+(luation depends on the number of ar).25 F .911(guments; see belo)-.18 F
+4.711 -.65(w. O)-.25 H .911(perator precedence is).65 F
+(used when there are \214v)144 330 Q 2.5(eo)-.15 G 2.5(rm)-2.5 G(ore ar)
+-2.5 E(guments.)-.18 E F1(!)144 342 Q F3 -.2(ex)2.5 G(pr).2 E F0 -.35
+(Tr)12.6 G(ue if).35 E F3 -.2(ex)2.5 G(pr).2 E F0(is f)3.23 E(alse.)-.1
+E F1(\()144 354 Q F3 -.2(ex)2.5 G(pr).2 E F1(\))2.5 E F0 .26
+(Returns the v)6.77 F .26(alue of)-.25 F F3 -.2(ex)2.76 G(pr).2 E F0
+5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
+(rride the normal precedence of opera-).15 F(tors.)180 366 Q F3 -.2(ex)
+144 378 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 390 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5 E F3
+-.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E F3 -.2(ex)144 402 S(pr1).2 E
+F0<ad>2.5 E F1(o)A F3 -.2(ex)2.5 G(pr2).2 E F0 -.35(Tr)180 414 S
+(ue if either).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(or)2.5 E F3 -.2(ex)2.5 G
+(pr2).2 E F0(is true.)2.52 E F1(test)144 430.8 Q F0(and)2.5 E F1([)2.5 E
F0 -.25(eva)2.5 G(luate conditional e).25 E
(xpressions using a set of rules based on the number of ar)-.15 E
-(guments.)-.18 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(18)198.725
-E 0 Cg EP
-%%Page: 19 19
+(guments.)-.18 E 2.5(0a)144 448.8 S -.18(rg)-2.5 G(uments).18 E(The e)
+180 460.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(1a)144 472.8 S -.18
+(rg)-2.5 G(ument).18 E(The e)180 484.8 Q
+(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
+E 2.5(2a)144 496.8 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)
+180 508.8 R .37(gument is)-.18 F F1(!)2.87 E F0 2.87(,t)C .37(he e)-2.87
+F .37(xpression is true if and only if the second ar)-.15 F .37
+(gument is null.)-.18 F .379(If the \214rst ar)180 520.8 R .38
+(gument is one of the unary conditional operators listed abo)-.18 F .68
+-.15(ve u)-.15 H(nder).15 E F2(CONDI-)2.88 E(TION)180 532.8 Q .553
+(AL EXPRESSIONS)-.18 F F4(,)A F0 .552(the e)2.802 F .552
+(xpression is true if the unary test is true.)-.15 F .552
+(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 544.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 556.8 S -.18(rg)-2.5 G
+(uments).18 E .236(The follo)180 568.8 R .236
+(wing conditions are applied in the order listed.)-.25 F .236
+(If the second ar)5.236 F .236(gument is one of)-.18 F .855
+(the binary conditional operators listed abo)180 580.8 R 1.155 -.15
+(ve u)-.15 H(nder).15 E F2(CONDITION)3.355 E .855(AL EXPRESSIONS)-.18 F
+F4(,)A F0(the)3.104 E .578(result of the e)180 592.8 R .578(xpression i\
+s the result of the binary test using the \214rst and third ar)-.15 F
+(guments)-.18 E 1.333(as operands.)180 604.8 R(The)6.333 E F1<ad61>3.833
+E F0(and)3.833 E F1<ad6f>3.832 E F0 1.332
+(operators are considered binary operators when there are)3.832 F .558
+(three ar)180 616.8 R 3.058(guments. If)-.18 F .558(the \214rst ar)3.058
+F .558(gument is)-.18 F F1(!)3.058 E F0 3.058(,t)C .558(he v)-3.058 F
+.558(alue is the ne)-.25 F -.05(ga)-.15 G .558(tion of the tw).05 F
+(o-ar)-.1 E(gument)-.18 E .521(test using the second and third ar)180
+628.8 R 3.021(guments. If)-.18 F .521(the \214rst ar)3.021 F .52
+(gument is e)-.18 F(xactly)-.15 E F1(\()3.02 E F0 .52(and the third)3.02
+F(ar)180 640.8 Q .485(gument is e)-.18 F(xactly)-.15 E F1(\))2.985 E F0
+2.985(,t)C .485(he result is the one-ar)-2.985 F .485
+(gument test of the second ar)-.18 F 2.985(gument. Other)-.18 F(-)-.2 E
+(wise, the e)180 652.8 Q(xpression is f)-.15 E(alse.)-.1 E 2.5(4a)144
+664.8 S -.18(rg)-2.5 G(uments).18 E .385(If the \214rst ar)180 676.8 R
+.385(gument is)-.18 F F1(!)2.885 E F0 2.885(,t)C .385
+(he result is the ne)-2.885 F -.05(ga)-.15 G .384(tion of the three-ar)
+.05 F .384(gument e)-.18 F .384(xpression com-)-.15 F 1.647
+(posed of the remaining ar)180 688.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
+700.8 Q -.15(ve)-.15 G(.).15 E(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735
+E(19)198.725 E 0 Cg EP
+%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(0a)144
-84 S -.18(rg)-2.5 G(uments).18 E(The e)180 96 Q(xpression is f)-.15 E
-(alse.)-.1 E 2.5(1a)144 108 S -.18(rg)-2.5 G(ument).18 E(The e)180 120 Q
-(xpression is true if and only if the ar)-.15 E(gument is not null.)-.18
-E 2.5(2a)144 132 S -.18(rg)-2.5 G(uments).18 E .37(If the \214rst ar)180
-144 R .37(gument is)-.18 F/F1 10/Times-Bold@0 SF(!)2.87 E F0 2.87(,t)C
-.37(he e)-2.87 F .37(xpression is true if and only if the second ar)-.15
-F .37(gument is null.)-.18 F .379(If the \214rst ar)180 156 R .38
-(gument is one of the unary conditional operators listed abo)-.18 F .68
--.15(ve u)-.15 H(nder).15 E/F2 9/Times-Bold@0 SF(CONDI-)2.88 E(TION)180
-168 Q .553(AL EXPRESSIONS)-.18 F/F3 9/Times-Roman@0 SF(,)A F0 .552
-(the e)2.802 F .552(xpression is true if the unary test is true.)-.15 F
-.552(If the \214rst ar)5.552 F(gu-)-.18 E(ment is not a v)180 180 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 192 S -.18(rg)-2.5 G
-(uments).18 E .023(If the second ar)180 204 R .023
-(gument is one of the binary conditional operators listed abo)-.18 F
-.324 -.15(ve u)-.15 H(nder).15 E F2(CON-)2.524 E(DITION)180 216 Q 1.478
-(AL EXPRESSIONS)-.18 F F3(,)A F0 1.477(the result of the e)3.727 F 1.477
-(xpression is the result of the binary test)-.15 F .513
-(using the \214rst and third ar)180 228 R .513(guments as operands.)-.18
-F(The)5.513 E F1<ad61>3.013 E F0(and)3.013 E F1<ad6f>3.013 E F0 .513
-(operators are considered)3.013 F .972
-(binary operators when there are three ar)180 240 R 3.472(guments. If)
--.18 F .972(the \214rst ar)3.472 F .972(gument is)-.18 F F1(!)3.472 E F0
-3.472(,t)C .972(he v)-3.472 F .972(alue is)-.25 F .883(the ne)180 252 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 264 Q .875(gument is e)-.18 F(xactly)
--.15 E F1(\()3.375 E F0 .875(and the third ar)3.375 F .875(gument is e)
--.18 F(xactly)-.15 E F1(\))3.375 E F0 3.374(,t)C .874
-(he result is the one-ar)-3.374 F(gument)-.18 E(test of the second ar)
-180 276 Q 2.5(gument. Otherwise,)-.18 F(the e)2.5 E(xpression is f)-.15
-E(alse.)-.1 E 2.5(4a)144 288 S -.18(rg)-2.5 G(uments).18 E .384
-(If the \214rst ar)180 300 R .384(gument is)-.18 F F1(!)2.884 E F0 2.885
-(,t)C .385(he result is the ne)-2.885 F -.05(ga)-.15 G .385
-(tion of the three-ar).05 F .385(gument e)-.18 F .385(xpression com-)
--.15 F 1.648(posed of the remaining ar)180 312 R 4.147
-(guments. Otherwise,)-.18 F 1.647(the e)4.147 F 1.647
-(xpression is parsed and e)-.15 F -.25(va)-.25 G(luated).25 E
-(according to precedence using the rules listed abo)180 324 Q -.15(ve)
--.15 G(.).15 E 2.5(5o)144 336 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18
-E 1.635(The e)180 348 R 1.635(xpression is parsed and e)-.15 F -.25(va)
--.25 G 1.635(luated according to precedence using the rules listed).25 F
-(abo)180 360 Q -.15(ve)-.15 G(.).15 E F1(times)108 376.8 Q F0 1.229(Pri\
-nt the accumulated user and system times for the shell and for processe\
-s run from the shell.)13.23 F(The return status is 0.)144 388.8 Q F1
-(trap)108 405.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F4 10
-/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F4(sigspec)2.5 E F0(...])2.5 E
-.702(The command)144 417.6 R F4(ar)3.532 E(g)-.37 E F0 .702
-(is to be read and e)3.422 F -.15(xe)-.15 G .702
-(cuted when the shell recei).15 F -.15(ve)-.25 G 3.203(ss).15 G
-(ignal\(s\))-3.203 E F4(sigspec)3.203 E F0 5.703(.I).31 G(f)-5.703 E F4
-(ar)3.533 E(g)-.37 E F0(is)3.423 E .609(absent \(and there is a single)
-144 429.6 R F4(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E 2.5(5o)144
+84 S 2.5(rm)-2.5 G(ore ar)-2.5 E(guments)-.18 E 1.635(The e)180 96 R
+1.635(xpression is parsed and e)-.15 F -.25(va)-.25 G 1.635
+(luated according to precedence using the rules listed).25 F(abo)180 108
+Q -.15(ve)-.15 G(.).15 E(When used with)144 126 Q/F1 10/Times-Bold@0 SF
+(test)2.5 E F0(or)2.5 E F1([)2.5 E F0 2.5(,t)C(he)-2.5 E F1(<)2.5 E F0
+(and)2.5 E F1(>)2.5 E F0(operators sort le)2.5 E
+(xicographically using ASCII ordering.)-.15 E F1(times)108 142.8 Q F0
+1.229(Print the accumulated user and system times for the shell and for\
+ processes run from the shell.)13.23 F(The return status is 0.)144 154.8
+Q F1(trap)108 171.6 Q F0([)2.5 E F1(\255lp)A F0 2.5(][)C([)-2.5 E/F2 10
+/Times-Italic@0 SF(ar)A(g)-.37 E F0(])A F2(sigspec)2.5 E F0(...])2.5 E
+.703(The command)144 183.6 R F2(ar)3.533 E(g)-.37 E F0 .703
+(is to be read and e)3.423 F -.15(xe)-.15 G .702
+(cuted when the shell recei).15 F -.15(ve)-.25 G 3.202(ss).15 G
+(ignal\(s\))-3.202 E F2(sigspec)3.202 E F0 5.702(.I).31 G(f)-5.702 E F2
+(ar)3.532 E(g)-.37 E F0(is)3.422 E .608(absent \(and there is a single)
+144 195.6 R F2(sigspec)3.108 E F0 3.108(\)o)C(r)-3.108 E F1<ad>3.108 E
F0 3.108(,e)C .608
(ach speci\214ed signal is reset to its original disposition)-3.108 F
-.658(\(the v)144 441.6 R .658(alue it had upon entrance to the shell\).)
--.25 F(If)5.658 E F4(ar)3.488 E(g)-.37 E F0 .659
-(is the null string the signal speci\214ed by each)3.378 F F4(sigspec)
-144.34 453.6 Q F0 .581
-(is ignored by the shell and by the commands it in)3.391 F -.2(vo)-.4 G
--.1(ke).2 G 3.08(s. If).1 F F4(ar)3.41 E(g)-.37 E F0 .58
-(is not present and)3.3 F F1<ad70>3.08 E F0(has)3.08 E 1.214
-(been supplied, then the trap commands associated with each)144 465.6 R
-F4(sigspec)4.054 E F0 1.215(are displayed.)4.024 F 1.215(If no ar)6.215
-F(gu-)-.18 E .86(ments are supplied or if only)144 477.6 R F1<ad70>3.36
+.659(\(the v)144 207.6 R .659(alue it had upon entrance to the shell\).)
+-.25 F(If)5.658 E F2(ar)3.488 E(g)-.37 E F0 .658
+(is the null string the signal speci\214ed by each)3.378 F F2(sigspec)
+144.34 219.6 Q F0 .58(is ignored by the shell and by the commands it in)
+3.39 F -.2(vo)-.4 G -.1(ke).2 G 3.081(s. If).1 F F2(ar)3.411 E(g)-.37 E
+F0 .581(is not present and)3.301 F F1<ad70>3.081 E F0(has)3.081 E 1.215
+(been supplied, then the trap commands associated with each)144 231.6 R
+F2(sigspec)4.054 E F0 1.214(are displayed.)4.024 F 1.214(If no ar)6.214
+F(gu-)-.18 E .86(ments are supplied or if only)144 243.6 R F1<ad70>3.36
E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
(prints the list of commands associated with each)3.36 F 2.83
-(signal. The)144 489.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
-to print a list of signal names and their corresponding num-)2.83 F
-4.311(bers. Each)144 501.6 R F4(sigspec)4.651 E F0 1.811
-(is either a signal name de\214ned in <)4.621 F F4(signal.h)A F0 1.81
-(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
-(names are case insensiti)144 513.6 Q .3 -.15(ve a)-.25 H
-(nd the SIG pre\214x is optional.).15 E 1.648(If a)144 531.6 R F4
-(sigspec)4.488 E F0(is)4.458 E F2(EXIT)4.148 E F0 1.648
-(\(0\) the command)3.898 F F4(ar)4.479 E(g)-.37 E F0 1.649(is e)4.369 F
--.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)-.15 F
-1.649(If a)6.649 F F4(sigspec)4.489 E F0(is)4.459 E F2(DEB)144 543.6 Q
-(UG)-.09 E F3(,)A F0 1.168(the command)3.418 F F4(ar)3.998 E(g)-.37 E F0
-1.168(is e)3.888 F -.15(xe)-.15 G 1.167(cuted before e).15 F -.15(ve)
--.25 G(ry).15 E F4 1.167(simple command)3.667 F F0(,)A F4(for)3.667 E F0
-(command,)3.667 E F4(case)3.667 E F0(com-)3.667 E(mand,)144 555.6 Q F4
-(select)2.646 E F0 .146(command, e)2.646 F -.15(ve)-.25 G .146
-(ry arithmetic).15 F F4(for)2.646 E F0 .147
-(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
-(cutes in a).15 F .146(shell function \(see)144 567.6 R F2 .146
-(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
-F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0
-.145(option to)2.645 F(the)144 579.6 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
-(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG)
--.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F4(sigspec)3.54 E F0(is)3.51 E F2
-(RETURN)3.2 E F3(,)A F0 .701(the com-)2.951 F(mand)144 591.6 Q F4(ar)
-3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
+(signal. The)144 255.6 R F1<ad6c>2.83 E F0 .33(option causes the shell \
+to print a list of signal names and their corresponding num-)2.83 F 4.31
+(bers. Each)144 267.6 R F2(sigspec)4.65 E F0 1.811
+(is either a signal name de\214ned in <)4.62 F F2(signal.h)A F0 1.811
+(>, or a signal number)B 6.811(.S)-.55 G(ignal)-6.811 E
+(names are case insensiti)144 279.6 Q .3 -.15(ve a)-.25 H(nd the).15 E
+/F3 9/Times-Bold@0 SF(SIG)2.5 E F0(pre\214x is optional.)2.25 E 1.649
+(If a)144 297.6 R F2(sigspec)4.489 E F0(is)4.459 E F3(EXIT)4.149 E F0
+1.649(\(0\) the command)3.899 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)
+4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.648(xit from the shell.)
+-.15 F 1.648(If a)6.648 F F2(sigspec)4.488 E F0(is)4.458 E F3(DEB)144
+309.6 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.167(the command)3.417 F
+F2(ar)3.997 E(g)-.37 E F0 1.167(is e)3.887 F -.15(xe)-.15 G 1.167
+(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.168(simple command)
+3.667 F F0(,)A F2(for)3.668 E F0(command,)3.668 E F2(case)3.668 E F0
+(com-)3.668 E(mand,)144 321.6 Q F2(select)2.647 E F0 .147(command, e)
+2.647 F -.15(ve)-.25 G .147(ry arithmetic).15 F F2(for)2.647 E F0 .146
+(command, and before the \214rst command e)2.647 F -.15(xe)-.15 G .146
+(cutes in a).15 F .145(shell function \(see)144 333.6 R F3 .145
+(SHELL GRAMMAR)2.645 F F0(abo)2.395 E -.15(ve)-.15 G 2.646(\). Refer).15
+F .146(to the description of the)2.646 F F1(extdeb)2.646 E(ug)-.2 E F0
+.146(option to)2.646 F(the)144 345.6 Q F1(shopt)3.201 E F0 -.2(bu)3.201
+G .7(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E
+(UG)-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E
+F3(RETURN)3.2 E F4(,)A F0 .7(the com-)2.95 F(mand)144 357.6 Q F2(ar)
+3.473 E(g)-.37 E F0 .643(is e)3.363 F -.15(xe)-.15 G .643
(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
-.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce)
--.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 603.6 Q -.15(xe)
--.15 G(cuting.).15 E .928(If a)144 621.6 R F4(sigspec)3.768 E F0(is)
-3.738 E F2(ERR)3.429 E F3(,)A F0 .929(the command)3.179 F F4(ar)3.759 E
+.644(cuted with the).15 F F1(.)3.144 E F0(or)3.144 E F1(sour)3.144 E(ce)
+-.18 E F0 -.2(bu)3.144 G(iltins).2 E(\214nishes e)144 369.6 Q -.15(xe)
+-.15 G(cuting.).15 E .929(If a)144 387.6 R F2(sigspec)3.769 E F0(is)
+3.739 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E
(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
--.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
--3.429 F -.15(ex)144 633.6 S 1.009(it status, subject to the follo).15 F
-1.009(wing conditions.)-.25 F(The)6.009 E F2(ERR)3.509 E F0 1.009
-(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
+-.15(ve)-.25 G 3.429(ras).15 G .928(imple command has a non\255zero)
+-3.429 F -.15(ex)144 399.6 S 1.008(it status, subject to the follo).15 F
+1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009
+(trap is not e)3.259 F -.15(xe)-.15 G 1.009(cuted if the f).15 F 1.009
(ailed com-)-.1 F .324
-(mand is part of the command list immediately follo)144 645.6 R .324
+(mand is part of the command list immediately follo)144 411.6 R .324
(wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
-(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144
-657.6 R F4(if)3.639 E F0 1.129(statement, part of a command e)5.589 F
--.15(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10
-/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.628
-(sr)-.55 G(eturn)-3.628 E -.25(va)144 669.6 S(lue is being in).25 E -.15
-(ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C
-(hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E
-(exit)-.18 E F0(option.)2.5 E 1.095
+(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F .151(in an)144
+423.6 R F2(if)2.661 E F0 .151(statement, part of a command e)4.611 F
+-.15(xe)-.15 G .151(cuted in a).15 F F1(&&)2.651 E F0(or)2.651 E F1(||)
+2.651 E F0 .151(list, or if the command')2.651 F 2.651(sr)-.55 G .151
+(eturn v)-2.651 F(alue)-.25 E(is being in)144 435.6 Q -.15(ve)-.4 G
+(rted via).15 E F1(!)2.5 E F0 5(.T)C(hese are the same conditions obe)-5
+E(yed by the)-.15 E F1(err)2.5 E(exit)-.18 E F0(option.)2.5 E 1.095
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
-687.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
-(being ignored are reset to their original v)144 699.6 R .662
-(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
--.4 F 2.5(created. The)144 711.6 R(return status is f)2.5 E(alse if an)
--.1 E(y)-.15 E F4(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
-(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E(GNU Bash-4.0)
-72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
-%%Page: 20 20
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/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
+453.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
+(being ignored are reset to their original v)144 465.6 R .662
+(alues in a subshell or subshell en)-.25 F .662(vironment when one is)
+-.4 F 2.5(created. The)144 477.6 R(return status is f)2.5 E(alse if an)
+-.1 E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
+(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
+494.4 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
+(name)A F0(...])2.5 E -.4(Wi)144 506.4 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 518.4 Q F0 .842(option is used,)3.342 F F1(type)3.342 E F0
.843(prints a string which is one of)3.343 F 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
-(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
-(either returns the name of the disk \214le that w)144 144 R .855
+(,).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 530.4 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 542.4 R .118
+(xit status of f)-.15 F .118(alse is returned.)-.1 F .119(If the)5.119 F
+F1<ad70>2.619 E F0 .119(option is used,)2.619 F F1(type)2.619 E F0 .855
+(either returns the name of the disk \214le that w)144 554.4 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
-(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
-(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
-(type)2.765 E F0 .265(prints all of the places that contain an e)2.765 F
--.15(xe)-.15 G .265(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18
-G .265(his includes aliases)-5.265 F .427
-(and functions, if and only if the)144 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
+.855(were speci\214ed as a com-)3.535 F .64(mand name, or nothing if)144
+566.4 R/F5 10/Courier@0 SF .64(type -t name)3.14 F F0 -.1(wo)3.14 G .641
+(uld not return).1 F F2(\214le)3.141 E F0 5.641(.T).18 G(he)-5.641 E F1
+<ad50>3.141 E F0 .641(option forces a)3.141 F F3 -.666(PA)3.141 G(TH)
+-.189 E F0 .113(search for each)144 578.4 R F2(name)2.613 E F0 2.613(,e)
+C -.15(ve)-2.863 G 2.613(ni).15 G(f)-2.613 E F5 .113(type -t name)2.613
+F F0 -.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113
+(.I).18 G 2.613(fa)-5.113 G .112(command is hashed,)-.001 F F1<ad70>
+2.612 E F0(and)144 590.4 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 F3 -.666(PA)2.945 G(TH)-.189 E F4(.)A F0 .445(If the)4.945 F F1
+<ad61>2.945 E F0(option)2.945 E .265(is used,)144 602.4 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 .426(and functions, if and only if the)
+144 614.4 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F
+.427(The table of hashed commands is not)5.426 F .549
+(consulted when using)144 626.4 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 638.4 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
+(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 655.2
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 667.2 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 679.2 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 691.2 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
-304.8 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
+ft limit may)2.708 F .426(be increased up to the v)144 703.2 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
+715.2 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 727.2 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
+C .741(hich stand for the current hard limit, the current)-3.241 F
+(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP
+%%Page: 21 21
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .78
+(soft limit, and no limit, respecti)144 84 R -.15(ve)-.25 G(ly).15 E
+5.78(.I)-.65 G(f)-5.78 E/F1 10/Times-Italic@0 SF(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
-(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
-<ad61>144 364.8 Q F0(All current limits are reported)25.3 E F1<ad62>144
-376.8 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E
-F1<ad63>144 388.8 Q F0(The maximum size of core \214les created)25.86 E
-F1<ad64>144 400.8 Q F0(The maximum size of a process')24.74 E 2.5(sd)
--.55 G(ata se)-2.5 E(gment)-.15 E F1<ad65>144 412.8 Q F0
-(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 424.8 Q
-F0(The maximum size of \214les written by the shell and its children)
-26.97 E F1<ad69>144 436.8 Q F0(The maximum number of pending signals)
-27.52 E F1<ad6c>144 448.8 Q F0(The maximum size that may be lock)27.52 E
-(ed into memory)-.1 E F1<ad6d>144 460.8 Q F0
+F .499(resource is printed, unless the)144 96 R/F2 10/Times-Bold@0 SF
+<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 108 Q 2.5(alue. Other)
+-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F2<ad61>144 120
+Q F0(All current limits are reported)25.3 E F2<ad62>144 132 Q F0
+(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E F2<ad63>
+144 144 Q F0(The maximum size of core \214les created)25.86 E F2<ad64>
+144 156 Q F0(The maximum size of a process')24.74 E 2.5(sd)-.55 G
+(ata se)-2.5 E(gment)-.15 E F2<ad65>144 168 Q F0
+(The maximum scheduling priority \("nice"\))25.86 E F2<ad66>144 180 Q F0
+(The maximum size of \214les written by the shell and its children)26.97
+E F2<ad69>144 192 Q F0(The maximum number of pending signals)27.52 E F2
+<ad6c>144 204 Q F0(The maximum size that may be lock)27.52 E
+(ed into memory)-.1 E F2<ad6d>144 216 Q F0
(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
-(ystems do not honor this limit\))-2.5 E F1<ad6e>144 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
-(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
-520.8 Q F0(The maximum real-time scheduling priority)25.86 E F1<ad73>144
-532.8 Q F0(The maximum stack size)26.41 E F1<ad74>144 544.8 Q F0
-(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144 556.8 Q
-F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
-(ilable to a single user).25 E F1<ad76>144 568.8 Q F0
-(The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
-(ilable to the shell).25 E F1<ad78>144 580.8 Q F0
-(The maximum number of \214le locks)25.3 E F1<ad54>144 592.8 Q F0
-(The maximum number of threads)23.63 E(If)144 609.6 Q F2(limit)2.933 E
-F0 .343(is gi)3.523 F -.15(ve)-.25 G .343(n, it is the ne).15 F 2.843
-(wv)-.25 G .343(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>
-2.843 E F0 .343(option is display only\).)2.843 F .343(If no)5.343 F
-.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
+(ystems do not honor this limit\))-2.5 E F2<ad6e>144 228 Q F0 .791(The \
+maximum number of open \214le descriptors \(most systems do not allo)
+24.74 F 3.291(wt)-.25 G .791(his v)-3.291 F .791(alue to)-.25 F
+(be set\))180 240 Q F2<ad70>144 252 Q F0
+(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F2
+<ad71>144 264 Q F0(The maximum number of bytes in POSIX message queues)
+24.74 E F2<ad72>144 276 Q F0(The maximum real-time scheduling priority)
+25.86 E F2<ad73>144 288 Q F0(The maximum stack size)26.41 E F2<ad74>144
+300 Q F0(The maximum amount of cpu time in seconds)26.97 E F2<ad75>144
+312 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
+(ilable to a single user).25 E F2<ad76>144 324 Q F0 .47
+(The maximum amount of virtual memory a)25.3 F -.25(va)-.2 G .47
+(ilable to the shell and, on some systems, to).25 F(its children)180 336
+Q F2<ad78>144 348 Q F0(The maximum number of \214le locks)25.3 E F2
+<ad54>144 360 Q F0(The maximum number of threads)23.63 E(If)144 376.8 Q
+F1(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G .343
+(n, it is the ne).15 F 2.843(wv)-.25 G .343
+(alue of the speci\214ed resource \(the)-3.093 F F2<ad61>2.843 E F0 .343
+(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi)
+144 388.8 R -.15(ve)-.25 G .176(n, then).15 F F2<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 F2
+<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 400.8
+Q F2<ad70>2.515 E F0 2.515(,w)C .015
+(hich is in units of 512-byte blocks, and)-2.515 F F2<ad54>2.516 E F0(,)
+A F2<ad62>2.516 E F0(,)A F2<ad6e>2.516 E F0 2.516(,a)C(nd)-2.516 E F2
<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
+3.788(ues. The)144 412.8 R 1.287(return status is 0 unless an in)3.787 F
-.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
(gument is supplied, or an error occurs)-.18 F(while setting a ne)144
-657.6 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 674.4 Q F0([)2.5 E F1
-<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2
-(The user \214le-creation mask is set to)144 686.4 R F2(mode)2.7 E F0
-5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
+424.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F2(umask)108 441.6 Q F0([)2.5 E F2
+<ad70>A F0 2.5(][)C F2<ad53>-2.5 E F0 2.5(][)C F1(mode)-2.5 E F0(])A .2
+(The user \214le-creation mask is set to)144 453.6 R F1(mode)2.7 E F0
+5.2(.I).18 G(f)-5.2 E F1(mode)3.08 E F0(be)2.88 E .2
(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
-(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
+pted by)144 465.6 R F1 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
+477.6 Q F1(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
+(alue of the mask is printed.)-.25 F(The)5.382 E F2<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
+(printed in symbolic form; the def)144 489.6 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
-(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F
-(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP
-%%Page: 21 21
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
-(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
-/Times-Italic@0 SF(mode)144.38 84 Q F0 .551
+(he)-3.047 E F2<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F1
+(mode)144.38 501.6 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
+F .552(The return status is 0 if the)5.552 F(mode w)144 513.6 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
-(name)-2.5 E F0(...])2.5 E(Remo)144 124.8 Q 1.955 -.15(ve e)-.15 H(ach)
-.15 E F1(name)4.155 E F0 1.655(from the list of de\214ned aliases.)4.155
-F(If)6.655 E F2<ad61>4.155 E F0 1.655
-(is supplied, all alias de\214nitions are)4.155 F(remo)144 136.8 Q -.15
-(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
+(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F2
+(unalias)108 530.4 Q F0<5bad>2.5 E F2(a)A F0 2.5(][)C F1(name)-2.5 E F0
+(...])2.5 E(Remo)144 542.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F1(name)
+4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
+F2<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
+F(remo)144 554.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E 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
+(is not a de\214ned alias.)2.68 E F2(unset)108 571.2 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 583.2 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
+5.607 F F2<ad76>144 595.2 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
+(riables may not be unset.).25 F(If)5.304 E F2<ad66>144 607.2 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
+F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 619.2 R .903
(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 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0
+(If)5.902 E(an)144 631.2 Q 6.915(yo)-.15 G(f)-6.915 E/F3 9/Times-Bold@0
SF(COMP_W)6.915 E(ORDBREAKS)-.09 E/F4 9/Times-Roman@0 SF(,)A F3(RANDOM)
6.665 E F4(,)A F3(SECONDS)6.665 E F4(,)A F3(LINENO)6.665 E F4(,)A F3
(HISTCMD)6.666 E F4(,)A F3(FUNCN)6.666 E(AME)-.18 E F4(,)A F3(GR)144
-225.6 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81
+643.2 Q(OUPS)-.27 E F4(,)A F0(or)2.523 E F3(DIRST)2.773 E -.495(AC)-.81
G(K).495 E F0 .272(are unset, the)2.522 F 2.772(yl)-.15 G .272
(ose their special properties, e)-2.772 F -.15(ve)-.25 G 2.772(ni).15 G
2.772(ft)-2.772 G(he)-2.772 E 2.772(ya)-.15 G .272(re subsequently)
--2.772 F 2.5(reset. The)144 237.6 R -.15(ex)2.5 G
+-2.772 F 2.5(reset. The)144 655.2 R -.15(ex)2.5 G
(it status is true unless a).15 E 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
+(.)-.65 E F2(wait)108 672 Q F0([)2.5 E F1 2.5(n.)C(..)-2.5 E F0(])A -.8
+(Wa)144 684 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
-(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
+(job speci\214cation; if a job spec is gi)144 696 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 708 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
-(speci\214es a non-e)144 302.4 R .457
+(speci\214es a non-e)144 720 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(SEE ALSO)72 331.2 Q F0(bash\(1\), sh\(1\))108
-343.2 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP
+(Otherwise, the return status is the)5.457 F(GNU Bash-4.0)72 768 Q
+(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP
+%%Page: 22 22
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
+(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E -.15(ex)144
+84 S(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55
+E/F1 10.95/Times-Bold@0 SF(SEE ALSO)72 100.8 Q F0(bash\(1\), sh\(1\))108
+112.8 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(22)198.725 E 0 Cg EP
%%Trailer
end
%%EOF
diff --git a/doc/rbash.0 b/doc/rbash.0
index eb06220..ebd414c 100644
--- a/doc/rbash.0
+++ b/doc/rbash.0
@@ -21,7 +21,7 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o specifying a file name containing a // as an argument to the ..
builtin command
- +o Specifying a filename containing a slash as an argument to the
+ +o specifying a filename containing a slash as an argument to the
--pp option to the hhaasshh builtin command
+o importing function definitions from the shell environment at
@@ -39,7 +39,7 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o adding or deleting builtin commands with the --ff and --dd options
to the eennaabbllee builtin command
- +o Using the eennaabbllee builtin command to enable disabled shell
+ +o using the eennaabbllee builtin command to enable disabled shell
builtins
+o specifying the --pp option to the ccoommmmaanndd builtin command
diff --git a/doc/rbash.ps b/doc/rbash.ps
index 518087d..be68b20 100644
--- a/doc/rbash.ps
+++ b/doc/rbash.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
-%%CreationDate: Wed Dec 30 13:07:37 2009
+%%CreationDate: Tue Dec 28 14:30:24 2010
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.19 2
@@ -247,10 +247,10 @@ G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
(pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
216 S(pecifying a \214le name containing a)-32.5 E F2(/)2.5 E F0
(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
-(iltin command).2 E 32.5<8353>108 232.8 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.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 244.8 Q
+(iltin command).2 E 32.5<8373>108 232.8 S .45
+(pecifying a \214lename containing a slash as an ar)-32.5 F .449
+(gument to the)-.18 F F2<ad70>2.949 E F0 .449(option to the)2.949 F F2
+(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 244.8 Q
32.5<8369>108 261.6 S(mporting function de\214nitions from the shell en)
-32.5 E(vironment at startup)-.4 E 32.5<8370>108 278.4 S(arsing the v)
-32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
@@ -260,7 +260,7 @@ ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
(iltin command to replace the shell with another command).2 E 32.5<8361>
108 328.8 S(dding or deleting b)-32.5 E(uiltin commands with the)-.2 E
F2<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
-(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8355>108 345.6 S
+(enable)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E 32.5<8375>108 345.6 S
(sing the)-32.5 E F2(enable)2.5 E F0 -.2(bu)2.5 G
(iltin command to enable disabled shell b).2 E(uiltins)-.2 E 32.5<8373>
108 362.4 S(pecifying the)-32.5 E F2<ad70>2.5 E F0(option to the)2.5 E
diff --git a/doc/version.texi b/doc/version.texi
index 80a2209..b6c492e 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,10 +1,10 @@
@ignore
-Copyright (C) 1988-2009 Free Software Foundation, Inc.
+Copyright (C) 1988-2011 Free Software Foundation, Inc.
@end ignore
-@set LASTCHANGE Wed Dec 23 16:29:41 EST 2009
+@set LASTCHANGE Tue Dec 28 13:41:22 EST 2010
-@set EDITION 4.1
-@set VERSION 4.1
-@set UPDATED 23 December 2009
-@set UPDATED-MONTH December 2009
+@set EDITION 4.2
+@set VERSION 4.2
+@set UPDATED 28 December 2010
+@set UPDATED-MONTH December 2010
diff --git a/examples/scripts/bash-hexdump.sh b/examples/scripts/bash-hexdump.sh
new file mode 100644
index 0000000..310e55c
--- /dev/null
+++ b/examples/scripts/bash-hexdump.sh
@@ -0,0 +1,67 @@
+#From: "dennis" <dennis@netstrata.com>
+#To: <bash-maintainers@gnu.org>
+#Subject: New example script: bash-hexdump
+#Date: Mon, 4 Jan 2010 22:48:19 -0700
+#Message-ID: <6dbec42d$64fcdbd2$4a32cf2d$@com>
+
+#I've written a script that functions like "hexdump -C" or "hd". If you'd
+#like to include it in a future distribution of example Bash scripts, I have
+#included it here:
+
+#!/bin/bash
+# bash-hexdump# pure Bash, no externals
+# by Dennis Williamson - 2010-01-04
+# in response to
+http://stackoverflow.com/questions/2003803/show-hexadecimal-numbers-of-a-file
+# usage: bash-hexdump file
+saveIFS="$IFS"
+IFS="" # disables interpretation of \t, \n and space
+saveLANG="$LANG"
+LANG=C # allows characters > 0x7F
+bytecount=0
+valcount=0
+printf "%08x " $bytecount
+while read -d '' -r -n 1 char # -d '' allows newlines, -r allows \
+do
+ ((bytecount++))
+ # for information about the apostrophe in this printf command, see
+ # http://www.opengroup.org/onlinepubs/009695399/utilities/printf.html
+ printf -v val "%02x" "'$char"
+ echo -n "$val "
+ ((valcount++))
+ if [[ "$val" < 20 || "$val" > 7e ]]
+ then
+ string+="." # show unprintable characters as a dot
+ else
+ string+=$char
+ fi
+ if (( bytecount % 8 == 0 )) # add a space down the middle
+ then
+ echo -n " "
+ fi
+ if (( bytecount % 16 == 0 )) # print 16 values per line
+ then
+ echo "|$string|"
+ string=''
+ valcount=0
+ printf "%08x " $bytecount
+ fi
+done < "$1"
+
+if [[ "$string" != "" ]] # if the last line wasn't full, pad it out
+then
+ length=${#string}
+ if (( length > 7 ))
+ then
+ ((length--))
+ fi
+ (( length += (16 - valcount) * 3 + 4))
+ printf "%${length}s\n" "|$string|"
+ printf "%08x " $bytecount
+fi
+echo
+
+LANG="$saveLANG";
+IFS="$saveIFS"
+
+exit 0
diff --git a/examples/scripts/timeout3 b/examples/scripts/timeout3
index 5c19d2e..de650be 100644
--- a/examples/scripts/timeout3
+++ b/examples/scripts/timeout3
@@ -1,56 +1,57 @@
#!/bin/bash
#
-# The Bash shell script executes a command with a time-out.
-# Upon time-out expiration SIGTERM (15) is sent to the process. If the signal
+# The Bash script executes a command with a time-out.
+# Based on the Bash documentation example.
+#
+# Upon time-out expiration SIGTERM (15) is sent to the process. If the signal
# is blocked, then the subsequent SIGKILL (9) terminates it.
+# Dmitry V Golovashkin (E-mail: dvg@ieee.org)
#
-# Based on the Bash documentation example.
+script_name="${0##*/}"
-# Hello Chet,
-# please find attached a "little easier" :-) to comprehend
-# time-out example. If you find it suitable, feel free to include
-# anywhere: the very same logic as in the original examples/scripts, a
-# little more transparent implementation to my taste.
-#
-# Dmitry V Golovashkin <Dmitry.Golovashkin@sas.com>
+# Default values.
+readonly param_timeout=5
+readonly param_interval=1
+readonly param_delay=1
-scriptName="${0##*/}"
+declare -i timeout=param_timeout
+declare -i interval=param_interval
+declare -i delay=param_delay
-declare -i DEFAULT_TIMEOUT=9
-declare -i DEFAULT_INTERVAL=1
-declare -i DEFAULT_DELAY=1
+blue="$(tput setaf 4)"
+bold_red="$(tput bold; tput setaf 1)"
+off="$(tput sgr0)"
-# Timeout.
-declare -i timeout=DEFAULT_TIMEOUT
-# Interval between checks if the process is still alive.
-declare -i interval=DEFAULT_INTERVAL
-# Delay between posting the SIGTERM signal and destroying the process by SIGKILL.
-declare -i delay=DEFAULT_DELAY
+function print_usage() {
+cat <<EOF
-function printUsage() {
- cat <<EOF
+Synopsis: $script_name [-t timeout] [-i interval] [-d delay] command
-Synopsis
- $scriptName [-t timeout] [-i interval] [-d delay] command
- Execute a command with a time-out.
- Upon time-out expiration SIGTERM (15) is sent to the process. If SIGTERM
- signal is blocked, then the subsequent SIGKILL (9) terminates it.
+Executes the command with a time-out. Upon time-out expiration SIGTERM (15) is
+sent to the process. If SIGTERM signal is blocked, then the subsequent SIGKILL
+(9) terminates it.
- -t timeout
- Number of seconds to wait for command completion.
- Default value: $DEFAULT_TIMEOUT seconds.
+$blue-t timeout$off
+ Number of seconds to wait for command completion.
+ Default value: $param_timeout seconds. In some practical situations
+ this value ${bold_red}must$off be increased (for instance -t 180) to allow
+ the command to complete.
- -i interval
- Interval between checks if the process is still alive.
- Positive integer, default value: $DEFAULT_INTERVAL seconds.
+$blue-i interval$off
+ Interval between checks if the process is still alive.
+ Positive integer, default value: $param_interval seconds.
+ Default value is OK for most situations.
- -d delay
- Delay between posting the SIGTERM signal and destroying the
- process by SIGKILL. Default value: $DEFAULT_DELAY seconds.
+$blue-d delay$off
+ Delay between posting the SIGTERM signal and destroying the process by
+ SIGKILL. Default value: $param_delay seconds.
+ Default value is OK for most situations.
As of today, Bash does not support floating point arithmetic (sleep does),
-therefore all delay/time values must be integers.
+therefore all time values must be integers.
+Dmitry Golovashkin (E-mail: dvg@ieee.org)
EOF
+exit 1 # No useful work was done.
}
# Options.
@@ -59,7 +60,7 @@ while getopts ":t:i:d:" option; do
t) timeout=$OPTARG ;;
i) interval=$OPTARG ;;
d) delay=$OPTARG ;;
- *) printUsage; exit 1 ;;
+ *) print_usage ;;
esac
done
shift $((OPTIND - 1))
@@ -67,11 +68,10 @@ shift $((OPTIND - 1))
# $# should be at least 1 (the command to execute), however it may be strictly
# greater than 1 if the command itself has options.
if (($# == 0 || interval <= 0)); then
- printUsage
- exit 1
+ print_usage
fi
-# kill -0 pid Exit code indicates if a signal may be sent to $pid process.
+# kill -0 pid Exit code indicates if a signal may be sent to "pid" process.
(
((t = timeout))
@@ -89,3 +89,4 @@ fi
) 2> /dev/null &
exec "$@"
+
diff --git a/examples/startup-files/bashrc b/examples/startup-files/bashrc
index 069e8be..2d8d37b 100644
--- a/examples/startup-files/bashrc
+++ b/examples/startup-files/bashrc
@@ -1,6 +1,7 @@
-if [ -z "$PS1" ]; then
- return
-fi
+case $- in
+*i*) ;;
+*) return ;;
+esac
# bogus
if [ -f /unix ] ; then
diff --git a/execute_cmd.c b/execute_cmd.c
index e65a03f..485b0c7 100644
--- a/execute_cmd.c
+++ b/execute_cmd.c
@@ -1,6 +1,6 @@
/* execute_cmd.c -- Execute a COMMAND structure. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -98,6 +98,7 @@ extern int errno;
# include "bashhist.h"
#endif
+extern int dollar_dollar_pid;
extern int posixly_correct;
extern int expand_aliases;
extern int autocd;
@@ -112,6 +113,7 @@ extern pid_t last_command_subst_pid;
extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
extern char **subshell_argv, **subshell_envp;
extern int subshell_argc;
+extern time_t shell_start_time;
#if 0
extern char *glob_argv_flags;
#endif
@@ -135,6 +137,7 @@ static int builtin_status __P((int));
static int execute_for_command __P((FOR_COM *));
#if defined (SELECT_COMMAND)
+static int displen __P((const char *));
static int print_index_and_element __P((int, int, WORD_LIST *));
static void indent __P((int, int));
static void print_select_list __P((WORD_LIST *, int, int, int));
@@ -178,7 +181,7 @@ static void execute_subshell_builtin_or_function __P((WORD_LIST *, REDIRECT *,
int, int, int,
struct fd_bitmap *,
int));
-static void execute_disk_command __P((WORD_LIST *, REDIRECT *, char *,
+static int execute_disk_command __P((WORD_LIST *, REDIRECT *, char *,
int, int, int, struct fd_bitmap *, int));
static char *getinterp __P((char *, int, int *));
@@ -253,6 +256,8 @@ SHELL_VAR *this_shell_function;
/* If non-zero, matches in case and [[ ... ]] are case-insensitive */
int match_ignore_case = 0;
+int executing_command_builtin = 0;
+
struct stat SB; /* used for debugging */
static int special_builtin_failed;
@@ -270,8 +275,10 @@ static int showing_function_line;
static int line_number_for_err_trap;
/* A sort of function nesting level counter */
-static int funcnest = 0;
-int funcnest_max = 0; /* XXX - for bash-4.2 */
+int funcnest = 0;
+int funcnest_max = 0; /* XXX - bash-4.2 */
+
+int lastpipe_opt = 0;
struct fd_bitmap *current_fds_to_close = (struct fd_bitmap *)NULL;
@@ -603,19 +610,17 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
invert = (command->flags & CMD_INVERT_RETURN) != 0;
ignore_return = (command->flags & CMD_IGNORE_RETURN) != 0;
- last_command_exit_value = wait_for (paren_pid);
+ exec_result = wait_for (paren_pid);
/* If we have to, invert the return value. */
if (invert)
- exec_result = ((last_command_exit_value == EXECUTION_SUCCESS)
+ exec_result = ((exec_result == EXECUTION_SUCCESS)
? EXECUTION_FAILURE
: EXECUTION_SUCCESS);
- else
- exec_result = last_command_exit_value;
+ last_command_exit_value = exec_result;
if (user_subshell && was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
{
- last_command_exit_value = exec_result;
save_line_number = line_number;
line_number = line_number_for_err_trap;
run_error_trap ();
@@ -624,12 +629,11 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
if (user_subshell && ignore_return == 0 && invert == 0 && exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)
{
- last_command_exit_value = exec_result;
run_pending_traps ();
jump_to_top_level (ERREXIT);
}
- return (last_command_exit_value = exec_result);
+ return (last_command_exit_value);
}
else
{
@@ -677,6 +681,7 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
if (redirection_undo_list)
{
+ /* XXX - why copy here? */
my_undo_list = (REDIRECT *)copy_redirects (redirection_undo_list);
dispose_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
@@ -686,6 +691,7 @@ execute_command_internal (command, asynchronous, pipe_in, pipe_out,
if (exec_redirection_undo_list)
{
+ /* XXX - why copy here? */
exec_undo_list = (REDIRECT *)copy_redirects (exec_redirection_undo_list);
dispose_redirects (exec_redirection_undo_list);
exec_redirection_undo_list = (REDIRECT *)NULL;
@@ -1182,7 +1188,7 @@ time_command (command, asynchronous, pipe_in, pipe_out, fds_to_close)
int asynchronous, pipe_in, pipe_out;
struct fd_bitmap *fds_to_close;
{
- int rv, posix_time, old_flags;
+ int rv, posix_time, old_flags, nullcmd;
time_t rs, us, ss;
int rsf, usf, ssf;
int cpu;
@@ -1218,6 +1224,20 @@ time_command (command, asynchronous, pipe_in, pipe_out, fds_to_close)
posix_time = (command->flags & CMD_TIME_POSIX);
+ nullcmd = (command == 0) || (command->type == cm_simple && command->value.Simple->words == 0 && command->value.Simple->redirects == 0);
+ if (posixly_correct && nullcmd)
+ {
+#if defined (HAVE_GETRUSAGE)
+ selfb.ru_utime.tv_sec = kidsb.ru_utime.tv_sec = selfb.ru_stime.tv_sec = kidsb.ru_stime.tv_sec = 0;
+ selfb.ru_utime.tv_usec = kidsb.ru_utime.tv_usec = selfb.ru_stime.tv_usec = kidsb.ru_stime.tv_usec = 0;
+ before.tv_sec = shell_start_time;
+ before.tv_usec = 0;
+#else
+ before.tms_utime = before.tms_stime = before.tms_cutime = before.tms_cstime = 0;
+ tbefore = shell_start_time;
+#endif
+ }
+
old_flags = command->flags;
command->flags &= ~(CMD_TIME_PIPELINE|CMD_TIME_POSIX);
rv = execute_command_internal (command, asynchronous, pipe_in, pipe_out, fds_to_close);
@@ -1271,8 +1291,12 @@ time_command (command, asynchronous, pipe_in, pipe_out, fds_to_close)
if (posix_time)
time_format = POSIX_TIMEFORMAT;
else if ((time_format = get_string_value ("TIMEFORMAT")) == 0)
- time_format = BASH_TIMEFORMAT;
-
+ {
+ if (posixly_correct && nullcmd)
+ time_format = "user\t%2lU\nsys\t%2lS";
+ else
+ time_format = BASH_TIMEFORMAT;
+ }
if (time_format && *time_format)
print_formatted_time (stderr, time_format, rs, rsf, us, usf, ss, ssf, cpu);
@@ -1293,7 +1317,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
int user_subshell, return_code, function_value, should_redir_stdin, invert;
int ois, user_coproc;
int result;
- COMMAND *tcom;
+ volatile COMMAND *tcom;
USE_VAR(user_subshell);
USE_VAR(user_coproc);
@@ -1367,7 +1391,11 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
reset_terminating_signals (); /* in sig.c */
/* Cancel traps, in trap.c. */
- restore_original_signals ();
+ /* Reset the signal handlers in the child, but don't free the
+ trap strings. Set a flag noting that we have to free the
+ trap strings if we run trap to change a signal disposition. */
+ reset_signal_handlers ();
+ subshell_environment |= SUBSHELL_RESETTRAP;
/* Make sure restore_original_signals doesn't undo the work done by
make_child to ensure that asynchronous children are immune to SIGINT
@@ -1524,7 +1552,7 @@ static struct cpelement *cpl_search __P((pid_t));
static struct cpelement *cpl_searchbyname __P((char *));
static void cpl_prune __P((void));
-Coproc sh_coproc = { 0, NO_PID, -1, -1, 0, 0 };
+Coproc sh_coproc = { 0, NO_PID, -1, -1, 0, 0, 0, 0 };
cplist_t coproc_list = {0, 0, 0};
@@ -2046,6 +2074,22 @@ execute_coproc (command, pipe_in, pipe_out, fds_to_close)
}
#endif
+static void
+restore_stdin (s)
+ int s;
+{
+ dup2 (s, 0);
+ close (s);
+}
+
+/* Catch-all cleanup function for lastpipe code for unwind-protects */
+static void
+lastpipe_cleanup (s)
+ int s;
+{
+ unfreeze_jobs_list ();
+}
+
static int
execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
COMMAND *command;
@@ -2053,8 +2097,10 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
struct fd_bitmap *fds_to_close;
{
int prev, fildes[2], new_bitmap_size, dummyfd, ignore_return, exec_result;
+ int lstdin, lastpipe_flag, lastpipe_jid;
COMMAND *cmd;
struct fd_bitmap *fd_bitmap;
+ pid_t lastpid;
#if defined (JOB_CONTROL)
sigset_t set, oset;
@@ -2144,11 +2190,41 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
cmd = cmd->value.Connection->second;
}
+ lastpid = last_made_pid;
+
/* Now execute the rightmost command in the pipeline. */
if (ignore_return && cmd)
cmd->flags |= CMD_IGNORE_RETURN;
+
+ lastpipe_flag = 0;
+ begin_unwind_frame ("lastpipe-exec");
+ lstdin = -1;
+ /* If the `lastpipe' option is set with shopt, and job control is not
+ enabled, execute the last element of non-async pipelines in the
+ current shell environment. */
+ if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
+ {
+ lstdin = move_to_high_fd (0, 0, 255);
+ if (lstdin > 0)
+ {
+ do_piping (prev, pipe_out);
+ prev = NO_PIPE;
+ add_unwind_protect (restore_stdin, lstdin);
+ lastpipe_flag = 1;
+ freeze_jobs_list ();
+ lastpipe_jid = stop_pipeline (0, (COMMAND *)NULL); /* XXX */
+ add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
+ }
+ cmd->flags |= CMD_LASTPIPE;
+ }
+ if (prev >= 0)
+ add_unwind_protect (close, prev);
+
exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close);
+ if (lstdin > 0)
+ restore_stdin (lstdin);
+
if (prev >= 0)
close (prev);
@@ -2157,6 +2233,21 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
#endif
QUIT;
+
+ if (lastpipe_flag)
+ {
+#if defined (JOB_CONTROL)
+ append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
+#endif
+ lstdin = wait_for (lastpid);
+#if defined (JOB_CONTROL)
+ exec_result = job_exit_status (lastpipe_jid);
+#endif
+ unfreeze_jobs_list ();
+ }
+
+ discard_unwind_frame ("lastpipe-exec");
+
return (exec_result);
}
@@ -2166,7 +2257,6 @@ execute_connection (command, asynchronous, pipe_in, pipe_out, fds_to_close)
int asynchronous, pipe_in, pipe_out;
struct fd_bitmap *fds_to_close;
{
- REDIRECT *rp;
COMMAND *tc, *second;
int ignore_return, exec_result, was_error_trap, invert;
volatile int save_line_number;
@@ -2181,8 +2271,6 @@ execute_connection (command, asynchronous, pipe_in, pipe_out, fds_to_close)
if (tc == 0)
return (EXECUTION_SUCCESS);
- rp = tc->redirects;
-
if (ignore_return)
tc->flags |= CMD_IGNORE_RETURN;
tc->flags |= CMD_AMPERSAND;
@@ -2620,6 +2708,28 @@ static int LINES, COLS, tabsize;
: 6)))))
static int
+displen (s)
+ const char *s;
+{
+#if defined (HANDLE_MULTIBYTE)
+ wchar_t *wcstr;
+ size_t wclen, slen;
+
+ wcstr = 0;
+ slen = mbstowcs (wcstr, s, 0);
+ if (slen == -1)
+ slen = 0;
+ wcstr = (wchar_t *)xmalloc (sizeof (wchar_t) * (slen + 1));
+ mbstowcs (wcstr, s, slen + 1);
+ wclen = wcswidth (wcstr, slen);
+ free (wcstr);
+ return ((int)wclen);
+#else
+ return (STRLEN (s));
+#endif
+}
+
+static int
print_index_and_element (len, ind, list)
int len, ind;
WORD_LIST *list;
@@ -2632,7 +2742,7 @@ print_index_and_element (len, ind, list)
for (i = ind, l = list; l && --i; l = l->next)
;
fprintf (stderr, "%*d%s%s", len, ind, RP_SPACE, l->word->word);
- return (STRLEN (l->word->word));
+ return (displen (l->word->word));
}
static void
@@ -2719,8 +2829,10 @@ select_query (list, list_len, prompt, print_menu)
WORD_LIST *l;
char *repl_string, *t;
+#if 0
t = get_string_value ("LINES");
LINES = (t && *t) ? atoi (t) : 24;
+#endif
t = get_string_value ("COLUMNS");
COLS = (t && *t) ? atoi (t) : 80;
@@ -2736,7 +2848,7 @@ select_query (list, list_len, prompt, print_menu)
max_elem_len = 0;
for (l = list; l; l = l->next)
{
- len = STRLEN (l->word->word);
+ len = displen (l->word->word);
if (len > max_elem_len)
max_elem_len = len;
}
@@ -2751,7 +2863,7 @@ select_query (list, list_len, prompt, print_menu)
fflush (stderr);
QUIT;
- if (read_builtin ((WORD_LIST *)NULL) == EXECUTION_FAILURE)
+ if (read_builtin ((WORD_LIST *)NULL) != EXECUTION_SUCCESS)
{
putchar ('\n');
return ((char *)NULL);
@@ -3533,6 +3645,7 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
pid_t old_last_async_pid;
sh_builtin_func_t *builtin;
SHELL_VAR *func;
+ volatile int old_builtin, old_command_builtin;
result = EXECUTION_SUCCESS;
special_builtin_failed = builtin_is_special = 0;
@@ -3623,6 +3736,10 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
}
else
{
+ /* Don't let simple commands that aren't the last command in a
+ pipeline change $? for the rest of the pipeline (or at all). */
+ if (pipe_out != NO_PIPE)
+ result = last_command_exit_value;
close_pipes (pipe_in, pipe_out);
#if defined (PROCESS_SUBSTITUTION) && defined (HAVE_DEV_FD)
unlink_fifo_list ();
@@ -3778,12 +3895,20 @@ run_builtin:
if (builtin || func)
{
if (builtin)
- unwind_protect_int (executing_builtin); /* modified in execute_builtin */
+ {
+ old_builtin = executing_builtin;
+ old_command_builtin = executing_command_builtin;
+ unwind_protect_int (executing_builtin); /* modified in execute_builtin */
+ unwind_protect_int (executing_command_builtin); /* ditto */
+ }
if (already_forked)
{
/* reset_terminating_signals (); */ /* XXX */
- /* Cancel traps, in trap.c. */
- restore_original_signals ();
+ /* Reset the signal handlers in the child, but don't free the
+ trap strings. Set a flag noting that we have to free the
+ trap strings if we run trap to change a signal disposition. */
+ reset_signal_handlers ();
+ subshell_environment |= SUBSHELL_RESETTRAP;
if (async)
{
@@ -3849,7 +3974,7 @@ run_builtin:
simple_command->flags &= ~CMD_NO_FORK;
#endif
- execute_disk_command (words, simple_command->redirects, command_line,
+ result = execute_disk_command (words, simple_command->redirects, command_line,
pipe_in, pipe_out, async, fds_to_close,
simple_command->flags);
@@ -3857,6 +3982,11 @@ run_builtin:
bind_lastarg (lastarg);
FREE (command_line);
dispose_words (words);
+ if (builtin)
+ {
+ executing_builtin = old_builtin;
+ executing_command_builtin = old_command_builtin;
+ }
discard_unwind_frame ("simple-command");
this_command_name = (char *)NULL; /* points to freed memory now */
return (result);
@@ -3962,6 +4092,7 @@ execute_builtin (builtin, words, flags, subshell)
}
executing_builtin++;
+ executing_command_builtin |= builtin == command_builtin;
result = ((*builtin) (words->next));
/* This shouldn't happen, but in case `return' comes back instead of
@@ -4004,20 +4135,21 @@ execute_function (var, words, flags, fds_to_close, async, subshell)
char *debug_trap, *error_trap, *return_trap;
#if defined (ARRAY_VARS)
SHELL_VAR *funcname_v, *nfv, *bash_source_v, *bash_lineno_v;
- ARRAY *funcname_a, *bash_source_a, *bash_lineno_a;
+ ARRAY *funcname_a;
+ volatile ARRAY *bash_source_a;
+ volatile ARRAY *bash_lineno_a;
#endif
FUNCTION_DEF *shell_fn;
char *sfile, *t;
USE_VAR(fc);
-#if 0 /* for bash-4.2 */
if (funcnest_max > 0 && funcnest >= funcnest_max)
{
internal_error ("%s: maximum function nesting level exceeded (%d)", var->name, funcnest);
+ funcnest = 0; /* XXX - should we reset it somewhere else? */
jump_to_top_level (DISCARD);
}
-#endif
#if defined (ARRAY_VARS)
GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a);
@@ -4343,17 +4475,28 @@ execute_builtin_or_function (words, builtin, var, redirects,
{
int result;
REDIRECT *saved_undo_list;
- sh_builtin_func_t *saved_this_shell_builtin;
+#if defined (PROCESS_SUBSTITUTION)
+ int ofifo, nfifo, osize;
+ char *ofifo_list;
+#endif
+
+
+#if defined (PROCESS_SUBSTITUTION)
+ ofifo = num_fifos ();
+ ofifo_list = copy_fifo_list (&osize);
+#endif
if (do_redirections (redirects, RX_ACTIVE|RX_UNDOABLE) != 0)
{
cleanup_redirects (redirection_undo_list);
redirection_undo_list = (REDIRECT *)NULL;
dispose_exec_redirects ();
+#if defined (PROCESS_SUBSTITUTION)
+ free (ofifo_list);
+#endif
return (EX_REDIRFAIL); /* was EXECUTION_FAILURE */
}
- saved_this_shell_builtin = this_shell_builtin;
saved_undo_list = redirection_undo_list;
/* Calling the "exec" builtin changes redirections forever. */
@@ -4393,11 +4536,18 @@ execute_builtin_or_function (words, builtin, var, redirects,
and preserve the redirections. */
if (builtin == command_builtin && this_shell_builtin == exec_builtin)
{
+ int discard;
+
+ discard = 0;
if (saved_undo_list)
- dispose_redirects (saved_undo_list);
+ {
+ dispose_redirects (saved_undo_list);
+ discard = 1;
+ }
redirection_undo_list = exec_redirection_undo_list;
saved_undo_list = exec_redirection_undo_list = (REDIRECT *)NULL;
- discard_unwind_frame ("saved_redirects");
+ if (discard)
+ discard_unwind_frame ("saved redirects");
}
if (saved_undo_list)
@@ -4412,6 +4562,14 @@ execute_builtin_or_function (words, builtin, var, redirects,
redirection_undo_list = (REDIRECT *)NULL;
}
+#if defined (PROCESS_SUBSTITUTION)
+ /* Close any FIFOs created by this builtin or function. */
+ nfifo = num_fifos ();
+ if (nfifo > ofifo)
+ close_new_fifos (ofifo_list, osize);
+ free (ofifo_list);
+#endif
+
return (result);
}
@@ -4457,7 +4615,7 @@ setup_async_signals ()
# define NOTFOUND_HOOK "command_not_found_handle"
#endif
-static void
+static int
execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
async, fds_to_close, cmdflags)
WORD_LIST *words;
@@ -4468,7 +4626,7 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
int cmdflags;
{
char *pathname, *command, **args;
- int nofork;
+ int nofork, result;
pid_t pid;
SHELL_VAR *hookf;
WORD_LIST *wl;
@@ -4476,13 +4634,14 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
nofork = (cmdflags & CMD_NO_FORK); /* Don't fork, just exec, if no pipes */
pathname = words->word->word;
+ result = EXECUTION_SUCCESS;
#if defined (RESTRICTED_SHELL)
command = (char *)NULL;
if (restricted && mbschr (pathname, '/'))
{
internal_error (_("%s: restricted: cannot specify `/' in command names"),
pathname);
- last_command_exit_value = EXECUTION_FAILURE;
+ result = last_command_exit_value = EXECUTION_FAILURE;
/* If we're not going to fork below, we must already be in a child
process or a context in which it's safe to call exit(2). */
@@ -4522,6 +4681,7 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
#endif
#endif
+ reset_terminating_signals (); /* XXX */
/* Cancel traps, in trap.c. */
restore_original_signals ();
@@ -4571,6 +4731,9 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
hookf = find_function (NOTFOUND_HOOK);
if (hookf == 0)
{
+ /* Make sure filenames are displayed using printable characters */
+ if (ansic_shouldquote (pathname))
+ pathname = ansic_quote (pathname, 0, NULL);
internal_error (_("%s: command not found"), pathname);
exit (EX_NOTFOUND); /* Posix.2 says the exit status is 127 */
}
@@ -4595,6 +4758,7 @@ parent_return:
unlink_fifo_list ();
#endif
FREE (command);
+ return (result);
}
}
@@ -4793,7 +4957,11 @@ shell_execve (command, args, env)
if (i != ENOEXEC)
{
if (file_isdir (command))
+#if defined (EISDIR)
+ internal_error (_("%s: %s"), command, strerror (EISDIR));
+#else
internal_error (_("%s: is a directory"), command);
+#endif
else if (executable_file (command) == 0)
{
errno = i;
@@ -4990,6 +5158,10 @@ do_piping (pipe_in, pipe_out)
dup_error (pipe_in, 0);
if (pipe_in > 0)
close (pipe_in);
+#ifdef __CYGWIN__
+ /* Let stdio know the fd may have changed from text to binary mode. */
+ freopen (NULL, "r", stdin);
+#endif /* __CYGWIN__ */
}
if (pipe_out != NO_PIPE)
{
@@ -5005,5 +5177,11 @@ do_piping (pipe_in, pipe_out)
if (dup2 (1, 2) < 0)
dup_error (1, 2);
}
+#ifdef __CYGWIN__
+ /* Let stdio know the fd may have changed from text to binary mode, and
+ make sure to preserve stdout line buffering. */
+ freopen (NULL, "w", stdout);
+ sh_setlinebuf (stdout);
+#endif /* __CYGWIN__ */
}
}
diff --git a/expr.c b/expr.c
index 446e678..2177cfa 100644
--- a/expr.c
+++ b/expr.c
@@ -1,6 +1,6 @@
/* expr.c -- arithmetic expression evaluation. */
-/* Copyright (C) 1990-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1990-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -137,6 +137,28 @@
highest precedence. */
#define EXP_HIGHEST expcomma
+#ifndef MAX_INT_LEN
+# define MAX_INT_LEN 32
+#endif
+
+struct lvalue
+{
+ char *tokstr; /* possibly-rewritten lvalue if not NULL */
+ intmax_t tokval; /* expression evaluated value */
+ SHELL_VAR *tokvar; /* variable described by array or var reference */
+ intmax_t ind; /* array index if not -1 */
+};
+
+/* A structure defining a single expression context. */
+typedef struct {
+ int curtok, lasttok;
+ char *expression, *tp, *lasttp;
+ intmax_t tokval;
+ char *tokstr;
+ int noeval;
+ struct lvalue lval;
+} EXPR_CONTEXT;
+
static char *expression; /* The current expression */
static char *tp; /* token lexical position */
static char *lasttp; /* pointer to last token position */
@@ -148,10 +170,17 @@ static intmax_t tokval; /* current token value */
static int noeval; /* set to 1 if no assignment to be done */
static procenv_t evalbuf;
+static struct lvalue curlval = {0, 0, 0, -1};
+static struct lvalue lastlval = {0, 0, 0, -1};
+
static int _is_arithop __P((int));
static void readtok __P((void)); /* lexical analyzer */
-static intmax_t expr_streval __P((char *, int));
+static void init_lvalue __P((struct lvalue *));
+static struct lvalue *alloc_lvalue __P((void));
+static void free_lvalue __P((struct lvalue *));
+
+static intmax_t expr_streval __P((char *, int, struct lvalue *));
static intmax_t strlong __P((char *));
static void evalerror __P((const char *));
@@ -159,6 +188,7 @@ static void pushexp __P((void));
static void popexp __P((void));
static void expr_unwind __P((void));
static void expr_bind_variable __P((char *, char *));
+static void expr_bind_array_element __P((char *, arrayind_t, char *));
static intmax_t subexpr __P((char *));
@@ -179,23 +209,6 @@ static intmax_t exppower __P((void));
static intmax_t exp1 __P((void));
static intmax_t exp0 __P((void));
-/* A structure defining a single expression context. */
-typedef struct {
- int curtok, lasttok;
- char *expression, *tp, *lasttp;
- intmax_t tokval;
- char *tokstr;
- int noeval;
-} EXPR_CONTEXT;
-
-#ifdef INCLUDE_UNUSED
-/* Not used yet. */
-typedef struct {
- char *tokstr;
- intmax_t tokval;
-} LVALUE;
-#endif
-
/* Global var which contains the stack of expression contexts. */
static EXPR_CONTEXT **expr_stack;
static int expr_depth; /* Location in the stack. */
@@ -217,6 +230,7 @@ extern const char * const bash_badsub_errmsg;
(X)->tokval = tokval; \
(X)->tokstr = tokstr; \
(X)->noeval = noeval; \
+ (X)->lval = curlval; \
} while (0)
#define RESTORETOK(X) \
@@ -228,6 +242,7 @@ extern const char * const bash_badsub_errmsg;
tokval = (X)->tokval; \
tokstr = (X)->tokstr; \
noeval = (X)->noeval; \
+ curlval = (X)->lval; \
} while (0)
/* Push and save away the contents of the globals describing the
@@ -298,6 +313,32 @@ expr_bind_variable (lhs, rhs)
stupidly_hack_special_variables (lhs);
}
+/* Rewrite tok, which is of the form vname[expression], to vname[ind], where
+ IND is the already-calculated value of expression. */
+static void
+expr_bind_array_element (tok, ind, rhs)
+ char *tok;
+ arrayind_t ind;
+ char *rhs;
+{
+ char *lhs, *vname;
+ size_t llen;
+ char ibuf[INT_STRLEN_BOUND (arrayind_t) + 1], *istr;
+
+ istr = fmtumax (ind, 10, ibuf, sizeof (ibuf), 0);
+ vname = array_variable_name (tok, (char **)NULL, (int *)NULL);
+
+ llen = strlen (vname) + sizeof (ibuf) + 3;
+ lhs = xmalloc (llen);
+
+ sprintf (lhs, "%s[%s]", vname, istr); /* XXX */
+
+ expr_bind_variable (lhs, rhs);
+/*itrace("expr_bind_array_element: %s=%s", lhs, rhs);*/
+ free (vname);
+ free (lhs);
+}
+
/* Evaluate EXPR, and return the arithmetic result. If VALIDP is
non-null, a zero is stored into the location to which it points
if the expression is invalid, non-zero otherwise. If a non-zero
@@ -364,12 +405,14 @@ subexpr (expr)
return (0);
pushexp ();
- curtok = lasttok = 0;
expression = savestring (expr);
tp = expression;
+ curtok = lasttok = 0;
tokstr = (char *)NULL;
tokval = 0;
+ init_lvalue (&curlval);
+ lastlval = curlval;
readtok ();
@@ -406,6 +449,7 @@ expassign ()
{
register intmax_t value;
char *lhs, *rhs;
+ arrayind_t lind;
value = expcond ();
if (curtok == EQ || curtok == OP_ASSIGN)
@@ -425,6 +469,8 @@ expassign ()
}
lhs = savestring (tokstr);
+ /* save ind in case rhs is string var and evaluation overwrites it */
+ lind = curlval.ind;
readtok ();
value = expassign ();
@@ -476,7 +522,12 @@ expassign ()
rhs = itos (value);
if (noeval == 0)
- expr_bind_variable (lhs, rhs);
+ {
+ if (lind != -1)
+ expr_bind_array_element (lhs, lind, rhs);
+ else
+ expr_bind_variable (lhs, rhs);
+ }
free (rhs);
free (lhs);
FREE (tokstr);
@@ -801,6 +852,16 @@ exp1 ()
readtok ();
val = ~exp1 ();
}
+ else if (curtok == MINUS)
+ {
+ readtok ();
+ val = - exp1 ();
+ }
+ else if (curtok == PLUS)
+ {
+ readtok ();
+ val = exp1 ();
+ }
else
val = exp0 ();
@@ -828,23 +889,18 @@ exp0 ()
v2 = tokval + ((stok == PREINC) ? 1 : -1);
vincdec = itos (v2);
if (noeval == 0)
- expr_bind_variable (tokstr, vincdec);
+ {
+ if (curlval.ind != -1)
+ expr_bind_array_element (curlval.tokstr, curlval.ind, vincdec);
+ else
+ expr_bind_variable (tokstr, vincdec);
+ }
free (vincdec);
val = v2;
curtok = NUM; /* make sure --x=7 is flagged as an error */
readtok ();
}
- else if (curtok == MINUS)
- {
- readtok ();
- val = - exp0 ();
- }
- else if (curtok == PLUS)
- {
- readtok ();
- val = exp0 ();
- }
else if (curtok == LPAR)
{
readtok ();
@@ -873,12 +929,18 @@ exp0 ()
/* restore certain portions of EC */
tokstr = ec.tokstr;
noeval = ec.noeval;
+ curlval = ec.lval;
lasttok = STR; /* ec.curtok */
v2 = val + ((stok == POSTINC) ? 1 : -1);
vincdec = itos (v2);
if (noeval == 0)
- expr_bind_variable (tokstr, vincdec);
+ {
+ if (curlval.ind != -1)
+ expr_bind_array_element (curlval.tokstr, curlval.ind, vincdec);
+ else
+ expr_bind_variable (tokstr, vincdec);
+ }
free (vincdec);
curtok = NUM; /* make sure x++=7 is flagged as an error */
}
@@ -899,14 +961,44 @@ exp0 ()
return (val);
}
+static void
+init_lvalue (lv)
+ struct lvalue *lv;
+{
+ lv->tokstr = 0;
+ lv->tokvar = 0;
+ lv->tokval = lv->ind = -1;
+}
+
+static struct lvalue *
+alloc_lvalue ()
+{
+ struct lvalue *lv;
+
+ lv = xmalloc (sizeof (struct lvalue));
+ init_lvalue (lv);
+ return (lv);
+}
+
+static void
+free_lvalue (lv)
+ struct lvalue *lv;
+{
+ free (lv); /* should be inlined */
+}
+
static intmax_t
-expr_streval (tok, e)
+expr_streval (tok, e, lvalue)
char *tok;
int e;
+ struct lvalue *lvalue;
{
SHELL_VAR *v;
char *value;
intmax_t tval;
+#if defined (ARRAY_VARS)
+ arrayind_t ind;
+#endif
/* [[[[[ */
#if defined (ARRAY_VARS)
@@ -941,18 +1033,27 @@ expr_streval (tok, e)
jump_to_top_level (FORCE_EOF);
}
+ ind = -1;
#if defined (ARRAY_VARS)
/* Second argument of 0 to get_array_value means that we don't allow
references like array[@]. In this case, get_array_value is just
like get_variable_value in that it does not return newly-allocated
memory or quote the results. */
- value = (e == ']') ? get_array_value (tok, 0, (int *)NULL) : get_variable_value (v);
+ value = (e == ']') ? get_array_value (tok, 0, (int *)NULL, &ind) : get_variable_value (v);
#else
value = get_variable_value (v);
#endif
tval = (value && *value) ? subexpr (value) : 0;
+ if (lvalue)
+ {
+ lvalue->tokstr = tok; /* XXX */
+ lvalue->tokval = tval;
+ lvalue->tokvar = v; /* XXX */
+ lvalue->ind = ind;
+ }
+
return (tval);
}
@@ -1024,6 +1125,7 @@ readtok ()
register char *cp, *xp;
register unsigned char c, c1;
register int e;
+ struct lvalue lval;
/* Skip leading whitespace. */
cp = tp;
@@ -1075,6 +1177,7 @@ readtok ()
tokstr = savestring (tp);
*cp = c;
+ /* XXX - make peektok part of saved token state? */
SAVETOK (&ec);
tokstr = (char *)NULL; /* keep it from being freed */
tp = savecp = cp;
@@ -1090,7 +1193,10 @@ readtok ()
/* The tests for PREINC and PREDEC aren't strictly correct, but they
preserve old behavior if a construct like --x=9 is given. */
if (lasttok == PREINC || lasttok == PREDEC || peektok != EQ)
- tokval = expr_streval (tokstr, e);
+ {
+ lastlval = curlval;
+ tokval = expr_streval (tokstr, e, &curlval);
+ }
else
tokval = 0;
diff --git a/externs.h b/externs.h
index c621d3b..09244fa 100644
--- a/externs.h
+++ b/externs.h
@@ -1,7 +1,7 @@
/* externs.h -- extern function declarations which do not appear in their
own header file. */
-/* Copyright (C) 1993-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -114,7 +114,7 @@ extern int get_current_prompt_level __P((void));
extern void set_current_prompt_level __P((int));
#if defined (HISTORY)
-extern char *history_delimiting_chars __P((void));
+extern char *history_delimiting_chars __P((const char *));
#endif
/* Declarations for functions defined in locale.c */
@@ -178,8 +178,10 @@ extern long get_clk_tck __P((void));
extern void clock_t_to_secs ();
extern void print_clock_t ();
-/* Declarations for functions defined in lib/sh/fdprintf.c */
-extern int fdprintf __P((int, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
+/* Declarations for functions defined in lib/sh/dprintf.c */
+#if !defined (HAVE_DPRINTF)
+extern void dprintf __P((int, const char *, ...)) __attribute__((__format__ (printf, 2, 3)));
+#endif
/* Declarations for functions defined in lib/sh/fmtulong.c */
#define FL_PREFIX 0x01 /* add 0x, 0X, or 0 prefix as appropriate */
@@ -301,9 +303,13 @@ extern int sh_regmatch __P((const char *, const char *, int));
#define SHMAT_SUBEXP 0x001 /* save subexpressions in SH_REMATCH */
#define SHMAT_PWARN 0x002 /* print a warning message on invalid regexp */
+/* declarations for functions defined in lib/sh/shmbchar.c */
+extern size_t mbstrlen __P((const char *));
+extern char *mbsmbchar __P((const char *));
+
/* declarations for functions defined in lib/sh/shquote.c */
-extern char *sh_single_quote __P((char *));
-extern char *sh_double_quote __P((char *));
+extern char *sh_single_quote __P((const char *));
+extern char *sh_double_quote __P((const char *));
extern char *sh_mkdoublequoted __P((const char *, int, int));
extern char *sh_un_double_quote __P((char *));
extern char *sh_backslash_quote __P((char *));
@@ -325,6 +331,11 @@ extern int strcasecmp __P((const char *, const char *));
extern char *strcasestr __P((const char *, const char *));
#endif
+/* declarations for functions defined in lib/sh/strchrnul.c */
+#if ! HAVE_STRCHRNUL
+extern char *strchrnul __P((const char *, int));
+#endif
+
/* declarations for functions defined in lib/sh/strerror.c */
#if !defined (HAVE_STRERROR) && !defined (strerror)
extern char *strerror __P((int));
@@ -448,6 +459,9 @@ extern int uconvert __P((char *, long *, long *));
extern unsigned int falarm __P((unsigned int, unsigned int));
extern unsigned int fsleep __P((unsigned int, unsigned int));
+/* declarations for functions defined in lib/sh/unicode.c */
+extern int u32cconv __P((unsigned long, char *));
+
/* declarations for functions defined in lib/sh/winsize.c */
extern void get_new_window_size __P((int, int *, int *));
@@ -472,4 +486,13 @@ extern void zsyncfd __P((int));
/* declarations for functions defined in lib/sh/zwrite.c */
extern int zwrite __P((int, char *, size_t));
+/* declarations for functions defined in lib/glob/gmisc.c */
+extern int match_pattern_char __P((char *, char *));
+extern int umatchlen __P((char *, size_t));
+
+#if defined (HANDLE_MULTIBYTE)
+extern int match_pattern_wchar __P((wchar_t *, wchar_t *));
+extern int wmatchlen __P((wchar_t *, size_t));
+#endif
+
#endif /* _EXTERNS_H_ */
diff --git a/findcmd.c b/findcmd.c
index 557f8b5..330e395 100644
--- a/findcmd.c
+++ b/findcmd.c
@@ -32,6 +32,7 @@
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
+#include <errno.h>
#include "bashansi.h"
@@ -43,6 +44,10 @@
#include "hashcmd.h"
#include "findcmd.h" /* matching prototypes and declarations */
+#if !defined (errno)
+extern int errno;
+#endif
+
extern int posixly_correct;
/* Static functions defined and used in this file. */
@@ -172,6 +177,10 @@ executable_file (file)
int s;
s = file_status (file);
+#if defined EISDIR
+ if (s & FS_DIRECTORY)
+ errno = EISDIR; /* let's see if we can improve error messages */
+#endif
return ((s & FS_EXECABLE) && ((s & FS_DIRECTORY) == 0));
}
diff --git a/general.c b/general.c
index 26c7d3d..fdadf1d 100644
--- a/general.c
+++ b/general.c
@@ -363,6 +363,16 @@ sh_validfd (fd)
return (fcntl (fd, F_GETFD, 0) >= 0);
}
+int
+fd_ispipe (fd)
+ int fd;
+{
+ errno = 0;
+ if (lseek ((fd), 0L, SEEK_CUR) < 0)
+ return (errno == ESPIPE);
+ return 0;
+}
+
/* There is a bug in the NeXT 2.1 rlogind that causes opens
of /dev/tty to fail. */
@@ -549,6 +559,22 @@ file_iswdir (fn)
return (file_isdir (fn) && sh_eaccess (fn, W_OK) == 0);
}
+/* Return 1 if STRING is "." or "..", optionally followed by a directory
+ separator */
+int
+dot_or_dotdot (string)
+ const char *string;
+{
+ if (string == 0 || *string == '\0' || *string != '.')
+ return (0);
+
+ /* string[0] == '.' */
+ if (PATHSEP(string[1]) || (string[1] == '.' && PATHSEP(string[2])))
+ return (1);
+
+ return (0);
+}
+
/* Return 1 if STRING contains an absolute pathname, else 0. Used by `cd'
to decide whether or not to look up a directory name in $CDPATH. */
int
diff --git a/general.h b/general.h
index 1ec0d39..2b31c58 100644
--- a/general.h
+++ b/general.h
@@ -216,8 +216,8 @@ typedef void sh_resetsig_func_t __P((int)); /* sh_vintfunc_t */
typedef int sh_ignore_func_t __P((const char *)); /* sh_icpfunc_t */
-typedef int sh_assign_func_t __P((const char *)); /* sh_icpfunc_t */
-typedef int sh_wassign_func_t __P((WORD_DESC *));
+typedef int sh_assign_func_t __P((const char *));
+typedef int sh_wassign_func_t __P((WORD_DESC *, int));
typedef int sh_builtin_func_t __P((WORD_LIST *)); /* sh_wlist_func_t */
@@ -289,6 +289,7 @@ extern int assignment __P((const char *, int));
extern int sh_unset_nodelay_mode __P((int));
extern int sh_validfd __P((int));
+extern int fd_ispipe __P((int));
extern void check_dev_tty __P((void));
extern int move_to_high_fd __P((int, int, int));
extern int check_binary_file __P((char *, int));
@@ -303,6 +304,7 @@ extern int sh_closepipe __P((int *));
extern int file_exists __P((char *));
extern int file_isdir __P((char *));
extern int file_iswdir __P((char *));
+extern int dot_or_dotdot __P((const char *));
extern int absolute_pathname __P((const char *));
extern int absolute_program __P((const char *));
diff --git a/include/chartypes.h b/include/chartypes.h
index 0560769..77bcad9 100644
--- a/include/chartypes.h
+++ b/include/chartypes.h
@@ -107,7 +107,7 @@
#endif
#ifndef UNCTRL
/* control char to letter -- ASCII */
-# define UNCTRL(x) (TOUPPER((x) | 0x40))
+# define UNCTRL(x) (TOUPPER(x) ^ 0x40)
#endif
#endif /* _SH_CHARTYPES_H */
diff --git a/include/filecntl.h b/include/filecntl.h
index 31667a1..9bcbab8 100644
--- a/include/filecntl.h
+++ b/include/filecntl.h
@@ -42,4 +42,12 @@
# endif
#endif
+/* Make sure O_BINARY and O_TEXT are defined to avoid Windows-specific code. */
+#if !defined (O_BINARY)
+# define O_BINARY 0
+#endif
+#if !defined (O_TEXT)
+# define O_TEXT 0
+#endif
+
#endif /* ! _FILECNTL_H_ */
diff --git a/include/shmbchar.h b/include/shmbchar.h
new file mode 100644
index 0000000..a475f56
--- /dev/null
+++ b/include/shmbchar.h
@@ -0,0 +1,353 @@
+/* Multibyte character data type.
+ Copyright (C) 2001, 2005-2007, 2009-2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>. */
+
+/* A multibyte character is a short subsequence of a char* string,
+ representing a single wide character.
+
+ We use multibyte characters instead of wide characters because of
+ the following goals:
+ 1) correct multibyte handling, i.e. operate according to the LC_CTYPE
+ locale,
+ 2) ease of maintenance, i.e. the maintainer needs not know all details
+ of the ISO C 99 standard,
+ 3) don't fail grossly if the input is not in the encoding set by the
+ locale, because often different encodings are in use in the same
+ countries (ISO-8859-1/UTF-8, EUC-JP/Shift_JIS, ...),
+ 4) fast in the case of ASCII characters,
+ 5) portability, i.e. don't make unportable assumptions about wchar_t.
+
+ Multibyte characters are only accessed through the mb* macros.
+
+ mb_ptr (mbc)
+ return a pointer to the beginning of the multibyte sequence.
+
+ mb_len (mbc)
+ returns the number of bytes occupied by the multibyte sequence.
+ Always > 0.
+
+ mb_iseq (mbc, sc)
+ returns true if mbc is the standard ASCII character sc.
+
+ mb_isnul (mbc)
+ returns true if mbc is the nul character.
+
+ mb_cmp (mbc1, mbc2)
+ returns a positive, zero, or negative value depending on whether mbc1
+ sorts after, same or before mbc2.
+
+ mb_casecmp (mbc1, mbc2)
+ returns a positive, zero, or negative value depending on whether mbc1
+ sorts after, same or before mbc2, modulo upper/lowercase conversion.
+
+ mb_equal (mbc1, mbc2)
+ returns true if mbc1 and mbc2 are equal.
+
+ mb_caseequal (mbc1, mbc2)
+ returns true if mbc1 and mbc2 are equal modulo upper/lowercase conversion.
+
+ mb_isalnum (mbc)
+ returns true if mbc is alphanumeric.
+
+ mb_isalpha (mbc)
+ returns true if mbc is alphabetic.
+
+ mb_isascii(mbc)
+ returns true if mbc is plain ASCII.
+
+ mb_isblank (mbc)
+ returns true if mbc is a blank.
+
+ mb_iscntrl (mbc)
+ returns true if mbc is a control character.
+
+ mb_isdigit (mbc)
+ returns true if mbc is a decimal digit.
+
+ mb_isgraph (mbc)
+ returns true if mbc is a graphic character.
+
+ mb_islower (mbc)
+ returns true if mbc is lowercase.
+
+ mb_isprint (mbc)
+ returns true if mbc is a printable character.
+
+ mb_ispunct (mbc)
+ returns true if mbc is a punctuation character.
+
+ mb_isspace (mbc)
+ returns true if mbc is a space character.
+
+ mb_isupper (mbc)
+ returns true if mbc is uppercase.
+
+ mb_isxdigit (mbc)
+ returns true if mbc is a hexadecimal digit.
+
+ mb_width (mbc)
+ returns the number of columns on the output device occupied by mbc.
+ Always >= 0.
+
+ mb_putc (mbc, stream)
+ outputs mbc on stream, a byte oriented FILE stream opened for output.
+
+ mb_setascii (&mbc, sc)
+ assigns the standard ASCII character sc to mbc.
+
+ mb_copy (&destmbc, &srcmbc)
+ copies srcmbc to destmbc.
+
+ Here are the function prototypes of the macros.
+
+ typedef int bool;
+ extern const char * mb_ptr (const mbchar_t mbc);
+ extern size_t mb_len (const mbchar_t mbc);
+ extern bool mb_iseq (const mbchar_t mbc, char sc);
+ extern bool mb_isnul (const mbchar_t mbc);
+ extern int mb_cmp (const mbchar_t mbc1, const mbchar_t mbc2);
+ extern int mb_casecmp (const mbchar_t mbc1, const mbchar_t mbc2);
+ extern bool mb_equal (const mbchar_t mbc1, const mbchar_t mbc2);
+ extern bool mb_caseequal (const mbchar_t mbc1, const mbchar_t mbc2);
+ extern bool mb_isalnum (const mbchar_t mbc);
+ extern bool mb_isalpha (const mbchar_t mbc);
+ extern bool mb_isascii (const mbchar_t mbc);
+ extern bool mb_isblank (const mbchar_t mbc);
+ extern bool mb_iscntrl (const mbchar_t mbc);
+ extern bool mb_isdigit (const mbchar_t mbc);
+ extern bool mb_isgraph (const mbchar_t mbc);
+ extern bool mb_islower (const mbchar_t mbc);
+ extern bool mb_isprint (const mbchar_t mbc);
+ extern bool mb_ispunct (const mbchar_t mbc);
+ extern bool mb_isspace (const mbchar_t mbc);
+ extern bool mb_isupper (const mbchar_t mbc);
+ extern bool mb_isxdigit (const mbchar_t mbc);
+ extern int mb_width (const mbchar_t mbc);
+ extern void mb_putc (const mbchar_t mbc, FILE *stream);
+ extern void mb_setascii (mbchar_t *new, char sc);
+ extern void mb_copy (mbchar_t *new, const mbchar_t *old);
+ */
+
+#ifndef _SHMBCHAR_H
+#define _SHMBCHAR_H 1
+
+#if defined (HANDLE_MULTIBYTE)
+
+#include <string.h>
+
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+ <wchar.h>.
+ BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
+ <wchar.h>. */
+#include <stdio.h>
+#include <time.h>
+#include <wchar.h>
+#include <wctype.h>
+
+#define MBCHAR_BUF_SIZE 24
+
+struct mbchar
+{
+ const char *ptr; /* pointer to current character */
+ size_t bytes; /* number of bytes of current character, > 0 */
+ int wc_valid; /* true if wc is a valid wide character */
+ wchar_t wc; /* if wc_valid: the current character */
+ char buf[MBCHAR_BUF_SIZE]; /* room for the bytes, used for file input only */
+};
+
+/* EOF (not a real character) is represented with bytes = 0 and
+ wc_valid = false. */
+
+typedef struct mbchar mbchar_t;
+
+/* Access the current character. */
+#define mb_ptr(mbc) ((mbc).ptr)
+#define mb_len(mbc) ((mbc).bytes)
+
+/* Comparison of characters. */
+#define mb_iseq(mbc, sc) ((mbc).wc_valid && (mbc).wc == (sc))
+#define mb_isnul(mbc) ((mbc).wc_valid && (mbc).wc == 0)
+#define mb_cmp(mbc1, mbc2) \
+ ((mbc1).wc_valid \
+ ? ((mbc2).wc_valid \
+ ? (int) (mbc1).wc - (int) (mbc2).wc \
+ : -1) \
+ : ((mbc2).wc_valid \
+ ? 1 \
+ : (mbc1).bytes == (mbc2).bytes \
+ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \
+ : (mbc1).bytes < (mbc2).bytes \
+ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \
+ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1)))
+#define mb_casecmp(mbc1, mbc2) \
+ ((mbc1).wc_valid \
+ ? ((mbc2).wc_valid \
+ ? (int) towlower ((mbc1).wc) - (int) towlower ((mbc2).wc) \
+ : -1) \
+ : ((mbc2).wc_valid \
+ ? 1 \
+ : (mbc1).bytes == (mbc2).bytes \
+ ? memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) \
+ : (mbc1).bytes < (mbc2).bytes \
+ ? (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) > 0 ? 1 : -1) \
+ : (memcmp ((mbc1).ptr, (mbc2).ptr, (mbc2).bytes) >= 0 ? 1 : -1)))
+#define mb_equal(mbc1, mbc2) \
+ ((mbc1).wc_valid && (mbc2).wc_valid \
+ ? (mbc1).wc == (mbc2).wc \
+ : (mbc1).bytes == (mbc2).bytes \
+ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0)
+#define mb_caseequal(mbc1, mbc2) \
+ ((mbc1).wc_valid && (mbc2).wc_valid \
+ ? towlower ((mbc1).wc) == towlower ((mbc2).wc) \
+ : (mbc1).bytes == (mbc2).bytes \
+ && memcmp ((mbc1).ptr, (mbc2).ptr, (mbc1).bytes) == 0)
+
+/* <ctype.h>, <wctype.h> classification. */
+#define mb_isascii(mbc) \
+ ((mbc).wc_valid && (mbc).wc >= 0 && (mbc).wc <= 127)
+#define mb_isalnum(mbc) ((mbc).wc_valid && iswalnum ((mbc).wc))
+#define mb_isalpha(mbc) ((mbc).wc_valid && iswalpha ((mbc).wc))
+#define mb_isblank(mbc) ((mbc).wc_valid && iswblank ((mbc).wc))
+#define mb_iscntrl(mbc) ((mbc).wc_valid && iswcntrl ((mbc).wc))
+#define mb_isdigit(mbc) ((mbc).wc_valid && iswdigit ((mbc).wc))
+#define mb_isgraph(mbc) ((mbc).wc_valid && iswgraph ((mbc).wc))
+#define mb_islower(mbc) ((mbc).wc_valid && iswlower ((mbc).wc))
+#define mb_isprint(mbc) ((mbc).wc_valid && iswprint ((mbc).wc))
+#define mb_ispunct(mbc) ((mbc).wc_valid && iswpunct ((mbc).wc))
+#define mb_isspace(mbc) ((mbc).wc_valid && iswspace ((mbc).wc))
+#define mb_isupper(mbc) ((mbc).wc_valid && iswupper ((mbc).wc))
+#define mb_isxdigit(mbc) ((mbc).wc_valid && iswxdigit ((mbc).wc))
+
+/* Extra <wchar.h> function. */
+
+/* Unprintable characters appear as a small box of width 1. */
+#define MB_UNPRINTABLE_WIDTH 1
+
+static inline int
+mb_width_aux (wint_t wc)
+{
+ int w = wcwidth (wc);
+ /* For unprintable characters, arbitrarily return 0 for control characters
+ and MB_UNPRINTABLE_WIDTH otherwise. */
+ return (w >= 0 ? w : iswcntrl (wc) ? 0 : MB_UNPRINTABLE_WIDTH);
+}
+
+#define mb_width(mbc) \
+ ((mbc).wc_valid ? mb_width_aux ((mbc).wc) : MB_UNPRINTABLE_WIDTH)
+
+/* Output. */
+#define mb_putc(mbc, stream) fwrite ((mbc).ptr, 1, (mbc).bytes, (stream))
+
+/* Assignment. */
+#define mb_setascii(mbc, sc) \
+ ((mbc)->ptr = (mbc)->buf, (mbc)->bytes = 1, (mbc)->wc_valid = 1, \
+ (mbc)->wc = (mbc)->buf[0] = (sc))
+
+/* Copying a character. */
+static inline void
+mb_copy (mbchar_t *new_mbc, const mbchar_t *old_mbc)
+{
+ if (old_mbc->ptr == &old_mbc->buf[0])
+ {
+ memcpy (&new_mbc->buf[0], &old_mbc->buf[0], old_mbc->bytes);
+ new_mbc->ptr = &new_mbc->buf[0];
+ }
+ else
+ new_mbc->ptr = old_mbc->ptr;
+ new_mbc->bytes = old_mbc->bytes;
+ if ((new_mbc->wc_valid = old_mbc->wc_valid))
+ new_mbc->wc = old_mbc->wc;
+}
+
+
+/* is_basic(c) tests whether the single-byte character c is in the
+ ISO C "basic character set".
+ This is a convenience function, and is in this file only to share code
+ between mbiter_multi.h and mbfile_multi.h. */
+#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+ && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+ && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+ && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+ && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+ && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+ && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+ && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+ && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+ && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+ && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+ && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+ && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+ && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+ && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+ && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+ && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+ && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+ && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+ && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+ && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
+/* The character set is ISO-646, not EBCDIC. */
+# define IS_BASIC_ASCII 1
+
+extern const unsigned int is_basic_table[];
+
+static inline int
+is_basic (char c)
+{
+ return (is_basic_table [(unsigned char) c >> 5] >> ((unsigned char) c & 31))
+ & 1;
+}
+
+#else
+
+static inline int
+is_basic (char c)
+{
+ switch (c)
+ {
+ case '\t': case '\v': case '\f':
+ case ' ': case '!': case '"': case '#': case '%':
+ case '&': case '\'': case '(': case ')': case '*':
+ case '+': case ',': case '-': case '.': case '/':
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '<': case '=': case '>':
+ case '?':
+ case 'A': case 'B': case 'C': case 'D': case 'E':
+ case 'F': case 'G': case 'H': case 'I': case 'J':
+ case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'P': case 'Q': case 'R': case 'S': case 'T':
+ case 'U': case 'V': case 'W': case 'X': case 'Y':
+ case 'Z':
+ case '[': case '\\': case ']': case '^': case '_':
+ case 'a': case 'b': case 'c': case 'd': case 'e':
+ case 'f': case 'g': case 'h': case 'i': case 'j':
+ case 'k': case 'l': case 'm': case 'n': case 'o':
+ case 'p': case 'q': case 'r': case 's': case 't':
+ case 'u': case 'v': case 'w': case 'x': case 'y':
+ case 'z': case '{': case '|': case '}': case '~':
+ return 1;
+ default:
+ return 0;
+ }
+}
+
+#endif
+
+#endif /* HANDLE_MULTIBYTE */
+#endif /* _SHMBCHAR_H */
diff --git a/include/shmbutil.h b/include/shmbutil.h
index 2b40804..e349e6f 100644
--- a/include/shmbutil.h
+++ b/include/shmbutil.h
@@ -27,6 +27,7 @@
#include <config.h>
#if defined (HANDLE_MULTIBYTE)
+#include "shmbchar.h"
extern size_t xmbsrtowcs __P((wchar_t *, const char **, size_t, mbstate_t *));
extern size_t xdupmbstowcs __P((wchar_t **, char ***, const char *));
@@ -101,9 +102,16 @@ extern char *xstrchr __P((const char *, int));
{ \
mbstate_t state_bak; \
size_t mblength; \
+ int _f; \
\
- state_bak = state; \
- mblength = mbrlen ((_str) + (_i), (_strsize) - (_i), &state); \
+ _f = is_basic ((_str)[_i]); \
+ if (_f) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_str) + (_i), (_strsize) - (_i), &state); \
+ } \
\
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
@@ -134,9 +142,16 @@ extern char *xstrchr __P((const char *, int));
{ \
mbstate_t state_bak; \
size_t mblength; \
+ int _f; \
\
- state_bak = state; \
- mblength = mbrlen ((_str), (_strsize), &state); \
+ _f = is_basic (*(_str)); \
+ if (_f) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_str), (_strsize), &state); \
+ } \
\
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
@@ -247,8 +262,14 @@ extern char *xstrchr __P((const char *, int));
size_t mblength; \
int _k; \
\
- state_bak = state; \
- mblength = mbrlen ((_src), (_srcend) - (_src), &state); \
+ _k = is_basic (*(_src)); \
+ if (_k) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_src), (_srcend) - (_src), &state); \
+ } \
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
state = state_bak; \
@@ -280,8 +301,14 @@ extern char *xstrchr __P((const char *, int));
size_t mblength; \
int _k; \
\
- state_bak = state; \
- mblength = mbrlen ((_src) + (_si), (_srcend) - ((_src)+(_si)), &state); \
+ _k = is_basic (*((_src) + (_si))); \
+ if (_k) \
+ mblength = 1; \
+ else \
+ {\
+ state_bak = state; \
+ mblength = mbrlen ((_src) + (_si), (_srcend) - ((_src)+(_si)), &state); \
+ } \
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
state = state_bak; \
@@ -317,8 +344,14 @@ extern char *xstrchr __P((const char *, int));
size_t mblength; \
int _i; \
\
- state_bak = state; \
- mblength = mbrlen ((_src) + (_si), (_slen) - (_si), &state); \
+ _i = is_basic (*((_src) + (_si))); \
+ if (_i) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_src) + (_si), (_slen) - (_si), &state); \
+ } \
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
state = state_bak; \
@@ -356,9 +389,16 @@ extern char *xstrchr __P((const char *, int));
{ \
mbstate_t state_bak; \
size_t mblength; \
+ int _i; \
\
- state_bak = state; \
- mblength = mbrlen ((_src) + (_si), (_srcend) - ((_src) + (_si)), &state); \
+ _i = is_basic (*((_src) + (_si))); \
+ if (_i) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_src) + (_si), (_srcend) - ((_src) + (_si)), &state); \
+ } \
if (mblength == (size_t)-2 || mblength == (size_t)-1) \
{ \
state = state_bak; \
@@ -395,8 +435,14 @@ extern char *xstrchr __P((const char *, int));
mbstate_t state_bak; \
size_t mblength; \
\
- state_bak = state; \
- mblength = mbrlen ((_src) + (_si), (_srcsize) - (_si), &state); \
+ i = is_basic (*((_src) + (_si))); \
+ if (i) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_src) + (_si), (_srcsize) - (_si), &state); \
+ } \
if (mblength == (size_t)-1 || mblength == (size_t)-2) \
{ \
state = state_bak; \
@@ -427,8 +473,14 @@ extern char *xstrchr __P((const char *, int));
mbstate_t state_bak; \
size_t mblength; \
\
- state_bak = state; \
- mblength = mbrlen ((_src) + (_si), (_srcsize) - (_si), &state); \
+ i = is_basic (*((_src) + (_si))); \
+ if (i) \
+ mblength = 1; \
+ else \
+ { \
+ state_bak = state; \
+ mblength = mbrlen ((_src) + (_si), (_srcsize) - (_si), &state); \
+ } \
if (mblength == (size_t)-1 || mblength == (size_t)-2) \
{ \
state = state_bak; \
diff --git a/include/typemax.h b/include/typemax.h
index 32e7a89..300b113 100644
--- a/include/typemax.h
+++ b/include/typemax.h
@@ -77,6 +77,21 @@ static const unsigned long long int maxquad = ULLONG_MAX;
# define ULLONG_MAX maxquad
#endif
+#if !defined (INTMAX_MAX) || !defined (INTMAX_MIN)
+
+#if SIZEOF_INTMAX_T == SIZEOF_LONG_LONG
+# define INTMAX_MAX LLONG_MAX
+# define INTMAX_MIN LLONG_MIN
+#elif SIZEOF_INTMAX_T == SIZEOF_LONG
+# define INTMAX_MAX LONG_MAX
+# define INTMAX_MIN LONG_MIN
+#else
+# define INTMAX_MAX INT_MAX
+# define INTMAX_MIN INT_MIN
+#endif
+
+#endif
+
#ifndef SSIZE_MAX
# define SSIZE_MAX 32767 /* POSIX minimum max */
#endif
diff --git a/input.c b/input.c
index fe21aef..2731e29 100644
--- a/input.c
+++ b/input.c
@@ -193,6 +193,8 @@ make_buffered_stream (fd, buffer, bufsize)
bp->b_used = bp->b_inputp = bp->b_flag = 0;
if (bufsize == 1)
bp->b_flag |= B_UNBUFF;
+ if (O_TEXT && (fcntl (fd, F_GETFL) & O_TEXT) != 0)
+ bp->b_flag |= O_TEXT;
return (bp);
}
@@ -361,11 +363,7 @@ duplicate_buffered_stream (fd1, fd2)
}
/* Return 1 if a seek on FD will succeed. */
-#ifndef __CYGWIN__
-# define fd_is_seekable(fd) (lseek ((fd), 0L, SEEK_CUR) >= 0)
-#else
-# define fd_is_seekable(fd) 0
-#endif /* __CYGWIN__ */
+#define fd_is_seekable(fd) (lseek ((fd), 0L, SEEK_CUR) >= 0)
/* Take FD, a file descriptor, and create and return a buffered stream
corresponding to it. If something is wrong and the file descriptor
@@ -472,9 +470,27 @@ b_fill_buffer (bp)
BUFFERED_STREAM *bp;
{
ssize_t nr;
+ off_t o;
CHECK_TERMSIG;
- nr = zread (bp->b_fd, bp->b_buffer, bp->b_size);
+ /* In an environment where text and binary files are treated differently,
+ compensate for lseek() on text files returning an offset different from
+ the count of characters read() returns. Text-mode streams have to be
+ treated as unbuffered. */
+ if ((bp->b_flag & (B_TEXT | B_UNBUFF)) == B_TEXT)
+ {
+ o = lseek (bp->b_fd, 0, SEEK_CUR);
+ nr = zread (bp->b_fd, bp->b_buffer, bp->b_size);
+ if (nr > 0 && nr < lseek (bp->b_fd, 0, SEEK_CUR) - o)
+ {
+ lseek (bp->b_fd, o, SEEK_SET);
+ bp->b_flag |= B_UNBUFF;
+ bp->b_size = 1;
+ nr = zread (bp->b_fd, bp->b_buffer, bp->b_size);
+ }
+ }
+ else
+ nr = zread (bp->b_fd, bp->b_buffer, bp->b_size);
if (nr <= 0)
{
bp->b_used = 0;
@@ -486,15 +502,6 @@ b_fill_buffer (bp)
return (EOF);
}
-#if defined (__CYGWIN__)
- /* If on cygwin, translate \r\n to \n. */
- if (nr >= 2 && bp->b_buffer[nr - 2] == '\r' && bp->b_buffer[nr - 1] == '\n')
- {
- bp->b_buffer[nr - 2] = '\n';
- nr--;
- }
-#endif
-
bp->b_used = nr;
bp->b_inputp = 0;
return (bp->b_buffer[bp->b_inputp++] & 0xFF);
diff --git a/input.h b/input.h
index 834626a..0cbfcbe 100644
--- a/input.h
+++ b/input.h
@@ -48,6 +48,7 @@ enum stream_type {st_none, st_stdin, st_stream, st_string, st_bstream};
#define B_ERROR 0x02
#define B_UNBUFF 0x04
#define B_WASBASHINPUT 0x08
+#define B_TEXT 0x10
/* A buffered stream. Like a FILE *, but with our own buffering and
synchronization. Look in input.c for the implementation. */
diff --git a/jobs.c b/jobs.c
index df13ad9..d63c5dd 100644
--- a/jobs.c
+++ b/jobs.c
@@ -3,7 +3,7 @@
/* This file works with both POSIX and BSD systems. It implements job
control. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -77,6 +77,10 @@
extern int errno;
#endif /* !errno */
+#if !defined (HAVE_KILLPG)
+extern int killpg __P((pid_t, int));
+#endif
+
#define DEFAULT_CHILD_MAX 32
#if !defined (DEBUG)
#define MAX_JOBS_IN_ARRAY 4096 /* production */
@@ -246,8 +250,6 @@ static int find_job __P((pid_t, int, PROCESS **));
static int print_job __P((JOB *, int, int, int));
static int process_exit_status __P((WAIT));
static int process_exit_signal __P((WAIT));
-static int job_exit_status __P((int));
-static int job_exit_signal __P((int));
static int set_job_status_and_cleanup __P((int));
static WAIT job_signal_status __P((int));
@@ -645,7 +647,7 @@ stop_pipeline (async, deferred)
stop_making_children ();
UNBLOCK_CHILD (oset);
- return (js.j_current);
+ return (newjob ? i : js.j_current);
}
/* Functions to manage the list of exited background pids whose status has
@@ -1134,6 +1136,33 @@ add_process (name, pid)
}
}
+/* Create a (dummy) PROCESS with NAME, PID, and STATUS, and make it the last
+ process in jobs[JID]->pipe. Used by the lastpipe code. */
+void
+append_process (name, pid, status, jid)
+ char *name;
+ pid_t pid;
+ int status;
+ int jid;
+{
+ PROCESS *t, *p;
+
+ t = (PROCESS *)xmalloc (sizeof (PROCESS));
+ t->next = (PROCESS *)NULL;
+ t->pid = pid;
+ /* set process exit status using offset discovered by configure */
+ t->status = (status & 0xff) << WEXITSTATUS_OFFSET;
+ t->running = PS_DONE;
+ t->command = name;
+
+ js.c_reaped++; /* XXX */
+
+ for (p = jobs[jid]->pipe; p->next != jobs[jid]->pipe; p = p->next)
+ ;
+ p->next = t;
+ t->next = jobs[jid]->pipe;
+}
+
#if 0
/* Take the last job and make it the first job. Must be called with
SIGCHLD blocked. */
@@ -1708,10 +1737,10 @@ make_child (command, async_p)
/* Create the child, handle severe errors. Retry on EAGAIN. */
while ((pid = fork ()) < 0 && errno == EAGAIN && forksleep < FORKSLEEP_MAX)
{
-#if 0 /* for bash-4.2 */
+ /* bash-4.2 */
/* If we can't create any children, try to reap some dead ones. */
waitchld (-1, 0);
-#endif
+
sys_error ("fork: retry");
if (sleep (forksleep) != 0)
break;
@@ -2125,7 +2154,7 @@ wait_for_single_pid (pid)
return r;
}
-/* Wait for all of the backgrounds of this shell to finish. */
+/* Wait for all of the background processes started by this shell to finish. */
void
wait_for_background_pids ()
{
@@ -2306,14 +2335,14 @@ raw_job_exit_status (job)
/* Return the exit status of job JOB. This is the exit status of the last
(rightmost) process in the job's pipeline, modified if the job was killed
by a signal or stopped. */
-static int
+int
job_exit_status (job)
int job;
{
return (process_exit_status (raw_job_exit_status (job)));
}
-static int
+int
job_exit_signal (job)
int job;
{
@@ -2347,7 +2376,6 @@ wait_for (pid)
WAIT s;
register PROCESS *child;
sigset_t set, oset;
- register PROCESS *p;
/* In the case that this code is interrupted, and we longjmp () out of it,
we are relying on the code in throw_to_top_level () to restore the
@@ -2549,11 +2577,13 @@ if (job == NO_JOB)
}
}
}
- else if ((subshell_environment & SUBSHELL_COMSUB) && wait_sigint_received)
+ else if ((subshell_environment & (SUBSHELL_COMSUB|SUBSHELL_PIPE)) && wait_sigint_received)
{
/* If waiting for a job in a subshell started to do command
- substitution, simulate getting and being killed by the SIGINT to
- pass the status back to our parent. */
+ substitution or to run a pipeline element that consists of
+ something like a while loop or a for loop, simulate getting
+ and being killed by the SIGINT to pass the status back to our
+ parent. */
s = job_signal_status (job);
if (WIFSIGNALED (s) && WTERMSIG (s) == SIGINT && signal_is_trapped (SIGINT) == 0)
@@ -4114,7 +4144,13 @@ itrace("mark_dead_jobs_as_notified: child_max = %d ndead = %d ndeadproc = %d", j
}
/* Here to allow other parts of the shell (like the trap stuff) to
- unfreeze the jobs list. */
+ freeze and unfreeze the jobs list. */
+void
+freeze_jobs_list ()
+{
+ jobs_list_frozen = 1;
+}
+
void
unfreeze_jobs_list ()
{
diff --git a/jobs.h b/jobs.h
index 65de773..39da61e 100644
--- a/jobs.h
+++ b/jobs.h
@@ -177,6 +177,7 @@ extern void save_pipeline __P((int));
extern void restore_pipeline __P((int));
extern void start_pipeline __P((void));
extern int stop_pipeline __P((int, COMMAND *));
+extern void append_process __P((char *, pid_t, int, int));
extern void delete_job __P((int, int));
extern void nohup_job __P((int));
@@ -208,6 +209,9 @@ extern pid_t make_child __P((char *, int));
extern int get_tty_state __P((void));
extern int set_tty_state __P((void));
+extern int job_exit_status __P((int));
+extern int job_exit_signal __P((int));
+
extern int wait_for_single_pid __P((pid_t));
extern void wait_for_background_pids __P((void));
extern int wait_for __P((pid_t));
@@ -223,6 +227,7 @@ extern int give_terminal_to __P((pid_t, int));
extern void run_sigchld_trap __P((int));
+extern void freeze_jobs_list __P((void));
extern void unfreeze_jobs_list __P((void));
extern int set_job_control __P((int));
extern void without_job_control __P((void));
diff --git a/lib/glob/Android.mk b/lib/glob/Android.mk
index b7d31bf..b22b8b5 100644
--- a/lib/glob/Android.mk
+++ b/lib/glob/Android.mk
@@ -9,7 +9,8 @@ LOCAL_SRC_FILES:= \
glob.c \
smatch.c \
strmatch.c \
- xmbsrtowcs.c
+ xmbsrtowcs.c \
+ gmisc.c
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../.. \
diff --git a/lib/glob/Makefile.in b/lib/glob/Makefile.in
index 1ccae68..12cbb61 100644
--- a/lib/glob/Makefile.in
+++ b/lib/glob/Makefile.in
@@ -71,7 +71,7 @@ CSOURCES = $(srcdir)/glob.c $(srcdir)/strmatch.c $(srcdir)/smatch.c \
# The header files for this library.
HSOURCES = $(srcdir)/strmatch.h
-OBJECTS = glob.o strmatch.o smatch.o xmbsrtowcs.o
+OBJECTS = glob.o strmatch.o smatch.o xmbsrtowcs.o gmisc.o
# The texinfo files which document this library.
DOCSOURCE = doc/glob.texi
@@ -119,6 +119,9 @@ realclean distclean maintainer-clean: clean
mostlyclean: clean
-( cd doc && $(MAKE) $(MFLAGS) $@ )
+${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
+ -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
+
######################################################################
# #
# Dependencies for the object files which make up this library. #
@@ -137,18 +140,24 @@ strmatch.o: $(BUILD_DIR)/config.h
strmatch.o: $(BASHINCDIR)/stdc.h
glob.o: $(BUILD_DIR)/config.h
+glob.o: $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
glob.o: strmatch.h glob.h
glob.o: $(BASHINCDIR)/shmbutil.h
glob.o: $(topdir)/xmalloc.h
+gmisc.o: $(BUILD_DIR)/config.h
+gmisc.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
+gmisc.o: $(BASHINCDIR)/shmbutil.h
+
xmbsrtowcs.o: ${BUILD_DIR}/config.h
xmbsrtowcs.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
xmbsrtowcs.o: ${BASHINCDIR}/shmbutil.h
# Rules for deficient makes, like SunOS and Solaris
glob.o: glob.c
+gmisc.o: gmisc.c
strmatch.o: strmatch.c
smatch.o: smatch.c
xmbsrtowcs.o: xmbsrtowcs.c
diff --git a/lib/glob/gmisc.c b/lib/glob/gmisc.c
new file mode 100644
index 0000000..84794cd
--- /dev/null
+++ b/lib/glob/gmisc.c
@@ -0,0 +1,314 @@
+/* gmisc.c -- miscellaneous pattern matching utility functions for Bash.
+
+ Copyright (C) 2010 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne-Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#include "bashtypes.h"
+
+#if defined (HAVE_UNISTD_H)
+# include <unistd.h>
+#endif
+
+#include "bashansi.h"
+#include "shmbutil.h"
+
+#include "stdc.h"
+
+#ifndef LPAREN
+# define LPAREN '('
+#endif
+#ifndef RPAREN
+# define RPAREN ')'
+#endif
+
+#if defined (HANDLE_MULTIBYTE)
+#define WLPAREN L'('
+#define WRPAREN L')'
+
+/* Return 1 of the first character of WSTRING could match the first
+ character of pattern WPAT. Wide character version. */
+int
+match_pattern_wchar (wpat, wstring)
+ wchar_t *wpat, *wstring;
+{
+ wchar_t wc;
+
+ if (*wstring == 0)
+ return (0);
+
+ switch (wc = *wpat++)
+ {
+ default:
+ return (*wstring == wc);
+ case L'\\':
+ return (*wstring == *wpat);
+ case L'?':
+ return (*wpat == WLPAREN ? 1 : (*wstring != L'\0'));
+ case L'*':
+ return (1);
+ case L'+':
+ case L'!':
+ case L'@':
+ return (*wpat == WLPAREN ? 1 : (*wstring == wc));
+ case L'[':
+ return (*wstring != L'\0');
+ }
+}
+
+int
+wmatchlen (wpat, wmax)
+ wchar_t *wpat;
+ size_t wmax;
+{
+ wchar_t wc, *wbrack;
+ int matlen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*wpat == 0)
+ return (0);
+
+ matlen = in_cclass = in_collsym = in_equiv = 0;
+ while (wc = *wpat++)
+ {
+ switch (wc)
+ {
+ default:
+ matlen++;
+ break;
+ case L'\\':
+ if (*wpat == 0)
+ return ++matlen;
+ else
+ {
+ matlen++;
+ wpat++;
+ }
+ break;
+ case L'?':
+ if (*wpat == WLPAREN)
+ return (matlen = -1); /* XXX for now */
+ else
+ matlen++;
+ break;
+ case L'*':
+ return (matlen = -1);
+ case L'+':
+ case L'!':
+ case L'@':
+ if (*wpat == WLPAREN)
+ return (matlen = -1); /* XXX for now */
+ else
+ matlen++;
+ break;
+ case L'[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+ wbrack = wpat;
+ wc = *wpat++;
+ do
+ {
+ if (wc == 0)
+ {
+ matlen += wpat - wbrack - 1; /* incremented below */
+ break;
+ }
+ else if (wc == L'\\')
+ {
+ wc = *wpat++;
+ if (*wpat == 0)
+ break;
+ }
+ else if (wc == L'[' && *wpat == L':') /* character class */
+ {
+ wpat++;
+ in_cclass = 1;
+ }
+ else if (in_cclass && wc == L':' && *wpat == L']')
+ {
+ wpat++;
+ in_cclass = 0;
+ }
+ else if (wc == L'[' && *wpat == L'.') /* collating symbol */
+ {
+ wpat++;
+ if (*wpat == L']') /* right bracket can appear as collating symbol */
+ wpat++;
+ in_collsym = 1;
+ }
+ else if (in_collsym && wc == L'.' && *wpat == L']')
+ {
+ wpat++;
+ in_collsym = 0;
+ }
+ else if (wc == L'[' && *wpat == L'=') /* equivalence class */
+ {
+ wpat++;
+ if (*wpat == L']') /* right bracket can appear as equivalence class */
+ wpat++;
+ in_equiv = 1;
+ }
+ else if (in_equiv && wc == L'=' && *wpat == L']')
+ {
+ wpat++;
+ in_equiv = 0;
+ }
+ }
+ while ((wc = *wpat++) != L']');
+ matlen++; /* bracket expression can only match one char */
+ break;
+ }
+ }
+
+ return matlen;
+}
+#endif
+
+/* Return 1 of the first character of STRING could match the first
+ character of pattern PAT. Used to avoid n2 calls to strmatch(). */
+int
+match_pattern_char (pat, string)
+ char *pat, *string;
+{
+ char c;
+
+ if (*string == 0)
+ return (0);
+
+ switch (c = *pat++)
+ {
+ default:
+ return (*string == c);
+ case '\\':
+ return (*string == *pat);
+ case '?':
+ return (*pat == LPAREN ? 1 : (*string != '\0'));
+ case '*':
+ return (1);
+ case '+':
+ case '!':
+ case '@':
+ return (*pat == LPAREN ? 1 : (*string == c));
+ case '[':
+ return (*string != '\0');
+ }
+}
+
+int
+umatchlen (pat, max)
+ char *pat;
+ size_t max;
+{
+ char c, *brack;
+ int matlen, t, in_cclass, in_collsym, in_equiv;
+
+ if (*pat == 0)
+ return (0);
+
+ matlen = in_cclass = in_collsym = in_equiv = 0;
+ while (c = *pat++)
+ {
+ switch (c)
+ {
+ default:
+ matlen++;
+ break;
+ case '\\':
+ if (*pat == 0)
+ return ++matlen;
+ else
+ {
+ matlen++;
+ pat++;
+ }
+ break;
+ case '?':
+ if (*pat == LPAREN)
+ return (matlen = -1); /* XXX for now */
+ else
+ matlen++;
+ break;
+ case '*':
+ return (matlen = -1);
+ case '+':
+ case '!':
+ case '@':
+ if (*pat == LPAREN)
+ return (matlen = -1); /* XXX for now */
+ else
+ matlen++;
+ break;
+ case '[':
+ /* scan for ending `]', skipping over embedded [:...:] */
+ brack = pat;
+ c = *pat++;
+ do
+ {
+ if (c == 0)
+ {
+ matlen += pat - brack - 1; /* incremented below */
+ break;
+ }
+ else if (c == '\\')
+ {
+ c = *pat++;
+ if (*pat == 0)
+ break;
+ }
+ else if (c == '[' && *pat == ':') /* character class */
+ {
+ pat++;
+ in_cclass = 1;
+ }
+ else if (in_cclass && c == ':' && *pat == ']')
+ {
+ pat++;
+ in_cclass = 0;
+ }
+ else if (c == '[' && *pat == '.') /* collating symbol */
+ {
+ pat++;
+ if (*pat == ']') /* right bracket can appear as collating symbol */
+ pat++;
+ in_collsym = 1;
+ }
+ else if (in_collsym && c == '.' && *pat == ']')
+ {
+ pat++;
+ in_collsym = 0;
+ }
+ else if (c == '[' && *pat == '=') /* equivalence class */
+ {
+ pat++;
+ if (*pat == ']') /* right bracket can appear as equivalence class */
+ pat++;
+ in_equiv = 1;
+ }
+ else if (in_equiv && c == '=' && *pat == ']')
+ {
+ pat++;
+ in_equiv = 0;
+ }
+ }
+ while ((c = *pat++) != ']');
+ matlen++; /* bracket expression can only match one char */
+ break;
+ }
+ }
+
+ return matlen;
+}
diff --git a/lib/glob/smatch.c b/lib/glob/smatch.c
index 11d86b0..061142b 100644
--- a/lib/glob/smatch.c
+++ b/lib/glob/smatch.c
@@ -1,7 +1,7 @@
/* strmatch.c -- ksh-like extended pattern matching for the shell and filename
globbing. */
-/* Copyright (C) 1991-2005 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2011 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -241,6 +241,8 @@ is_cclass (c, name)
# define STREQ(s1, s2) ((wcscmp (s1, s2) == 0))
# define STREQN(a, b, n) ((a)[0] == (b)[0] && wcsncmp(a, b, n) == 0)
+extern char *mbsmbchar __P((const char *));
+
static int
rangecmp_wc (c1, c2)
wint_t c1, c2;
@@ -314,7 +316,7 @@ is_wcclass (wc, name)
memset (&state, '\0', sizeof (mbstate_t));
mbs = (char *) malloc (wcslen(name) * MB_CUR_MAX + 1);
- mbslength = wcsrtombs(mbs, (const wchar_t **)&name, (wcslen(name) * MB_CUR_MAX + 1), &state);
+ mbslength = wcsrtombs (mbs, (const wchar_t **)&name, (wcslen(name) * MB_CUR_MAX + 1), &state);
if (mbslength == (size_t)-1 || mbslength == (size_t)-2)
{
@@ -365,6 +367,16 @@ xstrmatch (pattern, string, flags)
int ret;
size_t n;
wchar_t *wpattern, *wstring;
+ size_t plen, slen, mplen, mslen;
+
+#if 0
+ plen = strlen (pattern);
+ mplen = mbstrlen (pattern);
+ if (plen == mplen && strlen (string) == mbstrlen (string))
+#else
+ if (mbsmbchar (string) == 0 && mbsmbchar (pattern) == 0)
+#endif
+ return (internal_strmatch ((unsigned char *)pattern, (unsigned char *)string, flags));
if (MB_CUR_MAX == 1)
return (internal_strmatch ((unsigned char *)pattern, (unsigned char *)string, flags));
diff --git a/lib/glob/xmbsrtowcs.c b/lib/glob/xmbsrtowcs.c
index 23fcd8e..7abf727 100644
--- a/lib/glob/xmbsrtowcs.c
+++ b/lib/glob/xmbsrtowcs.c
@@ -1,6 +1,6 @@
/* xmbsrtowcs.c -- replacement function for mbsrtowcs */
-/* Copyright (C) 2002-2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -18,6 +18,12 @@
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
+/* Ask for GNU extensions to get extern declaration for mbsnrtowcs if
+ available via glibc. */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+
#include <config.h>
#include <bashansi.h>
@@ -32,6 +38,11 @@
#ifndef FREE
# define FREE(x) do { if (x) free (x); } while (0)
#endif
+
+#if ! HAVE_STRCHRNUL
+extern char *strchrnul __P((const char *, int));
+#endif
+
/* On some locales (ex. ja_JP.sjis), mbsrtowc doesn't convert 0x5c to U<0x5c>.
So, this function is made for converting 0x5c to U<0x5c>. */
@@ -120,6 +131,94 @@ xmbsrtowcs (dest, src, len, pstate)
return (wclength);
}
+#if HAVE_MBSNRTOWCS
+/* Convert a multibyte string to a wide character string. Memory for the
+ new wide character string is obtained with malloc.
+
+ Fast multiple-character version of xdupmbstowcs used when the indices are
+ not required and mbsnrtowcs is available. */
+
+static size_t
+xdupmbstowcs2 (destp, src)
+ wchar_t **destp; /* Store the pointer to the wide character string */
+ const char *src; /* Multibyte character string */
+{
+ const char *p; /* Conversion start position of src */
+ wchar_t *wsbuf; /* Buffer for wide characters. */
+ size_t wsbuf_size; /* Size of WSBUF */
+ size_t wcnum; /* Number of wide characters in WSBUF */
+ mbstate_t state; /* Conversion State */
+ size_t wcslength; /* Number of wide characters produced by the conversion. */
+ const char *end_or_backslash;
+ size_t nms; /* Number of multibyte characters to convert at one time. */
+ mbstate_t tmp_state;
+ const char *tmp_p;
+
+ memset (&state, '\0', sizeof(mbstate_t));
+
+ wsbuf_size = 0;
+ wsbuf = NULL;
+
+ p = src;
+ wcnum = 0;
+ do
+ {
+ end_or_backslash = strchrnul(p, '\\');
+ nms = (end_or_backslash - p);
+ if (*end_or_backslash == '\0')
+ nms++;
+
+ /* Compute the number of produced wide-characters. */
+ tmp_p = p;
+ tmp_state = state;
+ wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state);
+
+ /* Conversion failed. */
+ if (wcslength == (size_t)-1)
+ {
+ free (wsbuf);
+ *destp = NULL;
+ return (size_t)-1;
+ }
+
+ /* Resize the buffer if it is not large enough. */
+ if (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */
+ {
+ wchar_t *wstmp;
+
+ wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */
+
+ wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
+ if (wstmp == NULL)
+ {
+ free (wsbuf);
+ *destp = NULL;
+ return (size_t)-1;
+ }
+ wsbuf = wstmp;
+ }
+
+ /* Perform the conversion. This is assumed to return 'wcslength'.
+ * It may set 'p' to NULL. */
+ mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
+
+ wcnum += wcslength;
+
+ if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
+ {
+ wsbuf[wcnum++] = L'\\';
+ p++;
+ }
+ }
+ while (p != NULL);
+
+ *destp = wsbuf;
+
+ /* Return the length of the wide character string, not including `\0'. */
+ return wcnum;
+}
+#endif /* HAVE_MBSNRTOWCS */
+
/* Convert a multibyte string to a wide character string. Memory for the
new wide character string is obtained with malloc.
@@ -155,6 +254,11 @@ xdupmbstowcs (destp, indicesp, src)
return (size_t)-1;
}
+#if HAVE_MBSNRTOWCS
+ if (indicesp == NULL)
+ return (xdupmbstowcs2 (destp, src));
+#endif
+
memset (&state, '\0', sizeof(mbstate_t));
wsbuf_size = WSBUF_INC;
diff --git a/lib/malloc/Makefile.in b/lib/malloc/Makefile.in
index e40f00a..abe0eca 100644
--- a/lib/malloc/Makefile.in
+++ b/lib/malloc/Makefile.in
@@ -112,6 +112,7 @@ alloca.o: $(BUILD_DIR)/config.h
malloc.o: $(BUILD_DIR)/config.h $(topdir)/bashtypes.h getpagesize.h
xmalloc.o: $(BUILD_DIR)/config.h $(BASHINCDIR)/ansi_stdlib.h
trace.o: ${BUILD_DIR}/config.h
+stats.o: ${BUILD_DIR}/config.h
table.o: ${BUILD_DIR}/config.h
watch.o: ${BUILD_DIR}/config.h
diff --git a/lib/readline/Makefile.in b/lib/readline/Makefile.in
index 2204628..4387a54 100644
--- a/lib/readline/Makefile.in
+++ b/lib/readline/Makefile.in
@@ -83,7 +83,7 @@ CSOURCES = $(srcdir)/readline.c $(srcdir)/funmap.c $(srcdir)/keymaps.c \
$(srcdir)/histfile.c $(srcdir)/nls.c $(srcdir)/search.c \
$(srcdir)/shell.c $(srcdir)/tilde.c $(srcdir)/savestring.c \
$(srcdir)/text.c $(srcdir)/misc.c $(srcdir)/compat.c \
- $(srcdir)/mbutil.c
+ $(srcdir)/mbutil.c $(srcdir)/xfree.c
# The header files for this library.
HSOURCES = readline.h rldefs.h chardefs.h keymaps.h history.h histlib.h \
@@ -97,7 +97,7 @@ TILDEOBJ = tilde.o
OBJECTS = readline.o vi_mode.o funmap.o keymaps.o parens.o search.o \
rltty.o complete.o bind.o isearch.o display.o signals.o \
util.o kill.o undo.o macro.o input.o callback.o terminal.o \
- text.o nls.o misc.o $(HISTOBJ) $(TILDEOBJ) xmalloc.o compat.o
+ text.o nls.o misc.o $(HISTOBJ) $(TILDEOBJ) xmalloc.o xfree.o compat.o
# The texinfo files which document this library.
DOCSOURCE = doc/rlman.texinfo doc/rltech.texinfo doc/rluser.texinfo
@@ -123,9 +123,9 @@ libreadline.a: $(OBJECTS)
$(AR) $(ARFLAGS) $@ $(OBJECTS)
-test -n "$(RANLIB)" && $(RANLIB) $@
-libhistory.a: $(HISTOBJ) xmalloc.o
+libhistory.a: $(HISTOBJ) xmalloc.o xfree.o
$(RM) $@
- $(AR) $(ARFLAGS) $@ $(HISTOBJ) xmalloc.o
+ $(AR) $(ARFLAGS) $@ $(HISTOBJ) xmalloc.o xfree.o
-test -n "$(RANLIB)" && $(RANLIB) $@
documentation: force
@@ -262,6 +262,7 @@ vi_mode.o: rldefs.h ${BUILD_DIR}/config.h rlconf.h
vi_mode.o: readline.h keymaps.h rltypedefs.h chardefs.h tilde.h
vi_mode.o: history.h ansi_stdlib.h rlstdc.h
xmalloc.o: ${BUILD_DIR}/config.h ansi_stdlib.h
+xfree.o: ${BUILD_DIR}/config.h ansi_stdlib.h
bind.o: rlshell.h
histfile.o: rlshell.h
@@ -317,6 +318,7 @@ tilde.o: xmalloc.h
undo.o: xmalloc.h
util.o: xmalloc.h
vi_mode.o: xmalloc.h
+xfree.o: xmalloc.h
xmalloc.o: xmalloc.h
complete.o: rlmbutil.h
@@ -359,6 +361,7 @@ tilde.o: tilde.c
undo.o: undo.c
util.o: util.c
vi_mode.o: vi_mode.c
+xfree.o: xfree.c
xmalloc.o: xmalloc.c
histexpand.o: histexpand.c
diff --git a/lib/readline/bind.c b/lib/readline/bind.c
index fc8c2a2..59e7964 100644
--- a/lib/readline/bind.c
+++ b/lib/readline/bind.c
@@ -1,6 +1,6 @@
/* bind.c -- key binding and startup file support for the readline library. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -1424,6 +1424,7 @@ static const struct {
{ "blink-matching-paren", &rl_blink_matching_paren, V_SPECIAL },
{ "byte-oriented", &rl_byte_oriented, 0 },
{ "completion-ignore-case", &_rl_completion_case_fold, 0 },
+ { "completion-map-case", &_rl_completion_case_map, 0 },
{ "convert-meta", &_rl_convert_meta_chars_to_ascii, 0 },
{ "disable-completion", &rl_inhibit_completion, 0 },
{ "echo-control-characters", &_rl_echo_control_chars, 0 },
@@ -1437,6 +1438,7 @@ static const struct {
{ "mark-modified-lines", &_rl_mark_modified_lines, 0 },
{ "mark-symlinked-directories", &_rl_complete_mark_symlink_dirs, 0 },
{ "match-hidden-files", &_rl_match_hidden_files, 0 },
+ { "menu-complete-display-prefix", &_rl_menu_complete_prefix_first, 0 },
{ "meta-flag", &_rl_meta_flag, 0 },
{ "output-meta", &_rl_output_meta_chars, 0 },
{ "page-completions", &_rl_page_completions, 0 },
@@ -1449,7 +1451,7 @@ static const struct {
#if defined (VISIBLE_STATS)
{ "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */
- { (char *)NULL, (int *)NULL }
+ { (char *)NULL, (int *)NULL, 0 }
};
static int
@@ -1504,6 +1506,7 @@ static int sv_bell_style PARAMS((const char *));
static int sv_combegin PARAMS((const char *));
static int sv_dispprefix PARAMS((const char *));
static int sv_compquery PARAMS((const char *));
+static int sv_compwidth PARAMS((const char *));
static int sv_editmode PARAMS((const char *));
static int sv_histsize PARAMS((const char *));
static int sv_isrchterm PARAMS((const char *));
@@ -1516,13 +1519,14 @@ static const struct {
} string_varlist[] = {
{ "bell-style", V_STRING, sv_bell_style },
{ "comment-begin", V_STRING, sv_combegin },
+ { "completion-display-width", V_INT, sv_compwidth },
{ "completion-prefix-display-length", V_INT, sv_dispprefix },
{ "completion-query-items", V_INT, sv_compquery },
{ "editing-mode", V_STRING, sv_editmode },
{ "history-size", V_INT, sv_histsize },
{ "isearch-terminators", V_STRING, sv_isrchterm },
{ "keymap", V_STRING, sv_keymap },
- { (char *)NULL, 0 }
+ { (char *)NULL, 0, (_rl_sv_func_t *)0 }
};
static int
@@ -1663,6 +1667,19 @@ sv_compquery (value)
}
static int
+sv_compwidth (value)
+ const char *value;
+{
+ int nval = -1;
+
+ if (value && *value)
+ nval = atoi (value);
+
+ _rl_completion_columns = nval;
+ return 0;
+}
+
+static int
sv_histsize (value)
const char *value;
{
@@ -2268,6 +2285,11 @@ _rl_get_string_variable_value (name)
}
else if (_rl_stricmp (name, "comment-begin") == 0)
return (_rl_comment_begin ? _rl_comment_begin : RL_COMMENT_BEGIN_DEFAULT);
+ else if (_rl_stricmp (name, "completion-display-width") == 0)
+ {
+ sprintf (numbuf, "%d", _rl_completion_columns);
+ return (numbuf);
+ }
else if (_rl_stricmp (name, "completion-prefix-display-length") == 0)
{
sprintf (numbuf, "%d", _rl_completion_prefix_display_length);
diff --git a/lib/readline/callback.c b/lib/readline/callback.c
index 6c52ac0..4ee6361 100644
--- a/lib/readline/callback.c
+++ b/lib/readline/callback.c
@@ -142,6 +142,15 @@ rl_callback_read_char ()
eof = _rl_nsearch_callback (_rl_nscxt);
return;
}
+#if defined (VI_MODE)
+ else if (RL_ISSTATE (RL_STATE_VIMOTION))
+ {
+ eof = _rl_vi_domove_callback (_rl_vimvcxt);
+ /* Should handle everything, including cleanup, numeric arguments,
+ and turning off RL_STATE_VIMOTION */
+ return;
+ }
+#endif
else if (RL_ISSTATE (RL_STATE_NUMERICARG))
{
eof = _rl_arg_callback (_rl_argcxt);
diff --git a/lib/readline/complete.c b/lib/readline/complete.c
index 2c7e696..6e5b4f8 100644
--- a/lib/readline/complete.c
+++ b/lib/readline/complete.c
@@ -1,6 +1,6 @@
/* complete.c -- filename completion for readline. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2011 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -119,9 +119,11 @@ static char **remove_duplicate_matches PARAMS((char **));
static void insert_match PARAMS((char *, int, int, char *));
static int append_to_match PARAMS((char *, int, int, int));
static void insert_all_matches PARAMS((char **, int, char *));
+static int complete_fncmp PARAMS((const char *, int, const char *, int));
static void display_matches PARAMS((char **));
static int compute_lcd_of_matches PARAMS((char **, int, const char *));
static int postprocess_matches PARAMS((char ***, int));
+static int complete_get_screenwidth PARAMS((void));
static char *make_quoted_replacement PARAMS((char *, int, char *));
@@ -157,10 +159,14 @@ int _rl_print_completions_horizontally;
#if defined (__MSDOS__) && !defined (__DJGPP__)
int _rl_completion_case_fold = 1;
#else
-int _rl_completion_case_fold;
+int _rl_completion_case_fold = 0;
#endif
-/* If non-zero, don't match hidden files (filenames beginning with a `.' on
+/* Non-zero means that `-' and `_' are equivalent when comparing filenames
+ for completion. */
+int _rl_completion_case_map = 0;
+
+/* If zero, don't match hidden files (filenames beginning with a `.' on
Unix) when doing filename completion. */
int _rl_match_hidden_files = 1;
@@ -170,6 +176,10 @@ int _rl_match_hidden_files = 1;
display prefix replaced with an ellipsis. */
int _rl_completion_prefix_display_length = 0;
+/* The readline-private number of screen columns to use when displaying
+ matches. If < 0 or > _rl_screenwidth, it is ignored. */
+int _rl_completion_columns = -1;
+
/* Global variables available to applications using readline. */
#if defined (VISIBLE_STATS)
@@ -185,6 +195,10 @@ int rl_visible_stats = 0;
after the `e' in `Makefile' won't result in `Makefilefile'. */
int _rl_skip_completed_text = 0;
+/* If non-zero, menu completion displays the common prefix first in the
+ cycle of possible completions instead of the last. */
+int _rl_menu_complete_prefix_first = 0;
+
/* If non-zero, then this is the address of a function to call when
completing on a directory name. The function is called with
the address of a string (the current directory name) as an arg. */
@@ -467,6 +481,14 @@ get_y_or_n (for_pager)
{
int c;
+ /* For now, disable pager in callback mode, until we later convert to state
+ driven functions. Have to wait until next major version to add new
+ state definition, since it will change value of RL_STATE_DONE. */
+#if defined (READLINE_CALLBACKS)
+ if (RL_ISSTATE (RL_STATE_CALLBACK))
+ return 1;
+#endif
+
for (;;)
{
RL_SETSTATE(RL_STATE_MOREINPUT);
@@ -829,7 +851,7 @@ print_filename (to_print, full_pathname, prefix_bytes)
if (path_isdir (new_full_pathname))
extension_char = '/';
- free (new_full_pathname);
+ xfree (new_full_pathname);
to_print[-1] = c;
}
else
@@ -844,7 +866,7 @@ print_filename (to_print, full_pathname, prefix_bytes)
extension_char = '/';
}
- free (s);
+ xfree (s);
if (extension_char)
{
putc (extension_char, rl_outstream);
@@ -1081,7 +1103,7 @@ remove_duplicate_matches (matches)
{
if (strcmp (matches[i], matches[i + 1]) == 0)
{
- free (matches[i]);
+ xfree (matches[i]);
matches[i] = (char *)&dead_slot;
}
else
@@ -1099,7 +1121,7 @@ remove_duplicate_matches (matches)
temp_array[j] = (char *)NULL;
if (matches[0] != (char *)&dead_slot)
- free (matches[0]);
+ xfree (matches[0]);
/* Place the lowest common denominator back in [0]. */
temp_array[0] = lowest_common;
@@ -1109,7 +1131,7 @@ remove_duplicate_matches (matches)
insert. */
if (j == 2 && strcmp (temp_array[0], temp_array[1]) == 0)
{
- free (temp_array[1]);
+ xfree (temp_array[1]);
temp_array[1] = (char *)NULL;
}
return (temp_array);
@@ -1288,7 +1310,7 @@ postprocess_matches (matchesp, matching_filenames)
if (rl_ignore_completion_duplicates)
{
temp_matches = remove_duplicate_matches (matches);
- free (matches);
+ xfree (matches);
matches = temp_matches;
}
@@ -1325,6 +1347,23 @@ postprocess_matches (matchesp, matching_filenames)
return (1);
}
+static int
+complete_get_screenwidth ()
+{
+ int cols;
+ char *envcols;
+
+ cols = _rl_completion_columns;
+ if (cols >= 0 && cols <= _rl_screenwidth)
+ return cols;
+ envcols = getenv ("COLUMNS");
+ if (envcols && *envcols)
+ cols = atoi (envcols);
+ if (cols >= 0 && cols <= _rl_screenwidth)
+ return cols;
+ return _rl_screenwidth;
+}
+
/* A convenience function for displaying a list of strings in
columnar format on readline's output stream. MATCHES is the list
of strings, in argv format, LEN is the number of strings in MATCHES,
@@ -1334,7 +1373,7 @@ rl_display_match_list (matches, len, max)
char **matches;
int len, max;
{
- int count, limit, printed_len, lines;
+ int count, limit, printed_len, lines, cols;
int i, j, k, l, common_length, sind;
char *temp, *t;
@@ -1355,12 +1394,17 @@ rl_display_match_list (matches, len, max)
}
/* How many items of MAX length can we fit in the screen window? */
+ cols = complete_get_screenwidth ();
max += 2;
- limit = _rl_screenwidth / max;
- if (limit != 1 && (limit * max == _rl_screenwidth))
+ limit = cols / max;
+ if (limit != 1 && (limit * max == cols))
limit--;
- /* Avoid a possible floating exception. If max > _rl_screenwidth,
+ /* If cols == 0, limit will end up -1 */
+ if (cols < _rl_screenwidth && limit < 0)
+ limit = 1;
+
+ /* Avoid a possible floating exception. If max > cols,
limit will be 0 and a divide-by-zero fault will result. */
if (limit == 0)
limit = 1;
@@ -1608,7 +1652,7 @@ insert_match (match, start, mtype, qc)
else
_rl_replace_text (replacement, start, end);
if (replacement != match)
- free (replacement);
+ xfree (replacement);
}
}
@@ -1675,7 +1719,7 @@ append_to_match (text, delimiter, quote_char, nontrivial_match)
if (rl_point == rl_end && temp_string_index)
rl_insert_text (temp_string);
}
- free (filename);
+ xfree (filename);
}
else
{
@@ -1711,7 +1755,7 @@ insert_all_matches (matches, point, qc)
rl_insert_text (rp);
rl_insert_text (" ");
if (rp != matches[i])
- free (rp);
+ xfree (rp);
}
}
else
@@ -1720,7 +1764,7 @@ insert_all_matches (matches, point, qc)
rl_insert_text (rp);
rl_insert_text (" ");
if (rp != matches[0])
- free (rp);
+ xfree (rp);
}
rl_end_undo_group ();
}
@@ -1735,8 +1779,8 @@ _rl_free_match_list (matches)
return;
for (i = 0; matches[i]; i++)
- free (matches[i]);
- free (matches);
+ xfree (matches[i]);
+ xfree (matches);
}
/* Complete the word at or before point.
@@ -1757,6 +1801,9 @@ rl_complete_internal (what_to_do)
int start, end, delimiter, found_quote, i, nontrivial_lcd;
char *text, *saved_line_buffer;
char quote_char;
+#if 1
+ int tlen, mlen;
+#endif
RL_SETSTATE(RL_STATE_COMPLETING);
@@ -1784,7 +1831,11 @@ rl_complete_internal (what_to_do)
/* nontrivial_lcd is set if the common prefix adds something to the word
being completed. */
nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;
- free (text);
+#if 1
+ if (what_to_do == '!' || what_to_do == '@')
+ tlen = strlen (text);
+#endif
+ xfree (text);
if (matches == 0)
{
@@ -1817,8 +1868,25 @@ rl_complete_internal (what_to_do)
case '!':
case '@':
/* Insert the first match with proper quoting. */
+#if 0
if (*matches[0])
insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, &quote_char);
+#else
+ if (what_to_do == TAB)
+ {
+ if (*matches[0])
+ insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, &quote_char);
+ }
+ else if (*matches[0] && matches[1] == 0)
+ /* should we perform the check only if there are multiple matches? */
+ insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, &quote_char);
+ else if (*matches[0]) /* what_to_do != TAB && multiple matches */
+ {
+ mlen = *matches[0] ? strlen (matches[0]) : 0;
+ if (mlen >= tlen)
+ insert_match (matches[0], start, matches[1] ? MULT_MATCH : SINGLE_MATCH, &quote_char);
+ }
+#endif
/* If there are more matches, ring the bell to indicate.
If we are in vi mode, Posix.2 says to not ring the bell.
@@ -1872,7 +1940,7 @@ rl_complete_internal (what_to_do)
if (saved_line_buffer)
{
completion_changed_buffer = strcmp (rl_line_buffer, saved_line_buffer) != 0;
- free (saved_line_buffer);
+ xfree (saved_line_buffer);
}
RL_UNSETSTATE(RL_STATE_COMPLETING);
@@ -1939,7 +2007,7 @@ rl_completion_matches (text, entry_function)
compute_lcd_of_matches (match_list, matches, text);
else /* There were no matches. */
{
- free (match_list);
+ xfree (match_list);
match_list = (char **)NULL;
}
return (match_list);
@@ -2005,6 +2073,62 @@ rl_username_completion_function (text, state)
#endif /* !__WIN32__ && !__OPENNT */
}
+/* Return non-zero if CONVFN matches FILENAME up to the length of FILENAME
+ (FILENAME_LEN). If _rl_completion_case_fold is set, compare without
+ regard to the alphabetic case of characters. CONVFN is the possibly-
+ converted directory entry; FILENAME is what the user typed. */
+static int
+complete_fncmp (convfn, convlen, filename, filename_len)
+ const char *convfn;
+ int convlen;
+ const char *filename;
+ int filename_len;
+{
+ register char *s1, *s2;
+ int d, len;
+
+ /* Otherwise, if these match up to the length of filename, then
+ it is a match. */
+ if (_rl_completion_case_fold && _rl_completion_case_map)
+ {
+ /* Case-insensitive comparison treating _ and - as equivalent */
+ if (filename_len == 0)
+ return 1;
+ if (convlen < filename_len)
+ return 0;
+ s1 = (char *)convfn;
+ s2 = (char *)filename;
+ len = filename_len;
+ do
+ {
+ d = _rl_to_lower (*s1) - _rl_to_lower (*s2);
+ /* *s1 == [-_] && *s2 == [-_] */
+ if ((*s1 == '-' || *s1 == '_') && (*s2 == '-' || *s2 == '_'))
+ d = 0;
+ if (d != 0)
+ return 0;
+ s1++; s2++; /* already checked convlen >= filename_len */
+ }
+ while (--len != 0);
+ return 1;
+ }
+ else if (_rl_completion_case_fold)
+ {
+ if ((_rl_to_lower (convfn[0]) == _rl_to_lower (filename[0])) &&
+ (convlen >= filename_len) &&
+ (_rl_strnicmp (filename, convfn, filename_len) == 0))
+ return 1;
+ }
+ else
+ {
+ if ((convfn[0] == filename[0]) &&
+ (convlen >= filename_len) &&
+ (strncmp (filename, convfn, filename_len) == 0))
+ return 1;
+ }
+ return 0;
+}
+
/* Okay, now we write the entry_function for filename completion. In the
general case. Note that completion in the shell is a little different
because of all the pathnames that must be followed when looking up the
@@ -2071,32 +2195,41 @@ rl_filename_completion_function (text, state)
/* We aren't done yet. We also support the "~user" syntax. */
- /* Save the version of the directory that the user typed. */
- users_dirname = savestring (dirname);
+ /* Save the version of the directory that the user typed, dequoting
+ it if necessary. */
+ if (rl_completion_found_quote && rl_filename_dequoting_function)
+ users_dirname = (*rl_filename_dequoting_function) (dirname, rl_completion_quote_character);
+ else
+ users_dirname = savestring (dirname);
if (*dirname == '~')
{
temp = tilde_expand (dirname);
- free (dirname);
+ xfree (dirname);
dirname = temp;
}
+ /* We have saved the possibly-dequoted version of the directory name
+ the user typed. Now transform the directory name we're going to
+ pass to opendir(2). The directory rewrite hook modifies only the
+ directory name; the directory completion hook modifies both the
+ directory name passed to opendir(2) and the version the user
+ typed. Both the directory completion and rewrite hooks should perform
+ any necessary dequoting. The hook functions return 1 if they modify
+ the directory name argument. If either hook returns 0, it should
+ not modify the directory name pointer passed as an argument. */
if (rl_directory_rewrite_hook)
(*rl_directory_rewrite_hook) (&dirname);
-
- /* The directory completion hook should perform any necessary
- dequoting. */
- if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&dirname))
+ else if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&dirname))
{
- free (users_dirname);
+ xfree (users_dirname);
users_dirname = savestring (dirname);
}
else if (rl_completion_found_quote && rl_filename_dequoting_function)
{
/* delete single and double quotes */
- temp = (*rl_filename_dequoting_function) (users_dirname, rl_completion_quote_character);
- free (users_dirname);
- users_dirname = temp;
+ xfree (dirname);
+ dirname = savestring (users_dirname);
}
directory = opendir (dirname);
@@ -2105,7 +2238,7 @@ rl_filename_completion_function (text, state)
{
/* delete single and double quotes */
temp = (*rl_filename_dequoting_function) (filename, rl_completion_quote_character);
- free (filename);
+ xfree (filename);
filename = temp;
}
filename_len = strlen (filename);
@@ -2147,22 +2280,8 @@ rl_filename_completion_function (text, state)
}
else
{
- /* Otherwise, if these match up to the length of filename, then
- it is a match. */
- if (_rl_completion_case_fold)
- {
- if ((_rl_to_lower (convfn[0]) == _rl_to_lower (filename[0])) &&
- (convlen >= filename_len) &&
- (_rl_strnicmp (filename, convfn, filename_len) == 0))
- break;
- }
- else
- {
- if ((convfn[0] == filename[0]) &&
- (convlen >= filename_len) &&
- (strncmp (filename, convfn, filename_len) == 0))
- break;
- }
+ if (complete_fncmp (convfn, convlen, filename, filename_len))
+ break;
}
}
@@ -2175,17 +2294,17 @@ rl_filename_completion_function (text, state)
}
if (dirname)
{
- free (dirname);
+ xfree (dirname);
dirname = (char *)NULL;
}
if (filename)
{
- free (filename);
+ xfree (filename);
filename = (char *)NULL;
}
if (users_dirname)
{
- free (users_dirname);
+ xfree (users_dirname);
users_dirname = (char *)NULL;
}
@@ -2225,7 +2344,7 @@ rl_filename_completion_function (text, state)
temp = savestring (convfn);
if (convfn != dentry)
- free (convfn);
+ xfree (convfn);
return (temp);
}
@@ -2304,14 +2423,14 @@ rl_old_menu_complete (count, invoking_key)
if (matches == 0 || postprocess_matches (&matches, matching_filenames) == 0)
{
- rl_ding ();
+ rl_ding ();
FREE (matches);
matches = (char **)0;
FREE (orig_text);
orig_text = (char *)0;
- completion_changed_buffer = 0;
- RL_UNSETSTATE(RL_STATE_COMPLETING);
- return (0);
+ completion_changed_buffer = 0;
+ RL_UNSETSTATE(RL_STATE_COMPLETING);
+ return (0);
}
RL_UNSETSTATE(RL_STATE_COMPLETING);
@@ -2340,7 +2459,10 @@ rl_old_menu_complete (count, invoking_key)
match_list_index += count;
if (match_list_index < 0)
- match_list_index += match_list_size;
+ {
+ while (match_list_index < 0)
+ match_list_index += match_list_size;
+ }
else
match_list_index %= match_list_size;
@@ -2375,7 +2497,7 @@ rl_menu_complete (count, ignore)
static int full_completion = 0; /* set to 1 if menu completion should reinitialize on next call */
static int orig_start, orig_end;
static char quote_char;
- static int delimiter;
+ static int delimiter, cstate;
/* The first time through, we generate the list of matches and set things
up to insert them. */
@@ -2428,14 +2550,14 @@ rl_menu_complete (count, ignore)
if (matches == 0 || postprocess_matches (&matches, matching_filenames) == 0)
{
- rl_ding ();
+ rl_ding ();
FREE (matches);
matches = (char **)0;
FREE (orig_text);
orig_text = (char *)0;
- completion_changed_buffer = 0;
- RL_UNSETSTATE(RL_STATE_COMPLETING);
- return (0);
+ completion_changed_buffer = 0;
+ RL_UNSETSTATE(RL_STATE_COMPLETING);
+ return (0);
}
RL_UNSETSTATE(RL_STATE_COMPLETING);
@@ -2483,6 +2605,11 @@ rl_menu_complete (count, ignore)
full_completion = 1;
return (0);
}
+ else if (_rl_menu_complete_prefix_first && match_list_size > 1)
+ {
+ rl_ding ();
+ return (0);
+ }
}
/* Now we have the list of matches. Replace the text between
@@ -2500,7 +2627,10 @@ rl_menu_complete (count, ignore)
match_list_index += count;
if (match_list_index < 0)
- match_list_index += match_list_size;
+ {
+ while (match_list_index < 0)
+ match_list_index += match_list_size;
+ }
else
match_list_index %= match_list_size;
diff --git a/lib/readline/doc/history.texi b/lib/readline/doc/history.texi
index afdb901..64945d8 100644
--- a/lib/readline/doc/history.texi
+++ b/lib/readline/doc/history.texi
@@ -12,7 +12,7 @@ This document describes the GNU History library
a programming tool that provides a consistent user interface for
recalling lines of previously typed input.
-Copyright @copyright{} 1988--2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2011 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/lib/readline/doc/hstech.texi b/lib/readline/doc/hstech.texi
index c4e5a75..4fc9e8e 100644
--- a/lib/readline/doc/hstech.texi
+++ b/lib/readline/doc/hstech.texi
@@ -1,7 +1,7 @@
@ignore
This file documents the user interface to the GNU History library.
-Copyright (C) 1988-2007 Free Software Foundation, Inc.
+Copyright (C) 1988-2011 Free Software Foundation, Inc.
Authored by Brian Fox and Chet Ramey.
Permission is granted to make and distribute verbatim copies of this manual
@@ -426,6 +426,10 @@ The maximum number of history entries. This must be changed using
If non-zero, timestamps are written to the history file, so they can be
preserved between sessions. The default value is 0, meaning that
timestamps are not saved.
+
+The current timestamp format uses the value of @var{history_comment_char}
+to delimit timestamp entries in the history file. If that variable does
+not have a value (the default), timestamps will not be written.
@end deftypevar
@deftypevar char history_expansion_char
diff --git a/lib/readline/doc/hsuser.texi b/lib/readline/doc/hsuser.texi
index 87b3541..75df3ee 100644
--- a/lib/readline/doc/hsuser.texi
+++ b/lib/readline/doc/hsuser.texi
@@ -1,7 +1,7 @@
@ignore
This file documents the user interface to the GNU History library.
-Copyright (C) 1988-2007 Free Software Foundation, Inc.
+Copyright (C) 1988--2011 Free Software Foundation, Inc.
Authored by Brian Fox and Chet Ramey.
Permission is granted to make and distribute verbatim copies of this manual
@@ -299,6 +299,8 @@ writing the history file.
An event designator is a reference to a command line entry in the
history list.
+Unless the reference is absolute, events are relative to the current
+position in the history list.
@cindex history events
@table @asis
@@ -324,10 +326,15 @@ Refer to the command @var{n} lines back.
Refer to the previous command. This is a synonym for @samp{!-1}.
@item @code{!@var{string}}
-Refer to the most recent command starting with @var{string}.
+Refer to the most recent command
+preceding the current position in the history list
+starting with @var{string}.
@item @code{!?@var{string}[?]}
-Refer to the most recent command containing @var{string}. The trailing
+Refer to the most recent command
+preceding the current position in the history list
+containing @var{string}.
+The trailing
@samp{?} may be omitted if the @var{string} is followed immediately by
a newline.
diff --git a/lib/readline/doc/rlman.texi b/lib/readline/doc/rlman.texi
index be24709..1c9ac13 100644
--- a/lib/readline/doc/rlman.texi
+++ b/lib/readline/doc/rlman.texi
@@ -13,7 +13,7 @@ This manual describes the GNU Readline Library
consistency of user interface across discrete programs which provide
a command line interface.
-Copyright @copyright{} 1988--2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2011 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/lib/readline/doc/rltech.texi b/lib/readline/doc/rltech.texi
index 04c8489..dc272a2 100644
--- a/lib/readline/doc/rltech.texi
+++ b/lib/readline/doc/rltech.texi
@@ -7,7 +7,7 @@ This document describes the GNU Readline Library, a utility for aiding
in the consistency of user interface across discrete programs that need
to provide a command line interface.
-Copyright (C) 1988-2007 Free Software Foundation, Inc.
+Copyright (C) 1988--2011 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -1157,6 +1157,9 @@ of strings, in argv format, such as a list of completion matches.
is the length of the longest string in @code{matches}. This function uses
the setting of @code{print-completions-horizontally} to select how the
matches are displayed (@pxref{Readline Init File Syntax}).
+When displaying completions, this function sets the number of columns used
+for display to the value of @code{completion-display-width}, the value of
+the environment variable @env{COLUMNS}, or the screen width, in that order.
@end deftypefun
The following are implemented as macros, defined in @code{chardefs.h}.
@@ -1714,18 +1717,20 @@ from the array must be freed.
@deftypevar {rl_icppfunc_t *} rl_directory_completion_hook
This function, if defined, is allowed to modify the directory portion
-of filenames Readline completes. It is called with the address of a
-string (the current directory name) as an argument, and may modify that string.
+of filenames Readline completes.
+It could be used to expand symbolic links or shell variables in pathnames.
+It is called with the address of a string (the current directory name) as an
+argument, and may modify that string.
If the string is replaced with a new string, the old value should be freed.
Any modified directory name should have a trailing slash.
-The modified value will be displayed as part of the completion, replacing
+The modified value will be used as part of the completion, replacing
the directory portion of the pathname the user typed.
-It returns an integer that should be non-zero if the function modifies
-its directory argument.
-It could be used to expand symbolic links or shell variables in pathnames.
At the least, even if no other expansion is performed, this function should
remove any quote characters from the directory name, because its result will
be passed directly to @code{opendir()}.
+The directory completion hook returns an integer that should be non-zero if
+the function modifies its directory argument.
+The function should not modify the directory argument if it returns 0.
@end deftypevar
@ignore
@@ -1737,7 +1742,7 @@ it only modifies the directory name used in @code{opendir}, not what is
displayed when the possible completions are printed or inserted. It is
called before rl_directory_completion_hook.
-I'm not happy with how this worksyet, so it's undocumented.
+I'm not happy with how this works yet, so it's undocumented.
@end deftypevar
@end ignore
diff --git a/lib/readline/doc/rluser.texi b/lib/readline/doc/rluser.texi
index 519c0de..8a69c99 100644
--- a/lib/readline/doc/rluser.texi
+++ b/lib/readline/doc/rluser.texi
@@ -9,7 +9,7 @@ use these features. There is a document entitled "readline.texinfo"
which contains both end-user and programmer documentation for the
GNU Readline Library.
-Copyright (C) 1988--2009 Free Software Foundation, Inc.
+Copyright (C) 1988--2011 Free Software Foundation, Inc.
Authored by Brian Fox and Chet Ramey.
@@ -51,7 +51,7 @@ Command line editing is enabled by default when using an interactive shell,
unless the @option{--noediting} option is supplied at shell invocation.
Line editing is also used when using the @option{-e} option to the
@code{read} builtin command (@pxref{Bash Builtins}).
-By default, the line editing commands are similar to those of emacs.
+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 @option{-o emacs} or
@option{-o vi} options to the @code{set} builtin command
@@ -431,11 +431,27 @@ The string to insert at the beginning of the line when the
@code{insert-comment} command is executed. The default value
is @code{"#"}.
+@item completion-display-width
+@vindex completion-display-width
+The number of screen columns used to display possible matches
+when performing completion.
+The value is ignored if it is less than 0 or greater than the terminal
+screen width.
+A value of 0 will cause matches to be displayed one per line.
+The default value is -1.
+
@item completion-ignore-case
+@vindex completion-ignore-case
If set to @samp{on}, Readline performs filename matching and completion
in a case-insensitive fashion.
The default value is @samp{off}.
+@item completion-map-case
+@vindex completion-map-case
+If set to @samp{on}, and @var{completion-ignore-case} is enabled, Readline
+treats hyphens (@samp{-}) and underscores (@samp{_}) as equivalent when
+performing case-insensitive filename matching and completion.
+
@item completion-prefix-display-length
@vindex completion-prefix-display-length
The length in characters of the common prefix of a list of possible
@@ -570,10 +586,17 @@ The default is @samp{off}.
@vindex match-hidden-files
This variable, when set to @samp{on}, causes Readline to match files whose
names begin with a @samp{.} (hidden files) when performing filename
-completion, unless the leading @samp{.} is
+completion.
+If set to @samp{off}, the leading @samp{.} must be
supplied by the user in the filename to be completed.
This variable is @samp{on} by default.
+@item menu-complete-display-prefix
+@vindex menu-complete-display-prefix
+If set to @samp{on}, menu completion displays the common prefix of the
+list of possible completions (which may be empty) before cycling through
+the list. The default is @samp{off}.
+
@item output-meta
@vindex output-meta
If set to @samp{on}, Readline will display characters with the
@@ -1097,10 +1120,14 @@ as if the @samp{!@var{n}} history expansion had been specified.
@item yank-last-arg (M-. or M-_)
Insert last argument to the previous command (the last word of the
-previous history entry). With an
-argument, behave exactly like @code{yank-nth-arg}.
+previous history entry).
+With a numeric argument, behave exactly like @code{yank-nth-arg}.
Successive calls to @code{yank-last-arg} move back through the history
-list, inserting the last argument of each line in turn.
+list, inserting the last word (or the word specified by the argument to
+the first call) of each line in turn.
+Any numeric argument supplied to these successive calls determines
+the direction to move through the history. A negative argument switches
+the direction through the history (back or forward).
The history expansion facilities are used to extract the last argument,
as if the @samp{!$} history expansion had been specified.
@@ -1212,7 +1239,7 @@ 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 @code{shell-forward-word}.
-@item backward-kill-word ()
+@item shell-backward-kill-word ()
Kill the word behind point.
Word boundaries are the same as @code{shell-backward-word}.
@end ifset
@@ -1298,6 +1325,9 @@ The default is filename completion.
@item possible-completions (M-?)
List the possible completions of the text before point.
+When displaying completions, Readline sets the number of columns used
+for display to the value of @code{completion-display-width}, the value of
+the environment variable @env{COLUMNS}, or the screen width, in that order.
@item insert-completions (M-*)
Insert all completions of the text before point that would have
@@ -1579,7 +1609,7 @@ editing mode.
While the Readline library does not have a full set of @code{vi}
editing functions, it does contain enough to allow simple editing
of the line. The Readline @code{vi} mode behaves as specified in
-the @sc{posix} 1003.2 standard.
+the @sc{posix} standard.
@ifset BashFeatures
In order to switch interactively between @code{emacs} and @code{vi}
@@ -1733,7 +1763,7 @@ exit status of 124. If a shell function returns 124, and changes
the compspec associated with the command on which completion is being
attempted (supplied as the first argument when the function is executed),
programmable completion restarts from the beginning, with an
-attempt to find a compspec for that command. This allows a set of
+attempt to find a new compspec for that command. This allows a set of
completions to be built dynamically as completion is attempted, rather than
being loaded all at once.
@@ -1933,17 +1963,6 @@ User names. May also be specified as @option{-u}.
Names of all shell variables. May also be specified as @option{-v}.
@end table
-@item -G @var{globpat}
-The filename expansion pattern @var{globpat} is expanded to generate
-the possible completions.
-
-@item -W @var{wordlist}
-The @var{wordlist} is split using the characters in the
-@env{IFS} 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 completed.
-
@item -C @var{command}
@var{command} is executed in a subshell environment, and its output is
used as the possible completions.
@@ -1954,13 +1973,9 @@ environment.
When it finishes, the possible completions are retrieved from the value
of the @env{COMPREPLY} array variable.
-@item -X @var{filterpat}
-@var{filterpat} is a pattern as used for filename expansion.
-It is applied to the list of possible completions generated by the
-preceding options and arguments, and each completion matching
-@var{filterpat} is removed from the list.
-A leading @samp{!} in @var{filterpat} negates the pattern; in this
-case, any completion not matching @var{filterpat} is removed.
+@item -G @var{globpat}
+The filename expansion pattern @var{globpat} is expanded to generate
+the possible completions.
@item -P @var{prefix}
@var{prefix} is added at the beginning of each possible completion
@@ -1969,6 +1984,21 @@ after all other options have been applied.
@item -S @var{suffix}
@var{suffix} is appended to each possible completion
after all other options have been applied.
+
+@item -W @var{wordlist}
+The @var{wordlist} is split using the characters in the
+@env{IFS} 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 completed.
+
+@item -X @var{filterpat}
+@var{filterpat} is a pattern as used for filename expansion.
+It is applied to the list of possible completions generated by the
+preceding options and arguments, and each completion matching
+@var{filterpat} is removed from the list.
+A leading @samp{!} in @var{filterpat} negates the pattern; in this
+case, any completion not matching @var{filterpat} is removed.
@end table
The return value is true unless an invalid option is supplied, an option
@@ -1983,7 +2013,7 @@ an error occurs adding a completion specification.
@code{compopt} [-o @var{option}] [-DE] [+o @var{option}] [@var{name}]
@end example
Modify completion options for each @var{name} according to the
-@var{option}s, or for the currently-execution completion if no @var{name}s
+@var{option}s, or for the currently-executing completion if no @var{name}s
are supplied.
If no @var{option}s are given, display the completion options for each
@var{name} or the current completion.
diff --git a/lib/readline/doc/rluserman.texi b/lib/readline/doc/rluserman.texi
index 49d9a2c..3d54520 100644
--- a/lib/readline/doc/rluserman.texi
+++ b/lib/readline/doc/rluserman.texi
@@ -12,7 +12,7 @@ This manual describes the end user interface of the GNU Readline Library
consistency of user interface across discrete programs which provide
a command line interface.
-Copyright @copyright{} 1988--2009 Free Software Foundation, Inc.
+Copyright @copyright{} 1988--2011 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/lib/readline/doc/version.texi b/lib/readline/doc/version.texi
index 823b3ba..3ee1c10 100644
--- a/lib/readline/doc/version.texi
+++ b/lib/readline/doc/version.texi
@@ -1,10 +1,10 @@
@ignore
-Copyright (C) 1988-2009 Free Software Foundation, Inc.
+Copyright (C) 1988-2011 Free Software Foundation, Inc.
@end ignore
-@set EDITION 6.1
-@set VERSION 6.1
-@set UPDATED 9 October 2009
-@set UPDATED-MONTH October 2009
+@set EDITION 6.2
+@set VERSION 6.2
+@set UPDATED September 6 2010
+@set UPDATED-MONTH September 2010
-@set LASTCHANGE Fri Oct 9 12:57:58 EDT 2009
+@set LASTCHANGE Mon Sep 6 22:07:10 EDT 2010
diff --git a/lib/readline/funmap.c b/lib/readline/funmap.c
index cccddb6..86e375f 100644
--- a/lib/readline/funmap.c
+++ b/lib/readline/funmap.c
@@ -1,6 +1,6 @@
/* funmap.c -- attach names to functions. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -148,6 +148,8 @@ static const FUNMAP default_funmap[] = {
{ "vi-append-mode", rl_vi_append_mode },
{ "vi-arg-digit", rl_vi_arg_digit },
{ "vi-back-to-indent", rl_vi_back_to_indent },
+ { "vi-backward-bigword", rl_vi_bWord },
+ { "vi-backward-word", rl_vi_bword },
{ "vi-bWord", rl_vi_bWord },
{ "vi-bword", rl_vi_bword },
{ "vi-change-case", rl_vi_change_case },
@@ -160,12 +162,15 @@ static const FUNMAP default_funmap[] = {
{ "vi-delete-to", rl_vi_delete_to },
{ "vi-eWord", rl_vi_eWord },
{ "vi-editing-mode", rl_vi_editing_mode },
+ { "vi-end-bigword", rl_vi_eWord },
{ "vi-end-word", rl_vi_end_word },
{ "vi-eof-maybe", rl_vi_eof_maybe },
{ "vi-eword", rl_vi_eword },
{ "vi-fWord", rl_vi_fWord },
{ "vi-fetch-history", rl_vi_fetch_history },
{ "vi-first-print", rl_vi_first_print },
+ { "vi-forward-bigword", rl_vi_fWord },
+ { "vi-forward-word", rl_vi_fword },
{ "vi-fword", rl_vi_fword },
{ "vi-goto-mark", rl_vi_goto_mark },
{ "vi-insert-beg", rl_vi_insert_beg },
diff --git a/lib/readline/histexpand.c b/lib/readline/histexpand.c
index 42498d2..8fb3798 100644
--- a/lib/readline/histexpand.c
+++ b/lib/readline/histexpand.c
@@ -1,6 +1,6 @@
/* histexpand.c -- history expansion. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
This file contains the GNU History Library (History), a set of
routines for managing the text of previously typed lines.
@@ -245,7 +245,7 @@ get_history_event (string, caller_index, delimiting_quote)
#define FAIL_SEARCH() \
do { \
- history_offset = history_length; free (temp) ; return (char *)NULL; \
+ history_offset = history_length; xfree (temp) ; return (char *)NULL; \
} while (0)
/* If there is no search string, try to use the previous search string,
@@ -254,7 +254,7 @@ get_history_event (string, caller_index, delimiting_quote)
{
if (search_string)
{
- free (temp);
+ xfree (temp);
temp = savestring (search_string);
}
else
@@ -285,7 +285,7 @@ get_history_event (string, caller_index, delimiting_quote)
search_match = history_find_word (entry->line, local_index);
}
else
- free (temp);
+ xfree (temp);
return (entry->line);
}
@@ -508,7 +508,7 @@ postproc_subst_rhs ()
}
}
new[j] = '\0';
- free (subst_rhs);
+ xfree (subst_rhs);
subst_rhs = new;
subst_rhs_len = j;
}
@@ -585,7 +585,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (event == 0)
{
*ret_string = hist_error (string, start, i, EVENT_NOT_FOUND);
- free (result);
+ xfree (result);
return (-1);
}
@@ -599,7 +599,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (word_spec == (char *)&error_pointer)
{
*ret_string = hist_error (string, starting_index, i, BAD_WORD_SPEC);
- free (result);
+ xfree (result);
return (-1);
}
@@ -632,8 +632,8 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
{
default:
*ret_string = hist_error (string, i+1, i+2, BAD_MODIFIER);
- free (result);
- free (temp);
+ xfree (result);
+ xfree (temp);
return -1;
case 'q':
@@ -658,7 +658,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
{
tstr++;
t = savestring (tstr);
- free (temp);
+ xfree (temp);
temp = t;
}
break;
@@ -683,7 +683,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (tstr)
{
t = savestring (tstr);
- free (temp);
+ xfree (temp);
temp = t;
}
break;
@@ -759,8 +759,8 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (subst_lhs_len == 0)
{
*ret_string = hist_error (string, starting_index, i, NO_PREV_SUBST);
- free (result);
- free (temp);
+ xfree (result);
+ xfree (temp);
return -1;
}
@@ -769,8 +769,8 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (subst_lhs_len > l_temp)
{
*ret_string = hist_error (string, starting_index, i, SUBST_FAILED);
- free (result);
- free (temp);
+ xfree (result);
+ xfree (temp);
return (-1);
}
@@ -811,7 +811,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
temp + si + subst_lhs_len,
l_temp - (si + subst_lhs_len));
new_event[len] = '\0';
- free (temp);
+ xfree (temp);
temp = new_event;
failed = 0;
@@ -847,8 +847,8 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
continue; /* don't want to increment i */
*ret_string = hist_error (string, starting_index, i, SUBST_FAILED);
- free (result);
- free (temp);
+ xfree (result);
+ xfree (temp);
return (-1);
}
}
@@ -869,7 +869,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
else
x = savestring (temp);
- free (temp);
+ xfree (temp);
temp = x;
}
@@ -877,7 +877,7 @@ history_expand_internal (string, start, end_index_ptr, ret_string, current_line)
if (n >= result_len)
result = (char *)xrealloc (result, n + 2);
strcpy (result, temp);
- free (temp);
+ xfree (temp);
*end_index_ptr = i;
*ret_string = result;
@@ -1064,7 +1064,7 @@ history_expand (hstring, output)
if (string[i] != history_expansion_char)
{
- free (result);
+ xfree (result);
*output = savestring (string);
return (0);
}
@@ -1144,7 +1144,7 @@ history_expand (hstring, output)
strncpy (temp, string + quote, slen);
temp[slen - 1] = '\0';
ADD_STRING (temp);
- free (temp);
+ xfree (temp);
}
else
ADD_CHAR (string[i]);
@@ -1157,7 +1157,7 @@ history_expand (hstring, output)
temp = (char *)xmalloc (l - i + 1);
strcpy (temp, string + i);
ADD_STRING (temp);
- free (temp);
+ xfree (temp);
i = l;
}
else
@@ -1190,7 +1190,7 @@ history_expand (hstring, output)
temp = (char *)xmalloc (1 + strlen (result));
strcpy (temp, result);
ADD_STRING (temp);
- free (temp);
+ xfree (temp);
}
i++;
break;
@@ -1201,9 +1201,9 @@ history_expand (hstring, output)
if (r < 0)
{
*output = temp;
- free (result);
+ xfree (result);
if (string != hstring)
- free (string);
+ xfree (string);
return -1;
}
else
@@ -1213,7 +1213,7 @@ history_expand (hstring, output)
modified++;
if (*temp)
ADD_STRING (temp);
- free (temp);
+ xfree (temp);
}
only_printing = r == 1;
i = eindex;
@@ -1224,7 +1224,7 @@ history_expand (hstring, output)
*output = result;
if (string != hstring)
- free (string);
+ xfree (string);
if (only_printing)
{
@@ -1405,8 +1405,8 @@ history_arg_extract (first, last, string)
}
for (i = 0; i < len; i++)
- free (list[i]);
- free (list);
+ xfree (list[i]);
+ xfree (list);
return (result);
}
@@ -1417,10 +1417,10 @@ history_tokenize_word (string, ind)
int ind;
{
register int i;
- int delimiter;
+ int delimiter, nestdelim, delimopen;
i = ind;
- delimiter = 0;
+ delimiter = nestdelim = 0;
if (member (string[i], "()\n"))
{
@@ -1442,13 +1442,21 @@ history_tokenize_word (string, ind)
return i;
}
else if ((peek == '&' && (string[i] == '>' || string[i] == '<')) ||
- (peek == '>' && string[i] == '&') ||
- (peek == '(' && (string[i] == '>' || string[i] == '<')) || /* ) */
- (peek == '(' && string[i] == '$')) /* ) */
+ (peek == '>' && string[i] == '&'))
{
i += 2;
return i;
}
+ /* XXX - separated out for later -- bash-4.2 */
+ else if ((peek == '(' && (string[i] == '>' || string[i] == '<')) || /* ) */
+ (peek == '(' && string[i] == '$')) /*)*/
+ {
+ i += 2;
+ delimopen = '(';
+ delimiter = ')';
+ nestdelim = 1;
+ goto get_word;
+ }
#if 0
else if (peek == '\'' && string[i] == '$')
{
@@ -1464,9 +1472,25 @@ history_tokenize_word (string, ind)
}
}
+ /* same code also used for $(...)/<(...)/>(...) above */
+ if (member (string[i], "!@?+*"))
+ {
+ int peek = string[i + 1];
+
+ if (peek == '(') /*)*/
+ {
+ /* Shell extended globbing patterns */
+ i += 2;
+ delimopen = '(';
+ delimiter = ')'; /* XXX - not perfect */
+ nestdelim = 1;
+ }
+ }
+
+get_word:
/* Get word from string + i; */
- if (member (string[i], HISTORY_QUOTE_CHARACTERS))
+ if (delimiter == 0 && member (string[i], HISTORY_QUOTE_CHARACTERS))
delimiter = string[i++];
for (; string[i]; i++)
@@ -1484,16 +1508,31 @@ history_tokenize_word (string, ind)
continue;
}
+ /* delimiter must be set and set to something other than a quote if
+ nestdelim is set, so these tests are safe. */
+ if (nestdelim && string[i] == delimopen)
+ {
+ nestdelim++;
+ continue;
+ }
+ if (nestdelim && string[i] == delimiter)
+ {
+ nestdelim--;
+ if (nestdelim == 0)
+ delimiter = 0;
+ continue;
+ }
+
if (delimiter && string[i] == delimiter)
{
delimiter = 0;
continue;
}
- if (!delimiter && (member (string[i], history_word_delimiters)))
+ if (delimiter == 0 && (member (string[i], history_word_delimiters)))
break;
- if (!delimiter && member (string[i], HISTORY_QUOTE_CHARACTERS))
+ if (delimiter == 0 && member (string[i], HISTORY_QUOTE_CHARACTERS))
delimiter = string[i];
}
@@ -1590,7 +1629,7 @@ freewords (words, start)
register int i;
for (i = start; words[i]; i++)
- free (words[i]);
+ xfree (words[i]);
}
/* Find and return the word which contains the character at index IND
@@ -1614,8 +1653,8 @@ history_find_word (line, ind)
}
s = words[wind];
for (i = 0; i < wind; i++)
- free (words[i]);
+ xfree (words[i]);
freewords (words, wind + 1);
- free (words);
+ xfree (words);
return s;
}
diff --git a/lib/readline/histfile.c b/lib/readline/histfile.c
index a75fc16..30a6182 100644
--- a/lib/readline/histfile.c
+++ b/lib/readline/histfile.c
@@ -1,6 +1,6 @@
/* histfile.c - functions to manipulate the history file. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
This file contains the GNU History Library (History), a set of
routines for managing the text of previously typed lines.
@@ -126,8 +126,12 @@ history_filename (filename)
if (home == 0)
{
+#if 0
home = ".";
home_len = 1;
+#else
+ return (NULL);
+#endif
}
else
home_len = strlen (home);
@@ -179,7 +183,7 @@ read_history_range (filename, from, to)
buffer = last_ts = (char *)NULL;
input = history_filename (filename);
- file = open (input, O_RDONLY|O_BINARY, 0666);
+ file = input ? open (input, O_RDONLY|O_BINARY, 0666) : -1;
if ((file < 0) || (fstat (file, &finfo) == -1))
goto error_and_exit;
@@ -314,7 +318,7 @@ history_truncate_file (fname, lines)
buffer = (char *)NULL;
filename = history_filename (fname);
- file = open (filename, O_RDONLY|O_BINARY, 0666);
+ file = filename ? open (filename, O_RDONLY|O_BINARY, 0666) : -1;
rv = 0;
/* Don't try to truncate non-regular files. */
@@ -413,7 +417,7 @@ history_truncate_file (fname, lines)
FREE (buffer);
- free (filename);
+ xfree (filename);
return rv;
}
@@ -436,9 +440,10 @@ history_do_write (filename, nelements, overwrite)
mode = overwrite ? O_WRONLY|O_CREAT|O_TRUNC|O_BINARY : O_WRONLY|O_APPEND|O_BINARY;
#endif
output = history_filename (filename);
+ file = output ? open (output, mode, 0600) : -1;
rv = 0;
- if ((file = open (output, mode, 0600)) == -1)
+ if (file == -1)
{
FREE (output);
return (errno);
@@ -515,7 +520,7 @@ mmap_error:
#else
if (write (file, buffer, buffer_size) < 0)
rv = errno;
- free (buffer);
+ xfree (buffer);
#endif
}
diff --git a/lib/readline/history.c b/lib/readline/history.c
index 8e613bb..d7894cf 100644
--- a/lib/readline/history.c
+++ b/lib/readline/history.c
@@ -338,7 +338,7 @@ free_history_entry (hist)
FREE (hist->line);
FREE (hist->timestamp);
x = hist->data;
- free (hist);
+ xfree (hist);
return (x);
}
diff --git a/lib/readline/input.c b/lib/readline/input.c
index b5876da..7c74c99 100644
--- a/lib/readline/input.c
+++ b/lib/readline/input.c
@@ -1,6 +1,6 @@
/* input.c -- character input functions for readline. */
-/* Copyright (C) 1994-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -427,17 +427,19 @@ rl_read_key ()
/* If the user has an event function, then call it periodically. */
if (rl_event_hook)
{
- while (rl_event_hook && rl_get_char (&c) == 0)
+ while (rl_event_hook)
{
- (*rl_event_hook) ();
- RL_CHECK_SIGNALS ();
- if (rl_done) /* XXX - experimental */
- return ('\n');
if (rl_gather_tyi () < 0) /* XXX - EIO */
{
rl_done = 1;
return ('\n');
}
+ RL_CHECK_SIGNALS ();
+ if (rl_get_char (&c) != 0)
+ break;
+ if (rl_done) /* XXX - experimental */
+ return ('\n');
+ (*rl_event_hook) ();
}
}
else
diff --git a/lib/readline/isearch.c b/lib/readline/isearch.c
index f3f46a7..712b9ea 100644
--- a/lib/readline/isearch.c
+++ b/lib/readline/isearch.c
@@ -104,6 +104,9 @@ _rl_scxt_alloc (type, flags)
cxt->save_undo_list = 0;
+ cxt->keymap = _rl_keymap;
+ cxt->okeymap = _rl_keymap;
+
cxt->history_pos = 0;
cxt->direction = 0;
@@ -336,10 +339,22 @@ _rl_isearch_dispatch (cxt, c)
return -1;
}
+ /* If we are moving into a new keymap, modify cxt->keymap and go on.
+ This can be a problem if c == ESC and we want to terminate the
+ incremental search, so we check */
+ if (c >= 0 && cxt->keymap[c].type == ISKMAP && strchr (cxt->search_terminators, cxt->lastc) == 0)
+ {
+ cxt->keymap = FUNCTION_TO_KEYMAP (cxt->keymap, c);
+ cxt->sflags |= SF_CHGKMAP;
+ /* XXX - we should probably save this sequence, so we can do
+ something useful if this doesn't end up mapping to a command. */
+ return 1;
+ }
+
/* Translate the keys we do something with to opcodes. */
- if (c >= 0 && _rl_keymap[c].type == ISFUNC)
+ if (c >= 0 && cxt->keymap[c].type == ISFUNC)
{
- f = _rl_keymap[c].function;
+ f = cxt->keymap[c].function;
if (f == rl_reverse_search_history)
cxt->lastc = (cxt->sflags & SF_REVERSE) ? -1 : -2;
@@ -347,19 +362,27 @@ _rl_isearch_dispatch (cxt, c)
cxt->lastc = (cxt->sflags & SF_REVERSE) ? -2 : -1;
else if (f == rl_rubout)
cxt->lastc = -3;
- else if (c == CTRL ('G'))
+ else if (c == CTRL ('G') || f == rl_abort)
cxt->lastc = -4;
- else if (c == CTRL ('W')) /* XXX */
+ else if (c == CTRL ('W') || f == rl_unix_word_rubout) /* XXX */
cxt->lastc = -5;
- else if (c == CTRL ('Y')) /* XXX */
+ else if (c == CTRL ('Y') || f == rl_yank) /* XXX */
cxt->lastc = -6;
}
+ /* If we changed the keymap earlier while translating a key sequence into
+ a command, restore it now that we've succeeded. */
+ if (cxt->sflags & SF_CHGKMAP)
+ {
+ cxt->keymap = cxt->okeymap;
+ cxt->sflags &= ~SF_CHGKMAP;
+ }
+
/* The characters in isearch_terminators (set from the user-settable
variable isearch-terminators) are used to terminate the search but
not subsequently execute the character as a command. The default
value is "\033\012" (ESC and C-J). */
- if (strchr (cxt->search_terminators, cxt->lastc))
+ if (cxt->lastc > 0 && strchr (cxt->search_terminators, cxt->lastc))
{
/* ESC still terminates the search, but if there is pending
input or if input arrives within 0.1 seconds (on systems
diff --git a/lib/readline/keymaps.c b/lib/readline/keymaps.c
index 9379dec..58661e2 100644
--- a/lib/readline/keymaps.c
+++ b/lib/readline/keymaps.c
@@ -142,11 +142,11 @@ rl_discard_keymap (map)
case ISKMAP:
rl_discard_keymap ((Keymap)map[i].function);
- free ((char *)map[i].function);
+ xfree ((char *)map[i].function);
break;
case ISMACR:
- free ((char *)map[i].function);
+ xfree ((char *)map[i].function);
break;
}
}
@@ -158,5 +158,5 @@ rl_free_keymap (map)
Keymap map;
{
rl_discard_keymap (map);
- free ((char *)map);
+ xfree ((char *)map);
}
diff --git a/lib/readline/keymaps.h b/lib/readline/keymaps.h
index 6c4611d..af8d5d9 100644
--- a/lib/readline/keymaps.h
+++ b/lib/readline/keymaps.h
@@ -52,11 +52,6 @@ typedef struct _keymap_entry {
#define KEYMAP_SIZE 257
#define ANYOTHERKEY KEYMAP_SIZE-1
-/* I wanted to make the above structure contain a union of:
- union { rl_command_func_t *function; struct _keymap_entry *keymap; } value;
- but this made it impossible for me to create a static array.
- Maybe I need C lessons. */
-
typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[KEYMAP_SIZE];
typedef KEYMAP_ENTRY *Keymap;
diff --git a/lib/readline/kill.c b/lib/readline/kill.c
index a4d6d14..1a78783 100644
--- a/lib/readline/kill.c
+++ b/lib/readline/kill.c
@@ -147,7 +147,7 @@ _rl_copy_to_kill_ring (text, append)
strcat (new, old);
}
xfree (old);
- free (text);
+ xfree (text);
rl_kill_ring[slot] = new;
}
else
@@ -601,7 +601,7 @@ rl_yank_nth_arg_internal (count, ignore, history_skip)
#endif /* VI_MODE */
rl_insert_text (arg);
- free (arg);
+ xfree (arg);
rl_end_undo_group ();
return 0;
@@ -640,7 +640,7 @@ rl_yank_last_arg (count, key)
{
if (undo_needed)
rl_do_undo ();
- if (count < 1)
+ if (count < 0) /* XXX - was < 1 */
direction = -direction;
history_skip += direction;
if (history_skip < 0)
diff --git a/lib/readline/misc.c b/lib/readline/misc.c
index 12ae4a5..9f45773 100644
--- a/lib/readline/misc.c
+++ b/lib/readline/misc.c
@@ -328,7 +328,7 @@ _rl_free_history_entry (entry)
FREE (entry->line);
FREE (entry->timestamp);
- free (entry);
+ xfree (entry);
}
/* Perhaps put back the current line if it has changed. */
@@ -342,9 +342,9 @@ rl_maybe_replace_line ()
if (temp && ((UNDO_LIST *)(temp->data) != rl_undo_list))
{
temp = replace_history_entry (where_history (), rl_line_buffer, (histdata_t)rl_undo_list);
- free (temp->line);
+ xfree (temp->line);
FREE (temp->timestamp);
- free (temp);
+ xfree (temp);
}
return 0;
}
@@ -480,7 +480,7 @@ _rl_revert_all_lines ()
_rl_set_the_line ();
/* and clean up */
- free (lbuf);
+ xfree (lbuf);
}
/* **************************************************************** */
diff --git a/lib/readline/nls.c b/lib/readline/nls.c
index 7f10f01..e3599eb 100644
--- a/lib/readline/nls.c
+++ b/lib/readline/nls.c
@@ -145,7 +145,7 @@ _rl_init_eightbit ()
_rl_output_meta_chars = 1;
break;
}
- free (t);
+ xfree (t);
return (legal_lang_values[i] ? 1 : 0);
#endif /* !HAVE_SETLOCALE */
diff --git a/lib/readline/readline.c b/lib/readline/readline.c
index c0e78d4..f2e4d93 100644
--- a/lib/readline/readline.c
+++ b/lib/readline/readline.c
@@ -382,7 +382,7 @@ readline_internal_setup ()
nprompt = _rl_strip_prompt (rl_prompt);
fprintf (_rl_out_stream, "%s", nprompt);
fflush (_rl_out_stream);
- free (nprompt);
+ xfree (nprompt);
}
}
else
@@ -426,7 +426,7 @@ readline_internal_teardown (eof)
_rl_free_history_entry (entry);
strcpy (the_line, temp);
- free (temp);
+ xfree (temp);
}
if (_rl_revert_all_at_newline)
@@ -629,7 +629,7 @@ void
_rl_keyseq_cxt_dispose (cxt)
_rl_keyseq_cxt *cxt;
{
- free (cxt);
+ xfree (cxt);
}
void
diff --git a/lib/readline/readline.h b/lib/readline/readline.h
index 7a4ffaa..0de168c 100644
--- a/lib/readline/readline.h
+++ b/lib/readline/readline.h
@@ -1,6 +1,6 @@
/* Readline.h -- the names of functions callable from within readline. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2011 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -39,9 +39,9 @@ extern "C" {
#endif
/* Hex-encoded Readline version number. */
-#define RL_READLINE_VERSION 0x0600 /* Readline 6.0 */
+#define RL_READLINE_VERSION 0x0602 /* Readline 6.2 */
#define RL_VERSION_MAJOR 6
-#define RL_VERSION_MINOR 0
+#define RL_VERSION_MINOR 2
/* Readline data structures. */
@@ -666,16 +666,24 @@ extern const char *rl_special_prefixes;
completing on a directory name. The function is called with
the address of a string (the current directory name) as an arg. It
changes what is displayed when the possible completions are printed
- or inserted. */
+ or inserted. The directory completion hook should perform
+ any necessary dequoting. This function should return 1 if it modifies
+ the directory name pointer passed as an argument. If the directory
+ completion hook returns 0, it should not modify the directory name
+ pointer passed as an argument. */
extern rl_icppfunc_t *rl_directory_completion_hook;
/* If non-zero, this is the address of a function to call when completing
a directory name. This function takes the address of the directory name
to be modified as an argument. Unlike rl_directory_completion_hook, it
only modifies the directory name used in opendir(2), not what is displayed
- when the possible completions are printed or inserted. It is called
- before rl_directory_completion_hook. I'm not happy with how this works
- yet, so it's undocumented. */
+ when the possible completions are printed or inserted. If set, it takes
+ precedence over rl_directory_completion_hook. The directory rewrite
+ hook should perform any necessary dequoting. This function has the same
+ return value properties as the directory_completion_hook.
+
+ I'm not happy with how this works yet, so it's undocumented. I'm trying
+ it in bash to see how well it goes. */
extern rl_icppfunc_t *rl_directory_rewrite_hook;
/* If non-zero, this is the address of a function to call when reading
@@ -805,30 +813,30 @@ extern int rl_inhibit_completion;
/* Possible state values for rl_readline_state */
#define RL_STATE_NONE 0x000000 /* no state; before first call */
-#define RL_STATE_INITIALIZING 0x000001 /* initializing */
-#define RL_STATE_INITIALIZED 0x000002 /* initialization done */
-#define RL_STATE_TERMPREPPED 0x000004 /* terminal is prepped */
-#define RL_STATE_READCMD 0x000008 /* reading a command key */
-#define RL_STATE_METANEXT 0x000010 /* reading input after ESC */
-#define RL_STATE_DISPATCHING 0x000020 /* dispatching to a command */
-#define RL_STATE_MOREINPUT 0x000040 /* reading more input in a command function */
-#define RL_STATE_ISEARCH 0x000080 /* doing incremental search */
-#define RL_STATE_NSEARCH 0x000100 /* doing non-inc search */
-#define RL_STATE_SEARCH 0x000200 /* doing a history search */
-#define RL_STATE_NUMERICARG 0x000400 /* reading numeric argument */
-#define RL_STATE_MACROINPUT 0x000800 /* getting input from a macro */
-#define RL_STATE_MACRODEF 0x001000 /* defining keyboard macro */
-#define RL_STATE_OVERWRITE 0x002000 /* overwrite mode */
-#define RL_STATE_COMPLETING 0x004000 /* doing completion */
-#define RL_STATE_SIGHANDLER 0x008000 /* in readline sighandler */
-#define RL_STATE_UNDOING 0x010000 /* doing an undo */
-#define RL_STATE_INPUTPENDING 0x020000 /* rl_execute_next called */
-#define RL_STATE_TTYCSAVED 0x040000 /* tty special chars saved */
-#define RL_STATE_CALLBACK 0x080000 /* using the callback interface */
-#define RL_STATE_VIMOTION 0x100000 /* reading vi motion arg */
-#define RL_STATE_MULTIKEY 0x200000 /* reading multiple-key command */
-#define RL_STATE_VICMDONCE 0x400000 /* entered vi command mode at least once */
-#define RL_STATE_REDISPLAYING 0x800000 /* updating terminal display */
+#define RL_STATE_INITIALIZING 0x0000001 /* initializing */
+#define RL_STATE_INITIALIZED 0x0000002 /* initialization done */
+#define RL_STATE_TERMPREPPED 0x0000004 /* terminal is prepped */
+#define RL_STATE_READCMD 0x0000008 /* reading a command key */
+#define RL_STATE_METANEXT 0x0000010 /* reading input after ESC */
+#define RL_STATE_DISPATCHING 0x0000020 /* dispatching to a command */
+#define RL_STATE_MOREINPUT 0x0000040 /* reading more input in a command function */
+#define RL_STATE_ISEARCH 0x0000080 /* doing incremental search */
+#define RL_STATE_NSEARCH 0x0000100 /* doing non-inc search */
+#define RL_STATE_SEARCH 0x0000200 /* doing a history search */
+#define RL_STATE_NUMERICARG 0x0000400 /* reading numeric argument */
+#define RL_STATE_MACROINPUT 0x0000800 /* getting input from a macro */
+#define RL_STATE_MACRODEF 0x0001000 /* defining keyboard macro */
+#define RL_STATE_OVERWRITE 0x0002000 /* overwrite mode */
+#define RL_STATE_COMPLETING 0x0004000 /* doing completion */
+#define RL_STATE_SIGHANDLER 0x0008000 /* in readline sighandler */
+#define RL_STATE_UNDOING 0x0010000 /* doing an undo */
+#define RL_STATE_INPUTPENDING 0x0020000 /* rl_execute_next called */
+#define RL_STATE_TTYCSAVED 0x0040000 /* tty special chars saved */
+#define RL_STATE_CALLBACK 0x0080000 /* using the callback interface */
+#define RL_STATE_VIMOTION 0x0100000 /* reading vi motion arg */
+#define RL_STATE_MULTIKEY 0x0200000 /* reading multiple-key command */
+#define RL_STATE_VICMDONCE 0x0400000 /* entered vi command mode at least once */
+#define RL_STATE_REDISPLAYING 0x0800000 /* updating terminal display */
#define RL_STATE_DONE 0x1000000 /* done; accepted line */
diff --git a/lib/readline/rlprivate.h b/lib/readline/rlprivate.h
index 819f127..384ff67 100644
--- a/lib/readline/rlprivate.h
+++ b/lib/readline/rlprivate.h
@@ -1,7 +1,7 @@
/* rlprivate.h -- functions and variables global to the readline library,
but not intended for use by applications. */
-/* Copyright (C) 1999-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -56,6 +56,7 @@
#define SF_REVERSE 0x01
#define SF_FOUND 0x02
#define SF_FAILED 0x04
+#define SF_CHGKMAP 0x08
typedef struct __rl_search_context
{
@@ -79,6 +80,9 @@ typedef struct __rl_search_context
UNDO_LIST *save_undo_list;
+ Keymap keymap; /* used when dispatching commands in search string */
+ Keymap okeymap; /* original keymap */
+
int history_pos;
int direction;
@@ -120,7 +124,28 @@ typedef struct __rl_keyseq_context
int childval;
} _rl_keyseq_cxt;
- /* fill in more as needed */
+/* vi-mode commands that use result of motion command to define boundaries */
+#define VIM_DELETE 0x01
+#define VIM_CHANGE 0x02
+#define VIM_YANK 0x04
+
+/* various states for vi-mode commands that use motion commands. reflects
+ RL_READLINE_STATE */
+#define VMSTATE_READ 0x01
+#define VMSTATE_NUMARG 0x02
+
+typedef struct __rl_vimotion_context
+{
+ int op;
+ int state;
+ int flags; /* reserved */
+ _rl_arg_cxt ncxt;
+ int numeric_arg;
+ int start, end; /* rl_point, rl_end */
+ int key, motion; /* initial key, motion command */
+} _rl_vimotion_cxt;
+
+/* fill in more as needed */
/* `Generic' callback data and functions */
typedef struct __rl_callback_generic_arg
{
@@ -320,6 +345,7 @@ extern void _rl_set_cursor PARAMS((int, int));
/* text.c */
extern void _rl_fix_point PARAMS((int));
extern int _rl_replace_text PARAMS((const char *, int, int));
+extern int _rl_forward_char_internal PARAMS((int));
extern int _rl_insert_char PARAMS((int, int));
extern int _rl_overwrite_char PARAMS((int, int));
extern int _rl_overwrite_rubout PARAMS((int, int));
@@ -366,6 +392,7 @@ extern void _rl_vi_reset_last PARAMS((void));
extern void _rl_vi_set_last PARAMS((int, int, int));
extern int _rl_vi_textmod_command PARAMS((int));
extern void _rl_vi_done_inserting PARAMS((void));
+extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *));
/*************************************************************************
* Undocumented private variables *
@@ -385,11 +412,14 @@ extern int _rl_complete_show_unmodified;
extern int _rl_complete_mark_directories;
extern int _rl_complete_mark_symlink_dirs;
extern int _rl_completion_prefix_display_length;
+extern int _rl_completion_columns;
extern int _rl_print_completions_horizontally;
extern int _rl_completion_case_fold;
+extern int _rl_completion_case_map;
extern int _rl_match_hidden_files;
extern int _rl_page_completions;
extern int _rl_skip_completed_text;
+extern int _rl_menu_complete_prefix_first;
/* display.c */
extern int _rl_vis_botlin;
@@ -471,5 +501,6 @@ extern int _rl_undo_group_level;
/* vi_mode.c */
extern int _rl_vi_last_command;
+extern _rl_vimotion_cxt *_rl_vimvcxt;
#endif /* _RL_PRIVATE_H_ */
diff --git a/lib/readline/rltty.c b/lib/readline/rltty.c
index 0dd5d10..d237b1c 100644
--- a/lib/readline/rltty.c
+++ b/lib/readline/rltty.c
@@ -604,7 +604,7 @@ rl_prep_terminal (meta_flag)
/* Try to keep this function from being INTerrupted. */
_rl_block_sigint ();
- tty = fileno (rl_instream);
+ tty = rl_instream ? fileno (rl_instream) : fileno (stdin);
if (get_tty_settings (tty, &tio) < 0)
{
@@ -678,7 +678,7 @@ rl_deprep_terminal ()
/* Try to keep this function from being interrupted. */
_rl_block_sigint ();
- tty = fileno (rl_instream);
+ tty = rl_instream ? fileno (rl_instream) : fileno (stdout);
if (_rl_enable_keypad)
_rl_control_keypad (0);
diff --git a/lib/readline/savestring.c b/lib/readline/savestring.c
index 63f467a..af98538 100644
--- a/lib/readline/savestring.c
+++ b/lib/readline/savestring.c
@@ -33,5 +33,9 @@ char *
savestring (s)
const char *s;
{
- return ((char *)strcpy ((char *)xmalloc (1 + strlen (s)), (s)));
+ char *ret;
+
+ ret = (char *)xmalloc (strlen (s) + 1);
+ strcpy (ret, s);
+ return ret;
}
diff --git a/lib/readline/search.c b/lib/readline/search.c
index 82984f1..04468fc 100644
--- a/lib/readline/search.c
+++ b/lib/readline/search.c
@@ -211,7 +211,7 @@ _rl_nsearch_init (dir, pchar)
p = _rl_make_prompt_for_search (pchar ? pchar : ':');
rl_message ("%s", p, 0);
- free (p);
+ xfree (p);
RL_SETSTATE(RL_STATE_NSEARCH);
diff --git a/lib/readline/shell.c b/lib/readline/shell.c
index 18b4f03..ac0fb36 100644
--- a/lib/readline/shell.c
+++ b/lib/readline/shell.c
@@ -130,12 +130,12 @@ sh_set_lines_and_columns (lines, cols)
b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
sprintf (b, "%d", lines);
setenv ("LINES", b, 1);
- free (b);
+ xfree (b);
b = (char *)xmalloc (INT_STRLEN_BOUND (int) + 1);
sprintf (b, "%d", cols);
setenv ("COLUMNS", b, 1);
- free (b);
+ xfree (b);
#else /* !HAVE_SETENV */
# if defined (HAVE_PUTENV)
b = (char *)xmalloc (INT_STRLEN_BOUND (int) + sizeof ("LINES=") + 1);
diff --git a/lib/readline/signals.c b/lib/readline/signals.c
index 4fbc019..6a68d78 100644
--- a/lib/readline/signals.c
+++ b/lib/readline/signals.c
@@ -131,6 +131,7 @@ static sighandler_cxt old_winch;
/* Called from RL_CHECK_SIGNALS() macro */
RETSIGTYPE
_rl_signal_handler (sig)
+ int sig;
{
_rl_caught_signal = 0; /* XXX */
diff --git a/lib/readline/terminal.c b/lib/readline/terminal.c
index ee13092..f8c2f6e 100644
--- a/lib/readline/terminal.c
+++ b/lib/readline/terminal.c
@@ -96,12 +96,12 @@ static char *term_string_buffer = (char *)NULL;
static int tcap_initialized;
-#if !defined (__linux__)
+#if !defined (__linux__) && !defined (NCURSES_VERSION)
# if defined (__EMX__) || defined (NEED_EXTERN_PC)
extern
# endif /* __EMX__ || NEED_EXTERN_PC */
char PC, *BC, *UP;
-#endif /* __linux__ */
+#endif /* !__linux__ && !NCURSES_VERSION */
/* Some strings to control terminal actions. These are output by tputs (). */
char *_rl_term_clreol;
@@ -350,9 +350,9 @@ rl_reset_screen_size ()
void
rl_resize_terminal ()
{
+ _rl_get_screen_size (fileno (rl_instream), 1);
if (_rl_echoing_p)
{
- _rl_get_screen_size (fileno (rl_instream), 1);
if (CUSTOM_REDISPLAY_FUNC ())
rl_forced_update_display ();
else if (RL_ISSTATE(RL_STATE_REDISPLAYING) == 0)
diff --git a/lib/readline/text.c b/lib/readline/text.c
index fc39189..536e31a 100644
--- a/lib/readline/text.c
+++ b/lib/readline/text.c
@@ -1,6 +1,6 @@
/* text.c -- text handling commands for readline. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -150,7 +150,7 @@ rl_delete_text (from, to)
if (_rl_doing_an_undo == 0)
rl_add_undo (UNDO_DELETE, from, to, text);
else
- free (text);
+ xfree (text);
rl_end -= diff;
rl_line_buffer[rl_end] = '\0';
@@ -265,11 +265,13 @@ rl_forward_byte (count, key)
if (count > 0)
{
- int end = rl_point + count;
+ int end, lend;
+
+ end = rl_point + count;
#if defined (VI_MODE)
- int lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
+ lend = rl_end > 0 ? rl_end - (VI_COMMAND_MODE()) : rl_end;
#else
- int lend = rl_end;
+ lend = rl_end;
#endif
if (end > lend)
@@ -287,6 +289,31 @@ rl_forward_byte (count, key)
return 0;
}
+int
+_rl_forward_char_internal (count)
+ int count;
+{
+ int point;
+
+#if defined (HANDLE_MULTIBYTE)
+ point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
+
+#if defined (VI_MODE)
+ if (point >= rl_end && VI_COMMAND_MODE())
+ point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
+#endif
+
+ if (rl_end < 0)
+ rl_end = 0;
+#else
+ point = rl_point + count;
+ if (point > rl_end)
+ point = rl_end;
+#endif
+
+ return (point);
+}
+
#if defined (HANDLE_MULTIBYTE)
/* Move forward COUNT characters. */
int
@@ -309,20 +336,12 @@ rl_forward_char (count, key)
return 0;
}
- point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO);
-
-#if defined (VI_MODE)
- if (point >= rl_end && VI_COMMAND_MODE())
- point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO);
-#endif
+ point = _rl_forward_char_internal (count);
if (rl_point == point)
rl_ding ();
rl_point = point;
-
- if (rl_end < 0)
- rl_end = 0;
}
return 0;
@@ -752,7 +771,7 @@ _rl_insert_char (count, c)
string[i] = '\0';
rl_insert_text (string);
- free (string);
+ xfree (string);
return 0;
}
@@ -779,7 +798,7 @@ _rl_insert_char (count, c)
count -= decreaser;
}
- free (string);
+ xfree (string);
incoming_length = 0;
stored_count = 0;
#else /* !HANDLE_MULTIBYTE */
@@ -805,8 +824,9 @@ _rl_insert_char (count, c)
/* We are inserting a single character.
If there is pending input, then make a string of all of the
pending characters that are bound to rl_insert, and insert
- them all. */
- if (_rl_any_typein ())
+ them all. Don't do this if we're current reading input from
+ a macro. */
+ if ((RL_ISSTATE (RL_STATE_MACROINPUT) == 0) && _rl_any_typein ())
_rl_insert_typein (c);
else
{
@@ -1407,8 +1427,8 @@ rl_transpose_words (count, key)
/* I think that does it. */
rl_end_undo_group ();
- free (word1);
- free (word2);
+ xfree (word1);
+ xfree (word2);
return 0;
}
@@ -1467,7 +1487,7 @@ rl_transpose_chars (count, key)
rl_end_undo_group ();
#if defined (HANDLE_MULTIBYTE)
- free (dummy);
+ xfree (dummy);
#endif
return 0;
@@ -1495,6 +1515,9 @@ _rl_char_search_internal (count, dir, schar)
int prepos;
#endif
+ if (dir == 0)
+ return -1;
+
pos = rl_point;
inc = (dir < 0) ? -1 : 1;
while (count)
diff --git a/lib/readline/tilde.c b/lib/readline/tilde.c
index 088ff15..1c53a45 100644
--- a/lib/readline/tilde.c
+++ b/lib/readline/tilde.c
@@ -378,7 +378,7 @@ tilde_expand_word (filename)
{
dirname = glue_prefix_and_suffix (expansion, filename, user_len);
xfree (username);
- free (expansion);
+ xfree (expansion);
return (dirname);
}
}
@@ -401,7 +401,7 @@ tilde_expand_word (filename)
if (expansion)
{
dirname = glue_prefix_and_suffix (expansion, filename, user_len);
- free (expansion);
+ xfree (expansion);
}
}
/* If we don't have a failure hook, or if the failure hook did not
diff --git a/lib/readline/util.c b/lib/readline/util.c
index 6bb64c2..6c68ad8 100644
--- a/lib/readline/util.c
+++ b/lib/readline/util.c
@@ -1,6 +1,6 @@
/* util.c -- readline utility functions */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -366,41 +366,56 @@ _rl_strpbrk (string1, string2)
#if !defined (HAVE_STRCASECMP)
/* Compare at most COUNT characters from string1 to string2. Case
- doesn't matter. */
+ doesn't matter (strncasecmp). */
int
_rl_strnicmp (string1, string2, count)
char *string1, *string2;
int count;
{
- register char ch1, ch2;
+ register char *s1, *s2;
+ int d;
- while (count)
+ if (count <= 0 || (string1 == string2))
+ return 0;
+
+ s1 = string1;
+ s2 = string2;
+ do
{
- ch1 = *string1++;
- ch2 = *string2++;
- if (_rl_to_upper(ch1) == _rl_to_upper(ch2))
- count--;
- else
+ d = _rl_to_lower (*s1) - _rl_to_lower (*s2); /* XXX - cast to unsigned char? */
+ if (d != 0)
+ return d;
+ if (*s1++ == '\0')
break;
+ s2++;
}
- return (count);
+ while (--count != 0)
+
+ return (0);
}
-/* strcmp (), but caseless. */
+/* strcmp (), but caseless (strcasecmp). */
int
_rl_stricmp (string1, string2)
char *string1, *string2;
{
- register char ch1, ch2;
+ register char *s1, *s2;
+ int d;
- while (*string1 && *string2)
+ s1 = string1;
+ s2 = string2;
+
+ if (s1 == s2)
+ return 0;
+
+ while ((d = _rl_to_lower (*s1) - _rl_to_lower (*s2)) == 0)
{
- ch1 = *string1++;
- ch2 = *string2++;
- if (_rl_to_upper(ch1) != _rl_to_upper(ch2))
- return (1);
+ if (*s1++ == '\0')
+ return 0;
+ s2++;
}
- return (*string1 - *string2);
+
+ return (d);
}
#endif /* !HAVE_STRCASECMP */
diff --git a/lib/readline/vi_mode.c b/lib/readline/vi_mode.c
index 2a120c0..41e1dbb 100644
--- a/lib/readline/vi_mode.c
+++ b/lib/readline/vi_mode.c
@@ -1,7 +1,7 @@
/* vi_mode.c -- A vi emulation mode for Bash.
Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -65,6 +65,8 @@
int _rl_vi_last_command = 'i'; /* default `.' puts you in insert mode */
+_rl_vimotion_cxt *_rl_vimvcxt = 0;
+
/* Non-zero means enter insertion mode. */
static int _rl_vi_doing_insert;
@@ -128,6 +130,16 @@ static int _rl_vi_callback_change_char PARAMS((_rl_callback_generic_arg *));
static int _rl_vi_callback_char_search PARAMS((_rl_callback_generic_arg *));
#endif
+static int rl_domove_read_callback PARAMS((_rl_vimotion_cxt *));
+static int rl_domove_motion_callback PARAMS((_rl_vimotion_cxt *));
+static int rl_vi_domove_getchar PARAMS((_rl_vimotion_cxt *));
+
+static int vi_change_dispatch PARAMS((_rl_vimotion_cxt *));
+static int vi_delete_dispatch PARAMS((_rl_vimotion_cxt *));
+static int vi_yank_dispatch PARAMS((_rl_vimotion_cxt *));
+
+static int vidomove_dispatch PARAMS((_rl_vimotion_cxt *));
+
void
_rl_vi_initialize_line ()
{
@@ -618,12 +630,16 @@ _rl_vi_append_forward (key)
if (MB_CUR_MAX == 1 || rl_byte_oriented)
rl_point++;
else
- {
- point = rl_point;
- rl_forward_char (1, key);
- if (point == rl_point)
- rl_point = rl_end;
- }
+ {
+ point = rl_point;
+#if 0
+ rl_forward_char (1, key);
+#else
+ rl_point = _rl_forward_char_internal (1);
+#endif
+ if (point == rl_point)
+ rl_point = rl_end;
+ }
}
}
@@ -721,7 +737,7 @@ _rl_vi_done_inserting ()
_rl_vi_last_key_before_insert == 'a' ||
_rl_vi_last_key_before_insert == 'I' ||
_rl_vi_last_key_before_insert == 'A'))
- _rl_vi_save_insert (rl_undo_list);
+ _rl_vi_save_insert (rl_undo_list);
/* XXX - Other keys probably need to be checked. */
else if (_rl_vi_last_key_before_insert == 'C')
rl_end_undo_group ();
@@ -781,7 +797,7 @@ _rl_vi_change_mbchar_case (count)
if (MB_INVALIDCH (m))
wc = (wchar_t)rl_line_buffer[rl_point];
else if (MB_NULLWCH (m))
- wc = L'\0';
+ wc = L'\0';
if (iswupper (wc))
wc = towlower (wc);
else if (iswlower (wc))
@@ -809,7 +825,7 @@ _rl_vi_change_mbchar_case (count)
rl_vi_check ();
}
else
- rl_forward_char (1, 0);
+ rl_forward_char (1, 0);
}
return 0;
@@ -856,7 +872,7 @@ rl_vi_change_case (count, ignore)
_rl_insert_char (1, c);
rl_end_undo_group ();
rl_vi_check ();
- }
+ }
else
rl_forward_char (1, c);
}
@@ -894,7 +910,7 @@ rl_vi_check ()
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
else
- rl_point--;
+ rl_point--;
}
return (0);
}
@@ -910,59 +926,106 @@ rl_vi_column (count, key)
return (0);
}
-int
-rl_vi_domove (key, nextkey)
- int key, *nextkey;
+/* Process C as part of the current numeric argument. Return -1 if the
+ argument should be aborted, 0 if we should not read any more chars, and
+ 1 if we should continue to read chars. */
+static int
+_rl_vi_arg_dispatch (c)
+ int c;
{
- int c, save;
- int old_end;
-
- rl_mark = rl_point;
- RL_SETSTATE(RL_STATE_MOREINPUT);
- c = rl_read_key ();
- RL_UNSETSTATE(RL_STATE_MOREINPUT);
+ int key;
- if (c < 0)
+ key = c;
+ if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument)
{
- *nextkey = 0;
- return -1;
+ rl_numeric_arg *= 4;
+ return 1;
}
- *nextkey = c;
+ c = UNMETA (c);
- if (!member (c, vi_motion))
+ if (_rl_digit_p (c))
{
- if (_rl_digit_p (c))
- {
- save = rl_numeric_arg;
- rl_numeric_arg = _rl_digit_value (c);
- rl_explicit_arg = 1;
- RL_SETSTATE (RL_STATE_NUMERICARG|RL_STATE_VIMOTION);
- rl_digit_loop1 ();
- RL_UNSETSTATE (RL_STATE_VIMOTION);
- rl_numeric_arg *= save;
- RL_SETSTATE(RL_STATE_MOREINPUT);
- c = rl_read_key (); /* real command */
- RL_UNSETSTATE(RL_STATE_MOREINPUT);
- if (c < 0)
- {
- *nextkey = 0;
- return -1;
- }
- *nextkey = c;
- }
- else if (key == c && (key == 'd' || key == 'y' || key == 'c'))
- {
- rl_mark = rl_end;
- rl_beg_of_line (1, c);
- _rl_vi_last_motion = c;
- return (0);
- }
+ if (rl_explicit_arg)
+ rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c);
else
- return (-1);
+ rl_numeric_arg = _rl_digit_value (c);
+ rl_explicit_arg = 1;
+ return 1; /* keep going */
+ }
+ else
+ {
+ rl_clear_message ();
+ rl_stuff_char (key);
+ return 0; /* done */
+ }
+}
+
+/* A simplified loop for vi. Don't dispatch key at end.
+ Don't recognize minus sign?
+ Should this do rl_save_prompt/rl_restore_prompt? */
+static int
+rl_digit_loop1 ()
+{
+ int c, r;
+
+ while (1)
+ {
+ if (_rl_arg_overflow ())
+ return 1;
+
+ c = _rl_arg_getchar ();
+
+ r = _rl_vi_arg_dispatch (c);
+ if (r <= 0)
+ break;
}
- _rl_vi_last_motion = c;
+ RL_UNSETSTATE(RL_STATE_NUMERICARG);
+ return (0);
+}
+
+static void
+_rl_mvcxt_init (m, op, key)
+ _rl_vimotion_cxt *m;
+ int op, key;
+{
+ m->op = op;
+ m->state = m->flags = 0;
+ m->ncxt = 0;
+ m->numeric_arg = -1;
+ m->start = rl_point;
+ m->end = rl_end;
+ m->key = key;
+ m->motion = -1;
+}
+
+static _rl_vimotion_cxt *
+_rl_mvcxt_alloc (op, key)
+ int op, key;
+{
+ _rl_vimotion_cxt *m;
+
+ m = xmalloc (sizeof (_rl_vimotion_cxt));
+ _rl_mvcxt_init (m, op, key);
+ return m;
+}
+
+static void
+_rl_mvcxt_dispose (m)
+ _rl_vimotion_cxt *m;
+{
+ xfree (m);
+}
+
+static int
+rl_domove_motion_callback (m)
+ _rl_vimotion_cxt *m;
+{
+ int c, save, r;
+ int old_end;
+
+ _rl_vi_last_motion = c = m->motion;
/* Append a blank character temporarily so that the motion routines
work right at the end of the line. */
@@ -991,7 +1054,7 @@ rl_vi_domove (key, nextkey)
/* If cw or cW, back up to the end of a word, so the behaviour of ce
or cE is the actual result. Brute-force, no subtlety. */
- if (key == 'c' && rl_point >= rl_mark && (_rl_to_upper (c) == 'W'))
+ if (m->key == 'c' && rl_point >= rl_mark && (_rl_to_upper (c) == 'W'))
{
/* Don't move farther back than where we started. */
while (rl_point > rl_mark && whitespace (rl_line_buffer[rl_point]))
@@ -1000,7 +1063,7 @@ rl_vi_domove (key, nextkey)
/* Posix.2 says that if cw or cW moves the cursor towards the end of
the line, the character under the cursor should be deleted. */
if (rl_point == rl_mark)
- rl_point++;
+ rl_point++;
else
{
/* Move past the end of the word so that the kill doesn't
@@ -1014,90 +1077,141 @@ rl_vi_domove (key, nextkey)
if (rl_mark < rl_point)
SWAP (rl_point, rl_mark);
- return (0);
+#if defined (READLINE_CALLBACKS)
+ if (RL_ISSTATE (RL_STATE_CALLBACK))
+ (*rl_redisplay_function)(); /* make sure motion is displayed */
+#endif
+
+ r = vidomove_dispatch (m);
+
+ return (r);
}
-/* Process C as part of the current numeric argument. Return -1 if the
- argument should be aborted, 0 if we should not read any more chars, and
- 1 if we should continue to read chars. */
+#define RL_VIMOVENUMARG() (RL_ISSTATE (RL_STATE_VIMOTION) && RL_ISSTATE (RL_STATE_NUMERICARG))
+
static int
-_rl_vi_arg_dispatch (c)
- int c;
+rl_domove_read_callback (m)
+ _rl_vimotion_cxt *m;
{
- int key;
+ int c, save;
- key = c;
- if (c >= 0 && _rl_keymap[c].type == ISFUNC && _rl_keymap[c].function == rl_universal_argument)
+ c = m->motion;
+
+ if (member (c, vi_motion))
{
- rl_numeric_arg *= 4;
- return 1;
+#if defined (READLINE_CALLBACKS)
+ /* If we just read a vi-mode motion command numeric argument, turn off
+ the `reading numeric arg' state */
+ if (RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG())
+ RL_UNSETSTATE (RL_STATE_NUMERICARG);
+#endif
+ /* Should do everything, including turning off RL_STATE_VIMOTION */
+ return (rl_domove_motion_callback (m));
}
-
- c = UNMETA (c);
-
- if (_rl_digit_p (c))
+ else if (m->key == c && (m->key == 'd' || m->key == 'y' || m->key == 'c'))
{
- if (rl_explicit_arg)
- rl_numeric_arg = (rl_numeric_arg * 10) + _rl_digit_value (c);
- else
- rl_numeric_arg = _rl_digit_value (c);
+ rl_mark = rl_end;
+ rl_beg_of_line (1, c);
+ _rl_vi_last_motion = c;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+ return (0);
+ }
+#if defined (READLINE_CALLBACKS)
+ /* XXX - these need to handle rl_universal_argument bindings */
+ /* Reading vi motion char continuing numeric argument */
+ else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_VIMOVENUMARG())
+ {
+ return (_rl_vi_arg_dispatch (c));
+ }
+ /* Readine vi motion char starting numeric argument */
+ else if (_rl_digit_p (c) && RL_ISSTATE (RL_STATE_CALLBACK) && RL_ISSTATE (RL_STATE_VIMOTION) && (RL_ISSTATE (RL_STATE_NUMERICARG) == 0))
+ {
+ RL_SETSTATE (RL_STATE_NUMERICARG);
+ return (_rl_vi_arg_dispatch (c));
+ }
+#endif
+ else if (_rl_digit_p (c))
+ {
+ /* This code path taken when not in callback mode */
+ save = rl_numeric_arg;
+ rl_numeric_arg = _rl_digit_value (c);
rl_explicit_arg = 1;
- return 1;
+ RL_SETSTATE (RL_STATE_NUMERICARG);
+ rl_digit_loop1 ();
+ rl_numeric_arg *= save;
+ c = rl_vi_domove_getchar (m);
+ if (c < 0)
+ {
+ m->motion = 0;
+ return -1;
+ }
+ m->motion = c;
+ return (rl_domove_motion_callback (m));
}
else
{
- rl_clear_message ();
- rl_stuff_char (key);
- return 0;
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+ RL_UNSETSTATE (RL_STATE_NUMERICARG);
+ return (1);
}
}
-/* A simplified loop for vi. Don't dispatch key at end.
- Don't recognize minus sign?
- Should this do rl_save_prompt/rl_restore_prompt? */
static int
-rl_digit_loop1 ()
+rl_vi_domove_getchar (m)
+ _rl_vimotion_cxt *m;
{
- int c, r;
+ int c;
- while (1)
- {
- if (_rl_arg_overflow ())
- return 1;
+ RL_SETSTATE(RL_STATE_MOREINPUT);
+ c = rl_read_key ();
+ RL_UNSETSTATE(RL_STATE_MOREINPUT);
- c = _rl_arg_getchar ();
+ return c;
+}
- r = _rl_vi_arg_dispatch (c);
- if (r <= 0)
- break;
- }
+#if defined (READLINE_CALLBACKS)
+int
+_rl_vi_domove_callback (m)
+ _rl_vimotion_cxt *m;
+{
+ int c, r;
- RL_UNSETSTATE(RL_STATE_NUMERICARG);
- return (0);
+ m->motion = c = rl_vi_domove_getchar (m);
+ /* XXX - what to do if this returns -1? Should we return 1 for eof to
+ callback code? */
+ r = rl_domove_read_callback (m);
+
+ return ((r == 0) ? r : 1); /* normalize return values */
}
+#endif
+/* This code path taken when not in callback mode. */
int
-rl_vi_delete_to (count, key)
- int count, key;
+rl_vi_domove (x, ignore)
+ int x, *ignore;
{
- int c, start_pos;
-
- if (_rl_uppercase_p (key))
- rl_stuff_char ('$');
- else if (vi_redoing)
- rl_stuff_char (_rl_vi_last_motion);
+ int r;
+ _rl_vimotion_cxt *m;
- start_pos = rl_point;
+ m = _rl_vimvcxt;
+ *ignore = m->motion = rl_vi_domove_getchar (m);
- if (rl_vi_domove (key, &c))
+ if (m->motion < 0)
{
- rl_ding ();
+ m->motion = 0;
return -1;
}
+ return (rl_domove_read_callback (m));
+}
+
+static int
+vi_delete_dispatch (m)
+ _rl_vimotion_cxt *m;
+{
/* These are the motion commands that do not require adjusting the
mark. */
- if (((strchr (" l|h^0bBFT`", c) == 0) && (rl_point >= start_pos)) &&
+ if (((strchr (" l|h^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
@@ -1106,34 +1220,61 @@ rl_vi_delete_to (count, key)
}
int
-rl_vi_change_to (count, key)
+rl_vi_delete_to (count, key)
int count, key;
{
- int c, start_pos;
+ int c, r;
+ _rl_vimvcxt = _rl_mvcxt_alloc (VIM_DELETE, key);
+ _rl_vimvcxt->start = rl_point;
+
+ rl_mark = rl_point;
if (_rl_uppercase_p (key))
- rl_stuff_char ('$');
+ {
+ _rl_vimvcxt->motion = '$';
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
else if (vi_redoing)
- rl_stuff_char (_rl_vi_last_motion);
-
- start_pos = rl_point;
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+#if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+ {
+ RL_SETSTATE (RL_STATE_VIMOTION);
+ return (0);
+ }
+#endif
+ else
+ r = rl_vi_domove (key, &c);
- if (rl_vi_domove (key, &c))
+ if (r < 0)
{
rl_ding ();
- return -1;
+ r = -1;
}
+ _rl_mvcxt_dispose (_rl_vimvcxt);
+ _rl_vimvcxt = 0;
+
+ return r;
+}
+
+static int
+vi_change_dispatch (m)
+ _rl_vimotion_cxt *m;
+{
/* These are the motion commands that do not require adjusting the
mark. c[wW] are handled by special-case code in rl_vi_domove(),
and already leave the mark at the correct location. */
- if (((strchr (" l|hwW^0bBFT`", c) == 0) && (rl_point >= start_pos)) &&
+ if (((strchr (" l|hwW^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
/* The cursor never moves with c[wW]. */
- if ((_rl_to_upper (c) == 'W') && rl_point < start_pos)
- rl_point = start_pos;
+ if ((_rl_to_upper (m->motion) == 'W') && rl_point < m->start)
+ rl_point = m->start;
if (vi_redoing)
{
@@ -1151,34 +1292,64 @@ rl_vi_change_to (count, key)
rl_begin_undo_group (); /* to make the `u' command work */
rl_kill_text (rl_point, rl_mark);
/* `C' does not save the text inserted for undoing or redoing. */
- if (_rl_uppercase_p (key) == 0)
- _rl_vi_doing_insert = 1;
- rl_vi_start_inserting (key, rl_numeric_arg, rl_arg_sign);
+ if (_rl_uppercase_p (m->key) == 0)
+ _rl_vi_doing_insert = 1;
+ /* XXX -- TODO -- use m->numericarg? */
+ rl_vi_start_inserting (m->key, rl_numeric_arg, rl_arg_sign);
}
return (0);
}
int
-rl_vi_yank_to (count, key)
+rl_vi_change_to (count, key)
int count, key;
{
- int c, start_pos;
+ int c, r;
- if (_rl_uppercase_p (key))
- rl_stuff_char ('$');
+ _rl_vimvcxt = _rl_mvcxt_alloc (VIM_CHANGE, key);
+ _rl_vimvcxt->start = rl_point;
- start_pos = rl_point;
+ rl_mark = rl_point;
+ if (_rl_uppercase_p (key))
+ {
+ _rl_vimvcxt->motion = '$';
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+ else if (vi_redoing)
+ {
+ _rl_vimvcxt->motion = _rl_vi_last_motion;
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+#if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+ {
+ RL_SETSTATE (RL_STATE_VIMOTION);
+ return (0);
+ }
+#endif
+ else
+ r = rl_vi_domove (key, &c);
- if (rl_vi_domove (key, &c))
+ if (r < 0)
{
rl_ding ();
- return -1;
+ r = -1; /* normalize return value */
}
+ _rl_mvcxt_dispose (_rl_vimvcxt);
+ _rl_vimvcxt = 0;
+
+ return r;
+}
+
+static int
+vi_yank_dispatch (m)
+ _rl_vimotion_cxt *m;
+{
/* These are the motion commands that do not require adjusting the
mark. */
- if (((strchr (" l|h^0%bBFT`", c) == 0) && (rl_point >= start_pos)) &&
+ if (((strchr (" l|h^0%bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
@@ -1186,12 +1357,76 @@ rl_vi_yank_to (count, key)
rl_kill_text (rl_point, rl_mark);
rl_end_undo_group ();
rl_do_undo ();
- rl_point = start_pos;
+ rl_point = m->start;
return (0);
}
int
+rl_vi_yank_to (count, key)
+ int count, key;
+{
+ int c, r;
+
+ _rl_vimvcxt = _rl_mvcxt_alloc (VIM_YANK, key);
+ _rl_vimvcxt->start = rl_point;
+
+ rl_mark = rl_point;
+ if (_rl_uppercase_p (key))
+ {
+ _rl_vimvcxt->motion = '$';
+ r = rl_domove_motion_callback (_rl_vimvcxt);
+ }
+#if defined (READLINE_CALLBACKS)
+ else if (RL_ISSTATE (RL_STATE_CALLBACK))
+ {
+ RL_SETSTATE (RL_STATE_VIMOTION);
+ return (0);
+ }
+#endif
+ else
+ r = rl_vi_domove (key, &c);
+
+ if (r < 0)
+ {
+ rl_ding ();
+ r = -1;
+ }
+
+ _rl_mvcxt_dispose (_rl_vimvcxt);
+ _rl_vimvcxt = 0;
+
+ return r;
+}
+
+static int
+vidomove_dispatch (m)
+ _rl_vimotion_cxt *m;
+{
+ int r;
+
+ switch (m->op)
+ {
+ case VIM_DELETE:
+ r = vi_delete_dispatch (m);
+ break;
+ case VIM_CHANGE:
+ r = vi_change_dispatch (m);
+ break;
+ case VIM_YANK:
+ r = vi_yank_dispatch (m);
+ break;
+ default:
+ _rl_errmsg ("vidomove_dispatch: unknown operator %d", m->op);
+ r = 1;
+ break;
+ }
+
+ RL_UNSETSTATE (RL_STATE_VIMOTION);
+ return r;
+}
+
+int
rl_vi_rubout (count, key)
int count, key;
{
@@ -1317,27 +1552,38 @@ rl_vi_char_search (count, key)
#endif
if (key == ';' || key == ',')
- _rl_cs_dir = (key == ';') ? _rl_cs_orig_dir : -_rl_cs_orig_dir;
+ {
+ if (_rl_cs_orig_dir == 0)
+ return -1;
+#if defined (HANDLE_MULTIBYTE)
+ if (_rl_vi_last_search_mblen == 0)
+ return -1;
+#else
+ if (_rl_vi_last_search_char == 0)
+ return -1;
+#endif
+ _rl_cs_dir = (key == ';') ? _rl_cs_orig_dir : -_rl_cs_orig_dir;
+ }
else
{
switch (key)
- {
- case 't':
- _rl_cs_orig_dir = _rl_cs_dir = FTO;
- break;
+ {
+ case 't':
+ _rl_cs_orig_dir = _rl_cs_dir = FTO;
+ break;
- case 'T':
- _rl_cs_orig_dir = _rl_cs_dir = BTO;
- break;
+ case 'T':
+ _rl_cs_orig_dir = _rl_cs_dir = BTO;
+ break;
- case 'f':
- _rl_cs_orig_dir = _rl_cs_dir = FFIND;
- break;
+ case 'f':
+ _rl_cs_orig_dir = _rl_cs_dir = FFIND;
+ break;
- case 'F':
- _rl_cs_orig_dir = _rl_cs_dir = BFIND;
- break;
- }
+ case 'F':
+ _rl_cs_orig_dir = _rl_cs_dir = BFIND;
+ break;
+ }
if (vi_redoing)
{
@@ -1345,12 +1591,12 @@ rl_vi_char_search (count, key)
}
#if defined (READLINE_CALLBACKS)
else if (RL_ISSTATE (RL_STATE_CALLBACK))
- {
- _rl_callback_data = _rl_callback_data_alloc (count);
- _rl_callback_data->i1 = _rl_cs_dir;
- _rl_callback_func = _rl_vi_callback_char_search;
- return (0);
- }
+ {
+ _rl_callback_data = _rl_callback_data_alloc (count);
+ _rl_callback_data->i1 = _rl_cs_dir;
+ _rl_callback_func = _rl_vi_callback_char_search;
+ return (0);
+ }
#endif
else
{
@@ -1401,7 +1647,7 @@ rl_vi_match (ignore, key)
pre = rl_point;
rl_forward_char (1, key);
if (pre == rl_point)
- break;
+ break;
}
}
else
@@ -1430,7 +1676,7 @@ rl_vi_match (ignore, key)
{
pos = _rl_find_prev_mbchar (rl_line_buffer, pos, MB_FIND_ANY);
if (tmp == pos)
- pos--;
+ pos--;
}
if (pos >= 0)
{
@@ -1678,8 +1924,8 @@ rl_vi_replace (count, key)
vi_replace_map[NEWLINE].function = rl_newline;
/* If the normal vi insertion keymap has ^H bound to erase, do the
- same here. Probably should remove the assignment to RUBOUT up
- there, but I don't think it will make a difference in real life. */
+ same here. Probably should remove the assignment to RUBOUT up
+ there, but I don't think it will make a difference in real life. */
if (vi_insertion_keymap[CTRL ('H')].type == ISFUNC &&
vi_insertion_keymap[CTRL ('H')].function == rl_rubout)
vi_replace_map[CTRL ('H')].function = rl_vi_overstrike_delete;
diff --git a/lib/readline/xfree.c b/lib/readline/xfree.c
new file mode 100644
index 0000000..37a81e6
--- /dev/null
+++ b/lib/readline/xfree.c
@@ -0,0 +1,50 @@
+/* xfree.c -- safe version of free that ignores attempts to free NUL */
+
+/* Copyright (C) 1991-2010 Free Software Foundation, Inc.
+
+ This file is part of the GNU Readline Library (Readline), a library
+ for reading lines of text with interactive input and history editing.
+
+ Readline is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Readline is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Readline. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define READLINE_LIBRARY
+
+#if defined (HAVE_CONFIG_H)
+#include <config.h>
+#endif
+
+#if defined (HAVE_STDLIB_H)
+# include <stdlib.h>
+#else
+# include "ansi_stdlib.h"
+#endif /* HAVE_STDLIB_H */
+
+#include "xmalloc.h"
+
+/* **************************************************************** */
+/* */
+/* Memory Deallocation. */
+/* */
+/* **************************************************************** */
+
+/* Use this as the function to call when adding unwind protects so we
+ don't need to know what free() returns. */
+void
+xfree (string)
+ PTR_T string;
+{
+ if (string)
+ free (string);
+}
diff --git a/lib/readline/xmalloc.c b/lib/readline/xmalloc.c
index 97d8f2e..c77d763 100644
--- a/lib/readline/xmalloc.c
+++ b/lib/readline/xmalloc.c
@@ -77,13 +77,3 @@ xrealloc (pointer, bytes)
memory_error_and_abort ("xrealloc");
return (temp);
}
-
-/* Use this as the function to call when adding unwind protects so we
- don't need to know what free() returns. */
-void
-xfree (string)
- PTR_T string;
-{
- if (string)
- free (string);
-}
diff --git a/lib/sh/Android.mk b/lib/sh/Android.mk
index 78344df..197b34f 100644
--- a/lib/sh/Android.mk
+++ b/lib/sh/Android.mk
@@ -13,7 +13,8 @@ LOCAL_SRC_FILES:= \
strtrans.c snprintf.c mailstat.c fmtulong.c \
fmtullong.c fmtumax.c zcatfd.c zmapfd.c winsize.c wcsdup.c \
fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c casemod.c \
- fdprintf.c input_avail.c mbscasecmp.c fnxform.c mbschr.c
+ fdprintf.c input_avail.c mbscasecmp.c fnxform.c mbschr.c \
+ shmbchar.c unicode.c
LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../.. \
diff --git a/lib/sh/Makefile.in b/lib/sh/Makefile.in
index 80f6cc5..d97cd99 100644
--- a/lib/sh/Makefile.in
+++ b/lib/sh/Makefile.in
@@ -2,7 +2,7 @@
# Makefile for the Bash library
#
#
-# Copyright (C) 1998-2009 Free Software Foundation, Inc.
+# Copyright (C) 1998-2010 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -91,7 +91,8 @@ CSOURCES = clktck.c clock.c getcwd.c getenv.c oslib.c setlinebuf.c \
strtoll.c strtoull.c strtoimax.c strtoumax.c memset.c strstr.c \
mktime.c strftime.c mbschr.c zcatfd.c zmapfd.c winsize.c eaccess.c \
wcsdup.c fpurge.c zgetline.c mbscmp.c uconvert.c ufuncs.c \
- casemod.c fdprintf.c input_avail.c mbscasecmp.c fnxform.c
+ casemod.c dprintf.c input_avail.c mbscasecmp.c fnxform.c \
+ strchrnul.c unicode.c wcswidth.c shmbchar.c
# The header files for this library.
HSOURCES =
@@ -105,7 +106,7 @@ OBJECTS = clktck.o clock.o getenv.o oslib.o setlinebuf.o strnlen.o \
strtrans.o snprintf.o mailstat.o fmtulong.o \
fmtullong.o fmtumax.o zcatfd.o zmapfd.o winsize.o wcsdup.o \
fpurge.o zgetline.o mbscmp.o uconvert.o ufuncs.o casemod.o \
- fdprintf.o input_avail.o mbscasecmp.o fnxform.o ${LIBOBJS}
+ input_avail.o mbscasecmp.o fnxform.o unicode.o shmbchar.o ${LIBOBJS}
SUPPORT = Makefile
@@ -144,7 +145,7 @@ casemod.o: casemod.c
clktck.o: clktck.c
clock.o: clock.c
eaccess.o: eaccess.c
-fdprintf.o: fdprintf.c
+dprintf.o: dprintf.c
fmtullong.o: fmtullong.c
fmtulong.o: fmtulong.c
fmtumax.o: fmtumax.c
@@ -168,6 +169,7 @@ pathcanon.o: pathcanon.c
pathphys.o: pathphys.c
rename.o: rename.c
setlinebuf.o: setlinebuf.c
+shmbchar.o: shmbchar.c
shquote.o: shquote.c
shtty.o: shtty.c
snprintf.o: snprintf.c
@@ -195,6 +197,7 @@ uconvert.o: uconvert.c
ufuncs.o: ufuncs.c
vprint.o: vprint.c
wcsdup.o: wcsdup.c
+wcswidth.o: wcswidth.c
mbschr.o: mbschr.c
zcatfd.o: zcatfd.c
zmapfd.o: zmapfd.c
@@ -214,7 +217,7 @@ casemod.o: ${BUILD_DIR}/config.h
clktck.o: ${BUILD_DIR}/config.h
clock.o: ${BUILD_DIR}/config.h
eaccess.o: ${BUILD_DIR}/config.h
-fdprintf.o: ${BUILD_DIR}/config.h
+dprintf.o: ${BUILD_DIR}/config.h
fmtullong.o: ${BUILD_DIR}/config.h
fmtulong.o: ${BUILD_DIR}/config.h
fmtumax.o: ${BUILD_DIR}/config.h
@@ -238,6 +241,7 @@ pathcanon.o: ${BUILD_DIR}/config.h
pathphys.o: ${BUILD_DIR}/config.h
rename.o: ${BUILD_DIR}/config.h
setlinebuf.o: ${BUILD_DIR}/config.h
+shmbchare.o: ${BUILD_DIR}/config.h
shquote.o: ${BUILD_DIR}/config.h
shtty.o: ${BUILD_DIR}/config.h
snprintf.o: ${BUILD_DIR}/config.h
@@ -265,6 +269,7 @@ uconvert.o: ${BUILD_DIR}/config.h
ufuncs.o: ${BUILD_DIR}/config.h
vprint.o: ${BUILD_DIR}/config.h
wcsdup.o: ${BUILD_DIR}/config.h
+wcswidth.o: ${BUILD_DIR}/config.h
mbschr.o: ${BUILD_DIR}/config.h
zcatfd.o: ${BUILD_DIR}/config.h
zgetline.o: ${BUILD_DIR}/config.h
@@ -505,9 +510,12 @@ wcsdup.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
wcsdup.o: ${BASHINCDIR}/stdc.h
wcsdup.o: ${topdir}/xmalloc.h
+wcswidth.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
+wcswidth.o: ${BASHINCDIR}/stdc.h
+
mbschr.o: ${topdir}/bashansi.h
mbschr.o: ${BASHINCDIR}/ansi_stdlib.h
-mbschr.o: ${BASHINCDIR}/shmbutil.h
+mbschr.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
zgetline.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
zgetline.o: ${BASHINCDIR}/stdc.h
@@ -526,10 +534,10 @@ casemod.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
casemod.o: ${BASHINCDIR}/stdc.h
casemod.o: ${topdir}/xmalloc.h
casemod.o: ${topdir}/bashtypes.h
-casemod.o: ${BASHINCDIR}/shmbutil.h
+casemod.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h
casemod.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
-fdprintf.o: ${BASHINCDIR}/stdc.h
+dprintf.o: ${BASHINCDIR}/stdc.h
input_avail.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
input_avail.o: ${BASHINCDIR}/stdc.h
@@ -542,3 +550,5 @@ fnxform.o: ${topdir}/bashansi.h ${BASHINCDIR}/ansi_stdlib.h
fnxform.o: ${BASHINCDIR}/stdc.h
fnxform.o: ${topdir}/bashtypes.h
fnxform.o: ${topdir}/bashintl.h ${LIBINTL_H} ${BASHINCDIR}/gettext.h
+
+shmbchar.o: ${BASHINCDIR}/shmbchar.h
diff --git a/lib/sh/casemod.c b/lib/sh/casemod.c
index d85549a..3127d8c 100644
--- a/lib/sh/casemod.c
+++ b/lib/sh/casemod.c
@@ -111,6 +111,13 @@ sh_modcase (string, pat, flags)
mbstate_t state;
#endif
+ if (string == 0 || *string == 0)
+ {
+ ret = (char *)xmalloc (1);
+ ret[0] = '\0';
+ return ret;
+ }
+
#if defined (HANDLE_MULTIBYTE)
memset (&state, 0, sizeof (mbstate_t));
#endif
diff --git a/lib/sh/dprintf.c b/lib/sh/dprintf.c
new file mode 100644
index 0000000..b3b5d64
--- /dev/null
+++ b/lib/sh/dprintf.c
@@ -0,0 +1,70 @@
+/* dprintf -- printf to a file descriptor */
+
+/* Copyright (C) 2008-2010 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdc.h>
+
+#if defined (HAVE_UNISTD_H)
+# include <unistd.h>
+#endif
+
+#if defined (PREFER_STDARG)
+# include <stdarg.h>
+#else
+# include <varargs.h>
+#endif
+
+#include <stdio.h>
+
+int
+#if defined (PREFER_STDARG)
+dprintf(int fd, const char *format, ...)
+#else
+dprintf(fd, format, va_alist)
+ int fd;
+ const char *format;
+ va_dcl
+#endif
+{
+ FILE *fp;
+ int fd2, rc, r2;
+ va_list args;
+
+ if ((fd2 = dup(fd)) < 0)
+ return -1;
+ fp = fdopen (fd2, "w");
+ if (fp == 0)
+ {
+ close (fd2);
+ return -1;
+ }
+
+ SH_VA_START (args, format);
+ rc = vfprintf (fp, format, args);
+ fflush (fp);
+ va_end (args);
+
+ r2 = fclose (fp); /* check here */
+
+ return rc;
+}
diff --git a/lib/sh/eaccess.c b/lib/sh/eaccess.c
index 989bc22..d9bca8c 100644
--- a/lib/sh/eaccess.c
+++ b/lib/sh/eaccess.c
@@ -1,6 +1,6 @@
/* eaccess.c - eaccess replacement for the shell, plus other access functions. */
-/* Copyright (C) 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -198,11 +198,20 @@ sh_eaccess (path, mode)
char *path;
int mode;
{
+ int ret;
+
if (path_is_devfd (path))
return (sh_stataccess (path, mode));
-#if defined (HAVE_EACCESS) /* FreeBSD */
- return (eaccess (path, mode));
+#if defined (HAVE_FACCESSAT) && defined (AT_EACCESS)
+ return (faccessat (AT_FDCWD, path, mode, AT_EACCESS));
+#elif defined (HAVE_EACCESS) /* FreeBSD */
+ ret = eaccess (path, mode); /* XXX -- not always correct for X_OK */
+# if defined (__FreeBSD__)
+ if (ret == 0 && current_user.euid == 0 && mode == X_OK)
+ return (sh_stataccess (path, mode));
+# endif
+ return ret;
#elif defined (EFF_ONLY_OK) /* SVR4(?), SVR4.2 */
return access (path, mode|EFF_ONLY_OK);
#else
@@ -215,7 +224,15 @@ sh_eaccess (path, mode)
# endif
if (current_user.uid == current_user.euid && current_user.gid == current_user.egid)
- return (access (path, mode));
+ {
+ ret = access (path, mode);
+#if defined (__FreeBSD__) || defined (SOLARIS)
+ if (ret == 0 && current_user.euid == 0 && mode == X_OK)
+ return (sh_stataccess (path, mode));
+#endif
+ return ret;
+
+ }
return (sh_stataccess (path, mode));
#endif
diff --git a/lib/sh/fnxform.c b/lib/sh/fnxform.c
index d95274f..d7e1b5a 100644
--- a/lib/sh/fnxform.c
+++ b/lib/sh/fnxform.c
@@ -1,6 +1,6 @@
/* fnxform - use iconv(3) to transform strings to and from "filename" format */
-/* Copyright (C) 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -72,7 +72,7 @@ curencoding ()
mod = strchr (dot, '@');
if (mod)
*mod = '\0';
- return dot;
+ return ++dot;
#endif
}
diff --git a/lib/sh/fpurge.c b/lib/sh/fpurge.c
index f9e1b9d..13e8c78 100644
--- a/lib/sh/fpurge.c
+++ b/lib/sh/fpurge.c
@@ -1,6 +1,6 @@
/* fpurge - Flushing buffers of a FILE stream. */
-/* Copyright (C) 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -36,6 +36,90 @@ extern int fpurge __P((FILE *stream));
#endif
#include <stdlib.h>
+/* Inline contents of gnulib:stdio-impl.h */
+
+/* Many stdio implementations have the same logic and therefore can share
+ the same implementation of stdio extension API, except that some fields
+ have different naming conventions, or their access requires some casts. */
+
+/* BSD stdio derived implementations. */
+
+#if defined __NetBSD__ /* NetBSD */
+/* Get __NetBSD_Version__. */
+# include <sys/param.h>
+#endif
+
+#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+
+# if defined __DragonFly__ /* DragonFly */
+ /* See <http://www.dragonflybsd.org/cvsweb/src/lib/libc/stdio/priv_stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>. */
+# define fp_ ((struct { struct __FILE_public pub; \
+ struct { unsigned char *_base; int _size; } _bf; \
+ void *cookie; \
+ void *_close; \
+ void *_read; \
+ void *_seek; \
+ void *_write; \
+ struct { unsigned char *_base; int _size; } _ub; \
+ int _ur; \
+ unsigned char _ubuf[3]; \
+ unsigned char _nbuf[1]; \
+ struct { unsigned char *_base; int _size; } _lb; \
+ int _blksize; \
+ fpos_t _offset; \
+ /* More fields, not relevant here. */ \
+ } *) fp)
+ /* See <http://www.dragonflybsd.org/cvsweb/src/include/stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>. */
+# define _p pub._p
+# define _flags pub._flags
+# define _r pub._r
+# define _w pub._w
+# else
+# define fp_ fp
+# endif
+
+# if (defined __NetBSD__ && __NetBSD_Version__ >= 105270000) || defined __OpenBSD__ /* NetBSD >= 1.5ZA, OpenBSD */
+ /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+ and <http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */
+ struct __sfileext
+ {
+ struct __sbuf _ub; /* ungetc buffer */
+ /* More fields, not relevant here. */
+ };
+# define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
+# else /* FreeBSD, NetBSD <= 1.5Z, DragonFly, MacOS X, Cygwin */
+# define fp_ub fp_->_ub
+# endif
+
+# define HASUB(fp) (fp_ub._base != NULL)
+
+#endif
+
+/* SystemV derived implementations. */
+
+#if defined _IOERR
+
+# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
+# define fp_ ((struct { unsigned char *_ptr; \
+ unsigned char *_base; \
+ unsigned char *_end; \
+ long _cnt; \
+ int _file; \
+ unsigned int _flag; \
+ } *) fp)
+# else
+# define fp_ fp
+# endif
+
+# if defined _SCO_DS /* OpenServer */
+# define _cnt __cnt
+# define _ptr __ptr
+# define _base __base
+# define _flag __flag
+# endif
+
+#endif
+
int
fpurge (FILE *fp)
{
@@ -45,7 +129,7 @@ fpurge (FILE *fp)
/* The __fpurge function does not have a return value. */
return 0;
-#elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X */
+#elif HAVE_FPURGE /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin 1.7 */
/* Call the system's fpurge function. */
# undef fpurge
@@ -59,10 +143,10 @@ fpurge (FILE *fp)
<stdio.h> on BSD systems says:
"The following always hold: if _flags & __SRD, _w is 0."
If this invariant is not fulfilled and the stream is read-write but
- currently writing, subsequent putc or fputc calls will write directly
+ currently reading, subsequent putc or fputc calls will write directly
into the buffer, although they shouldn't be allowed to. */
- if ((fp->_flags & __SRD) != 0)
- fp->_w = 0;
+ if ((fp_->_flags & __SRD) != 0)
+ fp_->_w = 0;
# endif
return result;
@@ -101,7 +185,7 @@ fpurge (FILE *fp)
fp->_wcount = 0;
fp->_ungetc_count = 0;
return 0;
-# elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
+# elif defined _IOERR || defined __TANDEM /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
fp->_ptr = fp->_base;
if (fp->_ptr != NULL)
fp->_cnt = 0;
diff --git a/lib/sh/oslib.c b/lib/sh/oslib.c
index d47f9dc..b3470d1 100644
--- a/lib/sh/oslib.c
+++ b/lib/sh/oslib.c
@@ -1,6 +1,6 @@
/* oslib.c - functions present only in some unix versions. */
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995,2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -37,6 +37,10 @@
#include <filecntl.h>
#include <bashansi.h>
+#if !defined (HAVE_KILLPG)
+# include <signal.h>
+#endif
+
#include <stdio.h>
#include <errno.h>
#include <chartypes.h>
@@ -209,7 +213,8 @@ gethostname (name, namelen)
# else /* !HAVE_UNAME */
int
gethostname (name, namelen)
- int name, namelen;
+ char *name;
+ int namelen;
{
strncpy (name, "unknown", namelen);
name[namelen] = '\0';
diff --git a/lib/sh/shmatch.c b/lib/sh/shmatch.c
index 6de1dc1..3abefed 100644
--- a/lib/sh/shmatch.c
+++ b/lib/sh/shmatch.c
@@ -62,7 +62,7 @@ sh_regmatch (string, pattern, flags)
#if defined (ARRAY_VARS)
rematch = (SHELL_VAR *)NULL;
#endif
-
+
rflags = REG_EXTENDED;
if (glob_ignore_case || match_ignore_case)
rflags |= REG_ICASE;
diff --git a/lib/sh/shmbchar.c b/lib/sh/shmbchar.c
new file mode 100644
index 0000000..c5badc1
--- /dev/null
+++ b/lib/sh/shmbchar.c
@@ -0,0 +1,92 @@
+/* Copyright (C) 2001, 2006, 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+
+#include <config.h>
+
+#if defined (HANDLE_MULTIBYTE)
+#include <stdlib.h>
+#include <limits.h>
+
+#include <shmbutil.h>
+#include <shmbchar.h>
+
+#if IS_BASIC_ASCII
+
+/* Bit table of characters in the ISO C "basic character set". */
+const unsigned int is_basic_table [UCHAR_MAX / 32 + 1] =
+{
+ 0x00001a00, /* '\t' '\v' '\f' */
+ 0xffffffef, /* ' '...'#' '%'...'?' */
+ 0xfffffffe, /* 'A'...'Z' '[' '\\' ']' '^' '_' */
+ 0x7ffffffe /* 'a'...'z' '{' '|' '}' '~' */
+ /* The remaining bits are 0. */
+};
+
+#endif /* IS_BASIC_ASCII */
+
+size_t
+mbstrlen (s)
+ const char *s;
+{
+ size_t clen, nc;
+ mbstate_t mbs = { 0 }, mbsbak = { 0 };
+ int f;
+
+ nc = 0;
+ while (*s && (clen = (f = is_basic (*s)) ? 1 : mbrlen(s, MB_CUR_MAX, &mbs)) != 0)
+ {
+ if (MB_INVALIDCH(clen))
+ {
+ clen = 1; /* assume single byte */
+ mbs = mbsbak;
+ }
+
+ if (f == 0)
+ mbsbak = mbs;
+
+ s += clen;
+ nc++;
+ }
+ return nc;
+}
+
+/* Return pointer to first multibyte char in S, or NULL if none. */
+char *
+mbsmbchar (s)
+ const char *s;
+{
+ char *t;
+ size_t clen;
+ mbstate_t mbs = { 0 };
+
+ for (t = (char *)s; *t; t++)
+ {
+ if (is_basic (*t))
+ continue;
+
+ clen = mbrlen (t, MB_CUR_MAX, &mbs);
+
+ if (clen == 0)
+ return 0;
+ if (MB_INVALIDCH(clen))
+ continue;
+
+ if (clen > 1)
+ return t;
+ }
+ return 0;
+}
+#endif
diff --git a/lib/sh/shquote.c b/lib/sh/shquote.c
index a267d38..a1e9146 100644
--- a/lib/sh/shquote.c
+++ b/lib/sh/shquote.c
@@ -42,10 +42,11 @@
Used by alias and trap, among others. */
char *
sh_single_quote (string)
- char *string;
+ const char *string;
{
register int c;
- char *result, *r, *s;
+ char *result, *r;
+ const char *s;
result = (char *)xmalloc (3 + (4 * strlen (string)));
r = result;
@@ -72,10 +73,11 @@ sh_single_quote (string)
/* Quote STRING using double quotes. Return a new string. */
char *
sh_double_quote (string)
- char *string;
+ const char *string;
{
register unsigned char c;
- char *result, *r, *s;
+ char *result, *r;
+ const char *s;
result = (char *)xmalloc (3 + (2 * strlen (string)));
r = result;
diff --git a/lib/sh/snprintf.c b/lib/sh/snprintf.c
index d681b16..d46b2d9 100644
--- a/lib/sh/snprintf.c
+++ b/lib/sh/snprintf.c
@@ -9,7 +9,7 @@
Unix snprintf implementation.
derived from inetutils/libinetutils/snprintf.c Version 1.1
- Copyright (C) 2001,2006 Free Software Foundation, Inc.
+ Copyright (C) 2001,2006,2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
diff --git a/lib/sh/strchrnul.c b/lib/sh/strchrnul.c
new file mode 100644
index 0000000..2e1608e
--- /dev/null
+++ b/lib/sh/strchrnul.c
@@ -0,0 +1,144 @@
+/* Searching in a string.
+ Copyright (C) 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+
+/* Specification. */
+#include <string.h>
+
+ /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
+ long instead of a 64-bit uintmax_t tends to give better
+ performance. On 64-bit hardware, unsigned long is generally 64
+ bits already. Change this typedef to experiment with
+ performance. */
+ typedef unsigned long int longword;
+
+/* Find the first occurrence of C in S or the final NUL byte. */
+char *
+strchrnul (s, c_in)
+ const char *s;
+ int c_in;
+{
+ const unsigned char *char_ptr;
+ const longword *longword_ptr;
+ longword repeated_one;
+ longword repeated_c;
+ unsigned char c;
+
+ c = (unsigned char) c_in;
+ if (c == 0) /* find final null byte */
+ return (char *)(s ? (s + strlen (s)) : s);
+
+ /* Handle the first few bytes by reading one byte at a time.
+ Do this until CHAR_PTR is aligned on a longword boundary. */
+ for (char_ptr = (const unsigned char *) s;
+ (size_t) char_ptr % sizeof (longword) != 0;
+ ++char_ptr)
+ if (!*char_ptr || *char_ptr == c)
+ return (char *) char_ptr;
+
+ longword_ptr = (const longword *) char_ptr;
+
+ /* All these elucidatory comments refer to 4-byte longwords,
+ but the theory applies equally well to any size longwords. */
+
+ /* Compute auxiliary longword values:
+ repeated_one is a value which has a 1 in every byte.
+ repeated_c has c in every byte. */
+ repeated_one = 0x01010101;
+ repeated_c = c | (c << 8);
+ repeated_c |= repeated_c << 16;
+ if (0xffffffffU < (longword) -1)
+ {
+ repeated_one |= repeated_one << 31 << 1;
+ repeated_c |= repeated_c << 31 << 1;
+ if (8 < sizeof (longword))
+ {
+ size_t i;
+
+ for (i = 64; i < sizeof (longword) * 8; i *= 2)
+ {
+ repeated_one |= repeated_one << i;
+ repeated_c |= repeated_c << i;
+ }
+ }
+ }
+
+ /* Instead of the traditional loop which tests each byte, we will
+ test a longword at a time. The tricky part is testing if *any of
+ the four* bytes in the longword in question are equal to NUL or
+ c. We first use an xor with repeated_c. This reduces the task
+ to testing whether *any of the four* bytes in longword1 or
+ longword2 is zero.
+
+ Let's consider longword1. We compute tmp =
+ ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
+ That is, we perform the following operations:
+ 1. Subtract repeated_one.
+ 2. & ~longword1.
+ 3. & a mask consisting of 0x80 in every byte.
+ Consider what happens in each byte:
+ - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
+ and step 3 transforms it into 0x80. A carry can also be propagated
+ to more significant bytes.
+ - If a byte of longword1 is nonzero, let its lowest 1 bit be at
+ position k (0 <= k <= 7); so the lowest k bits are 0. After step 1,
+ the byte ends in a single bit of value 0 and k bits of value 1.
+ After step 2, the result is just k bits of value 1: 2^k - 1. After
+ step 3, the result is 0. And no carry is produced.
+ So, if longword1 has only non-zero bytes, tmp is zero.
+ Whereas if longword1 has a zero byte, call j the position of the least
+ significant zero byte. Then the result has a zero at positions 0, ...,
+ j-1 and a 0x80 at position j. We cannot predict the result at the more
+ significant bytes (positions j+1..3), but it does not matter since we
+ already have a non-zero bit at position 8*j+7.
+
+ The test whether any byte in longword1 or longword2 is zero is equivalent
+ to testing whether tmp1 is nonzero or tmp2 is nonzero. We can combine
+ this into a single test, whether (tmp1 | tmp2) is nonzero.
+
+ This test can read more than one byte beyond the end of a string,
+ depending on where the terminating NUL is encountered. However,
+ this is considered safe since the initialization phase ensured
+ that the read will be aligned, therefore, the read will not cross
+ page boundaries and will not cause a fault. */
+
+ while (1)
+ {
+ longword longword1 = *longword_ptr ^ repeated_c;
+ longword longword2 = *longword_ptr;
+
+ if (((((longword1 - repeated_one) & ~longword1)
+ | ((longword2 - repeated_one) & ~longword2))
+ & (repeated_one << 7)) != 0)
+ break;
+ longword_ptr++;
+ }
+
+ char_ptr = (const unsigned char *) longword_ptr;
+
+ /* At this point, we know that one of the sizeof (longword) bytes
+ starting at char_ptr is == 0 or == c. On little-endian machines,
+ we could determine the first such byte without any further memory
+ accesses, just by looking at the tmp result from the last loop
+ iteration. But this does not work on big-endian machines.
+ Choose code that works in both cases. */
+
+ char_ptr = (unsigned char *) longword_ptr;
+ while (*char_ptr && (*char_ptr != c))
+ char_ptr++;
+ return (char *) char_ptr;
+}
diff --git a/lib/sh/strftime.c b/lib/sh/strftime.c
index 572baae..aa3fc85 100644
--- a/lib/sh/strftime.c
+++ b/lib/sh/strftime.c
@@ -24,9 +24,6 @@
* It also doesn't worry about multi-byte characters.
* So there.
*
- * This file is also shipped with GAWK (GNU Awk), gawk specific bits of
- * code are included if GAWK is defined.
- *
* Arnold Robbins
* January, February, March, 1991
* Updated March, April 1992
@@ -39,6 +36,8 @@
* Updated July, 1997
* Updated October, 1999
* Updated September, 2000
+ * Updated December, 2001
+ * Updated January, 2011
*
* Fixes from ado@elsie.nci.nih.gov,
* February 1991, May 1992
@@ -54,14 +53,15 @@
* July 1997
* Moved to C99 specification.
* September 2000
+ * Fixes from Tanaka Akira <akr@m17n.org>
+ * December 2001
*/
#include <config.h>
-#ifndef GAWK
#include <stdio.h>
#include <ctype.h>
#include <time.h>
-#endif
+
#if defined(TM_IN_SYS_TIME)
#include <sys/types.h>
#include <sys/time.h>
@@ -74,9 +74,7 @@
#define SUNOS_EXT 1 /* stuff in SunOS strftime routine */
#define VMS_EXT 1 /* include %v for VMS date format */
#define HPUX_EXT 1 /* non-conflicting stuff in HP-UX date */
-#ifndef GAWK
#define POSIX_SEMANTICS 1 /* call tzset() if TZ changes */
-#endif
#undef strchr /* avoid AIX weirdness */
@@ -114,6 +112,11 @@ extern int timezone, altzone;
#undef min /* just in case */
+/* format for %+ -- currently unused */
+#ifndef NATIONAL_FORMAT
+#define NATIONAL_FORMAT "%a %b %e %H:%M:%S %Z %Y"
+#endif
+
/* min --- return minimum of two numbers */
static inline int
@@ -141,7 +144,8 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
char *start = s;
auto char tbuf[100];
long off;
- int i, w, y;
+ int i, w;
+ long y;
static short first = 1;
#ifdef POSIX_SEMANTICS
static char *savetz = NULL;
@@ -282,7 +286,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
case 'C':
century:
- sprintf(tbuf, "%02d", (timeptr->tm_year + 1900) / 100);
+ sprintf(tbuf, "%02ld", (timeptr->tm_year + 1900L) / 100);
break;
case 'd': /* day of the month, 01 - 31 */
@@ -319,16 +323,16 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
*/
w = iso8601wknum(timeptr);
if (timeptr->tm_mon == 11 && w == 1)
- y = 1900 + timeptr->tm_year + 1;
+ y = 1900L + timeptr->tm_year + 1;
else if (timeptr->tm_mon == 0 && w >= 52)
- y = 1900 + timeptr->tm_year - 1;
+ y = 1900L + timeptr->tm_year - 1;
else
- y = 1900 + timeptr->tm_year;
+ y = 1900L + timeptr->tm_year;
if (*format == 'G')
- sprintf(tbuf, "%d", y);
+ sprintf(tbuf, "%ld", y);
else
- sprintf(tbuf, "%02d", y % 100);
+ sprintf(tbuf, "%02ld", y % 100);
break;
case 'h': /* abbreviated month name */
@@ -387,7 +391,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
strftime(tbuf, sizeof tbuf, "%H:%M", timeptr);
break;
-#if defined(HAVE_MKTIME) || defined(GAWK)
+#if defined(HAVE_MKTIME)
case 's': /* time as seconds since the Epoch */
{
struct tm non_const_timeptr;
@@ -396,7 +400,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
sprintf(tbuf, "%ld", mktime(& non_const_timeptr));
break;
}
-#endif /* defined(HAVE_MKTIME) || defined(GAWK) */
+#endif /* defined(HAVE_MKTIME) */
case 'S': /* second, 00 - 60 */
i = range(0, timeptr->tm_sec, 60);
@@ -452,7 +456,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
case 'Y': /* year with century */
fullyear:
- sprintf(tbuf, "%d", 1900 + timeptr->tm_year);
+ sprintf(tbuf, "%ld", 1900L + timeptr->tm_year);
break;
/*
@@ -495,6 +499,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
# ifdef HPUX
off = -timezone / 60;
# else
+ /* ADR: 4 August 2001, fixed this per gazelle@interaccess.com */
off = -(daylight ? altzone : timezone) / 60;
# endif /* !HPUX */
#else /* !HAVE_TZNAME */
@@ -509,7 +514,7 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
} else {
tbuf[0] = '+';
}
- sprintf(tbuf+1, "%02d%02d", off/60, off%60);
+ sprintf(tbuf+1, "%02ld%02ld", off/60, off%60);
break;
case 'Z': /* time zone name or abbrevation */
@@ -558,10 +563,10 @@ strftime(char *s, size_t maxsize, const char *format, const struct tm *timeptr)
#ifdef VMS_EXT
case 'v': /* date as dd-bbb-YYYY */
- sprintf(tbuf, "%2d-%3.3s-%4d",
+ sprintf(tbuf, "%2d-%3.3s-%4ld",
range(1, timeptr->tm_mday, 31),
months_a[range(0, timeptr->tm_mon, 11)],
- timeptr->tm_year + 1900);
+ timeptr->tm_year + 1900L);
for (i = 3; i < 6; i++)
if (islower(tbuf[i]))
tbuf[i] = toupper(tbuf[i]);
@@ -594,7 +599,7 @@ out:
/* isleap --- is a year a leap year? */
static int
-isleap(int year)
+isleap(long year)
{
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
@@ -677,7 +682,7 @@ iso8601wknum(const struct tm *timeptr)
dec31ly.tm_mon = 11;
dec31ly.tm_mday = 31;
dec31ly.tm_wday = (jan1day == 0) ? 6 : jan1day - 1;
- dec31ly.tm_yday = 364 + isleap(dec31ly.tm_year + 1900);
+ dec31ly.tm_yday = 364 + isleap(dec31ly.tm_year + 1900L);
weeknum = iso8601wknum(& dec31ly);
#endif
}
diff --git a/lib/sh/strtrans.c b/lib/sh/strtrans.c
index 355a306..2265782 100644
--- a/lib/sh/strtrans.c
+++ b/lib/sh/strtrans.c
@@ -1,6 +1,6 @@
/* strtrans.c - Translate and untranslate strings with ANSI-C escape sequences. */
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -51,11 +51,16 @@ ansicstr (string, len, flags, sawc, rlen)
{
int c, temp;
char *ret, *r, *s;
+ unsigned long v;
if (string == 0 || *string == '\0')
return ((char *)NULL);
+#if defined (HANDLE_MULTIBYTE)
+ ret = (char *)xmalloc (4*len + 1);
+#else
ret = (char *)xmalloc (2*len + 1); /* 2*len for possible CTLESC */
+#endif
for (r = ret, s = string; s && *s; )
{
c = *s++;
@@ -128,6 +133,29 @@ ansicstr (string, len, flags, sawc, rlen)
}
c &= 0xFF;
break;
+#if defined (HANDLE_MULTIBYTE)
+ case 'u':
+ case 'U':
+ temp = (c == 'u') ? 4 : 8; /* \uNNNN \UNNNNNNNN */
+ for (v = 0; ISXDIGIT ((unsigned char)*s) && temp--; s++)
+ v = (v * 16) + HEXVALUE (*s);
+ if (temp == ((c == 'u') ? 4 : 8))
+ {
+ *r++ = '\\'; /* c remains unchanged */
+ break;
+ }
+ else if (v <= UCHAR_MAX)
+ {
+ c = v;
+ break;
+ }
+ else
+ {
+ temp = u32cconv (v, r);
+ r += temp;
+ continue;
+ }
+#endif
case '\\':
break;
case '\'': case '"': case '?':
@@ -143,9 +171,13 @@ ansicstr (string, len, flags, sawc, rlen)
*rlen = r - ret;
return ret;
}
+ else if ((flags & 1) == 0 && *s == 0)
+ ; /* pass \c through */
else if ((flags & 1) == 0 && (c = *s))
{
s++;
+ if ((flags & 2) && c == '\\' && c == *s)
+ s++; /* Posix requires $'\c\\' do backslash escaping */
c = TOCTRL(c);
break;
}
diff --git a/lib/sh/tmpfile.c b/lib/sh/tmpfile.c
index a87c254..0bbc287 100644
--- a/lib/sh/tmpfile.c
+++ b/lib/sh/tmpfile.c
@@ -40,7 +40,7 @@
extern int errno;
#endif
-#define BASEOPENFLAGS (O_CREAT | O_TRUNC | O_EXCL)
+#define BASEOPENFLAGS (O_CREAT | O_TRUNC | O_EXCL | O_BINARY)
#define DEFAULT_TMPDIR "." /* bogus default, should be changed */
#define DEFAULT_NAMEROOT "shtmp"
diff --git a/lib/sh/unicode.c b/lib/sh/unicode.c
new file mode 100644
index 0000000..d34fa08
--- /dev/null
+++ b/lib/sh/unicode.c
@@ -0,0 +1,235 @@
+/* unicode.c - functions to convert unicode characters */
+
+/* Copyright (C) 2010 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#if defined (HANDLE_MULTIBYTE)
+
+#include <stdc.h>
+#include <wchar.h>
+#include <bashansi.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <limits.h>
+
+#if HAVE_ICONV
+# include <iconv.h>
+#endif
+
+#include <xmalloc.h>
+
+#ifndef USHORT_MAX
+# ifdef USHRT_MAX
+# define USHORT_MAX USHRT_MAX
+# else
+# define USHORT_MAX ((unsigned short) ~(unsigned short)0)
+# endif
+#endif
+
+#if !defined (STREQ)
+# define STREQ(a, b) ((a)[0] == (b)[0] && strcmp ((a), (b)) == 0)
+#endif /* !STREQ */
+
+#if defined (HAVE_LOCALE_CHARSET)
+extern const char *locale_charset __P((void));
+#else
+extern char *get_locale_var __P((char *));
+#endif
+
+static int u32init = 0;
+static int utf8locale = 0;
+#if defined (HAVE_ICONV)
+static iconv_t localconv;
+#endif
+
+#ifndef HAVE_LOCALE_CHARSET
+static char *
+stub_charset ()
+{
+ char *locale, *s, *t;
+
+ locale = get_locale_var ("LC_CTYPE");
+ if (locale == 0 || *locale == 0)
+ return "ASCII";
+ s = strrchr (locale, '.');
+ if (s)
+ {
+ t = strchr (s, '@');
+ if (t)
+ *t = 0;
+ return ++s;
+ }
+ else if (STREQ (locale, "UTF-8"))
+ return "UTF-8";
+ else
+ return "ASCII";
+}
+#endif
+
+/* u32toascii ? */
+int
+u32tochar (wc, s)
+ wchar_t wc;
+ char *s;
+{
+ unsigned long x;
+ int l;
+
+ x = wc;
+ l = (x <= UCHAR_MAX) ? 1 : ((x <= USHORT_MAX) ? 2 : 4);
+
+ if (x <= UCHAR_MAX)
+ s[0] = x & 0xFF;
+ else if (x <= USHORT_MAX) /* assume unsigned short = 16 bits */
+ {
+ s[0] = (x >> 8) & 0xFF;
+ s[1] = x & 0xFF;
+ }
+ else
+ {
+ s[0] = (x >> 24) & 0xFF;
+ s[1] = (x >> 16) & 0xFF;
+ s[2] = (x >> 8) & 0xFF;
+ s[3] = x & 0xFF;
+ }
+ s[l] = '\0';
+ return l;
+}
+
+int
+u32toutf8 (wc, s)
+ wchar_t wc;
+ char *s;
+{
+ int l;
+
+ l = (wc < 0x0080) ? 1 : ((wc < 0x0800) ? 2 : 3);
+
+ if (wc < 0x0080)
+ s[0] = (unsigned char)wc;
+ else if (wc < 0x0800)
+ {
+ s[0] = (wc >> 6) | 0xc0;
+ s[1] = (wc & 0x3f) | 0x80;
+ }
+ else
+ {
+ s[0] = (wc >> 12) | 0xe0;
+ s[1] = ((wc >> 6) & 0x3f) | 0x80;
+ s[2] = (wc & 0x3f) | 0x80;
+ }
+ s[l] = '\0';
+ return l;
+}
+
+/* convert a single unicode-32 character into a multibyte string and put the
+ result in S, which must be large enough (at least MB_LEN_MAX bytes) */
+int
+u32cconv (c, s)
+ unsigned long c;
+ char *s;
+{
+ wchar_t wc;
+ int n;
+#if HAVE_ICONV
+ const char *charset;
+ char obuf[25], *optr;
+ size_t obytesleft;
+ const char *iptr;
+ size_t sn;
+#endif
+
+ wc = c;
+
+#if __STDC_ISO_10646__
+ if (sizeof (wchar_t) == 4)
+ {
+ n = wctomb (s, wc);
+ return n;
+ }
+#endif
+
+#if HAVE_NL_LANGINFO
+ codeset = nl_langinfo (CODESET);
+ if (STREQ (codeset, "UTF-8"))
+ {
+ n = u32toutf8 (wc, s);
+ return n;
+ }
+#endif
+
+#if HAVE_ICONV
+ /* this is mostly from coreutils-8.5/lib/unicodeio.c */
+ if (u32init == 0)
+ {
+# if HAVE_LOCALE_CHARSET
+ charset = locale_charset (); /* XXX - fix later */
+# else
+ charset = stub_charset ();
+# endif
+ if (STREQ (charset, "UTF-8"))
+ utf8locale = 1;
+ else
+ {
+ localconv = iconv_open (charset, "UTF-8");
+ if (localconv == (iconv_t)-1)
+ localconv = iconv_open (charset, "ASCII");
+ }
+ u32init = 1;
+ }
+
+ if (utf8locale)
+ {
+ n = u32toutf8 (wc, s);
+ return n;
+ }
+
+ if (localconv == (iconv_t)-1)
+ {
+ n = u32tochar (wc, s);
+ return n;
+ }
+
+ n = u32toutf8 (wc, s);
+
+ optr = obuf;
+ obytesleft = sizeof (obuf);
+ iptr = s;
+ sn = n;
+
+ iconv (localconv, NULL, NULL, NULL, NULL);
+
+ if (iconv (localconv, (ICONV_CONST char **)&iptr, &sn, &optr, &obytesleft) == (size_t)-1)
+ return n; /* You get utf-8 if iconv fails */
+
+ *optr = '\0';
+
+ /* number of chars to be copied is optr - obuf if we want to do bounds
+ checking */
+ strcpy (s, obuf);
+ return (optr - obuf);
+#endif
+
+ n = u32tochar (wc, s); /* fallback */
+ return n;
+}
+
+#endif /* HANDLE_MULTIBYTE */
diff --git a/lib/sh/wcswidth.c b/lib/sh/wcswidth.c
new file mode 100644
index 0000000..1a30d9f
--- /dev/null
+++ b/lib/sh/wcswidth.c
@@ -0,0 +1,46 @@
+/* wcswidth.c - compute display width of wide character string */
+
+/* Copyright (C) 2010 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bash is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bash. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <config.h>
+
+#if defined (HANDLE_MULTIBYTE) && !defined (HAVE_WCSWIDTH)
+
+#include <stdc.h>
+#include <wchar.h>
+#include <bashansi.h>
+
+int
+wcswidth(pwcs, n)
+ const wchar_t *pwcs;
+ size_t n;
+{
+ wchar_t wc;
+ int len, l;
+
+ len = 0;
+ while (n-- > 0 && (wc = *pwcs++) != L'\0')
+ {
+ if ((l = wcwidth(wc)) < 0)
+ return (-1);
+ len += l;
+ }
+ return (len);
+}
+#endif
diff --git a/lib/tilde/tilde.c b/lib/tilde/tilde.c
index 088ff15..1c53a45 100644
--- a/lib/tilde/tilde.c
+++ b/lib/tilde/tilde.c
@@ -378,7 +378,7 @@ tilde_expand_word (filename)
{
dirname = glue_prefix_and_suffix (expansion, filename, user_len);
xfree (username);
- free (expansion);
+ xfree (expansion);
return (dirname);
}
}
@@ -401,7 +401,7 @@ tilde_expand_word (filename)
if (expansion)
{
dirname = glue_prefix_and_suffix (expansion, filename, user_len);
- free (expansion);
+ xfree (expansion);
}
}
/* If we don't have a failure hook, or if the failure hook did not
diff --git a/locale.c b/locale.c
index 2f2e9fc..722a707 100644
--- a/locale.c
+++ b/locale.c
@@ -297,7 +297,7 @@ get_locale_var (var)
locale = lc_all;
if (locale == 0 || *locale == 0)
- locale = get_string_value (var);
+ locale = get_string_value (var); /* XXX - mem leak? */
if (locale == 0 || *locale == 0)
locale = lang;
if (locale == 0 || *locale == 0)
diff --git a/nojobs.c b/nojobs.c
index b73e3d6..d43d1d4 100644
--- a/nojobs.c
+++ b/nojobs.c
@@ -927,6 +927,11 @@ describe_pid (pid)
}
void
+freeze_jobs_list ()
+{
+}
+
+void
unfreeze_jobs_list ()
{
}
diff --git a/parse.y b/parse.y
index 2b47ff8..b5c94e7 100644
--- a/parse.y
+++ b/parse.y
@@ -1,6 +1,6 @@
/* parse.y - Yacc grammar for bash. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -250,6 +250,9 @@ int extended_quote = 1;
/* The number of lines read from input while creating the current command. */
int current_command_line_count;
+/* The number of lines in a command saved while we run parse_and_execute */
+int saved_command_line_count;
+
/* The token that currently denotes the end of parse. */
int shell_eof_token;
@@ -333,7 +336,7 @@ static REDIRECTEE redir;
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
+%token IN BANG TIME TIMEOPT TIMEIGN
/* More general tokens. yylex () knows how to make these. */
%token <word> WORD ASSIGNMENT_WORD REDIR_WORD
@@ -1186,31 +1189,19 @@ simple_list1: simple_list1 AND_AND newline_list simple_list1
;
pipeline_command: pipeline
- { $$ = $1; }
- | BANG pipeline
+ { $$ = $1; }
+ | BANG pipeline_command
{
if ($2)
- $2->flags |= CMD_INVERT_RETURN;
+ $2->flags ^= CMD_INVERT_RETURN; /* toggle */
$$ = $2;
}
- | timespec pipeline
+ | timespec pipeline_command
{
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;
@@ -1228,7 +1219,24 @@ pipeline_command: pipeline
if ($2 == '\n')
token_to_read = '\n';
}
-
+ | BANG list_terminator
+ {
+ ELEMENT x;
+
+ /* This is just as unclean. Posix says that `!'
+ by itself should be equivalent to `false'.
+ We cheat and push a
+ newline back if the list_terminator was a newline
+ to avoid the double-newline problem (one to
+ terminate this, one to terminate the command) */
+ x.word = 0;
+ x.redirect = 0;
+ $$ = make_simple_command (x, (COMMAND *)NULL);
+ $$->flags |= CMD_INVERT_RETURN;
+ /* XXX - let's cheat and push a newline back */
+ if ($2 == '\n')
+ token_to_read = '\n';
+ }
;
pipeline: pipeline '|' newline_list pipeline
@@ -1264,6 +1272,8 @@ timespec: TIME
{ $$ = CMD_TIME_PIPELINE; }
| TIME TIMEOPT
{ $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ | TIME TIMEOPT TIMEIGN
+ { $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
;
%%
@@ -1422,11 +1432,11 @@ yy_readline_get ()
give_terminal_to (shell_pgrp, 0);
#endif /* JOB_CONTROL */
- old_sigint = (SigHandler *)NULL;
+ old_sigint = (SigHandler *)IMPOSSIBLE_TRAP_HANDLER;
if (signal_is_ignored (SIGINT) == 0)
{
- old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
interrupt_immediately++;
+ old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
}
terminate_immediately = 1;
@@ -1434,10 +1444,11 @@ yy_readline_get ()
current_readline_prompt : "");
terminate_immediately = 0;
- if (signal_is_ignored (SIGINT) == 0 && old_sigint)
+ if (signal_is_ignored (SIGINT) == 0)
{
interrupt_immediately--;
- set_signal_handler (SIGINT, old_sigint);
+ if (old_sigint != IMPOSSIBLE_TRAP_HANDLER)
+ set_signal_handler (SIGINT, old_sigint);
}
#if 0
@@ -1636,6 +1647,9 @@ typedef struct stream_saver {
/* The globally known line number. */
int line_number = 0;
+/* The line number offset set by assigning to LINENO. Not currently used. */
+int line_number_base = 0;
+
#if defined (COND_COMMAND)
static int cond_lineno;
static int cond_token;
@@ -1957,6 +1971,7 @@ read_a_line (remove_quoted_newline)
}
else if (c == '\\' && remove_quoted_newline)
{
+ QUIT;
peekc = yy_getc ();
if (peekc == '\n')
{
@@ -2058,6 +2073,7 @@ STRING_INT_ALIST word_token_alist[] = {
/* other tokens that can be returned by read_token() */
STRING_INT_ALIST other_token_alist[] = {
/* Multiple-character tokens with special values */
+ { "--", TIMEIGN },
{ "-p", TIMEOPT },
{ "&&", AND_AND },
{ "||", OR_OR },
@@ -2278,7 +2294,7 @@ shell_getc (remove_quoted_newline)
shell_input_line = expansions;
shell_input_line_len = shell_input_line ?
strlen (shell_input_line) : 0;
- if (!shell_input_line_len)
+ if (shell_input_line_len == 0)
current_command_line_count--;
/* We have to force the xrealloc below because we don't know
@@ -2303,7 +2319,7 @@ shell_getc (remove_quoted_newline)
else
{
char *hdcs;
- hdcs = history_delimiting_chars ();
+ hdcs = history_delimiting_chars (shell_input_line);
if (hdcs && hdcs[0] == ';')
maybe_add_history (shell_input_line);
}
@@ -2343,6 +2359,7 @@ shell_getc (remove_quoted_newline)
}
}
+next_alias_char:
uc = shell_input_line[shell_input_line_index];
if (uc)
@@ -2355,7 +2372,7 @@ shell_getc (remove_quoted_newline)
Do it transparently; just return the next character of the string popped
to. */
pop_alias:
- if (!uc && (pushed_string_list != (STRING_SAVER *)NULL))
+ if (uc == 0 && (pushed_string_list != (STRING_SAVER *)NULL))
{
pop_string ();
uc = shell_input_line[shell_input_line_index];
@@ -2369,21 +2386,28 @@ pop_alias:
if (SHOULD_PROMPT ())
prompt_again ();
line_number++;
- /* XXX - what do we do here if we're expanding an alias whose definition
- ends with a newline? Recall that we inhibit the appending of a
- space in mk_alexpansion() if newline is the last character. */
-#if 0 /* XXX - bash-4.2 (jonathan@claggett.org) */
+ /* What do we do here if we're expanding an alias whose definition
+ includes an escaped newline? If that's the last character in the
+ alias expansion, we just pop the pushed string list (recall that
+ we inhibit the appending of a space in mk_alexpansion() if newline
+ is the last character). If it's not the last character, we need
+ to consume the quoted newline and move to the next character in
+ the expansion. */
if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
{
uc = 0;
goto pop_alias;
}
-#endif
-
- goto restart_read;
+ else if (expanding_alias () && shell_input_line[shell_input_line_index+1] != '\0')
+ {
+ shell_input_line_index++; /* skip newline */
+ goto next_alias_char; /* and get next character */
+ }
+ else
+ goto restart_read;
}
- if (!uc && shell_input_line_terminator == EOF)
+ if (uc == 0 && shell_input_line_terminator == EOF)
return ((shell_input_line_index != 0) ? '\n' : EOF);
return (uc);
@@ -2590,11 +2614,9 @@ mk_alexpansion (s)
l = strlen (s);
r = xmalloc (l + 2);
strcpy (r, s);
-#if 0 /* XXX - bash-4.2 */
- if (r[l -1] != ' ' && r[l -1] != '\n')
-#else
- if (r[l -1] != ' ')
-#endif
+ /* If the last character in the alias is a newline, don't add a trailing
+ space to the expansion. Works with shell_getc above. */
+ if (r[l - 1] != ' ' && r[l - 1] != '\n')
r[l++] = ' ';
r[l] = '\0';
return r;
@@ -2639,6 +2661,20 @@ static int
time_command_acceptable ()
{
#if defined (COMMAND_TIMING)
+ int i;
+
+ if (posixly_correct && shell_compatibility_level > 41)
+ {
+ /* Quick check of the rest of the line to find the next token. If it
+ begins with a `-', Posix says to not return `time' as the token.
+ This was interp 267. */
+ i = shell_input_line_index;
+ while (i < shell_input_line_len && (shell_input_line[i] == ' ' || shell_input_line[i] == '\t'))
+ i++;
+ if (shell_input_line[i] == '-')
+ return 0;
+ }
+
switch (last_read_token)
{
case 0:
@@ -2652,6 +2688,10 @@ time_command_acceptable ()
case ELSE:
case '{': /* } */
case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+ case TIMEOPT: /* time -p time pipeline */
+ case TIMEIGN: /* time -p -- ... */
return 1;
default:
return 0;
@@ -2678,6 +2718,7 @@ time_command_acceptable ()
`}' is recognized if there is an unclosed `{' present.
`-p' is returned as TIMEOPT if the last read token was TIME.
+ `--' is returned as TIMEIGN if the last read token was TIMEOPT.
']]' is returned as COND_END if the parser is currently parsing
a conditional expression ((parser_state & PST_CONDEXPR) != 0)
@@ -2763,13 +2804,9 @@ special_case_tokens (tokstr)
/* 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 */
+ /* Handle -- after `time -p'. */
+ if (last_read_token == TIMEOPT && tokstr[0] == '-' && tokstr[1] == '-' && !tokstr[2])
+ return (TIMEIGN);
#endif
#if defined (COND_COMMAND) /* [[ */
@@ -3054,12 +3091,13 @@ tokword:
* 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 */
+#define P_FIRSTCLOSE 0x0001
+#define P_ALLOWESC 0x0002
+#define P_DQUOTE 0x0004
+#define P_COMMAND 0x0008 /* parsing a command, so look for comments */
+#define P_BACKQUOTE 0x0010 /* parsing a backquoted command substitution */
+#define P_ARRAYSUB 0x0020 /* parsing a [...] array subscript for assignment */
+#define P_DOLBRACE 0x0040 /* parsing a ${...} construct */
/* Lexical state while parsing a grouping construct or $(...). */
#define LEX_WASDOL 0x001
@@ -3107,6 +3145,9 @@ parse_matched_pair (qc, open, close, lenp, flags)
int nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
+ int dolbrace_state;
+
+ dolbrace_state = (flags & P_DOLBRACE) ? DOLBRACE_PARAM : 0;
/*itrace("parse_matched_pair[%d]: open = %c close = %c flags = %d", line_number, open, close, flags);*/
count = 1;
@@ -3124,7 +3165,7 @@ parse_matched_pair (qc, open, close, lenp, flags)
start_lineno = line_number;
while (count)
{
- ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+ ch = shell_getc (qc != '\'' && (tflags & (LEX_PASSNEXT)) == 0);
if (ch == EOF)
{
@@ -3217,14 +3258,42 @@ parse_matched_pair (qc, open, close, lenp, flags)
if MBTEST(ch == '\\') /* backslashes */
tflags |= LEX_PASSNEXT;
-#if 0
+ /* Based on which dolstate is currently in (param, op, or word),
+ decide what the op is. We're really only concerned if it's % or
+ #, so we can turn on a flag that says whether or not we should
+ treat single quotes as special when inside a double-quoted
+ ${...}. This logic must agree with subst.c:extract_dollar_brace_string
+ since they share the same defines. */
+ if (flags & P_DOLBRACE)
+ {
+ /* ${param%[%]word} */
+ if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '%' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param#[#]word} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '#' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param/[/]pat/rep} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '/' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param^[^]pat} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '^' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param,[,]pat} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == ',' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && strchr ("#%^,~:-=?+/", ch) != 0)
+ dolbrace_state = DOLBRACE_OP;
+ else if MBTEST(dolbrace_state == DOLBRACE_OP && strchr ("#%^,~:-=?+/", ch) == 0)
+ dolbrace_state = DOLBRACE_WORD;
+ }
+
/* The big hammer. Single quotes aren't special in double quotes. The
- problem is that Posix says the single quotes are semi-special:
+ problem is that Posix used to say the single quotes are semi-special:
within a double-quoted ${...} construct "an even number of
unescaped double-quotes or single-quotes, if any, shall occur." */
- if MBTEST(open == '{' && (flags & P_DQUOTE) && ch == '\'') /* } */
+ /* This was changed in Austin Group Interp 221 */
+ if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
continue;
-#endif
/* Could also check open == '`' if we want to parse grouping constructs
inside old-style command substitution. */
@@ -3299,7 +3368,7 @@ parse_dollar_word:
if (ch == '(') /* ) */
nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
else if (ch == '[') /* ] */
nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
@@ -3334,6 +3403,13 @@ parse_comsub (qc, open, close, lenp, flags)
char *ret, *nestret, *ttrans, *heredelim;
int retind, retsize, rflags, hdlen;
+ /* Posix interp 217 says arithmetic expressions have precedence, so
+ assume $(( introduces arithmetic expansion and parse accordingly. */
+ peekc = shell_getc (0);
+ shell_ungetc (peekc);
+ if (peekc == '(')
+ return (parse_matched_pair (qc, open, close, lenp, 0));
+
/*itrace("parse_comsub: qc = `%c' open = %c close = %c", qc, open, close);*/
count = 1;
tflags = LEX_RESWDOK;
@@ -3358,7 +3434,7 @@ parse_comsub (qc, open, close, lenp, flags)
while (count)
{
comsub_readchar:
- ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+ ch = shell_getc (qc != '\'' && (tflags & (LEX_INCOMMENT|LEX_PASSNEXT)) == 0);
if (ch == EOF)
{
@@ -3482,7 +3558,7 @@ eof_error:
}
/* Skip whitespace */
- if MBTEST(shellblank (ch) && lex_rwlen == 0)
+ if MBTEST(shellblank (ch) && (tflags & LEX_HEREDELIM) == 0 && lex_rwlen == 0)
{
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
@@ -3734,7 +3810,7 @@ eof_error:
if (ch == '(') /* ) */
nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
else if (ch == '[') /* ] */
nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
@@ -3757,8 +3833,7 @@ eof_error:
return ret;
}
-/* XXX - this needs to handle functionality like subst.c:no_longjmp_on_fatal_error;
- maybe extract_command_subst should handle it. */
+/* Recursively call the parser to parse a $(...) command substitution. */
char *
xparse_dolparen (base, string, indp, flags)
char *base;
@@ -4382,7 +4457,7 @@ read_token_word (character)
((peek_char == '{' || peek_char == '[') && character == '$')) /* ) ] } */
{
if (peek_char == '{') /* } */
- ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE);
+ ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE|P_DOLBRACE);
else if (peek_char == '(') /* ) */
{
/* XXX - push and pop the `(' as a delimiter for use by
@@ -4717,6 +4792,7 @@ reserved_word_acceptable (toksym)
case THEN:
case TIME:
case TIMEOPT:
+ case TIMEIGN:
case COPROC:
case UNTIL:
case WHILE:
@@ -4727,6 +4803,8 @@ reserved_word_acceptable (toksym)
if (last_read_token == WORD && token_before_that == COPROC)
return 1;
#endif
+ if (last_read_token == WORD && token_before_that == FUNCTION)
+ return 1;
return 0;
}
}
@@ -4787,20 +4865,35 @@ static const int no_semi_successors[] = {
/* 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. */
+ history entry. LINE is the line we're about to add; it helps
+ make some more intelligent decisions in certain cases. */
char *
-history_delimiting_chars ()
+history_delimiting_chars (line)
+ const char *line;
{
+ static int last_was_heredoc = 0; /* was the last entry the start of a here document? */
register int i;
+ if ((parser_state & PST_HEREDOC) == 0)
+ last_was_heredoc = 0;
+
if (dstack.delimiter_depth != 0)
return ("\n");
/* We look for current_command_line_count == 2 because we are looking to
add the first line of the body of the here document (the second line
- of the command). */
+ of the command). We also keep LAST_WAS_HEREDOC as a private sentinel
+ variable to note when we think we added the first line of a here doc
+ (the one with a "<<" somewhere in it) */
if (parser_state & PST_HEREDOC)
- return (current_command_line_count == 2 ? "\n" : "");
+ {
+ if (last_was_heredoc)
+ {
+ last_was_heredoc = 0;
+ return "\n";
+ }
+ return (current_command_line_count == 2 ? "\n" : "");
+ }
/* First, handle some special cases. */
/*(*/
@@ -4823,6 +4916,15 @@ history_delimiting_chars ()
else if (token_before_that == WORD && two_tokens_ago == FUNCTION)
return " "; /* function def using `function name' without `()' */
+ /* If we're not in a here document, but we think we're about to parse one,
+ and we would otherwise return a `;', return a newline to delimit the
+ line with the here-doc delimiter */
+ else if ((parser_state & PST_HEREDOC) == 0 && current_command_line_count > 1 && last_read_token == '\n' && strstr (line, "<<"))
+ {
+ last_was_heredoc = 1;
+ return "\n";
+ }
+
else if (token_before_that == WORD && two_tokens_ago == FOR)
{
/* Tricky. `for i\nin ...' should not have a semicolon, but
@@ -5152,7 +5254,7 @@ decode_prompt_string (string)
{
t = strrchr (t_string, '/');
if (t)
- strcpy (t_string, t + 1);
+ memmove (t_string, t + 1, strlen (t)); /* strlen(t) to copy NULL */
}
}
#undef ROOT_PATH
@@ -5439,7 +5541,7 @@ static void
report_syntax_error (message)
char *message;
{
- char *msg;
+ char *msg, *p;
if (message)
{
@@ -5455,6 +5557,12 @@ report_syntax_error (message)
parser's complaining about by looking at current_token. */
if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token)))
{
+ if (ansic_shouldquote (msg))
+ {
+ p = ansic_quote (msg, 0, NULL);
+ free (msg);
+ msg = p;
+ }
parser_error (line_number, _("syntax error near unexpected token `%s'"), msg);
free (msg);
@@ -5764,10 +5872,6 @@ 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)
@@ -5779,6 +5883,8 @@ save_parser_state (ps)
ps->input_line_terminator = shell_input_line_terminator;
ps->eof_encountered = eof_encountered;
+ ps->prompt_string_pointer = prompt_string_pointer;
+
ps->current_command_line_count = current_command_line_count;
#if defined (HISTORY)
@@ -5790,11 +5896,7 @@ save_parser_state (ps)
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;
+ ps->pipestatus = save_pipestatus_array ();
#endif
ps->last_shell_builtin = last_shell_builtin;
@@ -5810,10 +5912,6 @@ void
restore_parser_state (ps)
sh_parser_state_t *ps;
{
-#if defined (ARRAY_VARS)
- SHELL_VAR *v;
-#endif
-
if (ps == 0)
return;
@@ -5827,6 +5925,8 @@ restore_parser_state (ps)
shell_input_line_terminator = ps->input_line_terminator;
eof_encountered = ps->eof_encountered;
+ prompt_string_pointer = ps->prompt_string_pointer;
+
current_command_line_count = ps->current_command_line_count;
#if defined (HISTORY)
@@ -5838,12 +5938,7 @@ restore_parser_state (ps)
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);
- }
+ restore_pipestatus_array (ps->pipestatus);
#endif
last_shell_builtin = ps->last_shell_builtin;
diff --git a/parser-built b/parser-built
index 13e8550..0de3853 100644
--- a/parser-built
+++ b/parser-built
@@ -61,30 +61,31 @@
BANG = 277,
TIME = 278,
TIMEOPT = 279,
- WORD = 280,
- ASSIGNMENT_WORD = 281,
- REDIR_WORD = 282,
- NUMBER = 283,
- ARITH_CMD = 284,
- ARITH_FOR_EXPRS = 285,
- COND_CMD = 286,
- AND_AND = 287,
- OR_OR = 288,
- GREATER_GREATER = 289,
- LESS_LESS = 290,
- LESS_AND = 291,
- LESS_LESS_LESS = 292,
- GREATER_AND = 293,
- SEMI_SEMI = 294,
- SEMI_AND = 295,
- SEMI_SEMI_AND = 296,
- LESS_LESS_MINUS = 297,
- AND_GREATER = 298,
- AND_GREATER_GREATER = 299,
- LESS_GREATER = 300,
- GREATER_BAR = 301,
- BAR_AND = 302,
- yacc_EOF = 303
+ TIMEIGN = 280,
+ WORD = 281,
+ ASSIGNMENT_WORD = 282,
+ REDIR_WORD = 283,
+ NUMBER = 284,
+ ARITH_CMD = 285,
+ ARITH_FOR_EXPRS = 286,
+ COND_CMD = 287,
+ AND_AND = 288,
+ OR_OR = 289,
+ GREATER_GREATER = 290,
+ LESS_LESS = 291,
+ LESS_AND = 292,
+ LESS_LESS_LESS = 293,
+ GREATER_AND = 294,
+ SEMI_SEMI = 295,
+ SEMI_AND = 296,
+ SEMI_SEMI_AND = 297,
+ LESS_LESS_MINUS = 298,
+ AND_GREATER = 299,
+ AND_GREATER_GREATER = 300,
+ LESS_GREATER = 301,
+ GREATER_BAR = 302,
+ BAR_AND = 303,
+ yacc_EOF = 304
};
#endif
/* Tokens. */
@@ -110,37 +111,38 @@
#define BANG 277
#define TIME 278
#define TIMEOPT 279
-#define WORD 280
-#define ASSIGNMENT_WORD 281
-#define REDIR_WORD 282
-#define NUMBER 283
-#define ARITH_CMD 284
-#define ARITH_FOR_EXPRS 285
-#define COND_CMD 286
-#define AND_AND 287
-#define OR_OR 288
-#define GREATER_GREATER 289
-#define LESS_LESS 290
-#define LESS_AND 291
-#define LESS_LESS_LESS 292
-#define GREATER_AND 293
-#define SEMI_SEMI 294
-#define SEMI_AND 295
-#define SEMI_SEMI_AND 296
-#define LESS_LESS_MINUS 297
-#define AND_GREATER 298
-#define AND_GREATER_GREATER 299
-#define LESS_GREATER 300
-#define GREATER_BAR 301
-#define BAR_AND 302
-#define yacc_EOF 303
+#define TIMEIGN 280
+#define WORD 281
+#define ASSIGNMENT_WORD 282
+#define REDIR_WORD 283
+#define NUMBER 284
+#define ARITH_CMD 285
+#define ARITH_FOR_EXPRS 286
+#define COND_CMD 287
+#define AND_AND 288
+#define OR_OR 289
+#define GREATER_GREATER 290
+#define LESS_LESS 291
+#define LESS_AND 292
+#define LESS_LESS_LESS 293
+#define GREATER_AND 294
+#define SEMI_SEMI 295
+#define SEMI_AND 296
+#define SEMI_SEMI_AND 297
+#define LESS_LESS_MINUS 298
+#define AND_GREATER 299
+#define AND_GREATER_GREATER 300
+#define LESS_GREATER 301
+#define GREATER_BAR 302
+#define BAR_AND 303
+#define yacc_EOF 304
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 320 "/Users/chet/src/bash/src/parse.y"
+#line 323 "/Users/chet/src/bash/src/parse.y"
{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -151,7 +153,7 @@ typedef union YYSTYPE
PATTERN_LIST *pattern;
}
/* Line 1489 of yacc.c. */
-#line 155 "y.tab.h"
+#line 157 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
diff --git a/parser.h b/parser.h
index 9ff6576..5078456 100644
--- a/parser.h
+++ b/parser.h
@@ -1,7 +1,7 @@
/* parser.h -- Everything you wanted to know about the parser, but were
afraid to ask. */
-/* Copyright (C) 1995, 2008,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -36,7 +36,7 @@
#define PST_CASESTMT 0x000080 /* parsing a case statement */
#define PST_CONDCMD 0x000100 /* parsing a [[...]] command */
#define PST_CONDEXPR 0x000200 /* parsing the guts of [[...]] */
-#define PST_ARITHFOR 0x000400 /* parsing an arithmetic for command */
+#define PST_ARITHFOR 0x000400 /* parsing an arithmetic for command - unused */
#define PST_ALEXPAND 0x000800 /* OK to expand aliases - unused */
#define PST_EXTPAT 0x001000 /* parsing an extended shell pattern */
#define PST_COMPASSIGN 0x002000 /* parsing x=(...) compound assignment */
@@ -61,4 +61,12 @@ struct dstack {
int delimiter_space;
};
+/* States we can be in while scanning a ${...} expansion. Shared between
+ parse.y and subst.c */
+#define DOLBRACE_PARAM 0x01
+#define DOLBRACE_OP 0x02
+#define DOLBRACE_WORD 0x04
+
+#define DOLBRACE_QUOTE 0x40
+
#endif /* _PARSER_H_ */
diff --git a/patchlevel.h b/patchlevel.h
index eab75cf..85940d0 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -1,6 +1,6 @@
/* patchlevel.h -- current bash patch level */
-/* Copyright (C) 2001-2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 7
+#define PATCHLEVEL 0
#endif /* _PATCHLEVEL_H_ */
diff --git a/patchlevel.h.rej b/patchlevel.h.rej
new file mode 100644
index 0000000..91c9ff8
--- /dev/null
+++ b/patchlevel.h.rej
@@ -0,0 +1,13 @@
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 36
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/patchlevel.h~ b/patchlevel.h~
new file mode 100644
index 0000000..aaa6ff6
--- /dev/null
+++ b/patchlevel.h~
@@ -0,0 +1,30 @@
+/* patchlevel.h -- current bash patch level */
+
+/* Copyright (C) 2001-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/>.
+*/
+
+#if !defined (_PATCHLEVEL_H_)
+#define _PATCHLEVEL_H_
+
+/* It's important that there be no other strings in this file that match the
+ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
+ looks for to find the patch level (for the sccs version string). */
+
+#define PATCHLEVEL 37
+
+#endif /* _PATCHLEVEL_H_ */
diff --git a/pathexp.c b/pathexp.c
index 851ab8f..42f21e4 100644
--- a/pathexp.c
+++ b/pathexp.c
@@ -40,6 +40,7 @@
static int glob_name_is_acceptable __P((const char *));
static void ignore_globbed_names __P((char **, sh_ignore_func_t *));
+static char *split_ignorespec __P((char *, int *));
#if defined (USE_POSIX_GLOB_LIBRARY)
# include <glob.h>
@@ -428,6 +429,30 @@ ignore_glob_matches (names)
ignore_globbed_names (names, glob_name_is_acceptable);
}
+static char *
+split_ignorespec (s, ip)
+ char *s;
+ int *ip;
+{
+ char *t;
+ int n, i;
+
+ if (s == 0)
+ return 0;
+
+ i = *ip;
+ if (s[i] == 0)
+ return 0;
+
+ n = skip_to_delim (s, i, ":", SD_NOJMP|SD_EXTGLOB);
+ t = substring (s, i, n);
+
+ if (s[n] == ':')
+ n++;
+ *ip = n;
+ return t;
+}
+
void
setup_ignore_patterns (ivp)
struct ignorevar *ivp;
@@ -467,7 +492,11 @@ setup_ignore_patterns (ivp)
numitems = maxitems = ptr = 0;
+#if 0
while (colon_bit = extract_colon_unit (this_ignoreval, &ptr))
+#else
+ while (colon_bit = split_ignorespec (this_ignoreval, &ptr))
+#endif
{
if (numitems + 1 >= maxitems)
{
diff --git a/pcomplete.h b/pcomplete.h
index dacbcef..6c1a664 100644
--- a/pcomplete.h
+++ b/pcomplete.h
@@ -35,6 +35,7 @@ typedef struct compspec {
char *suffix;
char *funcname;
char *command;
+ char *lcommand;
char *filterpat;
} COMPSPEC;
diff --git a/pcomplib.c b/pcomplib.c
index fc4fbe4..fe337e4 100644
--- a/pcomplib.c
+++ b/pcomplib.c
@@ -62,6 +62,7 @@ compspec_create ()
ret->suffix = (char *)NULL;
ret->funcname = (char *)NULL;
ret->command = (char *)NULL;
+ ret->lcommand = (char *)NULL;
ret->filterpat = (char *)NULL;
return ret;
@@ -80,6 +81,7 @@ compspec_dispose (cs)
FREE (cs->suffix);
FREE (cs->funcname);
FREE (cs->command);
+ FREE (cs->lcommand);
FREE (cs->filterpat);
free (cs);
@@ -104,6 +106,7 @@ compspec_copy (cs)
new->suffix = STRDUP (cs->suffix);
new->funcname = STRDUP (cs->funcname);
new->command = STRDUP (cs->command);
+ new->lcommand = STRDUP (cs->lcommand);
new->filterpat = STRDUP (cs->filterpat);
return new;
diff --git a/po/LINGUAS b/po/LINGUAS
index 9ab66f1..1d48d09 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,2 @@
# Set of available languages.
-en@quot en@boldquot af bg ca cs de eo es et fi fr ga hu id ja lt nl pl pt_BR ro ru sk sv tr vi zh_TW
+en@quot en@boldquot af bg ca cs de eo es et fi fr ga hu id ja lt nl pl pt_BR ro ru sk sv tr uk vi zh_CN zh_TW
diff --git a/po/af.gmo b/po/af.gmo
index bf7d956..338cbdd 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 1ae2aa3..a15e987 100644
--- a/po/af.po
+++ b/po/af.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 2.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2004-03-17 13:48+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "Os/2 Biskaart Skikking"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -39,26 +39,26 @@ msgstr ""
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: kan nie %s skep nie"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -118,26 +118,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr ""
@@ -156,12 +141,12 @@ msgstr "besig om te skryf"
msgid "%s: usage: "
msgstr ""
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
#, fuzzy
msgid "too many arguments"
msgstr "te veel parameters"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, fuzzy, c-format
msgid "%s: option requires an argument"
msgstr "%s: option `%s' requires an argument\n"
@@ -201,7 +186,7 @@ msgstr "Die sein nommer wat was gevang het"
msgid "invalid hex number"
msgstr "Die sein nommer wat was gevang het"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
#, fuzzy
msgid "invalid number"
msgstr "Die sein nommer wat was gevang het"
@@ -316,25 +301,25 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr ""
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: leesalleen-funksie"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, fuzzy, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "Kan nie soek 'n handtekening in hierdie boodskap!"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -363,29 +348,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr "%s: kan nie %s skep nie"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: is 'n gids"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, fuzzy, c-format
msgid "%s: not a regular file"
msgstr "%s: kan nie 'n binêre lêer uitvoer nie"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: kan nie 'n binêre lêer uitvoer nie"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, fuzzy, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: kan nie %s skep nie"
@@ -414,11 +399,11 @@ msgstr ""
msgid "no command found"
msgstr "%s: bevel nie gevind nie"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, fuzzy, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: kan nie %s skep nie"
@@ -451,7 +436,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "Bevelreël"
@@ -508,79 +493,89 @@ msgstr "%s: heelgetal-uitdrukking is verwag\n"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
#, fuzzy
msgid "Unknown error"
msgstr "Onbekende fout %d"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
#, fuzzy
msgid "expression expected"
msgstr "Bools uitdrukking verwag"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "Veranderlike boom"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: illegal option -- %c\n"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: illegal option -- %c\n"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "Die sein nommer wat was gevang het"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "Veranderlike boom"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: illegal option -- %c\n"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr ""
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
#, fuzzy
msgid "no other directory"
@@ -684,21 +679,21 @@ msgstr "pypfout: %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
-#: builtins/set.def:805
+#: builtins/set.def:808
#, fuzzy, c-format
msgid "%s: cannot unset"
msgstr "%s: kan nie %s skep nie"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, fuzzy, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: kan nie %s skep nie"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, fuzzy, c-format
msgid "%s: not an array variable"
msgstr "Veranderlike boom"
@@ -713,20 +708,20 @@ msgstr "%s: leesalleen-funksie"
msgid "shift count"
msgstr "Shift"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, fuzzy, c-format
msgid "%s: file not found"
msgstr "%s: bevel nie gevind nie"
@@ -770,27 +765,27 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, fuzzy, c-format
msgid "`%c': bad command"
msgstr "%s: illegal option -- %c\n"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, fuzzy, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: kan nie %s skep nie"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
#, fuzzy
msgid "limit"
msgstr "Filter beperk:"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, fuzzy, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: kan nie %s skep nie"
@@ -851,114 +846,119 @@ msgstr "Veranderlike boom"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "pypfout: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: bevel nie gevind nie"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, fuzzy, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: is 'n gids"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, fuzzy, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "kan nie fd %d na fd 0 dupliseer nie: %s"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr ""
-#: expr.c:265
+#: expr.c:280
#, fuzzy
msgid "recursion stack underflow"
msgstr "Stapel grootte verhoog"
-#: expr.c:379
+#: expr.c:422
#, fuzzy
msgid "syntax error in expression"
msgstr "Sintaks fout in patroon"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr ""
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
#, fuzzy
msgid "division by 0"
msgstr "devisie by nul."
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr ""
-#: expr.c:513
+#: expr.c:564
#, fuzzy
msgid "`:' expected for conditional expression"
msgstr "Soek die lêer vir 'n uitdrukking"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
#, fuzzy
msgid "missing `)'"
msgstr "Ontbrekende '>'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
#, fuzzy
msgid "syntax error: operand expected"
msgstr "Onverwagte einde van lêer tydens inlees van hulpbron."
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, fuzzy, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
"Hierdie is die fout boodskap van %1:\n"
"%2"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "waarde te groot vir basis"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: heelgetal-uitdrukking is verwag\n"
@@ -968,167 +968,167 @@ msgstr "%s: heelgetal-uitdrukking is verwag\n"
msgid "getcwd: cannot access parent directories"
msgstr "Kan nie die program uitvoer nie:"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "kan nie fd %d na fd 0 dupliseer nie: %s"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, fuzzy, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "E108: Geen veranderlike: \"%s\""
-#: jobs.c:1416
+#: jobs.c:1445
#, fuzzy, c-format
msgid "Signal %d"
msgstr "Sein kwaliteit:"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Klaar"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
#, fuzzy
msgid "Stopped"
msgstr "Op gehou"
-#: jobs.c:1439
+#: jobs.c:1468
#, fuzzy, c-format
msgid "Stopped(%s)"
msgstr "Op gehou"
-#: jobs.c:1443
+#: jobs.c:1472
#, fuzzy
msgid "Running"
msgstr "aktief"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Klaar(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Verlaat %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Onbekende status"
-#: jobs.c:1549
+#: jobs.c:1578
#, fuzzy, c-format
msgid "(core dumped) "
msgstr "Kern Ontwikkelaar"
-#: jobs.c:1568
+#: jobs.c:1597
#, fuzzy, c-format
msgid " (wd: %s)"
msgstr "Aktiveer nou dadelik"
-#: jobs.c:1776
+#: jobs.c:1805
#, fuzzy, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "Fout in die skryf van %s"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, fuzzy, c-format
msgid "%s: job has terminated"
msgstr "Die bediener beëindig Die verbinding."
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "3d modus"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, fuzzy, c-format
msgid " (core dumped)"
msgstr "Kern Ontwikkelaar"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, fuzzy, c-format
msgid "(wd now: %s)\n"
msgstr "Aktiveer nou dadelik"
-#: jobs.c:3579
+#: jobs.c:3609
#, fuzzy
msgid "initialize_job_control: getpgrp failed"
msgstr "Inisialisering van OpenGL het misluk."
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
#, fuzzy
msgid "initialize_job_control: setpgid"
msgstr "Inisialisering van OpenGL het misluk."
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "geen taakbeheer in hierdie dop nie"
@@ -1284,103 +1284,103 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:3960
+#: parse.y:4034
#, fuzzy
msgid "syntax error in conditional expression"
msgstr "Sintaks fout in patroon"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
#, fuzzy
msgid "expected `)'"
msgstr "')' is verwag\n"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, fuzzy, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "%s: binêre operator is verwag\n"
-#: parse.y:4124
+#: parse.y:4198
#, fuzzy
msgid "conditional binary operator expected"
msgstr "%s: binêre operator is verwag\n"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, fuzzy, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "Soek die lêer vir 'n uitdrukking"
-#: parse.y:4164
+#: parse.y:4238
#, fuzzy, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "Soek die lêer vir 'n uitdrukking"
-#: parse.y:4168
+#: parse.y:4242
#, fuzzy, c-format
msgid "unexpected token %d in conditional command"
msgstr "Soek die lêer vir 'n uitdrukking"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:5477
+#: parse.y:5584
#, fuzzy, c-format
msgid "syntax error near `%s'"
msgstr "Sintaks fout in patroon"
-#: parse.y:5487
+#: parse.y:5594
#, fuzzy
msgid "syntax error: unexpected end of file"
msgstr "Onverwagte einde van lêer tydens inlees van hulpbron."
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "sintaksfout"
-#: parse.y:5549
+#: parse.y:5656
#, fuzzy, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Gebruik Kaart na Los Tronk"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1389,78 +1389,78 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr ""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, fuzzy, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: dubbelsinnige herroetering"
-#: redir.c:170
+#: redir.c:182
#, fuzzy, c-format
msgid "%s: cannot overwrite existing file"
msgstr "Jy het gespesifiseer 'n bestaande lêer"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr ""
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "Kan nie soek 'n handtekening in hierdie boodskap!"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
#, fuzzy
msgid "redirection error: cannot duplicate fd"
msgstr "Pypfout.\n"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1469,59 +1469,59 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr "%s: illegal option -- %c\n"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Ek het nie 'n naam nie!"
-#: shell.c:1793
+#: shell.c:1795
#, fuzzy, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "bedryfstelselkernweergawe"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
-#: shell.c:1796
+#: shell.c:1798
#, fuzzy
msgid "GNU long options:\n"
msgstr "Gnu C Saamsteller Opsies"
-#: shell.c:1800
+#: shell.c:1802
#, fuzzy
msgid "Shell options:\n"
msgstr "opneem opsies"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
-#: shell.c:1816
+#: shell.c:1818
#, fuzzy, c-format
msgid "\t-%s or -o option\n"
msgstr ""
"Gebruik so: %s LÊER \n"
" of: %s OPSIE\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1727,87 +1727,87 @@ msgstr "Sein kwaliteit:"
msgid "Unknown Signal #%d"
msgstr "Sein kwaliteit:"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, fuzzy, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "--Geen reëls in buffer--"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
#, fuzzy
msgid "cannot make pipe for process substitution"
msgstr "Woord Substitusie"
-#: subst.c:4802
+#: subst.c:5027
#, fuzzy
msgid "cannot make child for process substitution"
msgstr "Woord Substitusie"
-#: subst.c:4847
+#: subst.c:5072
#, fuzzy, c-format
msgid "cannot open named pipe %s for reading"
msgstr "Kan nie oopmaak vir skrip-afvoer nie: \""
-#: subst.c:4849
+#: subst.c:5074
#, fuzzy, c-format
msgid "cannot open named pipe %s for writing"
msgstr "Kan nie oopmaak vir skrip-afvoer nie: \""
-#: subst.c:4867
+#: subst.c:5092
#, fuzzy, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "Kan nie oopmaak vir skrip-afvoer nie: \""
-#: subst.c:5063
+#: subst.c:5284
#, fuzzy
msgid "cannot make pipe for command substitution"
msgstr "Woord Substitusie"
-#: subst.c:5097
+#: subst.c:5322
#, fuzzy
msgid "cannot make child for command substitution"
msgstr "Woord Substitusie"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr ""
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, fuzzy, c-format
msgid "%s: substring expression < 0"
msgstr "ongeldige uitdrukking"
-#: subst.c:6965
+#: subst.c:7271
#, fuzzy, c-format
msgid "%s: bad substitution"
msgstr "Woord Substitusie"
-#: subst.c:7045
+#: subst.c:7347
#, fuzzy, c-format
msgid "$%s: cannot assign in this way"
msgstr "Kan nie soek 'n handtekening in hierdie boodskap!"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "--Geen reëls in buffer--"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1832,38 +1832,38 @@ msgstr "')' is verwag\n"
msgid "`)' expected, found %s"
msgstr "')' is verwag, maar %s gevind\n"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, fuzzy, c-format
msgid "%s: unary operator expected"
msgstr "%s: unitêre operator is verwag\n"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, fuzzy, c-format
msgid "%s: binary operator expected"
msgstr "%s: binêre operator is verwag\n"
-#: test.c:811
+#: test.c:816
#, fuzzy
msgid "missing `]'"
msgstr "Ontbrekende '>'"
-#: trap.c:203
+#: trap.c:207
#, fuzzy
msgid "invalid signal number"
msgstr "Die sein nommer wat was gevang het"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr ""
@@ -1873,58 +1873,58 @@ msgstr ""
msgid "error importing function definition for `%s'"
msgstr ""
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
msgstr ""
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: kan nie %s skep nie"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -2018,7 +2018,7 @@ msgstr "/Opsies/Toets"
#: builtins.c:64
#, fuzzy
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "init_cache_dir %s... "
#: builtins.c:66
@@ -2045,12 +2045,12 @@ msgstr "Gebruik so: %s [OPSIE] [BEVEL [ARG]...]\n"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "E418: Ongeldige waarde: %s"
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "E418: Ongeldige waarde: %s"
#: builtins.c:80
@@ -2158,7 +2158,7 @@ msgstr "Terug Adres - 3/4 x 2\""
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "Gebruik so: %s [OPSIE]... [-] [GEBRUIKER [ARG]...]\n"
#: builtins.c:142
@@ -2173,7 +2173,7 @@ msgstr "Bediener of domein naam:"
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "Bediener of domein naam:"
#: builtins.c:148
@@ -2507,14 +2507,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2530,7 +2534,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2540,7 +2544,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2548,7 +2552,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2556,7 +2560,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2575,7 +2579,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2586,6 +2590,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2605,20 +2611,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2633,7 +2639,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2664,7 +2670,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2677,7 +2683,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2704,7 +2710,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2716,7 +2722,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2757,7 +2763,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2780,7 +2786,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2788,7 +2794,7 @@ msgid ""
" is that of the last command executed."
msgstr ""
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2797,7 +2803,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2827,7 +2833,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2839,7 +2845,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2853,7 +2859,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2877,7 +2883,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2899,7 +2905,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2933,7 +2939,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2957,7 +2963,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2974,7 +2980,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2996,7 +3002,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3038,10 +3044,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3089,7 +3095,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3101,7 +3107,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3170,6 +3176,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3183,7 +3192,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3203,7 +3212,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3222,7 +3231,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3242,7 +3251,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3253,7 +3262,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3267,7 +3276,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3281,14 +3290,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3342,6 +3354,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3358,7 +3371,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3366,7 +3379,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3378,7 +3391,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3394,7 +3407,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3414,7 +3435,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3444,7 +3465,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3488,7 +3509,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3506,7 +3527,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3523,7 +3544,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3537,7 +3558,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3550,7 +3571,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3567,7 +3588,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3587,7 +3608,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3603,7 +3624,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3614,7 +3635,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3635,7 +3656,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3646,7 +3667,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3657,7 +3678,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3670,7 +3691,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3684,7 +3705,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3695,7 +3716,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3709,7 +3730,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3720,7 +3741,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3748,7 +3769,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3802,7 +3823,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3833,7 +3854,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3860,7 +3881,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3889,7 +3910,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3910,7 +3931,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3933,6 +3954,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3940,7 +3964,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3967,7 +3991,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3980,13 +4004,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4011,7 +4035,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4039,7 +4063,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4051,7 +4076,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/bash.pot b/po/bash.pot
index 68d33f8..e54dabd 100644
--- a/po/bash.pot
+++ b/po/bash.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "bad array subscript"
msgstr ""
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -41,26 +41,26 @@ msgstr ""
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr ""
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -119,26 +119,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr ""
@@ -157,11 +142,11 @@ msgstr ""
msgid "%s: usage: "
msgstr ""
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr ""
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr ""
@@ -199,7 +184,7 @@ msgstr ""
msgid "invalid hex number"
msgstr ""
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr ""
@@ -308,25 +293,25 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr ""
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr ""
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr ""
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -355,29 +340,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr ""
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr ""
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr ""
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr ""
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr ""
@@ -405,11 +390,11 @@ msgstr ""
msgid "no command found"
msgstr ""
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr ""
@@ -442,7 +427,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr ""
@@ -499,76 +484,86 @@ msgstr ""
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr ""
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr ""
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, c-format
msgid "%s: not an indexed array"
msgstr ""
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr ""
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr ""
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr ""
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr ""
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, c-format
+msgid "`%c': invalid time format specification"
+msgstr ""
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr ""
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr ""
@@ -669,21 +664,21 @@ msgstr ""
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr ""
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr ""
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr ""
@@ -697,20 +692,20 @@ msgstr ""
msgid "shift count"
msgstr ""
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr ""
@@ -753,26 +748,26 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr ""
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr ""
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr ""
@@ -828,105 +823,110 @@ msgstr ""
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr ""
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr ""
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr ""
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr ""
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr ""
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr ""
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr ""
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr ""
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr ""
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr ""
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr ""
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr ""
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr ""
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr ""
@@ -935,163 +935,163 @@ msgstr ""
msgid "getcwd: cannot access parent directories"
msgstr ""
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr ""
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr ""
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr ""
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr ""
@@ -1242,99 +1242,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr ""
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr ""
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr ""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr ""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr ""
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr ""
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1343,77 +1343,77 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr ""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr ""
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr ""
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr ""
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr ""
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr ""
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1422,55 +1422,55 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr ""
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr ""
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr ""
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr ""
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr ""
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1644,83 +1644,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr ""
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr ""
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr ""
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr ""
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1743,36 +1743,36 @@ msgstr ""
msgid "`)' expected, found %s"
msgstr ""
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr ""
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr ""
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr ""
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr ""
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr ""
@@ -1782,58 +1782,58 @@ msgstr ""
msgid "error importing function definition for `%s'"
msgstr ""
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
msgstr ""
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr ""
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -1920,7 +1920,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -1944,11 +1944,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2042,7 +2042,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2054,7 +2054,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2367,14 +2367,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2390,7 +2394,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2400,7 +2404,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2408,7 +2412,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2416,7 +2420,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2435,7 +2439,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2446,6 +2450,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2465,20 +2471,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2493,7 +2499,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2524,7 +2530,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2537,7 +2543,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2564,7 +2570,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2576,7 +2582,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2617,7 +2623,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2640,7 +2646,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2648,7 +2654,7 @@ msgid ""
" is that of the last command executed."
msgstr ""
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2657,7 +2663,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2687,7 +2693,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2699,7 +2705,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2713,7 +2719,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2737,7 +2743,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2759,7 +2765,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2793,7 +2799,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2817,7 +2823,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2834,7 +2840,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2856,7 +2862,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2898,10 +2904,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -2949,7 +2955,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -2961,7 +2967,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3030,6 +3036,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3043,7 +3052,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3063,7 +3072,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3082,7 +3091,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3102,7 +3111,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3113,7 +3122,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3127,7 +3136,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3141,14 +3150,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3202,6 +3214,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3218,7 +3231,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3226,7 +3239,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3238,7 +3251,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3254,7 +3267,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3274,7 +3295,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3304,7 +3325,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3348,7 +3369,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3366,7 +3387,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3383,7 +3404,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3397,7 +3418,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3410,7 +3431,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3427,7 +3448,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3447,7 +3468,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3463,7 +3484,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3474,7 +3495,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3495,7 +3516,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3506,7 +3527,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3517,7 +3538,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3530,7 +3551,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3544,7 +3565,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3555,7 +3576,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3569,7 +3590,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3580,7 +3601,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3608,7 +3629,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3662,7 +3683,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3693,7 +3714,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3720,7 +3741,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3749,7 +3770,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3770,7 +3791,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3793,6 +3814,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3800,7 +3824,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3827,7 +3851,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3840,13 +3864,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3871,7 +3895,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3899,7 +3923,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -3911,7 +3936,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/bg.gmo b/po/bg.gmo
index ecba6d2..d6a7faf 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 8363cbf..757a034 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 3.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2007-07-26 07:18+0300\n"
"Last-Translator: Alexander Shopov <ash@contact.bg>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "неправилен Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð° маÑив"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -40,28 +40,28 @@ msgstr "%s: не може да Ñе приÑвоÑва на нецифров иÐ
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: не може да Ñе Ñъздаде: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"изпълнение на команда на Ð®Ð½Ð¸ÐºÑ Ð¾Ñ‚ bash: не може да Ñе открие подредбата на\n"
"функциите на клавишите за командата"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: първиÑÑ‚ непразен знак не е „\"“"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "в %2$s липÑва затварÑщ знак „%1$c“"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: разделителÑÑ‚ двоеточие липÑва"
@@ -121,26 +121,11 @@ msgid ""
" Without EXPR, returns "
msgstr "Връща контекÑта на текущото извикване на подпрограма."
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "Променливата $HOME не зададена"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "Променливата $OLDPWD не е зададена"
@@ -159,11 +144,11 @@ msgstr "%s: предупреждение: "
msgid "%s: usage: "
msgstr "%s: предупреждение: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "прекалено много аргументи"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: опциÑта изиÑква аргумент"
@@ -203,7 +188,7 @@ msgstr "неправилен номер на Ñигнал"
msgid "invalid hex number"
msgstr "грешно чиÑло"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "грешно чиÑло"
@@ -312,25 +297,25 @@ msgstr "предупреждение: опциÑта „-C“ може да не
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "може да Ñе използва Ñамо във функциÑ"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "„-f“ не може да Ñе използва за Ñъздаването на функции"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð¿Ñ€Ð°Ð²Ð° Ñамо за четене"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: променливите за маÑиви не могат да Ñе унищожават така"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -359,29 +344,29 @@ msgstr "%s: не е зареден динамично"
msgid "%s: cannot delete: %s"
msgstr "%s: не може да Ñе изтрие: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: е директориÑ"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: не е обикновен файл"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: файлът е прекалено голÑм"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: двоичниÑÑ‚ файл не може да бъде изпълнен"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: не може да Ñе изпълни: %s"
@@ -409,11 +394,11 @@ msgstr "Има Ñпрени задачи.\n"
msgid "no command found"
msgstr "не е открита команда"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "указване на иÑториÑта"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: не може да Ñе отвори временен файл: %s"
@@ -446,7 +431,7 @@ msgstr "хеширането е изключено"
msgid "%s: hash table empty\n"
msgstr "%s: таблицата Ñ Ñ…ÐµÑˆÐ¾Ð²Ðµ е празна\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "поÑледна команда: %s\n"
@@ -514,77 +499,87 @@ msgstr "%s: неуÑпешно замеÑтване чрез иÑториÑта"
msgid "no other options allowed with `-x'"
msgstr "не е позволена друга Ð¾Ð¿Ñ†Ð¸Ñ Ñ â€ž-x“"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: аргументите Ñ‚Ñ€Ñбва да Ñа идентификатори на процеÑи или задачи"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "ÐеизвеÑтна грешка"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "очаква Ñе израз"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: не е променлива за маÑив"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: грешно указване на Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð´ÐµÑкриптор"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: грешен файлов деÑкриптор: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: грешна опциÑ"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: грешна опциÑ"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: грешно име на дейÑтвие"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: не е променлива за маÑив"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "„%s“: липÑва форматиращ знак"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: грешно указване на изтичането на времето"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "„%c“: грешен форматиращ знак"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s: предупреждение: "
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "липÑва шеÑтнадеÑетична цифра за \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "липÑва шеÑтнадеÑетична цифра за \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "нÑма друга директориÑ"
@@ -748,22 +743,22 @@ msgid "can only `return' from a function or sourced script"
msgstr ""
"„return“ е възможен Ñамо от Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð»Ð¸ изпълнен в текущата обвивка Ñкрипт"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
"не може едновременно да Ñе премахват задаваниÑта на Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸ променлива"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: не може да Ñе премахне"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: не може да Ñе премахне: %s е Ñамо за четене"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: не е променлива за маÑив"
@@ -777,21 +772,21 @@ msgstr "%s: не е функциÑ"
msgid "shift count"
msgstr "брой на премеÑтваниÑта"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
"не може едновременно да Ñе задават и да Ñе премахват опции на обвивката"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: грешно име на Ð¾Ð¿Ñ†Ð¸Ñ Ð½Ð° обвивката"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "изиÑква Ñе аргумент име на файл"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: файлът не е открит"
@@ -834,26 +829,26 @@ msgstr "%s е %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s е хеширан (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: неправилен аргумент за ограничение"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "„%c“: неправилна команда"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: ограничението не може да бъде получено: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: ограничението не може да бъде променено: %s"
@@ -909,110 +904,115 @@ msgstr "%s: променлива без ÑтойноÑÑ‚"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
"^Gвремето за изчакване на вход изтече: Ñледва автоматично излизане от "
"ÑиÑтемата\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "ÑтандартниÑÑ‚ вход от /dev/null не може да бъде пренаÑочен: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "в променливата $TIMEFORMAT: „%c“: грешен форматиращ знак"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "грешка при запиÑ: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
"%s: ограничение: в имената на командите не може да приÑÑŠÑтва знакът „/“"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: командата не е открита"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s е %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: лош интерпретатор"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "файловиÑÑ‚ деÑкриптор %d не може да Ñе дублира като деÑкриптор %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "макÑималниÑÑ‚ брой нива за рекурÑÐ¸Ñ Ð² израз бÑха преминати"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "отрицателно препълване на Ñтека за рекурÑии"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "Ñинтактична грешка в израз"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "опит за приÑвоÑване на ÑтойноÑÑ‚ на нещо, което не е променлива"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "деление на 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "програмна грешка: неправилна лекÑема за приÑвоÑване на израз"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "за уÑловен израз Ñе изиÑква „:“"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "Ñтепента е по-малка от 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "очаква Ñе идентификатор Ñлед предварително увеличаване или намалÑване"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "липÑва „)“"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "Ñинтактична грешка: очаква Ñе оператор"
-#: expr.c:1178
+#: expr.c:1284
#, fuzzy
msgid "syntax error: invalid arithmetic operator"
msgstr "Ñинтактична грешка: изиÑква Ñе аритметичен израз"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "грешна аритметична оÑнова на бройна ÑиÑтема"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "ÑтойноÑтта е прекалено голÑма за оÑновата"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: очаква Ñе целочиÑлен израз"
@@ -1021,167 +1021,167 @@ msgstr "%s: очаква Ñе целочиÑлен израз"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: родителÑките директории не могат да бъдат доÑтъпени"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "не може да Ñе изчиÑти режимът без забавÑне на Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð´ÐµÑкриптор %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"не може да Ñе задели нов файлов деÑкриптор за вход на bash от деÑкриптор %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
"запазване на входа на bash: вече ÑъщеÑтвува буфер за Ð½Ð¾Ð²Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² деÑкриптор "
"%d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "изтриване на ÑпрÑната задача %d в групата процеÑи %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr ""
"опиÑателен идентификатор на процеÑ: %ld: нÑма такъв идентификатор на процеÑ"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "изчакване: процеÑÑŠÑ‚ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ %ld не е дъщерен на тази обвивка"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "изчакване: липÑват данни за Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "изчакване на задача: задачата %d е ÑпрÑна"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: задачата е приключила"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: задача %d вече е във фонов режим"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s: предупреждение: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "в тази обвивка нÑма управление на задачите"
@@ -1344,100 +1344,100 @@ msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
"пренаÑочване: инÑтрукциÑта за пренаÑочване „%d“ е извън допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
"неочакван знак за край на файл „EOF“, а Ñе очакваше ÑъответÑтващ знак „%c“"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "неочакван знак за край на файл „EOF“, а Ñе очакваше „]]“"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "Ñинтактична грешка в уÑловен израз: неочаквана лекÑема „%s“"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "Ñинтактична грешка в уÑловен израз"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "неочаквана лекÑема „%s“, а Ñе очакваше знакът „)“"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "очакваше Ñе „)“"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "неочакван аргумент „%s“ за унарен уÑловен оператор"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "неочакван аргумент за унарен уÑловен оператор"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "неочаквана лекÑема „%s“, очакваше Ñе бинарен уÑловен оператор"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "очакваше Ñе бинарен уÑловен оператор"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "неочакван аргумент „%s“ за бинарен уÑловен оператор"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "неочакван аргумент за бинарен уÑловен оператор"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "неочаквана лекÑема „%c“ в уÑловна команда"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "неочаквана лекÑема „%s“ в уÑловна команда"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "неочаквана лекÑема %d в уÑловна команда"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "Ñинтактична грешка в близоÑÑ‚ до неочакваната лекÑема „%s“"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "Ñинтактична грешка в близоÑÑ‚ до „%s“"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "Ñинтактична грешка: неочакван край на файл"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "Ñинтактична грешка"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Използвайте „%s“, за да излезете от обвивката.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "неочакван знак за край на файл „EOF“, очакваше Ñе знакът „)“"
@@ -1446,78 +1446,78 @@ msgstr "неочакван знак за край на файл „EOF“, очÐ
msgid "completion: function `%s' not found"
msgstr "допиÑване: функциÑта „%s“ не е открита"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
"вмъкване на завършване на команда: %s указване на команда, което е NULL"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "команда за печат: лош конектор „%d“"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: грешен файлов деÑкриптор: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "отпечатване: „%c“: неправилен форматиращ знак"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "файловиÑÑ‚ деÑкриптор е извън допуÑÑ‚Ð¸Ð¼Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: двуÑмиÑлено пренаÑочване"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: не може да Ñе презапише ÑъщеÑтвуващ файл"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: поради ограничение изходът не може да Ñе пренаÑочи"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "не може да Ñе Ñъздаде временен файл за вътрешен документ Ñ â€ž<<“: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: на член от маÑив не може да Ñе приÑвои ÑпиÑък"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port не Ñе поддържа, ако нÑма поддръжка на мрежа"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "грешка при пренаÑочване: файловиÑÑ‚ деÑкриптор не може да бъде дублиран"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "не е открита директориÑта /tmp. Създайте Ñ!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp Ñ‚Ñ€Ñбва да е директориÑ"
@@ -1526,16 +1526,16 @@ msgstr "/tmp Ñ‚Ñ€Ñбва да е директориÑ"
msgid "%c%c: invalid option"
msgstr "%c%c: неправилна опциÑ"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Ðе може да Ñе получи името на Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸Ñ‚ÐµÐ»!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1544,43 +1544,43 @@ msgstr ""
"Употреба: %s [дълга Ð¾Ð¿Ñ†Ð¸Ñ Ð½Ð° GNU] [опциÑ] …\n"
" %s [дълга Ð¾Ð¿Ñ†Ð¸Ñ Ð½Ð° GNU] [опциÑ] файл-Ñкрипт …\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Дълги опции на GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Опции на обвивката:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
" -irsD или -c команда, или -O къÑа_Ð¾Ð¿Ñ†Ð¸Ñ (Ñамо при Ñтартиране)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr " -%s или -o опциÑ\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° опциите на обвивката въведете „%s -c \"help set\"“.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"За повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° вградените в обвивката команди въведете „%s -c "
"help“.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "За да докладвате грешки използвайте командата „bashbug“.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "маÑка за обработката на Ñигнали: %d: невалидна операциÑ"
@@ -1756,85 +1756,85 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "лошо замеÑтване: липÑва затварÑщ знак „%s“ в %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: на член от маÑив не може да Ñе приÑвои ÑпиÑък"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "не може да Ñе Ñъздаде програмен канал за замеÑтване на процеÑи"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "не може да Ñе Ñъздаде дъщерен Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð° замеÑтване на процеÑи"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "именуваниÑÑ‚ програмен канал %s не може да Ñе отвори за четене"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "именуваниÑÑ‚ програмен канал %s не може да Ñе отвори за запиÑ"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
"именуваниÑÑ‚ програмен канал %s не може да Ñе\n"
"дублира като Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¸Ñ Ð´ÐµÑкриптор %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "не може да Ñе Ñъздаде програмен канал за замеÑтване на команди"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "не може да Ñе Ñъздаде дъщерен Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð·Ð° замеÑтване на команди"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "замеÑтване на команди: каналът не може да Ñе дублира като fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: аргументът е null или не е зададен"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: изразът от подниза е < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: лошо замеÑтване"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: не може да Ñе задава по този начин"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "лошо замеÑтване: липÑва затварÑщ знак „%s“ в %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "нÑма Ñъвпадение: %s"
@@ -1857,31 +1857,31 @@ msgstr "очаква Ñе „)“"
msgid "`)' expected, found %s"
msgstr "очаква Ñе „)“, а е получено %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: очаква Ñе унарен оператор"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: очаква Ñе бинарен оператор"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "липÑва „]“"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "неправилен номер на Ñигнал"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
"Ñтартиране на предÑтоÑщите капани: неправилна ÑтойноÑÑ‚ в trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1889,7 +1889,7 @@ msgstr ""
"Ñтартиране на предÑтоÑщите капани: обработката на Ñигнали е SIG_DFL.\n"
"%d (%s) е преизпратено на текущата обвивка"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "обработка на капани: неправилен Ñигнал %d"
@@ -1899,72 +1899,72 @@ msgstr "обработка на капани: неправилен Ñигнал
msgid "error importing function definition for `%s'"
msgstr "грешка при внаÑÑнето на дефинициÑта на Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð·Ð° „%s“"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "нивото на обвивката (%d) е прекалено голÑмо. Задава Ñе да е 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
"Ñъздаване на локална променлива: липÑва контекÑÑ‚ на Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð² текущата "
"облаÑÑ‚\n"
"на видимоÑÑ‚"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
"вÑички локални променливи: липÑва контекÑÑ‚ на Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð² текущата облаÑÑ‚ на\n"
"видимоÑÑ‚"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: аргументът е null или не е зададен"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "неправилен знак на Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ %d в низа за изнаÑÑне за %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "липÑва „=“ в низа за изнаÑÑне за %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"изваждане на контекÑÑ‚ на променливи: в началото на Ñтруктурата за променливи "
"на\n"
"обвивката (shell_variables) е нещо, което не е контекÑÑ‚ на функциÑ"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
"изваждане на контекÑÑ‚ на променливи: липÑва контекÑÑ‚ за глобални променливи\n"
"(global_variables)"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"изваждане на облаÑÑ‚: поÑледниÑÑ‚ елемент Ñтруктурата за променливи на "
"обвивката\n"
"(shell_variables) не е временна облаÑÑ‚ в обкръжението"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: не може да Ñе отвори: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: грешен файлов деÑкриптор: %s"
#: version.c:46
#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "ÐвторÑки права (C) 2005 Free Software Foundation, Inc.\n"
#: version.c:47
@@ -2055,7 +2055,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -2079,11 +2079,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2177,7 +2177,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2189,7 +2189,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2583,11 +2583,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
" СмÑна на текущата Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð´Ð° е ДИРЕКТОРИЯ. Променливата $HOME е\n"
" Ñтандартната директориÑ. Променливата $CDPATH Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð¿ÑŠÑ‚Ñ Ð·Ð° Ñ‚ÑŠÑ€Ñене\n"
@@ -2604,7 +2608,7 @@ msgstr ""
" фактичеÑката подредба на директориите, вмеÑто да Ñе Ñледват Ñимволните\n"
" връзки. ОпциÑта „-L“ налага Ñледването на Ñимволните връзки."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2620,7 +2624,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2631,7 +2635,7 @@ msgid ""
" Always succeeds."
msgstr " Без ефект - командата нищо не прави. Връща Ñе изходен код 0."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2639,7 +2643,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2647,7 +2651,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2666,7 +2670,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
#, fuzzy
msgid ""
"Set variable values and attributes.\n"
@@ -2678,6 +2682,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2697,7 +2703,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2733,14 +2739,14 @@ msgstr ""
" Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð˜ÐœÐ•Ð½Ð°Ñ‚Ð° Ñтават локални, както при използването на командата "
"„local“."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2755,7 +2761,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
#, fuzzy
msgid ""
"Write arguments to the standard output.\n"
@@ -2806,7 +2812,7 @@ msgstr ""
" Можете изрично да Ñпрете интерпретирането на горните знаци Ñ Ð¾Ð¿Ñ†Ð¸Ñта „-"
"E“."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2819,7 +2825,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2846,7 +2852,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2858,7 +2864,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
#, fuzzy
msgid ""
"Parse option arguments.\n"
@@ -2941,7 +2947,7 @@ msgstr ""
"Ñа\n"
" дадени повече аргументи, те биват анализирани вмеÑто това."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2964,7 +2970,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2975,7 +2981,7 @@ msgstr ""
" Изход от обвивката Ñ ÐºÐ¾Ð´ N. Ðко N е изпуÑнат, то изходниÑÑ‚ код е този на\n"
" поÑледната изпълнена команда."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2984,7 +2990,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
#, fuzzy
msgid ""
"Display or execute commands from the history list.\n"
@@ -3040,7 +3046,7 @@ msgstr ""
"когато\n"
" Ñе въведе Ñамо „-r“, ще Ñе изпълни поÑледната команда."
-#: builtins.c:738
+#: builtins.c:743
#, fuzzy
msgid ""
"Move job to the foreground.\n"
@@ -3055,7 +3061,7 @@ msgstr ""
" Изважда ЗÐДÐЧРот фонов режим и Ñ Ð¿Ñ€Ð°Ð²Ð¸ текуща задача. Ðко липÑва\n"
" аргумент ЗÐДÐЧÐ, Ñе използва текущата задача Ñпоред обвивката."
-#: builtins.c:753
+#: builtins.c:758
#, fuzzy
msgid ""
"Move jobs to the background.\n"
@@ -3072,7 +3078,7 @@ msgstr ""
" ПоÑÑ‚Ð°Ð²Ñ Ð²ÑÑка ЗÐДÐЧРвъв фонов режим, вÑе едно е била Ñтартирана Ñ â€ž&“.\n"
" Ðко липÑва аргумент ЗÐДÐЧÐ, Ñе използва текущата задача Ñпоред обвивката."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3096,7 +3102,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3118,7 +3124,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
@@ -3186,7 +3192,7 @@ msgstr ""
"времето не\n"
" Ñе запиÑва."
-#: builtins.c:852
+#: builtins.c:857
#, fuzzy
msgid ""
"Display status of jobs.\n"
@@ -3227,7 +3233,7 @@ msgstr ""
"като\n"
" аргументи, Ñе заменÑÑ‚ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° на водача на групата процеÑи."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3244,7 +3250,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
#, fuzzy
msgid ""
"Send a signal to a job.\n"
@@ -3276,7 +3282,7 @@ msgstr ""
" за Ð²Ð°Ñ Ð±Ñ€Ð¾Ð¹ процеÑи, нÑма да ви Ñе налага да пуÑнете още един процеÑ,\n"
" за да убиете друг."
-#: builtins.c:921
+#: builtins.c:926
#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
@@ -3319,7 +3325,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
" Ð’Ñеки аргумент е аритметичен израз, който Ñе бъде изчиÑлен. ИзчиÑлениÑта\n"
" Ñе извършват в аритметика Ñ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñлени ÑтойноÑти Ñ Ð¿Ð¾ÑтоÑнна широчина\n"
@@ -3360,7 +3366,7 @@ msgstr ""
" Ðко поÑледниÑÑ‚ ÐРГУМЕÐТ Ñе изчиÑлÑва като 0, „let“ връща 1. Ð’\n"
" противен Ñлучай - връща 0."
-#: builtins.c:966
+#: builtins.c:971
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
@@ -3444,7 +3450,7 @@ msgstr ""
" ИÐТЕРВÐЛът за въвеждане или е зададен неправилен файлов деÑкриптор като\n"
" аргумент на „-u“."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3456,7 +3462,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
@@ -3526,6 +3532,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3625,7 +3634,7 @@ msgstr ""
" Ñъответно на $1, $2,… $n. Ðко не Ñа зададени ÐРГументи, Ñе извеждат\n"
" вÑички променливи на Ñредата."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3645,7 +3654,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3664,7 +3673,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3684,7 +3693,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3695,7 +3704,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
#, fuzzy
msgid ""
"Execute commands from a file in the current shell.\n"
@@ -3716,7 +3725,7 @@ msgstr ""
" Ñа зададени ÐРГУМЕÐТИ, те Ñе превръщат в позиционни аргументи при\n"
" изпълнението на ФÐЙЛа."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3730,7 +3739,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3738,7 +3747,10 @@ msgid ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3792,6 +3804,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3881,7 +3894,7 @@ msgstr ""
" „-eq“ (=), „-ne“ (!=), „-lt“ (<),\n"
" „-le“ (<=), „-gt“ (>) , „-ge“ (>=)."
-#: builtins.c:1299
+#: builtins.c:1311
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3893,7 +3906,7 @@ msgstr ""
" задължително да е знакът „]“, който да ÑъответÑтва на отварÑщата Ñкоба "
"„[“."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3905,7 +3918,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
#, fuzzy
msgid ""
"Trap signals and other events.\n"
@@ -3922,7 +3935,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3961,7 +3982,7 @@ msgstr ""
"на\n"
" обвивката Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „kill -signal $$“."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3991,7 +4012,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
#, fuzzy
msgid ""
"Modify shell resource limits.\n"
@@ -4070,7 +4091,7 @@ msgstr ""
" - опциÑта „-t“, при коÑто ÑтойноÑтта е в Ñекунди;\n"
" - опциÑта „-u“, при коÑто ÑтойноÑтта е точниÑÑ‚ брой процеÑи."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4088,7 +4109,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4105,7 +4126,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
#, fuzzy
msgid ""
"Wait for process completion and return exit status.\n"
@@ -4127,7 +4148,7 @@ msgstr ""
"Ñе\n"
" вÑички процеÑи в Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð» на задачата."
-#: builtins.c:1481
+#: builtins.c:1497
#, fuzzy
msgid ""
"Execute commands for each member in a list.\n"
@@ -4147,7 +4168,7 @@ msgstr ""
" вÑеки елемент в ДУМИте, ИМЕто Ñе задава да е елементът и Ñе изпълнÑват\n"
" КОМÐÐДИте."
-#: builtins.c:1495
+#: builtins.c:1511
#, fuzzy
msgid ""
"Arithmetic for loop.\n"
@@ -4174,7 +4195,7 @@ msgstr ""
"Ñе\n"
" изчиÑлÑва да е 1."
-#: builtins.c:1513
+#: builtins.c:1529
#, fuzzy
msgid ""
"Select words from a list and execute commands.\n"
@@ -4212,7 +4233,7 @@ msgstr ""
" изпълнÑват Ñлед вÑеки избор до изпълнÑването на команда за прекъÑване\n"
" (break)."
-#: builtins.c:1534
+#: builtins.c:1550
#, fuzzy
msgid ""
"Report time consumed by pipeline's execution.\n"
@@ -4236,7 +4257,7 @@ msgstr ""
"Ñпоред\n"
" ÑтойноÑтта на променливата на Ñредата $TIMEFORMAT."
-#: builtins.c:1551
+#: builtins.c:1567
#, fuzzy
msgid ""
"Execute commands based on pattern matching.\n"
@@ -4250,7 +4271,7 @@ msgstr ""
" Избирателно Ñе изпълнÑват КОМÐÐДИ на база ДУМÐ, коÑто напаÑва на ШÐБЛОÐ.\n"
" Шаблоните Ñе разделÑÑ‚ ÑÑŠÑ Ð·Ð½Ð°ÐºÐ° „|“."
-#: builtins.c:1563
+#: builtins.c:1579
#, fuzzy
msgid ""
"Execute commands based on conditional.\n"
@@ -4287,7 +4308,7 @@ msgstr ""
"ако\n"
" никое теÑтово уÑловие, не Ñе е оценило като иÑтина."
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -4302,7 +4323,7 @@ msgstr ""
"„while“\n"
" е Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код, който е 0."
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -4317,7 +4338,7 @@ msgstr ""
"„until“\n"
" е Ñ Ð¸Ð·Ñ…Ð¾Ð´ÐµÐ½ код, който не е 0."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4330,7 +4351,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4344,7 +4365,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -4359,7 +4380,7 @@ msgstr ""
"Ñе\n"
" цÑл набор от команди."
-#: builtins.c:1644
+#: builtins.c:1660
#, fuzzy
msgid ""
"Resume job in foreground.\n"
@@ -4379,7 +4400,7 @@ msgstr ""
" Ñе изпълнÑва във фонов режим, вÑе едно е била подадена като аргумент\n"
" на командата „bg“."
-#: builtins.c:1659
+#: builtins.c:1675
#, fuzzy
msgid ""
"Evaluate arithmetic expression.\n"
@@ -4393,7 +4414,7 @@ msgstr ""
" ИЗРÐЗът Ñе изчиÑлÑва Ñпоред правилата на аритметичното оценÑване.\n"
" Еквивалентно на „let ИЗРÐЗ“."
-#: builtins.c:1671
+#: builtins.c:1687
#, fuzzy
msgid ""
"Execute conditional command.\n"
@@ -4443,7 +4464,7 @@ msgstr ""
" „&&“ и „||“ не оценÑÑ‚ ИЗРÐЗ2, ако ИЗРÐЗ1 е доÑтатъчен за определÑне на\n"
" ÑтойноÑтта на израза."
-#: builtins.c:1697
+#: builtins.c:1713
#, fuzzy
msgid ""
"Common shell variable names and usage.\n"
@@ -4572,7 +4593,7 @@ msgstr ""
"кои\n"
" команди да не Ñе запазват в иÑториÑта.\n"
-#: builtins.c:1754
+#: builtins.c:1770
#, fuzzy
msgid ""
"Add directories to stack.\n"
@@ -4623,7 +4644,7 @@ msgstr ""
" \n"
" Можете да изведете Ñтека на директориÑта Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „dirs“."
-#: builtins.c:1788
+#: builtins.c:1804
#, fuzzy
msgid ""
"Remove directories from stack.\n"
@@ -4668,7 +4689,7 @@ msgstr ""
"\n"
" Стекът Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ð¸Ñ‚Ðµ Ñе визуализира Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ‚Ð° „dirs“."
-#: builtins.c:1818
+#: builtins.c:1834
#, fuzzy
msgid ""
"Display directory stack.\n"
@@ -4720,7 +4741,7 @@ msgstr ""
" -N показва N-Ñ‚Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ отдÑÑно в ÑпиÑъка показван от\n"
" командата „dirs“, когато е Ñтартирана без опции. Брои Ñе от 0."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -4741,7 +4762,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -4765,6 +4786,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -4788,7 +4812,7 @@ msgstr ""
" вход за обвивката. Ðко е включена опциÑта „-v“, изходът Ñе поÑÑ‚Ð°Ð²Ñ Ð²\n"
" променливата на обвивката VAR, вмеÑто да Ñе извежда на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ð¸Ð·Ñ…Ð¾Ð´."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4815,7 +4839,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
#, fuzzy
msgid ""
"Display possible completions depending on the options.\n"
@@ -4836,13 +4860,13 @@ msgstr ""
"Ñ\n"
" него."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4867,7 +4891,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4895,7 +4919,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4907,7 +4932,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/ca.gmo b/po/ca.gmo
index c34b446..2e1552b 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 14b2e1d..a707980 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash-2.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2003-12-28 19:59+0100\n"
"Last-Translator: Montxo Vicente i Sempere <montxo@alacant.com>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "la matriu est? mal composta"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -39,26 +39,26 @@ msgstr "%s: no es pot assignar a un ?ndex que no ?s num?ric"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: no es pot crear: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -118,26 +118,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr ""
@@ -156,11 +141,11 @@ msgstr "s'est? escrivint"
msgid "%s: usage: "
msgstr ""
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "nombre excessiu de par?metres"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, fuzzy, c-format
msgid "%s: option requires an argument"
msgstr "cal un par?metre per a l'opci?: -"
@@ -200,7 +185,7 @@ msgstr "n?mero inv?lid de senyal"
msgid "invalid hex number"
msgstr "n?mero inv?lid de senyal"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
#, fuzzy
msgid "invalid number"
msgstr "n?mero inv?lid de senyal"
@@ -313,27 +298,27 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
#, fuzzy
msgid "can only be used in a function"
msgstr ""
"servir LOCAL dins d'una funci?; a?? restringir? la magnitud visible de la"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funci? nom?s de lectura"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, fuzzy, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "$%s: no es pot assignar d'aquesta manera"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -362,29 +347,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr "%s: no es pot crear: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: ?s un directori"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, fuzzy, c-format
msgid "%s: not a regular file"
msgstr "%s: no es pot executar el fitxer binari"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: no es pot executar el fitxer binari"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, fuzzy, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: no es pot crear: %s"
@@ -413,11 +398,11 @@ msgstr ""
msgid "no command found"
msgstr "%s: no s'ha trobat l'ordre"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, fuzzy, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: no es pot crear: %s"
@@ -450,7 +435,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "si s'escriu \"r\" s'executar? la darrera ordre."
@@ -507,78 +492,88 @@ msgstr "%s: s'esperava una expressi? de nombre enter"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
#, fuzzy
msgid "Unknown error"
msgstr "Error desconegut %d"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "s'esperava una expressi?"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: variable sense vincle"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%c%c: opci? inv?lida"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%c%c: opci? inv?lida"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "n?mero inv?lid de senyal"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: variable sense vincle"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%c%c: opci? inv?lida"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr ""
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
#, fuzzy
msgid "no other directory"
@@ -682,23 +677,23 @@ msgstr "error del conducte: %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
#, fuzzy
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
"servir LOCAL dins d'una funci?; a?? restringir? la magnitud visible de la"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, fuzzy, c-format
msgid "%s: cannot unset"
msgstr "%s: no es pot crear: %s"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, fuzzy, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: no es pot crear: %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, fuzzy, c-format
msgid "%s: not an array variable"
msgstr "%s: variable sense vincle"
@@ -713,20 +708,20 @@ msgstr "%s: funci? nom?s de lectura"
msgid "shift count"
msgstr "shift [n]"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, fuzzy, c-format
msgid "%s: file not found"
msgstr "%s: no s'ha trobat l'ordre"
@@ -770,27 +765,27 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, fuzzy, c-format
msgid "`%c': bad command"
msgstr "%c%c: opci? inv?lida"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, fuzzy, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: no es pot crear: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
#, fuzzy
msgid "limit"
msgstr "L?mit de la UCP"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, fuzzy, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: no es pot crear: %s"
@@ -851,111 +846,116 @@ msgstr "%s: variable sense vincle"
#: eval.c:181
#, fuzzy, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
"%c ha excedit el temps d'espera per una entrada: fi autom?tica de sessi?\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "error del conducte: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restringit: no es pot especificar '/' en noms d'ordres"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: no s'ha trobat l'ordre"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, fuzzy, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: ?s un directori"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, fuzzy, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
"no es pot copiar per duplicat el descriptor del fitxer df %d cap a df 0: %s"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "s'ha excedit el nivell de recursivitat de l'expressi?"
-#: expr.c:265
+#: expr.c:280
#, fuzzy
msgid "recursion stack underflow"
msgstr "S'ha desbordat la base de la pila."
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "error de sintaxi a l'expressi?"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "s'ha intentat assignar una variable inexistent"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "divisi? per 0"
-#: expr.c:471
+#: expr.c:517
#, fuzzy
msgid "bug: bad expassign token"
msgstr "error de programaci?: pas incorrecte del senyal %d per a expassing()."
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "s'esperava ':' per a l'expressi? condicional"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "falta algun ')'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
#, fuzzy
msgid "syntax error: operand expected"
msgstr "error de sintaxi: s'ha arribat inesperadament a la fi del fitxer"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, fuzzy, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s: %s: %s (la prova d'error ?s \"%s\")\n"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "valor massa gran per a la base de numeraci?"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: s'esperava una expressi? de nombre enter"
@@ -965,13 +965,13 @@ msgstr "%s: s'esperava una expressi? de nombre enter"
msgid "getcwd: cannot access parent directories"
msgstr "getwd: no s'ha pogut accedir als directoris pares"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
"no es pot copiar per duplicat el descriptor del fitxer df %d cap a df 0: %s"
-#: input.c:258
+#: input.c:260
#, fuzzy, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
@@ -979,159 +979,159 @@ msgstr ""
"bash\n"
"a partir del descriptor de fitxer %d: %s"
-#: input.c:266
+#: input.c:268
#, fuzzy, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
"check_bash_input: ja hi existeix mem?ria interm?dia per a la nova\n"
"descripci? de fitxer %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, fuzzy, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: L'identificador de proc?s (pid) no existeix (%d)!\n"
-#: jobs.c:1416
+#: jobs.c:1445
#, fuzzy, c-format
msgid "Signal %d"
msgstr "Senyal desconeguda #%d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Fet"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Aturat"
-#: jobs.c:1439
+#: jobs.c:1468
#, fuzzy, c-format
msgid "Stopped(%s)"
msgstr "Aturat"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "S'est? executant"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Fet (%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Fi d'execuci? amb l'estat %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Estat desconegut"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(la imatge del nucli ha estat bolcada) "
-#: jobs.c:1568
+#: jobs.c:1597
#, fuzzy, c-format
msgid " (wd: %s)"
msgstr "(wd ara: %s)\n"
-#: jobs.c:1776
+#: jobs.c:1805
#, fuzzy, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "error en l'execuci? de setpgid (%d a %d) en el proc?s fill %d: %s\n"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, fuzzy, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
"wait: l'identificador del proc?s (pid) %d no ?s un fill d'aquest int?rpret"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: s'ha finalitzat la tasca"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "encaix %3d:"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (bolcat de la imatge del nucli)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd ara: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
#, fuzzy
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs: getpgrp ha fallat: %s"
-#: jobs.c:3639
+#: jobs.c:3669
#, fuzzy
msgid "initialize_job_control: line discipline"
msgstr "initialize_jobs: disciplina de l?nia: %s"
-#: jobs.c:3649
+#: jobs.c:3679
#, fuzzy
msgid "initialize_job_control: setpgid"
msgstr "initialize_jobs: getpgrp ha fallat: %s"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "no hi ha cap tasca de control dins d'aquest int?rpret"
@@ -1285,107 +1285,107 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, fuzzy, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
"s'ha arribat inesperadament a la fi del fitxer (EOF) mentre\n"
"es buscava per '%c'"
-#: parse.y:3951
+#: parse.y:4025
#, fuzzy
msgid "unexpected EOF while looking for `]]'"
msgstr ""
"s'ha arribat inesperadament a la fi del fitxer (EOF) mentre\n"
"es buscava per '%c'"
-#: parse.y:3956
+#: parse.y:4030
#, fuzzy, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'"
-#: parse.y:3960
+#: parse.y:4034
#, fuzzy
msgid "syntax error in conditional expression"
msgstr "error de sintaxi a l'expressi?"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
#, fuzzy
msgid "expected `)'"
msgstr "s'esperava ')'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, fuzzy, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "%s: s'esperava un operador binari"
-#: parse.y:4124
+#: parse.y:4198
#, fuzzy
msgid "conditional binary operator expected"
msgstr "%s: s'esperava un operador binari"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, fuzzy, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "s'esperava ':' per a l'expressi? condicional"
-#: parse.y:4164
+#: parse.y:4238
#, fuzzy, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "s'esperava ':' per a l'expressi? condicional"
-#: parse.y:4168
+#: parse.y:4242
#, fuzzy, c-format
msgid "unexpected token %d in conditional command"
msgstr "s'esperava ':' per a l'expressi? condicional"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'"
-#: parse.y:5477
+#: parse.y:5584
#, fuzzy, c-format
msgid "syntax error near `%s'"
msgstr "hi ha un error inesperat de sintaxi prop del senyal '%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "error de sintaxi: s'ha arribat inesperadament a la fi del fitxer"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "error de sintaxi"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Utilitzeu ?%s? per a eixir de l'int?rpret d'ordres.\n"
-#: parse.y:5711
+#: parse.y:5818
#, fuzzy
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1397,79 +1397,79 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: el connector '%d' ?s incorrecte"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, fuzzy, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Redirecci? ambigua"
# No acabe d'entendre el significat de l'original "clobber"
-#: redir.c:170
+#: redir.c:182
#, fuzzy, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: No s'ha pogut sobreescriure el fitxer existent"
-#: redir.c:175
+#: redir.c:187
#, fuzzy, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restringit: no es pot especificar '/' en noms d'ordres"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "no es pot establir un conducte per a la substituci? del proc?s: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: no es pot assignar la llista a un element de la matriu"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
#, fuzzy
msgid "redirection error: cannot duplicate fd"
msgstr "error de redirecci?"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1478,16 +1478,16 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr "%c%c: opci? inv?lida"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "No tinc cap nom d'usuari!"
-#: shell.c:1793
+#: shell.c:1795
#, fuzzy, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU %s, versi? %s\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1496,44 +1496,44 @@ msgstr ""
"Sintaxi:\t%s [opci?-format-llarg GNU] [opci?] ...\n"
"\t%s [opci?-format-llarg GNU] [opci?] fitxer_de_seq??ncies ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "opcions de formes llargues de GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Opcions de l'int?rpret d'ordres:\n"
-#: shell.c:1801
+#: shell.c:1803
#, fuzzy
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD o -c ordre\t\t(nom?s per a invocar)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s o -o opci?\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Per a obtindre m?s informaci? sobre les opcions de l'int?rpret\n"
"d'ordres, teclegeu ?%s -c \"help set\"?.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Per a obtindre m?s informaci? sobre les ordres integrades de l'int?rpret,\n"
"teclegeu '%s -c help' .\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1713,92 +1713,92 @@ msgstr "Senyal desconeguda #"
msgid "Unknown Signal #%d"
msgstr "Senyal desconeguda #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, fuzzy, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "substituci? inv?lida: no existeix '%s' en %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: no es pot assignar la llista a un element de la matriu"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
#, fuzzy
msgid "cannot make pipe for process substitution"
msgstr "no es pot establir un conducte per a la substituci? del proc?s: %s"
-#: subst.c:4802
+#: subst.c:5027
#, fuzzy
msgid "cannot make child for process substitution"
msgstr "no es pot establir un proc?s fill per a la substituci? del proc?s: %s"
-#: subst.c:4847
+#: subst.c:5072
#, fuzzy, c-format
msgid "cannot open named pipe %s for reading"
msgstr "no es pot obrir el conducte anomenat %s per a %s: %s"
-#: subst.c:4849
+#: subst.c:5074
#, fuzzy, c-format
msgid "cannot open named pipe %s for writing"
msgstr "no es pot obrir el conducte anomenat %s per a %s: %s"
-#: subst.c:4867
+#: subst.c:5092
#, fuzzy, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
"no es pot duplicar el conducte anomenat %s\n"
"com a descripci? de fitxer %d: %s"
-#: subst.c:5063
+#: subst.c:5284
#, fuzzy
msgid "cannot make pipe for command substitution"
msgstr "no es poden establir conductes per a la substituci? de l'ordre: %s"
-#: subst.c:5097
+#: subst.c:5322
#, fuzzy
msgid "cannot make child for command substitution"
msgstr "no es pot crear un proc?s fill per a la substituci? del proc?s: %s"
-#: subst.c:5114
+#: subst.c:5339
#, fuzzy
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
"command_substitute(): el coducte no es pot duplicar\n"
"com a descripci? de fitxer 1: %s"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: par?metre nul o no ajustat"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: la sub-cadena de l'expressi? ?s < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: substituci? inv?lida"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: no es pot assignar d'aquesta manera"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "substituci? inv?lida: no existeix '%s' en %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1821,37 +1821,37 @@ msgstr "s'esperava ')'"
msgid "`)' expected, found %s"
msgstr "mentre es buscava ?)?, s'ha trobat %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: s'esperava un operador unari"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: s'esperava un operador binari"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "s'ha perdut algun ']'"
-#: trap.c:203
+#: trap.c:207
#, fuzzy
msgid "invalid signal number"
msgstr "n?mero inv?lid de senyal"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, fuzzy, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Senyal inv?lida %d"
@@ -1861,58 +1861,58 @@ msgstr "trap_handler: Senyal inv?lida %d"
msgid "error importing function definition for `%s'"
msgstr "'%s': error en importar la definici? de la funci?"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: par?metre nul o no ajustat"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: no es pot crear: %s"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -2005,7 +2005,7 @@ msgstr "test [expressi?]"
#: builtins.c:64
#, fuzzy
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-PL] [directori]"
#: builtins.c:66
@@ -2031,12 +2031,12 @@ msgstr "command [-pVv] ordre [par?metre ...]"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-afFrxi] [-p] nom[=valor] ..."
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-afFrxi] [-p] nom[=valor] ..."
#: builtins.c:80
@@ -2156,7 +2156,7 @@ msgstr "return [n]"
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o opci?] [par?metres ...]"
#: builtins.c:142
@@ -2173,7 +2173,7 @@ msgstr ""
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
"readonly [-anf] [nom ...]\n"
"o\n"
@@ -2517,14 +2517,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2540,7 +2544,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2551,7 +2555,7 @@ msgid ""
" Always succeeds."
msgstr "Cap efecte; no es fa res. Es retorna amb el codi zero com a eixida."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2559,7 +2563,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2567,7 +2571,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2586,7 +2590,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2597,6 +2601,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2616,20 +2622,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2644,7 +2650,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2675,7 +2681,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2688,7 +2694,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2715,7 +2721,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2727,7 +2733,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2768,7 +2774,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2791,7 +2797,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2800,7 +2806,7 @@ msgid ""
" is that of the last command executed."
msgstr "Finalitza l'int?rpret d'ordres amb l'estat d'N. Si s'ometeix N,"
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2809,7 +2815,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2839,7 +2845,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
#, fuzzy
msgid ""
"Move job to the foreground.\n"
@@ -2852,7 +2858,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr "Ubica la ID_TASCA en primer pla, i l'activa com a la tasca actual."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2866,7 +2872,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2890,7 +2896,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2912,7 +2918,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2946,7 +2952,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2970,7 +2976,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2987,7 +2993,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3009,7 +3015,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3051,10 +3057,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3102,7 +3108,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3114,7 +3120,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3183,6 +3189,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3196,7 +3205,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3216,7 +3225,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3235,7 +3244,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3255,7 +3264,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3266,7 +3275,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3280,7 +3289,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3294,14 +3303,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3355,6 +3367,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3371,7 +3384,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3382,7 +3395,7 @@ msgstr ""
"par?metre ha de ser el signe \"]\" perqu? es puga tancar l'expressi? que\n"
"comen?a pel signe \"[\"."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3394,7 +3407,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3410,7 +3423,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3430,7 +3451,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3460,7 +3481,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3504,7 +3525,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3522,7 +3543,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3539,7 +3560,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3553,7 +3574,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3566,7 +3587,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3583,7 +3604,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3603,7 +3624,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3619,7 +3640,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
#, fuzzy
msgid ""
"Execute commands based on pattern matching.\n"
@@ -3631,7 +3652,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr "Executa selectivament les ordres especificades en ORDRES seguint una "
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3652,7 +3673,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -3666,7 +3687,7 @@ msgstr ""
"Expandeix i executa les ordres especificades en ORDRES i els executa\n"
"de tal manera que la darrera ordre"
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -3680,7 +3701,7 @@ msgstr ""
"Expandeix i executa les ordres especificades en ORDRES i els executa\n"
"de tal manera que la darrera ordre"
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3693,7 +3714,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3707,7 +3728,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -3719,7 +3740,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr "Executa un conjunt d'ordres en un grup. A?? ?s una manera de"
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3733,7 +3754,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3744,7 +3765,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3772,7 +3793,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3826,7 +3847,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3857,7 +3878,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3884,7 +3905,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3913,7 +3934,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3934,7 +3955,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3957,6 +3978,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3964,7 +3988,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3991,7 +4015,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4004,13 +4028,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4035,7 +4059,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4063,7 +4087,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4075,7 +4100,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 5d92d8f..b2d64a0 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 579ba71..25f4043 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,8 +1,9 @@
# Czech tranlation for bash.
# Copyright (C) 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009.
+# Petr Pisar <petr.pisar@atlas.cz>, 2008, 2009, 2010, 2011.
#
+# alias → alias
# subscript → podskript
# subroutine → podprogram
# completition options → možnosti doplňování
@@ -10,10 +11,10 @@
# Názvy signálu a stavů procesu by měly souhlasit se signal(7).
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-09-23 14:23+0200\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2011-01-05 13:03+0100\n"
"Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -25,7 +26,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "chybný podskript pole"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: Äíslované pole nezle pÅ™evést na pole asociativní"
@@ -45,34 +46,34 @@ msgstr "%s: pÅ™es neÄíselný indexu nelze dosadit"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: při přiřazovaní asociativního pole se musí použít podskript"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: nelze vytvořit: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: pro příkaz nelze nalézt klávesovou mapu "
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: první nebílý znak není „\"“"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "ne zavírající „%c“ v %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: chybí dvojteÄkový oddÄ›lovaÄ"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "„%s“: chybný název klávesové mapy"
+msgstr "„%s“: chybný název aliasu"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -126,26 +127,11 @@ msgstr ""
" \n"
" Bez VÃRAZU vrátí "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "není nestavena HOME"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "není nastaveno OLDPWD"
@@ -164,11 +150,11 @@ msgstr "varování: "
msgid "%s: usage: "
msgstr "%s: užití: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "příliš mnoho argumentů"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: pÅ™epínaÄ vyžaduje argument"
@@ -206,7 +192,7 @@ msgstr "neplatné osmiÄkové Äíslo"
msgid "invalid hex number"
msgstr "chybné Å¡estnáctkové Äíslo"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "chybné Äíslo"
@@ -315,25 +301,25 @@ msgstr "varování: pÅ™epínaÄ -C možná nebude dÄ›lat, co jste Äekali"
msgid "not currently executing completion function"
msgstr "doplňovací funkce se právě nevykonává"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "může být použito jen ve funkci"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "„-f“ nezle použít na výrobu funkce"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funkce jen pro Ätení"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: takto nelze likvidovat pole"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: asociativní pole nelze pÅ™evést na Äíslované pole"
@@ -362,29 +348,29 @@ msgstr "%s: není dynamicky nahráno"
msgid "%s: cannot delete: %s"
msgstr "%s: nelze smazat: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: je adresářem"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: není obyÄejný soubor"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: soubor je příliš velký"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: binární soubor nelze spustit"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: nelze provést: %s"
@@ -403,7 +389,7 @@ msgstr "toto není login shell: použijte „exit“"
#: builtins/exit.def:120
#, c-format
msgid "There are stopped jobs.\n"
-msgstr "Jsou zde pozastavení úlohy.\n"
+msgstr "Jsou zde pozastavené úlohy.\n"
#: builtins/exit.def:122
#, c-format
@@ -414,11 +400,11 @@ msgstr "Jsou zde běžící úlohy.\n"
msgid "no command found"
msgstr "žádný příkaz nenalezen"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "urÄení historie"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: doÄasný soubor nelze otevřít: %s"
@@ -451,7 +437,7 @@ msgstr "hashování zakázáno"
msgid "%s: hash table empty\n"
msgstr "%s: tabulka hashů je prázdná\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "zásahů\tpříkaz\n"
@@ -519,76 +505,86 @@ msgstr "%s: inlib selhala"
msgid "no other options allowed with `-x'"
msgstr "s „-x“ nejsou dovoleny další pÅ™epínaÄe"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumenty musí být proces nebo identifikátor úlohy"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Neznámá chyba"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "oÄekáván výraz"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: není (proměnnou typu) pole"
+msgstr "%s: není (proměnnou typu) indexované pole"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: chybné urÄení deskriptoru souboru"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: neplatný deskriptor souboru: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: chybný poÄet řádků"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: chybný poÄátek pole"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: neplatné množství mezi voláními"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "prázdný název proměnné typu pole"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "je vyžadována podpora proměnných typu pole"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "„%s“: postrádám formátovací znak"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: chybné urÄení Äasového limitu"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "„%c“: neplatný formátovací znak"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "varování: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "u \\x chybí Å¡estnáctková Äíslovka"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "u \\x chybí Å¡estnáctková Äíslovka"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "žádný další adresář"
@@ -745,21 +741,21 @@ msgstr "chyba Ätení: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "„return“ lze provést jen z funkce nebo skriptu naÄteného pÅ™es „source“"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "funkci i promÄ›nnou nelze ruÅ¡it souÄasnÄ›"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: nelze zrušit"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: nelze zruÅ¡it: %s jen pro Ätení"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: není (proměnnou typu) pole"
@@ -773,20 +769,20 @@ msgstr "%s: není funkcí"
msgid "shift count"
msgstr "poÄet shiftů"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "pÅ™epínaÄ shellu nelze zároveň nastavit a zruÅ¡it"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: chybný název pÅ™epínaÄe shellu"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "vyžadován argument s názvem souboru"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: soubor nenalezen"
@@ -829,26 +825,26 @@ msgstr "%s je %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s je zahashován (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: chybný argument s limitou"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "„%c“: chybný příkaz"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: limit nelze zjistit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "limit"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: limit nelze změnit: %s"
@@ -904,105 +900,110 @@ msgstr "%s: nevázaná proměnná"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "Äasový limit pro Äekání na vstup vyprÅ¡el: automatické odhlášení\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aÄasový limit pro Äekání na vstup vyprÅ¡el: automatické odhlášení\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "standardní vstup nelze přesměrovat z /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: „%c“: chybný formátovací znak"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "chyba v rouře"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: omezeno: v názvu příkazu nesmí být „/“"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: příkaz nenalezen"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s je %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: chybný interpretr"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "deskriptor souboru %d nelze duplikovat na deskriptor %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "úroveň rekurze výrazu byla pÅ™ekroÄena"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "zásobník rekurze podtekl"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntaktická chyba ve výrazu"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "pokus o přiřazení do ne-proměnné"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "dělení nulou"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "chyba: chybný expassing token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "v podmínÄ›ném výrazu oÄekávána „:“"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "mocnitel menší než 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "po pÅ™ednostním zvýšení nebo snížení oÄekáván identifikátor"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "postrádám „)“"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntaktická chyba: oÄekáván operand"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntaktická chyba: chybný aritmetický operátor"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (chybný token je „%s“)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "chybný aritmetický základ"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "hodnot je pro základ příliš velká"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: chyba výrazu\n"
@@ -1011,165 +1012,165 @@ msgstr "%s: chyba výrazu\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: rodiÄovské adresáře nejsou přístupné"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "na deskriptoru %d nelze resetovat režim nodelay"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "nový deskriptor souboru pro vstup bashe z deskr. %d nelze alokovat"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffer již pro nový deskriptor %d existuje"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp roury"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "forknutý PID %d se objevil v běžící úloze %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "mažu pozastavenou úlohu %d se skupinou procesů %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: proces %5ld (%s) do the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: PID %5ld (%s) oznaÄen za stále živého"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: žádný takový PID"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signál %d"
# XXX: (úloha) dokonÄna. Používat ženský rod i unásledujících. Jedná se
# o výpis úloh.
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "DokonÄena"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Pozastavena"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Pozastavena (%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Běží"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "DokonÄena (%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "UkonÄena %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Stav neznámý"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(core dumped [obraz paměti uložen]) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (cwd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid na potomku (z %ld na %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: PID %ld není potomkem tohoto shellu"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Žádný záznam o procesu %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: úloha %d je pozastavena"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: úloha skonÄila"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: úloha %d je již na pozadí"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: zapíná se WNOHANG, aby se zabránilo neurÄitému zablokování"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: řádek %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (core dumped [obraz paměti uložen])"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(cwd nyní: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp selhalo"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: disciplína linky"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "nelze nastavit skupinu procesů terminálu (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "žádná správa úloh v tomto shellu"
@@ -1264,22 +1265,22 @@ msgstr "síťové operace nejsou podporovány"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: národní prostředí nelze změnit (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: národní prostředí nelze změnit (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: nelze alokovat %'lu bajtů"
+msgstr "setlocale: %s: národní prostředí nelze změnit (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: nelze alokovat %'lu bajtů"
+msgstr "setlocale: %s: národní prostředí nelze změnit (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1322,102 +1323,102 @@ msgstr "„here“ dokument na řádku %d ukonÄen koncem souboru (požadováno
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: instrukce přesměrování „%d“ mimo rozsah"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "neoÄekávaný konec souboru pÅ™i hledání znaku odpovídajícímu „%c“"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "neoÄekávaný konec souboru pÅ™i hledání „]]“"
# XXX: Condional means condition (adj.) probably. Can English distinguish
# between the condition (podmínkový) and the code branch (podmíněný)? Check
# for all "conditional" string occurences.
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "chyba syntaxe ve výrazu podmínky: neoÄekávaný token „%s“"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "chyba syntaxe ve výrazu podmínky"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "neoÄekávaný token „%s“, oÄekávána „)“"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "oÄekávána „)“"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "neoÄekávaný argument „%s“ u podmínkového unárního operátoru"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "neoÄekávaný argument u podmínkového unárního operátoru"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "neoÄekávaný token „%s“, oÄekáván podmínkový binární operátor"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "oÄekáván podmínkový binární operátor"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "neoÄekávaný argument „%s„ u podmínkového binárního operátoru"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "neoÄekávaný argument u podmínkového binárního operátoru"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "neoÄekávaný token „%c“ v podmínkovém příkazu"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "neoÄekávaný token „%s“ v podmínkovém příkazu"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "neoÄekávaný token %d v podmínkovém příkazu"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "chyba syntaxe poblíž neoÄekávaného tokenu „%s“"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "chyba syntaxe poblíž „%s“"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "chyba syntaxe: nenadálý konec souboru"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "chyba syntaxe"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Shell lze ukonÄit příkazem „%s“.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "nenadálý konec souboru při hledání odpovídající „)“"
@@ -1426,77 +1427,78 @@ msgstr "nenadálý konec souboru při hledání odpovídající „)“"
msgid "completion: function `%s' not found"
msgstr "doplňování: funkce „%s“ nenalezena"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULLOVÃ COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: chybná propojka „%d“"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: neplatný deskriptor souboru: %s"
+msgstr "xtrace_set: %d: neplatný deskriptor souboru"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: nullový ukazatel na souboru"
-#: print_cmd.c:372
+# fd, fp a fileno jsou identifikátory v kódu
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace: fd (%d) != fileno fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: „%c“: chybný formátovací znak"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "deskriptor souboru mimo rozsah"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: nejednoznaÄné pÅ™esmÄ›rování"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: existující soubor nelze přepsat"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: omezeno: výstup nelze přesměrovat"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "pro „here“ dokument nelze vytvoÅ™it doÄasný soubor: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: seznam nelze přiřadit do prvku pole"
+msgstr "%s: deskriptor souboru nelze přiřadit do proměnné"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port není bez síťování podporováno"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "chyba přesměrování: deskriptor souboru nelze duplikovat"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "nelze nalézt /tmp, vytvořte jej, prosím!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp musí být platným názvem pro adresář"
@@ -1505,16 +1507,16 @@ msgstr "/tmp musí být platným názvem pro adresář"
msgid "%c%c: invalid option"
msgstr "%c%c: chybný pÅ™epínaÄ"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Nemám žádné jméno!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, verze %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1523,43 +1525,43 @@ msgstr ""
"Použití:\t%s [Dlouhý GNU pÅ™epínaÄ] [pÅ™epínaÄ]…\n"
"\t%s [Dlouhý GNU pÅ™epínaÄ] [pÅ™epínaÄ] skriptový_soubor…\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Dlouhé GNU pÅ™epínaÄe:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "PÅ™epínaÄe shellu:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD nebo -c příkaz nebo -O shopt_pÅ™epínaÄ\t(pouze pÅ™i vyvolání)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s nebo -o pÅ™epínaÄ\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Podrobnosti o pÅ™epínaÄích shellu získáte tím, že napíšete „%s -c \"help set"
"\"“.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Podrobnosti o příkazech vestavěných do shellu získáte tím, že\n"
"napište „%s -c help“.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Chyby nahlásíte příkazem „bashbug“.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: neplatná operace"
@@ -1737,83 +1739,85 @@ msgstr "Neznámé Äíslo signálu"
msgid "Unknown Signal #%d"
msgstr "Neznámý signál Ä. %d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "chybná substituce: v %2$s chybí uzavírací „%1$s“"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: seznam nelze přiřadit do prvku pole"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "nelze vyrobit rouru za úÄelem substituce procesu"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "nelze vytvoÅ™it potomka za úÄelem substituce procesu"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "pojmenovanou rouru %s nelze otevřít pro Ätení"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "pojmenovanou rouru %s nelze otevřít pro zápis"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "pojmenovanou rouru %s nelze zdvojit jako deskriptor %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "nelze vytvořit rouru pro substituci příkazu"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "nelze vytvořit potomka pro substituci příkazu"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: rouru nelze zdvojit jako deskriptor 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametr null nebo nenastaven"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: výraz podřetězce < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: chybná substituce"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: takto nelze přiřazovat"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"budoucá verze tohoto shellu budou vynucovat vyhodnocení jako aritmetickou "
+"substituci"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "chybná substituce: v %s chybí uzavírací „`“"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "žádná shoda: %s"
@@ -1836,36 +1840,36 @@ msgstr "oÄekávána „)“"
msgid "`)' expected, found %s"
msgstr "oÄekávána „)“, nalezeno %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: oÄekáván unární operátor"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: oÄekáván binární operátor"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "postrádám „]“"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "neplatné Äíslo signálu"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: chybná hodnota v trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr "run_pending_traps: obsluha signálu je SIG_DFL, přeposílám %d (%s) sobě"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: chybný signál %d"
@@ -1875,58 +1879,59 @@ msgstr "trap_handler: chybný signál %d"
msgid "error importing function definition for `%s'"
msgstr "chyba při importu definice „%s“"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "úroveň shellu (%d) příliš vysoká, resetuji na 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: žádný kontext funkce v aktuálním rozsahu"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: žádný kontext funkce v aktuálním rozsahu"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: parametr null nebo nenastaven"
+msgstr "%s: má nullový exportstr"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "neplatný znak %d v exportstr pro %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "v exportstr pro %s chybí „=“"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: hlava shell_variables není kontextem funkce"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: chybí kontext global_variables"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: hlava shell_variables není doÄasným rozsahem prostÅ™edí"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: nelze otevřít: %s"
+msgstr "%s: %s: nelze otevřít jako SOUBOR"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: neplatný deskriptor souboru: %s"
+msgstr "%s: %s: neplatná hodnota pro deskriptor trasovacího souboru"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright © 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1953,38 +1958,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "VEÅ KERÉ ZÃRUKY chybí, jak jen zákon dovoluje.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright © 2009 Free Software Foundation, Inc."
+msgstr "Copyright © 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Licence GPLv3+: GNU GPL verze 3 nebo novější <http://gnu.org/licenses/gpl."
+"Licence GPLv2+: GNU GPL verze 2 nebo novější <http://gnu.org/licenses/gpl."
"html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: nelze alokovat %'lu bajtů (%'lu bajtů alokováno)"
+msgstr "%s: nelze alokovat %'lu bajtů (alokováno %'lu bajtů)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: nezle alokovat %'lu bajtů"
+msgstr "%s: nezle alokovat %'lu bajtů"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s:%d: nelze alokovat %'lu bajtů (%'lu bajtů alokováno)"
+msgstr "%s: %s:%d: nelze alokovat %'lu bajtů (alokováno %'lu bajtů)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: nelze alokovat %'lu bajtů"
+msgstr "%s: %s:%d: nelze alokovat %'lu bajtů"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2020,7 +2025,8 @@ msgid "caller [expr]"
msgstr "caller [výraz]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [adr]"
#: builtins.c:66
@@ -2044,11 +2050,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] příkaz [argument…]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [název[=hodnota]…]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] název[=hodnota]…"
#: builtins.c:80
@@ -2105,9 +2113,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p název_cesty] [-dt] [název…]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [vzorek…]"
+msgstr "help [-dms] [vzorek…]"
#: builtins.c:121
msgid ""
@@ -2137,20 +2144,20 @@ msgid "let arg [arg ...]"
msgstr "let argument [argument…]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a pole] [-d oddÄ›lovaÄ] [-i text] [-n p_znaků] [-p výzva] [-t "
-"limit] [-u fd] [jméno…]"
+"read [-ers] [-a pole] [-d oddÄ›lovaÄ] [-i text] [-n p_znaků] [-N p_znaků] [-p "
+"výzva] [-t limit] [-u fd] [jméno…]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o název_pÅ™epínaÄe] [argument…]"
#: builtins.c:142
@@ -2162,7 +2169,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [název[=hodnota] …] nebo export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [název[=hodnota] …] nebo readonly -p"
#: builtins.c:148
@@ -2303,14 +2311,13 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v proměnná] formát [argumenty]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o pÅ™epínaÄ] [-A akce] [-G globvzor] [-W "
-"seznam_slov] [-F funkce] [-C příkaz] [-X filtrvzor] [-P předpona] [-S "
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o pÅ™epínaÄ] [-A akce] [-G globvzor] [-"
+"W seznam_slov] [-F funkce] [-C příkaz] [-X filtrvzor] [-P předpona] [-S "
"přípona] [název…]"
#: builtins.c:233
@@ -2323,9 +2330,8 @@ msgstr ""
"přípona] [slovo]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o možnost] [název…]"
+msgstr "compopt [-o|+o možnost] [-DE] [název…]"
#: builtins.c:240
msgid ""
@@ -2563,6 +2569,7 @@ msgstr ""
" Vrací 0, pokud shell provádí shellovou funkci a VÃRAZ je platný."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2588,11 +2595,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Změní pracovní adresář shellu.\n"
" \n"
@@ -2621,7 +2632,7 @@ msgstr ""
" Návratový kód:\n"
" Vrací 0, byl-li adresář změněn, jinak nenulovou hodnotu."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2649,7 +2660,7 @@ msgstr ""
" Vrací 0, nebyl-li zadán neplatný pÅ™epínaÄ a mohl-li být souÄasný\n"
" adresář pÅ™eÄten."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2665,7 +2676,7 @@ msgstr ""
" Návratový kód:\n"
" Vždy uspěje."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2677,7 +2688,7 @@ msgstr ""
" Návratový kód:\n"
" Vždy uspěje."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2689,7 +2700,7 @@ msgstr ""
" Návratový kód:\n"
" Vždy selže."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2724,7 +2735,8 @@ msgstr ""
" Návratový kód:\n"
" Vrací návratový kód PŘÃKAZU, nebo selže, nebyl–li příkaz nalezen."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2735,6 +2747,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2754,7 +2768,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2792,7 +2806,7 @@ msgstr ""
" Návratový kód:\n"
" Vrací úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nedoÅ¡lo k chybÄ›."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2802,7 +2816,7 @@ msgstr ""
" \n"
" Příkaz je zastaralý. Vizte „help declare“."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2820,7 +2834,7 @@ msgstr ""
" \n"
" Vytvoří lokální promÄ›nnou pojmenovanou NÃZEV a pÅ™iÅ™adí jí HODNOTU. "
"PŘEPÃNAÄŒ\n"
-" smí může být jakýkoliv pÅ™epínaÄ přípustný u „declare“\n"
+" smí být jakýkoliv pÅ™epínaÄ přípustný u „declare“.\n"
" \n"
" Lokální proměnné lze použít jen uvnitř funkcí, budou viditelné jen "
"v dané\n"
@@ -2830,7 +2844,7 @@ msgstr ""
" Vrací úspÄ›ch, nebyl-li zadán neplatný pÅ™epínaÄ, nenastala-li chyba a\n"
" vykonává-li shell funkci."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2891,7 +2905,7 @@ msgstr ""
" Návratový kód:\n"
" Vrací úspěch, nedojde-li k chybě zápisu na výstup."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2912,7 +2926,7 @@ msgstr ""
" \n"
" Vrací úspěch, nedojte-li k chybě zápisu na výstup."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2966,7 +2980,7 @@ msgstr ""
" Vrací úspÄ›ch, je-li NÃZEV vestavÄ›ným příkazem shellu a nevyskytne-li\n"
" se chyba."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2984,7 +2998,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí návratový kód příkazu, nebo úspěch, byl-li příkaz prázdný."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3067,7 +3081,7 @@ msgstr ""
"dojde\n"
" na konec pÅ™epínaÄů nebo nastane-li chyba."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3108,7 +3122,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud byl PŘÃKAZ nalezen a nedoÅ¡lo k chybÄ› pÅ™esmÄ›rování."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3120,7 +3134,7 @@ msgstr ""
" UkonÄí tento shell se stavem N. Bez N bude návratový kód roven kódu\n"
" posledně prováděného příkazu."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3133,7 +3147,7 @@ msgstr ""
" UkonÄí pÅ™ihlaÅ¡ovací (login) shell se stavem N. Nebyl-li příkaz zavolán\n"
" z přihlašovacího shellu, vrátí chybu."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3186,7 +3200,7 @@ msgstr ""
" Vrátí úspěch nebo kód provedeného příkazu. Nenulový kód, vyskytne-li se\n"
" chyba."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3207,7 +3221,7 @@ msgstr ""
" Návratový kód:\n"
" Kód úlohy přesunuté do popředí, nebo došlo-li k chybě, kód selhání."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3229,7 +3243,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspěch, pokud je správa úloh zapnuta a nedošlo-li k nějaké chybě."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3273,7 +3287,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud byl NÃZEV nalezen a nebyl-li zadán neplatný pÅ™epínaÄ."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3314,7 +3328,7 @@ msgstr ""
" Vrací úspÄ›ch, pokud byl nalezen VZOREK a nebyl zadán neplatný pÅ™epínaÄ."
# FIXME: bash-4.0-pre1: Orphaned line between -w and -p option. It belongs to -n.
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3379,7 +3393,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nedoÅ¡lo k chybÄ›."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3424,7 +3438,7 @@ msgstr ""
"chyba.\n"
" Byl-ly použit pÅ™epínaÄ -x, vrátí návratový kód PŘÃKAZU."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3454,7 +3468,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ nebo ÚLOHA."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3495,7 +3509,8 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nedoÅ¡lo k chybÄ›."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3537,7 +3552,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Vyhodnotí aritmetický výraz.\n"
" \n"
@@ -3582,8 +3597,7 @@ msgstr ""
" Pokud poslední ARGUMENT je vyhodnocen na 0, let vrátí 1. Jinak je\n"
" navrácena 0."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3630,7 +3644,7 @@ msgid ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-"NaÄte ze standardního vstupu jeden řádek a rozdÄ›lí jej na položy.\n"
+"NaÄte ze standardního vstupu jeden řádek a rozdÄ›lí jej na položky.\n"
" \n"
" Ze standardního vstupu, nebo deskriptoru souboru FD, je-li zadán\n"
" pÅ™epínaÄ -u, je naÄten jeden řádek. Řádek se rozdÄ›lí na Äásti jako pÅ™i\n"
@@ -3640,26 +3654,29 @@ msgstr ""
" posledního JMÉNA. Pouze znaky uvedené v $IFS jsou považovány za\n"
" oddÄ›lovaÄe slov.\n"
" \n"
-" Nejsou-li uvedeny žádná JMÉNA, naÄtený řádek bude uložen do promÄ›nné "
+" Nejsou-li uvedena žádná JMÉNA, naÄtený řádek bude uložen do promÄ›nné "
"REPLY.\n"
" \n"
" PÅ™epínaÄe:\n"
" -a pole\tnaÄtená slova budou pÅ™iÅ™azena do postupných prvků POLE\n"
-" \t\tpoÄínaje nulou\n"
+" \t\tpoÄínaje indexem nula\n"
" -d oddÄ›lovaÄ\tpokraÄuje, dokud není naÄten první znak ODDÄšLOVAÄŒE\n"
" \t\tnamísto nového řádku\n"
" -e\t\tv interaktivním shellu bude řádek naÄten pomocí Readline\n"
" -i text\tpoužije TEXT jako prvotní text pro Readline\n"
-" -n p_znaků\tvrátí řízení po naÄtení P_ZNAKÅ® znaků, aniž by Äekal na\n"
-" \t\tnový řádek\n"
+" -n p_znaků\tvrátí řízení po naÄtení P_ZNAKÅ® znaků, místo Äekání na\n"
+" \t\tnový řádek, avÅ¡ak respektuje oddÄ›lovaÄ, je-li ménÄ› než P_ZNAKÅ®\n"
+" -N p_znaků\tvrátí řízení pouze po naÄtení pÅ™esnÄ› P_ZNAKÅ® znaků,\n"
+" \t\tpokud se neobjeví konec souboru nebo nevyprší limit,\n"
+" \t\tignoruje jakýkoliv oddÄ›lovaÄ\n"
" -p výzva\tvypíše Å™etÄ›zec VÃZVA bez závÄ›reÄného nového řádku dříve,\n"
" \t\tnež se zahájí naÄítání\n"
" -r\t\tnepovolí zpětná lomítka pro escapování jakýchkoliv znaků\n"
" -s\t\tvstup pocházející z terminálu nebude zobrazován\n"
" -t limit\tumožní vyprÅ¡ení Äasového limitu a vrácení chyby, pokud\n"
" \t\tnebude naÄten celý řádek do LIMIT sekund. Hodnota promÄ›nné\n"
-" \t\tTIMOUT představuje implicitní limit. TIMEOUT smí být desetinné\n"
-" \t\tÄíslo. Je-li TIMEOUT 0, read vrátí úspÄ›ch, jen bude-li na zadaném\n"
+" \t\tTMOUT představuje implicitní limit. LIMIT smí být desetinné\n"
+" \t\tÄíslo. Je-li LIMIT 0, read vrátí úspÄ›ch, jen bude-li na zadaném\n"
" \t\tdeskriptoru souboru připraven vstup. Návratový kód bude větší než\n"
" \t\t128, pokud Äasový limit bude pÅ™ekroÄen.\n"
" -u fd\t\tÄte z deskriptoru souboru FD namísto standardního vstupu\n"
@@ -3669,7 +3686,7 @@ msgstr ""
" pro Ätení nevyprší nebo není poskytnut neplatný deskriptor souboru jako\n"
" argument -u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3691,7 +3708,8 @@ msgstr ""
" Návratová hodnota:\n"
" Vrátí N, nebo selže, pokud shell neprovádí funkci nebo skript."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3760,6 +3778,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3857,7 +3878,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspěch, pokud nebyl zadán neplatný argument."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3894,7 +3915,7 @@ msgstr ""
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a JMÉNO není jen pro\n"
" Ätení."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3929,7 +3950,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ nebo NÃZEV."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3967,7 +3988,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ nebo NÃZEV."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3985,7 +4006,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspěch, pokud N není záporný a není větší než $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4009,7 +4030,7 @@ msgstr ""
" Vrací návratový kód posledního provedeného příkazu z NÃZVU_SOUBORU.\n"
" Selže, pokud NÃZEV_SOUBORU nelze naÄíst."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4033,14 +4054,18 @@ msgstr ""
" Návratový kód:\n"
" Vrací úspěch, pokud je správa úloh zapnuta a nevyskytla se chyba."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4094,6 +4119,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4191,7 +4217,7 @@ msgstr ""
" Vrací úspÄ›ch, je-li VÃRAZ vyhodnocen jako pravdivý. Selže, je-li VÃRAZ\n"
" vyhodnocen jako nepravdivý nebo je-li zadán neplatný argument."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4203,7 +4229,7 @@ msgstr ""
" Toto je synonymum pro vestavěný příkaz „test“, až na to, že poslední\n"
" argument musí být doslovně „]“, aby se shodoval s otevírající „[“."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4223,7 +4249,8 @@ msgstr ""
" Návratový kód:\n"
" Vždy uspěje."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4239,7 +4266,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4294,7 +4329,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud SIGSPEC a zadané pÅ™epínaÄe jsou platné."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4350,7 +4385,7 @@ msgstr ""
" Vrátí úspÄ›ch, pokud vÅ¡echny NÃZVY byly nalezeny. Selže, pokud nÄ›které\n"
" nalezeny nebyly."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4434,7 +4469,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vrací úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nevyskytla se chyba."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4467,7 +4502,7 @@ msgstr ""
" Návratový kód\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný MÓD nebo pÅ™epínaÄ."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4495,7 +4530,7 @@ msgstr ""
" Vrátí kód ID, selže, pokud ID není platný nebo byl zadán neplatný "
"pÅ™epínaÄ."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4519,7 +4554,7 @@ msgstr ""
" Vrátí kód ID, selže, pokud ID není platný nebo byl zadán neplatný "
"pÅ™epínaÄ."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4543,7 +4578,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy provedeného příkazu."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4572,7 +4607,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy vykonaného příkazu."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4614,7 +4649,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy prováděného příkazu."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4645,7 +4680,7 @@ msgstr ""
" Návratový kód:\n"
" Návratová hodnota je návratová hodnota KOLONY."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4663,7 +4698,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy provedeného příkazu."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4698,7 +4733,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy provedeného příkazu."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4717,7 +4752,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy provedeného příkazu."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4735,7 +4770,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy provedeného příkazu."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4757,7 +4792,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí návratový kód PŘÃKAZU."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4782,7 +4817,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud NÃZEV není jen pro Ätení."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4799,7 +4834,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód naposledy spuštěného příkazu."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4824,7 +4859,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí kód obnovené úlohy."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4846,7 +4881,7 @@ msgstr ""
# příkaz, který by byl vykonán na základě splnění jiné podmínky. Tj. překlad
# „podmíněný příkaz“ je chybný.
# Toto je nápověda k vestavěnému příkazu „[“.
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4898,7 +4933,7 @@ msgstr ""
" Návratový kód:\n"
" 0 nebo 1 podle hodnoty VÃRAZU."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5003,7 +5038,7 @@ msgstr ""
" \t\trozlišení, které příkazy by měly být uloženy do seznamu\n"
" \t\thistorie.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5060,7 +5095,7 @@ msgstr ""
" Vrátí úspěch, pokud nebyl zadán neplatný argument a změna adresáře\n"
" neselhala."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5110,7 +5145,7 @@ msgstr ""
" Vrátí úspěch, pokud nebyl zadán neplatný argument nebo neselhala změna\n"
" adresáře."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5161,7 +5196,7 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nevyskytla se chyba."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5199,7 +5234,8 @@ msgstr ""
" Vrátí úspÄ›ch, je-li NÃZEV_VOLBY zapnut. Selže, byl-li zadán neplatný\n"
" pÅ™epínaÄ nebo je-li NÃZEV_VOLBY vypnut."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5222,6 +5258,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5254,8 +5293,7 @@ msgstr ""
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nedoÅ¡lo k chybÄ›\n"
" zápisu nebo přiřazení."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5285,21 +5323,26 @@ msgstr ""
" \n"
" Pro každý NÃZEV udává, jak se budou doplňovat argumenty. Nejsou-li\n"
" zadány žádné pÅ™epínaÄe, budou vypsány existující pravidla doplňování\n"
-" v podobě vhodné pro jejich znovu užití na vstupu.\n"
+" v podobě vhodné pro jejich znovu užití jako vstup.\n"
" \n"
" PÅ™epínaÄe:\n"
" -p\tvypíše existující pravidla doplňování v znovu použitelném tvaru\n"
" -r\todstraní pro každý NÃZEV doplňovací pravidlo, nebo není-li zadán\n"
" \tžádný NÃZEV, zruší vÅ¡echna pravidla\n"
+" -D\tpoužije pravidla doplňování a akce jako implicitní pro příkazy,\n"
+" \tkteré nemají žádné urÄité pravidlo doplňování definováno\n"
+" -E\tpoužije pravidla doplňování á akce na „prázdné“ příkazy –\n"
+" \tpravidla doplňování se uplatní na prázdný řádek\n"
" \n"
-" Při doplňování se akce uplatňují v pořadí, v jakém by byla tímto "
-"příkazem\n"
-" vypsána pravidla psaná velkými písmeny.\n"
+" Použije-li se doplňování, akce se uplatní v pořadí, v jakém jsou "
+"vypsány\n"
+" pÅ™epínaÄe psané velkými písmeny výše. PÅ™epínaÄ -D má pÅ™ednost pÅ™ed\n"
+" pÅ™epínaÄem -E.\n"
" \n"
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nevyskytla se chyba."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5320,14 +5363,14 @@ msgstr ""
" Návratový kód:\n"
" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a nevyskytla se chyba."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5355,11 +5398,13 @@ msgstr ""
" \n"
" PozmÄ›ní možnosti doplňování každého NÃZVU, nebo, není-li zadán žádný\n"
" NÃZEV, právÄ› provádÄ›ného doplňování. Nejsou-li zadány žádné MOŽNOSTI,\n"
-" vypíše možnost doplňování každého NÃZVU nebo definic právÄ› provádÄ›ného\n"
+" vypíše možnosti doplňování každého NÃZVU nebo definic právÄ› provádÄ›ného\n"
" doplňování.\n"
" \n"
" PÅ™epínaÄe:\n"
" \t-o možnost\tNastaví možnost doplňování MOŽNOST každému NÃZVU\n"
+" \t-D\t\tZmění možnosti doplňování „implicitnímu“ příkazu\n"
+" \t-E\t\tZmění možnosti doplňování „prázdnému“ příkazu\n"
" \n"
" Pomocí „+o“ namísto „-o“ zadanou možnost vypnete.\n"
" \n"
@@ -5377,7 +5422,7 @@ msgstr ""
"definováno\n"
" pravidlo doplňování."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5406,7 +5451,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5417,13 +5463,12 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
-"NaÄte řádky ze souboru do promÄ›nné typu pole.\n"
+"NaÄte řádky ze standardního vstupu do promÄ›nné typu indexované pole.\n"
" \n"
" NaÄte řádky ze standardního vstupu nebo z deskriptoru souboru FD, byl-"
"li\n"
-" zadán pÅ™epínaÄ -u, do promÄ›nné POLE, která je typu pole. Implicitním "
-"POLEM\n"
-" je proměnná MAPFILE.\n"
+" zadán pÅ™epínaÄ -u, do promÄ›nné POLE, která je typu indexované pole.\n"
+" Implicitním POLEM je proměnná MAPFILE.\n"
" \n"
" PÅ™epínaÄe:\n"
" -n poÄet\tZkopíruje nejvýše POÄŒET řádků. Je-li POÄŒET 0,\n"
@@ -5431,7 +5476,7 @@ msgstr ""
" -O poÄátek\tPÅ™iÅ™azování do POLE zaÄne na indexu POÄŒÃTEK.\n"
" \t\tImplicitní index je 0.\n"
" -s poÄet\tZahodí prvních POÄŒET naÄtených řádků.\n"
-" -t\t\tOdstraní znaky konce řádku z každého naÄteného řádku.\n"
+" -t\t\tOdstraní znak konce řádku z každého naÄteného řádku.\n"
" -u fd\t\tŘádky Äte z deskriptoru souboru FD namísto ze\n"
" \t\tstandardního vstupu.\n"
" -C volání\tVyhodnotí VOLÃNà pokaždé, když je naÄteno MNOŽSTVÃ\n"
@@ -5440,8 +5485,7 @@ msgstr ""
" \t\tkaždým zavoláním VOLÃNÃ.\n"
" \n"
" Argumenty:\n"
-" POLE\t\tNázev proměnné typu pole, do které budou přiřazena data\n"
-" \t\tze souboru.\n"
+" POLE\t\tNázev proměnné typu pole, do které budou přiřazena data.\n"
" \n"
" Je-li uvedeno -C bez -c, implicitní množství bude 5000. Vyhodnocovanému\n"
" VOLÃNà bude jako dodateÄný argument pÅ™edán index prvku pole, do kterého\n"
@@ -5451,10 +5495,10 @@ msgstr ""
" než do nÄ›j zaÄne pÅ™iÅ™azovat.\n"
" \n"
" Návratový kód:\n"
-" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ a POLE nebylo jen pro\n"
-" Ätení."
+" Vrátí úspÄ›ch, pokud nebyl zadán neplatný pÅ™epínaÄ, POLE nebylo jen pro\n"
+" Ätení a bylo indexovaným polem."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5464,6 +5508,27 @@ msgstr ""
" \n"
" Synonymum pro „mapfile“."
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". S VÃRAZEM vrátí\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "; tato dodateÄná informace může být\n"
+#~ " použita jako výpis zásobníku volání.\n"
+#~ " \n"
+#~ " Hodnota VÃRAZU urÄuje, kolik rámců volání jít zpÄ›t pÅ™ed souÄasný,\n"
+#~ " vrcholový rámec je rámce 0."
+
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr "xrealloc: nelze přealokovat %'lu bajtů (%'lu bajtů alokováno)"
diff --git a/po/de.gmo b/po/de.gmo
index eadb264..61eb8bc 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index a532a09..5e97c33 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,13 +1,13 @@
-# German language file for GNU Bash 4.0
+# German language file for GNU Bash 4.1
# Copyright (C) 1996 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Nils Naumann <nnau@gmx.net>, 1996, 2009.
+# Nils Naumann <nnau@gmx.net>, 1996, 2009, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-09-14 20:37+0200\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-05-18 20:21+0200\n"
"Last-Translator: Nils Naumann <nnau@gmx.net>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "Falscher Feldbezeichner."
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: Kann nicht das indizierte in ein assoziatives Array umwandeln."
@@ -41,36 +41,36 @@ msgstr ""
"%s: %s: Ein Feldbezeicher wird zum Zuweisen eines assoziativen Arrays "
"benötigt."
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: Kann die Datei %s nicht erzeugen."
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: Kann nicht die Tastenzuordnung für das Kommando "
"finden."
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr " %s: Das erste nicht Leerzeichen ist nicht `\\'."
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "fehlende schließende `%c' in %s."
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: Fehlender Doppelpunkt."
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "`%s': Ungültiger KEYMAP Name."
+msgstr "`%s': Ungültiger Alias Name."
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -122,26 +122,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME ist nicht zugewiesen."
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD ist nicht zugewiesen."
@@ -161,11 +146,11 @@ msgstr "Warnung: "
msgid "%s: usage: "
msgstr "%s: Gebrauch: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "Zu viele Argumente."
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: Ein numerischer Paremeter ist erforderlich."
@@ -203,7 +188,7 @@ msgstr "Ungültige Oktalzahl."
msgid "invalid hex number"
msgstr "Ungültige hexadezimale Zahl."
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "Ungültige Zahl."
@@ -239,7 +224,7 @@ msgstr "%s ist außerhalb des Gültigkeitsbereiches."
#: builtins/common.c:282
#, c-format
msgid "%s: no such job"
-msgstr "%s: Kein solche Job."
+msgstr "%s: Kein solcher Job."
#: builtins/common.c:290
#, c-format
@@ -312,25 +297,25 @@ msgstr "Warnung: Die -C Option könnte unerwartete Ergebnisse liefern."
msgid "not currently executing completion function"
msgstr "Gegenwärtig wird keine Komplettierungsfunktion ausgeführt."
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "kann nur innerhalb einer Funktion benutzt werden."
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "Mit `-f' können keine Funktionen erzeugt werden."
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: Schreibgeschützte Funktion."
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: Kann Feldvariablen nicht auf diese Art löschen."
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -360,29 +345,29 @@ msgstr "%s: Ist nicht dynamisch geladen."
msgid "%s: cannot delete: %s"
msgstr "%s: Kann nicht löschen: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: ist ein Verzeichnis."
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: Ist keine normale Datei."
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: Die Datei ist zu groß."
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: Kann die Datei nicht ausführen."
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: Kann nicht ausführen: %s"
@@ -410,11 +395,11 @@ msgstr "Es gibt noch laufende Prozesse.\n"
msgid "no command found"
msgstr "Kein Kommando gefunden."
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: Kann die tempräre Datei nicht öffnen: %s"
@@ -447,7 +432,7 @@ msgstr "Hashing deaktiviert."
msgid "%s: hash table empty\n"
msgstr "%s: Die Hashtabelle ist leer.\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "Treffer\tBefehl\n"
@@ -514,76 +499,86 @@ msgstr "%s: inlib gescheitert."
msgid "no other options allowed with `-x'"
msgstr "Keine weiteren Optionen mit `-x' erlaubt."
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: Die Argumente müssen Prozess- oder Jobbezeichnungen sein."
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Unbekannter Fehler."
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "Ausdruck erwartet."
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: Ist kein Array."
+msgstr "%s: Ist kein indiziertes Array."
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: Ungültiger Dateibezeichner: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: Ungültige Zeilenanzahlangabe."
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: Ungültiger Zeilenindex für den Array Beginn."
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr ""
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "Fehlender Name für die Array Variable."
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "Die Array Variablen Unterstützung ist in dieser Shell nicht vorhanden."
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': Fehlendes Formatierungszeichen."
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: Ungültige Wartezeitangebe."
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': Ungültiges Formatierungszeichen."
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "Warnung: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "Fehlende hexadezimale Ziffer nach \\x."
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "Fehlende hexadezimale Ziffer nach \\x."
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "kein anderes Verzeichnis"
@@ -598,7 +593,7 @@ msgstr "Der Verzeichnisstapel ist leer."
#: builtins/pushd.def:508
msgid "directory stack index"
-msgstr ""
+msgstr "Verzeichnisstapelindex"
#: builtins/pushd.def:683
#, fuzzy
@@ -631,7 +626,8 @@ msgstr ""
"\n"
" Optionen:\n"
" -c Verzeichnisstapel durch Löschen aller Einträge bereinigen.\n"
-" -l "
+" -l Das Heimatverzeichnis wird nicht mit vorangestellter Tilde\n"
+" ausgegeben"
#: builtins/pushd.def:705
msgid ""
@@ -734,24 +730,25 @@ msgstr "Lesefehler: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
+"Gleichzeitiges `unset' einer Funktion und einer Variable ist nicht möglich."
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
-msgstr ""
+msgstr "%s: `unset' nicht möglich."
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
-msgstr ""
+msgstr "%s: `unset' nicht möglich: Schreibgeschützt %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
-msgstr "%s: Ist kein Array."
+msgstr "%s: Ist keine Feldvariable."
#: builtins/setattr.def:186
#, c-format
@@ -760,29 +757,29 @@ msgstr "%s: Ist keine Funktion."
#: builtins/shift.def:71 builtins/shift.def:77
msgid "shift count"
-msgstr ""
+msgstr "Verschiebezähler"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "Kann nicht Shell Optinen gleichzeitig aktivieren und deaktivieren."
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
-msgstr ""
+msgstr "%s: Ungültiger Shell Optionen Name."
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "Ein Dateiname wird as Argument benötigt."
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: Datei nicht gefunden."
#: builtins/suspend.def:101
msgid "cannot suspend"
-msgstr ""
+msgstr "Kann die Shell nicht unterbrechen."
# logout
#: builtins/suspend.def:111
@@ -792,7 +789,7 @@ msgstr "Kann die Loginshell nicht unterbrechen."
#: builtins/type.def:234
#, c-format
msgid "%s is aliased to `%s'\n"
-msgstr ""
+msgstr "%s ist ein Alias von `%s'.\n"
#: builtins/type.def:255
#, c-format
@@ -819,33 +816,33 @@ msgstr "%s ist %s\n"
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': Falsches Kommando."
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: Kann die nicht Grenze setzen: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "Grenze"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: Kann die Grenze nicht ändern: %s"
#: builtins/umask.def:118
msgid "octal number"
-msgstr ""
+msgstr "Oktalzahl"
#: builtins/umask.def:231
#, c-format
@@ -895,106 +892,111 @@ msgstr "%s ist nicht gesetzt."
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "Zu lange keine Eingabe: Automatisch ausgeloggt.\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aZu lange keine Eingabe: Automatisch ausgeloggt.\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "Kann nicht die Standardeingabe von /dev/null umleiten: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': Ungültiges Formatzeichen."
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "Pipe-Fehler"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: Verboten: `/' ist in Kommandonamen unzulässig."
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: Kommando nicht gefunden."
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s ist %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: Defekter Interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "Kann fd %d nicht auf fd %d verdoppeln."
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "Zu viele Rekursionen in Ausdruck."
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "Rekursionsstapel leer."
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "Syntaxfehler im Ausdruck."
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "Zuweisung zu einer Nicht-Variablen versucht."
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "Division durch 0."
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "Fehler: Falscher Zuweisungsoperator."
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "`:' erwartet für ein bedingten Ausdruck."
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "Der Exponent ist kleiner als 0."
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
"Nach einem Präinkrement oder Prädekrement wird ein Bezeichner erwartet."
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "Fehlende `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "Syntax Fehler: Operator erwartet."
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "Syntaxfehler: Ungültiger arithmetischer Operator."
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (Fehlerverursachendes Zeichen ist \\\"%s\\\")."
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "Ungültige Basis."
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "Der Wert ist zu groß für die aktuelle Basis."
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: Fehler im Ausdruck.\n"
@@ -1003,170 +1005,170 @@ msgstr "%s: Fehler im Ausdruck.\n"
msgid "getcwd: cannot access parent directories"
msgstr "getwd: Kann nicht auf das übergeordnete Verzeichnis zugreifen."
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "Konnte den No-Delay Modus für fd %d nicht wieder herstellen."
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "Kann keinen neuen Filedeskriptor für die Eingabe von fd %d zuweisen."
# Debug Ausgabe
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: Es existiert bereits ein Puffer für den neuen fd %d."
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
# Programmierfehler
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: Prozeßnummer existiert nicht."
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Fertig"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Angehalten"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Angehalten(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Läuft"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Fertig(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Exit %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Unbekannter Status"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(Speicherabzug geschrieben) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
# interner Fehler
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: Prozeß %ld wurde nicht von dieser Shell gestartet."
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: Programm ist beendet."
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
# Debug Ausgabe
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: Zeile %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (Speicherabzug geschrieben)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(gegenwärtiges Arbeitsverzeichnis ist: %s)\n"
# interner Fehler
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs: getpgrp war nicht erfolgreich."
# interner Fehler
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: line discipline"
# interner Fehler
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "Kann die Prozessgruppe des Terminals nicht setzen (%d)."
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "Keine Job Steuerung in dieser Shell."
@@ -1276,14 +1278,14 @@ msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr ""
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: Kann nicht %lu Bytes reservieren."
+msgstr "setlocale: %s: Kann die Standorteinstellungen nicht ändern (%s)."
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: Kann nicht %lu Bytes reservieren."
+msgstr "setlocale: %s: Kann nicht die Locale ändern (%s): %s"
# Du oder Sie?
#: mailcheck.c:433
@@ -1328,100 +1330,100 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "Dateiende beim Suchen nach `%c' erreicht."
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "Dateiende beim Suchen nach `]]' erreicht."
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "Syntaxfehler im bedingten Ausdruck: Unerwartetes Zeichen `%s'."
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "Syntaxfehler im bedingen Ausdruck."
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Unerwartetes Zeichen: `%s' anstatt von `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "`)' erwartet."
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "Syntaxfehler beim unerwarteten Wort `%s'"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "Syntaxfehler beim unerwarteten Wort `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "Syntax Fehler: Unerwartetes Dateiende."
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "Syntax Fehler"
# Du oder Sie?
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Benutze \"%s\" um die Shell zu verlassen.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "Dateiende beim Suchen nach passender `)' erreicht."
@@ -1430,77 +1432,77 @@ msgstr "Dateiende beim Suchen nach passender `)' erreicht."
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: Falsches Verbindungszeichen `%d'."
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: Ungültiger Dateibezeichner: %s"
+msgstr "xtrace_set: %d: Ungültige Dateibeschreibung."
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Mehrdeutige Umlenkung."
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: Kann existierende Datei nicht überschreiben."
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: Gesperrt: Die Ausgabe darf nicht umgeleitet werden."
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: Kann einem Feldelement keine Liste zuweisen."
+msgstr "%s: Kann fd keiner Variable zuweisen."
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port Wird ohne Netzwerk nicht unterstützt"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr ""
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "Konnte das /tmp Verzeichnis nicht finden, bitte anlegen."
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp muß ein gültiger Verzeichnisname sein."
@@ -1509,16 +1511,16 @@ msgstr "/tmp muß ein gültiger Verzeichnisname sein."
msgid "%c%c: invalid option"
msgstr "%c%c: Ungültige Option"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Ich habe keinen Benutzernamen!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, Version %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1527,39 +1529,39 @@ msgstr ""
"Benutzung:\t%s [Lange GNU Option] [Option] ...\n"
"\t\t%s [Lange GNU Option] [Option] Script-Datei ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Lange GNU Optionen:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Shell-Optionen:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD oder -c Kommando\t\t(Nur Aufruf)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s oder Option -o\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "`%s -c \"help set\"' für mehr Informationen über Shell-Optionen.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "`%s -c help' für mehr Information über Shell-Kommandos.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Mit dem `bashbug' Kommando können Fehler gemeldet werden.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: Ungültige Operation"
@@ -1733,85 +1735,85 @@ msgstr "Unbekannte Signalnummer."
msgid "Unknown Signal #%d"
msgstr "Unbekanntes Signal Nr.: %d."
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Falsche Ersetzung: Keine schließende `%s' in `%s' enthalten."
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: Kann einem Feldelement keine Liste zuweisen."
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "Kann keine Pipe für die Prozeßersetzung erzeugen."
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "Kann den Kindsprozess für die Prozeßersetzung nicht erzeugen."
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "Kann nicht die benannte Pipe %s zum lesen öffnen."
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "Kann nicht die benannte Pipe %s zum schreiben öffnen."
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "Kann die benannte Pipe %s nicht auf fd %d."
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "Kann keine Pipes für Kommandoersetzung erzeugen."
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "Kann keinen Unterprozess für die Kommandoersetzung erzeugen."
# interner Fehler
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "Kommandoersetzung: Kann Pipe nicht als fd 1 duplizieren."
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: Parameter ist Null oder nicht gesetzt."
# interner Fehler
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: Teilstring-Ausdruck < 0."
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: Falsche Variablenersetzung."
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: Kann so nicht zuweisen."
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "Falsche Ersetzung: Keine schließende \"`\" in %s."
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "Keine Entsprechung: %s"
@@ -1834,37 +1836,37 @@ msgstr "`)' erwartet."
msgid "`)' expected, found %s"
msgstr "`)' erwartet, %s gefunden."
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: Einstelliger (unärer) Operator erwartet."
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: Zweistelliger (binärer) Operator erwartet."
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "Fehlende `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "Ungültige Signalnummer."
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
# Programmierfehler
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Falsches Signal %d."
@@ -1874,58 +1876,59 @@ msgstr "trap_handler: Falsches Signal %d."
msgid "error importing function definition for `%s'"
msgstr "Fehler beim Importieren der Funktionsdefinition für `%s'."
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: Parameter ist Null oder nicht gesetzt."
+msgstr ""
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: Kann die Datei nicht öffnen: %s"
+msgstr "%s: %s: Kann nicht als Datei geöffnet werden."
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: Ungültiger Dateibezeichner: %s"
+msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1952,39 +1955,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "Für dieses Programm besteht keinerlei Garantie.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Lizenz GPLv3+: GNU GPL Version 3 oder jünger <http://gnu.org/licenses/gpl."
+"Lizenz GPLv2+: GNU GPL Version 2 oder jünger <http://gnu.org/licenses/gpl."
"html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: Kann %lu Bytes nicht reservieren (%lu bytes reserviert)."
+msgstr "%s: Kann %lu Bytes nicht reservieren (%lu bytes reserviert)."
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: Kann nicht %lu Bytes reservieren."
+msgstr "%s: Kann nicht %lu Bytes reservieren."
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"xmalloc: %s:%d: Kann nicht %lu Bytes reservieren (%lu bytes reserviert)."
+msgstr "%s: %s:%d: Kann nicht %lu Bytes reservieren (%lu bytes reserviert)."
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: Kann nicht %lu Bytes reservieren."
+msgstr "%s: %s:%d: Kann nicht %lu Bytes reservieren."
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2019,7 +2021,8 @@ msgid "caller [expr]"
msgstr "caller [Ausdruck]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [Verzeichnis]"
#: builtins.c:66
@@ -2043,12 +2046,14 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] Kommando [Argument ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [Name[=Wert] ...]"
#
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] Name[=Wert] ..."
#: builtins.c:80
@@ -2106,9 +2111,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p Pfadname] [-dt] [Name ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [Muster ...]"
+msgstr "help [-dms] [Muster ...]"
#: builtins.c:121
msgid ""
@@ -2139,20 +2143,20 @@ msgid "let arg [arg ...]"
msgstr "let Argument [Argument ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a Feld] [-d Begrenzer] [-i Text] [-n Zeichenanzahl] [-p "
-"Prompt] [-t Zeitlimit] [-u fd] [Name ...]"
+"read [-ers] [-a Feld] [-d Begrenzer] [-i Text] [-n Zeichenanzahl] [-N "
+"Zeichenanzahl] [-p Prompt] [-t Zeitlimit] [-u fd] [Name ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o Option] [ARG ...]"
#: builtins.c:142
@@ -2164,7 +2168,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [Name[=Wert] ...] oder export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [Name[=Wert] ...] oder readonly -p"
#: builtins.c:148
@@ -2304,15 +2309,14 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] Format [Argumente]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o Option] [-A Methode] [-G Suchmuster] [-W "
-"Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-S "
-"Suffix] [Name ...]"
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o Option] [-A Aktion] [-G Suchmuster] "
+"[-W Wortliste] [-F Funktion] [-C Kommando] [-X Filtermuster] [-P Prefix] [-"
+"S Suffix] [Name ...]"
#: builtins.c:233
msgid ""
@@ -2324,9 +2328,8 @@ msgstr ""
"Suffix] [Wort]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o Option] [Name ...]"
+msgstr "compopt [-o|+o Option] [-DE] [Name ...]"
#: builtins.c:240
msgid ""
@@ -2391,7 +2394,9 @@ msgstr ""
" \n"
" Gibt immer Erfolg zurück, wenn der Name existiert."
+# bind
#: builtins.c:289
+#, fuzzy
msgid ""
"Set Readline key bindings and variables.\n"
" \n"
@@ -2429,6 +2434,47 @@ msgid ""
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
+"Konfiguriert Readline Tastenzuordnungen und Variablen.\n"
+" \n"
+" Weist eine Tastensequenz einer Readline Funktion oder einem Makro\n"
+" zu oder setzt eine Readline Variable. The non-option argument\n"
+" syntax is equivalent to that found in ~/.inputrc, but must be\n"
+" passed as a single argument: e.g., bind '\"\\C-x\\C-r\":\n"
+" re-read-init-file'.\n"
+" \n"
+" Optionen:\n"
+" -m Keymap Benutzt KEYMAP as Tastaturbelegung für die "
+"Laufzeit\n"
+" dieses Kommandos. Gültige Keymap Namen sind: "
+"emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+" vi-command, und vi-insert.\n"
+" -l Listet Funktionsnamen auf.\n"
+" -P Listet Funktionsnamen und Tastenzuordnungen auf.\n"
+" -p Listet Funktionsnamen und Tastenzuordnungen so "
+"auf,\n"
+" dass sie direkt als Eingabe verwendet werden "
+"können.\n"
+" -S List key sequences that invoke macros and their "
+"values\n"
+" -s List key sequences that invoke macros and their "
+"values\n"
+" in a form that can be reused as input.\n"
+" -V List variable names and values\n"
+" -v List variable names and values in a form that can\n"
+" be reused as input.\n"
+" -q function-name Query about which keys invoke the named function.\n"
+" -u function-name Unbind all keys which are bound to the named "
+"function.\n"
+" -r keyseq Remove the binding for KEYSEQ.\n"
+" -f filename Read key bindings from FILENAME.\n"
+" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+" \t\t\t\tKEYSEQ is entered.\n"
+" \n"
+" Rückgabewert: \n"
+" Bind gibt 0 zurück, wenn keine unerkannte Option angegeben wurde\n"
+" oder ein Fehler eintrat."
#: builtins.c:326
msgid ""
@@ -2510,6 +2556,7 @@ msgid ""
msgstr ""
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2535,11 +2582,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Wechselt das Arbeitsverzeichnis.\n"
" \n"
@@ -2566,7 +2617,7 @@ msgstr ""
" Rückgabewert:\n"
" Wenn das Verzeichnic gewechselt wurde 0; sonst ungleich Null."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2583,7 +2634,7 @@ msgid ""
msgstr " be a literal `]', to match the opening `['.<"
# colon
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2599,7 +2650,7 @@ msgstr ""
" Rückgabewert:\n"
" Das Kommando ist immer erfolgreich."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2607,7 +2658,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2615,7 +2666,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2634,7 +2685,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2645,6 +2696,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2664,13 +2717,13 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2680,7 +2733,7 @@ msgstr ""
"\n"
" Veraltet. Siehe `help declare'."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2709,7 +2762,7 @@ msgstr ""
" Liefert \"Erfolg\" außer bei einer ungültigen Option, einem Fehler oder\n"
" die Shell führt keine Funktion aus."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2740,7 +2793,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2753,7 +2806,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2780,7 +2833,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2792,7 +2845,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2833,7 +2886,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2857,7 +2910,7 @@ msgid ""
msgstr ""
# exit
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2870,7 +2923,7 @@ msgstr ""
"angegeben ist,\n"
" wird der Rückgabewert des letzten ausgeführten Kommandos übernommen."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2879,7 +2932,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2909,7 +2962,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2921,7 +2974,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2935,7 +2988,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2959,7 +3012,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2981,7 +3034,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3015,7 +3068,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3039,7 +3092,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3056,7 +3109,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3078,7 +3131,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3120,10 +3173,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3171,7 +3224,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3183,7 +3236,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3252,6 +3305,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3265,7 +3321,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3285,7 +3341,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3304,7 +3360,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3324,7 +3380,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3335,7 +3391,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3349,7 +3405,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3363,14 +3419,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3424,6 +3483,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3440,7 +3500,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3452,7 +3512,7 @@ msgstr ""
" Dieses Kommando entspricht dem \"test\" Kommando, aber das letzte "
"Argument muss ein `]' sein."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3464,7 +3524,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3480,7 +3540,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3500,7 +3568,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3530,7 +3598,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3574,7 +3642,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3592,7 +3660,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3609,7 +3677,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3623,7 +3691,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3636,7 +3704,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3653,7 +3721,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3673,7 +3741,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3689,7 +3757,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3700,7 +3768,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3721,7 +3789,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3732,7 +3800,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3743,7 +3811,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3756,7 +3824,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3770,7 +3838,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3781,7 +3849,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3795,7 +3863,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3806,7 +3874,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3834,7 +3902,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3888,7 +3956,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3919,7 +3987,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3947,7 +4015,7 @@ msgid ""
msgstr ""
# dirs
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3976,7 +4044,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3997,7 +4065,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4020,6 +4088,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -4027,7 +4098,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4054,7 +4125,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4067,13 +4138,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4098,7 +4169,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4126,7 +4197,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4138,7 +4210,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/en@boldquot.gmo b/po/en@boldquot.gmo
index 418ce9b..d8813f8 100644
--- a/po/en@boldquot.gmo
+++ b/po/en@boldquot.gmo
Binary files differ
diff --git a/po/en@boldquot.po b/po/en@boldquot.po
index c5b1461..9fd27a0 100644
--- a/po/en@boldquot.po
+++ b/po/en@boldquot.po
@@ -1,7 +1,7 @@
# English translations for GNU bash package.
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2009.
+# Automatically generated, 2011.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -30,10 +30,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU bash 4.1-release\n"
+"Project-Id-Version: GNU bash 4.2-release\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2011-01-28 22:09-0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -45,7 +45,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "bad array subscript"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: cannot convert indexed to associative array"
@@ -65,26 +65,26 @@ msgstr "%s: cannot assign to non-numeric index"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: must use subscript when assigning associative array"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: cannot create: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: cannot find keymap for command"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: first non-whitespace character is not ‘\"’"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "no closing ‘%c’ in %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: missing colon separator"
@@ -146,33 +146,11 @@ msgstr ""
" \n"
" Without EXPR, returns "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-". With EXPR, returns\n"
-" "
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME not set"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD not set"
@@ -191,11 +169,11 @@ msgstr "warning: "
msgid "%s: usage: "
msgstr "%s: usage: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "too many arguments"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: option requires an argument"
@@ -233,7 +211,7 @@ msgstr "invalid octal number"
msgid "invalid hex number"
msgstr "invalid hex number"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "invalid number"
@@ -342,25 +320,25 @@ msgstr "warning: -C option may not work as you expect"
msgid "not currently executing completion function"
msgstr "not currently executing completion function"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "can only be used in a function"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "cannot use ‘-f’ to make functions"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: readonly function"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: cannot destroy array variables in this way"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: cannot convert associative to indexed array"
@@ -389,29 +367,29 @@ msgstr "%s: not dynamically loaded"
msgid "%s: cannot delete: %s"
msgstr "%s: cannot delete: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: is a directory"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: not a regular file"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: file is too large"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: cannot execute binary file"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: cannot execute: %s"
@@ -439,11 +417,11 @@ msgstr "There are running jobs.\n"
msgid "no command found"
msgstr "no command found"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "history specification"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: cannot open temp file: %s"
@@ -476,7 +454,7 @@ msgstr "hashing disabled"
msgid "%s: hash table empty\n"
msgstr "%s: hash table empty\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "hits\tcommand\n"
@@ -544,76 +522,86 @@ msgstr "%s: inlib failed"
msgid "no other options allowed with `-x'"
msgstr "no other options allowed with ‘-x’"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: arguments must be process or job IDs"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Unknown error"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "expression expected"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, c-format
msgid "%s: not an indexed array"
msgstr "%s: not an indexed array"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: invalid file descriptor specification"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: invalid file descriptor: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: invalid line count"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: invalid array origin"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: invalid callback quantum"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "empty array variable name"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "array variable support required"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "‘%s’: missing format character"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, c-format
+msgid "`%c': invalid time format specification"
+msgstr "‘%c’: invalid time format specification"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "‘%c’: invalid format character"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "warning: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "missing hex digit for \\x"
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "missing unicode digit for \\%c"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "no other directory"
@@ -775,21 +763,21 @@ msgstr "read error: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "can only ‘return’ from a function or sourced script"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "cannot simultaneously unset a function and a variable"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: cannot unset"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: cannot unset: readonly %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: not an array variable"
@@ -803,20 +791,20 @@ msgstr "%s: not a function"
msgid "shift count"
msgstr "shift count"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "cannot set and unset shell options simultaneously"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: invalid shell option name"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "filename argument required"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: file not found"
@@ -859,26 +847,26 @@ msgstr "%s is %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s is hashed (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: invalid limit argument"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "‘%c’: bad command"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: cannot get limit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "limit"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: cannot modify limit: %s"
@@ -934,105 +922,110 @@ msgstr "%s: unbound variable"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\atimed out waiting for input: auto-logout\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "cannot redirect standard input from /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: ‘%c’: invalid format character"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "pipe error"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restricted: cannot specify ‘/’ in command names"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: command not found"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: bad interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "cannot duplicate fd %d to fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "expression recursion level exceeded"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "recursion stack underflow"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntax error in expression"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "attempted assignment to non-variable"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "division by 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bug: bad expassign token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "‘:’ expected for conditional expression"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponent less than 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "identifier expected after pre-increment or pre-decrement"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "missing ‘)’"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntax error: operand expected"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntax error: invalid arithmetic operator"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (error token is “%sâ€)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "invalid arithmetic base"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "value too great for base"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: expression error\n"
@@ -1041,163 +1034,163 @@ msgstr "%s: expression error\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: cannot access parent directories"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "cannot reset nodelay mode for fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "cannot allocate new file descriptor for bash input from fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffer already exists for new fd %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "forked pid %d appears in running job %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "deleting stopped job %d with process group %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) in the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) marked as still alive"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: no such pid"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Done"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Stopped"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Stopped(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Running"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Done(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Exit %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Unknown status"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(core dumped) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "child setpgid (%ld to %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld is not a child of this shell"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: No record of process %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: job %d is stopped"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: job has terminated"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: job %d already in background"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: turning on WNOHANG to avoid indefinite block"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: line %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (core dumped)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd now: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp failed"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: line discipline"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "cannot set terminal process group (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "no job control in this shell"
@@ -1350,99 +1343,99 @@ msgstr "here-document at line %d delimited by end-of-file (wanted ‘%sâ
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: redirection instruction ‘%d’ out of range"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "unexpected EOF while looking for matching ‘%c’"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "unexpected EOF while looking for ‘]]’"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntax error in conditional expression: unexpected token ‘%s’"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "syntax error in conditional expression"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "unexpected token ‘%s’, expected ‘)’"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "expected ‘)’"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "unexpected argument ‘%s’ to conditional unary operator"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "unexpected argument to conditional unary operator"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "unexpected token ‘%s’, conditional binary operator expected"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "conditional binary operator expected"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "unexpected argument ‘%s’ to conditional binary operator"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "unexpected argument to conditional binary operator"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "unexpected token ‘%c’ in conditional command"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "unexpected token ‘%s’ in conditional command"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "unexpected token %d in conditional command"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "syntax error near unexpected token ‘%s’"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "syntax error near ‘%s’"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "syntax error: unexpected end of file"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "syntax error"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use “%s†to leave the shell.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "unexpected EOF while looking for matching ‘)’"
@@ -1451,77 +1444,77 @@ msgstr "unexpected EOF while looking for matching ‘)’"
msgid "completion: function `%s' not found"
msgstr "completion: function ‘%s’ not found"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: bad connector ‘%d’"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: invalid file descriptor"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: NULL file pointer"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: ‘%c’: invalid format character"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "file descriptor out of range"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: ambiguous redirect"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: cannot overwrite existing file"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restricted: cannot redirect output"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "cannot create temp file for here-document: %s"
-#: redir.c:184
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: cannot assign fd to variable"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port not supported without networking"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "redirection error: cannot duplicate fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "could not find /tmp, please create!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp must be a valid directory name"
@@ -1530,16 +1523,16 @@ msgstr "/tmp must be a valid directory name"
msgid "%c%c: invalid option"
msgstr "%c%c: invalid option"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "I have no name!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, version %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1548,42 +1541,42 @@ msgstr ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU long options:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Shell options:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s or -o option\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Type ‘%s -c “help set‒ for more information about shell "
"options.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Type ‘%s -c help’ for more information about shell builtin commands.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Use the ‘bashbug’ command to report bugs.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: invalid operation"
@@ -1757,72 +1750,72 @@ msgstr "Unknown Signal #"
msgid "Unknown Signal #%d"
msgstr "Unknown Signal #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "bad substitution: no closing ‘%s’ in %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: cannot assign list to array member"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "cannot make pipe for process substitution"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "cannot make child for process substitution"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "cannot open named pipe %s for reading"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "cannot open named pipe %s for writing"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "cannot duplicate named pipe %s as fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "cannot make pipe for command substitution"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "cannot make child for command substitution"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: cannot duplicate pipe as fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parameter null or not set"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: substring expression < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: bad substitution"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: cannot assign in this way"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
@@ -1830,12 +1823,12 @@ msgstr ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "bad substitution: no closing “`†in %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "no match: %s"
@@ -1858,37 +1851,37 @@ msgstr "‘)’ expected"
msgid "`)' expected, found %s"
msgstr "‘)’ expected, found %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: unary operator expected"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: binary operator expected"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "missing ‘]’"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "invalid signal number"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: bad value in trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: bad signal %d"
@@ -1898,59 +1891,59 @@ msgstr "trap_handler: bad signal %d"
msgid "error importing function definition for `%s'"
msgstr "error importing function definition for ‘%s’"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "shell level (%d) too high, resetting to 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: no function context at current scope"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: no function context at current scope"
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
msgstr "%s has null exportstr"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "invalid character %d in exportstr for %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "no ‘=’ in exportstr for %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: head of shell_variables not a function context"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: no global_variables context"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: head of shell_variables not a temporary environment scope"
-#: variables.c:4678
+#: variables.c:4786
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: cannot open as FILE"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: invalid value for trace file descriptor"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2011 Free Software Foundation, Inc."
#: version.c:47
msgid ""
@@ -2042,8 +2035,8 @@ msgid "caller [expr]"
msgstr "caller [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
-msgstr "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|[-P [-e]]] [dir]"
#: builtins.c:66
msgid "pwd [-LP]"
@@ -2066,12 +2059,12 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] command [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFgilrtux] [-p] name[=value] ..."
#: builtins.c:80
msgid "local [option] name[=value] ..."
@@ -2170,8 +2163,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
@@ -2182,8 +2175,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [name[=value] ...] or export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-aAf] [name[=value] ...] or readonly -p"
#: builtins.c:148
msgid "shift [n]"
@@ -2601,11 +2594,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Change the shell working directory.\n"
" \n"
@@ -2631,14 +2628,18 @@ msgstr ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if ‘-L’ were "
"specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2666,7 +2667,7 @@ msgstr ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2682,7 +2683,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2694,7 +2695,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2706,7 +2707,7 @@ msgstr ""
" Exit Status:\n"
" Always fails."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2741,7 +2742,7 @@ msgstr ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2752,6 +2753,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2771,7 +2774,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2785,6 +2788,8 @@ msgstr ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2805,12 +2810,12 @@ msgstr ""
" \n"
" When used in a function, ‘declare’ makes NAMEs local, as with the "
"‘local’\n"
-" command.\n"
+" command. The ‘-g’ option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2820,7 +2825,7 @@ msgstr ""
" \n"
" Obsolete. See ‘help declare’."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2846,7 +2851,7 @@ msgstr ""
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2904,7 +2909,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless a write error occurs."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2926,7 +2931,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless a write error occurs."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2976,7 +2981,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2996,7 +3001,7 @@ msgstr ""
" Exit Status:\n"
" Returns exit status of command or success if command is null."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3077,7 +3082,7 @@ msgstr ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3119,7 +3124,7 @@ msgstr ""
" Returns success unless COMMAND is not found or a redirection error "
"occurs."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3131,7 +3136,7 @@ msgstr ""
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3145,7 +3150,7 @@ msgstr ""
"executed\n"
" in a login shell."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3203,7 +3208,7 @@ msgstr ""
" Returns success or status of executed command; non-zero if an error "
"occurs."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3223,7 +3228,7 @@ msgstr ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3247,7 +3252,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3291,7 +3296,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3331,7 +3336,7 @@ msgstr ""
" Returns success unless PATTERN is not found or an invalid option is "
"given."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3396,7 +3401,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3440,7 +3445,7 @@ msgstr ""
" Returns success unless an invalid option is given or an error occurs.\n"
" If -x is used, returns the exit status of COMMAND."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3470,7 +3475,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3510,7 +3515,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3552,7 +3557,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3594,9 +3599,9 @@ msgstr ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3688,7 +3693,7 @@ msgstr ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3708,7 +3713,7 @@ msgstr ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3777,6 +3782,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3856,6 +3864,9 @@ msgstr ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3868,7 +3879,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3904,7 +3915,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3938,7 +3949,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3974,7 +3985,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3992,7 +4003,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4016,7 +4027,7 @@ msgstr ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4040,14 +4051,17 @@ msgstr ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4101,6 +4115,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4121,7 +4136,10 @@ msgstr ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4175,6 +4193,7 @@ msgstr ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4190,7 +4209,7 @@ msgstr ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4203,7 +4222,7 @@ msgstr ""
"must\n"
" be a literal ‘]’, to match the opening ‘[’."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4223,7 +4242,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4239,7 +4258,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4273,7 +4300,15 @@ msgstr ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4292,7 +4327,7 @@ msgstr ""
" Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4350,7 +4385,7 @@ msgstr ""
" Returns success if all of the NAMEs are found; fails if any are not "
"found."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4435,7 +4470,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4467,7 +4502,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4497,7 +4532,7 @@ msgstr ""
"is\n"
" given."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4521,7 +4556,7 @@ msgstr ""
"is\n"
" given."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4545,7 +4580,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4575,7 +4610,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4612,7 +4647,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4640,7 +4675,7 @@ msgstr ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4658,7 +4693,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4696,7 +4731,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4714,7 +4749,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4732,7 +4767,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4754,7 +4789,7 @@ msgstr ""
" Exit Status:\n"
" Returns the exit status of COMMAND."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4778,7 +4813,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is readonly."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4796,7 +4831,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4821,7 +4856,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the resumed job."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4839,7 +4874,7 @@ msgstr ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4893,7 +4928,7 @@ msgstr ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4997,7 +5032,7 @@ msgstr ""
" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
" \t\tcommands should be saved on the history list.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5055,7 +5090,7 @@ msgstr ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5107,7 +5142,7 @@ msgstr ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5162,7 +5197,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5200,7 +5235,7 @@ msgstr ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5223,6 +5258,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5250,13 +5288,16 @@ msgstr ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
"assignment\n"
" error occurs."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5306,7 +5347,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5328,13 +5369,13 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5362,7 +5403,7 @@ msgstr ""
" \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, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5387,7 +5428,7 @@ msgstr ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -5415,7 +5456,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5452,7 +5494,8 @@ msgstr ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5463,7 +5506,7 @@ msgstr ""
"or\n"
" not an indexed array."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/en@quot.gmo b/po/en@quot.gmo
index dfd93eb..46cb2bc 100644
--- a/po/en@quot.gmo
+++ b/po/en@quot.gmo
Binary files differ
diff --git a/po/en@quot.po b/po/en@quot.po
index 557d400..ec46fb1 100644
--- a/po/en@quot.po
+++ b/po/en@quot.po
@@ -1,7 +1,7 @@
# English translations for GNU bash package.
-# Copyright (C) 2009 Free Software Foundation, Inc.
+# Copyright (C) 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2009.
+# Automatically generated, 2011.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -27,10 +27,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU bash 4.1-release\n"
+"Project-Id-Version: GNU bash 4.2-release\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2011-01-28 22:09-0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
@@ -42,7 +42,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "bad array subscript"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: cannot convert indexed to associative array"
@@ -62,26 +62,26 @@ msgstr "%s: cannot assign to non-numeric index"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: must use subscript when assigning associative array"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: cannot create: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: cannot find keymap for command"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: first non-whitespace character is not ‘\"’"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "no closing ‘%c’ in %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: missing colon separator"
@@ -143,33 +143,11 @@ msgstr ""
" \n"
" Without EXPR, returns "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-". With EXPR, returns\n"
-" "
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME not set"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD not set"
@@ -188,11 +166,11 @@ msgstr "warning: "
msgid "%s: usage: "
msgstr "%s: usage: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "too many arguments"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: option requires an argument"
@@ -230,7 +208,7 @@ msgstr "invalid octal number"
msgid "invalid hex number"
msgstr "invalid hex number"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "invalid number"
@@ -339,25 +317,25 @@ msgstr "warning: -C option may not work as you expect"
msgid "not currently executing completion function"
msgstr "not currently executing completion function"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "can only be used in a function"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "cannot use ‘-f’ to make functions"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: readonly function"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: cannot destroy array variables in this way"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: cannot convert associative to indexed array"
@@ -386,29 +364,29 @@ msgstr "%s: not dynamically loaded"
msgid "%s: cannot delete: %s"
msgstr "%s: cannot delete: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: is a directory"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: not a regular file"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: file is too large"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: cannot execute binary file"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: cannot execute: %s"
@@ -436,11 +414,11 @@ msgstr "There are running jobs.\n"
msgid "no command found"
msgstr "no command found"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "history specification"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: cannot open temp file: %s"
@@ -473,7 +451,7 @@ msgstr "hashing disabled"
msgid "%s: hash table empty\n"
msgstr "%s: hash table empty\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "hits\tcommand\n"
@@ -538,76 +516,86 @@ msgstr "%s: inlib failed"
msgid "no other options allowed with `-x'"
msgstr "no other options allowed with ‘-x’"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: arguments must be process or job IDs"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Unknown error"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "expression expected"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, c-format
msgid "%s: not an indexed array"
msgstr "%s: not an indexed array"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: invalid file descriptor specification"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: invalid file descriptor: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: invalid line count"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: invalid array origin"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: invalid callback quantum"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "empty array variable name"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "array variable support required"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "‘%s’: missing format character"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, c-format
+msgid "`%c': invalid time format specification"
+msgstr "‘%c’: invalid time format specification"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "‘%c’: invalid format character"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "warning: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "missing hex digit for \\x"
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "missing unicode digit for \\%c"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "no other directory"
@@ -766,21 +754,21 @@ msgstr "read error: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "can only ‘return’ from a function or sourced script"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "cannot simultaneously unset a function and a variable"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: cannot unset"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: cannot unset: readonly %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: not an array variable"
@@ -794,20 +782,20 @@ msgstr "%s: not a function"
msgid "shift count"
msgstr "shift count"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "cannot set and unset shell options simultaneously"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: invalid shell option name"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "filename argument required"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: file not found"
@@ -850,26 +838,26 @@ msgstr "%s is %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s is hashed (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: invalid limit argument"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "‘%c’: bad command"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: cannot get limit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "limit"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: cannot modify limit: %s"
@@ -925,105 +913,110 @@ msgstr "%s: unbound variable"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\atimed out waiting for input: auto-logout\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "cannot redirect standard input from /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: ‘%c’: invalid format character"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "pipe error"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restricted: cannot specify ‘/’ in command names"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: command not found"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr "%s: %s"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: bad interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "cannot duplicate fd %d to fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "expression recursion level exceeded"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "recursion stack underflow"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntax error in expression"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "attempted assignment to non-variable"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "division by 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bug: bad expassign token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "‘:’ expected for conditional expression"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponent less than 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "identifier expected after pre-increment or pre-decrement"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "missing ‘)’"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntax error: operand expected"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntax error: invalid arithmetic operator"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (error token is “%sâ€)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "invalid arithmetic base"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "value too great for base"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: expression error\n"
@@ -1032,163 +1025,163 @@ msgstr "%s: expression error\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: cannot access parent directories"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "cannot reset nodelay mode for fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "cannot allocate new file descriptor for bash input from fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffer already exists for new fd %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "forked pid %d appears in running job %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "deleting stopped job %d with process group %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) in the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) marked as still alive"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: no such pid"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Done"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Stopped"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Stopped(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Running"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Done(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Exit %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Unknown status"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(core dumped) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "child setpgid (%ld to %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld is not a child of this shell"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: No record of process %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: job %d is stopped"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: job has terminated"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: job %d already in background"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr "waitchld: turning on WNOHANG to avoid indefinite block"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: line %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (core dumped)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd now: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp failed"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: line discipline"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "cannot set terminal process group (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "no job control in this shell"
@@ -1341,99 +1334,99 @@ msgstr "here-document at line %d delimited by end-of-file (wanted ‘%s’)"
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: redirection instruction ‘%d’ out of range"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "unexpected EOF while looking for matching ‘%c’"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "unexpected EOF while looking for ‘]]’"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntax error in conditional expression: unexpected token ‘%s’"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "syntax error in conditional expression"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "unexpected token ‘%s’, expected ‘)’"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "expected ‘)’"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "unexpected argument ‘%s’ to conditional unary operator"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "unexpected argument to conditional unary operator"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "unexpected token ‘%s’, conditional binary operator expected"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "conditional binary operator expected"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "unexpected argument ‘%s’ to conditional binary operator"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "unexpected argument to conditional binary operator"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "unexpected token ‘%c’ in conditional command"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "unexpected token ‘%s’ in conditional command"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "unexpected token %d in conditional command"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "syntax error near unexpected token ‘%s’"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "syntax error near ‘%s’"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "syntax error: unexpected end of file"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "syntax error"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use “%s†to leave the shell.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "unexpected EOF while looking for matching ‘)’"
@@ -1442,77 +1435,77 @@ msgstr "unexpected EOF while looking for matching ‘)’"
msgid "completion: function `%s' not found"
msgstr "completion: function ‘%s’ not found"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: bad connector ‘%d’"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "xtrace_set: %d: invalid file descriptor"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr "xtrace_set: NULL file pointer"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: ‘%c’: invalid format character"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "file descriptor out of range"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: ambiguous redirect"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: cannot overwrite existing file"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restricted: cannot redirect output"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "cannot create temp file for here-document: %s"
-#: redir.c:184
+#: redir.c:196
#, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: cannot assign fd to variable"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port not supported without networking"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "redirection error: cannot duplicate fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "could not find /tmp, please create!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp must be a valid directory name"
@@ -1521,16 +1514,16 @@ msgstr "/tmp must be a valid directory name"
msgid "%c%c: invalid option"
msgstr "%c%c: invalid option"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "I have no name!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, version %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1539,39 +1532,39 @@ msgstr ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU long options:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Shell options:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s or -o option\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Type ‘%s -c “help setâ€â€™ for more information about shell options.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Type ‘%s -c help’ for more information about shell builtin commands.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Use the ‘bashbug’ command to report bugs.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: invalid operation"
@@ -1745,72 +1738,72 @@ msgstr "Unknown Signal #"
msgid "Unknown Signal #%d"
msgstr "Unknown Signal #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "bad substitution: no closing ‘%s’ in %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: cannot assign list to array member"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "cannot make pipe for process substitution"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "cannot make child for process substitution"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "cannot open named pipe %s for reading"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "cannot open named pipe %s for writing"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "cannot duplicate named pipe %s as fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "cannot make pipe for command substitution"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "cannot make child for command substitution"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: cannot duplicate pipe as fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parameter null or not set"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: substring expression < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: bad substitution"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: cannot assign in this way"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
@@ -1818,12 +1811,12 @@ msgstr ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "bad substitution: no closing “`†in %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "no match: %s"
@@ -1846,37 +1839,37 @@ msgstr "‘)’ expected"
msgid "`)' expected, found %s"
msgstr "‘)’ expected, found %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: unary operator expected"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: binary operator expected"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "missing ‘]’"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "invalid signal number"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: bad value in trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: bad signal %d"
@@ -1886,59 +1879,59 @@ msgstr "trap_handler: bad signal %d"
msgid "error importing function definition for `%s'"
msgstr "error importing function definition for ‘%s’"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "shell level (%d) too high, resetting to 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: no function context at current scope"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: no function context at current scope"
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
msgstr "%s has null exportstr"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "invalid character %d in exportstr for %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "no ‘=’ in exportstr for %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: head of shell_variables not a function context"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: no global_variables context"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: head of shell_variables not a temporary environment scope"
-#: variables.c:4678
+#: variables.c:4786
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: %s: cannot open as FILE"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%s: %s: invalid value for trace file descriptor"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2011 Free Software Foundation, Inc."
#: version.c:47
msgid ""
@@ -2030,8 +2023,8 @@ msgid "caller [expr]"
msgstr "caller [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
-msgstr "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|[-P [-e]]] [dir]"
#: builtins.c:66
msgid "pwd [-LP]"
@@ -2054,12 +2047,12 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] command [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFgilrtux] [-p] name[=value] ..."
#: builtins.c:80
msgid "local [option] name[=value] ..."
@@ -2158,8 +2151,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
@@ -2170,8 +2163,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [name[=value] ...] or export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-aAf] [name[=value] ...] or readonly -p"
#: builtins.c:148
msgid "shift [n]"
@@ -2587,11 +2580,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Change the shell working directory.\n"
" \n"
@@ -2617,13 +2614,17 @@ msgstr ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if ‘-L’ were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2651,7 +2652,7 @@ msgstr ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2667,7 +2668,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2679,7 +2680,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2691,7 +2692,7 @@ msgstr ""
" Exit Status:\n"
" Always fails."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2725,7 +2726,7 @@ msgstr ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2736,6 +2737,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2755,7 +2758,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2769,6 +2772,8 @@ msgstr ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2788,12 +2793,12 @@ msgstr ""
" \n"
" When used in a function, ‘declare’ makes NAMEs local, as with the "
"‘local’\n"
-" command.\n"
+" command. The ‘-g’ option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2803,7 +2808,7 @@ msgstr ""
" \n"
" Obsolete. See ‘help declare’."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2829,7 +2834,7 @@ msgstr ""
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2887,7 +2892,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless a write error occurs."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2909,7 +2914,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless a write error occurs."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2959,7 +2964,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2979,7 +2984,7 @@ msgstr ""
" Exit Status:\n"
" Returns exit status of command or success if command is null."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3057,7 +3062,7 @@ msgstr ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3099,7 +3104,7 @@ msgstr ""
" Returns success unless COMMAND is not found or a redirection error "
"occurs."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3111,7 +3116,7 @@ msgstr ""
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3125,7 +3130,7 @@ msgstr ""
"executed\n"
" in a login shell."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3181,7 +3186,7 @@ msgstr ""
" Returns success or status of executed command; non-zero if an error "
"occurs."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3201,7 +3206,7 @@ msgstr ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3225,7 +3230,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3269,7 +3274,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3309,7 +3314,7 @@ msgstr ""
" Returns success unless PATTERN is not found or an invalid option is "
"given."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3373,7 +3378,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3417,7 +3422,7 @@ msgstr ""
" Returns success unless an invalid option is given or an error occurs.\n"
" If -x is used, returns the exit status of COMMAND."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3447,7 +3452,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3487,7 +3492,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3529,7 +3534,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3571,9 +3576,9 @@ msgstr ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3665,7 +3670,7 @@ msgstr ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3685,7 +3690,7 @@ msgstr ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3754,6 +3759,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3833,6 +3841,9 @@ msgstr ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3845,7 +3856,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3881,7 +3892,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3915,7 +3926,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3951,7 +3962,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3969,7 +3980,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3993,7 +4004,7 @@ msgstr ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4017,14 +4028,17 @@ msgstr ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4078,6 +4092,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4098,7 +4113,10 @@ msgstr ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4152,6 +4170,7 @@ msgstr ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4167,7 +4186,7 @@ msgstr ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4179,7 +4198,7 @@ msgstr ""
" This is a synonym for the “test†builtin, but the last argument must\n"
" be a literal ‘]’, to match the opening ‘[’."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4199,7 +4218,7 @@ msgstr ""
" Exit Status:\n"
" Always succeeds."
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4215,7 +4234,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4248,7 +4275,15 @@ msgstr ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4267,7 +4302,7 @@ msgstr ""
" Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4323,7 +4358,7 @@ msgstr ""
" Returns success if all of the NAMEs are found; fails if any are not "
"found."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4407,7 +4442,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4439,7 +4474,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4469,7 +4504,7 @@ msgstr ""
"is\n"
" given."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4493,7 +4528,7 @@ msgstr ""
"is\n"
" given."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4515,7 +4550,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4545,7 +4580,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4581,7 +4616,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4609,7 +4644,7 @@ msgstr ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4627,7 +4662,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4665,7 +4700,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4683,7 +4718,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4701,7 +4736,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4723,7 +4758,7 @@ msgstr ""
" Exit Status:\n"
" Returns the exit status of COMMAND."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4747,7 +4782,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless NAME is readonly."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4765,7 +4800,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the last command executed."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4789,7 +4824,7 @@ msgstr ""
" Exit Status:\n"
" Returns the status of the resumed job."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4807,7 +4842,7 @@ msgstr ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4859,7 +4894,7 @@ msgstr ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4963,7 +4998,7 @@ msgstr ""
" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
" \t\tcommands should be saved on the history list.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5021,7 +5056,7 @@ msgstr ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5071,7 +5106,7 @@ msgstr ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5125,7 +5160,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5163,7 +5198,7 @@ msgstr ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5186,6 +5221,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5213,13 +5251,16 @@ msgstr ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
"assignment\n"
" error occurs."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5269,7 +5310,7 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5291,13 +5332,13 @@ msgstr ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5325,7 +5366,7 @@ msgstr ""
" \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, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5349,7 +5390,7 @@ msgstr ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -5377,7 +5418,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5414,7 +5456,8 @@ msgstr ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5425,7 +5468,7 @@ msgstr ""
"or\n"
" not an indexed array."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/eo.gmo b/po/eo.gmo
index ce32da4..c1367bc 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 736734d..ec26269 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU bash 4.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2009-06-01 00:31+0600\n"
"Last-Translator: Sergio Pokrovskij <sergio.pokrovskij@gmail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -33,7 +33,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "Misa tabel-indico"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: Maleblas konverti pozician tabelon en asocitabelon"
@@ -53,27 +53,27 @@ msgstr "%s: Valorizato havu nombran indicon"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: Valorizante per asocitabelo uzu indicon"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: Ne prosperis krei: %s"
# XXX: internal_error
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: Mankas klavartabelo por komando"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: La unua ne-blankspaca signo ne estas „\"‟"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "Mankas ferma „%c‟ en %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: Mankas disiga dupunkto"
@@ -135,26 +135,11 @@ msgstr ""
"\n"
" Sen ESPR liveras "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME malhavas valoron"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD malhavas valoron"
@@ -173,11 +158,11 @@ msgstr "Averto: "
msgid "%s: usage: "
msgstr "%s: Uzmaniero: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "Tro multe da argumentoj"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: La opcio bezonas argumenton"
@@ -215,7 +200,7 @@ msgstr "Misa okuma nombro"
msgid "invalid hex number"
msgstr "Misa 16uma nombro"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "Misa nombro"
@@ -324,25 +309,25 @@ msgstr "Averto: La opcio -C povas funkcii alie ol vi eble supozas"
msgid "not currently executing completion function"
msgstr "Ni ne estas en plenumado de kompletiga funkcio"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "Uzeblas nur ene de funkcio"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "„-f‟ ne estas uzebla por fari funkciojn"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: Nurlega funkcio"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "$%s: ĉi tiel ne eblas neniigi variablojn"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: Ne eblas konverti asocitabelon en pozician tabelon"
@@ -371,29 +356,29 @@ msgstr "%s: Ne Åargita dinamike"
msgid "%s: cannot delete: %s"
msgstr "%s: Ne eblas forigi: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s estas dosierujo"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: Ne ordinara dosiero"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: Tro granda dosiero"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: Neplenumebla duuma dosiero"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: Maleblas plenumi: %s"
@@ -421,11 +406,11 @@ msgstr "Restas rulataj laboroj.\n"
msgid "no command found"
msgstr "Komando ne trovita"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "Historia indiko"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: Ne malfermiÄis labordosiero: %s"
@@ -458,7 +443,7 @@ msgstr "Nomkonservado (haketado, «hashing») estas malÅaltita"
msgid "%s: hash table empty\n"
msgstr "%s: Hakettabelo estas malplena\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "Trafoj\tKomando\n"
@@ -525,77 +510,87 @@ msgstr "%s: inlib fiaskis"
msgid "no other options allowed with `-x'"
msgstr "La uzo de „-x‟ malebligas aliajn opciojn"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: Argumento estu proceznumero aÅ­ laborindiko"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Nekonata eraro"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "Mankas esprimo"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: Ne tabela variablo"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: Misa indiko de dosiernumero"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: Misa dosiernumero: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: Misa lininombro"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: Misa tabelbazo"
# Supozeble callback => retrovoko ??
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: Misa kvanto ĉe retrovoko"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "Mankas nomo de tabelvariablo"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "necesas subteno de tabelvariabloj"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "„%s‟: Mankas formata signo"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: Misa indiko de atendotempo"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "„%c‟: Misa signo formata"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "Averto: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "Mankas 16uma cifero por \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "Mankas 16uma cifero por \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "Ne estas alia dosierujo"
@@ -756,21 +751,21 @@ msgid "can only `return' from a function or sourced script"
msgstr ""
"„return‟ sencas nur en funkcio aŭ punkte vokita („.‟, „source‟) skripto"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "Ne eblas samtempe malaktivigi funkcion kaj variablon"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: Malaktivigo fiaskis"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: Malaktivigo fiaskis: nurlega %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: Ne tabela variablo"
@@ -784,20 +779,20 @@ msgstr "%s: Ne funkcio"
msgid "shift count"
msgstr "Nombrilo de „shift‟"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "Maleblas samtempe Åalti kaj malÅalti Åelan opcion"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: Misa nomo de Åela opcio"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "Necesas dosiernoma argumento"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: Dosiero ne trovita"
@@ -840,26 +835,26 @@ msgstr "„%s‟ estas „%s‟\n"
msgid "%s is hashed (%s)\n"
msgstr "„%s‟ estas metita en hakettabelon (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: MaltaÅ­ga argumento por limo"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "„%c‟: Misa komando"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: Fiaskis provo legi limon: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "limo"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: Malprosperis ÅanÄi limon: %s"
@@ -917,107 +912,112 @@ msgstr "%s: Neligita variablo"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "Tro longe sen enigo: AÅ­tomata seancofino\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aTro longe sen enigo: AÅ­tomata seancofino\n"
# XXX: internal error:
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "Fiaskis provo nomumi la disponaĵon «/dev/null» ĉefenigujo: %s"
# XXX: internal error:
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: „%c‟: Misa formatsigno"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "Eraro en dukto"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: Malpermesitas uzi „/‟ en komandonomoj"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: Komando ne trovita"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "„%s‟ estas „%s‟\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: Misa interpretilo"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "Ne eblas kunnomumi al dosiernumero %d la dosiernumeron %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "Tro profunda rekursio en esprimo"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "Rekursistako elĉerpita"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "Sintaksa eraro en esprimo"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "Provo valorizi ne-variablon"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "Divido per 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "CIMO: Misa operacisigno en kombinita valorizsimbolo"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "„:‟ mankas kondiĉa esprimo"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "Negativa eksponento"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "Post antaÅ­kremento aperu nomo de variablo"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "Mankas „)‟"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "Sintaksa eraro: Mankas operando"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "Sintaksa eraro: Misa operacisimbolo aritmetika"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (misa simbolo estas „%s‟)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "MaltaÅ­ga bazo nombrosistema"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "Tro granda valoro por bazo de nombrosistemo"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: Misa esprimo\n"
@@ -1026,166 +1026,166 @@ msgstr "%s: Misa esprimo\n"
msgid "getcwd: cannot access parent directories"
msgstr "getwd: Ne eblas atingi patrajn dosierujojn"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "Ne eblas reÅalti senprokrastan reÄimon por dosiernumero %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "Maleblas disponigi novan dosiernumeron por BaÅa enigo el n-ro %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: La nova dosiernumero (fd %d) jam havas bufron"
# ZZZ: sys_error (_("start_pipeline: pgrp pipe"));
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: procezgrupo dukto"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "Forke farita proceznumero %d aperas en rulata laboro %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "Haltigita laboro %d kun procezgrupo %ld estas forigata"
# ifdef DEBUG ... internal_warning():
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) in the_pipeline"
# ifdef DEBUG ... internal_warning():
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) marked as still alive"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: Ne estas tia proceznumero (%ld)!"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signalo %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Farite"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Haltigita"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Haltigita(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Rulata"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Farite(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Eliro %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Nekonata stato"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(nekropsio elÅutita)"
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (labordosierujo: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "provo atribui (setpgid) procezgrupon %2$ld de la procezido %1$ld"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: La procezo %ld ne estas ido de ĉi tiu Åelo"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Malestas informoj pri procezo %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: La laboro %d estas haltigita"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: La laboro finiÄis"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: La laboro %d jam estas fona"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: linio %dª: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr "(nekropsio elÅutita)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(nun labordosierujo estas: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp fiaskis"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: liniaranÄo"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid()"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "ne prosperis atribui grupon (%d) de terminala procezo"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "Ĉi tiu Åelo ne disponigas laborregadon"
@@ -1359,99 +1359,99 @@ msgstr "Tuj-dokumenton de linio %d limigas dosierfino (mankas „%s‟)"
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: Alidirektada komando „%d‟ ekster sia variejo"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "Neatendita dosierfino dum serĉo de responda „%c‟"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "Neatendita dosierfino dum serĉo de „]]‟"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "Sintaksa eraro en kondiĉa esprimo: Neatendita simbolo „%s‟"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "Sintaksa eraro en kondiĉa esprimo"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Nekonvena simbolo „%s‟ anstataŭ „)‟"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "Mankas „)‟"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "La argumento „%s‟ ne konvenas por unuloka kondiĉa operacisimbolo"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "Maltaŭga argumento por unuloka kondiĉa operacisimbolo"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "Misa simbolo „%s‟ anstataŭ duloka kondiĉa operacisigno"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "ĉi tie devas esti duloka kondiĉa operacisigno"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "La argumento „%s‟ ne konvenas por duloka kondiĉa operacisimbolo"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "<maltaŭga argumento por duloka kondiĉa operacisimbolo"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "Misa simbolo „%c‟ en kondiĉa komando"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "Misa simbolo „%s‟ en kondiĉa komando"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "Misa simbolo „%d‟ en kondiĉa komando"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "Sintaksa eraro apud neatendita simbolo „%s‟"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "Sintaksa eraro apud „%s‟"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "Sintaksa eraro: Neatendita dosierfino"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "Sintaksa eraro"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Uzu «%s» por eliri el la Åelo.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "Neatendita dosierfino dum serĉo de responda „)‟"
@@ -1462,83 +1462,83 @@ msgid "completion: function `%s' not found"
msgstr "Kompletigo: Funkcio „%s‟ ne trovita"
# XXX: programming_error
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: Misa stir-operacio „%d‟"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: Misa dosiernumero: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
# XXX: programming_error
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: „%c‟: Misa formatsigno"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "Ekstervarieja dosiernomo"
# XXX: internal_error
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Ambigua alidirektado"
# XXX: internal_error
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: Maleblas surskribi ekzistantan dosieron"
# XXX: internal_error
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: Limigita Åelo: malpermesitas alidirekti eligon"
# XXX: internal_error
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "Malprosperis krei labordosieron por tuj-dokumento: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: Maleblas valorizi tabelanon per listo"
# XXX: internal_warning
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "«/dev/(tcp|udp)/host/port» ne disponeblas ekster retumado"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "Alidirektada eraro: Fiaskis kunnomumo al dosiernumero"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "Mankas «/tmp», bv krei Äin!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "«/tmp» devas esti valida dosierujo"
@@ -1547,16 +1547,16 @@ msgstr "«/tmp» devas esti valida dosierujo"
msgid "%c%c: invalid option"
msgstr "%c%c: Misa opcio"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Mi ne havas nomon!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNUa «bash», versio %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1565,41 +1565,41 @@ msgstr ""
"Uzo:\t%s [GNUa opcio longforma] [opcio] ...\n"
"\t%s [GNUa opcio longforma] [opcio] SKRIPTODOSIERO ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNUaj opcioj longformaj:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Åœelaj opcioj:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD aÅ­ -c komando aÅ­ -O shopt_opcio\t\t(nur voko)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s aÅ­ -o opcio\n"
# bash --help
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Por pluaj informoj pri la opcioj tajpu: «%s -c \"help set\"»\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Por scii pli pri la primitivaj Åelkomandoj tajpu: „%s -c help‟\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Por raporti pri eraroj uzu la komandon „bashbug‟\n"
# XXX: internal_error
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: Misa operacio"
@@ -1812,83 +1812,83 @@ msgstr "Nekonata signalnumero"
msgid "Unknown Signal #%d"
msgstr "Nekonata signalo n-ro %d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Misa anstataŭigo: Mankas ferma „%s‟ en %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: Maleblas valorizi tabelanon per listo"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "Ne prosperis fari dukton por proceza anstataÅ­igo"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "Ne prosperis krei idon por proceza anstataÅ­igo"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "Ne prosperis malfermi nomitan dukton %s porlegan"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "Ne prosperis malfermi nomitan dukton %s por skribado"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "Ne prosperis kunnomumi nomhavan dukton %s kiel dosiernumeron %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "Ne prosperis fari dukton por komanda anstataÅ­igo"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "Ne prosperis krei procezidon por komanda anstataÅ­igo"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: Ne prosperis kunnomumi la dosiernumeron 1 al dukto"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: Parametro estas NUL aÅ­ malaktiva"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: subĉeno-esprimo < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: Misa anstataÅ­igo"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: ĉi tiel ne valorizebla"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "Misa anstataŭigo: Mankas ferma „`‟ en %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "Nenio kongrua: %s"
@@ -1911,38 +1911,38 @@ msgstr "Mankas „)‟"
msgid "`)' expected, found %s"
msgstr "AnstataÅ­ „)‟ troviÄas %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: Tie devas esti unuloka operacisigno"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: Tie devas esti duloka operacisigno"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "Mankas „]‟"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "Misa signalnumero"
# XXX: internal_warning
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: Misa valoro en trap_list[%d]: %p"
# XXX: internal_warning
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr "run_pending_traps: Signaltraktilo SIG_DFL resendas %d (%s) al mi mem"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Misa signalnumero %d"
@@ -1953,66 +1953,67 @@ msgid "error importing function definition for `%s'"
msgstr "Eraro ĉe importo de funkcidifino por „%s‟"
# XXX: internal_warning
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "%d estas tro granda Åelnivelo; mallevita Äis 1"
# XXX: internal_error
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: Malestas funkcia kunteksto en ĉi-regiono"
# XXX: internal_error
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: Malestas funkcia kunteksto en ĉi-regiono"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: Parametro estas NUL aÅ­ malaktiva"
# XXX: internal_error
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "Misa signo %d en eksporta signoĉeno por „%s‟"
# XXX: internal_error
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "Mankas „=‟ en eksporta signoĉeno por „%s‟"
# XXX: internal_error
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: La kapo de „shell_variables‟ ne estas funkcia kunteksto"
# XXX: internal_error
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: Mankas kunteksto de „global_variables‟"
# XXX: internal_error
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: La kapo de „shell_variables‟ ne estas provizora regiono"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: Fiaskis malfermo de %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: Misa dosiernumero: %s"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2009 ĉe «Free Software Foundation, Inc.»"
#: version.c:47
@@ -2110,7 +2111,8 @@ msgid "caller [expr]"
msgstr "caller [ESPRIMO]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [DOSIERUJO]"
#: builtins.c:66
@@ -2134,11 +2136,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] KOMANDO [ARG ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [NOMO[=VALORO] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] NOMO[=VALORO] ..."
#: builtins.c:80
@@ -2245,7 +2249,8 @@ msgid "return [n]"
msgstr "return [N]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o OPCINOMO] [ARG ...]"
#: builtins.c:142
@@ -2257,7 +2262,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [NOMO[=VALORO] ...] aÅ­ export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-aAf] [NOMO[=VALORO] ...] aÅ­ readonly -p"
#: builtins.c:148
@@ -2660,6 +2666,7 @@ msgstr ""
# cd:
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2685,11 +2692,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"ÅœanÄu la kurantan laboran dosierujon de la Åelo.\n"
"\n"
@@ -2716,7 +2727,7 @@ msgstr ""
" Äœi estas 0, se la dosierujÅanÄo sukcesis; nenulo aliokaze."
# pwd [-LP]
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2745,7 +2756,7 @@ msgstr ""
" 0, krom se aperas misa opcio aÅ­ la kuranta dosierujo estas\n"
" nelegebla."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2762,7 +2773,7 @@ msgstr ""
" Ĉiam sukcesa."
# true
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2775,7 +2786,7 @@ msgstr ""
" Ĉiam sukcesa."
# false:
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2789,7 +2800,7 @@ msgstr ""
# command [-pVv] command [arg ...]
# command [-pVv] KOMANDO [ARG ...]
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2825,7 +2836,8 @@ msgstr ""
# declare [-afFirtx] [-p] [name[=value] ...]
# declare [-aAfFilrtux] [-p] [NOMO[=VALORO] ...]
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2836,6 +2848,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2855,7 +2869,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2892,7 +2906,7 @@ msgstr ""
" Sukceso, krom se aperas misa opcio aÅ­ okazas eraro."
# typeset [-aAfFilrtux] [-p] name[=value] ...
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2904,7 +2918,7 @@ msgstr ""
# local [option] name[=value] ...
# local [OPCIO] NOMO[=VALORO] ...
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2931,7 +2945,7 @@ msgstr ""
" estas plenumanta funkcion."
# echo:
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2991,7 +3005,7 @@ msgstr ""
" Sukcesa, krom se okazas elig-eraro."
# echo [-n] [ARG ...]
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -3015,7 +3029,7 @@ msgstr ""
# enable [-a] [-dnps] [-f filename] [name ...]
# enable [-a] [-dnps] [-f DOSIERNOMO] [NOMO ...]
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -3067,7 +3081,7 @@ msgstr ""
" eraro."
# eval [ARG ...]
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -3088,7 +3102,7 @@ msgstr ""
# getopts optstring name [arg] =>
# getopts OPCIĈENO NOMO [ARG]
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3168,7 +3182,7 @@ msgstr ""
# exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
# exec [-cl] [-a NOMO] [KOMANDO [ARGUMENTOJ ...]] [ALIDIREKTADO ...]
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3210,7 +3224,7 @@ msgstr ""
" alirektado."
# exit [n]
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3223,7 +3237,7 @@ msgstr ""
" estas tiu de la plej ĵuse plenumita komando."
# logout [N]
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3240,7 +3254,7 @@ msgstr ""
# fc -s [pat=rep] [command] =>
# fc [-e REDAKTILO] [-lnr] [UNUA] [LASTA] aÅ­
# fc -s [ÅœABLONO=ANST] [KOMANDO]
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3295,7 +3309,7 @@ msgstr ""
" eraro."
# fg [job_spec] => fg [LABORINDIKO]
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3316,7 +3330,7 @@ msgstr ""
" Tiu de la dialogigita komando; aÅ­ malsukceso, se okazis eraro."
# bg [job_spec] => bg [LABORINDIKO]
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3340,7 +3354,7 @@ msgstr ""
" eraro."
# hash [-lr] [-p VOJNOMO] [-dt] [NOMO ...]
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3386,7 +3400,7 @@ msgstr ""
# help [-ds] [pattern ...]
# help [-ds] [ÅœABLONO ...]
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3431,7 +3445,7 @@ msgstr ""
# history [-c] [-d DEÅœOVO] [n] aÅ­
# history -awr [DOSIERNOMO] aÅ­
# history -ps ARG [ARG...]
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3504,7 +3518,7 @@ msgstr ""
# jobs -x command [args] =>
# jobs [-lnprs] [LABORINDIKO ...] aÅ­
# jobs -x KOMANDO [ARGS]
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3550,7 +3564,7 @@ msgstr ""
" Ĉe „-x‟, la elirstato de la KOMANDO."
# disown [-h] [-ar] [jobspec ...]
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3586,7 +3600,7 @@ msgstr ""
# kill -l [sigspec] =>
# kill [-s SIGSNOM | -n SIGNUM | -SIGNOM] PN | LABORINDIKO ... aÅ­
# kill -l [SIGNOM]
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3629,7 +3643,8 @@ msgstr ""
" Sukceso, krom se enestas misa opcio aÅ­ okazis eraro."
# let arg [arg ...]
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3671,7 +3686,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Komputu aritmetikan esprimon\n"
"\n"
@@ -3719,7 +3734,7 @@ msgstr ""
# [-t timeout] [-u fd] [name ...]
# read [-ers] [-a TABELO] [-d DISIG] [-i TEKSTO] [-n NSIGN] [-p INVIT]
# [-t TLIM] [-u DN] [NOMO ...]
-#: builtins.c:966
+#: builtins.c:971
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
@@ -3808,7 +3823,7 @@ msgstr ""
# return [n]
# return [N]
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3830,7 +3845,8 @@ msgstr ""
# set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
# set [--abefhkmnptuvxBCHP] [-o OPCINOMO] [ARG ...]
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3899,6 +3915,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3994,7 +4013,7 @@ msgstr ""
# unset [-f] [-v] [name ...]
# unset [-f] [-v] [NOMO ...]
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -4032,7 +4051,7 @@ msgstr ""
# export [-fn] [name[=value] ...] or export -p
# export [-fn] [NOMO[=VALORO] ...] aÅ­ export -p
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -4068,7 +4087,7 @@ msgstr ""
# readonly [-af] [name[=value] ...] or readonly -p
# readonly [-aAf] [NOMO[=VALORO] ...] aÅ­ readonly -p
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4105,7 +4124,7 @@ msgstr ""
" Sukceso, krom se aperas nevalida nomo aÅ­ misa opcio."
# shift [n]
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4122,7 +4141,7 @@ msgstr ""
# source filename [arguments]
# source DOSIERNOMO [ARGUMENTOJ]
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4147,7 +4166,7 @@ msgstr ""
" DOSIERNOMO ne legeblas."
# suspend [-f]
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4173,14 +4192,18 @@ msgstr ""
# test [expr]
# test [ESPRIMO]
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4234,6 +4257,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4318,7 +4342,7 @@ msgstr ""
" argumento."
# [ arg... ]
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4328,7 +4352,7 @@ msgstr ""
"Ĉi tiu estas sinonimo de la primitivo „test‟; tamen la lasta\n"
" argumento devas esti „]‟ fermanta la esprimon komencitan per „[‟."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4349,7 +4373,8 @@ msgstr ""
# trap [-lp] [[arg] signal_spec ...]
# trap [-lp] [[ARG] SIGNALINDIKO ...]
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4365,7 +4390,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4416,7 +4449,7 @@ msgstr ""
# type [-afptP] name [name ...]
# type [-afptP] NOMO [NOMO ...]
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4474,7 +4507,7 @@ msgstr ""
# ulimit [-SHacdefilmnpqrstuvx] [limit]
# ulimit [-SHacdefilmnpqrstuvx] [LIMO]
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4558,7 +4591,7 @@ msgstr ""
# umask [-p] [-S] [mode]
# umask [-p] [-S] [REÄœIMO]
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4593,7 +4626,7 @@ msgstr ""
# wait [id]
# wait [IND]
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4623,7 +4656,7 @@ msgstr ""
# wait [pid]
# wait [PN]
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4648,7 +4681,7 @@ msgstr ""
# for NAME [in WORDS ... ] ; do COMMANDS; done
# for NOMO [in VORTOJ ... ] ; do KOMANDOJ; done
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4672,7 +4705,7 @@ msgstr ""
# for (( exp1; exp2; exp3 )); do COMMANDS; done
# for (( ESPR1; ESPR2; ESPR3 )); do KOMANDOJ; done
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4704,7 +4737,7 @@ msgstr ""
# select NAME [in WORDS ... ;] do COMMANDS; done
# select NONO [in VORTOJ ... ;] do KOMANDOJ; done
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4741,7 +4774,7 @@ msgstr ""
# time [-p] PIPELINE
# time [-p] DUKTO
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4772,7 +4805,7 @@ msgstr ""
# case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac
# case VORTO in [ÅœABLONO [| ÅœABLONO]...) KOMANDOJ ;;]... esac
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4794,7 +4827,7 @@ msgstr ""
# [ else COMMANDS; ] fi
# if KOMANDOJ; then KOMANDOJ;[ elif KOMANDOJ; then KOMANDOJ; ]...
# [ else KOMANDOJ; ] fi
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4826,7 +4859,7 @@ msgstr ""
# while COMMANDS; do COMMANDS; done
# while KOMANDOJ; do KOMANDOJ; done
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4846,7 +4879,7 @@ msgstr ""
# until COMMANDS; do COMMANDS; done
# until KOMANDOJ; do KOMANDOJ; done
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4866,7 +4899,7 @@ msgstr ""
# coproc [NAME] command [redirections]
# coproc [NOMO] KOMANDO [ALIDIREKTADOJ]
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4890,7 +4923,7 @@ msgstr ""
# function name { COMMANDS ; } or name () { COMMANDS ; }
# function NOMO { KOMANDOJ ; } aÅ­ NOMO () { KOMANDOJ ; }
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4915,7 +4948,7 @@ msgstr ""
# grouping_braces: { COMMANDS ; }
# { KOMANDOJ ; }
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4935,7 +4968,7 @@ msgstr ""
# job_spec [&]
# LABORINDIKO [&]
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4960,7 +4993,7 @@ msgstr ""
# (( expression ))
# (( ESPRIMO ))
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4980,7 +5013,7 @@ msgstr ""
# [[ expression ]]
# [[ ESPRIMO ]]
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -5031,7 +5064,7 @@ msgstr ""
# help var
# variables - Names and meanings of some shell variables
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5138,7 +5171,7 @@ msgstr ""
# pushd [-n] [+N | -N | dir]
# pushd [-n] [+N | -N | DOSIERUJO]
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5197,7 +5230,7 @@ msgstr ""
" Sukceso, krom se aperas misa argumento aÅ­ se cd malsukcesas."
# popd [-n] [+N | -N]
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5246,7 +5279,7 @@ msgstr ""
" Sukceso, krom se aperas misa argumento aÅ­ se cd malsukcesas."
# dirs [-clpv] [+N] [-N]
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5300,7 +5333,7 @@ msgstr ""
# shopt [-pqsu] [-o] [optname ...]
# shopt [-pqsu] [-o] [OPCINOMO ...]
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5340,7 +5373,8 @@ msgstr ""
# printf [-v var] format [arguments]
# printf [-v VAR] FORMATO [ARGUMENTOJ]
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5363,6 +5397,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5390,7 +5427,7 @@ msgstr ""
# complete [-abcdefgjksuv] [-pr] [-o OPCIO] [-A AGO] [-G GLOBÅœAB]
# [-W VORTLISTO] [-F FUNKCIO] [-C KOMANDO] [-X FILTROÅœAB]
# [-P PREFIKSO] [-S SUFFIKSO] [NOMO ...]
-#: builtins.c:1895
+#: builtins.c:1913
#, fuzzy
msgid ""
"Specify how arguments are to be completed by Readline.\n"
@@ -5440,7 +5477,7 @@ msgstr ""
# compgen [-abcdefgjksuv] [-o OPCIO] [-A AGO] [-G GLOBÅœAB]
# [-W vORTLISTO] [-F FUNKCIO] [-C KOMANDO] [-X FILTROÅœAB]
# [-P PREFIKSO] [-S SUFFIKSO] [VORTO]
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5462,14 +5499,14 @@ msgstr ""
# compopt [-o|+o option] [name ...]
# compopt [-o|+o OPCIO] [NOMO ...]
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5520,7 +5557,7 @@ msgstr ""
# [-c quantum] [array]
# mapfile [-n NOMBRILO] [-O ORIGINO] [-s NOMBRILO] [-t] [-u DN] [-C RETROVOKO]
# [-c KVANTO] [TABELO]
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5549,7 +5586,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5592,7 +5630,7 @@ msgstr ""
# readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback]
# [-c quantum] [array]
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/es.gmo b/po/es.gmo
index e626a6f..309e997 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 2cad3cc..3478933 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,14 +1,14 @@
-# Mensajes en español para GNU bash-4.0.
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# Mensajes en español para GNU bash-4.1.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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.
+# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: GNU bash 4.0\n"
+"Project-Id-Version: GNU bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-03-19 19:34-0600\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-01-04 12:56-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"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "subíndice de matriz incorrecto"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: no se puede convertir la matriz de indizada a asociativa"
@@ -40,36 +40,36 @@ msgstr "%s: no se puede asignar a un índice que no es numérico"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: se debe usar un subíndice al asignar a una matriz asociativa"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: no se puede crear: %s"
-#: bashline.c:3457
+#: bashline.c:3498
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"
-#: bashline.c:3543
+#: bashline.c:3584
#, 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:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "no hay un `%c' que cierre en %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: falta un `:' separador"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "`%s': nombre de combinación de teclas inválido"
+msgstr "`%s': nombre de alias inválido"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -123,26 +123,11 @@ msgstr ""
" \n"
" Sin EXPR, devuelve "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME no está definido"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD no está definido"
@@ -161,11 +146,11 @@ msgstr "aviso: "
msgid "%s: usage: "
msgstr "%s: uso: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "demasiados argumentos"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: la opción requiere un argumento"
@@ -203,7 +188,7 @@ msgstr "número octal inválido"
msgid "invalid hex number"
msgstr "número hexadecimal inválido"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "número inválido"
@@ -314,25 +299,25 @@ msgstr "no se está ejecutando la función de completado"
# sólo se puede usar. sv
# De acuerdo. cfuga
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "sólo se puede usar dentro de una función"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "no se puede usar `-f' para hacer funciones"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: función de sólo lectura"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, 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:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: no se puede convertir una matriz asociativa a indizada"
@@ -361,31 +346,31 @@ msgstr "%s: no se cargó dinámicamente"
msgid "%s: cannot delete: %s"
msgstr "%s: no se puede borrar: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: es un directorio"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: no es un fichero regular"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: el fichero es demasiado grande"
# file=fichero. archive=archivo. Si no, es imposible traducir tar. sv
# De acuerdo. Corregido en todo el fichero. cfuga
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: no se puede ejecutar el fichero binario"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: no se puede ejecutar: %s"
@@ -413,11 +398,11 @@ msgstr "Hay trabajos en ejecución.\n"
msgid "no command found"
msgstr "no se encontró la orden"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "especificación de historia"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: no se puede abrir el fichero temporal: %s"
@@ -450,7 +435,7 @@ msgstr "asociación desactivada"
msgid "%s: hash table empty\n"
msgstr "%s: tabla de asociación vacía\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "coinc\torden\n"
@@ -519,76 +504,86 @@ msgstr "%s: falló inlib"
msgid "no other options allowed with `-x'"
msgstr "no se permiten otras opciones con `-x'"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: los argumentos deben ser procesos o IDs de trabajos"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Error desconocido"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "se esperaba una expresión"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: no es una variable de matriz"
+msgstr "%s: no es una matriz indizada"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: especificación de descriptor de fichero inválida"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: descriptor de fichero inválido: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: cuenta de líneas inválida"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: origen de matriz inválido"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: quantum de llamada inválido"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "nombre de variable de matriz vacío"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "se requiere el soporte de variable de matriz"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': falta el carácter de formato"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: especificación de tiempo de expiración inválida"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': carácter de formato inválido"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "aviso: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "falta el dígito hexadecimal para \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "falta el dígito hexadecimal para \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "no hay otro directorio"
@@ -746,21 +741,21 @@ 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'"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "no se puede borrar al mismo tiempo una función y una variable"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: no se puede borrar"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: no se puede borrar: %s es de solo lectura"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: no es una variable de matriz"
@@ -774,20 +769,20 @@ msgstr "%s: no es una función"
msgid "shift count"
msgstr "cuenta de shift"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "no se pueden activar y desactivar opciones del shell simultáneamente"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nombre de opción del shell inválido"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "se requiere un argumento de nombre de fichero"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: no se encontró el fichero"
@@ -830,26 +825,26 @@ msgstr "%s is %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s está asociado (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: límite de argumento inválido"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': orden errónea"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: no se puede obtener el límite: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "límite"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: no se puede modificar el límite: %s"
@@ -905,78 +900,83 @@ msgstr "%s: variable sin asignar"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "ha expirado mientras esperaba alguna entrada: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aha expirado mientras esperaba alguna entrada: auto-logout\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "no se puede redirigir la salida estándar desde /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': carácter de formato inválido"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "error de tubería"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restringido: no se puede especificar `/' en nombres de órdenes"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: no se encontró la orden"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s is %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: intérprete erróneo"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "no se puede duplicar el df %d al df %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "se ha excedido el nivel de recursión de la expresión"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "desbordamiento de la base de la pila de recursión"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "error sintáctico en la expresión"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "se intentó asignar a algo que no es una variable"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "división por 0"
# token en bison fue traducido como terminal. ¿Lo traducimos igual aquí
# o lo dejamos como 'unidad' o 'elemento'? cfuga
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bicho: elemento de asignación de expresión erróneo"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "se esperaba `:' para la expresión condicional"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponente menor que 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
"se esperaba un identificador después del pre-incremento o pre-decremento"
@@ -984,32 +984,32 @@ msgstr ""
# falta , singular em+
# mmmh, puede faltar más de un paréntesis cfuga
# tiene razón Enrique, es singular. cfuga
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "falta un `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "error sintáctico: se esperaba un operando"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "error sintáctico: operador aritmético inválido"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (el elemento de error es \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "base aritmética inválida"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "valor demasiado grande para la base"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: error de expresión\n"
@@ -1018,12 +1018,12 @@ msgstr "%s: error de expresión\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: no se puede acceder a los directorios padre"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, 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
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
@@ -1033,155 +1033,155 @@ msgstr ""
# buffer: espacio intermedio , alojamiento intermedio ( me gusta menos )
# em+
# almacenamiento intermedio. cfuga
-#: input.c:266
+#: input.c:268
#, 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"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: tubería de pgrp"
-#: jobs.c:887
+#: jobs.c:889
#, 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:1007
#, 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:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: el proceso %5ld (%s) en the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) se marca como vivo aún"
# Cambiaría 'hay' por 'existe' em+
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: no existe tal pid"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Señal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Hecho"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Detenido"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Detenido(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Ejecutando"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Hecho(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Salida %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Estado desconocido"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(`core' generado) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (dir ahora: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid hijo (%ld a %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, 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:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: No hay un registro del proceso %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: el trabajo %d está detenido"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: el trabajo ha terminado"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: el trabajo %d ya está en segundo plano"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: se activa WNOHANG para evitar el bloque indefinido"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: línea %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (`core' generado)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(dir ahora: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs_control: falló getpgrp"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_jobs_control: disciplina de línea"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_jobs_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "no se puede establecer el grupo de proceso de terminal (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "no hay control de trabajos en este shell"
@@ -1278,22 +1278,22 @@ msgstr "no hay soporte para operaciones de red"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: no se puede cambiar el local (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: no se puede cambiar el local (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: no se pueden reasignar %lu bytes"
+msgstr "setlocale: %s: no se puede cambiar el local (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: no se pueden reasignar %lu bytes"
+msgstr "setlocale: %s: no se puede cambiar el local (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1339,71 +1339,71 @@ msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
"make_redirection: la instrucción de redirección `%d' está fuera de rango"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "EOF inesperado mientras se buscaba un `%c' coincidente"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "EOF inesperado mientras se buscaba `]]'"
-#: parse.y:3956
+#: parse.y:4030
#, 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:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "error sintáctico en la expresión condicional"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "elemento inesperado `%s', se esperaba `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "se esperaba `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumento inesperado `%s' para el operador unario condicional"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "argumento inesperado para el operador unario condicional"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "elemento inesperado `%s', se esperaba un operador binario condicional"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "se esperaba un operador binario condicional"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumento inesperado `%s' para el operador binario condicional"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "argumento inesperado para el operador binario condicional"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "elemento inesperado `%c' en la orden condicional"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "elemento inesperado `%s' en la orden condicional"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "elemento inesperado %d en la orden condicional"
@@ -1414,12 +1414,12 @@ 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:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "error sintáctico cerca del elemento inesperado `%s'"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "error sintáctico cerca de `%s'"
@@ -1428,20 +1428,20 @@ 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:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "error sintáctico: no se esperaba el final del fichero"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "error sintáctico"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use \"%s\" para dejar el shell.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "EOF inesperado mientras se buscaba un `)' coincidente"
@@ -1450,77 +1450,77 @@ msgstr "EOF inesperado mientras se buscaba un `)' coincidente"
msgid "completion: function `%s' not found"
msgstr "completion: no se encuentra la función `%s'"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: COMPSPEC nulo"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector erróneo `%d'"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: descriptor de fichero inválido: %s"
+msgstr "xtrace_set: %d: descriptor de fichero inválido"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: puntero a fichero NULL"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != numfich xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': carácter de formato inválido"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "descriptor de fichero fuera de rango"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redireccionamiento ambiguo"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: no se puede sobreescribir un fichero existente"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restringido: no se puede redirigir la salida"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "no se puede crear un fichero temporal para el documento-aquí: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: no se puede asignar una lista a un miembro de la matriz"
+msgstr "%s: no se puede asignar el fd a la variable"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "no se admite /dev/(tcp|udp)/anfitrion/puerto sin red"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "error de redirección: no se puede duplicar el df"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "¡no se puede encontrar /tmp, crear por favor!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp debe ser un nombre de directorio válido"
@@ -1532,11 +1532,11 @@ msgstr "%c%c: opción inválida"
# 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:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "¡No tengo nombre de usuario!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versión %s-(%s)\n"
@@ -1546,7 +1546,7 @@ msgstr "GNU bash, versión %s-(%s)\n"
# 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:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1555,43 +1555,43 @@ msgstr ""
"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:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Opciones GNU largas:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Opciones del shell:\n"
-#: shell.c:1801
+#: shell.c:1803
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:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s o -o opción\n"
-#: shell.c:1822
+#: shell.c:1824
#, 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"
-#: shell.c:1823
+#: shell.c:1825
#, 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"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Use la orden `bashbug' para reportar bichos.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operación inválida"
@@ -1776,83 +1776,85 @@ msgstr "Señal Desconocida #"
msgid "Unknown Signal #%d"
msgstr "Señal Desconocida #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, 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:2735
+#: subst.c:2795
#, 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:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "no se puede crear la tubería para la sustitución del proceso"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "no se puede crear un proceso hijo para la sustitución del proceso"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "no se puede abrir la tubería llamada %s para lectura"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "no se puede abrir la tubería llamada %s para escritura"
-#: subst.c:4867
+#: subst.c:5092
#, 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:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "no se pueden crear la tubería para la sustitución de la orden"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "no se puede crear un proceso hijo para la sustitución de la orden"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: no se puede duplicar la tubería como df 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parámetro nulo o no establecido"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expresión de subcadena < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: sustitución errónea"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: no se puede asignar de esta forma"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"versiones futuras del intérprete obligarán la evaluación como una "
+"sustitución aritmética"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "sustitución errónea: no hay una \"`\" que cierre en %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "no hay coincidencia: %s"
@@ -1875,12 +1877,12 @@ msgstr "se esperaba `)'"
msgid "`)' expected, found %s"
msgstr "se esperaba `)', se encontró %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: se esperaba un operador unario"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: se esperaba un operador binario"
@@ -1892,20 +1894,20 @@ msgstr "%s: se esperaba un operador binario"
# Abreviando "falta [al menos] un `]'" saldría: "falta un `]'".
# ¿No es mejor "falta algún `]'"? cfuga
# Tiene razón Enrique: singular. cfuga
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "falta un `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "número de señal inválido"
-#: trap.c:327
+#: trap.c:337
#, 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:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1913,7 +1915,7 @@ msgstr ""
"run_pending_traps: el manejador de señal es SIG_DFL, reenviando %d (%s) a mí "
"mismo"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: señal errónea %d"
@@ -1923,60 +1925,61 @@ msgstr "trap_handler: señal errónea %d"
msgid "error importing function definition for `%s'"
msgstr "error al importar la definición de la función para `%s'"
-#: variables.c:748
+#: variables.c:755
#, 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:1915
+#: variables.c:1932
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:3159
+#: variables.c:3182
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:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: parámetro nulo o no establecido"
+msgstr "%s tiene exportstr nulo"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "carácter inválido %d en exportstr para %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "no hay `=' en exportstr para %s"
-#: variables.c:3835
+#: variables.c:3891
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"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: no es un contexto global_variables"
-#: variables.c:3922
+#: variables.c:3978
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"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: no se puede abrir: %s"
+msgstr "%s: %s: no se puede abrir como FICHERO"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: descriptor de fichero inválido: %s"
+msgstr "%s: %s: valor inválido para el descriptor de fichero de rastreo"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -2004,38 +2007,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "NO hay GARANTÍA, a la extensión permitida por la ley.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Licencia GPLv3+: GPL de GNU versión 3 o posterior <http://gnu.org/licenses/"
+"Licencia GPLv2+: GPL de GNU versión 2 o posterior <http://gnu.org/licenses/"
"gpl.html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: no se pueden asignar %lu bytes (%lu bytes asignados)"
+msgstr "%s: no se pueden asignar %lu bytes (%lu bytes asignados)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: no se pueden asignar %lu bytes"
+msgstr "%s: no se pueden asignar %lu bytes"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s:%d: no se pueden asignar %lu bytes (%lu bytes asignados)"
+msgstr "%s: %s:%d: no se pueden asignar %lu bytes (%lu bytes asignados)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: no se pueden asignar %lu bytes"
+msgstr "%s: %s:%d: no se pueden asignar %lu bytes"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2071,7 +2074,8 @@ msgid "caller [expr]"
msgstr "caller [expresión]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [directorio]"
#: builtins.c:66
@@ -2095,11 +2099,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] orden [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] nombre[=valor] ..."
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] nombre[=valor] ..."
#: builtins.c:80
@@ -2155,9 +2161,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p ruta] [-dt] [nombre ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [patrón ...]"
+msgstr "help [-dms] [patrón ...]"
#: builtins.c:121
msgid ""
@@ -2193,20 +2198,20 @@ msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a matriz] [-d delim] [-i texto] [-n ncars] [-p prompt] [-t "
-"tiempo] [-u df] [nombre ...]"
+"read [-ers] [-a matriz] [-d delim] [-i texto] [-n ncars] [-N ncars] [-p "
+"prompt] [-t tiempo] [-u df] [nombre ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o nombre-opción] [arg ...]"
#: builtins.c:142
@@ -2218,7 +2223,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [nombre[=valor] ...] ó export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [nombre[=valor] ...] ó readonly -p"
#: builtins.c:148
@@ -2360,14 +2366,13 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] formato [argumentos]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o opción] [-A acción] [-G patglob] [-W "
-"listapalabras] [-F función] [-C orden] [-X patfiltro] [-P prefijo] [-S "
+"complete [-abcdefgjksuv] [-pr] [-DE] [-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
@@ -2380,9 +2385,8 @@ msgstr ""
"sufijo] [palabra]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o opción] [nombre ...]"
+msgstr "compopt [-o|+o opción] [-DE] [nombre ...]"
#: builtins.c:240
msgid ""
@@ -2635,6 +2639,7 @@ msgstr ""
# por barra invertida em++
# Corregido en toda la traducción. cfuga
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2660,11 +2665,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Cambia el directorio de trabajo del shell.\n"
" \n"
@@ -2690,7 +2699,7 @@ msgstr ""
" Estado de salida:\n"
" Devuelve 0 si se cambia el directorio; de otra forma es diferente a cero."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2718,7 +2727,7 @@ msgstr ""
" Devuelve 0 a menos que se de una opción inválida o no se pueda leer\n"
" el directorio actual."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2734,7 +2743,7 @@ msgstr ""
" Estado de Salida:\n"
" Siempre con éxito."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2746,7 +2755,7 @@ msgstr ""
" Estado de salida:\n"
" Siempre con éxito."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2758,7 +2767,7 @@ msgstr ""
" Estado de salida:\n"
" Siempre falla."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2796,7 +2805,8 @@ msgstr ""
" Devuelve el estado de salida de la ORDEN, o falla si no se encuentra\n"
" la ORDEN."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2807,6 +2817,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2826,7 +2838,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2865,7 +2877,7 @@ msgstr ""
" Devuelve con éxito a menos que se de una opción inválida o\n"
" suceda un error."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2875,7 +2887,7 @@ msgstr ""
" \n"
" Obsoleto. Consulte `help declare'."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2901,7 +2913,7 @@ msgstr ""
" 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
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2962,7 +2974,7 @@ msgstr ""
" Estado de salida:\n"
" Devuelve con éxito a menos que suceda un error de escritura."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2984,7 +2996,7 @@ msgstr ""
" Estado de salida:\n"
" Devuelve con éxito a menos que suceda un error de escritura."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -3039,7 +3051,7 @@ msgstr ""
"shell\n"
" o suceda un error."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -3064,7 +3076,7 @@ msgstr ""
# en una de dos formas -> en una de las dos formas siguientes em+
# dar argumentos -> especificar em+
# De acuerdo. cfuga
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3144,7 +3156,7 @@ msgstr ""
" 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:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3185,7 +3197,7 @@ msgstr ""
" Devuelve éxito a menos que no se encuentre la ORDEN o que suceda un\n"
" error de redirección."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3198,7 +3210,7 @@ msgstr ""
"salida\n"
" es el mismo de la última orden ejecutada."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3211,7 +3223,7 @@ msgstr ""
" 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
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3267,7 +3279,7 @@ msgstr ""
"error\n"
" es diferente de cero."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3288,7 +3300,7 @@ msgstr ""
" El estado del comando ubicado en primer plano, o falla si sucede un "
"error."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3311,7 +3323,7 @@ msgstr ""
" Devuelve éxito a menos que el control de trabajos no esté activado o\n"
" suceda un error."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3356,7 +3368,7 @@ msgstr ""
" Devuelve con éxito a menos que no se encuentre NOMBRE o se proporcione\n"
" una opción inválida."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3397,7 +3409,7 @@ msgstr ""
" Devuelve con éxito a menos que no se encuentre PATRÓN o se proporcione\n"
" una opción inválida."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3460,7 +3472,7 @@ msgstr ""
" tiempo asociada con cada entrada de historia mostrada. No se muestra\n"
" ninguna marca de tiempo de otra forma."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3506,7 +3518,7 @@ msgstr ""
" 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:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3537,7 +3549,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcionen una opción o un\n"
" IDTRABAJO inválidos."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3587,7 +3599,8 @@ msgstr ""
# 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
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3629,7 +3642,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Evalúa expresiones aritméticas.\n"
" \n"
@@ -3674,8 +3687,7 @@ msgstr ""
" 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:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3743,7 +3755,11 @@ msgstr ""
" -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"
+" \t\tesperar una línea nueva, pero honra a un delimitador si\n"
+" \t\tse leen menos de NCARS caracteres antes del delimitador\n"
+" -N ncars\tdevuelve sólo después de leer exactamente NCARS\n"
+" \t\tcaracteres, a menos que se encuentre el fin del fichero\n"
+" \t\to expire la lectura, descartando cualquier delimitador\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"
@@ -3762,7 +3778,7 @@ msgstr ""
" línea, el tiempo de read expire, o se proporcione un descriptor de\n"
" fichero inválido como el argumento de -u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3784,7 +3800,8 @@ msgstr ""
" Devuelve N, o falla si el shell no está ejecutando una función o un "
"guión."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3853,6 +3870,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3954,7 +3974,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve con éxito a menos que se proporcione una opción inválida."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3990,7 +4010,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
" un NOMBRE sea de sólo lectura."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -4026,7 +4046,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione una opción inválida o que\n"
" NOMBRE sea inválido."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4065,7 +4085,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
" el NOMBRE sea inválido."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4083,7 +4103,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve con éxito a menos que N sea negativo o mayor que $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4107,7 +4127,7 @@ msgstr ""
" Devuelve el estado de la última orden ejecutada del FICHERO; falla si\n"
" no se puede leer el FICHERO."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4133,14 +4153,18 @@ msgstr ""
" Devuelve con éxito a menos que no esté activo el control de trabajos o\n"
" suceda un error."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4194,6 +4218,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4287,7 +4312,7 @@ msgstr ""
" 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:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4299,7 +4324,7 @@ msgstr ""
" 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:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4319,7 +4344,8 @@ msgstr ""
" Estado de salida:\n"
" Siempre con éxito."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4335,7 +4361,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4388,7 +4422,7 @@ msgstr ""
# 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:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4446,7 +4480,7 @@ msgstr ""
" Devuelve con éxito si se encuentran todos los NOMBREs; falla si no se\n"
" encuentra alguno."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4535,7 +4569,7 @@ msgstr ""
"suceda\n"
" un error."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4569,7 +4603,7 @@ msgstr ""
" Devuelve con éxito a menos que el MODO sea inválido o se proporcione\n"
" una opción inválida."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4597,7 +4631,7 @@ msgstr ""
" Devuelve el estado de ID; falla si ID es inválido o se proporciona una\n"
" opción inválida."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4620,7 +4654,7 @@ msgstr ""
" Devuelve el estado de ID; falla si ID es inválido o se proporciona una\n"
" opción inválida."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4642,7 +4676,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4672,7 +4706,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4709,7 +4743,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4736,7 +4770,7 @@ msgstr ""
" Estado de Salida:\n"
" El estado de devolución es el estado de devolución de la TUBERÍA."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4754,7 +4788,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4790,7 +4824,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4808,7 +4842,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4826,7 +4860,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4850,7 +4884,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de salida de la ORDEN."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4873,7 +4907,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve con éxito a menos que NOMBRE sea de sólo lectura"
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4891,7 +4925,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado de la última orden ejecutada."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4916,7 +4950,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve el estado del trabajo reiniciado."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4934,7 +4968,7 @@ msgstr ""
" Estado de Salida:\n"
" Devuelve 1 si la EXPRESIÓN evalúa a 0; devuelve 0 de otra manera."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4987,7 +5021,7 @@ msgstr ""
" Estado de Salida:\n"
" 0 o 1 dependiendo del valor de la EXPRESIÓN."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5102,7 +5136,7 @@ msgstr ""
" \t\tpara decidir cuáles órdenes se deben guardar en la lista de\n"
" \t\thistoria.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5161,7 +5195,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione un argumento inválido o\n"
" falle el cambio de directorio."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5215,7 +5249,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione un argumento inválido o\n"
" falle el cambio de directorio."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5271,7 +5305,7 @@ msgstr ""
" Devuelve con éxito, a menos que se proporcione una opción inválida o\n"
" suceda un error."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5308,7 +5342,8 @@ msgstr ""
" 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:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5331,6 +5366,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5361,8 +5399,7 @@ msgstr ""
" 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:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5401,15 +5438,20 @@ msgstr ""
" -r\tborra una especificación de completado para cada NOMBRE,\n"
" \to, si no se proporcionan NOMBREs, todas las especificaciones\n"
" \tde completado\n"
+" -D\taplica los completados y acciones por defecto para las órdenes\n"
+" \tsin ninguna especificación de completado definida\n"
+" -E\taplica los completados y acciones para órdenes \"vacías\" --\n"
+" \tcuando se intenta completar en una línea en blanco\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"
+" que se enlistan las opciones de letra mayúscula antes indicadas. La\n"
+" opción -D tiene precedencia sobre -E.\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:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5431,14 +5473,14 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
" suceda un error."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5471,6 +5513,8 @@ msgstr ""
" Opciones:\n"
" \t-o opción\tEstablece la opción de completado OPCIÓN\n"
" \t\tpara cada NOMBRE\n"
+" \t-D\t\tCambia las opciones para el completado de orden \"por defecto\"\n"
+" \t-E\t\tCambia las opciones para el completado de orden \"vacía\"\n"
" \n"
" Si usa `+o' en lugar de `-o' desactiva la opción especificada.\n"
" \n"
@@ -5478,7 +5522,8 @@ msgstr ""
" \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"
+" Si no se proporcionan NOMBREs, se debe llamar a compopt desde una "
+"función\n"
" que genere completados, y se modifican las opciones para ese generador\n"
" de completados en ejecución.\n"
" \n"
@@ -5486,7 +5531,7 @@ msgstr ""
" 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:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5515,7 +5560,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5526,11 +5572,11 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
-"Lee líneas de un fichero y las guarda en una variable de matriz.\n"
+"Lee líneas de un fichero y las guarda en una variable de matriz indizada.\n"
" \n"
" 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"
+" indizada MATRIZ, o desde el descriptor de fichero DF si se proporciona\n"
+" la opció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"
@@ -5559,7 +5605,7 @@ msgstr ""
" Devuelve con éxito a menos que se proporcione una opción inválida o\n"
" la MATRIZ sea de sólo lectura."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5569,6 +5615,28 @@ msgstr ""
" \n"
" Un sinónimo de `mapfile'."
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". Con EXPR, devuelve\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "; esta información adicional se puede usar para\n"
+#~ " proveer un rastreo de pila.\n"
+#~ " \n"
+#~ " El valor de EXPR indica cuántos marcos de llamada retroceder antes "
+#~ "del\n"
+#~ " marco actual; el marco superior es el marco 0."
+
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr "xrealloc: no se pueden reasignar %lu bytes (%lu bytes asignados)"
diff --git a/po/et.gmo b/po/et.gmo
index 779307f..f020fcb 100644
--- a/po/et.gmo
+++ b/po/et.gmo
Binary files differ
diff --git a/po/et.po b/po/et.po
index 2fbdb4b..7b2961c 100644
--- a/po/et.po
+++ b/po/et.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 3.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2006-11-11 16:38+0200\n"
"Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "vigane massiivi indeks"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -38,26 +38,26 @@ msgstr "%s: mitte-numbrilisele indeksile ei saa omistada"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: ei saa luua: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: esimine mitte-tühemik sümbol pole `\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "sulgev `%c' puudub %s sees"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: puudub eraldav koolon"
@@ -117,26 +117,11 @@ msgid ""
" Without EXPR, returns "
msgstr "Tagastab jooksva alamprotseduuri konteksti."
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME pole seatud"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD pole seatud"
@@ -155,11 +140,11 @@ msgstr "%s: hoiatus: "
msgid "%s: usage: "
msgstr "%s: hoiatus: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "liiga palju argumente"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: võti nõuab argumenti"
@@ -199,7 +184,7 @@ msgstr "vigane signaali number"
msgid "invalid hex number"
msgstr "vigane number"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "vigane number"
@@ -308,25 +293,25 @@ msgstr "hoiatus: võti -C ei pruugi töötada nagu te ootate"
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "saab kasutada ainult funktsioonis"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "võtit `-f' ei saa funktsiooni loomiseks kasutada"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funktsioon ei ole muudetav"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: masiivi muutujaid ei saa nii kustutada"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -355,29 +340,29 @@ msgstr "%s: pole dünaamiliselt laetud"
msgid "%s: cannot delete: %s"
msgstr "%s: ei saa kustutada: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: on kataloog"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ei ole tavaline fail"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: fail on liiga suur"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: kahendfaili ei õnnestu käivitada"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: ei saa käivitada: %s"
@@ -405,11 +390,11 @@ msgstr "Teil on peatatud töid.\n"
msgid "no command found"
msgstr "käsku ei ole"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: ajutist faili ei saa avada: %s"
@@ -442,7 +427,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "viimane käsklus: %s\n"
@@ -499,77 +484,87 @@ msgstr "%s: vigane teenus"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Tundmatu viga"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "oodati avaldist"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: pole massiiv"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: vigane võti"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: vigane võti"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: vigane tegevuse nimi"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: pole massiiv"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: vigane signaali spetsifikatsioon"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s: hoiatus: "
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "teist kataloogi pole"
@@ -670,21 +665,21 @@ msgstr "viga lugemisel: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: ei saa eemaldada"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: ei saa eemaldada: %s on ainult lugemiseks"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: pole massiiv"
@@ -698,20 +693,20 @@ msgstr "%s: ei ole funktsioon"
msgid "shift count"
msgstr "shift arv"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: faili ei ole"
@@ -754,26 +749,26 @@ msgstr "%s on %s\n"
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': halb käsklus"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: ei õnnestu lugeda piirangut: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: ei õnnestu muuta piirangut: %s"
@@ -829,106 +824,111 @@ msgstr "%s: sidumata muutuja"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "kirjutamise viga: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: piiratud: käskudes ei saa kasutada sümboleid `/'"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: käsku ei ole"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s on %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: halb interpretaator"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "avaldise rekursioon on liiga sügav"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr ""
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "süntaksi viga avaldises"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "üritati omistada mitte-muutujale"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "nulliga jagamine"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr ""
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr ""
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "eksponent on väiksem kui 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "puudub `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "süntaksi viga: oodati operandi"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "süntaksi viga: vigane aritmeetiline operaator"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "vigane aritmeetiline baas"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "väärtus on baasiks liiga suur"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: oodati täisarvude avaldist"
@@ -937,163 +937,163 @@ msgstr "%s: oodati täisarvude avaldist"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: vanemkataloogidele ei ole juurdepääsu"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: pid puudub"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: töö %d on peatatud"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: töö on lõpetatud"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: töö %d on juba taustal"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s: hoiatus: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr ""
@@ -1245,99 +1245,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "süntaksi viga tingimuslikus avaldises"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "ootamatu märk `%s', oodati `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "oodati `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "süntaksi viga kohal `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "süntaksi viga: ootamatu faililõpp"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "süntaksi viga"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Käsuinterpretaatorist väljumiseks kasutage \"%s\".\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1346,77 +1346,77 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr ""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "faili deskriptor on piiridest väljas"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: segane ümbersuunamine"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: fail on olemas, ei kirjuta üle"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: piiratud: väljundit ei saa ümber suunata"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "$%s: sedasi ei saa omistada"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "viga ümbersuunamisel: fd duplikaadi loomine ei õnnestu"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "/tmp puudub, palun looge see!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp peab olema kataloogi nimi"
@@ -1425,16 +1425,16 @@ msgstr "/tmp peab olema kataloogi nimi"
msgid "%c%c: invalid option"
msgstr "%c%c: vigane võti"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Mul ei ole nime!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1443,39 +1443,39 @@ msgstr ""
"Kasuta:\t%s [GNU pikk võti] [võti] ...\n"
"\t%s [GNU pikk võti] [võti] skript-fail ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU pikad võtmed:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Käsuinterpretaatori võtmed:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD või -c käsklus või -O lühivõti\t\t(ainult käivitamine)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s või -o võti\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Vigadest teatamiseks kasutage käsku `bashbug'.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: vigane operatsioon"
@@ -1651,83 +1651,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parameeter on null või pole seatud"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: halb asendus"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: sedasi ei saa omistada"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "sulgev `%c' puudub %s sees"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "ei leitud: %s"
@@ -1750,37 +1750,37 @@ msgstr "oodati `)'"
msgid "`)' expected, found %s"
msgstr "oodati `)', saadi %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: eeldati unaarset operaatorit"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: eeldati binaarset operaatorit"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "puudub `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "vigane signaali number"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: halb väärtus muutujas trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: signaali käsitleja on SIG_DFL, saadan %d (%s) iseendale"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: vigane signaal %d"
@@ -1790,59 +1790,59 @@ msgstr "trap_handler: vigane signaal %d"
msgid "error importing function definition for `%s'"
msgstr ""
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "shelli tase (%d) on liiga kõrge, kasutan väärtust 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: praegune skoop pole funktsiooni kontekst"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: praegune skoop pole funktsiooni kontekst"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parameeter on null või pole seatud"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: pole global_variables kontekst"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: ei saa avada: %s"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Autoriõigus © 2006 Free Software Foundation, Inc.\n"
#: version.c:47
@@ -1929,7 +1929,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -1953,11 +1953,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2051,7 +2051,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2063,7 +2063,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2380,14 +2380,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2403,7 +2407,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2413,7 +2417,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2421,7 +2425,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2429,7 +2433,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2448,7 +2452,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2459,6 +2463,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2478,20 +2484,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2506,7 +2512,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2537,7 +2543,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2550,7 +2556,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2577,7 +2583,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2589,7 +2595,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2630,7 +2636,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2653,7 +2659,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2661,7 +2667,7 @@ msgid ""
" is that of the last command executed."
msgstr ""
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2670,7 +2676,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2700,7 +2706,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2712,7 +2718,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2726,7 +2732,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2750,7 +2756,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2772,7 +2778,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2806,7 +2812,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2830,7 +2836,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2847,7 +2853,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2869,7 +2875,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2911,10 +2917,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -2962,7 +2968,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -2974,7 +2980,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3043,6 +3049,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3056,7 +3065,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3076,7 +3085,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3095,7 +3104,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3115,7 +3124,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3126,7 +3135,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3140,7 +3149,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3154,14 +3163,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3215,6 +3227,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3231,7 +3244,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3239,7 +3252,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3251,7 +3264,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3267,7 +3280,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3287,7 +3308,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3317,7 +3338,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3361,7 +3382,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3379,7 +3400,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3396,7 +3417,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3410,7 +3431,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3423,7 +3444,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3440,7 +3461,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3460,7 +3481,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3476,7 +3497,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3487,7 +3508,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3508,7 +3529,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3519,7 +3540,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3530,7 +3551,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3543,7 +3564,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3557,7 +3578,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3568,7 +3589,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3582,7 +3603,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3593,7 +3614,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3621,7 +3642,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3675,7 +3696,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3706,7 +3727,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3733,7 +3754,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3762,7 +3783,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3783,7 +3804,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3806,6 +3827,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3813,7 +3837,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3840,7 +3864,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3853,13 +3877,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3884,7 +3908,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3912,7 +3936,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -3924,7 +3949,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/fi.gmo b/po/fi.gmo
index c0ee173..3d35b85 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 29c4ea3..b6e67a7 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash-4.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2009-05-09 15:13+0300\n"
"Last-Translator: Pekka Niemi <pekka.niemi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -23,7 +23,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "virheellinen taulukkoindeksi"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: indeksoitua taulukkoa ei voi muuttaa assosiatiiviseksi"
@@ -45,26 +45,26 @@ msgstr ""
"%s: %s: assosiatiiviseen taulukkoon sijoitettaessa täytyy käyttää "
"avainindeksiä"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: ei voida luoda: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: komennolle ei löydy näppäinkarttaa"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: ensimmäinen ei-tyhjä merkki ei ole â€\"â€"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "ei loppumerkkiä â€%c†rivissä %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: puuttuva kaksoispiste-erotin"
@@ -126,26 +126,11 @@ msgstr ""
" \n"
" Ilman LAUSEKETTA palauttaa"
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME-ympäristömuuttujaa ei ole asetettu"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD-ympäristömuuttujaa ei ole asetettu"
@@ -164,11 +149,11 @@ msgstr "varoitus: "
msgid "%s: usage: "
msgstr "%s: käyttö: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "liian monta argumenttia"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: valitsin vaatii argumentin"
@@ -206,7 +191,7 @@ msgstr "virheellinen oktaaliluku"
msgid "invalid hex number"
msgstr "virheellinen heksadesimaaliluku"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "virheellinen luku"
@@ -315,25 +300,25 @@ msgstr "varoitus: -C -valitsin ei ehkä toimi odotetusti"
msgid "not currently executing completion function"
msgstr "tällä hetkellä komennon lavennusfunktiota ei suoriteta"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "voidaan käyttää ainoastaan funktiossa"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "â€-fâ€:ää ei voida käyttää funktioiden luomiseen"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: kirjoitussuojattu funktio"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: taulukkomuuttujia ei voi tuhota näin"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: assosiatiivista taulukkoa ei voi muuttaa indeksoiduksi"
@@ -362,29 +347,29 @@ msgstr "%s: ei dynaamisesti ladattu"
msgid "%s: cannot delete: %s"
msgstr "%s: ei voida poistaa: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: on hakemisto"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ei tavallinen tiedosto"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: tiedosto on liian iso"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: binääritiedostoa ei voida suorittaa"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: ei voida suorittaa: %s"
@@ -412,11 +397,11 @@ msgstr "Töitä on ajossa.\n"
msgid "no command found"
msgstr "ei löytynyt komentoa"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "komentohistoriamääritys"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: väliaikaistiedostoa ei voitu avata: %s"
@@ -449,7 +434,7 @@ msgstr "hajautus kytketty pois"
msgid "%s: hash table empty\n"
msgstr "%s: hajautustaulukko on tyhjä\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "osumia\tkomento\n"
@@ -517,76 +502,86 @@ msgstr "%s: inlib epäonnistui"
msgid "no other options allowed with `-x'"
msgstr "â€-xâ€:n kanssa ei voida käyttää muita valitsimia"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumenttien pitää olla prosessi- tai työtunnisteita"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Tuntematon virhe"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "odotettiin lauseketta"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: ei ole taulukkomuuttuja"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: virheellinen tiedostokahvamääritys"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: virheellinen tiedostokahva: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: virheellinen rivimäärä"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: virheellinen taulukkoindeksi"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: virheellinen paluukutsumäärä"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "tyhjä taulukkomuuttujan nimi"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "vaaditaan tukea taulukkomuuttujille"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "â€%sâ€: puuttuva muotoilumerkki"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: virheellinen aikakatkaisumääritys"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "â€%câ€: virheellinen muotoilumerkki"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "varoitus: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "\\x:stä puuttuu heksadesimaalinumero"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "\\x:stä puuttuu heksadesimaalinumero"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "ei toista hakemistoa"
@@ -739,21 +734,21 @@ msgstr "lukuvirhe: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "â€return†on käytettävissä vain funktiossa tai ladatussa skriptissä"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "funktiota ja muuttujaa ei voi poistaa yhtä aikaa"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: ei voida poistaa"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: ei voida poistaa: kirjoitussuojattu %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ei ole taulukkomuuttuja"
@@ -767,22 +762,22 @@ msgstr "%s: ei ole funktio"
msgid "shift count"
msgstr "siirtolaskuri"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
"komentotulkin valitsimia ei voida laittaa päällä ja ottaa pois päältä "
"samanaikaisesti"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: virheellinen komentotulkin valitsimen nimi"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "vaaditaan tiedostonimi argumentiksi"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: tiedostoa ei löytynyt"
@@ -825,26 +820,26 @@ msgstr "%s on %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s on hajautettu (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: virheellinen rajoitusargumentti"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "â€%câ€: virheellinen komento"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: rajoitusta ei saada: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "rajoitus"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: rajoitusta ei voida muokata: %s"
@@ -900,105 +895,110 @@ msgstr "%s: sitomaton muuttuja"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "aikakatkaisu: automaattinen uloskirjautuminen\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aaikakatkaisu: automaattinen uloskirjautuminen\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "syötettä ei voida lukea tiedostosta /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "AJAN MUOTOMÄÄRITYS: â€%câ€: virheellinen muotoilumerkki"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "putkitusvirhe"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: rajoitettu: komentojen nimissä ei voi käyttää â€/â€-merkkiä"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: komentoa ei löydy"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s on %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: virheellinen tulkki"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "tiedostokahvaa %d ei voida kopioida kahvaksi %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "lausekkeen rekursiomäärä ylittyi"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "rekursiopinon alivuoto"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "lauseoppivirhe lausekkeessa"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "yritettiin sijoittaa objektiin, joka ei ole muuttuja"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "jako nollalla"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bugi: virheellinen sijoitusavainsana"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "â€:â€:ttä odotettiin ehdolliseen lausekkeeseen"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "eksponentti on pienempi kuin 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "odotettiin muuttujaa ++:n tai --:n jälkeen"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "puuttuva â€)â€"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "lauseoppivirhe: odotettiin operandia"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "lauseoppivirhe: virheellinen aritmetiikkaoperaattori"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (virheellinen avainsana on â€%sâ€)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "virheellinen lukujärjestelmä"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "liian iso luku lukujärjestelmälle"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: virhe lausekkeessa\n"
@@ -1007,163 +1007,163 @@ msgstr "%s: virhe lausekkeessa\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: ylempiin hakemistoihin ei päästä"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "nodelay-tilaa ei voida asettaa tiedostokahvalle %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "bashin syötteeksi ei voida avata uutta tiedostokahvaa kahvasta %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: uudella tiedostokahvalla %d on jo puskuri"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp-putki"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "haarautettu prosessi-id %d on ajossa olevalla työllä %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "poistetaan pysäytetty työ %d prosessiryhmästä %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: prosessi %5ld (%s) putkijonossa"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: prosessi %5ld (%s) on merkattu vielä toimivaksi"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: prosessitunnusta ei löydy."
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signaali %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Valmis"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Pysäytetty"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Pysäytetty(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Ajossa"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Valmis(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Poistui %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Tuntematon tila"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(luotiin core-tiedosto)"
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (työhakemisto: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "lapsiprosessin setpgid (%ld => %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: prosessi %ld ei ole tämän komentotulkin lapsiprosessi"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Prosessista %ld ei ole tietoja"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: työ %d on pysäytetty"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: työ on lopetettu"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: työ %d on jo taustalla"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: rivi %d:"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (luotiin core-tiedosto)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(työhakemisto nyt: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp epäonnistui"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: vuonhallinta"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "päätteen prosessiryhmää ei voitu asettaa (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "tällä komentotulkilla ei ole työnohjausta"
@@ -1317,100 +1317,100 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: uudelleenohjaus â€%d†rajojen ulkopuolella"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "odottamaton EOF (tiedostonloppu) odotettaessa sulkevaa â€%câ€"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "odottamaton EOF odotettaessa â€]]â€"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "lauseoppivirhe ehdollisessa lausekkeessa: odottamaton avainsana â€%sâ€"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "lauseoppivirhe ehdollisessa lausekkeessa"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "odottamaton avainsana â€%sâ€, odotettiin â€)â€"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "odototettiin â€)â€"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "odottamaton argumentti â€%s†ehdolliselle unaariselle operaattorille"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "odottamaton argumentti ehdolliselle unaariselle operaattorille"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
"odottamaton avainsana â€%sâ€, odotettiin ehdollista binääristä operaattoria"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "odotettiin ehdollista binääristä operaattoria"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "odottamaton argumentti â€%s†ehdolliselle binääriselle operaattorille"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "odottamaton argumentti ehdolliselle binääriselle operaattorille"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "odottamaton avainsana â€%c†ehdollisessa komennossa"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "odottamaton avainsana â€%s†ehdollisessa komennossa"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "odottamaton avainsana %d ehdollisessa komennossa"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "lauseoppivirhe lähellä odottamatonta avainsanaa â€%sâ€"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "lauseoppivirhe lähellä â€%sâ€"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "lauseoppivirhe: odottamaton tiedostonloppu"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "lauseoppivirhe"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Kirjoita â€%s†poistuaksesi komentotulkista.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "Odottamaton EOF odotettaessa vastaavaa â€)â€"
@@ -1419,77 +1419,77 @@ msgstr "Odottamaton EOF odotettaessa vastaavaa â€)â€"
msgid "completion: function `%s' not found"
msgstr "täydennys: funktiota â€%s†ei löytynyt"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: tyhjä COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: virheellinen yhdistin â€%dâ€"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: virheellinen tiedostokahva: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: â€%câ€: virheellinen muotoilumerkki"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "tiedostokahva rajojen ulkopuolella"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: epämääräinen uudelleenohjaus"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: olemassa olevan tiedoston päälle ei voida kirjoittaa"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: rajoitettu: tulostusta ei voida uudelleenohjata"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "here-dokumentille ei voida luoda väliaikaistiedostoa: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: listaa ei voida sijoittaa taulukon alkioon"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port-muotoa ei tueta ilman tietoliikennettä"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "virhe uudelleenohjauksessa: tiedostokahvaa ei voida kopioida"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "/tmp-hakemistoa ei löytynyt, luo se!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp:n pitää olla kelvollinen hakemiston nimi"
@@ -1498,16 +1498,16 @@ msgstr "/tmp:n pitää olla kelvollinen hakemiston nimi"
msgid "%c%c: invalid option"
msgstr "%c%c: virheellinen valitsin"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Minulla ei ole nimeä!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versio %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1516,44 +1516,44 @@ msgstr ""
"Käyttö:\t%s[GNU:n pitkä valitsin] [valitsin] ...\n"
"\t%s [GNU:n pitkä valitsin] [valitsin] komentotiedosto ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU:n pitkät valitsimet:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Komentotulkin valitsimet:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
"\t-irsD tai -c komento tai -O shopt_option (ainoastaan käynnistettäessä)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s tai -o -valitsin\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Kirjoita â€%s -c 'help set'†saadaksesi lisätietoja komentotulkin "
"valitsimista.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Kirjoita â€%s -c help†saadaksesi lisätietoja komentotulkin "
"sisäänrakennetuista komennoista.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Raportoi virheet komennolla â€bashbugâ€.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: virheellinen operaatio"
@@ -1727,83 +1727,83 @@ msgstr "Tuntematon signaali #"
msgid "Unknown Signal #%d"
msgstr "Tuntematon signaali #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "virheellinen korvaus: ei sulkevaa â€%s†jonossa %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: listaa ei voida sijoittaa taulukon alkioon"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "putkea ei voida luoda prosessin korvaamista varten"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "lapsiprosessia ei voida luoda prosessin korvaamista varten"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "nimettyä putkea %s ei voida avata lukemista varten"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "nimettyä putkea %s ei voida avata kirjoitusta varten"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "nimettyä putkea %s ei voida kopioida tiedostokahvaksi %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "putkea ei voida luoda komennon korvaamista varten"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "ei voida luoda lapsiprosessia komennon korvaamista varten"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: putkea ei voida kopioida tiedostokahvaksi 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametria ei ole tai sitä ei ole asetettu"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: alimerkkijonolauseke < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: virheellinen korvaus"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: ei voida asettaa näin"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "virheellinen korvaus: ei sulkevaa â€`†jonossa %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "ei osumia: %s"
@@ -1826,30 +1826,30 @@ msgstr "odotettiin â€)â€"
msgid "`)' expected, found %s"
msgstr "odotettiin â€)â€, löydettiin %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: odotettiin unaarista operaattoria"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: odotettiin binääristä operaattoria"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "puuttuva â€]â€"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "virheellinen signaalinumero"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: virheellinen arvo trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1857,7 +1857,7 @@ msgstr ""
"run_pending_traps: signaalikäsittelijä on SIG_DFL, lähetän %d (%s) uudelleen "
"itselleni"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: virheellinen signaali %d"
@@ -1867,60 +1867,61 @@ msgstr "trap_handler: virheellinen signaali %d"
msgid "error importing function definition for `%s'"
msgstr "virhe tuotaessa â€%sâ€:n funktiomääritystä"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "komentotulkkitaso (%d) liian korkea, palautetaan 1:ksi"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: ei funktiokontekstia nykytilassa"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: ei funktiokontekstia nykytilassa"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametria ei ole tai sitä ei ole asetettu"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "virheellinen merkki %d %s:n exportstr:ssä"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "ei =:ä kohteen %s exportstr:ssä"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: shell_variablesin alku ei ole funktiokonteksti"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: ei global_variables-kontekstia"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: shell_variablesin alku ei väliaikaisten ympäristömuuttujien "
"ympäristössä"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: ei voida avata: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: virheellinen tiedostokahva: %s"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright © 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -2014,7 +2015,8 @@ msgid "caller [expr]"
msgstr "caller [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [dir]"
#: builtins.c:66
@@ -2038,11 +2040,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] komento [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [niemi[=arvo] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] nimi[=arvo] ..."
#: builtins.c:80
@@ -2145,7 +2149,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o valitsinnimi] [arg ...]"
#: builtins.c:142
@@ -2157,7 +2162,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [nimi[=arvo] ...] tai export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [nimi[=arvo] ...] tai readonly -p"
#: builtins.c:148
@@ -2556,6 +2562,7 @@ msgstr ""
" on virheellinen."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2581,11 +2588,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Vaihtaa työhakemistoa.\n"
" \n"
@@ -2614,7 +2625,7 @@ msgstr ""
" Palauttaa 0, jos hakemistoa vaihdettiin, nollasta poikkeavan muussa \n"
" tapauksessa."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2642,7 +2653,7 @@ msgstr ""
" Palauttaa 0 ellei ole annettu virheellistä valitsinta tai nykyistä \n"
" hakemistoa ei voida lukea."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2658,7 +2669,7 @@ msgstr ""
" Paluuarvo:\n"
" Onnistuu aina."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2670,7 +2681,7 @@ msgstr ""
" Paluuarvo:\n"
" Onnistuu aina."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2682,7 +2693,7 @@ msgstr ""
" Paluuarvo:\n"
" Epäonnistuu aina."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2717,7 +2728,8 @@ msgstr ""
" Palauttaa KOMENNON paluuarvon, tai epäonnistumisen jos KOMENTOA ei \n"
" löytynyt."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2728,6 +2740,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2747,7 +2761,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2788,7 +2802,7 @@ msgstr ""
"tule \n"
" virhetilannetta."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2798,7 +2812,7 @@ msgstr ""
" \n"
" Vanhentunut. Katso â€help declareâ€."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2825,7 +2839,7 @@ msgstr ""
" Palauttaa onnistuneen, ellei ole annettu virheellistä valitsinta,\n"
" tapahtuu virhe tai komentotulkki ei ole suorittamassa funktiota."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2884,7 +2898,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa onnistuneen ellei tapahdu virhettä."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2906,7 +2920,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa onnistuneen ellei tapahdu virhettä."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2960,7 +2974,7 @@ msgstr ""
"sisäänrakennettu\n"
" komento tai tapahtuu virhe."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2979,7 +2993,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa komennon paluuarvon tai onnistuneen jos komento on tyhjä."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3059,7 +3073,7 @@ msgstr ""
"valitsimet\n"
" loppuvat tai tapahtuu virhe."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3101,7 +3115,7 @@ msgstr ""
"uudelleenohjauksessa\n"
" tapahtuu virhe."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3113,7 +3127,7 @@ msgstr ""
" Poistuu komentotulkista paluuarvolla N. Jos N:ää ei anneta, paluuarvo\n"
" on viimeisen komennon paluuarvo."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3126,7 +3140,7 @@ msgstr ""
" Poistuu sisäänkirjautumiskomentotulkista paluuarvolla N. Palauttaa\n"
" virheen jos ei olla sisäänkirjautumiskomentotulkissa."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3180,7 +3194,7 @@ msgstr ""
" Palauttaa onnistuneen tai suoritetun komennon paluuarvon; nollasta\n"
" poikkeava virhetilanteessa."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3201,7 +3215,7 @@ msgstr ""
" Paluuarvo:\n"
" Edustalle tuodun työn paluuarvo, tai epäonnistuminen virhetilanteessa."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3227,7 +3241,7 @@ msgstr ""
"tapahtuu\n"
" virhe."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3272,7 +3286,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos NIMEÄ ei löydy tai on annettu "
"virheellinen valitsin."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3313,7 +3327,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos MALLINETTA ei löydy tai valitsin on\n"
" virheellinen."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3378,7 +3392,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin "
"tai tapahtuu virhe."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3422,7 +3436,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai \n"
" tapahtuu virhe. Jos -x:ää on käytetty, palauttaa KOMENNON paluuarvon."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3454,7 +3468,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos jokin valitsin tai TYÖTUNNISTE on "
"virheellinen."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3496,7 +3510,8 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai "
"tapahtuu virhe."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3538,7 +3553,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Laskee matemaattiset lausekkeet.\n"
" \n"
@@ -3584,7 +3599,7 @@ msgstr ""
" Jos viimeinen ARGUMENTTI evaluoituu nollaksi, let palauttaa 1, muussa\n"
" tapauksessa 0."
-#: builtins.c:966
+#: builtins.c:971
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
@@ -3671,7 +3686,7 @@ msgstr ""
" Paluuarvo on nolla, ellei törmätä tiedoston loppumiseen, aikarajan\n"
" ylitykseen tai mikäli -u:lle annetaan virheellinen tiedostokahva."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3695,7 +3710,8 @@ msgstr ""
"suorittamassa\n"
" funktiota tai skriptiä."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3764,6 +3780,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3861,7 +3880,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa onnistumisen ellei ole annettu virheellistä valitsinta."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3897,7 +3916,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin\n"
" tai NIMI on kirjoitussuojattu."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3931,7 +3950,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin\n"
" tai NIMI on virheellinen."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3968,7 +3987,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin\n"
" tai NIMI on virheellinen."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3987,7 +4006,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa onnistuneen ellei N ole negatiivinen tai suurempi kuin $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4012,7 +4031,7 @@ msgstr ""
"epäonnistuu\n"
" mikäli TIEDOSTOA ei voida lukea."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4039,14 +4058,18 @@ msgstr ""
"tapahtuu\n"
" virhe."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4100,6 +4123,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4195,7 +4219,7 @@ msgstr ""
" Palauttaa onnistumisen jos LAUSEKE evaluoituu todeksi; epäonnistuu jos\n"
" LAUSEKE evaluoituu vääräksi tai on annettu virheellinen argumentti."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4207,7 +4231,7 @@ msgstr ""
" Tämä on sisäänrakennetun â€testâ€-komennon synonyymi, mutta viimeisen\n"
" argumentin pitää olla â€]â€, joka sulkee avaavan â€[â€:n."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4227,7 +4251,8 @@ msgstr ""
" Paluuarvo:\n"
" Onnistuu aina."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4243,7 +4268,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4300,7 +4333,7 @@ msgstr ""
"annettu\n"
" virheellinen valitsin."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4356,7 +4389,7 @@ msgstr ""
" Palauttaa onnistuneen mikäli kaikki NIMET löytyivät, muussa tapauksessa\n"
" epäonnistuu."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4441,7 +4474,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin\n"
" tai tapahtuu virhe."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4476,7 +4509,7 @@ msgstr ""
" Palauttaa onnistuneen ellei TILA ole virheellinen tai on annettu \n"
" virheellinen valitsin."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4506,7 +4539,7 @@ msgstr ""
" Palauttaa ID:n tilan; epäonnistuu jos ID on virheellinen tai on annettu\n"
" virheellinen valitsin."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4530,7 +4563,7 @@ msgstr ""
" Palauttaa ID:n tilan; epäonnistuu jos ID on virheellinen tai on annettu\n"
" virheellinen valitsin."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4552,7 +4585,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4584,7 +4617,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4621,7 +4654,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4650,7 +4683,7 @@ msgstr ""
" Paluuarvo:\n"
" KOMENTOKETJUN paluuarvo."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4669,7 +4702,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4703,7 +4736,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4721,7 +4754,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen komennon paluuarvo."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4739,7 +4772,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4761,7 +4794,7 @@ msgstr ""
" Paluuarvo:\n"
" KOMENNON paluuarvo."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4784,7 +4817,7 @@ msgstr ""
" Paluuarvo:\n"
" Onnistuu, ellei NIMI ole kirjoitussuojattu."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4803,7 +4836,7 @@ msgstr ""
" Paluuarvo:\n"
" Viimeisen suoritetun komennon paluuarvo."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4829,7 +4862,7 @@ msgstr ""
" Paluuarvo:\n"
" Työn tila."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4847,7 +4880,7 @@ msgstr ""
" Paluuarvo:\n"
" Palauttaa 1, jos LAUSEKKEEN arvo on 0; muuten palauttaa 0."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4901,7 +4934,7 @@ msgstr ""
" Paluuarvo:\n"
" 0 tai 1 riippuen LAUSEKKEEN arvosta."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5004,7 +5037,7 @@ msgstr ""
" HISTIGNORE\tKaksoispistein eroteltu lista mallineista, joita käytetään\n"
" \t\tpäätettäessä komentojen tallentamisesta historialistaan.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5062,7 +5095,7 @@ msgstr ""
"tai\n"
" hakemiston vaihtaminen epäonnistuu."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5109,7 +5142,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen argumentti tai\n"
" hakemiston vaihto epäonnistuu."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5163,7 +5196,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin\n"
" tai tapahtuu virhe."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5201,7 +5234,8 @@ msgstr ""
" Palauttaa onnistuneen, mikäli VALITSIN on käytössä, epäonnistuu jos on\n"
" annettu virheellinen VALITSIN tai VALITSIN ei ole käytössä."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5224,6 +5258,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5251,7 +5288,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai\n"
" tapahtuu kirjoitus- tai sijoitusvirhe."
-#: builtins.c:1895
+#: builtins.c:1913
#, fuzzy
msgid ""
"Specify how arguments are to be completed by Readline.\n"
@@ -5299,7 +5336,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai \n"
" tapahtuu virhe."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5322,14 +5359,14 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai\n"
" tapahtuu virhe."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5376,7 +5413,7 @@ msgstr ""
" Palauttaa onnistuneen paitsi jos on annettu virheellinen valitsin tai\n"
" NIMELLE ei ole määritetty täydennysmääritystä."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5405,7 +5442,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5448,7 +5486,7 @@ msgstr ""
" tai TAULUKKO on kirjoitussuojattu."
# Changed " characters into â€...
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 9fe681f..a6025a6 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 52d5e1f..e209fb0 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,14 +1,15 @@
# Messages français pour GNU concernant bash.
-# Copyright © 2008 Free Software Foundation, Inc.
+# Copyright © 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, 2004
-# Christophe Combelles <ccomb@free.fr>, 2008
+# Christophe Combelles <ccomb@free.fr>, 2008, 2009, 2010
#
msgid ""
msgstr ""
-"Project-Id-Version: bash 3.2\n"
+"Project-Id-Version: bash-4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2008-03-13 13:10+0100\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-04-10 13:44+0100\n"
"Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"MIME-Version: 1.0\n"
@@ -20,15 +21,15 @@ msgstr ""
msgid "bad array subscript"
msgstr "mauvais indice de tableau"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr ""
+msgstr "%s : impossible de convertir un tableau indexé en associatif"
#: arrayfunc.c:480
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid associative array key"
-msgstr "%s : nom d'action non valable"
+msgstr "%s : clé non valable pour le tableau associatif"
#: arrayfunc.c:482
#, c-format
@@ -39,41 +40,42 @@ msgstr "%s : impossible d'assigner à un index non numérique"
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
+"%s : %s : l'assignation d'un tableau associatif doit se faire avec un indice"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s : impossible de créer : %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command : impossible de trouver le mappage clavier pour la "
"commande"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s : le premier caractère non vide n'est pas « \" »"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "pas de « %c » de fermeture dans %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s : virgule de séparation manquante"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "« %s » : nom du mappage clavier invalide"
+msgstr "« %s » : nom d'alias non valable"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
-msgstr ""
+msgstr "édition de ligne non activée"
#: builtins/bind.def:206
#, c-format
@@ -107,63 +109,50 @@ msgstr "%s peut être appelé via "
#: builtins/break.def:77 builtins/break.def:117
msgid "loop count"
-msgstr ""
+msgstr "nombre de boucles"
#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
msgstr "ceci n'a un sens que dans une boucle « for », « while » ou « until »"
#: builtins/caller.def:133
-#, fuzzy
msgid ""
"Returns the context of the current subroutine call.\n"
" \n"
" Without EXPR, returns "
-msgstr "Renvoie le contexte de l'appel de sous-routine actuel"
-
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
+"Renvoie le contexte de l'appel de sous-routine actuel.\n"
" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
+" Sans EXPR, renvoie"
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "« HOME » non défini"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "« OLDPWD » non défini"
#: builtins/common.c:101
#, c-format
msgid "line %d: "
-msgstr ""
+msgstr "ligne %d : "
#: builtins/common.c:139 error.c:261
-#, fuzzy, c-format
+#, c-format
msgid "warning: "
-msgstr "%s : avertissement :"
+msgstr "avertissement :"
#: builtins/common.c:153
-#, fuzzy, c-format
+#, c-format
msgid "%s: usage: "
-msgstr "%s : avertissement :"
+msgstr "%s : utilisation :"
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "trop d'arguments"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s : l'option nécessite un argument"
@@ -194,16 +183,14 @@ msgid "`%s': not a valid identifier"
msgstr "« %s » : identifiant non valable"
#: builtins/common.c:238
-#, fuzzy
msgid "invalid octal number"
-msgstr "Numéro de signal non valable"
+msgstr "Nombre octal non valable"
#: builtins/common.c:240
-#, fuzzy
msgid "invalid hex number"
-msgstr "nombre non valable"
+msgstr "nombre hexadécimal non valable"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "nombre non valable"
@@ -216,8 +203,7 @@ msgstr "%s : indication de signal non valable"
#, c-format
msgid "`%s': not a pid or valid job spec"
msgstr ""
-"« %s » : ce n'est pas un n° de processus ou une spécification de tâche "
-"valable"
+"« %s » : ce n'est pas un n° de processus ou une spécification de tâche valable"
#: builtins/common.c:264 error.c:454
#, c-format
@@ -274,12 +260,12 @@ msgstr "erreur d'écriture : %s"
#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
-msgstr ""
+msgstr "erreur lors de la définition de l'attribut du terminal %s"
#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
-msgstr ""
+msgstr "erreur lors de la récupération de l'attribut du terminal : %s"
#: builtins/common.c:563
#, c-format
@@ -316,30 +302,30 @@ msgstr ""
#: builtins/complete.def:826
msgid "not currently executing completion function"
-msgstr ""
+msgstr "fonction de completion actuellement non en cours d'exécution"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "utilisable seulement dans une fonction"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "« -f » ne peut pas être utilisé pour fabriquer des fonctions"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s : fonction en lecture seule"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s : impossible de détruire des variables tableaux de cette façon"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
+msgstr "%s : impossible de convertir un tableau indexé en tableau associatif"
#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
@@ -365,29 +351,29 @@ msgstr "%s : non chargé dynamiquement"
msgid "%s: cannot delete: %s"
msgstr "%s : impossible d'effacer : %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s : ceci est un répertoire"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s : ceci n'est pas un fichier régulier"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s : le fichier est trop grand"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s : fichier binaire impossible à lancer"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s : impossible d'exécuter : %s"
@@ -395,7 +381,7 @@ msgstr "%s : impossible d'exécuter : %s"
#: builtins/exit.def:65
#, c-format
msgid "logout\n"
-msgstr ""
+msgstr "déconnexion\n"
#: builtins/exit.def:88
msgid "not login shell: use `exit'"
@@ -407,26 +393,26 @@ msgid "There are stopped jobs.\n"
msgstr "Il y a des tâches stoppées.\n"
#: builtins/exit.def:122
-#, fuzzy, c-format
+#, c-format
msgid "There are running jobs.\n"
-msgstr "Il y a des tâches stoppées.\n"
+msgstr "Il y a des tâches en cours d'exécution.\n"
#: builtins/fc.def:262
msgid "no command found"
msgstr "aucune commande trouvée"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "indication d'historique"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s : impossible d'ouvrir le fichier temporaire : %s"
#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
-msgstr ""
+msgstr "courant"
#: builtins/fg_bg.def:158
#, c-format
@@ -452,25 +438,25 @@ msgstr "hachage désactivé"
msgid "%s: hash table empty\n"
msgstr "%s : table de hachage vide\n"
-#: builtins/hash.def:244
-#, fuzzy, c-format
+#: builtins/hash.def:245
+#, c-format
msgid "hits\tcommand\n"
-msgstr "dernière commande : %s\n"
+msgstr "touche la commande\n"
#: builtins/help.def:130
-#, fuzzy, c-format
+#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
msgstr[0] "Commandes du shell correspondant au mot-clé « "
-msgstr[1] "Commandes du shell correspondant au mot-clé « "
+msgstr[1] "Commandes du shell correspondant aux mots-clés « "
#: builtins/help.def:168
#, c-format
msgid ""
"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
msgstr ""
-"Aucune rubrique d'aide ne correspond à « %s ». Essayez « help help », « man -"
-"k %s » ou « info %s »."
+"Aucune rubrique d'aide ne correspond à « %s ». Essayez « help help », « man -k %"
+"s » ou « info %s »."
#: builtins/help.def:185
#, c-format
@@ -490,8 +476,7 @@ msgid ""
msgstr ""
"Ces commandes de shell sont définies de manière interne.Tapez « help » pour "
"voir cette liste.\n"
-"Tapez « help nom » pour en savoir plus sur la fonction qui s'appelle « nom "
-"».\n"
+"Tapez « help nom » pour en savoir plus sur la fonction qui s'appelle « nom ».\n"
"Utilisez « info bash » pour en savoir plus sur le shell en général.\n"
"Utilisez « man -k » ou « info » pour en savoir plus sur les commandes qui\n"
"ne font pas partie de cette liste.\n"
@@ -513,86 +498,95 @@ msgid "%s: history expansion failed"
msgstr "%s : l'expansion de l'historique a échoué"
#: builtins/inlib.def:71
-#, fuzzy, c-format
+#, c-format
msgid "%s: inlib failed"
-msgstr "%s : l'expansion de l'historique a échoué"
+msgstr "%s : « inlib » a échoué"
#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
msgstr "pas d'autre option permise avec « -x »"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
"%s : les arguments doivent être des identifiants de tâche ou de processus"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Erreur inconnue"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "une expression est attendue"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s : n'est pas une variable tableau"
+msgstr "%s : n'est pas un tableau indexé"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s : spécification de descripteur de fichier non valable"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d : descripteur de fichier non valable : %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
-#, fuzzy, c-format
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
msgid "%s: invalid line count"
-msgstr "%s : option non valable"
+msgstr "%s : nombre de lignes non valable"
-#: builtins/mapfile.def:277
-#, fuzzy, c-format
+#: builtins/mapfile.def:284
+#, c-format
msgid "%s: invalid array origin"
-msgstr "%s : option non valable"
+msgstr "%s : origine de tableau non valable"
-#: builtins/mapfile.def:294
-#, fuzzy, c-format
+#: builtins/mapfile.def:301
+#, c-format
msgid "%s: invalid callback quantum"
-msgstr "%s : nom d'action non valable"
+msgstr "%s : quantum de callback non valable"
-#: builtins/mapfile.def:326
-#, fuzzy
+#: builtins/mapfile.def:333
msgid "empty array variable name"
-msgstr "%s : n'est pas une variable tableau"
+msgstr "nom de variable tableau vide"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
-msgstr ""
+msgstr "nécessité de prise en charge des variables tableaux"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "« %s » : caractère de format manquant"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s : spécification de délai d'expiration non valable"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "« %c » : caractère de format non permis"
-#: builtins/printf.def:578
-#, fuzzy, c-format
+#: builtins/printf.def:662
+#, c-format
msgid "warning: %s: %s"
-msgstr "%s : avertissement :"
+msgstr "avertissement : %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "chiffre hexadécimal manquant pour \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "chiffre hexadécimal manquant pour \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "pas d'autre répertoire"
@@ -603,15 +597,13 @@ msgstr "<aucun répertoire courant>"
#: builtins/pushd.def:506
msgid "directory stack empty"
-msgstr ""
+msgstr "pile de répertoire vide"
#: builtins/pushd.def:508
-#, fuzzy
msgid "directory stack index"
-msgstr "Débordement négatif de la pile de récursivité"
+msgstr "indice de pile de répertoire"
#: 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"
@@ -639,19 +631,15 @@ msgstr ""
"remonter\n"
" dans la liste en enlevant des éléments avec la commande « popd ».\n"
" \n"
-" L'option « -l » spécifie que « dirs » ne doit pas afficher des versions\n"
-" raccourcies des répertoires relativement à votre répertoire personnel.\n"
-" Cela signifie que « ~/bin » devrait être affiché comme « /homes/bfox/bin "
-"».\n"
-" L'option « -v » permet à « dirs » d'afficher la pile des répertoires "
-"avec\n"
-" un élément par ligne, en commençant la ligne par la position dans la "
-"pile.\n"
-" L'option « -p » fait la même chose mais le numéro de position n'est pas\n"
-" affiché. L'option « -c » efface la pile des répertoires en enlevant "
-"tous\n"
-" les éléments.\n"
+" Options :\n"
+" -c\tefface la pile des répertoires en enlevant tous les éléments.\n"
+" -l\tne pas afficher les versions raccourcies (avec ~) des répertoires\n"
+" \trelativement à votre répertoire personnel\n"
+" -p\tafficher la pile des répertoires avec un élément par ligne\n"
+" -v\tafficher la pile des répertoires avec un élément par ligne\n"
+" \tavec la position dans la pile\n"
" \n"
+" Arguments :\n"
" +N\t affiche le Nième élément en comptant de zéro depuis la gauche de "
"la\n"
" liste affichée par « dirs » lorsque celle-ci est appelée sans option.\n"
@@ -661,7 +649,6 @@ msgstr ""
" liste affichée par « dirs » lorsque celle-ci est appelée sans option."
#: 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"
@@ -686,28 +673,28 @@ msgid ""
" The `dirs' builtin displays the directory stack."
msgstr ""
"Ajoute un répertoire en haut de la pile des répertoires, ou permute\n"
-" la pile, de façon que le répertoire en haut de la pile devienne\n"
+" la pile de façon que le répertoire en haut de la pile devienne\n"
" le nouveau répertoire de travail. S'il n'y a pas d'argument, les deux\n"
" répertoires en haut de la pile sont échangés.\n"
" \n"
+" Options :\n"
+" -n\tne pas changer de répertoire de travail lorsque des répertoires\n"
+" \tsont ajoutés à la pile, de façon que seule la pile soit manipulée\n"
+" \n"
+" Arguments :\n"
" +N\tPermute la pile de façon que le Nième répertoire se place en haut,\n"
-" \ten comptant de zéro depuis la gauche de la liste fournie par « dirs "
-"».\n"
+" \ten comptant de zéro depuis la gauche de la liste fournie par « dirs ».\n"
" \n"
" -N\tPermute la pile de façon que le Nième répertoire se place en haut,\n"
-" \ten comptant de zéro depuis la droite de la liste fournie par « dirs "
-"».\n"
-" \n"
-" -n\tne change pas de répertoire de travail lorsque des répertoires\n"
-" \tsont ajoutés à la pile, de façon que seule la pile soit manipulée\n"
+" \ten comptant de zéro depuis la droite de la liste fournie par « dirs ».\n"
" \n"
-" dir\tajoute le répertoire DIR en haut de la pile, et en fait le nouveau\n"
+" dir\tajoute le répertoire DIR en haut de la pile, et en fait le "
+"nouveau\n"
" \trépertoire de travail.\n"
" \n"
" Vous pouvez voir la pile des répertoires avec la commande « dirs »."
#: builtins/pushd.def:730
-#, fuzzy
msgid ""
"Removes entries from the directory stack. With no arguments, removes\n"
" the top directory from the stack, and changes to the new top directory.\n"
@@ -731,16 +718,18 @@ msgstr ""
" d'argument, le répertoire en haut de la pile est enlevé,\n"
" et le nouveau sommet de la pile devient le répertoire de travail.\n"
" \n"
+" Options :\n"
+" -n\tne pas changer de répertoire de travail lorsque des répertoires\n"
+" \tsont enlevés de la pile, de façon que seule la pile soit manipulée\n"
+" \n"
+" Arguments :\n"
" +N\tEnlève le Nième répertoire, en comptant de zéro depuis la gauche\n"
" \tde la liste fournie par « dirs ». Par exemple : « popd +0 »\n"
+" \tenlève le premier répertoire, « popd +1 » le deuxième. \n"
" \n"
-"enlève le premier répertoire, « popd +1 » le deuxième. \n"
" -N\tEnlève le Nième répertoire, en comptant de zéro depuis la droite\n"
" \tde la liste fournie par « dirs ». Par exemple : « popd -0 »\n"
-" \n"
-"enlève le dernier répertoire, « popd -1 » l'avant-dernier. \n"
-" -n\tne change pas de répertoire de travail lorsque des répertoires\n"
-" \tsont enlevés de la pile, de façon que seule la pile soit manipulée\n"
+" \tenlève le dernier répertoire, « popd -1 » l'avant-dernier. \n"
" \n"
" Vous pouvez voir la pile des répertoires avec la commande « dirs »."
@@ -757,26 +746,26 @@ msgstr "Erreur de lecture : %d : %s"
#: builtins/return.def:73
msgid "can only `return' from a function or sourced script"
msgstr ""
-"« return » n'est possible que depuis une fonction ou depuis un script "
-"exécuté par « source »"
+"« return » n'est possible que depuis une fonction ou depuis un script exécuté "
+"par « source »"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
"« unset » ne peut pas s'appliquer simultanément à une fonction et à une "
"variable"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s : « unset » impossible"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s : « unset » impossible : %s est en lecture seule"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s : n'est pas une variable tableau"
@@ -790,22 +779,22 @@ msgstr "%s : n'est pas une fonction"
msgid "shift count"
msgstr "nombre de « shift »"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
"les options du shell ne peuvent pas être simultanément activées et "
"désactivées"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s : nom d'option du shell non valable"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "nom de fichier nécessaire en argument"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s : fichier introuvable"
@@ -848,26 +837,26 @@ msgstr "%s est %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s est haché (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s : argument de limite non valable"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "« %c » : mauvaise commande"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s : impossible d'obtenir la limite : %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
-msgstr ""
+msgstr "limite"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s : impossible de modifier la limite : %s"
@@ -888,7 +877,7 @@ msgstr "« %c » : caractère de mode symbolique non valable"
#: error.c:90 error.c:321 error.c:323 error.c:325
msgid " line "
-msgstr ""
+msgstr " ligne"
#: error.c:165
#, c-format
@@ -923,274 +912,278 @@ msgstr "%s : variable sans liaison"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "attente de données expirée : déconnexion automatique\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aattente de données expirée : déconnexion automatique\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "l'entrée standard ne peut pas être redirigée depuis /dev/null : %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT : « %c » : caractère de format non valable"
-#: execute_cmd.c:2075
-#, fuzzy
+#: execute_cmd.c:2121
msgid "pipe error"
-msgstr "erreur d'écriture : %s"
+msgstr "erreur de tube"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
"%s : restriction : « / » ne peut pas être spécifié dans un nom de commande"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s : commande introuvable"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s est %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s : %s : mauvais interpréteur"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "Impossible de dupliquer le fd %d vers le fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "Dépassement du niveau de récursivité dans l'expression"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "Débordement négatif de la pile de récursivité"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "erreur de syntaxe dans l'expression"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "tentative d'affectation à une non-variable"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "division par 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bogue : mauvais symbole pour expassign"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "« : » attendu pour une expression conditionnelle."
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exposant négatif"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "identifiant attendu après un pré-incrément ou un pré-décrément"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "« ) » manquante"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "erreur de syntaxe : opérande attendue"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "erreur de syntaxe : opérateur arithmétique non valable"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr ""
+msgstr "%s%s%s : %s (le symbole erroné est \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "base arithmétique non valable"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "valeur trop grande pour la base"
-#: expr.c:1329
-#, fuzzy, c-format
+#: expr.c:1435
+#, c-format
msgid "%s: expression error\n"
-msgstr "%s : nombre entier attendu comme expression"
+msgstr "%s : erreur d'expression\n"
#: general.c:61
msgid "getcwd: cannot access parent directories"
msgstr "getcwd : ne peut accéder aux répertoires parents"
-#: input.c:94 subst.c:4857
-#, fuzzy, c-format
+#: input.c:94 subst.c:5082
+#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "Impossible de réinitialiser le mode « nodelay » pour le fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"impossible d'allouer un nouveau descripteur de fichier pour l'entrée de bash "
"depuis le fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input : le tampon existe déjà pour le nouveau fd %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
-msgstr ""
+msgstr "start_pipeline : pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "le processus cloné n°%d apparaît dans la tâche en fonctionnement %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "suppression de la tâche stoppée %d avec le groupe de processus %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
-msgstr ""
+msgstr "add_process : processus %5ld (%s) dans le_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr ""
+msgstr "add_process : pid %5ld (%s) signalé toujours en vie"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid : %ld : n° de processus inexistant"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
-msgstr ""
+msgstr "Signal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
-msgstr ""
+msgstr "Fini"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
-msgstr ""
+msgstr "Stoppé"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
-msgstr ""
+msgstr "Stoppé(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
-msgstr ""
+msgstr "En cours d'exécution"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
-msgstr ""
+msgstr "Fini(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
-msgstr ""
+msgstr "Termine %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
-msgstr ""
+msgstr "État inconnu"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
-msgstr ""
+msgstr "(core dumped)"
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
-msgstr ""
+msgstr " (wd : %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
-msgstr ""
+msgstr "fils setpgid (%ld à %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait : le processus n°%ld n'est pas un fils de ce shell."
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for : aucun enregistrement du processus n°%ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job : la tâche %d est stoppée"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s : la tâche s'est terminée"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s : la tâche %d est déjà en arrière plan"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld : activation de WNOHANG pour éviter un blocage définitif"
-#: jobs.c:3508
-#, fuzzy, c-format
+#: jobs.c:3538
+#, c-format
msgid "%s: line %d: "
-msgstr "%s : avertissement :"
+msgstr "%s : ligne %d : "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
-msgstr ""
+msgstr " (core dumped)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
-msgstr ""
+msgstr "(maintenant, wd : %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
-msgstr ""
+msgstr "initialize_job_control : getpgrp a échoué"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
-msgstr ""
+msgstr "initialize_job_control : discipline de ligne"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
-msgstr ""
+msgstr "initialize_job_control : setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
-msgstr ""
+msgstr "impossible de régler le groupe de processus du terminlal (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "pas de contrôle de tâche dans ce shell"
@@ -1209,9 +1202,8 @@ msgstr ""
"malloc : %s:%d : assertion manquée\r\n"
#: lib/malloc/malloc.c:313
-#, fuzzy
msgid "unknown"
-msgstr "%s : hôte inconnu"
+msgstr "inconnu"
#: lib/malloc/malloc.c:797
msgid "malloc: block on free list clobbered"
@@ -1287,22 +1279,24 @@ msgstr "opérations sur le réseau non prises en charge"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale : LC_ALL : impossible de changer le paramètre de langue (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
msgstr ""
+"setlocale : LC_ALL : impossible de changer le paramètre de langue (%s) : %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc : %s:%d : impossible d'allouer %lu octets"
+msgstr "setlocale : %s : impossible de changer le paramètre de langue (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc : %s:%d : impossible d'allouer %lu octets"
+msgstr ""
+"setlocale : %s : impossible de changer le paramètre de langue (%s) : %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1339,110 +1333,112 @@ msgstr "make_here_document : le type d'instruction %d est incorrect"
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
msgstr ""
+"« here-document » à la ligne %d délimité par la fin du fichier (au lieu de « %"
+"s »)"
#: make_cmd.c:756
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection : l'instruction de redirection « %d » est hors plage"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
"Caractère de fin de fichier (EOF) prématuré lors de la recherche du « %c » "
"correspondant"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
"Caractère de fin de fichier (EOF) prématuré lors de la recherche de « ]] »"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
"Erreur de syntaxe dans une expression conditionnelle : symbole « %s » "
"inattendu"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "Erreur de syntaxe dans une expression conditionnelle"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Symbole inattendu « %s » au lieu de « ) »"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "« ) » attendu"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argument inattendu « %s » pour l'opérateur conditionnel à un argument"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "argument inattendu pour l'opérateur conditionnel à un argument"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "Symbole « %s » trouvé à la place d'un opérateur binaire conditionnel"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "opérateur binaire conditionnel attendu"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argument « %s » inattendu pour l'opérateur binaire conditionnel"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "argument inattendu pour l'opérateur binaire conditionnel"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "Symbole « %c » inattendu dans la commande conditionnelle"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "Symbole « %s » inattendu dans la commande conditionnelle"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "Symbole « %d » inattendu dans la commande conditionnelle"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "Erreur de syntaxe près du symbole inattendu « %s »"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "Erreur de syntaxe près de « %s »"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "Erreur de syntaxe : fin de fichier prématurée"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "Erreur de syntaxe"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Utilisez « %s » pour quitter le shell.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
"Caractère de fin de fichier (EOF) prématuré lors de la recherche d'un « ) » "
@@ -1453,79 +1449,79 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr "complètement : fonction « %s » non trouvée"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert : %s : NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command : mauvais connecteur « %d »"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d : descripteur de fichier non valable : %s"
+msgstr "xtrace_set : %d : descripteur de fichier non valable"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set : pointeur de fichier NULL"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf : « %c » : caractère de format invalide"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "descripteur de fichier hors plage"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s : redirection ambiguë"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s : impossible d'écraser le fichier existant"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s : restreint : impossible de rediriger la sortie"
-#: redir.c:180
-#, fuzzy, c-format
+#: redir.c:192
+#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
"impossible de créer un fichier temporaire pour le « here-document » : %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s : impossible d'affecter une liste à un élément de tableau"
+msgstr "%s : impossible d'affecter le descripteur de fichier à la variable"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port non pris en charge sans réseau"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr ""
"Erreur de redirection : impossible de dupliquer le descripteur de fichier"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "« /tmp » introuvable, veuillez le créer !"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "« /tmp » doit être un nom de répertoire correct"
@@ -1534,16 +1530,16 @@ msgstr "« /tmp » doit être un nom de répertoire correct"
msgid "%c%c: invalid option"
msgstr "%c%c : option non valable"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Je n'ai pas de nom !"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
-msgstr ""
+msgstr "GNU bash, version %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1552,294 +1548,294 @@ msgstr ""
"Utilisation :\t%s [option longue GNU] [option] ...\n"
"\t%s [option longue GNU] [option] fichier-script ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Options longues GNU :\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Options du shell :\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD ou -c commande ou -O shopt_option\t\t(invocation seulement)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s ou -o option\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Pour en savoir plus sur les options du shell, tapez « %s -c \"help set\" ».\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Pour en savoir plus sur les primitives du shell, tapez « %s -c help ».\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Utilisez la commande « bashbug » pour faire un rapport de bogue.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask : %d : operation non valable"
#: siglist.c:48
msgid "Bogus signal"
-msgstr ""
+msgstr "Signal falsifié"
#: siglist.c:51
msgid "Hangup"
-msgstr ""
+msgstr "Raccroche"
#: siglist.c:55
msgid "Interrupt"
-msgstr ""
+msgstr "Interrompt"
#: siglist.c:59
msgid "Quit"
-msgstr ""
+msgstr "Quitte"
#: siglist.c:63
msgid "Illegal instruction"
-msgstr ""
+msgstr "Instruction incorrecte"
#: siglist.c:67
msgid "BPT trace/trap"
-msgstr ""
+msgstr "trace/trap BPT"
#: siglist.c:75
msgid "ABORT instruction"
-msgstr ""
+msgstr "Instruction ABORT"
#: siglist.c:79
msgid "EMT instruction"
-msgstr ""
+msgstr "Instruction EMT"
#: siglist.c:83
msgid "Floating point exception"
-msgstr ""
+msgstr "Exception en virgule flottante"
#: siglist.c:87
msgid "Killed"
-msgstr ""
+msgstr "Tué"
#: siglist.c:91
-#, fuzzy
msgid "Bus error"
-msgstr "Erreur de syntaxe"
+msgstr "Erreur de bus"
#: siglist.c:95
msgid "Segmentation fault"
-msgstr ""
+msgstr "Erreur de segmentation"
#: siglist.c:99
msgid "Bad system call"
-msgstr ""
+msgstr "Mauvais appel système"
#: siglist.c:103
msgid "Broken pipe"
-msgstr ""
+msgstr "Tube brisé"
#: siglist.c:107
msgid "Alarm clock"
-msgstr ""
+msgstr "Horloge d'alarme"
#: siglist.c:111
-#, fuzzy
msgid "Terminated"
-msgstr "restreint"
+msgstr "Terminé"
#: siglist.c:115
msgid "Urgent IO condition"
-msgstr ""
+msgstr "Condition d'E/S urgente"
#: siglist.c:119
msgid "Stopped (signal)"
-msgstr ""
+msgstr "Stoppé (signal)"
#: siglist.c:127
msgid "Continue"
-msgstr ""
+msgstr "Continue"
#: siglist.c:135
msgid "Child death or stop"
-msgstr ""
+msgstr "Mort ou arrêt du fils"
#: siglist.c:139
msgid "Stopped (tty input)"
-msgstr ""
+msgstr "Stoppé (entrée tty)"
#: siglist.c:143
msgid "Stopped (tty output)"
-msgstr ""
+msgstr "Stoppé (sortie tty)"
#: siglist.c:147
msgid "I/O ready"
-msgstr ""
+msgstr "E/S prête"
#: siglist.c:151
msgid "CPU limit"
-msgstr ""
+msgstr "Limite CPU"
#: siglist.c:155
msgid "File limit"
-msgstr ""
+msgstr "Limite fichier"
#: siglist.c:159
msgid "Alarm (virtual)"
-msgstr ""
+msgstr "Alarme (virtual)"
#: siglist.c:163
msgid "Alarm (profile)"
-msgstr ""
+msgstr "Alarme (profile)"
#: siglist.c:167
msgid "Window changed"
-msgstr ""
+msgstr "Fenêtre changée"
#: siglist.c:171
msgid "Record lock"
-msgstr ""
+msgstr "Verrou d'enregistrement"
#: siglist.c:175
msgid "User signal 1"
-msgstr ""
+msgstr "Signal utilisateur 1"
#: siglist.c:179
msgid "User signal 2"
-msgstr ""
+msgstr "Signal utilisateur 2"
#: siglist.c:183
msgid "HFT input data pending"
-msgstr ""
+msgstr "Données d'entrée HFT en attente"
#: siglist.c:187
msgid "power failure imminent"
-msgstr ""
+msgstr "Coupure d'alimentation imminente"
#: siglist.c:191
msgid "system crash imminent"
-msgstr ""
+msgstr "Panne système imminente"
#: siglist.c:195
msgid "migrate process to another CPU"
-msgstr ""
+msgstr "Migration processus vers un autre CPU"
#: siglist.c:199
msgid "programming error"
-msgstr ""
+msgstr "Erreur de programmation"
#: siglist.c:203
msgid "HFT monitor mode granted"
-msgstr ""
+msgstr "Mode de surveillance HFT accordé"
#: siglist.c:207
msgid "HFT monitor mode retracted"
-msgstr ""
+msgstr "Mode de surveillance HFT rétracté"
#: siglist.c:211
msgid "HFT sound sequence has completed"
-msgstr ""
+msgstr "Séquence de son HFT terminée"
#: siglist.c:215
msgid "Information request"
-msgstr ""
+msgstr "Demande d'information"
#: siglist.c:223
msgid "Unknown Signal #"
-msgstr ""
+msgstr "N° de signal inconnu"
#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
-msgstr ""
+msgstr "Signal n°%d inconnu"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Mauvaise substitution : pas de « %s » de fermeture dans %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s : impossible d'affecter une liste à un élément de tableau"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "Impossible de fabriquer un tube pour une substitution de processus"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "Impossible de fabriquer un fils pour une substitution de processus"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "Impossible d'ouvrir le tube nommé « %s » en lecture"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "Impossible d'ouvrir le tube nommé « %s » en écriture"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "Impossible de dupliquer le tube nommé « %s » vers le fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "Impossible de fabriquer un tube pour une substitution de commande"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
"Impossible de fabriquer un processus fils pour une substitution de commande"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute : impossible de dupliquer le tube vers le fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s : paramètre vide ou non défini"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s : expression de sous-chaîne négative"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s : mauvaise substitution"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s : affectation impossible de cette façon"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"Les versions futures du shell forceront l'évaluation comme une substitution "
+"arithmétique"
-#: subst.c:7839
-#, fuzzy, c-format
+#: subst.c:8149
+#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "Mauvaise substitution : pas de « %s » de fermeture dans %s"
+msgstr "Mauvais remplacement : pas de « ` » de fermeture dans %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "Pas de correspondance : %s"
@@ -1862,30 +1858,30 @@ msgstr "« ) » attendue"
msgid "`)' expected, found %s"
msgstr "« ) » attendu au lieu de %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s : opérateur unaire attendu"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s : opérateur binaire attendu"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "« ] » manquant"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "Numéro de signal non valable"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps : mauvaise valeur dans trap_list[%d] : %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1893,7 +1889,7 @@ msgstr ""
"run_pending_traps : le gestionnaire de signal est SIG_DFL, %d (%s) renvoyé à "
"moi-même"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler : mauvais signal %d"
@@ -1903,94 +1899,99 @@ msgstr "trap_handler : mauvais signal %d"
msgid "error importing function definition for `%s'"
msgstr "erreur lors de l'import de la définition de fonction pour « %s »"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "niveau de shell trop élevé (%d), initialisation à 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
"make_local_variable : aucun contexte de fonction dans le champ d'application "
"actuel"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
"all_local_variables : aucun contexte de fonction dans le champ d'application "
"actuel"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s : paramètre vide ou non défini"
+msgstr "%s a un « exportstr » vide"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "caractère %d non valable dans « exportstr » pour %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "Pas de « = » dans « exportstr » pour %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context : le début de « shell_variables » n'est pas un contexte de "
"fonction"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context : aucun contexte à « global_variables »"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope : le début de « shell_variables » n'est pas un champ d'application "
"temporaire d'environnement"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s : impossible d'ouvrir : %s"
+msgstr "%s : %s : impossible d'ouvrir comme FILE"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d : descripteur de fichier non valable : %s"
+msgstr "%s : %s : valeur non valable pour un descripteur de fichier de trace"
#: version.c:46
#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr "Copyright (C) 2006 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
msgid ""
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/"
+"gpl.html>\n"
#: version.c:86 version2.c:83
#, c-format
msgid "GNU bash, version %s (%s)\n"
-msgstr ""
+msgstr "GNU bash, version %s (%s)\n"
#: version.c:91 version2.c:88
#, c-format
msgid "This is free software; you are free to change and redistribute it.\n"
msgstr ""
+"Ceci est un logiciel libre ; vous être libre de le modifier et de le "
+"redistribuer.\n"
#: version.c:92 version2.c:89
#, c-format
msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
+"Aucune garantie n'est fournie, dans la mesure de ce que la loi autorise.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2006 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
#, c-format
@@ -1998,333 +1999,347 @@ msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"Licence GPLv2+ : GNU GPL version 2 ou ultérieure <http://gnu.org/licenses/"
+"gpl.html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc : impossible d'allouer %lu octets (%lu octets alloués)"
+msgstr "%s : impossible d'allouer %lu octets (%lu octets alloués)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc : impossible d'allouer %lu octets"
+msgstr "%s : impossible d'allouer %lu octets"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc : %s:%d : impossible d'allouer %lu octets (%lu octets alloués)"
+msgstr "%s : %s:%d : impossible d'allouer %lu octets (%lu octets alloués)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc : %s:%d : impossible d'allouer %lu octets"
+msgstr "%s : %s:%d : impossible d'allouer %lu octets"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
-msgstr ""
+msgstr "alias [-p] [nom[=valeur] ... ]"
#: builtins.c:47
msgid "unalias [-a] name [name ...]"
-msgstr ""
+msgstr "unalias [-a] nom [nom ...]"
#: builtins.c:51
msgid ""
"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
+"bind [-lpvsPVS] [-m keymap] [-f nomfichier] [-q nom] [-u nom] [-r seqtouche] "
+"[-x seqtouche:commande-shell] [seqtouche:fonction-readline ou commande-"
+"readline]"
#: builtins.c:54
msgid "break [n]"
-msgstr ""
+msgstr "break [n]"
#: builtins.c:56
msgid "continue [n]"
-msgstr ""
+msgstr "continue [n]"
#: builtins.c:58
msgid "builtin [shell-builtin [arg ...]]"
-msgstr ""
+msgstr "builtin [shell-builtin [arg ...]]"
#: builtins.c:61
msgid "caller [expr]"
-msgstr ""
+msgstr "caller [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
-msgstr ""
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|-P] [rép]"
#: builtins.c:66
msgid "pwd [-LP]"
-msgstr ""
+msgstr "pwd [-LP]"
#: builtins.c:68
msgid ":"
-msgstr ""
+msgstr ":"
#: 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 ""
+msgstr "command [-pVv] commande [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr ""
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFilrtux] [-p] [nom[=valeur] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr ""
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFilrtux] [-p] nom[=valeur] ..."
#: builtins.c:80
msgid "local [option] name[=value] ..."
-msgstr ""
+msgstr "local [option] nom[=valeur] ..."
#: builtins.c:83
msgid "echo [-neE] [arg ...]"
-msgstr ""
+msgstr "echo [-neE] [arg ...]"
#: builtins.c:87
msgid "echo [-n] [arg ...]"
-msgstr ""
+msgstr "echo [-n] [arg ...]"
#: builtins.c:90
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr ""
+msgstr "enable [-a] [-dnps] [-f nomfichier] [nom ...]"
#: builtins.c:92
msgid "eval [arg ...]"
-msgstr ""
+msgstr "eval [arg ...]"
#: builtins.c:94
msgid "getopts optstring name [arg]"
-msgstr ""
+msgstr "getopts chaineopts nom [arg]"
#: builtins.c:96
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr ""
+msgstr "exec [-cl] [-a nom] [commande [arguments ...]] [redirection ...]"
#: builtins.c:98
msgid "exit [n]"
-msgstr ""
+msgstr "exit [n]"
#: builtins.c:100
msgid "logout [n]"
-msgstr ""
+msgstr "logout [n]"
#: builtins.c:103
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
msgstr ""
+"fc [-e ename] [-lnr] [premier] [dernier] ou fc -s [ancien=nouveau] [commande]"
#: builtins.c:107
msgid "fg [job_spec]"
-msgstr ""
+msgstr "fg [job_spec]"
#: builtins.c:111
msgid "bg [job_spec ...]"
-msgstr ""
+msgstr "bg [job_spec ...]"
#: builtins.c:114
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr ""
+msgstr "hash [-lr] [-p nomchemin] [-dt] [nom ...]"
#: builtins.c:117
msgid "help [-dms] [pattern ...]"
-msgstr ""
+msgstr "help [-dms] [motif ...]"
#: builtins.c:121
msgid ""
"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
"[arg...]"
msgstr ""
+"history [-c] [-d décalage] [n] ou history -anrw [nomfichier] ou history -ps "
+"arg [arg...]"
#: builtins.c:125
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
-msgstr ""
+msgstr "jobs [-lnprs] [jobspec ...] ou jobs -x commande [args]"
#: builtins.c:129
msgid "disown [-h] [-ar] [jobspec ...]"
-msgstr ""
+msgstr "disown [-h] [-ar] [jobspec ...]"
#: builtins.c:132
msgid ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
"[sigspec]"
msgstr ""
+"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... ou kill -l "
+"[sigspec]"
#: builtins.c:134
msgid "let arg [arg ...]"
-msgstr ""
+msgstr "let arg [arg ...]"
#: builtins.c:136
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
+"read [-ers] [-a tableau] [-d delim] [-i texte] [-n nchars] [-N nchars] [-p "
+"prompt] [-t timeout] [-u fd] [nom ...]"
#: builtins.c:138
msgid "return [n]"
-msgstr ""
+msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr ""
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o nom-option] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
-msgstr ""
+msgstr "unset [-f] [-v] [nom ...]"
#: builtins.c:144
msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr ""
+msgstr "export [-fn] [nom[=valeur] ...] ou export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr ""
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-af] [nom[=valeur] ...] ou readonly -p"
#: builtins.c:148
-#, fuzzy
msgid "shift [n]"
-msgstr "nombre de « shift »"
+msgstr "shift [n]"
#: builtins.c:150
-#, fuzzy
msgid "source filename [arguments]"
-msgstr "nom de fichier nécessaire en argument"
+msgstr "source nom_fichier [arguments]"
#: builtins.c:152
-#, fuzzy
msgid ". filename [arguments]"
-msgstr "nom de fichier nécessaire en argument"
+msgstr ". nom_fichier [arguments]"
#: builtins.c:155
msgid "suspend [-f]"
-msgstr ""
+msgstr "suspend [-f]"
#: builtins.c:158
msgid "test [expr]"
-msgstr ""
+msgstr "test [expr]"
#: builtins.c:160
msgid "[ arg... ]"
-msgstr ""
+msgstr "[ arg... ]"
#: builtins.c:162
msgid "times"
-msgstr ""
+msgstr "times"
#: builtins.c:164
msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr ""
+msgstr "trap [-lp] [[arg] signal_spec ...]"
#: builtins.c:166
msgid "type [-afptP] name [name ...]"
-msgstr ""
+msgstr "type [-afptP] nom [nom ...]"
#: builtins.c:169
msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
-msgstr ""
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [limite]"
#: builtins.c:172
msgid "umask [-p] [-S] [mode]"
-msgstr ""
+msgstr "umask [-p] [-S] [mode]"
#: builtins.c:175
msgid "wait [id]"
-msgstr ""
+msgstr "wait [id]"
#: builtins.c:179
msgid "wait [pid]"
-msgstr ""
+msgstr "wait [pid]"
#: builtins.c:182
msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
-msgstr ""
+msgstr "for NOM [in MOTS ... ] ; do COMMANDES; done"
#: builtins.c:184
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr ""
+msgstr "for (( exp1; exp2; exp3 )); do COMMANDES; done"
#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr ""
+msgstr "select NOM [in MOTS ... ;] do COMMANDES; done"
#: builtins.c:188
msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] pipeline"
#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr ""
+msgstr "case MOT in [MOTIF [| MOTIF]...) COMMANDES ;;]... esac"
#: builtins.c:192
msgid ""
"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
"COMMANDS; ] fi"
msgstr ""
+"if COMMANDES; then COMMANDES; [ elif COMMANDES; then COMMANDES; ]... [ else "
+"COMMANDES; ] fi"
#: builtins.c:194
msgid "while COMMANDS; do COMMANDS; done"
-msgstr ""
+msgstr "while COMMANDES; do COMMANDES; done"
#: builtins.c:196
msgid "until COMMANDS; do COMMANDS; done"
-msgstr ""
+msgstr "until COMMANDES; do COMMANDES; done"
#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
-msgstr ""
+msgstr "coproc [NOM] commande [redirections]"
#: builtins.c:200
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr ""
+msgstr "function nom { COMMANDES ; } ou nom () { COMMANDES ; }"
#: builtins.c:202
msgid "{ COMMANDS ; }"
-msgstr ""
+msgstr "{ COMMANDES ; }"
#: builtins.c:204
msgid "job_spec [&]"
-msgstr ""
+msgstr "job_spec [&]"
#: builtins.c:206
-#, fuzzy
msgid "(( expression ))"
-msgstr "une expression est attendue"
+msgstr "(( expression ))"
#: builtins.c:208
-#, fuzzy
msgid "[[ expression ]]"
-msgstr "une expression est attendue"
+msgstr "[[ expression ]]"
#: builtins.c:210
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
+msgstr "variables - Nom et signification de certaines variables du shell"
#: builtins.c:213
msgid "pushd [-n] [+N | -N | dir]"
-msgstr ""
+msgstr "pushd [-n] [+N | -N | rép]"
#: builtins.c:217
msgid "popd [-n] [+N | -N]"
-msgstr ""
+msgstr "popd [-n] [+N | -N]"
#: builtins.c:221
msgid "dirs [-clpv] [+N] [-N]"
-msgstr ""
+msgstr "dirs [-clpv] [+N] [-N]"
#: builtins.c:224
msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr ""
+msgstr "shopt [-pqsu] [-o] [nom_opt ...]"
#: builtins.c:226
msgid "printf [-v var] format [arguments]"
-msgstr ""
+msgstr "printf [-v var] format [arguments]"
#: builtins.c:229
msgid ""
@@ -2332,31 +2347,40 @@ msgid ""
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G motif_glob] "
+"[-W liste_mots] [-F fonction] [-C commande] [-X motif_filtre] [-P prefixe] "
+"[-S suffixe] [nom ...]"
#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
+"compgen [-abcdefgjksuv] [-o option] [-A action] [-G motif_glob] [-W "
+"liste_mots] [-F fonction] [-C commande] [-X motif_filtre] [-P prefixe] [-S "
+"suffixe] [mot]"
#: builtins.c:237
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr ""
+msgstr "compopt [-o|+o option] [-DE] [nom ...]"
#: builtins.c:240
msgid ""
"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"mapfile [-n nombre] [-O origine] [-s nombre] [-t] [-u fd] [-C callback] [-c "
+"quantum] [tableau]"
#: builtins.c:242
msgid ""
"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"readarray [-n nombre] [-O origine] [-s nombre] [-t] [-u fd] [-C callback] [-"
+"c quantum] [tableau]"
#: builtins.c:254
-#, fuzzy
msgid ""
"Define or display aliases.\n"
" \n"
@@ -2375,17 +2399,26 @@ msgid ""
"been\n"
" defined."
msgstr ""
-"« alias » sans argument ou avec l'option « -p » affiche sur la sortie "
-"standard\n"
-" la liste des alias sous la forme NAME=VALUE. Sinon, un alias est défini\n"
-" pour chaque NAME dont la VALUE est fournie. Une espace après la VALUE\n"
-" entraîne la vérification de la substitution d'alias pour le mot suivant\n"
-" lorsque l'alias est étendu. « alias » renvoie « true » à moins qu'un "
-"NAME\n"
-" ne soit fourni pour lequel aucun alias n'a été défini."
+"Définit ou affiche des alias.\n"
+" \n"
+" Sans argument, « alias » affiche la liste des alias avec le format "
+"réutilisable\n"
+" « alias NOM=VALEUR » sur la sortie standard.\n"
+" \n"
+" Sinon, un alias est définit pour chaque NOM dont la VALEUR est donnée.\n"
+" Une espace à la fin de la VALEUR entraine le remplacement d'alias dans "
+"le mot\n"
+" suivant, lorsque l'alias est développé.\n"
+" \n"
+" Options :\n"
+" -p\tAfficher tous les alias actuels dans un format réutilisable\n"
+" \n"
+" Code de sortie :\n"
+" « alias » renvoie la valeur vraie à moins que NOM ne soit fourni et que "
+"celui-ci n'aie\n"
+" pas d'alias."
#: builtins.c:276
-#, fuzzy
msgid ""
"Remove each NAME from the list of defined aliases.\n"
" \n"
@@ -2394,12 +2427,14 @@ msgid ""
" \n"
" Return success unless a NAME is not an existing alias."
msgstr ""
-"Enlève les NAME de la liste des alias définis. Si l'option « -a » est "
-"fournie,\n"
-"alors toutes les définitions d'alias sont enlevées."
+"Enlève chaque NOM de la liste des alias actuels.\n"
+" \n"
+" Options :\n"
+" -a\tretire toutes les définitions d'alias.\n"
+" \n"
+" Renvoie le code de succès à moins que NOM ne soit pas un alias existant."
#: builtins.c:289
-#, fuzzy
msgid ""
"Set Readline key bindings and variables.\n"
" \n"
@@ -2437,48 +2472,54 @@ msgid ""
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
-"Associe une suite de touches à une fonction « Readline » ou définit une\n"
-"variable « Readline ». Les arguments non-options suivent une syntaxe "
+"Définit les associations de touches et les variables de « Readline ».\n"
+" \n"
+" Associe une séquence de touches à une fonction « Readline » ou définit "
+"une\n"
+" variable « Readline ». Les arguments non-options suivent une syntaxe "
"équivalente à celle\n"
-"du fichier ~/.inputrc, mais doivent être transmis comme arguments uniques :\n"
-" bind '\"\\C-x\\C-r\" : re-read-init-file'.\n"
-" bind accepte les options suivantes :\n"
-" -m keymap Utilise « keymap » comme mappage clavier pendant "
-"la\n"
+" du fichier ~/.inputrc, mais doivent être transmis comme arguments "
+"uniques :\n"
+" ex : bind '\"\\C-x\\C-r\" : re-read-init-file'.\n"
+" Options :\n"
+" -m keymap Utilise KEYMAP comme mappage clavier pendant la\n"
" durée de cette commande. Des noms de mappage "
"valables sont « emacs », « emacs-standard », « emacs-"
"meta », \n"
-" « emacs-ctlx », « vi », « vi-move », « vi-command » "
-"et\n"
+" « emacs-ctlx », « vi », « vi-move », « vi-command » et\n"
" « vi-insert ».\n"
" -l Affiche les noms de fonctions.\n"
" -P Affiche les noms et associations des fonctions.\n"
" -p Affiche les fonctions et associations dans une "
"forme qui\n"
" peut être réutilisée comme entrée.\n"
-" -r seqtouche Enlève l'association pour « seqtouche ».\n"
-" -x seqtouche:commande-shell\tEntraîne l'exécution de la « commande-"
-"shell »\n"
-" \t\t\t\tlorsque « seqtouche » est entrée.\n"
-" -f nomfichier Lit l'association de touches depuis le fichier.\n"
-" -q nom-fonction Permet de savoir quelles touches appellent la "
-"fonction.\n"
-" -u nom-fonction Enlève toutes les associations de touches liée à la "
-"fonction.\n"
-" -V Affiche les noms et valeurs des variables\n"
-" -v Affiche les noms et valeurs des variables dans une "
-"forme qui peut\n"
-" être réutilisée comme entrée.\n"
" -S Affiche les séquences de touches qui invoquent des "
"macros,\n"
" et leurs valeurs.\n"
" -s Affiche les séquences de touches qui invoquent des "
"macros,\n"
" et leurs valeurs sous une forme qui peut être "
-"utilisée comme entrée."
+"utilisée comme entrée. -r seqtouche Enlève l'association pour « "
+"seqtouche ».\n"
+" -V Affiche les noms et valeurs des variables\n"
+" -v Affiche les noms et valeurs des variables dans une "
+"forme qui peut\n"
+" être réutilisée comme entrée.\n"
+" -q nom-fonction Permet de savoir quelles touches appellent la "
+"fonction.\n"
+" -u nom-fonction Enlève toutes les associations de touches liée à la "
+"fonction.\n"
+" -r seqtouches Supprime l'association pour SEQTOUCHES.\n"
+" -f nomfichier Lit l'association de touches depuis NOMFICHIER.\n"
+" -x seqtouche:commande-shell\tEntraîne l'exécution de la commande-"
+"shell\n"
+" \t\t\t\tlorsque « seqtouche » est entrée.\n"
+" \n"
+" Code de sortie :\n"
+" « bind » renvoie 0 à moins qu'une option non reconnue ne soit donnée ou "
+"qu'une erreur ne survienne."
#: builtins.c:326
-#, fuzzy
msgid ""
"Exit for, while, or until loops.\n"
" \n"
@@ -2488,12 +2529,16 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Reprend l'exécution à la prochaine boucle FOR, WHILE ou UNTIL de niveau "
-"supérieur.\n"
-" Si N est précisé, reprend à N-ième boucle supérieure."
+"Sort des boucles for, while, ou until.\n"
+" \n"
+" Sort d'une boucle FOR, WHILE ou UNTIL. Si N est spécifié, sort de N "
+"boucles\n"
+" imbriquées.\n"
+" \n"
+" Code de retour :\n"
+" Le code de retour est 0 à moins que N ne soit pas supérieur ou égal à 1."
#: builtins.c:338
-#, fuzzy
msgid ""
"Resume for, while, or until loops.\n"
" \n"
@@ -2503,9 +2548,14 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Reprend l'exécution à la prochaine boucle FOR, WHILE ou UNTIL de niveau "
+"Reprend l'exécution des boucles for, while ou until.\n"
+" \n"
+" Reprend l'itération suivante de la boucle FOR, WHILE ou UNTIL de niveau "
"supérieur.\n"
-" Si N est précisé, reprend à N-ième boucle supérieure."
+" Si N est précisé, reprend à N-ième boucle supérieure.\n"
+" \n"
+" Code de sortie :\n"
+" Le code de sortie est 0 à moins que N ne soit pas supérieur ou égale à 1."
#: builtins.c:350
msgid ""
@@ -2520,9 +2570,22 @@ msgid ""
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
msgstr ""
+"Exécute des commandes shell intégrées.\n"
+" \n"
+" Exécute SHELL-BUILTIN avec les arguments ARGs sans effectuer de "
+"recherche\n"
+" de commande. Ceci est utile lorsque vous souhaitez remplacer une "
+"commande\n"
+" intégrée par une fonction shell, mais nécessite d'exécuter la commande "
+"intégrée\n"
+" dans la fonction.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de retour de SHELL-BUILTIN, ou false si SHELL-BUILTIN "
+"n'est\n"
+" pas une commande intégrée.."
#: builtins.c:365
-#, fuzzy
msgid ""
"Return the context of the current subroutine call.\n"
" \n"
@@ -2546,7 +2609,12 @@ msgstr ""
" \n"
" La valeur de EXPR indique le nombre de cadres d'appels duquel il faut "
"revenir en arrière\n"
-" avant le cadre actuel ; le cadre supérieur est le cadre 0."
+" avant le cadre actuel ; le cadre supérieur est le cadre 0.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie 0 à moins que le shell ne soit pas en train d'exécuter une "
+"fonction ou que EXPR\n"
+" ne soit pas valable."
#: builtins.c:383
#, fuzzy
@@ -2575,33 +2643,48 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-"Change le répertoire actuel vers DIR. La variable « $HOME » est le "
+"Change le répertoire de travail du shell.\n"
+" \n"
+" Change le répertoire actuel vers DIR. La variable « $HOME » est le "
"répertoire\n"
-" DIR par défaut. La variable CDPATH définit le chemin de recherche\n"
-" du répertoire contenant DIR. Les noms de répertoires alternatifs dans "
-"CDPATH\n"
-" sont séparés par un deux-point « : ». Un nom de répertoire vide est "
-"identique\n"
-" au répertoire actuel, càd « . ». Si DIR commence avec une barre oblique "
-"« / »,\n"
-" alors CDPATH n'est pas utilisé. Si le répertoire n'est pas trouvé et "
-"que\n"
-" l'option « cdable_vars » du shell est définie, alors le mot est essayé "
-"comme nom\n"
-" de variable. Si la variable possède une valeur, alors on fait « cd » "
-"vers cette valeur.\n"
-" L'option « -P » indique d'utiliser la structure physique des répertoires "
-"plutôt que\n"
-" les liens symboliques ; l'option « -L » force le suivi des liens "
-"symboliques."
-
-#: builtins.c:411
+" DIR par défaut.\n"
+" \n"
+" La variable CDPATH définit le chemin de recherche du répertoire "
+"contenant\n"
+" DIR. Les noms de répertoires alternatifs dans CDPATH sont séparés par un "
+"deux-point « : ».\n"
+" Un nom de répertoire vide est identique au répertoire actuel. Si DIR "
+"commence\n"
+" avec une barre oblique « / », alors CDPATH n'est pas utilisé.\n"
+" \n"
+" Si le répertoire n'est pas trouvé et que l'option « cdable_vars » du "
+"shell est définie,\n"
+" alors le mot est essayé comme nom de variable. Si la variable possède "
+"une valeur,\n"
+" alors cette valeur est utilisée pour DIR.\n"
+" \n"
+" Options :\n"
+" -L\tforcer le suivi des liens symboliques. -P\tutiliser la "
+"structure physique des répertoires sans suivre\n"
+" les liens symboliques\n"
+" \n"
+" Le comportement par défaut est de suivre les liens symboliques, comme si "
+"« -f » était précisé.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie 0 si le répertoire est changé, sinon autre chose que 0."
+
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2616,9 +2699,22 @@ msgid ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
+"Affiche le nom du répertoire de travail courant.\n"
+" \n"
+" Options :\n"
+" -L\taffiche la valeur de $PWD s'il nomme le répertoire de travail "
+"courant\n"
+" \t\n"
+" -P\taffiche le répertoire physique, sans aucun lien symbolique\n"
+" \n"
+" Par défaut, « pwd » se comporte comme si « -L » était spécifié.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie 0 à moins qu'une option non valable ne soit donnée ou que le "
+"répertoire\n"
+" courant ne peut pas être lu."
-#: builtins.c:428
-#, fuzzy
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2627,26 +2723,38 @@ msgid ""
" Exit Status:\n"
" Always succeeds."
msgstr ""
-"Sans effet : la commande ne fait rien. Le code de sortie zéro est renvoyé."
+"Commande vide.\n"
+" \n"
+" Sans effet : la commande ne fait rien.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie toujours le code de succès."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Renvoie un résultat de succès.\n"
+" \n"
+" Code de retour :\n"
+" Succès."
-#: builtins.c:448
-#, fuzzy
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
" Exit Status:\n"
" Always fails."
-msgstr "Renvoie un résultat d'échec"
+msgstr ""
+"Renvoie un résultat d'échec.\n"
+" \n"
+" Code de sortie :\n"
+" Toujours l'échec."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2664,8 +2772,27 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
+"Exécute une simple commande ou affiche des informations sur les commandes.\n"
+" \n"
+" Lance la COMMANDE avec des ARGS en court-circuitant la recherche de "
+"commande, ou affiche\n"
+" des informations sur les COMMANDEs spécifiées. Ceci peut être utilisé "
+"pour invoquer des commandes\n"
+" sur le disque lorsqu'il y a conflit avec une fonction portant le même "
+"nom.\n"
+" \n"
+" Options :\n"
+" -p\tutilise une valeur par défaut pour CHEMIN qui garantit de trouver\n"
+" \ttous les utilitaires standards\n"
+" -v\taffiche une description de la COMMANDE similaire à la commande "
+"intégrée « type »\n"
+" -V\taffiche une description plus détaillées de chaque COMMANDE\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de sortie de la COMMANDE, ou le code d'échec si la "
+"COMMANDE est introuvable."
-#: builtins.c:476
+#: builtins.c:479
#, fuzzy
msgid ""
"Set variable values and attributes.\n"
@@ -2677,6 +2804,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2696,48 +2825,61 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Déclare des variables ou ajoute des attributs aux variables. Si aucun nom\n"
-" n'est donné, affiche plutôt les valeurs des variables. L'option « -p »\n"
-" permet d'afficher les attributs et les valeurs de chaque NAME.\n"
-" \n"
-" Les options sont :\n"
-" \n"
-" -a\tpour faire des tableaux de NAME (si pris en charge)\n"
-" -f\tpour choisir uniquement parmi les noms de fonctions\n"
-" -F\tpour afficher les noms de fonctions (et les numéros de ligne et "
-"le\n"
-" \tfichier source si le mode de débogage est activé\n"
-" -i\tpour que les NAME aient l'attribut « integer »\n"
-" -r\tpour que les NAME soient en lecture seule\n"
-" -t\tpour que les NAME aient l'attribut « trace »\n"
-" -x\tpour faire un export des NAME\n"
-" \n"
-" L'évaluation arithmétique des variables ayant l'attribut « integer » "
-"est\n"
-" effectuée au moment de l'affectation (voir « let »).\n"
+"Définit les valeurs et les attributs des variables.\n"
+" \n"
+" Permet de déclarer des variables et de leur donner des attributs. Si "
+"aucun NOM n'est donné,\n"
+" affiche les attributs et les valeurs de toutes les variables.\n"
+" \n"
+" Options :\n"
+" -f\trestreint l'action ou l'affichage aux noms et définitions de "
+"fonctions\n"
+" -F\trestreint l'affichage aux noms des fonctions uniquement (avec le "
+"numéro de ligne\n"
+" \tet le fichier source lors du débogage)\n"
+" -p\taffiche les attributs et la valeur de chaque NOM\n"
+" \n"
+" Options qui définissent des attributs :\n"
+" -a\tpour faire de NOMs des tableaux indexés (si pris en charge)\n"
+" -A\tpour faire de NOMs des tableaux associatifs (si pris en charge)\n"
+" -i\tpour permettre aux NOMs d'avoir l'attribut « integer »\n"
+" -l\tpour convertir les NOMs an minuscule lors de l'affectation\n"
+" -r\tpour mettre les NOMs en lecture seule\n"
+" -t\tpour permettre aux NOMs d'avoir l'attribut « trace »\n"
+" -u\tpour convertir les NOMs en majuscule lors de l'affectation\n"
+" -x\tpour permettre aux NOMs de s'exporter\n"
+" \n"
+" Utiliser « + » au lieu de « - » permet de désactiver l'attribut donné.\n"
+" \n"
+" Les variables avec l'attribut « integer » ont une évaluation arithmétique "
+"(voir\n"
+" la commande « let ») effectuée lorsqu'un valeur est affectée à la "
+"variable.\n"
" \n"
-" Lors de l'affichage des valeurs de variables, -f affiche le nom de la "
-"fonction\n"
-" et sa définition. L'option -F permet de n'afficher que le nom.\n"
+" Lorsqu'utilisée dans une fonction, « declare » permet aux NOMs d'être "
+"locaux,\n"
+" comme avec la commande « local ».\n"
" \n"
-" Un attribut peut être désactivé en utilisant « + » au lieu de « - ». "
-"Dans une\n"
-" fonction, ceci a pour effet de rendre les NAME locaux, comme avec la "
-"commande «local »."
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'un option non valable soit fournie "
+"ou qu'une erreur ne survienne."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
+"Définit des valeurs ou des attributs de variables.\n"
+" \n"
+" Obsolète. Essayez « help declare »."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2751,9 +2893,23 @@ msgid ""
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
msgstr ""
+"Définit des variables locales.\n"
+" \n"
+" Crée une variable locale nommée NOM, avec une valeur VALEUR. OPTION "
+"peut\n"
+" être n'importe quelle option acceptée par « declare ».\n"
+" \n"
+" Les variables locales peut seulement être utilisée à l'intérieur d'une "
+"fonction; elles ne sont visibles\n"
+" que des fonctions où elles ont été définies et dans ses fonctions "
+"filles.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie, qu'une erreur ne survienne,\n"
+" ou que l'inteprète ne soit pas dans une fonction."
-#: builtins.c:537
-#, fuzzy
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2783,30 +2939,39 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-"Affiche les ARGs. Si « -n » est spécifié, le retour à la ligne final et "
-"supprimé.\n"
-" L'option « -e » permet d'activer l'interprétation des caractères à "
-"contre-oblique\n"
-" parmi la liste ci-dessous :\n"
-" \t\\a\talerte (cloche)\n"
-" \t\\b\tretour arrière\n"
-" \t\\c\tsuppr. dernier retour à la ligne\n"
-" \t\\E\tcaractère Échap.\n"
-" \t\\f\tsaut de page\n"
-" \t\\n\tsaut de ligne\n"
-" \t\\r\tretour chariot\n"
-" \t\\t\ttabulation horizontale\n"
-" \t\\v\ttabulation verticale\n"
-" \t\\\\\tbarre contre-oblique\n"
-" \t\\0nnn\tle caractère dont le code ASCII est NNN (en octal). NNN peut "
+"Écrit les arguments sur la sortie standard.\n"
+" \n"
+" Affiche les ARGs sur la sortie standard, suivis d'un retour à la ligne.\n"
+" \n"
+" Options :\n"
+" -n\tne pas ajouter de saut de ligne\n"
+" -e\tactive l'interpretation des barres contre-obliques d'échappement "
+"ci-dessous\n"
+" -E\tsupprime explicitement l'interpretation des barres contre-obliques "
+"d'échappement\n"
+" \n"
+" « echo » interprète les caractères suivants comme des séquences "
+"d'échappement :\n"
+" \\a\talerte (cloche)\n"
+" \\b\tretour arrière\n"
+" \\c\tsupprime caractère suivant\n"
+" \\e\tcaractère Échap.\n"
+" \\f\tsaut de page\n"
+" \\n\tsaut de ligne\n"
+" \\r\tretour chariot\n"
+" \\t\ttabulation horizontale\n"
+" \\v\ttabulation verticale\n"
+" \\\\\tbarre contre-oblique\n"
+" \\0nnn\tle caractère dont le code ASCII est NNN (en octal). NNN peut "
"être\n"
-" \t\tlong de 0 à 3 chiffres octaux\n"
+" \tlong de 0 à 3 chiffres octaux\n"
+" \\xHH\tle caractère à 8 bits dont la valeur est HH (hexadecimal). HH\n"
+" \tpeut être long de 1 ou 2 chiffres hexadécimaux\n"
" \n"
-" Vous pouvez désactiver de manière explicite l'interprétation des "
-"caractères ci-dessus\n"
-" avec l'option « -E »."
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une erreur ne survienne."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2818,8 +2983,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"Écrit des arguments sur la sortie standard.\n"
+" \n"
+" Affiche les ARGs sur la sortie standard, suivis d'un retour à la ligne.\n"
+" \n"
+" Options :\n"
+" -n\tpas de retour à la ligne\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une erreur ne survienne."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2845,8 +3019,38 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
+"Active et désactive les commandes intégrées.\n"
+" \n"
+" Active et désactive les commandes intégrées du shell. Les désactiver "
+"vous permet\n"
+" d'exécuter une commande du disque ayant le même nom qu'une commande du "
+"shell\n"
+" sans utiliser le chemin compler vers le fichier.\n"
+" \n"
+" Options :\n"
+" -a\taffiche la liste des commandes intégrées et leur état "
+"d'activation\n"
+" -n\tdésactive chaque NOM ou affiche la liste des commandes "
+"désactivées\n"
+" -p\taffiche la liste des commandes dans un format réutilisable\n"
+" -s\taffiche seulement les noms des commandes Posix de type « special »\n"
+" \n"
+" Options contrôlant le chargement dynamique :\n"
+" -f\tCharge la commande intégrée NOM depuis la bibliothèque partagée "
+"FILENAME\n"
+" -d\tDécharge une commande chargée avec « -f »\n"
+" \n"
+" S'il n'y a pas d'option, chaque commande NOM est activée.\n"
+" \n"
+" Pour utiliser le « test » trouvé dans $PATH au lieu de celui intégré au "
+"shell,\n"
+" tapez « enable -n test ».\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins que NOM ne soit pas une commande "
+"intégrée ou qu'une erreur ne survienne."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2857,9 +3061,17 @@ msgid ""
" Exit Status:\n"
" Returns exit status of command or success if command is null."
msgstr ""
+"Exécute des arguments comme s'ils étaient une commande du shell.\n"
+" \n"
+" Combine des ARGs en une chaîne unique, utilise le résultat comme entrée "
+"du shell,\n"
+" puis exécute la commande résultante.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le même code de sortie que la commande, ou le code de succès si "
+"la commande est vide."
-#: builtins.c:626
-#, fuzzy
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2899,7 +3111,9 @@ msgid ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
msgstr ""
-"« getopts » est utilisé par les procédures du shell pour analyser les \n"
+"Analyse les options en arguments.\n"
+" \n"
+" « getopts » est utilisé par les procédures du shell pour analyser les \n"
" paramètres de position.\n"
" \n"
" OPTSTRING contient les lettres d'options qui devront être reconnues ;\n"
@@ -2907,8 +3121,8 @@ msgstr ""
" argument séparé d'elle par une espace.\n"
" \n"
" À chaque fois qu'elle est appelée, « getopts » place l'option suivante\n"
-" dans la variable de shell « $nom », en initialisant « nom » si elle "
-"n'existe pas,\n"
+" dans la variable de shell « $nom », en l'initialisant si elle n'existe "
+"pas,\n"
" et place l'index de l'argument suivant dans la variable de shell "
"OPTIND.\n"
" OPTIND est initialisé à 1 à chaque fois que le shell ou qu'un script "
@@ -2927,8 +3141,8 @@ msgstr ""
"d'option\n"
" trouvé. Si un argument nécessaire n'est pas trouvé, « getopts » place un "
"« : »\n"
-" dans NAME et place dans OPTARG le caractère d'option trouvé. Si « "
-"getopts »\n"
+" dans NOM et place dans OPTARG le caractère d'option trouvé. Si « getopts "
+"»\n"
" n'est pas en mode silencieux et qu'une option incorrecte est rencontrée, "
"il\n"
" place « ? » dans NAME et efface OPTARG. Si un argument nécessaire n'est "
@@ -2945,9 +3159,14 @@ msgstr ""
" \n"
" « getopts » analyse habituellement les paramètres de position ($0 - $9), "
"mais\n"
-" si plus d'argument sont données, ils sont analysés à la place."
+" si plus d'argument sont données, ils sont analysés à la place.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès si une option est trouvée, le code d'échec si "
+"la fin des options\n"
+" est rencontrée ou si une erreur survient."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2969,19 +3188,39 @@ msgid ""
" Returns success unless COMMAND is not found or a redirection error "
"occurs."
msgstr ""
+"Remplace le shell par la commande fournie.\n"
+" \n"
+" Exécute la COMMANDE, en remplaçant ce shell par le programme spécifiée.\n"
+" Les ARGUMENTS deviennent ceux de la COMMANDE. Si la COMMANDE n'est pas "
+"fournie,\n"
+" les redirections prennent effet dans le shell courant.\n"
+" \n"
+" Options :\n"
+" -a nom\tpasse NOM comme argument numéro 0 à la COMMANDE\n"
+" -c\t\texécute la COMMANDE avec un environnement vide\n"
+" -l\t\tplace un tiret comme argument numéro 0 de la COMMANDE\n"
+" \n"
+" Si la commande ne peut pas être exécutée, un shell non-interactif se "
+"termine, à moins\n"
+" que l'option « execfail » ne soit définie.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins que la COMMANDE ne soit pas trouvée ou "
+"qu'une erreur de redirection ne survienne."
-#: builtins.c:689
-#, fuzzy
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
msgstr ""
-"Terminer le shell avec le code de retour « N ». Si N est omis, le code\n"
+"Termine le shell.\n"
+" \n"
+" Termine le shell avec le code de retour « N ». Si N est omis, le code\n"
" de retour est celui de la dernière commande exécutée."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2989,9 +3228,13 @@ msgid ""
"executed\n"
" in a login shell."
msgstr ""
+"Termine un shell de connexion.\n"
+" \n"
+" Termine un shell de connexion avec le code de sortie N. Renvoie une "
+"erreur s'il n'est pas exécuté\n"
+" dans un shell de connexion."
-#: builtins.c:708
-#, fuzzy
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3020,11 +3263,16 @@ msgid ""
" Returns success or status of executed command; non-zero if an error "
"occurs."
msgstr ""
-"« fc » est utilisé pour afficher ou modifier puis ré-exécuter les commandes\n"
-" de l'historique des commandes. FIRST et LAST peuvent être des nombres\n"
-" indiquant la plage ou FIRST peut être une chaîne donnant le début de la\n"
+"Affiche ou exécute des commandes issues de l'historique.\n"
+" \n"
+" « fc » est utilisé pour afficher ou modifier puis ré-exécuter les "
+"commandes\n"
+" de l'historique des commandes. PREMIER et DERNIER peuvent être des "
+"nombres\n"
+" indiquant la plage ou PREMIER peut être une chaîne donnant le début de la\n"
" commande la plus récente recherchée.\n"
" \n"
+" Options :\n"
" -e ENAME définit quel éditeur utiliser. Par défaut il s'agit de « "
"FCEDIT »\n"
" puis « EDITOR », puis « vi ».\n"
@@ -3035,15 +3283,18 @@ msgstr ""
" \n"
" En tapant « fc -s [ancien=nouveau ...] [commande] », la commande est ré-"
"exécutée\n"
-" après avoir effectué la substitution OLD=NEW.\n"
+" après avoir effectué le remplacement ANCIEN=NOUVEAU.\n"
" \n"
" Un alias utile est « r='fc -s' » de sorte qu'en tapant « r cc »,\n"
-" la dernière commande commençant par « cc » est ré-exécutée et avec « r "
-"», la\n"
-" dernière commande est ré-exécutée."
+" la dernière commande commençant par « cc » est ré-exécutée et avec « r », "
+"la\n"
+" dernière commande est ré-exécutée.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès ou le code de sortie de la commande exécutée ; "
+"autre chose que 0 si une erreur survient."
-#: builtins.c:738
-#, fuzzy
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3054,12 +3305,17 @@ msgid ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-"Place JOB_SPEC au premier plan et en fait la tâche actuelle. Si\n"
+"Déplace une tâche au premier plan.\n"
+" \n"
+" Place JOB_SPEC au premier plan et en fait la tâche actuelle. Si\n"
" JOB_SPEC n'est pas fourni, le shell utilise sa propre notion\n"
-" de tâche actuelle."
+" de tâche actuelle.\n"
+" \n"
+" Code de sortie :\n"
+" celui de la commande placée au premier plan ou le code d'échec si une "
+"erreur survient."
-#: builtins.c:753
-#, fuzzy
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3072,12 +3328,18 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-"Place chaque JOB_SPEC en arrière plan comme s'il avait été démarré avec « & "
-"».\n"
+"Déplace des tâches vers l'arrière plan.\n"
+" \n"
+" Place chaque JOB_SPEC en arrière plan comme s'il avait été démarré avec « "
+"& ».\n"
" Si JOB_SPEC n'est pas fourni, le shell utilise sa propre notion\n"
-" de tâche actuelle."
+" de tâche actuelle.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins que le contrôle de tâche ne soit pas "
+"activé ou qu'une erreur ne survienne."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3100,8 +3362,29 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-
-#: builtins.c:792
+"Mémorise ou affiche l'emplacement des programmes.\n"
+" \n"
+" Détermine et mémorise le chemin complet de chaque commande NOM. Si\n"
+" aucun argument n'est donné, une information sur les commandes mémorisées "
+"est affichée.\n"
+" \n"
+" Options :\n"
+" -d\t\toublier l'emplacement mémorisé de chaque NOM\n"
+" -l\t\tafficher dans un format qui peut être réutilisé comme entrée\n"
+" -p nomchemin\tutiliser NOMCHEMIN comme le chemin complet de NOM\n"
+" -r\t\toublier tous les emplacements mémorisés\n"
+" -t\t\tafficher l'emplacement mémorisé de chaque NOM, en précédant\n"
+" \t\tchaque emplacement du NOM correspondant si plusieurs NOMS\n"
+" \t\tsont donnés\n"
+" Arguments :\n"
+" NOM\t\tChaque NOM est recherché dans $PATH et ajouté à la liste\n"
+" \t\tdes commandes mémorisée.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins que le NOM ne soit pas trouvé ou "
+"qu'une option non valable ne soit donnée."
+
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3122,9 +3405,27 @@ msgid ""
" Returns success unless PATTERN is not found or an invalid option is "
"given."
msgstr ""
+"Affiche des informations sur les commandes intégrées.\n"
+" \n"
+" Affiche de courts résumés des commandes intégrées. Si MOTIF est\n"
+" spécifié, une aide détaillée de toutes les commandes correspondantes au "
+"MOTIF sont affichées,\n"
+" sinon la liste des sujets d'aide est affichée.\n"
+" \n"
+" Options :\n"
+" -d\tafficher une courte description pour chaque sujet\n"
+" -m\tafficher l'aide dans un format proche des pages de man(uel)\n"
+" -s\tn'afficher qu'une courte aide pour chaque sujet correspondant au\n"
+" \tMOTIF\n"
+" \n"
+" Arguments :\n"
+" MOTIF\tMotif spécifiant un sujet d'aide\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins que le MOTIF ne soit pas trouvé ou "
+"qu'une option non valable ne soit donnée."
-#: builtins.c:816
-#, fuzzy
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3157,42 +3458,47 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-"Affiche l'historique avec des numéros de lignes. Les lignes possédant\n"
-" un « * » ont été modifiées. L'argument N permet de n'afficher que\n"
-" les N dernières lignes. L'option « -c » efface complètement "
-"l'historique.\n"
-" L'option « -d » efface l'élément d'historique placé à la position "
-"OFFSET.\n"
-" L'option « -w » écrit l'historique actuel dans le fichier d'historique.\n"
-" « -r » permet de lire le fichier et d'ajouter son contenu à la fin de\n"
-" l'historique. « -a » permet d'ajouter les lignes d'historiques de cette\n"
-" session à la fin du fichier d'historique. L'argument « -n » permet de "
-"lire\n"
-" toutes les lignes d'historique non déjà lues depuis le fichier "
+"Affiche ou manipule l''historique.\n"
+" \n"
+" Affiche l'historique avec les numéros de lignes en préfixant chaque "
+"élément\n"
+" modifié d'un « * ». Un argument égal à N limite la liste aux N derniers "
+"éléments.\n"
+" \n"
+" Options :\n"
+" -c\tefface la liste d'historique en effaçant tous les éléments\n"
+" -d offset\tefface l'élément d'historique à l'emplacement OFFSET.\n"
+" \n"
+" -a\tajouter les lignes d'historique de cette session au fichier "
"d'historique\n"
-" puis de les ajouter à l'historique.\n"
-" \n"
-" Si FILENAME est fourni, il est utilisé comme fichier d'historique, "
-"sinon\n"
-" la valeur de « $HISTFILE » est utilisée, sinon le fichier « ~/."
-"bash_history ».\n"
-" Si l'option « -s » est fournie, les arguments qui ne sont pas des "
-"options sont\n"
-" ajoutés à la fin de l'historique comme un seul élément. L'option « -p » "
-"permet\n"
-" d'effectuer une expansion d'historique sur chaque ARG et d'afficher le "
-"résultat,\n"
-" sans rien enregistrer dans le fichier d'historique.\n"
-" \n"
-" Si la variable « $HISTTIMEFORMAT » est définie et non vide, sa valeur "
-"est\n"
-" utilisée comme chaîne de format pour « strftime(3) » afin d'afficher "
-"les\n"
-" valeurs de temps associées à chaque élément de l'historique. Sinon,\n"
-" aucun valeur de temps n'est affichée."
-
-#: builtins.c:852
-#, fuzzy
+" -n\tlire toutes les lignes d'historique non déjà lues depuis le "
+"fichier d'historique\n"
+" -r\tlire le fichier d'historique et ajouter le contenu à la liste "
+"d'historique\n"
+" -w\técrire l'historique actuel dans le fichier d'historique\n"
+" \tet l'ajoute à la liste d'historique\n"
+" \n"
+" -p\teffectuer un développement de l'historique sur chaque ARG et "
+"afficher le résultat\n"
+" \tsans le stocker dans la liste d'historique\n"
+" -s\tajoute les ARGs à la liste d'historique comme entrée unique\n"
+" \n"
+" Si NOMFICHIER est donné, il est utilisé comme fichier d'historique. "
+"Sinon,\n"
+" si $HISTFILE contient une valeur, celle-ci est utilisée, sinon ~/."
+"bash_history.\n"
+" \n"
+" Si la variable $HISTTIMEFORMAT est définie et n'est pas vide, sa valeur "
+"est utillisée\n"
+" comme chaîne de format pour que strftime(3) affiche l'horodatage "
+"associé\n"
+" à chaque entrée d'historique. Sinin, aucun horodatage n'est affiché.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable soit donnée "
+"ou qu'une erreur ne survienne."
+
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3215,23 +3521,34 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs.\n"
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-"Affiche les tâches actives. L'option « -l » ajoute les numéros de processus\n"
-" en plus des informations habituelles. L'option « -p » n'affiche que les\n"
-" numéros de processus. Si « -n » est fourni, seuls les processus dont\n"
-" l'état a changé depuis la dernière notification sont affichés. JOBSPEC\n"
-" restreint l'affichage à ce numéro de tâche. Les options « -r » et « -s "
-"»\n"
-" restreignent l'affichage respectivement aux tâches en cours d'exécution\n"
-" et aux tâches stoppées. Sans option, l'état de toutes les tâches "
-"actives\n"
-" est affiché. Si « -x » est fourni, la commande COMMAND est lancée après "
-"que toutes\n"
-" les spécifications de tâches qui apparaissent dans les ARGS ont été "
-"remplacées\n"
-" par le numéro de processus du leader du groupe de processus pour cette "
-"tâche."
-
-#: builtins.c:879
+"Affiche l'état des tâches.\n"
+" \n"
+" Affiche la liste des tâches actives. JOBSPEC restreint l'affichage à "
+"cette tâche.\n"
+" S'il n'y a pas d'option, l'état de toutes les tâches actives est "
+"affiché.\n"
+" \n"
+" Options :\n"
+" -l\tafficher les IDs de processus en plus des informations normales\n"
+" -n\tafficher seulement les processus dont l'état a changé depuis la "
+"dernière\n"
+" \tnotification\n"
+" -p\tafficher seulement les IDs de processus\n"
+" -r\trestreindre l'affichage aux tâches en cours d'exécution\n"
+" -s\trestreindre l'affichage aux tâches stoppées\n"
+" \n"
+" Si « -x » est fournie, la COMMANDE est lancée après que toutes les "
+"spécifications\n"
+" qui apparaissent dans ARGs ont été remplacées par l'ID de processus du "
+"leader de groupe\n"
+" de processus de cette tâche.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"donnée ou qu'une erreur ne survienne.\n"
+" Si « -x » est utilisée, le code de sortie de la COMMANDE est renvoyé."
+
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3247,9 +3564,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
+"Retire des tâches du shell courant.\n"
+" \n"
+" Retire chaque argument JOBSPEC de la table des tâches actives. Sans\n"
+" JOBSPEC, le shell utilise sa propre notion de tâche courante.\n"
+" \n"
+" Options :\n"
+" -a\tretirer toutes lestâches si JOBSPEC n'est pas fourni\n"
+" -h\tmarque chaque JOBSPEC de façon que SIGHUP ne soit pas envoyé à la "
+"tâche\n"
+" \tsi le shell reçoit un SIGHUP\n"
+" -r\tretire seulement les tâches en cours de fonctionnement\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option ou un JOBSPEC non "
+"valable ne soit donné."
-#: builtins.c:898
-#, fuzzy
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3270,18 +3601,30 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-"Envoie le signal SIGSPEC aux processus désignés par PID (ou JOBSPEC). Si\n"
-" SIGSPEC n'est pas fourni, alors SIGTERM est utilisé. L'argument « -l »\n"
-" permet de lister les noms de signaux. Si des arguments sont donnés à « -"
-"l »,\n"
-" ils sont supposés être des numéros de signaux pour lesquels les noms \n"
-" doivent être affichés. « kill » est une commande intégrée au shell pour\n"
-" deux raisons : il permet d'utiliser des numéros de tâche plutôt que des\n"
-" numéros de processus et, si vous avez atteint la limite du nombre de\n"
-" processus que vous pouvez créer, vous n'avez pas besoin de générer un\n"
-" nouveau processus pour en tuer un autre."
-
-#: builtins.c:921
+"Envoie un signal à une tâche.\n"
+" \n"
+" Envoie le signal nommé par SIGSPEC ou SIGNUM au processus identifié par "
+"PID ou JOBSPEC.\n"
+" Si SIGSPEC et SIGNUM ne sont pas donnés, alors SIGTERM est envoyé.\n"
+" \n"
+" Options :\n"
+" -s sig\tSIG est un nom de signal\n"
+" -n sig\tSIG est un numéro de signal\n"
+" -l\tafficher la liste des noms de signaux ; si des arguments suivent « -"
+"l », ils sont supposés être\n"
+" \tdes numéro de signaux pour lesquels les noms doivent être affichés\n"
+" \n"
+" « kill » est une commande intégrée pour deux raisons : elle permet aux "
+"IDs de tâches d'être utilisées\n"
+" à la place des IDs de processus et elle permet aux processus d'être tués "
+"si la limite du nombre de processus\n"
+" que vous pouvez créer est atteinte.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable soit donnée "
+"ou qu'une erreur ne survienne."
+
+#: builtins.c:926
#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
@@ -3324,9 +3667,11 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-"chaque ARG est une expression arithmétique à évaluer. L'évaluation\n"
+"Évalue des expressions arithmétiques.\n"
+" \n"
+" Chaque ARG est une expression arithmétique à évaluer. L'évaluation\n"
" est faite avec des entiers de largeur fixe sans vérification de\n"
" dépassement, mais la division par zéro est interceptée et\n"
" signalée comme une erreur. La liste suivante d'opérateurs\n"
@@ -3335,7 +3680,8 @@ msgstr ""
" \n"
" \tid++, id--\tpost-incrément ou post-décrément de variable\n"
" \t++id, --id\tpré-incrément ou pré-décrément de variable\n"
-" \t-, +\t\tmoins, plus \t!, ~\t\tnégations logique et binaire\n"
+" \t-, +\t\tmoins, plus\n"
+" \t!, ~\t\tnégations logique et binaire\n"
" \t**\t\tmise en exposant\n"
" \t*, /, %\t\tmultiplication, division, reste de la division\n"
" \t+, -\t\taddition, soustraction\n"
@@ -3366,10 +3712,10 @@ msgstr ""
"les règles\n"
" ci-dessus.\n"
" \n"
+" Code de sortie :\n"
" Si le dernier ARG est évalué à 0, « let » renvoie 1, sinon 0 est renvoyé."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3416,48 +3762,64 @@ msgid ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-"Une ligne est lue depuis l'entrée standard ou depuis le descripteur de "
-"fichier\n"
-" FD si l'option « -u » est fournie. Le premier mot est affecté au premier "
-"NAME,\n"
-" le second mot au second NAME, et ainsi de suite, les mots restants étant "
-"affectés\n"
-" au dernier NAME. Seuls les caractères situés dans « $IFS » sont reconnus "
-"comme\n"
-" étant des délimiteurs de mots. Si aucun NAME n'est fourni, la ligne est "
-"conservée\n"
-" dans la variable REPLY. L'option « -r » signifie « entrée brute » et la "
-"neutralisation \n"
-" par barre oblique inverse est désactivée. L'option « -d » indique de "
-"continuer\" la lecture jusqu'à ce que le premier caractère de DELIM soit "
-"lu plutôt que\n"
-" le retour à la ligne. Si « -p » est fourni, la chaîne PROMPT est "
-"affichée\n"
-" sans retour à la ligne final avant la tentative de lecture. Si « -a » "
-"est fourni,\n"
-" les mots lus sont affectés en séquence aux indices du TABLEAU, en "
-"commençant\n"
-" à zéro. Si « -e » est fourni et que le shell est interactif, « readline "
-"» est\n"
-" utilisé pour obtenir la ligne. Si « -n » est fourni avec un argument "
-"NCHARS non nul,\n"
-" « read » se termine après que NCHARS caractères ont été lus. L'option « -"
-"s »\n"
-" permet aux données venant d'un terminal de ne pas être répétées.\n"
-" \n"
-" L'option « -t » permet à « read » de se terminer avec une erreur si une "
-"ligne\n"
-" entière de données ne lui a pas été fournie avant le DÉLAI d'expiration. "
-"Si la\n"
-" variable TMOUT est définie, sa valeur est le délai d'expiration par "
-"défaut. Le code\n"
-" de retour est zéro à moins qu'une fin de fichier ne soit rencontrée, que "
-"« read »\n"
-" atteigne le délai d'expiration ou qu'un descripteur de fichier incorrect "
-"ne soit\n"
-" fourni pour l'argument « -u »."
-
-#: builtins.c:1009
+"Lit une ligne depuis l'entrée standard et la découper en morceaux.\n"
+" \n"
+" Lit une simple ligne depuis l'entrée standard ou depuis le descripteur "
+"de fichier FD\n"
+" si l'option « -u » est fournie. La ligne est découpée en morceaux comme "
+"des mots,\n"
+" et le premier mot est assigné au premier NOM, le deuxième mot au "
+"deuxième NOM,\n"
+" et ainsi de suite, le dernier NOM récupérant la liste des mots "
+"restants.\n"
+" Seul les caractères trouvés dans $IFS sont reconnus comme délimiteurs\n"
+" de mots\n"
+" \n"
+" Si aucun NOM n'est fourni, la ligne lue est stockée dans la variable "
+"REPLY.\n"
+" \n"
+" Options :\n"
+" -a tableau\taffecter les indices de la variable tableau "
+"séquentiellement aux mots lus,\n"
+" \t\ten commançant à 0\n"
+" -d délim\tcontinuer jusqu'à ce que le premier caractère de DELIM soit "
+"lu,\n"
+" \t\tau lieu du retour à la ligne\n"
+" -e\t\tutiliser « Readline » pour obtenir la ligne dans un shell "
+"interactif\n"
+" -i texte\tUtiliser TEXTE comme texte initial pour « Readline »\n"
+" -n n\tterminer après avoir lu N caractères plutôt que d'attendre\n"
+" \t\tun retour à la ligne, mais obéir à un délimiteur si moins de N "
+"caractères\n"
+" \t\tsont lus avant le délimiteur\n"
+" -N n\ttermine seulement après avoir lu exactement N caractères, à "
+"moins\n"
+" \t\tque le caractère EOF soit recontré ou que le délai de lecture "
+"n'expire, en ignorant tout délimiteur\n"
+" -p prompt\taffiche la chaîne PROMPT sans retour à la ligne final, "
+"avant de tenter une\n"
+" \t\tlecture\n"
+" -r\t\tne pas permettre aux barres obliques inverses de se comporter "
+"comme des caractères d'échappement\n"
+" -s\t\tne pas répéter l'entrée provenant d'un terminal\n"
+" -t timeout\texpire et renvoie un code d'échec si une ligne d'entrée "
+"complète n'est pas\n"
+" \t\tlue en moins de TIMEOUT secondes. La valeur de la variable TIMEOUT\n"
+" \t\test le délai d'expiration par défaut. TIMEOUT peut être un nombre à "
+"virgule\n"
+" \t\tSi TIMEOUT est à, la lecture renvoie un code de succès seulement\n"
+" \t\tsi l'entrée est disponible sur le descripteut de fichier. Le code\n"
+" \t\tde sortie est supérieur à 128 si le délai a expiré\n"
+" -u fd\t\tlire depuis le descripteur de fichier FD plutôt que l'entrée "
+"standard\n"
+" \n"
+" Code de sortie :\n"
+" Le code de retour est 0, à moins qu'une fin de fichier ne survienne, que "
+"le délai expire,\n"
+" ou qu'un descripteur de fichier non valable ne soit fourni comme "
+"argument à « -u »."
+
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3468,8 +3830,19 @@ msgid ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
+"Termine depuis une fonction du shell.\n"
+" \n"
+" Entraine l'arrêt d'une fonction ou d'un script sourcé, avec le code de "
+"retour spécifié par N.\n"
+" Si N est omis, le code de retour est celui de la dernière commande "
+"exécutée\n"
+" à l'intérieur de la fonction ou du script\n"
+" \n"
+" Code de retour :\n"
+" Renvoie N ou le code d'échec si le shell n'est pas en train d'exécuter "
+"une fonction ou un script."
-#: builtins.c:1022
+#: builtins.c:1027
#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
@@ -3539,6 +3912,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3551,9 +3927,16 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
-" -a Marquer pour l'export toutes les variables qui sont modifiées ou "
+"Définit ou invalide des valeurs d'options et des paramètres de position du "
+"shell \n"
+" Change la valeur des attributs du shell et des paramètres de position, "
+"ou\n"
+" affiche les noms et valeurs des variables du shell.\n"
+" \n"
+" Options :\n"
+" -a Marquer pour l'export toutes les variables qui sont modifiées ou "
"créées.\n"
-" -b Avertir immédiatement à la fin d'une tâche.\n"
+" -b Avertir immédiatement de la fin d'une tâche.\n"
" -e Terminer immédiatement si une commande s'arrête avec un code de "
"retour non nul.\n"
" -f Désactiver la génération de nom de fichier (globbing).\n"
@@ -3574,8 +3957,8 @@ msgstr ""
" hashall identique à -h\n"
" histexpand identique à -H\n"
" history activer l'historique des commandes\n"
-" ignoreeof ne pas terminer le shell à la lecture d'un « "
-"EOF »\n"
+" ignoreeof ne pas terminer le shell à la lecture d'un « EOF "
+"»\n"
" interactive-comments\n"
" permet aux commentaires d'apparaître dans les "
"commandes interactives\n"
@@ -3608,15 +3991,16 @@ msgstr ""
"l'import des\n"
" fonctions du shell. Désactiver cette option permet de définir "
"les uid et gid\n"
-" effectifs à la valeur des uid et gid réels. -t Terminer "
-"après la lecture et l'exécution d'une commande.\n"
+" effectifs à la valeur des uid et gid réels.\n"
+" -t Terminer après la lecture et l'exécution d'une commande.\n"
" -u Traiter les variables non définies comme des erreurs lors de la "
"substitution.\n"
" -v Afficher les lignes d'entrée du shell à leur lecture.\n"
" -x Afficher les commandes et leurs arguments au moment de leur "
"exécution.\n"
-" -B Effectuer l'expansion des accolades -C Si définit, "
-"empêche les fichiers réguliers existants d'être écrasés par une\n"
+" -B Effectuer l'expansion des accolades\n"
+" -C Si définit, empêche les fichiers réguliers existants d'être "
+"écrasés par une\n"
" redirection de la sortie.\n"
" -E Si définit, l'interception ERR est héritée par les fonctions du "
"shell.\n"
@@ -3632,17 +4016,20 @@ msgstr ""
"position.\n"
" Les options « -x » et « -v » sont désactivées.\n"
" \n"
-" Ces indicateurs peuvent être désactivés en utilisant « + » plutôt que « "
-"- ». Ils peuvent\n"
+" Ces indicateurs peuvent être désactivés en utilisant « + » plutôt que « - "
+"». Ils peuvent\n"
" être utilisés lors de l'appel au shell. Le jeu d'indicateurs actuel peut "
"être trouvé\n"
-" dans « $- ». Les n ARGs restants sont des paramètres de position et "
-"sont affectés,\n"
+" dans « $- ». Les n ARGs restants sont des paramètres de position et sont "
+"affectés,\n"
" dans l'ordre, à $1, $2, .. $n. Si aucun ARG n'est donné, toutes les "
"variables du shell\n"
-" sont affichées."
+" sont affichées. \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"donnée."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3661,8 +4048,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
+"Annule des valeurs ou des attributs de variables et de fonctions du shell.\n"
+" \n"
+" Pour chaque NOM, annule la variable ou fonction correspondante.\n"
+" \n"
+" Options :\n"
+" -f\ttraite chaque NOM comme une fonction du shell\n"
+" -v\ttraite chaque NOM comme une variable du shell\n"
+" \n"
+" Sans option, « unset » essaye d'abord d'annuler une variable et, \n"
+" en cas d'échec, essaye d'annuler la fonction.\n"
+" \n"
+" Certaines variables ne peuvent pas être annulées ; consultez aussi « "
+"readonly ».\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"donnée ou que NOM soit en lecture seule."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3680,8 +4084,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Définit l'attribut « export » pour des variables du shell.\n"
+" \n"
+" Marque chaque NOM pour export automatique vers l'environnement des "
+"commandes\n"
+" exécutées ultérieurement. Si VALEUR est fournie, affecte la VALEUR "
+"avant l'export.\n"
+" \n"
+" Options :\n"
+" -f\tse référer aux fonctions du shell\n"
+" -n\tenlève la propriété d'export de chaque NOM\n"
+" -p\taffiche une liste de toutes les variables et fonctions exportées\n"
+" \n"
+" L'argument « -- » désactive tout traitement postérieur d'options.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"données ou que NOM ne soit pas valable."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3700,8 +4121,28 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Marque des variables du shell comme non modifiables.\n"
+" \n"
+" Marque chaque NOM comme étant en lecture seule ; les valeurs de ces NOMs "
+"ne peuvent plus\n"
+" être modifiées par des affectations ultérieures. Si VALEUR est founie, "
+"lui affecter la VALEUR avant le\n"
+" passage en lecture seule.\n"
+" \n"
+" Options :\n"
+" -a\tse référer à des variables étant des tableaux indexés\n"
+" -A\tse référer à des variables étant des tableaux associatifs\n"
+" -f\tse référer à des fonctions du shell\n"
+" -p\tafficher une liste des toutes les fonctions et variables en "
+"lecture seule\n"
+" \n"
+" Un argument « -- » désactive tout traitement postérieur d'options.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une options non valable ne soit "
+"données ou que NOM ne soit pas valable."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3711,9 +4152,16 @@ msgid ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
msgstr ""
+"Décale des paramètres de position.\n"
+" \n"
+" Renomme les paramètres de position $N+1,$N+2 ... à $1,$2 ... Si N n'est "
+"pas\n"
+" donné, il est supposé égal à 1.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins que N soit négatif ou supérieur à $#."
-#: builtins.c:1176 builtins.c:1191
-#, fuzzy
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3726,14 +4174,22 @@ msgid ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
msgstr ""
-"Lit et exécute les commandes depuis le fichier FILENAME puis se termine. Les "
-"chemins\n"
-" dans $PATH sont utilisés pour trouver le répertoire contenant FILENAME.\n"
+"Execute des commandes depuis un fichier dans le shell actuel.\n"
+" \n"
+" Lit et exécute des commandes depuis NOMFICHIER dans le shell actuel. "
+"Les\n"
+" éléments dans $PATH sont utilisés pour trouver le répertoire contenant "
+"NOMFICHIER.\n"
" Si des ARGUMENTS sont fournis, ils deviennent les paramètres de "
"position\n"
-" lorsque FILENAME est exécuté."
+" lorsque NOMFICHIER est exécuté.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée dans NOMFICHIER, ou le "
+"code\n"
+" d'échec si NOMFICHIER ne peut pas être lu."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3746,8 +4202,21 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Suspend l'exécution du shell.\n"
+" \n"
+" Suspend l'exécution de ce shell jusqu'à qu'il reçoive un signal "
+"SIGCONT.\n"
+" À moins que ce soit forcé, les shell de connexion ne peuvent pas être "
+"suspendus.\n"
+" \n"
+" Options :\n"
+" -f\tforce la suspension, même si le shell est un shell de connexion\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins que le contrôle de tâche ne soit pas "
+"activé ou qu'une erreur survienne."
-#: builtins.c:1223
+#: builtins.c:1231
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3755,7 +4224,10 @@ msgid ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3809,6 +4281,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3824,7 +4297,9 @@ msgid ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
msgstr ""
-"Se termine avec le code de retour 0 (vrai) ou 1 (faux) selon\n"
+"Évalue une expression conditionnelle.\n"
+" \n"
+" Se termine avec le code de retour 0 (vrai) ou 1 (faux) selon\n"
" le résultat de l'évaluation de EXPR. Les expressions peuvent être\n"
" unaires ou binaires. Les expressions unaires sont souvent utilisées\n"
" pour examiner l'état d'un fichier. Il existe aussi des opérateurs de\n"
@@ -3893,20 +4368,25 @@ msgstr ""
" Les opérateurs arithmétiques binaires renvoient « vrai » si ARG1 est "
"égal,\n"
" non-égal, inférieur, inférieur ou égal, supérieur, supérieur ou égal à "
-"ARG2."
+"ARG2. \n"
+" Code de sortie :\n"
+" Renvoie le code de succès si EXPR est vraie, le code d'échec si EXPR est "
+"fausse ou si\n"
+" un argument non valable est donné."
-#: builtins.c:1299
-#, fuzzy
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
" This is a synonym for the \"test\" builtin, but the last argument must\n"
" be a literal `]', to match the opening `['."
msgstr ""
-"Ceci est un synonyme de la primitive « test », mais le dernier argument\n"
+"Évalue une expression conditionnelle.\n"
+" \n"
+" Ceci est un synonyme de la primitive « test », mais le dernier argument\n"
" doit être le caractère « ] », pour fermer le « [ » correspondant."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3917,8 +4397,15 @@ msgid ""
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Affiche les temps des processus.\n"
+" \n"
+" Affiche le cumul des temps utilisateur et système pour le shell et\n"
+" tous ses processus fils.\n"
+" \n"
+" Code de retour :\n"
+" Toujours le code de succès."
-#: builtins.c:1320
+#: builtins.c:1332
#, fuzzy
msgid ""
"Trap signals and other events.\n"
@@ -3935,7 +4422,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3954,32 +4449,42 @@ msgid ""
" Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
msgstr ""
-"La commande ARG doit être lue et exécutée lorsque le shell reçoit le\n"
+"Intercepter des signaux et d'autres événements.\n"
+" \n"
+" Définit et active des gestionnaires à lancer lorsque le shell reçoit des "
+"signaux\n"
+" ou sous d'autres conditions.\n"
+" \n"
+" La commande ARG doit être lue et exécutée lorsque le shell reçoit le\n"
" signal SIGNAL_SPEC. Si ARG est absent (et qu'un unique SIGNAL_SPEC)\n"
" est fourni) ou égal à « - », tous les signaux spécifié sont remis\n"
" à leur valeur d'origine. Si ARG est une chaîne vide, tous les "
"SIGNAL_SPEC\n"
-" sont ignorés par le shell et les commandes qu'il appelle. Si "
-"SIGNAL_SPEC\n"
-" est EXIT (0), la commande ARG est exécutée à la sortie du shell. Si un\n"
-" SIGNAL_SPEC est DEBUG, ARG est exécuté après chaque commande simple. \n"
-" Si l'option « -p » est fournie, les commandes d'interception associées "
-"à\n"
-" chaque SIGNAL_SPEC sont affichées. Si aucun argument n'est fourni ou "
-"si \n"
-" « -p » est fourni seul, « trap » affiche la liste des commandes "
+" sont ignorés par le shell et les commandes qu'il appelle.\n"
+" \n"
+" Si SIGNAL_SPEC est EXIT (0), la commande ARG est exécutée à la sortie du "
+"shell. Si un\n"
+" SIGNAL_SPEC est DEBUG, ARG est exécuté après chaque commande simple.\n"
+" \n"
+" Si aucun argument n'est fourni, « trap » affiche la liste des commandes "
"associées\n"
-" à chaque signal. Chaque SIGNAL_SPEC est soit un nom de signal dans "
-"<signal.h>\n"
+" à chaque signal.\n"
+" \n"
+" Options :\n"
+" -l\taffiche la liste des noms de signaux et leur numéro correspondant\n"
+" -p\taffiche les commandes de « trap » associées à chaque SIGNAL_SPEC\n"
+" \n"
+" Chaque SIGNAL_SPEC est soit un nom de signal dans <signal.h>\n"
" ou un numéro de signal. Les noms de signaux sont insensibles à la casse "
"et\n"
-" le préfixe « SIG » est facultatif. « trap -l » affiche la liste des "
-"signaux\n"
-" et leur numéros correspondants. Remarquez qu'un signal peut être envoyé "
-"au\n"
-" shell avec « kill -signal $$ »."
+" le préfixe « SIG » est facultatif. Un signal peut être envoyé au\n"
+" shell avec « kill -signal $$ ».\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins que SIGSPEC ne soit pas valable ou "
+"qu'une option non valable ne soit donnée."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4008,9 +4513,39 @@ msgid ""
" Returns success if all of the NAMEs are found; fails if any are not "
"found."
msgstr ""
-
-#: builtins.c:1383
-#, fuzzy
+"Affiche des informations sur le type de commande.\n"
+" \n"
+" Pour chaque NOM, indique comment il serait interprêté s'il était\n"
+" utilisé comme un nom de commande.\n"
+" \n"
+" Options :\n"
+" -a\taffiche tous les emplacements contenant un exécutable nommé NOM;\n"
+" \tinclut les alias, les commandes intégrées et les fonctions si et "
+"seulement si\n"
+" \tl'option n'est pas « -p » n'est pas utilisée\n"
+" -f\tdésactive la recherche de fonctions du shell\n"
+" -P\tforce une recherche de CHEMIN pour chaque NOM, même si c'est un "
+"alias,\n"
+" \tune commande intégrée ou une fonction et renvoie le nom du fichier du "
+"disque\n"
+" \tqui serait exécuté\n"
+" -p\trenvoie soir le nom du fichier du disque qui serait exécuté,\n"
+" \tsoit rien si « type -t NOM » ne renvoyait pas « file ».\n"
+" -t\taffiche un mot unique parmi « alias », « keyword »,\n"
+" \t« function », « builtin », « file » or « », si NOM est respectivement un "
+"alias,\n"
+" \tun mot réservé du shell, une fonction du shell, une commande "
+"intégrée,\n"
+" \tun fichier du disque ou un nom inconnu\n"
+" \n"
+" Arguments :\n"
+" NOM\tNom de commande à interpréter.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès si tous les NOMs sont trouvés, le code d'échec "
+"si l'un d'entre eux n'est pas trouvé."
+
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4053,14 +4588,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"« ulimit » fournit un contrôle sur les ressources disponibles aux\n"
-" processus lancés depuis le shell, sur les systèmes qui permettent\n"
-" ce genre de contrôles. Si une option est donnée, elle est interprétée\n"
-" de la sorte :\n"
+"Modifie les limites de ressources du shell.\n"
+" \n"
+" Fournit un contrôle sur les ressources disponibles au shell et aux "
+"processus\n"
+" qu'il crée, sur les systèmes qui permettent un tel contrôle. \n"
" \n"
+" Options :\n"
" -S\tutiliser la limite de ressources « soft »\n"
" -H\tutiliser la limite de ressources « hard »\n"
" -a\ttoutes les limites actuelles sont présentées\n"
+" -b\tla taille du tampon de socket\n"
" -c\ttaille maximale des fichiers « core » créés\n"
" -d\ttaille maximale du segment de données d'un processus\n"
" -e\tla priorité maximale d'ordonnancement (« nice »)\n"
@@ -4086,13 +4624,18 @@ msgstr ""
"dure,\n"
" ou à une absence de limite. Sinon la valeur actuelle de la limite est "
"affichée\n"
-" Si aucune option n'est donnée, « -f » est supposée. Les valeurs sont\n"
-" des multiples de 1024 octets, sauf pour « -t » qui prend des secondes,\n"
-" « -p » qui prend un multiple de 512 octets et « -u » qui prend un "
-"nombre\n"
-" sans unité."
+" Si aucune option n'est donnée, « -f » est supposée.\n"
+" \n"
+" Les valeurs sont des multiples de 1024 octets, sauf pour « -t » qui prend "
+"des secondes,\n"
+" « -p » qui prend un multiple de 512 octets et « -u » qui prend un nombre\n"
+" de processus sans unité.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie ou qu'une erreur ne survienne."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4109,8 +4652,28 @@ msgid ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
+"Affiche ou définit le masque de mode de fichier.\n"
+" \n"
+" Définit le masque de création de fichier comme étant MODE. Si MODE est "
+"omis, affiche\n"
+" la valeur courante du MASQUE.\n"
+" \n"
+" Si MODE commence par un chiffre, il est interprété comme un nombre "
+"octal ;\n"
+" sinon comme une chaîne de symboles de mode comme ceux acceptés par chmod"
+"(1).\n"
+" \n"
+" Options :\n"
+" -p\tsi MODE est omis, afficher sous une forme réutilisable comme une "
+"entrée\n"
+" -S\tafficher sous forme symbolique, sinon la sortie octale est "
+"utilisée\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins que MODE ne soit pas valable ou qu'une "
+"option non valable ne soit donnée."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4126,9 +4689,23 @@ msgid ""
"is\n"
" given."
msgstr ""
+"Attend la fin d'une tâche et renvoie le code de retour.\n"
+" \n"
+" Attend que le processus identifié par ID, qui peut être un ID de "
+"processus ou\n"
+" une spécification de tâche et renvoie son code de retour. Si ID n'est "
+"pas\n"
+" donné, la commande attend tous les processus actifs en cours et le code "
+"de retour\n"
+" est zéro. Si ID est une spécification de tâche, la commande attend tous "
+"les processus\n"
+" dans le pipeline de la tâche.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le même code que celui d'ID, ou le code d'échec si ID n'est pas "
+"valable ou en cas d'option non valable."
-#: builtins.c:1466
-#, fuzzy
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4141,14 +4718,18 @@ msgid ""
"is\n"
" given."
msgstr ""
-"Attend le processus spécifié et donne son code de retour. Si N n'est\n"
+"Attend la fin d'un processus et renvoie le code de sortie.\n"
+" \n"
+" Attend le processus spécifié et donne son code de retour. Si PID n'est\n"
" pas donné, tous les processus fils actuellement actifs sont attendus\n"
-" et le code de retour est zéro. N peut être un n° de processus ou un\n"
-" spécificateur de tâche. Si c'est un spécificateur de tâche, tous les\n"
-" processus présents dans le tube de la tâche sont attendus."
+" et le code de retour est zéro. PID doit être un ID de processus.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de ID, l'échec si ID n'est pas valable ou si une option "
+"non valable\n"
+" est donnée."
-#: builtins.c:1481
-#, fuzzy
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4160,14 +4741,18 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"La boucle « for » exécute une suite de commandes pour chaque membre d'une\n"
-" liste d'éléments. Si « in WORDS ...; » n'est pas fourni, « in \"$@\" » "
-"est\n"
-" utilisé. Pour chaque élément dans WORDS, NAME est défini à cet élément,\n"
-" et les COMMANDS sont exécutées."
+"Exécute des commandes pour chaque membre d'une liste.\n"
+" \n"
+" La boucle « for » exécute une suite de commandes pour chaque membre "
+"d'une\n"
+" liste d'éléments. Si « in MOTS ...; » n'est pas fourni, « in \"$@\" » est\n"
+" utilisé. Pour chaque élément dans MOTS, NOM est défini à cet élément,\n"
+" et les COMMANDES sont exécutées.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1495
-#, fuzzy
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4183,7 +4768,9 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Équivalent à\n"
+"Boucle « for » arithmétique.\n"
+" \n"
+" Équivalent à\n"
" \t(( EXP1 ))\n"
" \twhile (( EXP2 )); do\n"
" \t\tCOMMANDS\n"
@@ -4191,10 +4778,12 @@ msgstr ""
" \tdone\n"
" EXP1, EXP2, and EXP3 sont des expressions arithmétiques. Si une "
"expression\n"
-" omise, elle se comporte comme si elle s'évaluait à 1."
+" omise, elle se comporte comme si elle s'évaluait à 1.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1513
-#, fuzzy
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4213,7 +4802,9 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Les mots WORDS subissent une expansion et génèrent une liste de mots.\n"
+"Sélectionne des mots d'une liste et exécute des commandes.\n"
+" \n"
+" Les mots WORDS subissent une expansion et génèrent une liste de mots.\n"
" L'ensemble de ces mots est affiché dans la sortie d'erreur, chacun\n"
" étant précédé d'un nombre. Si « in WORDS » n'est pas fourni, \n"
" « in \"$@\" » est utilisé. L'invite PS3 est ensuite affichée et une\n"
@@ -4223,10 +4814,12 @@ msgstr ""
" est lu, la commande se termine. Toute autre valeur lue a pour effet\n"
" de vider NAME. La ligne lue est conservée dans la variable REPLY.\n"
" Les COMMANDS sont exécutées après chaque sélection jusqu'à ce qu'une\n"
-" commande « break » soit exécutée."
+" commande « break » soit exécutée.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1534
-#, fuzzy
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4241,14 +4834,23 @@ msgid ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
msgstr ""
-"Exécute PIPELINE et affiche un résumé du temps réel, du temps processeur\n"
+"Signale le temps passé pendant l'exécution d'un tube de commandes.\n"
+" \n"
+" Exécute PIPELINE et affiche un résumé du temps réel, du temps "
+"processeur\n"
" utilisateur, et du temps processeur système passés à exécuter PIPELINE\n"
-" lorsque celui-ci se termine. Le code de retour est celui de PIPELINE.\n"
-" L'option « -p » affiche le résumé dans un format légèrement différent.\n"
-" Elle utilise la valeur de la variable TIMEFORMAT comme format de sortie."
+" lorsque celui-ci se termine.\n"
+" \n"
+" Options :\n"
+" -p\taffiche le résumé dans le format portable Posix.\n"
+" \n"
+" La valeur de la variable TIMEFORMAT est utilisée comme format de "
+"sortie.\n"
+" \n"
+" Code de sortie :\n"
+" Le code de retour est celui du PIPELINE."
-#: builtins.c:1551
-#, fuzzy
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4258,12 +4860,17 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Exécute de manière sélective les commandes COMMANDS basées sur le\n"
-" motif PATTERN de correspondance des mots WORDS. Le caractère\n"
-" « | » est utilisé pour séparer les différents motifs."
+"Exécute des commandes selon une correspondance de motif.\n"
+" \n"
+" Exécute de manière sélective les COMMANDES selon la correspondance du "
+"MOT\n"
+" au MOTIF. Le caractère « | » est utilisé pour séparer les différents "
+"motifs.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1563
-#, fuzzy
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4283,21 +4890,25 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"La liste « if COMMANDS » est exécutée. Si elle se termine avec un code de "
-"zéro,\n"
-" alors la liste « then COMMANDS » est exécutée. Sinon, chaque liste\n"
-" « elif COMMANDS » est exécutée à son tour et si son code de retour est "
+"Exécute des commandes selon une condition.\n"
+" \n"
+" La liste « if COMMANDES » est exécutée. Si elle se termine avec un code "
+"de zéro,\n"
+" alors la liste « then COMMANDES » est exécutée. Sinon, chaque liste\n"
+" « elif COMMANDES » est exécutée à son tour et si son code de retour est "
"zéro,\n"
-" la liste « then COMMANDS » correspondante est exécutée et la commande « "
+" la liste « then COMMANDES » correspondante est exécutée et la commande « "
"if »\n"
-" se termine. Sinon, la list « else COMMANDS » est exécutée si elle "
+" se termine. Sinon, la list « else COMMANDES » est exécutée si elle "
"existe.\n"
" Le code de retour de l'ensemble est celui de la dernière commande "
"exécutée\n"
-" ou zéro si aucune condition n'était vraie. "
+" ou zéro si aucune condition n'était vraie.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1580
-#, fuzzy
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4307,13 +4918,17 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Effectue une expansion et exécute les commandes « COMMANDS » aussi "
-"longtemps\n"
-" que la commande finale parmi celles de « while » se termine avec un\n"
-" code de retour de zéro."
+"Exécute des commandes aussi longtemps qu'elle réussissent.\n"
+" \n"
+" Effectue une expansion et exécute les COMMANDES aussi longtemps\n"
+" que la commande finale parmi celles situées dans « while » se termine "
+"avec un\n"
+" code de retour de zéro.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1592
-#, fuzzy
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4323,12 +4938,17 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Effectue une expansion et exécute les commandes « COMMANDS » aussi "
+"Exécute des commandes aussi longtemps qu'un test échoue.\n"
+" \n"
+" Effectue une expansion et exécute les commandes « COMMANDES » aussi "
"longtemps\n"
" que les commandes de « until » se terminent avec un code de retour\n"
-" différent de zéro."
+" différent de zéro.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4340,8 +4960,19 @@ msgid ""
" Exit Status:\n"
" Returns the exit status of COMMAND."
msgstr ""
+"Crée un coprocessus nommé NOM.\n"
+" \n"
+" Exécute la COMMANDE de manière asynchrone, en connectant la sortie et "
+"l'entrée standard\n"
+" de la commande par un tube aux decripteurs de fichier affectés aux "
+"indices 0 et 1\n"
+" d'une variable tableau NOM dans le shell en cours d'exécution.\n"
+" Le NOM par défaut est « COPROC ».\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le même code de retour que la COMMANDE."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4354,9 +4985,20 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is readonly."
msgstr ""
+"Définit une fonction du shell.\n"
+" \n"
+" Crée une fonction du shell nommée NOM. Lorsqu'appelée comme une simple "
+"commande,\n"
+" NOM lance la COMMANDE dans le contexte du shell qui l'appelle. Lorsque "
+"NOM est appelé,\n"
+" les arguments sont transmis à la fonction comme $1...$n, et le nom de la "
+"fonction\n"
+" est $FUNCNAME.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins que NOM ne soit en lecture seule."
-#: builtins.c:1632
-#, fuzzy
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4366,11 +5008,15 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
-"Lance un ensemble de commandes d'un groupe. Ceci est une façon de\n"
-" rediriger tout un ensemble de commandes."
+"Groupe plusieurs commandes en une seule.\n"
+" \n"
+" Lance un ensemble de commandes d'un groupe. Ceci est une façon de\n"
+" rediriger tout un ensemble de commandes.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la dernière commande exécutée."
-#: builtins.c:1644
-#, fuzzy
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4383,16 +5029,20 @@ msgid ""
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
-"Équivalent à l'argument JOB_SPEC de la commande « fg ». Reprend l'exécution\n"
+"Reprend une tâche en arrière plan.\n"
+" \n"
+" Équivalent à l'argument JOB_SPEC de la commande « fg ». Reprend "
+"l'exécution\n"
" d'une tâche stoppée ou en tâche de fond. JOB_SPEC peut spécifier soit\n"
-" un nom soit un numéro de tâche. Faire suivre JOB_SPEC de « & » permet "
-"de\n"
+" un nom soit un numéro de tâche. Faire suivre JOB_SPEC de « & » permet de\n"
" placer la tâche en arrière plan, comme si la spécification de tâche "
"avait\n"
-" été fournie comme argument de « bg »."
+" été fournie comme argument de « bg ».\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de la commande reprise."
-#: builtins.c:1659
-#, fuzzy
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4402,11 +5052,15 @@ msgid ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-"L'EXPRESSION est évaluée selon les règles de l'évaluation arithmétique.\n"
-" C'est équivalent à « let EXPRESSION »."
+"Évalue une expression arithmétique.\n"
+" \n"
+" L'EXPRESSION est évaluée selon les règles de l'évaluation arithmétique.\n"
+" C'est équivalent à « let EXPRESSION ».\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie 1 si EXPRESSION est évaluée à 0, sinon renvoie 0."
-#: builtins.c:1671
-#, fuzzy
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4433,7 +5087,9 @@ msgid ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-"Renvoie un code de retour de 0 ou 1 dépendant de l'évaluation de "
+"Exécute une commande conditionnelle.\n"
+" \n"
+" Renvoie un code de retour de 0 ou 1 dépendant de l'évaluation de "
"l'EXPRESSION\n"
" conditionnelle. Les expressions sont formées de la même façon que pour "
"la\n"
@@ -4445,14 +5101,20 @@ msgstr ""
" \tEXPR1 && EXPR2\tVrai si EXPR1 et EXPR2 sont vraies, faux sinon\n"
" \tEXPR1 || EXPR2\tVrai si EXPR1 ou EXPR2 est vraie, faux sinon\n"
" \n"
-" Lorsque les opérateurs « == » et « != » sont utilisés, la chaîne à\n"
-" droite de l'opérateur est utilisée comme motif, et une mise en "
-"correspondance\n"
-" est effectuée. Les opérateurs « && » et « || » n'évaluent pas EXPR2 si\n"
-" EXPR1 est suffisant pour déterminer la valeur de l'expression."
+" Lorsque les opérateurs « == » et « != » sont utilisés, la chaîne à droite "
+"de l'opérateur\n"
+" est utilisée comme motif, et une mise en correspondance est effectuée.\n"
+" Lorsque l'opérateur « =~ » est utilisé, la chaîne à droite de "
+"l'opérateur\n"
+" est mise en correspondance comme une expression rationnelle.\n"
+" \n"
+" Les opérateurs « && » et « || » n'évaluent pas EXPR2 si\n"
+" EXPR1 est suffisant pour déterminer la valeur de l'expression.\n"
+" \n"
+" Code de sortie :\n"
+" 0 ou 1 selon la valeur de l'EXPRESSION."
-#: builtins.c:1697
-#, fuzzy
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4505,7 +5167,9 @@ msgid ""
" 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\tNuméro de version de ce Bash.\n"
+"Nom et usage de variable shell courantes.\n"
+" \n"
+" BASH_VERSION\tNuméro de version de ce Bash.\n"
" CDPATH\tUne liste de répertoires, séparés par un deux-points, utilisés\n"
" \t\tpar « cd » pour la recherche de répertoires.\n"
" GLOBIGNORE\tUne liste de motifs séparés par un deux-points, décrivant "
@@ -4520,8 +5184,8 @@ msgstr ""
" HOSTNAME\tLe nom de la machine actuelle.\n"
" HOSTTYPE\tLe type de processeur sur laquelle cette version de Bash "
"fonctionne.\n"
-" IGNOREEOF\tContrôle l'action du shell à la réception d'un caractère « "
-"EOF »\n"
+" IGNOREEOF\tContrôle l'action du shell à la réception d'un caractère « EOF "
+"»\n"
" \t\tcomme seule entrée. Si défini, sa valeur est le nombre de "
"caractères\n"
" \t\t« EOF » qui peuvent être rencontrés à la suite sur une ligne vide\n"
@@ -4574,8 +5238,7 @@ msgstr ""
" \t\tdécider quelles commandes doivent être conservées dans la liste "
"d'historique.\n"
-#: builtins.c:1754
-#, fuzzy
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4605,29 +5268,36 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Ajoute un répertoire en haut de la pile des répertoires, ou permute\n"
+"Ajoute un répertoire à la pile.\n"
+" \n"
+" Ajoute un répertoire en haut de la pile des répertoires, ou permute\n"
" la pile, de façon que le répertoire en haut de la pile devienne\n"
" le nouveau répertoire de travail. S'il n'y a pas d'argument, les deux\n"
" répertoires en haut de la pile sont échangés.\n"
" \n"
-" +N\tPermute la pile de façon que le Nième répertoire se place en haut,\n"
-" \ten comptant de zéro depuis la gauche de la liste fournie par « dirs "
-"».\n"
+" Options :\n"
+" -n\tne pas changer de répertoire de travail lorsque des répertoires\n"
+" \tsont ajoutés à la pile, de façon que seule la pile soit manipulée\n"
" \n"
-" -N\tPermute la pile de façon que le Nième répertoire se place en haut,\n"
-" \ten comptant de zéro depuis la droite de la liste fournie par « dirs "
-"».\n"
+" Arguments :\n"
+" +N\tPermuter la pile de façon que le Nième répertoire se place en haut,\n"
+" \ten comptant de zéro depuis la gauche de la liste fournie par « dirs ».\n"
" \n"
-" -n\tne change pas de répertoire de travail lorsque des répertoires\n"
-" \tsont ajoutés à la pile, de façon que seule la pile soit manipulée\n"
+" -N\tPermuter la pile de façon que le Nième répertoire se place en haut,\n"
+" \ten comptant de zéro depuis la droite de la liste fournie par « dirs ».\n"
" \n"
-" dir\tajoute le répertoire DIR en haut de la pile, et en fait le nouveau\n"
+" dir\tajouter le répertoire DIR en haut de la pile, et en faire le "
+"nouveau\n"
" \trépertoire de travail.\n"
" \n"
-" Vous pouvez voir la pile des répertoires avec la commande « dirs »."
+" Vous pouvez voir la pile des répertoires avec la commande « dirs ».\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'un argument non valable ne soit "
+"fourni\n"
+" ou que le changement de répertoire n'échoue."
-#: builtins.c:1788
-#, fuzzy
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -4653,25 +5323,31 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
-"Enlève des éléments de la pile des répertoires. S'il n'y a pas\n"
+"Enlève des répertoires de la pile.\n"
+" \n"
+" Enlève des éléments de la pile des répertoires. S'il n'y a pas\n"
" d'argument, le répertoire en haut de la pile est enlevé,\n"
" et le nouveau sommet de la pile devient le répertoire de travail.\n"
" \n"
+" Options :\n"
+" -n\tne change pas de répertoire de travail lorsque des répertoires\n"
+" \tsont enlevés de la pile, de façon que seule la pile soit manipulée\n"
+" \n"
+" Arguments :\n"
" +N\tEnlève le Nième répertoire, en comptant de zéro depuis la gauche\n"
" \tde la liste fournie par « dirs ». Par exemple : « popd +0 »\n"
-" \n"
-"enlève le premier répertoire, « popd +1 » le deuxième. \n"
+" \tenlève le premier répertoire, « popd +1 » le deuxième. \n"
" -N\tEnlève le Nième répertoire, en comptant de zéro depuis la droite\n"
" \tde la liste fournie par « dirs ». Par exemple : « popd -0 »\n"
+" \tenlève le dernier répertoire, « popd -1 » l'avant-dernier.\n"
+" Vous pouvez voir la pile des répertoires avec la commande « dirs ».\n"
" \n"
-"enlève le dernier répertoire, « popd -1 » l'avant-dernier. \n"
-" -n\tne change pas de répertoire de travail lorsque des répertoires\n"
-" \tsont enlevés de la pile, de façon que seule la pile soit manipulée\n"
-" \n"
-" Vous pouvez voir la pile des répertoires avec la commande « dirs »."
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'un argument non valable ne soit "
+"donné\n"
+" ou que le changement de répertoire n'échoue."
-#: builtins.c:1818
-#, fuzzy
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -4699,33 +5375,36 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Affiche la liste des répertoires actuellement mémorisés. Les répertoires\n"
+"Affiche la pile de répertoire.\n"
+" \n"
+" Affiche la liste des répertoires actuellement mémorisés. Les "
+"répertoires\n"
" sont insérés dans la liste avec la commande « pushd ». Vous pouvez "
"remonter\n"
" dans la liste en enlevant des éléments avec la commande « popd ».\n"
" \n"
-" L'option « -l » spécifie que « dirs » ne doit pas afficher des versions\n"
-" raccourcies des répertoires relativement à votre répertoire personnel.\n"
-" Cela signifie que « ~/bin » devrait être affiché comme « /homes/bfox/bin "
-"».\n"
-" L'option « -v » permet à « dirs » d'afficher la pile des répertoires "
-"avec\n"
-" un élément par ligne, en commençant la ligne par la position dans la "
-"pile.\n"
-" L'option « -p » fait la même chose mais le numéro de position n'est pas\n"
-" affiché. L'option « -c » efface la pile des répertoires en enlevant "
-"tous\n"
-" les éléments.\n"
-" \n"
+" Options:\n"
+" -c\teffacer la pile des répertoires en effaçant tous les éléments\n"
+" -l\tne pas afficher la version raccourcie (avec ~) des répertoires\n"
+" \trelativement à votre dossier personnel\n"
+" -p\tafficher la pile des répertoires avec un élément par ligne\n"
+" -v\tafficher la pile des répertoires avec un élément par ligne,\n"
+" \ten préfixant avec sa position dans la pile\n"
+" \n"
+" Arguments :\n"
" +N\t affiche le Nième élément en comptant de zéro depuis la gauche de "
"la\n"
" liste affichée par « dirs » lorsque celle-ci est appelée sans option.\n"
" \n"
" -N\t affiche le Nième élément en comptant de zéro depuis la droite de "
"la\n"
-" liste affichée par « dirs » lorsque celle-ci est appelée sans option."
+" liste affichée par « dirs » lorsque celle-ci est appelée sans option.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie ou qu'une erreur ne survienne."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -4745,8 +5424,28 @@ msgid ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
msgstr ""
-
-#: builtins.c:1868
+"Active ou désactive des options du shell.\n"
+" \n"
+" Change la valeur de chaque option du shell NOMOPT. S'il n'y a pas "
+"d'argument à l'option\n"
+" la commande liste toutes les options du shell en indiquant si elles sont "
+"actives\n"
+" ou non.\n"
+" \n"
+" Options :\n"
+" -o\trestreint les NOMOPT à ceux définis pour être utilisés avec « set -"
+"o »\n"
+" -p\taffiche chaque option du shell en indiquant son état\n"
+" -q\tsupprime l'affichage\n"
+" -s\tactive (set) chaque NOMOPT\n"
+" -u\tdésactive (unset) chaque NOMOPT\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès si NOMOPT est active ; échec si une option non "
+"valable\n"
+" est donnée ou si NOMOPT est inactive."
+
+#: builtins.c:1884
#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -4770,33 +5469,45 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
"assignment\n"
" error occurs."
msgstr ""
-"« printf » formate et affiche les ARGUMENTS en contrôlant le FORMAT. Le "
-"FORMAT\n"
-" est une chaîne de caractères qui contient trois types d'objets : des "
-"caractères\n"
+"Formatte et affiche des ARGUMENTS en contrôlant le FORMAT.\n"
+" \n"
+" Options :\n"
+" -v var\taffecte la sortie à la vairable VAR du shell plutôt que de "
+"l'afficher\n"
+" \t\tsur la sortie standard\n"
+" \n"
+" Le FORMAT est une chaîne de caractères qui contient trois types "
+"d'objets : des caractères\n"
" normaux qui sont simplement copiés vers la sortie standard, des "
"séquences d'échappement\n"
" qui sont converties et copiées vers la sortie standard et des "
"spécifications de\n"
-" format, chacun entraînant l'affichage de l'argument suivant. En plus des "
-"formats\n"
-" standards de « printf(1) » , « %b » permet d'effectuer l'expansion des "
-"séquences\n"
-" d'échappement à contre-oblique dans l'argument correspondant et « %q » "
-"permet de\n"
-" protéger les arguments par guillemets de façon qu'ils puissent être "
+" format, chacun entraînant l'affichage de l'argument suivant.\n"
+" \n"
+" En plus des formats standards décrits dans printf(1) et printf(3), « "
+"printf » interprète :\n"
+" \n"
+" %b\tdéveloppe les séquences d'échappement à contre-oblique dans "
+"l'argument correspondant\n"
+" %q\tprotège les arguments par guillemets de façon qu'ils puissent être "
"réutilisés\n"
-" comme entrée du shell. Si l'option « -v » est fournie, la sortie est "
-"placée dans\n"
-" la variable VAR plutôt que d'être envoyée vers la sortie standard."
+" comme entrée du shell.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"donnée ou qu'une\n"
+" erreur d'écriture ou d'affectation ne survienne."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4822,9 +5533,37 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-
-#: builtins.c:1923
-#, fuzzy
+"Spécifie la façon dont Readline complète les arguments.\n"
+" \n"
+" Pour chaque NOM, la commande spécifie la façon dont les arguments son "
+"complétés\n"
+" S'il n'y a pas d'option, le réglage actuel est affiché d'une manièré "
+"réutilisable comme\n"
+" une entrée.\n"
+" \n"
+" Options :\n"
+" -p\taffiche le réglage d'auto-complètement actuel dans un format "
+"réutilisable\n"
+" -r\tretire un réglage d'auto-complètement à chaque NOM ou, si aucun "
+"NOM\n"
+" \tn'est fourni, retire tous les réglages\n"
+" -D\tapplique les auto-complètements et actions comme valeurs par "
+"défaut aux commandes\n"
+" \tne possédant aucun auto-complètement spécifique\n"
+" -E\tapplique les auto-complètements et actions aux commandes vides (\n"
+" \tauto-complètement tenté sur une ligne vide)\n"
+" \n"
+" Lorsqu'un auto-complètement est tenté, les actions sont appliquées dans "
+"l'ordre\n"
+" dans lequel les options en majuscule ci-dessus sont listées. L'option « -"
+"D » est prioritaire\n"
+" sur « -E ».\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie ou qu'une erreur ne survienne."
+
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4836,21 +5575,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Affiche les possibilités de complètement dépendant des options. Ceci est "
-"destiné\n"
-" à être utilisé depuis une fonction de shell générant des complètements "
-"possibles.\n"
-" Si le mot « WORD » optionnel est fourni, des correspondances avec « WORD "
-"»\n"
-" sont générées."
+"Affiche les possibilités de complètement dépendant des options.\n"
+" \n"
+" Ceci est destiné à être utilisé depuis une fonction de shell générant\n"
+" des auto-complètements possibles. Si le MOT optionnel est fourni,\n"
+" des correspondances avec « WORD » sont générées.\n"
+" \n"
+" Code de sortie :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie ou qu'une erreur ne survienne."
-#: builtins.c:1938
+#: builtins.c:1956
+#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4874,8 +5616,43 @@ msgid ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
-
-#: builtins.c:1968
+"Modifie ou affiche les options d'auto-complètement.\n"
+" \n"
+" Modifie les options d'auto-complètement pour chaque NOM ou, si aucun NOM "
+"n'est fourni,\n"
+" l'auto-complètement actuellement exécuté. si aucune OPTION n'est "
+"données, affiche\n"
+" les options d'auto-complètement de chaque NOM ou le réglage actuel "
+"d'auto-complètement.\n"
+" \n"
+" Options :\n"
+" \t-o option\tDéfinir l'option d'auto-complètement OPTION pour chaque "
+"NOM\n"
+" \t-D\t\tChanger les options pour l'auto-complètement de commande par "
+"défaut\n"
+" \t-E\t\tChanger les options pour l'auto-complètement de commande vide\n"
+" \n"
+" Utiliser « +o » au lieu de « -o » désactive l'option spécifiée.\n"
+" \n"
+" Arguments :\n"
+" \n"
+" Chaque NOM correspond à une commande pour laquelle un réglage d'auto-"
+"complètement\n"
+" doit déjà avoir été défini grâce à la commande intégrée « complete ». Si "
+"aucun NOM\n"
+" n'est fourni, « compopt » doit être appelée par une fonction générant "
+"actuellement\n"
+" des auto-complètements ; ainsi les options de ce générateur d'auto-"
+"complètement en cours d'exécution\n"
+" seront modifiées.\n"
+" \n"
+" Code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"fournie\n"
+" ou que NOM n'ait aucun réglage d'auto-complètement."
+
+#: builtins.c:1986
+#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4903,7 +5680,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4914,23 +5692,77 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
+"Lit des lignes depuis l'entrée standard vers une variable tableau indexé.\n"
+" \n"
+" Lit des lignes depuis l'entrée standard vers la variable tableau indexé "
+"TABLEAU ou\n"
+" depuis le descripteur de fichier FD si l'option « -u » est utilisée. La "
+"variable MAPFILE\n"
+" est le TABLEAU par défaut.\n"
+" \n"
+" Options :\n"
+" -n nombre\tCopie au maximum NOMBRE lignes. Si NOMBRE est 0, toutes "
+"les lignes sont copiées.\n"
+" -O origine\tCommence l'affectation au TABLEAU à l'indice ORIGINE. "
+"L'indice par défaut est 0.\n"
+" -s nombre\tSaute les NOMBRE premères lignes lues.\n"
+" -t\t\tRetire les retours à la ligne de chaque ligne lue.\n"
+" -u fd\t\tLit les lignes depuis le descripteur de fichier FD au lieu de "
+"l'entrée standard.\n"
+" -C callback\tÉvalue le CALLBACK à chaque fois que QUANTUM lignes sont "
+"lues.\n"
+" -c quantum\tIndique le nombre de lignes lues entre chaque appel au "
+"CALLBACK.\n"
+" \n"
+" Arguments :\n"
+" TABLEAU\t\tNom de la variable tableau à utiliser pour les données.\n"
+" \n"
+" Si l'option « -C » est fournie sans option « -c », le quantum par défaut "
+"est 5000. Lorsque\n"
+" CALLBACK est évalué, l'indice du prochain élément de tableau qui sera "
+"affecté\n"
+" lui est transmis comme argument additionnel.\n"
+" \n"
+" Si la commande « mapfile » n'est pas fournie avec une origine explicite, "
+"le tableau est vidé\n"
+" avant affectation.\n"
+" \n"
+" code de retour :\n"
+" Renvoie le code de succès à moins qu'une option non valable ne soit "
+"donnée ou que\n"
+" le TABLEAU soit en lecture seule ou ne soit pas un tableau indexé."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
" A synonym for `mapfile'."
msgstr ""
+"Lit des lignes depuis un fichier vers une variable tableau.\n"
+" \n"
+" Synonyme de « mapfile »."
-#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr "xrealloc : impossible de réallouer %lu octets (%lu octets alloués)"
-
-#~ msgid "xrealloc: cannot allocate %lu bytes"
-#~ msgstr "xrealloc : impossible d'allouer %lu octets"
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". Avec EXPR, renvoie\n"
+#~ " "
-#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
#~ msgstr ""
-#~ "xrealloc : %s:%d : impossible de réallouer %lu octets (%lu octets alloués)"
+#~ "; ces informations supplémentaires peuvent être utilisées pour\n"
+#~ " fournir une trace d'appels\n"
+#~ " \n"
+#~ " La valeur de EXPR indique le nombre de cadres d'appels duquel il faut "
+#~ "revenir en arrière\n"
+#~ " avant le cadre actuel ; le cadre supérieur est le cadre 0."
#~ msgid " "
#~ msgstr " "
@@ -4984,8 +5816,8 @@ msgstr ""
#~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
#~ msgstr ""
-#~ "le répertoire « ~/bin » pourra être affiché « /homes/bfox/bin ». L'option "
-#~ "« -v »"
+#~ "le répertoire « ~/bin » pourra être affiché « /homes/bfox/bin ». L'option « -"
+#~ "v »"
#~ msgid "causes `dirs' to print the directory stack with one entry per line,"
#~ msgstr "demande à « dirs » d'afficher un répertoire de la pile par ligne,"
@@ -4993,8 +5825,8 @@ msgstr ""
#~ msgid ""
#~ "prepending the directory name with its position in the stack. The -p"
#~ msgstr ""
-#~ "en le précédant de sa position dans la pile. L'option « -p » fait la "
-#~ "même chose"
+#~ "en le précédant de sa position dans la pile. L'option « -p » fait la même "
+#~ "chose"
#~ msgid "flag does the same thing, but the stack position is not prepended."
#~ msgstr "sans afficher le numéro d'emplacement dans la pile."
@@ -5002,8 +5834,7 @@ msgstr ""
#~ msgid ""
#~ "The -c flag clears the directory stack by deleting all of the elements."
#~ msgstr ""
-#~ "L'option « -c » vide la pile des répertoires en retirant tous ses "
-#~ "éléments."
+#~ "L'option « -c » vide la pile des répertoires en retirant tous ses éléments."
#~ msgid ""
#~ "+N displays the Nth entry counting from the left of the list shown by"
@@ -5063,8 +5894,7 @@ msgstr ""
#~ msgid "dir adds DIR to the directory stack at the top, making it the"
#~ msgstr ""
-#~ "dir ajoute « DIR » au dessus de la pile des répertoires, en faisant de "
-#~ "lui"
+#~ "dir ajoute « DIR » au dessus de la pile des répertoires, en faisant de lui"
#~ msgid " new current working directory."
#~ msgstr " le nouveau répertoire courant."
@@ -5128,6 +5958,16 @@ msgstr ""
#~ msgid "malloc: watch alert: %p %s "
#~ msgstr "malloc : alerte de « watch » : %p %s "
+#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgstr "xrealloc : impossible de réallouer %lu octets (%lu octets alloués)"
+
+#~ msgid "xrealloc: cannot allocate %lu bytes"
+#~ msgstr "xrealloc : impossible d'allouer %lu octets"
+
+#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgstr ""
+#~ "xrealloc : %s:%d : impossible de réallouer %lu octets (%lu octets alloués)"
+
#~ msgid ""
#~ "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,\n"
#~ " break N levels."
@@ -5173,16 +6013,75 @@ msgstr ""
#~ "shell. Si vous\n"
#~ " avez défini une fonction de shell appelée « ls » et que vous voulez "
#~ "appeler\n"
-#~ " la commande « ls », vous pouvez faire « command ls ». Si l'option « -"
-#~ "p » est\n"
+#~ " la commande « ls », vous pouvez faire « command ls ». Si l'option « -p "
+#~ "» est\n"
#~ " donnée, une valeur par défaut est utilisée pour le PATH garantissant "
#~ "que tous\n"
-#~ " les utilitaires standards seront trouvés. Si l'option « -V » ou « -v "
-#~ "» est\n"
+#~ " les utilitaires standards seront trouvés. Si l'option « -V » ou « -v » "
+#~ "est\n"
#~ " donnée, une description de la commande s'affiche. L'option « -V » "
#~ "fournit plus\n"
#~ " d'informations."
+#~ 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 ""
+#~ "Déclare des variables ou ajoute des attributs aux variables. Si aucun "
+#~ "nom\n"
+#~ " n'est donné, affiche plutôt les valeurs des variables. L'option « -p "
+#~ "»\n"
+#~ " permet d'afficher les attributs et les valeurs de chaque NAME.\n"
+#~ " \n"
+#~ " Les options sont :\n"
+#~ " \n"
+#~ " -a\tpour faire des tableaux de NAME (si pris en charge)\n"
+#~ " -f\tpour choisir uniquement parmi les noms de fonctions\n"
+#~ " -F\tpour afficher les noms de fonctions (et les numéros de ligne et "
+#~ "le\n"
+#~ " \tfichier source si le mode de débogage est activé\n"
+#~ " -i\tpour que les NAME aient l'attribut « integer »\n"
+#~ " -r\tpour que les NAME soient en lecture seule\n"
+#~ " -t\tpour que les NAME aient l'attribut « trace »\n"
+#~ " -x\tpour faire un export des NAME\n"
+#~ " \n"
+#~ " L'évaluation arithmétique des variables ayant l'attribut « integer » "
+#~ "est\n"
+#~ " effectuée au moment de l'affectation (voir « let »).\n"
+#~ " \n"
+#~ " Lors de l'affichage des valeurs de variables, -f affiche le nom de la "
+#~ "fonction\n"
+#~ " et sa définition. L'option -F permet de n'afficher que le nom.\n"
+#~ " \n"
+#~ " Un attribut peut être désactivé en utilisant « + » au lieu de « - ». "
+#~ "Dans une\n"
+#~ " fonction, ceci a pour effet de rendre les NAME locaux, comme avec la "
+#~ "commande «local »."
+
#~ msgid "Obsolete. See `declare'."
#~ msgstr "Obsolète. Consulter « declare »."
@@ -5230,12 +6129,12 @@ msgstr ""
#~ "chargement\n"
#~ " dynamique, l'option « -f » peut être utilisée pour charger de "
#~ "nouvelles primitives\n"
-#~ " depuis l'objet partagé FILENAME. L'option « -d » efface une "
-#~ "primitive précédemment\n"
+#~ " depuis l'objet partagé FILENAME. L'option « -d » efface une primitive "
+#~ "précédemment\n"
#~ " chargée avec « -f ». Si aucun nom (n'étant pas une option) n'est "
#~ "donné, ou si l'option\n"
-#~ " « -p » est spécifiée, une liste de primitive est affichée. L'option "
-#~ "« -a » permet d'afficher\n"
+#~ " « -p » est spécifiée, une liste de primitive est affichée. L'option « -"
+#~ "a » permet d'afficher\n"
#~ " toutes les primitives en précisant si elles sont activées ou non. "
#~ "L'option « -s » restreint\n"
#~ " la sortie aux primitives « special » POSIX.2. L'option « -n » affiche "
@@ -5296,10 +6195,10 @@ msgstr ""
#~ "complet\n"
#~ " pour NAME, et aucune recherche n'est effectuée. L'option « -r » "
#~ "demande au shell\n"
-#~ " d'oublier tous les chemins mémorisés. L'option « -d » demande au "
-#~ "shell d'oublier\n"
-#~ " les chemins mémorisés pour le NAME. Si l'option « -t » est fournie, "
-#~ "le chemin\n"
+#~ " d'oublier tous les chemins mémorisés. L'option « -d » demande au shell "
+#~ "d'oublier\n"
+#~ " les chemins mémorisés pour le NAME. Si l'option « -t » est fournie, le "
+#~ "chemin\n"
#~ " complet auquel correspond chaque NAME est affiché. Si plusieurs NAME "
#~ "sont fournis\n"
#~ " à l'option « -t », le NAME est affiché avant chemin complet haché. "
@@ -5336,17 +6235,97 @@ msgstr ""
#~ msgstr ""
#~ "Par défaut, enlève tous les arguments JOBSPEC de la table des tâches "
#~ "actives.\n"
-#~ " Si l'option « -h » est fournie, la tâche n'est pas retirée de la "
-#~ "table mais\n"
+#~ " Si l'option « -h » est fournie, la tâche n'est pas retirée de la table "
+#~ "mais\n"
#~ " est marquée de telle sorte que le signal SIGHUP ne lui soit pas "
#~ "envoyé quand\n"
#~ " le shell reçoit un SIGHUP. Lorsque JOBSPEC n'est pas fournie, "
#~ "l'option « -a »,\n"
-#~ " permet d'enlever toutes les tâches de la table des tâches. L'option « "
-#~ "-r »\n"
+#~ " permet d'enlever toutes les tâches de la table des tâches. L'option « -"
+#~ "r »\n"
#~ " indique de ne retirer que les tâches en cours de fonctionnement."
#~ msgid ""
+#~ "One line is read from the standard input, or from file descriptor FD if "
+#~ "the\n"
+#~ " -u option is supplied, and the first word is assigned to the first "
+#~ "NAME,\n"
+#~ " the second word to the second NAME, and so on, with leftover words "
+#~ "assigned\n"
+#~ " to the last NAME. Only the characters found in $IFS are recognized "
+#~ "as word\n"
+#~ " delimiters. If no NAMEs are supplied, the line read is stored in the "
+#~ "REPLY\n"
+#~ " variable. If the -r option is given, this signifies `raw' input, "
+#~ "and\n"
+#~ " backslash escaping is disabled. The -d option causes read to "
+#~ "continue\n"
+#~ " until the first character of DELIM is read, rather than newline. If "
+#~ "the -p\n"
+#~ " option is supplied, the string PROMPT is output without a trailing "
+#~ "newline\n"
+#~ " before attempting to read. If -a is supplied, the words read are "
+#~ "assigned\n"
+#~ " to sequential indices of ARRAY, starting at zero. If -e is supplied "
+#~ "and\n"
+#~ " the shell is interactive, readline is used to obtain the line. If -n "
+#~ "is\n"
+#~ " supplied with a non-zero NCHARS argument, read returns after NCHARS\n"
+#~ " characters have been read. The -s option causes input coming from a\n"
+#~ " terminal to not be echoed.\n"
+#~ " \n"
+#~ " The -t option causes read to time out and return failure if a "
+#~ "complete line\n"
+#~ " of input is not read within TIMEOUT seconds. If the TMOUT variable "
+#~ "is set,\n"
+#~ " its value is the default timeout. The return code is zero, unless "
+#~ "end-of-file\n"
+#~ " is encountered, read times out, or an invalid file descriptor is "
+#~ "supplied as\n"
+#~ " the argument to -u."
+#~ msgstr ""
+#~ "Une ligne est lue depuis l'entrée standard ou depuis le descripteur de "
+#~ "fichier\n"
+#~ " FD si l'option « -u » est fournie. Le premier mot est affecté au "
+#~ "premier NAME,\n"
+#~ " le second mot au second NAME, et ainsi de suite, les mots restants "
+#~ "étant affectés\n"
+#~ " au dernier NAME. Seuls les caractères situés dans « $IFS » sont "
+#~ "reconnus comme\n"
+#~ " étant des délimiteurs de mots. Si aucun NAME n'est fourni, la ligne "
+#~ "est conservée\n"
+#~ " dans la variable REPLY. L'option « -r » signifie « entrée brute » et la "
+#~ "neutralisation \n"
+#~ " par barre oblique inverse est désactivée. L'option « -d » indique de "
+#~ "continuer\" la lecture jusqu'à ce que le premier caractère de DELIM "
+#~ "soit lu plutôt que\n"
+#~ " le retour à la ligne. Si « -p » est fourni, la chaîne PROMPT est "
+#~ "affichée\n"
+#~ " sans retour à la ligne final avant la tentative de lecture. Si « -a » "
+#~ "est fourni,\n"
+#~ " les mots lus sont affectés en séquence aux indices du TABLEAU, en "
+#~ "commençant\n"
+#~ " à zéro. Si « -e » est fourni et que le shell est interactif, « readline "
+#~ "» est\n"
+#~ " utilisé pour obtenir la ligne. Si « -n » est fourni avec un argument "
+#~ "NCHARS non nul,\n"
+#~ " « read » se termine après que NCHARS caractères ont été lus. L'option « "
+#~ "-s »\n"
+#~ " permet aux données venant d'un terminal de ne pas être répétées.\n"
+#~ " \n"
+#~ " L'option « -t » permet à « read » de se terminer avec une erreur si une "
+#~ "ligne\n"
+#~ " entière de données ne lui a pas été fournie avant le DÉLAI "
+#~ "d'expiration. Si la\n"
+#~ " variable TMOUT est définie, sa valeur est le délai d'expiration par "
+#~ "défaut. Le code\n"
+#~ " de retour est zéro à moins qu'une fin de fichier ne soit rencontrée, "
+#~ "que « read »\n"
+#~ " atteigne le délai d'expiration ou qu'un descripteur de fichier "
+#~ "incorrect ne soit\n"
+#~ " fourni pour l'argument « -u »."
+
+#~ msgid ""
#~ "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 ""
@@ -5383,8 +6362,7 @@ msgstr ""
#~ "Les NAME sont marqués pour export automatique vers l'environnement des\n"
#~ " prochaines commandes exécutées. si l'option « -f » est donnée, les "
#~ "NAME\n"
-#~ " se rapportent à des fonctions. Si aucun NAME n'est donné ou si « -p "
-#~ "»\n"
+#~ " se rapportent à des fonctions. Si aucun NAME n'est donné ou si « -p »\n"
#~ " est fourni, la liste de tous les NAME exportés dans ce shell "
#~ "s'affiche.\n"
#~ " L'argument « -n » permet de supprimer la propriété d'export des NAME "
@@ -5410,8 +6388,8 @@ msgstr ""
#~ "aucun\n"
#~ " argument n'est donné ou si « -p » est fourni, la liste de tous les "
#~ "noms\n"
-#~ " en lecture seule est affichée. L'option « -a » indique de traiter "
-#~ "tous les\n"
+#~ " en lecture seule est affichée. L'option « -a » indique de traiter tous "
+#~ "les\n"
#~ " NAME comme des variables tableaux. L'argument « -- » désactive le "
#~ "traitement\n"
#~ " des option suivantes."
@@ -5474,10 +6452,8 @@ msgstr ""
#~ "un\n"
#~ " nom de commande.\n"
#~ " \n"
-#~ " Si l'option « -t » est utilisée, « type » affiche un simple mot "
-#~ "parmi\n"
-#~ " « alias », « keyword », « function », « builtin », « file » ou « », "
-#~ "si\n"
+#~ " Si l'option « -t » est utilisée, « type » affiche un simple mot parmi\n"
+#~ " « alias », « keyword », « function », « builtin », « file » ou « », si\n"
#~ " NAME est respectivement un alias, un mot réservé du shell, une "
#~ "fonction\n"
#~ " du shell, une primitive, un fichier du disque, ou s'il est inconnu.\n"
@@ -5490,8 +6466,8 @@ msgstr ""
#~ " \n"
#~ " Si « -a » est utilisé, « type » affiche tous les emplacements qui "
#~ "contiennent\n"
-#~ " un exécutable nommé « file ». Ceci inclut les alias, les primitives "
-#~ "et les\n"
+#~ " un exécutable nommé « file ». Ceci inclut les alias, les primitives et "
+#~ "les\n"
#~ " fonctions si, et seulement si « -p » n'est pas également utilisé.\n"
#~ " \n"
#~ " L'indicateur « -P » force une recherche dans PATH pour chaque NAME "
diff --git a/po/ga.gmo b/po/ga.gmo
index 531788b..d915283 100644
--- a/po/ga.gmo
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
index de7f03c..00ff693 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 4.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2009-09-24 23:08+0100\n"
"Last-Translator: Séamus Ó Ciardhuáin <seoc@iolfree.ie>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "droch-fhoscript eagair"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -43,27 +43,27 @@ msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
"%s: %s: caithfear foscript a úsáid le sannadh chuig eagar comhthiomsaitheach"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: ní féidir cruthú: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: ní féidir mapa eochrach an ordaithe a aimsiú"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: ní \" é an chéad charachtar nach spás bán é."
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "Níl \"%c\" dúnta i %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: deighilteoir idirstaid ar iarraidh"
@@ -125,26 +125,11 @@ msgstr ""
" \n"
" Gan SLONN, aischuirtear "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "Níl HOME socruithe"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "Níl OLDPWD socruithe"
@@ -163,11 +148,11 @@ msgstr "rabhadh: "
msgid "%s: usage: "
msgstr "%s: úsáid: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "An iomarca argóintí"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: tá argóint riachtanach don rogha"
@@ -205,7 +190,7 @@ msgstr "uimhir ochtnártha neamhbhailí"
msgid "invalid hex number"
msgstr "uimhir heicsidheachúlach neamhbhailí"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "uimhir neamhbhailí"
@@ -316,25 +301,25 @@ msgstr ""
msgid "not currently executing completion function"
msgstr "níl an fheidhm chomhlánaithe á rith faoi láthair"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "Inúsáidte i bhfeidhmeanna amháin. "
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "Ní féidir \"-f\" a úsáid chun feidhmeanna a dhéanamh"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: feidhm inléite amháin"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: ní féidir athróga eagair a scrios mar seo."
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -364,29 +349,29 @@ msgstr "%s: níl sé luchtaithe go dinimiciúil"
msgid "%s: cannot delete: %s"
msgstr "%s: ní féidir scrios: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: is comhadlann é"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ní gnáthchomhad é"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: tá an comhad ró-mhór"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: ní féidir comhad dénártha a rith"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: ní féidir rith: %s"
@@ -414,11 +399,11 @@ msgstr "Tá jabanna ag rith.\n"
msgid "no command found"
msgstr "Níor aimsíodh ordú"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "Sonrú staire"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: ní féidir comhad sealadach a oscailt: %s"
@@ -451,7 +436,7 @@ msgstr "Tá haiseáil díchumasaithe."
msgid "%s: hash table empty\n"
msgstr "%s: tá an tábla haiseála folamh.\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "amais\tordú\n"
@@ -519,76 +504,86 @@ msgstr "%s: theip ar inlib"
msgid "no other options allowed with `-x'"
msgstr "Níl roghanna eile ceadaithe le \"-x\""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: is gá le argóintí bheith ina aitheantais phróisis nó jab"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Earráid neamhaithnid"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "Ag súil le slonn"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: ní athróg eagair é"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: sonrú neamhbhailí tuairisceora comhaid"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: tuairisceoir comhaid neamhbhailí: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: comhaireamh neamhbhailí línte"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: bunphointe neamhbhailí eagair"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: candam neamhbhailí aisghlaoigh"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "ainm folamh athróga eagair"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "tacaíocht le hathróga eagair de dhíth"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "\"%s\": carachtar formáide ar iarraidh."
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: sonrú neamhbhailí teorann ama"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "\"%c\": carachtar formáide neamhbhailí."
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "rabhadh: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "digit heicsidheachúlach ar iarraidh le haghaidh \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "digit heicsidheachúlach ar iarraidh le haghaidh \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "Níl comhadlann eile ann"
@@ -690,21 +685,21 @@ msgid "can only `return' from a function or sourced script"
msgstr ""
"ní féidir \"return\" a dhéanamh ach ó fheidhm nó ó script rite le \"source\""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "Ní féidir feidhm agus athróg a dhíshocrú ag an am céanna."
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: ní féidir díshocrú"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: ní féidir díshocrú: %s inléite amháin"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ní athróg eagair é"
@@ -718,20 +713,20 @@ msgstr "%s: ní feidhm é."
msgid "shift count"
msgstr "comhaireamh iomlaoide"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "Ní féidir roghanna blaoisce a shocrú agus a dhíshocrú ag an am céanna."
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ainm neamhbhailí ar rogha blaoisce"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "Is gá don argóint bheith ina ainm comhaid."
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: níor aimsíodh an comhad"
@@ -774,26 +769,26 @@ msgstr "Tá %s %s\n"
msgid "%s is hashed (%s)\n"
msgstr "Tá %s haiseáilte (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: argóint teorann neamhbhailí"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "\"%c\": droch-ordú"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: ní féidir teorainn a fháil: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "teorainn"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: ní féidir teorainn a athrú: %s"
@@ -849,106 +844,111 @@ msgstr "%s: athróg neamhcheangailte"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "imithe thar am ag feitheamh le hionchur: logáil amach uathoibríoch\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aimithe thar am ag feitheamh le hionchur: logáil amach uathoibríoch\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "Ní féidir an ionchur caighdeánach a atreorú ó /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "FORMÃID_AMA: \"%c\": carachtar formáide neamhbhaií."
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "earráid phíopa"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: srianta: ní féidir \"/\" a shonrú in ainmneacha ordaithe"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: níor aimsíodh an t-ordú"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "Tá %s %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: drochléirmhínitheoir"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
"Ní féidir an tuairisceoir comhaid %d a dhúbailt mar thuairisceoir comhaid %d."
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "imithe thar leibhéal athchursála sloinn"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "gannsreabhadh na cruaiche athchúrsála"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "Earráid chomhréire sa slonn."
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "Deineadh iarracht sannadh go rud nach athróg é."
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "roinnt ar 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "fabht: droch-chomhartha expassign"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "Bhíothas ag súil le \":\" le haghaidh sloinn choinníollaigh."
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "Easpónant níos lú ná 0."
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "ag súil le aitheantóir tar éis réamhincriminte nó réamhdeicriminte"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "\")\" ar iarraidh"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "Earráid chomhréire: bhíothas ag súil le hoibreann."
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "earráid chomhréire: oibreoir neamhbhailí uimhríochta"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (comhartha earráide \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "Bonnuimhir uimhríochtúil neamhbhailí."
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "Tá an luach rómhór don bhonnuimhir."
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: earráid sloinn\n"
@@ -957,169 +957,169 @@ msgstr "%s: earráid sloinn\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: ní féidir na máthairchomhadlanna a rochtain."
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
"ní féidir an mód gan mhoill a athshocrú le haghaidh an tuairisceora chomhaid "
"%d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"Ní féidir tuairisceoir comhaid nua a leithdháileadh le haghaidh ionchur bash "
"ón tuairisceoir comhaid %d."
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
"save_bash_input: tá an maolán ann cheana le haghaidh an tuairisceoir comhaid "
"nua %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp píopa"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "tá an aitheantas an phróisis ghabhlaithe %d sa jab %d atá ag rith"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "Tá an jab stoptha %d leis an ngrúpa próisis %ld á scrios."
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: próiseas %5ld (%s) sa phíblíne"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: próiseas %5ld (%s) marcáilte mar fós beo"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: níl an aitheantóir próisis sin ann."
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Comhartha %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Déanta"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Stoptha"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Stoptha(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Ag Rith"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Déanta(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Scoir %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Stádas neamhaithnid"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(cuimhne dumpáilte)"
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (comhadlann oibre: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid macphróisis (%ld go %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: níl an próiseas %ld ina mhacphróiseas den bhlaosc seo."
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: níl taifead den phróiseas %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: tá an jab %d stoptha."
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: tá an jab críochnaithe."
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: tá an jab %d sa chúlra cheana."
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: líne %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (cuimhne dumpáilte)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(comhadlann oibre anois: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: theip ar getpgrp"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: araíonacht líne"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "ní féidir grúpa próisis teirminéil a shocrú (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "Níl rialú jabanna sa bhlaosc seo."
@@ -1275,103 +1275,103 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: ordú atreoraithe \"%d\" as raon."
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "Deireadh comhaid gan súil leis agus \"%c\" a mheaitseálann á lorg."
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "Deireadh comhaid gan súil leis agus \"]]\" á lorg."
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
"Earráid chomhréire i slonn coinníollach: comhartha \"%s\" gan suil leis."
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "Earráid chomhréire i slonn coinníollach."
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "Comhartha \"%s\" gan súil leis; ag súil le \")\"."
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "Ag súil le \")\""
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "Argóint \"%s\" gan súil lei go hoibreoir aonártha coinníollach."
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "Argóint gan súil lei go hoibreoir coinníollach aonártha ."
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
"Comhartha \"%s\" gan súil leis. Bhíothas ag súil le hoibreoir coinníollach "
"dénártha."
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "Bhíothas ag súil le hoibreoir coinníollach dénártha."
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "Argóint \"%s\" gan súil lei go hoibreoir dénártha coinníollach."
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "Argóint gan súil lei go hoibreoir dénártha coinníollach."
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "Comhartha \"%c\" gan súil leis in ordú coinníollach."
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "Comhartha \"%s\" gan súil leis in ordú coinníollach."
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "Comhartha %d gan súil leis in ordú coinníollach."
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
"Earráid chomhréire in aice comhartha \"%s\" nach rabhthas ag súil leis."
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "Earráid chomhréire in aice \"%s\""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "Earráid chomhréire: deireadh comhaid gan súil leis."
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "Earráid chomhréire"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Úsáid \"%s\" le scoir den mblaosc.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "Deireadh comhaid gan súil leis agus \")\" á lorg le meaitseáil."
@@ -1380,77 +1380,77 @@ msgstr "Deireadh comhaid gan súil leis agus \")\" á lorg le meaitseáil."
msgid "completion: function `%s' not found"
msgstr "Iomlánú: níor aimsíodh an fheidhm \"%s\"."
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: tá COMPSPEC neamhnitheach"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: drochnascóir \"%d\""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: tuairisceoir comhaid neamhbhailí: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: \"%c\": carachtar formáide neamhbhailí"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "tuairisceoir comhaid as raon"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: atreorú athbhríoch"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: ní féidir comhad atá ann cheana a fhorscríobh."
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: srianta: ní féidir aschur a atreorú."
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "ní féidir cáipéis shealadach a chruthú don cháipéis leabaithe: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: ní féidir liosta a shannadh go ball eagair."
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "Ní thacaítear le /dev/(tcp|udp)/óstríomhaire/port gan líonrú."
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "Earráid atreoraithe: ní féidir an tuairisceoir comhaid a dhúbailt."
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "Níorbh fhéidir /tmp a aimsiú. Cruthaigh é le do thoil!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "Caithfidh /tmp bheith ina ainm comhadlainne bailí."
@@ -1459,16 +1459,16 @@ msgstr "Caithfidh /tmp bheith ina ainm comhadlainne bailí."
msgid "%c%c: invalid option"
msgstr "%c%c: rogha neamhbhailí"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Níl ainm orm!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, leagan %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1477,43 +1477,43 @@ msgstr ""
"Úsáid:\t%s [rogha fada GNU] [rogha] ...\n"
"\t%s [rogha fada GNU] [rogha] comhad_scripte ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Roghanna fada GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Roghanna blaoisce:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD nó -c ordú nó -O rogha_shopt\t\t(glaoch amháin)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s nó -o rogha\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Úsáid %s -c \"help set\" le haghaidh tuilleadh eolais faoi roghanna "
"blaoisce.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Úsáid \"%s -c help\" le haghaidh tuilleadh eolais faoi orduithe ionsuite "
"blaoisce.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Úsáid an t-ordú \"bashbug\" le tuarascáil a sheoladh faoi fhabht.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: oibríocht neamhbhailí"
@@ -1687,86 +1687,86 @@ msgstr "Comhartha neamhaithnid #"
msgid "Unknown Signal #%d"
msgstr "Comhartha neamhaithnid #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "Drochionadú: níl \"%s\" dúnta i %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: ní féidir liosta a shannadh go ball eagair."
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadaíocht próisis."
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadaíocht próisis."
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "Ní féidir píopa ainmnithe %s a oscailt le haghaidh léamh."
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "Ní féidir píopa ainmnithe %s a oscailt le haghaidh scríofa."
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
"Ní féidir an píopa ainmnithe %s a dhúbailt mar thuairisceoir comhaid %d."
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "Ní féidir píopa a dhéanamh le haghaidh ionadú ordaithe."
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "Ní féidir macphróiseas a dhéanamh le haghaidh ionadú ordaithe."
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
"command_substitute: ní feidir an píopa a dhúbailt mar thuairisceoir comhaid "
"1."
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: paraiméadar neamhnitheach nó gan socrú."
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: slonn fotheaghráin < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: drochionadú"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: ní féidir sannadh mar seo."
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "drochionadú: níl \"`\" dúnta i %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "gan meaitseáil: %s"
@@ -1789,30 +1789,30 @@ msgstr "Ag súil le \")\""
msgid "`)' expected, found %s"
msgstr "Ag súil le \")\", ach fuarthas %s."
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: ag súil le hoibreoir aonártha."
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: ag súil le hoibreoir dénártha."
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "\"]\" ar iarraidh"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "Uimhir chomhartha neamhbhailí"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: drochluach sa liosta_gaistí[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1820,7 +1820,7 @@ msgstr ""
"run_pending_traps: is SIG_DFL an láimhseálaí comharthaí; %d (%s) á "
"athsheoladh chugam féin."
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: droch-chomhartha %d"
@@ -1830,58 +1830,59 @@ msgstr "trap_handler: droch-chomhartha %d"
msgid "error importing function definition for `%s'"
msgstr "Earráid agus sainmhíniú na feidhme \"%s\" á iompórtáil."
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "Tá an leibhéal blaoisce (%d) ró-ard; á athshocrú go 1."
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: níl comhthéacs feidhme sa scóip reatha."
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: níl comhthéacs feidhme sa scóip reatha"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: paraiméadar neamhnitheach nó gan socrú."
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "Carachtar neamhbhailí %d sa teaghrán easpórtála le haghaidh %s."
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "Níl \"=\" sa teaghrán easpórtála le haghaidh %s."
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: ní comhthéacs feidhme é ceann shell_variables"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: níl comhthéacs global_variables ann"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: ní scóip shealadach thimpeallachta é ceann shell_variables"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: ní féidir oscailt: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: tuairisceoir comhaid neamhbhailí: %s"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Cóipcheart © 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1975,7 +1976,8 @@ msgid "caller [expr]"
msgstr "caller [SLONN]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [comhadlann]"
#: builtins.c:66
@@ -1999,11 +2001,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] ORDÚ [ARGÓINT ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [ainm[=luach] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] ainm[=luach] ..."
#: builtins.c:80
@@ -2106,7 +2110,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o ainm-rogha] [argóint ...]"
#: builtins.c:142
@@ -2118,7 +2123,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [ainm[=luach] ...] nó export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [ainm[=luach] ...] nó readonly -p"
#: builtins.c:148
@@ -2502,14 +2508,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2537,7 +2547,7 @@ msgstr ""
" Aischuirtear luach de 0 mura thugtar rogha neamhbhailí nó mura féidir\n"
" an chomhadlann reatha a léamh."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2553,7 +2563,7 @@ msgstr ""
" Stadas Scortha:\n"
" Éiríonn leis i gcónaí."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2565,7 +2575,7 @@ msgstr ""
" Stádas Scortha:\n"
" Éiríonn leis i gcónaí."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2577,7 +2587,7 @@ msgstr ""
" Stádas Scortha:\n"
" Teipeann air i gcónaí."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2613,7 +2623,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear an stádas scortha ó ORDÚ, nó teip mura aimsítear ORDÚ."
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2624,6 +2634,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2643,13 +2655,13 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2659,7 +2671,7 @@ msgstr ""
" \n"
" Imithe i léig. Feic \"help declare\"."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2689,7 +2701,7 @@ msgstr ""
"earráid,\n"
" nó mura bhfuil an bhlaosc ag rith feidhme."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2748,7 +2760,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear rath ach i gcás earráide scríofa."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2770,7 +2782,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear rath ach i gcás earráide scríofa."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2797,7 +2809,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2817,7 +2829,7 @@ msgstr ""
" Aischuirtear stádas scortha an ordaithe, nó rath más ordú neamhnitheach "
"é."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2858,7 +2870,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2881,7 +2893,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2893,7 +2905,7 @@ msgstr ""
" Scoireann den bhlaosc le stádas N. Má fhágtar N ar lár, is é stádas\n"
" an chéad ordaithe deireanaigh an stádas scortha."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2906,7 +2918,7 @@ msgstr ""
" Scoireann de bhlaosc logála isteach le stádas scortha N. Aischuirtear\n"
" earráid má ritear é i mblaosc nach blaosc logála isteach í."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2961,7 +2973,7 @@ msgstr ""
" Stádas Scortha:n\\ Aischuirtear rath nó stádas an ordaithe rite; "
"neamh-nialas má tharlaíonn earráid."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2982,7 +2994,7 @@ msgstr ""
" Stádas Scortha:\n"
" Stádas an ordaithe curtha sa tulra, nó teip má tharlaíonn earráid."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3006,7 +3018,7 @@ msgstr ""
" Aischuirtear rath ach má tharlaíonn earráid nó mura bhfuil\n"
" rialú jabanna cumasaithe."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3030,7 +3042,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3071,7 +3083,7 @@ msgstr ""
" Aischuirtear rath ach sa chás nach n-aimsítear PATRÚN nó go dtugtar\n"
" rogha neamhbhailí."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3105,7 +3117,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3129,7 +3141,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3160,7 +3172,7 @@ msgstr ""
" Aischuirtear rath ach sa chás go dtugtar rogha neamhbhailí\n"
" nó SONRÚ_JAB neamhbhailí."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3182,7 +3194,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3224,10 +3236,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3275,7 +3287,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3297,7 +3309,7 @@ msgstr ""
" Aischuirtear N, nó teip sa chás nach bhfuil an bhlaosc ag rith feidhme "
"nó scripte."
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3366,6 +3378,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3379,7 +3394,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3399,7 +3414,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3418,7 +3433,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3438,7 +3453,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3449,7 +3464,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3463,7 +3478,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3477,14 +3492,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3538,6 +3556,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3554,7 +3573,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3567,7 +3586,7 @@ msgstr ""
" caithfear \"]\" go díreach a bheith ann mar an argóint\n"
" dheireanach, le bheith comhoiriúnach leis an \"[\" ag an tús."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3587,7 +3606,7 @@ msgstr ""
" Stádas Scortha:\n"
" Éiríonn leis i gcónaí."
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3603,7 +3622,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3623,7 +3650,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3653,7 +3680,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3697,7 +3724,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3715,7 +3742,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3732,7 +3759,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3746,7 +3773,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3759,7 +3786,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3790,7 +3817,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3810,7 +3837,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3826,7 +3853,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3837,7 +3864,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3858,7 +3885,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3869,7 +3896,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3880,7 +3907,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3893,7 +3920,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3917,7 +3944,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear rath mura bhfuil AINM inléite amháin."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3935,7 +3962,7 @@ msgstr ""
" Stádas Scortha:\n"
" Aischuirtear stádas an ordaithe dheireanaigh a ritheadh."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3949,7 +3976,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3960,7 +3987,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3988,7 +4015,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4042,7 +4069,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4073,7 +4100,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -4100,7 +4127,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -4129,7 +4156,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -4150,7 +4177,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4173,6 +4200,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -4180,7 +4210,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4207,7 +4237,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4230,13 +4260,13 @@ msgstr ""
" Aischuirtear rath mura thugtar rogha neamhbhailí agus mura tharlaíonn "
"earráid."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4261,7 +4291,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4289,7 +4319,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4301,7 +4332,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 8421414..c3f005a 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 6435e67..c9e9637 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,476 +1,461 @@
-# Hungarian translation of the GNU bash.
-# Copyright (C) 2002 Free Software Foundation, Inc.
-# Gábor István <stive@mezobereny.hu>, 2002.
+# Hungarian translation for bash.
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
#
+# Mate Ory <orymate@ubuntu.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: bash 2.0\n"
+"Project-Id-Version: bash-4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2002-06-14 09:49GMT\n"
-"Last-Translator: Gábor István <stive@mezobereny.hu>\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-08-06 17:44+0200\n"
+"Last-Translator: Mate Ory <orymate@ubuntu.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.9.5\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: arrayfunc.c:50
msgid "bad array subscript"
-msgstr "hibás tömb a tömbindexben"
+msgstr "Hibás tömbindex"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr ""
+msgstr "%s: nem lehetséges az indexelt tömb asszociatívvá alakítása"
#: arrayfunc.c:480
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid associative array key"
-msgstr "%c%c: rossz opció"
+msgstr "%s: érvénytelen asszociatívtömb-index"
#: arrayfunc.c:482
#, c-format
msgid "%s: cannot assign to non-numeric index"
-msgstr "%s: nem lehet hozzárendelni nem szám indexet"
+msgstr "%s: a nem-szám indexnek való értékadás nem lehetséges"
#: arrayfunc.c:518
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
+msgstr "%s: %s: asszociatív tömbhöz való értékadásnál meg kell adni az indexet"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem hozható létre: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
+"bash_execute_unix_command: nem található billentyűkiosztás a parancshoz"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
-msgstr ""
+msgstr "%s: az elsÅ‘ nem szóközkarakter nem „\"â€"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
-msgstr ""
+msgstr "nincs záró „%c†a következőben: %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
-msgstr ""
+msgstr "%s: hiányzó kettőspont-elválasztó"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "%c%c: rossz opció"
+msgstr "„%sâ€: érvénytelen alias-név"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
-msgstr ""
+msgstr "nincs engedélyezve a sorszerkesztés"
#: builtins/bind.def:206
#, c-format
msgid "`%s': invalid keymap name"
-msgstr ""
+msgstr "„%sâ€: érvénytelen billentyűkiosztás-név"
#: builtins/bind.def:245
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot read: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem olvasható a következő: %s"
#: builtins/bind.def:260
-#, fuzzy, c-format
+#, c-format
msgid "`%s': cannot unbind"
-msgstr "%s: parancs nem található"
+msgstr "„%sâ€: nem lehetséges a kötés megszüntetése"
#: builtins/bind.def:295 builtins/bind.def:325
-#, fuzzy, c-format
+#, c-format
msgid "`%s': unknown function name"
-msgstr "%s Csak olvasható funkció"
+msgstr "„%sâ€: ismeretlen függvénynév"
#: builtins/bind.def:303
#, c-format
msgid "%s is not bound to any keys.\n"
-msgstr ""
+msgstr "%s nincs kötve egy billentyűhöz sem.\n"
#: builtins/bind.def:307
#, c-format
msgid "%s can be invoked via "
-msgstr ""
+msgstr "%s a következő módon hajtható végre: "
#: builtins/break.def:77 builtins/break.def:117
-#, fuzzy
msgid "loop count"
-msgstr "logout"
+msgstr "ciklusszám"
#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr ""
+msgstr "csak „forâ€, „while†és „until†ciklusokban értelmezhetÅ‘"
+# see $ help caller
#: builtins/caller.def:133
msgid ""
"Returns the context of the current subroutine call.\n"
" \n"
" Without EXPR, returns "
msgstr ""
-
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
+"Az aktuális szubrutinhívás helyével tér vissza.\n"
" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
+" EXPR nélkül a "
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
-msgstr ""
+msgstr "Nincs beállítva HOME"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
-msgstr ""
+msgstr "Nincs beállítva OLDPWD"
#: builtins/common.c:101
-#, fuzzy, c-format
+#, c-format
msgid "line %d: "
-msgstr "foglalat %3d: "
+msgstr "%d. sor: "
#: builtins/common.c:139 error.c:261
-#, fuzzy, c-format
+#, c-format
msgid "warning: "
-msgstr "írás"
+msgstr "figyelmeztetés: "
#: builtins/common.c:153
#, c-format
msgid "%s: usage: "
-msgstr ""
+msgstr "%s: használat: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
-msgstr "túl sok argumentum"
+msgstr "túl sok argumentum"
-#: builtins/common.c:191 shell.c:499 shell.c:782
-#, fuzzy, c-format
+#: builtins/common.c:191 shell.c:500 shell.c:782
+#, c-format
msgid "%s: option requires an argument"
-msgstr "az opció paramétert igényel:-"
+msgstr "%s: a kapcsolónak kötelező argumentuma van"
#: builtins/common.c:198
#, c-format
msgid "%s: numeric argument required"
-msgstr ""
+msgstr "%s: a kötelező argumentum egy szám"
#: builtins/common.c:205
-#, fuzzy, c-format
+#, c-format
msgid "%s: not found"
-msgstr "%s: parancs nem található"
+msgstr "%s: nem található"
#: builtins/common.c:214 shell.c:795
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid option"
-msgstr "%c%c: rossz opció"
+msgstr "%s: érvénytelen kapcsoló"
#: builtins/common.c:221
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid option name"
-msgstr "%c%c: rossz opció"
+msgstr "%s: érvénytelen kapcsolónév"
#: builtins/common.c:228 general.c:231 general.c:236
-#, fuzzy, c-format
+#, c-format
msgid "`%s': not a valid identifier"
-msgstr "`%s' nem érvényes azonosító"
+msgstr "„%sâ€: érvénytelen azonosító"
#: builtins/common.c:238
-#, fuzzy
msgid "invalid octal number"
-msgstr "rossz jel(signal) szám"
+msgstr "érvénytelen oktális szám"
#: builtins/common.c:240
-#, fuzzy
msgid "invalid hex number"
-msgstr "rossz jel(signal) szám"
+msgstr "érvénytelen hexadecimális szám"
-#: builtins/common.c:242 expr.c:1256
-#, fuzzy
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
-msgstr "rossz jel(signal) szám"
+msgstr "érvénytelen szám"
#: builtins/common.c:250
#, c-format
msgid "%s: invalid signal specification"
-msgstr ""
+msgstr "%s: érvénytelen szignálmegadás"
#: builtins/common.c:257
#, c-format
msgid "`%s': not a pid or valid job spec"
-msgstr ""
+msgstr "„%sâ€: nem pid vagy munkaazonosító"
#: builtins/common.c:264 error.c:454
#, c-format
msgid "%s: readonly variable"
-msgstr "%s Csak olvasható változó"
+msgstr "%s: csak olvasható változó"
#: builtins/common.c:272
#, c-format
msgid "%s: %s out of range"
-msgstr ""
+msgstr "%s: %s kívül esik a tartományon"
#: builtins/common.c:272 builtins/common.c:274
-#, fuzzy
msgid "argument"
-msgstr "paraméter szükséges"
+msgstr "argumentum"
#: builtins/common.c:274
#, c-format
msgid "%s out of range"
-msgstr ""
+msgstr "%s kívül esik a tartományon"
#: builtins/common.c:282
#, c-format
msgid "%s: no such job"
-msgstr ""
+msgstr "%s: nincs ilyen munka"
#: builtins/common.c:290
-#, fuzzy, c-format
+#, c-format
msgid "%s: no job control"
-msgstr "nincs munkafolyamat ellenõrzés ezen a parancsértelmezõn"
+msgstr "%s: nincs munkakezelés"
#: builtins/common.c:292
-#, fuzzy
msgid "no job control"
-msgstr "nincs munkafolyamat ellenõrzés ezen a parancsértelmezõn"
+msgstr "nincs munkakezelés"
#: builtins/common.c:302
-#, fuzzy, c-format
+#, c-format
msgid "%s: restricted"
-msgstr "%s: munkafolyamat megszakadt"
+msgstr "%s: korlátozott"
#: builtins/common.c:304
-#, fuzzy
msgid "restricted"
-msgstr "Félbeszakítva"
+msgstr "korlátozott"
#: builtins/common.c:312
#, c-format
msgid "%s: not a shell builtin"
-msgstr ""
+msgstr "%s: nem beépített parancs"
#: builtins/common.c:321
-#, fuzzy, c-format
+#, c-format
msgid "write error: %s"
-msgstr "Csõ (pipe)hiba %s"
+msgstr "írási hiba: %s"
#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
-msgstr ""
+msgstr "hiba a terminálattribútum beállításakor: %s"
#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
-msgstr ""
+msgstr "hiba a terminálattribútum lekérdezésekor: %s"
#: builtins/common.c:563
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr ""
+msgstr "%s: hiba a munkakönyvtár lekérdezésekor: %s: %s\n"
#: builtins/common.c:629 builtins/common.c:631
-#, fuzzy, c-format
+#, c-format
msgid "%s: ambiguous job spec"
-msgstr "%s: Nem egyértelmû átirányítás"
+msgstr "%s: kétértelmű munkamegadás"
#: builtins/complete.def:276
#, c-format
msgid "%s: invalid action name"
-msgstr ""
+msgstr "%s: érvénytelen műveletnév"
#: builtins/complete.def:449 builtins/complete.def:644
#: builtins/complete.def:853
#, c-format
msgid "%s: no completion specification"
-msgstr ""
+msgstr "%s: nincs kiegészítés meghatározva"
#: builtins/complete.def:696
msgid "warning: -F option may not work as you expect"
-msgstr ""
+msgstr "figyelmeztetés: a -F kapcsoló nem a várt módon működhet"
#: builtins/complete.def:698
msgid "warning: -C option may not work as you expect"
-msgstr ""
+msgstr "figyelmeztetés: a -C kapcsoló nem a várt módon működhet"
#: builtins/complete.def:826
msgid "not currently executing completion function"
-msgstr ""
+msgstr "jelenleg nincs kiegészítési függvény végrehajtás alatt"
-#: builtins/declare.def:122
-#, fuzzy
+#: builtins/declare.def:124
msgid "can only be used in a function"
-msgstr "A local-t csak funkción belül lehet használni, létrehozott változó NÉV"
+msgstr "csak függvényben használható"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
-msgstr ""
+msgstr "nem használható a „-f†függvény létrehozására"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
-msgstr "%s Csak olvasható funkció"
+msgstr "%s: csak olvasható függvény"
-#: builtins/declare.def:468
-#, fuzzy, c-format
+#: builtins/declare.def:474
+#, c-format
msgid "%s: cannot destroy array variables in this way"
-msgstr "$%s így nem lehet hozzárendelni"
+msgstr "%s: ilyen módon nem lehet tömböt megszüntetni"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
+msgstr "%s: nem lehetséges az asszociatív tömb indexeltté alakítása"
#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
-msgstr ""
+msgstr "a dinamikus betöltés nem érhető el"
#: builtins/enable.def:312
-#, fuzzy, c-format
+#, c-format
msgid "cannot open shared object %s: %s"
-msgstr "nem lehet létrehozni a %s \"named pipe\"-ot a %s-nek: %s"
+msgstr "megosztott objektumfájl megnyitása sikertelen: %s: %s"
#: builtins/enable.def:335
#, c-format
msgid "cannot find %s in shared object %s: %s"
-msgstr ""
+msgstr "%s nem található a(z) %s megosztott objektumfájlban: %s"
#: builtins/enable.def:459
#, c-format
msgid "%s: not dynamically loaded"
-msgstr ""
+msgstr "%s: nem dinamikusan van betöltve"
#: builtins/enable.def:474
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot delete: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem törölhető: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
-msgstr "%s: egy könyvtár"
+msgstr "%s egy könyvtár"
-#: builtins/evalfile.c:139
-#, fuzzy, c-format
+#: builtins/evalfile.c:140
+#, c-format
msgid "%s: not a regular file"
-msgstr "%s: nem futtatható bináris fájl"
+msgstr "%s: nem normál fájl"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
-msgstr ""
+msgstr "%s: a fájl túl nagy"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
-msgstr "%s: nem futtatható bináris fájl"
+msgstr "%s: bináris nem hajtható végre"
-#: builtins/exec.def:212
-#, fuzzy, c-format
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
+#, c-format
msgid "%s: cannot execute: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem hajtható végre: %s"
#: builtins/exit.def:65
-#, fuzzy, c-format
+#, c-format
msgid "logout\n"
-msgstr "logout"
+msgstr "kijelentkezés\n"
#: builtins/exit.def:88
msgid "not login shell: use `exit'"
-msgstr ""
+msgstr "nem bejelentkezÅ‘ parancsértelmezÅ‘: használja az „exitâ€-et"
#: builtins/exit.def:120
#, c-format
msgid "There are stopped jobs.\n"
-msgstr ""
+msgstr "Vannak leállított munkák.\n"
#: builtins/exit.def:122
#, c-format
msgid "There are running jobs.\n"
-msgstr ""
+msgstr "Vannak futó munkák.\n"
#: builtins/fc.def:262
-#, fuzzy
msgid "no command found"
-msgstr "%s: parancs nem található"
+msgstr "nincs ilyen parancs"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
-msgstr ""
+msgstr "előzményválasztás"
-#: builtins/fc.def:370
-#, fuzzy, c-format
+#: builtins/fc.def:380
+#, c-format
msgid "%s: cannot open temp file: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: az átmeneti fájl nem nyitható meg: %s"
#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
-msgstr ""
+msgstr "aktuális"
#: builtins/fg_bg.def:158
#, c-format
msgid "job %d started without job control"
-msgstr ""
+msgstr "a(z) %d. munka munkakezelés nélkül indult"
#: builtins/getopt.c:110
-#, fuzzy, c-format
+#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "érvénytelen opció: -"
+msgstr "%s: érvénytelen kapcsoló – %c\n"
#: builtins/getopt.c:111
-#, fuzzy, c-format
+#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "az opció paramétert igényel:-"
+msgstr "%s: a kapcsolónak kötelező argumentuma van – %c\n"
#: builtins/hash.def:92
msgid "hashing disabled"
-msgstr ""
+msgstr "a hashelés le van tiltva"
#: builtins/hash.def:138
#, c-format
msgid "%s: hash table empty\n"
-msgstr ""
+msgstr "%s: a hashtábla üres\n"
-#: builtins/hash.def:244
-#, fuzzy, c-format
+#: builtins/hash.def:245
+#, c-format
msgid "hits\tcommand\n"
-msgstr "újra futtathatja az utolsó parancsot."
+msgstr "t.szám\tparancs\n"
+# fuck.
#: builtins/help.def:130
#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A következő kifejezésre illeszkedő parancsok: „"
+msgstr[1] "A következő kifejezésekre illeszkedő parancsok: „"
#: builtins/help.def:168
#, c-format
msgid ""
"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
msgstr ""
+"nem illeszkedik egy szócikk sem a következÅ‘re: „%sâ€.\n"
+"A „help helpâ€, „man -k '%s'†vagy „info '%s'†parancsok segíthetnek."
#: builtins/help.def:185
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot open: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem nyitható meg: %s"
#: builtins/help.def:337
#, c-format
@@ -483,119 +468,131 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
+"Ezek a parancsok be vannak építve a parancsértelmezőbe. A „help†parancs\n"
+"listázza Å‘ket. A „help név†a „név†parancsról tájékoztat. Az „info bashâ€\n"
+"paranccsal általános információt kap a parancsértelmezőről. A listán nem\n"
+"található parancsokról a „man -k†vagy az „info†adhat felvilágosítást.\n"
+"\n"
+"A parancs nevét követő csillag (*) azt jelzi, hogy le van tiltva.\n"
+"\n"
#: builtins/history.def:154
msgid "cannot use more than one of -anrw"
-msgstr ""
+msgstr "a következő kapcsolók kizárják egymást: -anrw"
#: builtins/history.def:186
msgid "history position"
-msgstr ""
+msgstr "előzménypozíció"
#: builtins/history.def:365
-#, fuzzy, c-format
+#, c-format
msgid "%s: history expansion failed"
-msgstr "%s egész szám szükséges"
+msgstr "%s: sikertelen előzményből való kiegészítés"
#: builtins/inlib.def:71
-#, fuzzy, c-format
+#, c-format
msgid "%s: inlib failed"
-msgstr "%s egész szám szükséges"
+msgstr "%s: sikertelen inlib"
#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
-msgstr ""
+msgstr "a „-x†mellett nem használható más kapcsoló"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
-msgstr ""
+msgstr "%s: az argumentumok folyamat- vagy munkaazonosítók lehetnek"
-#: builtins/kill.def:263
-#, fuzzy
+#: builtins/kill.def:261
msgid "Unknown error"
-msgstr "Ismeretlen hiba %d"
+msgstr "Ismeretlen hiba"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
-msgstr "várható kifejezés"
+msgstr "az értelmező kifejezést várt"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s felszabadított változó"
+msgstr "%s: nem egy indexelt tömb"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
-msgstr ""
+msgstr "%s: érvénytelen fájlleíró-megadás"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
-msgstr ""
+msgstr "%d: érvénytelen fájlleíró: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
-#, fuzzy, c-format
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
msgid "%s: invalid line count"
-msgstr "%c%c: rossz opció"
+msgstr "%s: sorok száma érvénytelen"
-#: builtins/mapfile.def:277
-#, fuzzy, c-format
+#: builtins/mapfile.def:284
+#, c-format
msgid "%s: invalid array origin"
-msgstr "%c%c: rossz opció"
+msgstr "%s: érvénytelen tömbkezdet"
-#: builtins/mapfile.def:294
-#, fuzzy, c-format
+#: builtins/mapfile.def:301
+#, c-format
msgid "%s: invalid callback quantum"
-msgstr "rossz jel(signal) szám"
+msgstr "%s: érvénytelen parancshívási távolság"
-#: builtins/mapfile.def:326
-#, fuzzy
+#: builtins/mapfile.def:333
msgid "empty array variable name"
-msgstr "%s felszabadított változó"
+msgstr "üres tömbváltozó-név"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
-msgstr ""
+msgstr "a tömbök használata nincs támogatva"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
-msgstr ""
+msgstr "„%sâ€: hiányzó formátumkarakter"
+
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: érvénytelen időkorlát-megadás"
-#: builtins/printf.def:551
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
-msgstr ""
+msgstr "„%câ€: érvénytelen formátumkarakter"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
-msgstr ""
+msgstr "figyelmeztetés: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
-msgstr ""
+msgstr "hiányzó hexadecimális számjegy a következőhöz: \\x"
+
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "hiányzó hexadecimális számjegy a következőhöz: \\x"
#: builtins/pushd.def:195
-#, fuzzy
msgid "no other directory"
-msgstr "könyvtárba."
+msgstr "nincs másik könyvtár"
#: builtins/pushd.def:462
-#, fuzzy
msgid "<no current directory>"
-msgstr "\tlesz az aktuális munkakönyvtár."
+msgstr "<nincs munkakönyvtár>"
#: builtins/pushd.def:506
msgid "directory stack empty"
-msgstr ""
+msgstr "a könyvtárverem üres"
#: builtins/pushd.def:508
-#, fuzzy
msgid "directory stack index"
-msgstr "Rekurziós verem túlcsordult"
+msgstr "könyvtárveremindex"
#: builtins/pushd.def:683
msgid ""
@@ -620,6 +617,20 @@ msgid ""
"by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
+"Megjeleníti a jelenleg megjegyzett könyvtárakat. A könyvtárakat a „pushdâ€\n"
+"paranccsal lehet a verembe rakni; és a „popd†paranccsal kivenni.\n"
+" \n"
+" Kapcsolók:\n"
+" -c a könyvtárverem törlése az összes elem eltávolításával\n"
+" -l a saját könyvtárat ne rövidítse a listázáskor egy tilde (~)\n"
+" -p a könyvtárverem kiírása soronként egy elemmel\n"
+" -v a könyvtárverem kiírása soronként egy elemmel, a vermen\n"
+" belüli pozíció jelölésével\n"
+" \n"
+" Argumentumok:\n"
+" +N N darab bejegyzést jelenít meg az argumentum nélkül a dirs\n"
+" által megjelenített listán balról számolva, nullától kezdve\n"
+" -N N darab bejegyzést jelenít meg a listából jobbról számolva"
#: builtins/pushd.def:705
msgid ""
@@ -645,6 +656,27 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"Egy könyvtárat tesz a könyvtárverem tetejére, vagy forgatja a vermet, az új\n"
+"felső elemmé a jelenlegi munkakönyvtárat téve. Argumentumok nélkül hívva a\n"
+"két felső könyvtárat cseréli meg.\n"
+" \n"
+" Kapcsolók:\n"
+" -n Ne váltson könyvtárat hozzáadáskor, vagyis csak a\n"
+" vermet változtassa.\n"
+" \n"
+" Argumentumok:\n"
+" +N Úgy forgatja a vermet, hogy az N-edik könyvtár (0-tól\n"
+" kezdve, a „dirs†által kiírt listán balról számolva)\n"
+" kerüljön a verem tetejére.\n"
+" \n"
+" -N Úgy forgatja a vermet, hogy az N-edik könyvtár (0-tól\n"
+" kezdve, a „dirs†által kiírt listán jobbról számolva)\n"
+" kerüljön a verem tetejére.\n"
+" \n"
+" dir A verem tetejére helyezi KTÃR könyvtárat, és ugyanezt\n"
+" állítja be új munkakönyvtárnak.\n"
+" \n"
+" A „dirs†beépített parancs listázza a könyvtárvermet."
#: builtins/pushd.def:730
msgid ""
@@ -666,469 +698,476 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"Elemeket vesz ki a könyvtárveremből. Argumentumok nélkül kiveszi a legfel-\n"
+"ső elemet, és a kivett elemre állítja az új munkakönyvtárat.\n"
+" \n"
+" Kapcsolók:\n"
+" -n Ne váltson könyvtárat eltávolításkor, vagyis csak a vermet\n"
+" változtassa.\n"
+" \n"
+" Argumentumok:\n"
+" +N Eltávolítja az N-edik elemet a „dirs†által kiírt listán, nullá-\n"
+" tól, balról számolva. Pl. a „popd +0†az első, míg a „popd +1†a\n"
+" könyvtárat távolítja el.\n"
+" -N Eltávolítja az N-edik elemet a „dirs†által kiírt listán, nullá-\n"
+" tól, jobbról számolva. Pl. a „popd -0†az utolsó, a „popd -1†az\n"
+" utolsó előtti könyvtárat távolítja el.\n"
+" \n"
+" A „dirs†beépített parancs listázza a könyvtárvermet."
#: builtins/read.def:252
#, c-format
msgid "%s: invalid timeout specification"
-msgstr ""
+msgstr "%s: érvénytelen időkorlát-megadás"
#: builtins/read.def:588
-#, fuzzy, c-format
+#, c-format
msgid "read error: %d: %s"
-msgstr "Csõ (pipe)hiba %s"
+msgstr "olvasási hiba: %d: %s"
#: builtins/return.def:73
msgid "can only `return' from a function or sourced script"
msgstr ""
+"csak függvénybÅ‘l vagy source-olt parancsfájlból lehet „returnâ€-nel "
+"visszatérni"
-#: builtins/set.def:768
-#, fuzzy
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
-msgstr "A local-t csak funkción belül lehet használni, létrehozott változó NÉV"
+msgstr "nem lehet egyszerre függvényt és változót megszüntetni"
-#: builtins/set.def:805
-#, fuzzy, c-format
+#: builtins/set.def:808
+#, c-format
msgid "%s: cannot unset"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem szüntethető meg"
-#: builtins/set.def:812
-#, fuzzy, c-format
+#: builtins/set.def:815
+#, c-format
msgid "%s: cannot unset: readonly %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem szüntethető meg: csak olvasható %s"
-#: builtins/set.def:823
-#, fuzzy, c-format
+#: builtins/set.def:826
+#, c-format
msgid "%s: not an array variable"
-msgstr "%s felszabadított változó"
+msgstr "%s: nem egy tömbváltozó"
#: builtins/setattr.def:186
-#, fuzzy, c-format
+#, c-format
msgid "%s: not a function"
-msgstr "%s Csak olvasható funkció"
+msgstr "%s: nem függvény"
#: builtins/shift.def:71 builtins/shift.def:77
-#, fuzzy
msgid "shift count"
-msgstr "shift [n]"
+msgstr "shift-szám"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
+"nem lehet egyszerre beállítani és törölni parancsértelmező-beállításokat"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
-msgstr ""
+msgstr "%s: érvénytelen parancsértelmezőkapcsoló-név"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
-msgstr ""
+msgstr "fájlnévargumentum szükséges"
-#: builtins/source.def:153
-#, fuzzy, c-format
+#: builtins/source.def:155
+#, c-format
msgid "%s: file not found"
-msgstr "%s: parancs nem található"
+msgstr "%s: a fájl nem található"
#: builtins/suspend.def:101
msgid "cannot suspend"
-msgstr ""
+msgstr "nem lehet szüneteltetni"
#: builtins/suspend.def:111
-#, fuzzy
msgid "cannot suspend a login shell"
-msgstr "Kilépés a parancsértelmezõbõl."
+msgstr "nem lehet bejelentkező parancsértelmezőt szüneteltetni"
#: builtins/type.def:234
#, c-format
msgid "%s is aliased to `%s'\n"
-msgstr ""
+msgstr "%s egy alias a következÅ‘re: „%sâ€\n"
#: builtins/type.def:255
#, c-format
msgid "%s is a shell keyword\n"
-msgstr ""
+msgstr "%s nem parancsértelmező-kulcsszó\n"
#: builtins/type.def:274
-#, fuzzy, c-format
+#, c-format
msgid "%s is a function\n"
-msgstr "%s Csak olvasható funkció"
+msgstr "%s egy függvény\n"
#: builtins/type.def:296
#, c-format
msgid "%s is a shell builtin\n"
-msgstr ""
+msgstr "%s egy beépített parancs\n"
#: builtins/type.def:317 builtins/type.def:391
#, c-format
msgid "%s is %s\n"
-msgstr ""
+msgstr "%s egy %s\n"
#: builtins/type.def:337
#, c-format
msgid "%s is hashed (%s)\n"
-msgstr ""
+msgstr "%s hashelve van (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
-msgstr ""
+msgstr "%s: érvénytelen korlátérték"
-#: builtins/ulimit.def:398
-#, fuzzy, c-format
+#: builtins/ulimit.def:402
+#, c-format
msgid "`%c': bad command"
-msgstr "%c%c: rossz opció"
+msgstr "„%câ€: érvénytelen parancs"
-#: builtins/ulimit.def:427
-#, fuzzy, c-format
+#: builtins/ulimit.def:431
+#, c-format
msgid "%s: cannot get limit: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem kérdezhető le a korlát: %s"
-#: builtins/ulimit.def:453
-#, fuzzy
+#: builtins/ulimit.def:457
msgid "limit"
-msgstr "CPU határ"
+msgstr "korlát"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
-#, fuzzy, c-format
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#, c-format
msgid "%s: cannot modify limit: %s"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: nem módosítható a korlát: %s"
#: builtins/umask.def:118
-#, fuzzy
msgid "octal number"
-msgstr "rossz jel(signal) szám"
+msgstr "oktális szám"
#: builtins/umask.def:231
#, c-format
msgid "`%c': invalid symbolic mode operator"
-msgstr ""
+msgstr "„%câ€: érvénytelen szimbolikus módoperátor"
#: builtins/umask.def:286
#, c-format
msgid "`%c': invalid symbolic mode character"
-msgstr ""
+msgstr "„%câ€: érvénytelen szimbolikus módkarakter"
#: error.c:90 error.c:321 error.c:323 error.c:325
msgid " line "
-msgstr ""
+msgstr " sor: "
#: error.c:165
-#, fuzzy, c-format
+#, c-format
msgid "last command: %s\n"
-msgstr "újra futtathatja az utolsó parancsot."
+msgstr "utolsó parancs: %s\n"
#: error.c:173
#, c-format
msgid "Aborting..."
-msgstr ""
+msgstr "Megszakítás..."
#: error.c:406
-#, fuzzy
msgid "unknown command error"
-msgstr "Ismeretlen hiba %d"
+msgstr "hiba: érvénytelen parancs"
#: error.c:407
-#, fuzzy
msgid "bad command type"
-msgstr "parancsként használja."
+msgstr "hibás parancstípus"
#: error.c:408
-#, fuzzy
msgid "bad connector"
-msgstr "rossz csatlakozás `%d'"
+msgstr "hibás csatlakozó"
#: error.c:409
-#, fuzzy
msgid "bad jump"
-msgstr "Rossz ugrás %d"
+msgstr "hibás ugrás"
#: error.c:447
#, c-format
msgid "%s: unbound variable"
-msgstr "%s felszabadított változó"
+msgstr "%s: kötetlen változó"
#: eval.c:181
-#, fuzzy, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "%c túl sokáig nem csinált semmit:automatikus kilépés\n"
+#, c-format
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aidőtúllépés bemenetre várva: automatikus kijelentkezés\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
-msgstr ""
+msgstr "szabványos bemenet /dev/null-ra állítása sikertelen: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr ""
+msgstr "IDÅFORMÃTUM: „%câ€: érvénytelen formátumkarakter"
-#: execute_cmd.c:2075
-#, fuzzy
+#: execute_cmd.c:2121
msgid "pipe error"
-msgstr "Csõ (pipe)hiba %s"
+msgstr "hibás csővezeték"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: fenntartva: parancs nem tartalmazhat '/' karaktert"
+msgstr "%s: korlátozott: nem adható meg „/†a parancsok nevében"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
-msgstr "%s: parancs nem található"
+msgstr "%s: parancs nem található"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s egy %s\n"
+
+#: execute_cmd.c:4995
+#, c-format
msgid "%s: %s: bad interpreter"
-msgstr "%s: egy könyvtár"
+msgstr "%s: %s: rossz parancsértelmező"
-#: execute_cmd.c:4976
-#, fuzzy, c-format
+#: execute_cmd.c:5144
+#, c-format
msgid "cannot duplicate fd %d to fd %d"
-msgstr "nem másolható a fd %d fd 0: %s-re"
+msgstr "nem lehet duplikálni a(z) %d. fájlleírót a(z) %d. helyre"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
-msgstr "kifejezés túllépte a megengedett rekurzív szintet"
+msgstr "a kifejezés rekurziókorlátot"
-#: expr.c:265
-#, fuzzy
+#: expr.c:280
msgid "recursion stack underflow"
-msgstr "Rekurziós verem túlcsordult"
+msgstr "alulcsordult a rekurziós verem"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
-msgstr "szintaktikai hiba a kifelyezésben"
+msgstr "szintaktikai hiba a kifejezésben"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
-msgstr "nem változóhoz próbált hozzárendelni"
+msgstr "nem változóhoz próbált értéket rendelni"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
-msgstr "nullával való osztás"
+msgstr "0-val osztás"
-#: expr.c:471
-#, fuzzy
+#: expr.c:517
msgid "bug: bad expassign token"
-msgstr "Hiba:rossz vezérjel %d"
+msgstr "bug: rossz expassign token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
-msgstr "`:' túllépte a kifelyezés feltételeit"
+msgstr "„:†egy feltételkifejezés szükséges"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
-msgstr ""
+msgstr "0-nál kisebb kitevő"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
+msgstr "prefix növelés vagy csökkentés után azonosító kell következzen"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
-msgstr "rossz ')'"
+msgstr "hiányzó „)â€"
-#: expr.c:897 expr.c:1176
-#, fuzzy
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
-msgstr "szintaktikai hiba: váratlan fájl vég"
+msgstr "szintaktikai hiba: operandus kell következzen"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
-msgstr ""
+msgstr "szintaktikai hiba: érvénytelen aritmetikai operátor"
-#: expr.c:1202
-#, fuzzy, c-format
+#: expr.c:1308
+#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr "%s: %s: %s (a hiba jele \"%s\")\n"
+msgstr "%s%s%s: %s (hibás token: „%sâ€)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
-msgstr ""
+msgstr "érvénytelen számrendszer"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
-msgstr "az érték túl nagy"
+msgstr "túl nagy érték a számrendszerhez"
-#: expr.c:1329
-#, fuzzy, c-format
+#: expr.c:1435
+#, c-format
msgid "%s: expression error\n"
-msgstr "%s egész szám szükséges"
+msgstr "%s: hibás kifejezés\n"
#: general.c:61
-#, fuzzy
msgid "getcwd: cannot access parent directories"
-msgstr "getwd: nem elérhetõ a szülõ könyvtár"
+msgstr "getcwd: nem érhetőek el a szülőkönyvtárak"
-#: input.c:94 subst.c:4857
-#, fuzzy, c-format
+#: input.c:94 subst.c:5082
+#, c-format
msgid "cannot reset nodelay mode for fd %d"
-msgstr "nem másolható a fd %d fd 0: %s-re"
+msgstr "nem lehet újraindítani a nodelay módot a(z) %d. fájlleíróhoz"
-#: input.c:258
-#, fuzzy, c-format
+#: input.c:260
+#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-"nem lehet lefoglalni az új fájlleírót a bash bemenetére a fd %d: %s-r?l"
+"nem lehet új fájlleírót foglalni a bash bemenetéhez a(z) %d. fájlleíróból"
-#: input.c:266
-#, fuzzy, c-format
+#: input.c:268
+#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "check_bash_input: puffer már létezik az új fd %d"
+msgstr "save_bash_input: már van puffer a(z) %d. fájlleíróhoz"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
-msgstr ""
+msgstr "start_pipeline: pgrp csővezeték"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
-msgstr ""
+msgstr "a(z) %d számú forkolt pid a(z) %d számú munkában jelent meg"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
-msgstr ""
+msgstr "%d. számú megállított munka törlése a %ld számú folyamatcsoporttal"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
-msgstr ""
+msgstr "add_process: %5ld. folyamat (%s) a the_pipeline-ban"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr ""
+msgstr "add_process: %5ld. folyamat (%s) még élőként van jelölve"
-#: jobs.c:1401
-#, fuzzy, c-format
+#: jobs.c:1430
+#, c-format
msgid "describe_pid: %ld: no such pid"
-msgstr "describe_pid: Nem létezõ pid (%d)!\n"
+msgstr "describe_pid: %ld: nincs ilyen pid"
-#: jobs.c:1416
-#, fuzzy, c-format
+#: jobs.c:1445
+#, c-format
msgid "Signal %d"
-msgstr "Ismeretlen #%d Szignál"
+msgstr "%d. szignál"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
-msgstr "Kész"
+msgstr "Kész"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
-msgstr "Megállítva"
+msgstr "Megállítva"
-#: jobs.c:1439
-#, fuzzy, c-format
+#: jobs.c:1468
+#, c-format
msgid "Stopped(%s)"
-msgstr "Megállítva"
+msgstr "Megállítva(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
-msgstr "Futó"
+msgstr "Fut"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
-msgstr "Kész (%d)"
+msgstr "Kész(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
-msgstr "Kilépés %d"
+msgstr "Kilépett(%d)"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
-msgstr "Ismeretlen állapot"
+msgstr "Ismeretlen állapot"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
-msgstr "(memória kiírás)"
+msgstr "(core készült) "
-#: jobs.c:1568
-#, fuzzy, c-format
+#: jobs.c:1597
+#, c-format
msgid " (wd: %s)"
-msgstr "(wd most: %s)\n"
+msgstr " (mk: %s)"
-#: jobs.c:1776
-#, fuzzy, c-format
+#: jobs.c:1805
+#, c-format
msgid "child setpgid (%ld to %ld)"
-msgstr "gyermek-folyamat setpgid (%d -ról %d-ra) hiba %d: %s\n"
+msgstr "gyermek setpgid (innen: %ld ide: %ld)"
-#: jobs.c:2104 nojobs.c:585
-#, fuzzy, c-format
+#: jobs.c:2133 nojobs.c:585
+#, c-format
msgid "wait: pid %ld is not a child of this shell"
-msgstr "várjon:a %d nem utóda ennek a parancsértelmezõnek"
+msgstr "wait: %ld. számú folyamat nem gyermeke ennek a parancsértelmezőnek"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
-msgstr ""
+msgstr "wait_for: Nincs bejegyzés %ld. számú folyamatról"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
-msgstr ""
+msgstr "wait_for_job: %d. számú munka le lett állítva"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
-msgstr "%s: munkafolyamat megszakadt"
+msgstr "%s: a munka be lett fejezve"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
-msgstr ""
+msgstr "%s: %d. számú munka már a háttérben van"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: WNOHANG bekapcsolása a korlátlan blokk elkerülésére"
-#: jobs.c:3508
-#, fuzzy, c-format
+#: jobs.c:3538
+#, c-format
msgid "%s: line %d: "
-msgstr "foglalat %3d: "
+msgstr "%s: %d. sor: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
-msgstr "(memória kiírás)"
+msgstr " (core készült)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
-msgstr "(wd most: %s)\n"
+msgstr "(mk most: %s)\n"
-#: jobs.c:3579
-#, fuzzy
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
-msgstr "initialize_jobs: getpgrp sikertelen: %s"
+msgstr "initialize_job_control: getpgrp sikertelen"
-#: jobs.c:3639
-#, fuzzy
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
-msgstr "initialize_jobs: sor fegyelem %s"
+msgstr "initialize_job_control: line discipline"
-#: jobs.c:3649
-#, fuzzy
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
-msgstr "initialize_jobs: getpgrp sikertelen: %s"
+msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
-msgstr ""
+msgstr "nem állítható be a terminál folyamatcsoportja (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
-msgstr "nincs munkafolyamat ellenõrzés ezen a parancsértelmezõn"
+msgstr "nincsen munkakezelés ebben a parancsértelmezőben"
#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
-msgstr ""
+msgstr "malloc: nem teljesülő feltételezés: %s\n"
#: lib/malloc/malloc.c:312
#, c-format
@@ -1136,786 +1175,773 @@ msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
+"\r\n"
+"malloc: %s:%d: téves feltételezés\r\n"
#: lib/malloc/malloc.c:313
-#, fuzzy
msgid "unknown"
-msgstr "<ismeretlen>"
+msgstr "ismeretlen"
#: lib/malloc/malloc.c:797
msgid "malloc: block on free list clobbered"
-msgstr ""
+msgstr "malloc: a szabadlistán lévő blokk felülírva"
#: lib/malloc/malloc.c:874
msgid "free: called with already freed block argument"
-msgstr ""
+msgstr "free: már felszabadított blokkal lett hívva"
#: lib/malloc/malloc.c:877
msgid "free: called with unallocated block argument"
-msgstr ""
+msgstr "free: nem lefoglalt blokkal lett hívva"
#: lib/malloc/malloc.c:896
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "free: alulcsordulást érzékelt; mh_nbytes kívül esik a tartományon"
#: lib/malloc/malloc.c:902
msgid "free: start and end chunk sizes differ"
-msgstr ""
+msgstr "free: kezdő- és záródarab mérete eltér"
#: lib/malloc/malloc.c:1001
msgid "realloc: called with unallocated block argument"
-msgstr ""
+msgstr "realloc: nem lefoglalt blokkal lett hívva"
#: lib/malloc/malloc.c:1016
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "realloc: alulcsordulást érzékelt; mh_nbytes kívül esik a tartományon"
#: lib/malloc/malloc.c:1022
msgid "realloc: start and end chunk sizes differ"
-msgstr ""
+msgstr "realloc: kezdő- és záródarab mérete eltér"
#: lib/malloc/table.c:177
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
+msgstr "register_alloc: foglalótábla tele van FIND_ALLOC-kal?\n"
#: lib/malloc/table.c:184
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
+msgstr "register_alloc: %p már a táblában lefoglaltként?\n"
#: lib/malloc/table.c:220
#, c-format
msgid "register_free: %p already in table as free?\n"
-msgstr ""
+msgstr "register_free: %p már a táblában szabadként?\n"
#: lib/sh/fmtulong.c:101
msgid "invalid base"
-msgstr ""
+msgstr "érvénytelen számrendszer"
#: lib/sh/netopen.c:168
-#, fuzzy, c-format
+#, c-format
msgid "%s: host unknown"
-msgstr "ismeretlen"
+msgstr "%s: ismeretlen gépnév"
#: lib/sh/netopen.c:175
#, c-format
msgid "%s: invalid service"
-msgstr ""
+msgstr "%s: érvénytelen szolgáltatás"
#: lib/sh/netopen.c:306
#, c-format
msgid "%s: bad network path specification"
-msgstr ""
+msgstr "%s: hibás hálózatiútvonal-megadás"
#: lib/sh/netopen.c:346
msgid "network operations not supported"
-msgstr ""
+msgstr "a hálózati műveletek nincsenek támogatva"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: nem lehet területi beállításokat váltani (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: nem lehet területi beállításokat váltani (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xmalloc: nem lehet lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "setlocale: %s: nem lehet területi beállításokat váltani (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xmalloc: nem lehet lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "setlocale: %s: nem lehet területi beállításokat váltani (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
-msgstr "Önnek levele van $_ -ben"
+msgstr "Levél a következőben: $_"
#: mailcheck.c:458
msgid "You have new mail in $_"
-msgstr "Önnek új levele érkezett a $_ -ra"
+msgstr "Új levél a következőben: $_"
#: mailcheck.c:474
#, c-format
msgid "The mail in %s has been read\n"
-msgstr "A %s levelet már elolvasta\n"
+msgstr "A(z) „%s†helyen lévő levél el van olvasva\n"
#: make_cmd.c:323
-#, fuzzy
msgid "syntax error: arithmetic expression required"
-msgstr "szintaktikai hiba a kifelyezésben"
+msgstr "szintaktikai hiba: aritmetikai kifejezés szükséges"
#: make_cmd.c:325
-#, fuzzy
msgid "syntax error: `;' unexpected"
-msgstr "szintaktikai hiba: váratlan fájl vég"
+msgstr "szintaktikai hiba: váratlan „;â€"
#: make_cmd.c:326
-#, fuzzy, c-format
+#, c-format
msgid "syntax error: `((%s))'"
-msgstr "szintaktikai hiba"
+msgstr "szintaktikai hiba: „((%s))â€"
#: make_cmd.c:575
#, c-format
msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: rossz utasítás típus %d"
+msgstr "make_here_document: hibás utasítástípus: %d"
#: make_cmd.c:659
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
-msgstr ""
+msgstr "a(z) %d. sorban kezdett heredocot EOF zárja („%s†helyett)"
#: make_cmd.c:756
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
+msgstr "make_redirection: %d. átirányító utasítás kívül esik a tartományon"
-#: parse.y:3133 parse.y:3369
-#, fuzzy, c-format
+#: parse.y:3173 parse.y:3444
+#, c-format
msgid "unexpected EOF while looking for matching `%c'"
-msgstr "váratlan EOF amíg vizsgáltam a `%c'-t"
+msgstr "váratlan EOF „%c†helyett"
-#: parse.y:3951
-#, fuzzy
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
-msgstr "váratlan EOF amíg vizsgáltam a `%c'-t"
+msgstr "váratlan EOF „]]†helyett"
-#: parse.y:3956
-#, fuzzy, c-format
+#: parse.y:4030
+#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "szintaktikai hiba a váratlan %s vezérjel körül"
+msgstr "szintaktikai hiba a feltételben: váratlan token: „%sâ€"
-#: parse.y:3960
-#, fuzzy
+#: parse.y:4034
msgid "syntax error in conditional expression"
-msgstr "szintaktikai hiba a kifelyezésben"
+msgstr "szintaktikai hiba a feltételben"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
-msgstr ""
+msgstr "váratlan token (%s) „)†helyett"
-#: parse.y:4042
-#, fuzzy
+#: parse.y:4116
msgid "expected `)'"
-msgstr "')' szükséges"
+msgstr "„)†szükséges"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
-msgstr ""
+msgstr "váratlan argumentum (%s) feltételes egyoperandusú operátorhoz"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
-msgstr ""
+msgstr "váratlan argumentum feltételes egyoperandusú operátorhoz"
-#: parse.y:4120
-#, fuzzy, c-format
+#: parse.y:4194
+#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "%s:bináris mûvelet szükséges"
+msgstr "váratlan token (%s), feltételes kétoperandusú operátor szükséges"
-#: parse.y:4124
-#, fuzzy
+#: parse.y:4198
msgid "conditional binary operator expected"
-msgstr "%s:bináris mûvelet szükséges"
+msgstr "feltételes kétoperandusú operátor szükséges"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
-msgstr ""
+msgstr "váratlan argumentum (%s) feltételes kétoperandusú operátorhoz"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
-msgstr ""
+msgstr "váratlan argumentum feltételes kétoperandusú operátorhoz"
-#: parse.y:4161
-#, fuzzy, c-format
+#: parse.y:4235
+#, c-format
msgid "unexpected token `%c' in conditional command"
-msgstr "`:' túllépte a kifelyezés feltételeit"
+msgstr "váratlan token (%c) feltételes parancsban"
-#: parse.y:4164
-#, fuzzy, c-format
+#: parse.y:4238
+#, c-format
msgid "unexpected token `%s' in conditional command"
-msgstr "`:' túllépte a kifelyezés feltételeit"
+msgstr "váratlan token (%s) feltételes parancsban"
-#: parse.y:4168
-#, fuzzy, c-format
+#: parse.y:4242
+#, c-format
msgid "unexpected token %d in conditional command"
-msgstr "`:' túllépte a kifelyezés feltételeit"
+msgstr "váratlan token (%d) feltételes parancsban"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
-msgstr "szintaktikai hiba a váratlan %s vezérjel körül"
+msgstr "szintaktikai hiba „%s†váratlan token közelében"
-#: parse.y:5477
-#, fuzzy, c-format
+#: parse.y:5584
+#, c-format
msgid "syntax error near `%s'"
-msgstr "szintaktikai hiba a váratlan %s vezérjel körül"
+msgstr "szintaktikai hiba „%s†közelében"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
-msgstr "szintaktikai hiba: váratlan fájl vég"
+msgstr "szintaktikai hiba: váratlan fájlvége"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "szintaktikai hiba"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
-msgstr "Használja \"%s\" a parancsértelmezõ elhagyásához.\n"
+msgstr "„%s†használatával lehet elhagyni a parancsértelmezőt.\n"
-#: parse.y:5711
-#, fuzzy
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
-msgstr "váratlan EOF amíg vizsgáltam a `%c'-t"
+msgstr "váratlan EOF „)†helyett"
#: pcomplete.c:1030
#, c-format
msgid "completion: function `%s' not found"
-msgstr ""
+msgstr "kiegészítés: nem található „%s†függvény"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr ""
+msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
-msgstr "print_command: rossz csatlakozás `%d'"
+msgstr "print_command: hibás csatlakozó (%d)"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr ""
+msgstr "xtrace_set: %d: érvénytelen fájlleíró"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: NULL fájlmutató"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
-msgstr ""
+msgstr "cprintf: „%câ€: érvénytelen formátumkarakter"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
-msgstr ""
+msgstr "fájlleíró kívül esik a tartományon"
-#: redir.c:166
-#, fuzzy, c-format
+#: redir.c:178
+#, c-format
msgid "%s: ambiguous redirect"
-msgstr "%s: Nem egyértelmû átirányítás"
+msgstr "%s: kétértelmű átirányítás"
-#: redir.c:170
-#, fuzzy, c-format
+#: redir.c:182
+#, c-format
msgid "%s: cannot overwrite existing file"
-msgstr "%s: Nem lehet megsemmisíteni létezõ fájlt‘"
+msgstr "%s: nem lehet felülírni létező fájlt"
-#: redir.c:175
-#, fuzzy, c-format
+#: redir.c:187
+#, c-format
msgid "%s: restricted: cannot redirect output"
-msgstr "%s: fenntartva: parancs nem tartalmazhat '/' karaktert"
+msgstr "%s: korlátozott: nem lehet átirányítani a kimenetet"
-#: redir.c:180
-#, fuzzy, c-format
+#: redir.c:192
+#, c-format
msgid "cannot create temp file for here-document: %s"
-msgstr "nem lehet létrehozni a pipe-ot feladat behelyettesítéshez: %s"
+msgstr "nem lehet a heredocnak átmeneti fájlt létrehozni: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: nem lehet a listához rendelni az elemet"
+msgstr "%s: nem lehet változóhoz fájlleírót rendelni"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr ""
+msgstr "/dev/(tcp|udp)/host/port nincs támogatva hálózat nélkül"
-#: redir.c:1101
-#, fuzzy
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
-msgstr "átirányítási hiba"
+msgstr "átirányítási hiba: nem lehet duplikálni a fájlleírót"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
-msgstr ""
+msgstr "nem található /tmp, hozza létre!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
-msgstr ""
+msgstr "/tmp érvényes könyvtárnév kell legyen"
#: shell.c:884
-#, fuzzy, c-format
+#, c-format
msgid "%c%c: invalid option"
-msgstr "%c%c: rossz opció"
+msgstr "%c%c: érvénytelen kapcsoló"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Nincs nevem!"
-#: shell.c:1793
-#, fuzzy, c-format
+#: shell.c:1795
+#, c-format
msgid "GNU bash, version %s-(%s)\n"
-msgstr "GNU %s, verzió %s\n"
+msgstr "GNU bash, %s-(%s) verzió\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
-"Használat:\t%s [GNU hosszú opció] [opció] ...\n"
-"\t%s [GNU hosszú opció] [opció] parancs fájl ...\n"
+"Használat: %s [GNU hosszú kapcsoló] [kapcsoló] ...\n"
+" %s [GNU hosszú kapcsoló] [kapcsoló] parancsfájl ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
-msgstr "GNU hosszú opciók:\n"
+msgstr "GNU hosszú kapcsolók:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
-msgstr "Parancsértelmezõ opciók:\n"
+msgstr "Parancsértelmező-kapcsolók:\n"
-#: shell.c:1801
-#, fuzzy
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-irsD vagy -c parancs\t\t(csak végrehajtható)\n"
+msgstr "\t-irsD vagy -c parancs vagy -O shopt_option\t\t(csak hívás)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
-msgstr "\t-%s vagy -o opciók\n"
+msgstr "\t-%s vagy -o kapcsoló\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
-"Írja be a `%s -c \"help set\"' ha több információra van szüksége a "
-"parancsértelmezõ opcióival kapcsolatban.\n"
+"A „%s -c \"help set\"†további információt ad a parancsértelmező-"
+"beállításokról.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Írja be a `%s -c \"help set\"' ha több információra van szüksége a "
-"parancsértelmezõ beépített utasításaival kapcsolatban.\n"
+msgstr "A „%s -c help†további információt ad a beépített parancsokról.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
-msgstr ""
+msgstr "A „bashbug†paranccsal jelenthet hibákat.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
-msgstr ""
+msgstr "sigprocmask: %d: érvénytelen művelet"
#: siglist.c:48
msgid "Bogus signal"
-msgstr "Hamis jel"
+msgstr "Hibás szignál"
#: siglist.c:51
msgid "Hangup"
-msgstr "Bontás"
+msgstr "Bontás"
#: siglist.c:55
msgid "Interrupt"
-msgstr "Megszakítás"
+msgstr "Megszakítás"
#: siglist.c:59
msgid "Quit"
-msgstr "Kilépés"
+msgstr "Abbahagyás"
#: siglist.c:63
msgid "Illegal instruction"
-msgstr "Érvénytelen utasítás"
+msgstr "Érvénytelen utasítás"
#: siglist.c:67
msgid "BPT trace/trap"
-msgstr "BPT nyomkövetés/csapda"
+msgstr "BPT trace/trap"
#: siglist.c:75
msgid "ABORT instruction"
-msgstr "Utasítás MEGSZAKÍTÁSA"
+msgstr "ABORT utasítás"
#: siglist.c:79
msgid "EMT instruction"
-msgstr "EMT utasítás"
+msgstr "EMT utasítás"
#: siglist.c:83
msgid "Floating point exception"
-msgstr "Lebegõ pontos esemény"
+msgstr "Lebegőpontos kivétel"
#: siglist.c:87
msgid "Killed"
-msgstr "Kilõve"
+msgstr "Kilőve"
#: siglist.c:91
msgid "Bus error"
-msgstr "Busz hiba"
+msgstr "Buszhiba"
#: siglist.c:95
msgid "Segmentation fault"
-msgstr "Szegmens hiba"
+msgstr "Szegmenshiba"
#: siglist.c:99
msgid "Bad system call"
-msgstr "Rossz rendszerhívás"
+msgstr "Rossz rendszerhívás"
#: siglist.c:103
msgid "Broken pipe"
-msgstr "Törött csõ (pipe)"
+msgstr "Törött csővezeték"
#: siglist.c:107
msgid "Alarm clock"
-msgstr "Emlékeztetés"
+msgstr "Ébresztés"
#: siglist.c:111
-#, fuzzy
msgid "Terminated"
-msgstr "ki."
+msgstr "Befejezve"
#: siglist.c:115
msgid "Urgent IO condition"
-msgstr "Sürgõs IO feltétel"
+msgstr "Sürgős IO körülmény"
#: siglist.c:119
msgid "Stopped (signal)"
-msgstr "Megállítva (jellel)"
+msgstr "Megállítva (szignál)"
#: siglist.c:127
msgid "Continue"
-msgstr "Folytatás"
+msgstr "Folytatás"
#: siglist.c:135
msgid "Child death or stop"
-msgstr "Gyermek objektum meghalt vagy megállt"
+msgstr "Gyermek halála vagy megállítása"
#: siglist.c:139
msgid "Stopped (tty input)"
-msgstr "Megállítva (tty bemenet)"
+msgstr "Megállítva (konzolbemenet)"
#: siglist.c:143
msgid "Stopped (tty output)"
-msgstr "Megállítva (tty kimenet)"
+msgstr "Megállítva (konzolkimenet)"
#: siglist.c:147
msgid "I/O ready"
-msgstr "I/O kész"
+msgstr "IO kész"
#: siglist.c:151
msgid "CPU limit"
-msgstr "CPU határ"
+msgstr "CPU-korlátozás"
#: siglist.c:155
msgid "File limit"
-msgstr "Fájl határ"
+msgstr "Fájlkorlátozás"
#: siglist.c:159
msgid "Alarm (virtual)"
-msgstr "Emlékeztetés (virtuális)"
+msgstr "Ébresztés (virtuális)"
#: siglist.c:163
msgid "Alarm (profile)"
-msgstr "Emlékeztetés (profil)"
+msgstr "Ébresztés (profilozás)"
#: siglist.c:167
msgid "Window changed"
-msgstr "Ablak megváltozott"
+msgstr "Ablak változott"
#: siglist.c:171
msgid "Record lock"
-msgstr "Felvétel zárolva"
+msgstr "Elveszett zárolás"
#: siglist.c:175
msgid "User signal 1"
-msgstr "Felhasználói jel 1"
+msgstr "Felhasználói 1."
#: siglist.c:179
msgid "User signal 2"
-msgstr "Felhasználói jel 2"
+msgstr "Felhasználói 2."
#: siglist.c:183
msgid "HFT input data pending"
-msgstr "HFT bemeneti adat függõben"
+msgstr "HFT bemeneti adat vár"
#: siglist.c:187
msgid "power failure imminent"
-msgstr "áram kimaradás várható"
+msgstr "táphiba fenyeget"
#: siglist.c:191
msgid "system crash imminent"
-msgstr "rendszer sérülés várható"
+msgstr "rendszerleállás fenyeget"
#: siglist.c:195
msgid "migrate process to another CPU"
-msgstr "feladat átadása másik CPU-nak"
+msgstr "folyamat átvitele másik CPU-ra"
#: siglist.c:199
msgid "programming error"
-msgstr "programozási hiba"
+msgstr "programozási hiba"
#: siglist.c:203
msgid "HFT monitor mode granted"
-msgstr "HFT felügyelõ mód engedélyezve"
+msgstr "HFT monitor mód megadva"
#: siglist.c:207
msgid "HFT monitor mode retracted"
-msgstr "HFT felügyelõ mód visszavonva"
+msgstr "HFT monitor mód visszavonva"
#: siglist.c:211
msgid "HFT sound sequence has completed"
-msgstr "HFT hangsorozat behelyezve"
+msgstr "HFT hangfolyamat befejezve"
#: siglist.c:215
msgid "Information request"
-msgstr ""
+msgstr "Információkérés"
#: siglist.c:223
msgid "Unknown Signal #"
-msgstr "Ismeretlen # Szignál"
+msgstr "Ismeretlen szignál #"
#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
-msgstr "Ismeretlen #%d Szignál"
+msgstr "%d. számú ismeretlen szignál"
-#: subst.c:1333 subst.c:1454
-#, fuzzy, c-format
+#: subst.c:1333 subst.c:1502
+#, c-format
msgid "bad substitution: no closing `%s' in %s"
-msgstr "rossz behelyettesítés: ne a %s be a %s-t"
+msgstr "hibás helyettesítés: nincs záró „%s†a következőben: %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
-msgstr "%s: nem lehet a listához rendelni az elemet"
+msgstr "%s: lista nem adható tömbelemnek értékül"
-#: subst.c:4754 subst.c:4770
-#, fuzzy
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
-msgstr "nem lehet létrehozni a pipe-ot feladat behelyettesítéshez: %s"
+msgstr "nem hozható létre a csővezeték a folyamatbehelyettesítéshez"
-#: subst.c:4802
-#, fuzzy
+#: subst.c:5027
msgid "cannot make child for process substitution"
-msgstr ""
-"nem lehet létrehozni a gyermekfolyamatott feladat behelyettesítéshez: %s"
+msgstr "nem hozható létre a gyermek a folyamatbehelyettesítéshez"
-#: subst.c:4847
-#, fuzzy, c-format
+#: subst.c:5072
+#, c-format
msgid "cannot open named pipe %s for reading"
-msgstr "nem lehet létrehozni a %s \"named pipe\"-ot a %s-nek: %s"
+msgstr "nem nyitható meg olvasásra a(z) %s csővezeték"
-#: subst.c:4849
-#, fuzzy, c-format
+#: subst.c:5074
+#, c-format
msgid "cannot open named pipe %s for writing"
-msgstr "nem lehet létrehozni a %s \"named pipe\"-ot a %s-nek: %s"
+msgstr "nem nyitható meg írásra a(z) %s csővezeték"
-#: subst.c:4867
-#, fuzzy, c-format
+#: subst.c:5092
+#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "nem lehet másolni a %s \"named pipe\"-ot mint fd %d :%s"
+msgstr "nem duplikálható a(z) %s csővezeték %d. fájlleíróként"
-#: subst.c:5063
-#, fuzzy
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
-msgstr "nem lehet létrehozni a \"pipe\"-ot parancs behelyettesítéséhez: %s"
+msgstr "nem hozható létre csővezeték a parancsbehelyettesítéshez"
-#: subst.c:5097
-#, fuzzy
+#: subst.c:5322
msgid "cannot make child for command substitution"
-msgstr ""
-"nem lehet létrehozni a gyermekfolyamatot a parancs behelyettesítéséhez: %s"
+msgstr "nem hozható létre gyermek a parancsbehelyettesítéshez"
-#: subst.c:5114
-#, fuzzy
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr "command_substitute: nem lehet másolni a \"pipe\"-ot mint fd 1: %s"
+msgstr "command_substitute: nem duplikálható a csővezeték 1. fájlleíróként"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
-msgstr "%s paraméter semmis vagy nincs beállítva"
+msgstr "%s: a paraméter null vagy nincs beállítva"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
-msgstr "%s szövegrész kifejezés < 0"
+msgstr "%s: részkarakterlánc-kifejezés < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
-msgstr "%s rossz behelyettesítés"
+msgstr "%s: rossz helyettesítés"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
-msgstr "$%s így nem lehet hozzárendelni"
+msgstr "$%s: nem lehet így értéket adni"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"a parancsértelmező későbbi verziói kötelezővé teszik majd az aritmetikai "
+"kiértékelést"
-#: subst.c:7839
-#, fuzzy, c-format
+#: subst.c:8149
+#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "rossz behelyettesítés: ne a %s be a %s-t"
+msgstr "hibás helyettesítés: nincs záró „`†a következőben: %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
-msgstr ""
+msgstr "nincs találat: %s"
#: test.c:146
msgid "argument expected"
-msgstr "paraméter szükséges"
+msgstr "argumentum szükséges"
#: test.c:155
#, c-format
msgid "%s: integer expression expected"
-msgstr "%s egész szám szükséges"
+msgstr "%s: egész kifejezés szükséges"
#: test.c:263
msgid "`)' expected"
-msgstr "')' szükséges"
+msgstr "„)†szükséges"
#: test.c:265
#, c-format
msgid "`)' expected, found %s"
-msgstr "')' szükséges, %s-t találtam"
+msgstr "„)†szükséges %s helyett"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
-msgstr "%s unáris mûvelet szükséges"
+msgstr "%s: egyoperandusú operátor szükséges"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
-msgstr "%s:bináris mûvelet szükséges"
+msgstr "%s: kétoperandusú operátor szükséges"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
-msgstr "hiányzó ']'"
+msgstr "hiányzó „]â€"
-#: trap.c:203
-#, fuzzy
+#: trap.c:207
msgid "invalid signal number"
-msgstr "rossz jel(signal) szám"
+msgstr "érvénytelen szignálszám"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr ""
+msgstr "run_pending_traps: rossz érték a trap_list[%d]-ban: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
+"run_pending_traps: szignálkezelő a SIG_DFL, %d (%s) újraküldése önmagunknak"
-#: trap.c:380
-#, fuzzy, c-format
+#: trap.c:393
+#, c-format
msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: Rossz jel(signal) %d"
+msgstr "trap_handler: rossz szignál: %d"
#: variables.c:363
#, c-format
msgid "error importing function definition for `%s'"
-msgstr "hiba a %s funkció definíció importálásakor"
+msgstr "hiba a függvénydefiníció betöltésekor: „%sâ€"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
-msgstr ""
+msgstr "a parancsértelmező szintje (%d) túl magas, visszaállítás 1-re"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
-msgstr ""
+msgstr "make_local_variable: nincs függvénykörnyezet az aktuális látókörben"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
-msgstr ""
+msgstr "all_local_variables: nincs függvénykörnyezet az aktuális látókörben"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s paraméter semmis vagy nincs beállítva"
+msgstr "%s exportstr-je null"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
-msgstr ""
+msgstr "érvénytelen karakter (%d) %s exportstr-jében"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
-msgstr ""
+msgstr "nincs „=†%s exportstr-jében"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
+msgstr "pop_var_context: shell_variables feje nem egy függvénykörnyezet"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
-msgstr ""
+msgstr "pop_var_context: nincs global_variables környezet"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
+msgstr "pop_scope: shell_variables feje nem egy átmeneti környezeti látókör"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: nem lehet létrehozni: %s"
+msgstr "%s: %s: nem nyitható meg FILE-ként"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr ""
+msgstr "%s: %s: érvénytelen érték a trace fájlleíróhoz"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr ""
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright © 2009 Free Software Foundation, Inc."
#: version.c:47
msgid ""
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"A licenc GPLv3+: a GNU GPL 3. vagy újabb változata <http://gnu.org/licenses/"
+"gpl.html>\n"
#: version.c:86 version2.c:83
-#, fuzzy, c-format
+#, c-format
msgid "GNU bash, version %s (%s)\n"
-msgstr "GNU %s, verzió %s\n"
+msgstr "GNU bash, %s (%s) verzió\n"
#: version.c:91 version2.c:88
#, c-format
msgid "This is free software; you are free to change and redistribute it.\n"
-msgstr ""
+msgstr "Ez egy szabad szoftver, terjesztheti és/vagy módosíthatja.\n"
#: version.c:92 version2.c:89
#, c-format
msgid "There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
+msgstr "NINCS GARANCIA, a törvény által engedélyezett mértékig.\n"
#: version2.c:86
#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr ""
+msgstr "Copyright © 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
#, c-format
@@ -1923,44 +1949,44 @@ msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"A licenc GPLv2+: a GNU GPL 2. vagy újabb változata <http://gnu.org/licenses/"
+"gpl.html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: nem lehet újra lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "%s: nem lehetséges %lu byte foglalása (%lu byte lett foglalva)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: nem lehet újra lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "%s: nem lehetséges %lu byte foglalása"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: nem lehet újra lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "%s: %s:%d nem lehetséges %lu byte foglalása (%lu byte lett foglalva)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: nem lehet újra lefoglalni %lu bájtot (%lu bájt lefoglalva)"
+msgstr "%s: %s:%d nem lehetséges %lu byte foglalása"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
-msgstr "alias [-p] [név[=érték] ... ]"
+msgstr "alias [-p] [név[=érték] ... ]"
#: builtins.c:47
-#, fuzzy
msgid "unalias [-a] name [name ...]"
-msgstr "unalias [-a] [név ...]"
+msgstr "unalias [-a] név [név ...]"
#: 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 keymap] [-f fájlnév] [-q név] [-r bill.kód] [bill.kód:"
-"readline-funkció]"
+"bind [-lpvsPVS] [-m kiosztás] [-f fájlnév] [-q név] [-u név] [-r billkomb] [-"
+"x billkomb:shell-parancs] [billkomb:readline-függvény vagy readline-parancs]"
#: builtins.c:54
msgid "break [n]"
@@ -1975,19 +2001,17 @@ msgid "builtin [shell-builtin [arg ...]]"
msgstr "builtin [shell-builtin [arg ...]]"
#: builtins.c:61
-#, fuzzy
msgid "caller [expr]"
-msgstr "test [kifelyezés]"
+msgstr "caller [kif]"
#: builtins.c:64
#, fuzzy
-msgid "cd [-L|-P] [dir]"
-msgstr "cd [-PL] [könyvtár]"
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|-P] [ktár]"
#: builtins.c:66
-#, fuzzy
msgid "pwd [-LP]"
-msgstr "pwd [-PL]"
+msgstr "pwd [-LP]"
#: builtins.c:68
msgid ":"
@@ -1995,30 +2019,29 @@ msgstr ":"
#: 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] parancs [arg ...]"
+msgstr "command [-pVv] parancs [arg ...]"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-afFrxi] [-p] név[=érték] ..."
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFilrtux] [-p] [név[=érték] ...]"
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr "typeset [-afFrxi] [-p] név[=érték] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFilrtux] [-p] név[=érték] ..."
#: builtins.c:80
-#, fuzzy
msgid "local [option] name[=value] ..."
-msgstr "local name[=érték] ..."
+msgstr "local [kapcsoló] név[=érték] ..."
#: builtins.c:83
msgid "echo [-neE] [arg ...]"
@@ -2029,9 +2052,8 @@ msgid "echo [-n] [arg ...]"
msgstr "echo [-n] [arg ...]"
#: builtins.c:90
-#, fuzzy
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr "enable [-pnds] [-a] [-f fájlnév] [név ...]"
+msgstr "enable [-a] [-dnps] [-f fájlnév] [név ...]"
#: builtins.c:92
msgid "eval [arg ...]"
@@ -2039,71 +2061,64 @@ msgstr "eval [arg ...]"
#: builtins.c:94
msgid "getopts optstring name [arg]"
-msgstr "getopts optstring név [arg]"
+msgstr "getopts opciók név [arg]"
#: builtins.c:96
-#, fuzzy
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr "exec [-cl] [-a név] fájl [átirányítás ...]"
+msgstr "exec [-cl] [-a név] [parancs [argumentumok ...]] [átirányítás ...]"
#: 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 ename] [-nlr] [elsõ] [utolsó] vagy fc -s [pat=rep] [cmd]"
+msgstr ""
+"fc [-e ename] [-lnr] [első] [utolsó] vagy fc -s [minta=csere] [parancs]"
#: builtins.c:107
msgid "fg [job_spec]"
-msgstr "fg [munka_folyamat]"
+msgstr "fg [munkaszám]"
#: builtins.c:111
-#, fuzzy
msgid "bg [job_spec ...]"
-msgstr "bg [munka_folyamat]"
+msgstr "bg [munkaszám ...]"
#: builtins.c:114
-#, fuzzy
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr "hash [-r] [-p útvonal] [név ...]"
+msgstr "hash [-lr] [-p útvonal] [-dt] [név ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [minta ...]"
+msgstr "help [-dms] [minta ...]"
#: builtins.c:121
-#, fuzzy
msgid ""
"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
"[arg...]"
msgstr ""
-"history [-c] [n] vagy history -awrn [fájlnév] vagy history -ps arg [arg...]"
+"history [-c] [-d szám] [n] vagy history -anrw [fájlnév] vagy history -ps arg "
+"[arg...]"
#: builtins.c:125
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
-msgstr "jobs [-lnprs] [munkafolyamat ...] vagy jobs -x parancs [args]"
+msgstr "jobs [-lnprs] [munkaszám ...] vagy jobs -x parancs [args]"
#: builtins.c:129
-#, fuzzy
msgid "disown [-h] [-ar] [jobspec ...]"
-msgstr "disown [munka folyamat ...]"
+msgstr "disown [-h] [-ar] [munkaszám ...]"
#: builtins.c:132
-#, fuzzy
msgid ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
"[sigspec]"
msgstr ""
-"kill [-s jeltípus(sigspec) | -n jel(signum) | -jeltípus(sigspec)] [pid | "
-"job]... vagy kill -l [jeltípus(sigspec)]"
+"kill [-s szignál | -n szignálszám | -szignál] pid | munkaszám ... vagy kill -"
+"l [szignál]"
#: builtins.c:134
msgid "let arg [arg ...]"
@@ -2114,6 +2129,8 @@ msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
+"read [-ers] [-a tömb] [-d elválasztó] [-i szöveg] [-n nchars] [-N nchars] [-"
+"p prompt] [-t időkeret] [-u fd] [név ...]"
#: builtins.c:138
msgid "return [n]"
@@ -2121,37 +2138,33 @@ msgstr "return [n]"
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o opció] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o beállításnév] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
-msgstr "unset [-f] [-v] [név ...]"
+msgstr "unset [-f] [-v] [név ...]"
#: builtins.c:144
-#, fuzzy
msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr "export [-nf] [név ...] vagy export -p"
+msgstr "export [-fn] [név[=érték] ...] vagy export -p"
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr "readonly [-anf] [név ...] vagy readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-af] [név[=érték] ...] vagy readonly -p"
#: builtins.c:148
-#, fuzzy
msgid "shift [n]"
-msgstr "exit [n]"
+msgstr "shift [n]"
#: builtins.c:150
-#, fuzzy
msgid "source filename [arguments]"
-msgstr "forrás fájlneve"
+msgstr "source fájlnév [argumentumok]"
#: builtins.c:152
-#, fuzzy
msgid ". filename [arguments]"
-msgstr "fájlnév"
+msgstr ". fájlnév [argumentumok]"
#: builtins.c:155
msgid "suspend [-f]"
@@ -2159,7 +2172,7 @@ msgstr "suspend [-f]"
#: builtins.c:158
msgid "test [expr]"
-msgstr "test [kifelyezés]"
+msgstr "test [expr]"
#: builtins.c:160
msgid "[ arg... ]"
@@ -2170,56 +2183,48 @@ msgid "times"
msgstr "times"
#: builtins.c:164
-#, fuzzy
msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr "trap [arg] [signal_spec] vagy trap -l"
+msgstr "trap [-lp] [[arg] szignál ...]"
#: builtins.c:166
-#, fuzzy
msgid "type [-afptP] name [name ...]"
-msgstr "type [-apt] név [név ...]"
+msgstr "type [-afptP] név [név ...]"
#: builtins.c:169
-#, fuzzy
msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
-msgstr "ulimit [-SHacdfmstpnuv] [határ]"
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [korlát]"
#: builtins.c:172
-#, fuzzy
msgid "umask [-p] [-S] [mode]"
-msgstr "mask [-S] [mód]"
+msgstr "umask [-p] [-S] [mód]"
#: 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 NÉV [in SZAVAK ... ;] do PARANCSOK; done"
+msgstr "for NÉV [in SZAVAK ... ] ; do PARANCSOK; done"
#: builtins.c:184
-#, fuzzy
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr "for NÉV [in SZAVAK ... ;] do PARANCSOK; done"
+msgstr "for (( kif1; kif2; kif3 )); do PARANCSOK; done"
#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr "select NÉV [in SZAVAK ... ;] do PARANCSOK; done"
+msgstr "select NÉV [in SZAVAK ... ;] do PARANCSOK; done"
#: builtins.c:188
msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] csővezeték"
#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr "case SZÓ in [MINTA [| MINTA]...) PARANCSOK ;;]... esac"
+msgstr "case SZÓ in [MINTA [| MINTA]...) PARANCSOK ;;]... esac"
#: builtins.c:192
msgid ""
@@ -2239,61 +2244,51 @@ msgstr "until PARANCSOK; do PARANCSOK; done"
#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
-msgstr ""
+msgstr "coproc [NÉV] parancs [átirányítások]"
#: builtins.c:200
-#, fuzzy
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr "function NÉV { PARANCSOK ; } vagy NÉV () { PARANCSOK ; }"
+msgstr "function név { PARANCSOK ; } vagy név () { PARANCSOK ; }"
#: builtins.c:202
-#, fuzzy
msgid "{ COMMANDS ; }"
-msgstr "{ PARANCSOK }"
+msgstr "{ PARANCSOK ; }"
#: builtins.c:204
-#, fuzzy
msgid "job_spec [&]"
-msgstr "fg [munka_folyamat]"
+msgstr "munkaszám [&]"
#: builtins.c:206
-#, fuzzy
msgid "(( expression ))"
-msgstr "várható kifejezés"
+msgstr "(( kifejezés ))"
#: builtins.c:208
-#, fuzzy
msgid "[[ expression ]]"
-msgstr "várható kifejezés"
+msgstr "[[ kifejezés ]]"
#: builtins.c:210
-#, fuzzy
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
-"A parancsértelmezõ változói felhasználhatók operandusként. A változó neve"
+msgstr "variables - Néhány változó neve és jelentése"
#: builtins.c:213
-#, fuzzy
msgid "pushd [-n] [+N | -N | dir]"
-msgstr "pushd [könyvtár | +N | -N] [-n]"
+msgstr "pushd [-n] [+N | -N | ktár]"
#: builtins.c:217
-#, fuzzy
msgid "popd [-n] [+N | -N]"
-msgstr "popd [+N | -N] [-n]"
+msgstr "popd [-n] [+N | -N]"
#: builtins.c:221
msgid "dirs [-clpv] [+N] [-N]"
msgstr "dirs [-clpv] [+N] [-N]"
#: builtins.c:224
-#, fuzzy
msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr "shopt [-pqsu] [-o hosszú opciók] optnév [optnév...]"
+msgstr "shopt [-pqsu] [-o] [optnév ...]"
#: builtins.c:226
msgid "printf [-v var] format [arguments]"
-msgstr ""
+msgstr "printf [-v változó] formátum [argumentumok]"
#: builtins.c:229
msgid ""
@@ -2301,29 +2296,38 @@ msgid ""
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o beállítás] [-A művelet] [-G "
+"globminta] [-W szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P "
+"prefixum] [-S szuffixum] [név ...]"
#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
+"compgen [-abcdefgjksuv] [-o beállítás] [-A művelet] [-G globminta] [-W "
+"szólista] [-F függvény] [-C parancs] [-X szűrőminta] [-P prefixum] [-S "
+"szuffixum] [szó]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "type [-apt] név [név ...]"
+msgstr "compopt [-o|+o beállítás] [-DE] [név ...]"
#: builtins.c:240
msgid ""
"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"mapfile [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C parancs] [-c "
+"távolság] [tömb]"
#: builtins.c:242
msgid ""
"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"readarray [-n szám] [-O kezdet] [-s szám] [-t] [-u fd] [-C parancs] [-c "
+"távolság] [tömb]"
#: builtins.c:254
msgid ""
@@ -2344,9 +2348,22 @@ msgid ""
"been\n"
" defined."
msgstr ""
+"Aliasok definiálása vagy kiírása.\n"
+" \n"
+" Argumentumok nélkül az „alias†kiír egy újrahasználható listát a meglé-\n"
+" vő aliasokról „alias NÉV=ÉRTÉK' formában a szabványos kimenetre.\n"
+" \n"
+" Különben egy NÉV nevű aliast definiál ÉRTÉK értékkel. Az ÉRTÉK végén a\n"
+" záró szóköz lehetővé teszi a következő szó számára is az aliashelyette-\n"
+" sítést.\n"
+" \n"
+" Beállítások:\n"
+" -p Kiír minden aliast a fenti formában\n"
+" \n"
+" Kilépési kód:\n"
+" igazzal tér vissza, kivéve ha nincs megadott NÉV nevű alias definiálva."
#: builtins.c:276
-#, fuzzy
msgid ""
"Remove each NAME from the list of defined aliases.\n"
" \n"
@@ -2354,7 +2371,13 @@ msgid ""
" -a\tremove all alias definitions.\n"
" \n"
" Return success unless a NAME is not an existing alias."
-msgstr "NÉV eltávolítása a meghatározott aliasok listájából. A -a opció"
+msgstr ""
+"Minden NÉV eltávolítása a definiált aliasok közül.\n"
+" \n"
+" Beállítások:\n"
+" -a minden definíció törlése.\n"
+" \n"
+" Sikeresen tér vissza, kivéve ha nincs megadott NÉV nevű alias."
#: builtins.c:289
msgid ""
@@ -2394,9 +2417,43 @@ msgid ""
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
+"Readline billentyűkötések és változók beállítása.\n"
+" \n"
+" Egy billentyűsorozat hozzárendelése Readline függvényhez vagy makróhoz,\n"
+" vagy Readline változó beállítása. A beállítás nélküli szintaxis mege-\n"
+" gyezik az ~/.inputrc-ben találhatóval, de kell legyen egy argumentuma:\n"
+" pl. bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" Beállítások:\n"
+" -m kiosztás KIOSZTÃS használata kiosztásként a parancs hatásá-\n"
+" nak idejére. Elfogadható kiosztásnevek: emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-\n"
+" move, vi-command és vi-insert.\n"
+" -l Nevek és függvények listázása.\n"
+" -P Függvénynevek és kötések listázása.\n"
+" -p Függvények és kötések listázása újrahasználható\n"
+" formában.\n"
+" -S Makrókat végrehajtó billentyűkombinációk és "
+"értéke-\n"
+" ik listázása.\n"
+" -s Makrókat végrehajtó billentyűkombinációk és "
+"értéke-\n"
+" ik listázása újrahasználható formában.\n"
+" -V Változónevek és értékek listázása.\n"
+" -v Változónevek és értékek listázása újrahasználható\n"
+" formában.\n"
+" -q függvénynév A függvényhez tartozó billentyűkombináció "
+"lekérése.\n"
+" -u függvénynév Össze adott függvényhez tartozó billentyűkombiná-\n"
+" ció törlése.\n"
+" -r billkomb A BILLKOMB-hoz tartozó kötések törlése.\n"
+" -f fájlnév Kötések olvasása FÃJLNÉV fájlból.\n"
+" -x billkomb:shell-parancs SHELL-PARANCS végrehajtása BILLKOMB-ra.\n"
+" \n"
+" Kilépési kód:\n"
+" a bind 0-val tér vissza, ha nincs ismeretlen kapcsoló vagy hiba."
#: builtins.c:326
-#, fuzzy
msgid ""
"Exit for, while, or until loops.\n"
" \n"
@@ -2406,11 +2463,15 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Folytatja a következõ egy szinttel magasabban elhelyezkedõ FOR, WHILE vagy "
-"UNTIL hurokkal."
+"Kilép a for, while vagy until ciklusokból.\n"
+" \n"
+" Kilép egy FOR, WHILE vagy UNTIL ciklusból. Ha N meg van adva, akkor N\n"
+" egymásba ágyazott ciklusból lép ki.\n"
+" \n"
+" Kilépési kód:\n"
+" A kilépési kód 0, ha N >= 1."
#: builtins.c:338
-#, fuzzy
msgid ""
"Resume for, while, or until loops.\n"
" \n"
@@ -2420,8 +2481,14 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
-"Folytatja a következõ egy szinttel magasabban elhelyezkedõ FOR, WHILE vagy "
-"UNTIL hurokkal."
+"Újrakezdi a for, while vagy until ciklust.\n"
+" \n"
+" A következő iterációtól folytatja a FOR, WHILE vagy UNTIL ciklust.\n"
+" If N is specified, resumes the Nth enclosing loop.\n"
+" Ha N meg van adva, akkor N egymásba ágyazott ciklusból lép ki.\n"
+" \n"
+" Kilépési kód:\n"
+" A kilépési kód 0, ha N >= 1."
#: builtins.c:350
msgid ""
@@ -2436,6 +2503,15 @@ msgid ""
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
msgstr ""
+"Beépített parancsok végrehajtása.\n"
+" \n"
+" Végrehajtja SHELL-BUILTIN-t ARG argumentumokkal parancskeresés nélkül.\n"
+" Ez akkor hasznos, ha felül szeretne definiálni egy beépített parancsot\n"
+" függvényként, de ebből meg szeretné hívni az eredeti parancsot.\n"
+" \n"
+" Kilépési kód:\n"
+" Továbbadja a SHELL-BUILTIN kilépési kódját vagy hamissal tér vissza,\n"
+" ha nincs ilyen parancs."
#: builtins.c:365
msgid ""
@@ -2452,8 +2528,21 @@ msgid ""
" Returns 0 unless the shell is not executing a shell function or EXPR\n"
" is invalid."
msgstr ""
+"Visszaadja az aktuális szubrutinhívás környezetét.\n"
+" \n"
+" KIF nélkül \"$sor $fájlnév\" formátumú eredményt ad. KIF-fel pedig\n"
+" \"$sor $szubrutin $fájlnév\" formátumút; ez hasznos lehet stack trace\n"
+" kiírásához.\n"
+" \n"
+" Az EXPR értéke azt adja meg, hogy a jelenlegihez képest milyen mélyre\n"
+" lépjen vissza; a verem tetején a 0-s keret van.\n"
+" \n"
+" Kilépési kód:\n"
+" 0-val tér vissza, ha érvényes KIF és valóban függvényt hajt végre a pa-\n"
+" rancsértelmező."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2479,14 +2568,42 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
+"A parancsértelmező munkakönyvtárát váltja.\n"
+" \n"
+" A munkakönyvtára KTÃR-ra váltja. Elhagyása esetén a HOME környezeti\n"
+" változóban lévő könyvtárra vált.\n"
+" \n"
+" A CDPATH környezeti változó adja meg a KTÃR keresési útvonalait. Az\n"
+" útvonalakat kettőspont (:) válassza el. Egy üres könyvtárnév az aktu-\n"
+" ális könyvtárat jelenti. Ha KTÃR „/†jellel kezdÅ‘dik, a CDPATH értéke\n"
+" nincs figyelembe véve.\n"
+" \n"
+" Ha a könyvtár nem létezik, és a „cdable_vars†parancsértelmező-beállí-\n"
+" tás aktív, KTÃR egy változónévként lesz használva. Ha a változónak van\n"
+" értéke, az lesz KTÃR-értékként használva.\n"
+" \n"
+" Kapcsolók:\n"
+" -L szimbolikus linkek szigorú követése\n"
+" -P a fizikai könyvtárfa használata a szimbolikus linkek "
+"követése\n"
+" helyett\n"
+" \n"
+" Az alapértelmezett a szimbolikus linkek követése, mintha „-L†lenne\n"
+" megadva.\n"
+" Kilépési kód:\n"
+" 0-val tér vissza, ha könyvtárat váltott; más értéket különben."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2501,9 +2618,21 @@ msgid ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
+"Az aktuális munkakönyvtár útvonalának kiírása.\n"
+" \n"
+" Kapcsolók:\n"
+" -L $PWD értékének kiírása, ha az a munkakönyvtár érvényes\n"
+" neve\n"
+" -P a fizikai könyvtár kiírása, szimbolikus linkek nélkül\n"
+" \n"
+" Az alapértelmezett a szimbolikus linkek követése, mintha „-L†lenne\n"
+" megadva.\n"
+" \n"
+" Kilépési kód:\n"
+" 0-val tér vissza, kivéve ha érvénytelen kapcsolót kapott vagy nem le-\n"
+" het olvasni a munkakönyvtárat."
-#: builtins.c:428
-#, fuzzy
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2511,25 +2640,39 @@ msgid ""
" \n"
" Exit Status:\n"
" Always succeeds."
-msgstr "Nem csinál semmit ez a parancs. A visszatérési értéke 0."
+msgstr ""
+"Nincs művelet.\n"
+" \n"
+" Nincs hatása, a parancs nem csinál semmit.\n"
+" \n"
+" Kilépési kód:\n"
+" Mindig sikeres."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Sikeres visszatérés.\n"
+" \n"
+" Kilépési kód:\n"
+" Mindig sikeres."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
" Exit Status:\n"
" Always fails."
msgstr ""
+"Sikertelen visszatérés.\n"
+" \n"
+" Kilépési kód:\n"
+" Mindig sikertelen."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2547,8 +2690,26 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
+"Egy parancsot hajt végre vagy információt jelenít meg róla.\n"
+" \n"
+" Végrehajtja a PARANCS parancsot ARGUMENTUMOK argumentumokkal a függ-\n"
+" vényfeloldás végrehajtása nélkül; vagy információt jelenít meg a pa-\n"
+" rancsról. Használható programok futtatására, ha azonos nevű függvény\n"
+" létezik.\n"
+" \n"
+" Kapcsolók:\n"
+" -p alapértelmezett érték használata PATH helyett, amely ga-\n"
+" rantáltan megtalál minden szabványos eszközt -v "
+"egy leírást ad a PARANCS parancsról a „type†beépített pa-\n"
+" rancshoz hasonló módon\n"
+" -V minden PARANCS-ról egy részletesebb leírást ad\n"
+" \n"
+" Kilépési kód:\n"
+" PARANCS kilépési kódjával tér vissza, vagy hibát jelez, ha nem talál-\n"
+" ható PARANCS."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2559,6 +2720,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2578,20 +2741,56 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Változóértékeket és jellemzőket állít be.\n"
+" \n"
+" Változók deklarálása és jellemzők adása. Ha nincs NÉV megadva, kilis-\n"
+" tázza az összes változó jellemzőit és értékét.\n"
+" \n"
+" Kapcsolók:\n"
+" -f művelet és megjelenítés korlátozása függvénynevekre és\n"
+" -definíciókra\n"
+" -F megjelenítés korlátozása függvénynevekre (és sor számára,\n"
+" valamint a forrásfájl nevére hibakereséskor)\n"
+" -p minden NÉV jellemzőinek és értékének kiírása\n"
+" \n"
+" Jellemzőket állító kapcsolók:\n"
+" -a NÉV indexelt tömbbé alakítása (ha támogatott)\n"
+" -A NÉV asszociatív tömbbé alakítása (ha támogatott)\n"
+" -i minden NÉV kapjon „integer†jellemzőt\n"
+" -l NÉV-hez való értékadáskor kisbetűssé konvertálás\n"
+" -r minden NÉV legyen csak olvasható\n"
+" -t minden NÉV kapjon „trace†jellemzőt\n"
+" -u NÉV-hez való érékadáskor nagybetűssé konvertálás\n"
+" -x minden NÉV exportálása\n"
+" \n"
+" A „-†helyett „+†használata kikapcsolja az adott jellemzőt.\n"
+" \n"
+" Az integer jellemzővel rendelkező változókhoz való értékadáskor arit-\n"
+" metikai kiértékelés történik (lásd a „let†parancsot).\n"
+" \n"
+" Függvénytörzsben „declareâ€-t használva minden NÉV helyi lesz, hasonló-\n"
+" an a „local†parancshoz.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap, vagy hiba\n"
+" történt."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
+"Változóértékeket és jellemzőket állít be.\n"
+" \n"
+" Elavult. Lásd „help declareâ€."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2605,8 +2804,19 @@ msgid ""
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
msgstr ""
+"Helyi változók definiálása.\n"
+" \n"
+" Egy NÉV nevű helyi változót hoz létre, és ÉRTÉK értéket ad neki. KAP-\n"
+" CSOLÓ tetszőleges „declare†által elfogadott kapcsoló lehet.\n"
+" \n"
+" A helyi változók csak a függvényen belül használhatóak, nem láthatóak\n"
+" az őket definiáló függvényen és azok gyermekein kívül.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap, hiba\n"
+" történt, vagy nem függvényben lett hívva."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2636,8 +2846,35 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-
-#: builtins.c:571
+"Argumentumok szabványos kimenetre írása.\n"
+" \n"
+" Argumentumok és egy újsor kiírása a szabványos kimenetre.\n"
+" \n"
+" Kapcsolók:\n"
+" -n ne fűzzön hozzá újsort\n"
+" -e az alábbi escape-szekvenciák értelmezése\n"
+" -E escape-szekvenciák értelmezésének tiltása\n"
+" \n"
+" Az „echoâ€a következÅ‘ visszaper-escape-karaktereket értelmezi:\n"
+" \\a terminálcsengő\n"
+" \\b visszatörlés (backspace)\n"
+" \\c további kimenet elnyelése\n"
+" \\e escape-karakter\n"
+" \\f lapdobás-karakter\n"
+" \\n újsor-karakter\n"
+" \\r kocsivissza-karakter\n"
+" \\t vízszintes tabulátor\n"
+" \\v függőleges tabulátor\n"
+" \\\\ visszaper (\\)\n"
+" \\0nnn az oktális NNN ASCII-kódú karakter. NNN 0–3\n"
+" oktális számjegy lehet\n"
+" \\xHH az a 8 bites karakter, amelynek értéke HH\n"
+" (hexadecimálisan). HH egy vagy két hexaszámjegy lehet\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve írási hiba esetén."
+
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2649,8 +2886,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"Argumentumok szabványos kimenetre írása.\n"
+" \n"
+" Argumentumok és egy újsor kiírása a szabványos kimenetre.\n"
+" \n"
+" Kapcsolók:\n"
+" -n ne fűzzön hozzá újsort\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve írási hiba esetén."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2676,8 +2922,34 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
+"Parancsértelmező beépített parancsainak engedélyezése és tiltása.\n"
+" \n"
+" Beépített parancsokat engedélyez és tilt. Egy parancs letiltásával az\n"
+" elérési út beírása nélkül lehet beépített paranccsal megegyező nevű-\n"
+" programot futtatni.\n"
+" \n"
+" Kapcsolók:\n"
+" -a a beépített parancsok és azok állapotának listázása\n"
+" -n minden NÉV tiltása vagy a tiltott parancsok listázása\n"
+" -p a beépített parancsokat listázza újrahasználható formában\n"
+" -s csak a Posix „special†beépített parancsokat listázza\n"
+" \n"
+" Dinamikus betöltést szabályozó kapcsolók:\n"
+" -f NÉV nevű beépített parancs betöltése a FÃJLNÉV megosztott "
+"objek-\n"
+" tumfájlból\n"
+" -d egy -f kapcsolóval betöltött parancs eltávolítása\n"
+" \n"
+" Kapcsolók nélkül minden NÉV engedélyezésre kerül\n"
+" \n"
+" A beépített parancs helyett a $PATH-ban található „test†használatához\n"
+" használja az „enable -n test†parancsot.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha NÉV nem egy beépített parancs, vagy hi-\n"
+" ba történt."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2688,8 +2960,16 @@ msgid ""
" Exit Status:\n"
" Returns exit status of command or success if command is null."
msgstr ""
+"Argumentumok végrehajtása parancsként.\n"
+" \n"
+" Az argumentumokat összefűzi, és az eredményt egy parancssorként hajtja\n"
+" végre a parancsértelmező.\n"
+" \n"
+" Kilépési kód:\n"
+" A parancs kilépési kódjával tér vissza, vagy sikerrel, ha üres a pa-\n"
+" rancs."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2729,8 +3009,41 @@ msgid ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
msgstr ""
+"Kapcsolók értelmezése.\n"
+" \n"
+" A getopts parancsot arra használják az eljárások, hogy pozicionális\n"
+" paramétereket kapcsolókként értelmezzenek.\n"
+" \n"
+" A KAPCSOLÓK azokat a betűket tartalmazza, amelyeket fel kell ismerni.\n"
+" Ha egy kapcsolót kettőspont követ, a kapcsoló kötelező paramétert vár.\n"
+" Ezt a paramétert szóközzel kell elválasztani a kapcsolótól.\n"
+" \n"
+" Minden végrehajtáskor a getopts a $név változóba helyezi a következő\n"
+" kapcsolót (szükség esetén inicializálva a változót). A kapcsoló indexe\n"
+" az OPTIND változóba kerül. Az OPTIND változót a parancsértelmező indu-\n"
+" láskor 1-re inicializálja. Ha a kapcsolónak paramétere van, ennek ér-\n"
+" téke az OPTARG változóba kerül.\n"
+" \n"
+" A getopts két módon tud hibát jelezni. Elnémítható a hibajelzés az OP-\n"
+" CIÓK kettősponttal való kezdésével. Ebben a módban nem kerül kiírásra\n"
+" hibaüzenet. Ha a getopts érvénytelen opciót talál, ezt az OPTARG vál-\n"
+" tozóba írja. Ha hiányzik egy kötelező paraméter, a $név változóba egy\n"
+" kettőspont kerül, és a talált karakter OPTARG-ba kerül.\n"
+" Ha a getopts nincs néma módban, és érvénytelen kapcsolót talál, $név-\n"
+" be egy kérdőjel kerül, OPTARG törlésre kerül, és hibaüzenetet ír ki.\n"
+" \n"
+" Ha az OPTERR változó 0-ra van állítva, a getopts letiltja a hibaüzene-\n"
+" tet, akkor is, ha nem kettősponttal kezdődik az OPCIÓK. OPTERR alapér-\n"
+" téke 1.\n"
+" \n"
+" A getopts alapvetően pozicionális paramétereket értelmezi ($0–$9), de\n"
+" több argumentum esetén mindet kezeli.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha kapcsolót talált, sikertelenül, ha elfogytak a\n"
+" kapcsolók vagy hiba történt."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2752,17 +3065,37 @@ msgid ""
" Returns success unless COMMAND is not found or a redirection error "
"occurs."
msgstr ""
+"A parancsértelmező felváltása a megadott paranccsal.\n"
+" \n"
+" PARANCS végrehajtása, kicserélve a parancsértelmezőt a megadott prog-\n"
+" rammal. ARGUMENTUMOK lesznek a PARANCS argumentumai. Ha nincs PARANCS\n"
+" megadva, a futó shellre kerülnek érvényesítésre az átirányítások.\n"
+" \n"
+" Kapcsolók:\n"
+" -a név NÉV átadása PARANCS-nak $0-ként\n"
+" -c PARANCS végrehajtása üres környezettel\n"
+" -l PARANCS-nak egy „-†átadása $0-ként\n"
+" \n"
+" Ha a parancs nem hajtható végre, a nem interaktív parancsértelmező ki-\n"
+" lép, kivéve, ha az „execfail†parancsértelmező-beállítás él.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve, ha PARANCS nem található vagy sikertelen\n"
+" az átirányítás."
-#: builtins.c:689
-#, fuzzy
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
-msgstr "Kilép a parancsértelmezõbõl N státusszal. Ha az N-t kihagyja akkor a "
+msgstr ""
+"Kilép a parancsértelmezőből.\n"
+" \n"
+" Kilép a parancsértelmezőből N kilépési kóddal. Ha N hiányzik, az utol-\n"
+" só parancs kilépési kódjával lép ki."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2770,8 +3103,12 @@ msgid ""
"executed\n"
" in a login shell."
msgstr ""
+"Kilép a bejelentkező parancsértelmezőből.\n"
+" \n"
+" Kilép a bejelentkező parancsértelmezőből N kilépési kóddal. Hibával\n"
+" tér vissza, ha nem bejelentkező parancsértelmezőből hívják."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2800,9 +3137,32 @@ msgid ""
" Returns success or status of executed command; non-zero if an error "
"occurs."
msgstr ""
+"Parancsok megjelenítése vagy végrehajtása az előzményből.\n"
+" \n"
+" Az fc segítségével lehet korábbi parancsokat kiírni, módosítani és új-\n"
+" ból végrehajtani.\n"
+" ELSŠés UTOLSÓ lehetnek egy tartományt meghatározó számok, vagy ELSÅ\n"
+" lehet egy karakterlánc, amely az utolsó így kezdődő parancsot jelöli.\n"
+" \n"
+" Kapcsolók:\n"
+" -e ENAME szerkesztő kiválasztása. Az alapértelmezett az FCEDIT,\n"
+" majd EDITOR, végül a vi\n"
+" -l szerkesztés helyett a sorok listázása\n"
+" -n sorok számának elhagyása listázáskor\n"
+" -r sorrend megcserélése (legújabbakkal kezdi a listázást)\n"
+" \n"
+" Az „fc -s [minta=csere] [parancs]†formával PARANCS... újból végrehaj-\n"
+" tásra kerül miután a régi=új behelyettesítés megtörtént.\n"
+" \n"
+" Hasznos lehet az „alias r='fc -s'†használata, mivel így pl. az „r ccâ€\n"
+" parancs végrehajtja az utolsó „ccâ€-vel kezdÅ‘dÅ‘ parancsot, míg „r†meg-\n"
+" ismétli az utolsó parancsot.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikert vagy a végrehajtott parancs kilépési kódját adja; nullától el-\n"
+" térőt hiba esetén."
-#: builtins.c:738
-#, fuzzy
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2813,10 +3173,17 @@ msgid ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-"A munka_folyamat-ot az elõtérbe helyezi és jelenlegi folyamatot csinál "
-"belõle."
+"A munka előtérbe hozása.\n"
+" \n"
+" A MUNKASZÃM által meghatározott munkát az elÅ‘térbe hozza, az aktuális\n"
+" munkává téve azt. Ha nincs MUNKASZÃM, a parancsértelmezÅ‘ által meg-\n"
+" jegyzett aktuális munkára vonatkozik a parancs.\n"
+" \n"
+" Kilépési kód:\n"
+" Az előtérbe hozott parancs állapota (annak kilépésekor), vagy nemnulla\n"
+" hiba esetén."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2829,8 +3196,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Munkák háttérbe küldése.\n"
+" \n"
+" A MUNKASZÃM által meghatározott munkákat háttérbe küldi, mintha „&â€\n"
+" jellel a parancs végén lettek volna indítva. Ha nincs MUNKASZÃM, a pa-\n"
+" rancsértelmező által megjegyzett aktuális munkára vonatkozik a parancs.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha a munkakezelés le van tiltva, vagy hi-\n"
+" ba történt."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2853,8 +3229,27 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-
-#: builtins.c:792
+"Programok helyének megjegyzése vagy megjelenítése.\n"
+" \n"
+" Meghatározza vagy megjegyzi a teljes útvonalát minden megadott NÉV\n"
+" parancsnak. Ha nincs NÉV megadva, az összes megjegyzett parancsot lis-\n"
+" tázza.\n"
+" \n"
+" Kapcsolók:\n"
+" -d minden megjegyzett NÉV helyének elfelejtése\n"
+" -l bemenetként újrahasználható formátumban listázzon\n"
+" -p útvonal ÚTVONAL használata NÉV helyeként\n"
+" -r minden megjegyzett hely elfelejtése\n"
+" -t minden megadott NÉV megjegyzett helyének kiírása,\n"
+" több név esetén a helyek előtt a NÉV kiírása\n"
+" Argumentumok:\n"
+" NÉV Minden NEV-et megkeres a $PATH-ban, és hozzáadja a megjegy-\n"
+" zettek listájához. \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve, ha NÉV nem található vagy érvénytelen kap-\n"
+" csolót kap."
+
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2875,8 +3270,24 @@ msgid ""
" Returns success unless PATTERN is not found or an invalid option is "
"given."
msgstr ""
+"Tájékoztatás megjelenítése beépített parancsokról.\n"
+" \n"
+" Rövid leírásokat jelenít meg a beépített parancsokról. Ha MINTA meg\n"
+" van adva, részletes segítséget ad az összes illeszkedő parancsról, kü-\n"
+" lönben a témákat listázza.\n"
+" \n"
+" Kapcsolók:\n"
+" -d minden témáról rövid leírás listázása\n"
+" -m man-szerű formátum használata\n"
+" -s csak rövid használati útmutató kiírása minden találathoz\n"
+" \n"
+" Argumentumok:\n"
+" MINTA Témakört meghatározó minta\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha nincs találat vagy hibás kapcsolót kap."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2909,8 +3320,37 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"Megjeleníti vagy módosítja az előzményeket.\n"
+" \n"
+" Megjeleníti az előzménylistát sorszámokkal, minden módosított bejegy-\n"
+" zést az elején „*â€-gal megjelölve. N megadása esetén az utolsó N be-\n"
+" jegyzést listázza.\n"
+" \n"
+" Kapcsolók:\n"
+" -c minden előzmény törlése\n"
+" -d szám a SZÃM számú bejegyzés törlése\n"
+" -a a futó munkamenet előzményeinek központi fájlba írása\n"
+" -n minden olvasatlan előzménysor kiírása az előzményfájlból\n"
+" -r előzményfájl beolvasása és előzménylistához írása\n"
+" -w az aktuális előzmények előzményfájlba írása és előzmény-\n"
+" listához írása\n"
+" \n"
+" -p előzménykiegészítés végrehajtása minden ARGumentumon és az\n"
+" eredmény kiírása előzménylistán való tárolás nélkül\n"
+" -s ARGumentumok hozzáírása egyetlen bejegyzésként a listához\n"
+" \n"
+" Ha FÃJLNÉV is meg van adva, az lesz elÅ‘zményfájlként használva. Külön-\n"
+" ben $HISTFILE értéke, vagy ennek híján ~/.bash_history.\n"
+" \n"
+" Ha a $HISTTIMEFORMAT változó be van állítva, és nem üres, akkor értéke\n"
+" lesz használva az strftime(3) formátumparamétereként a kijelzett be-\n"
+" jegyzések időbélyegeinek megjelenítéséhez. Különben nem ír ki időt.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap, vagy hiba\n"
+" történik."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2933,8 +3373,28 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs.\n"
" If -x is used, returns the exit status of COMMAND."
msgstr ""
+"Munkák állapotának megjelenítése.\n"
+" \n"
+" Listáz minden aktív munkát. MUNKASZÃM megadása esetén csak az adott\n"
+" munka jelenik meg, különben az összes aktív.\n"
+" \n"
+" Kapcsolók:\n"
+" -l folyamatazonosítók megjelenítése a többi adaton túl\n"
+" -n csak azon folyamatok listázása, amelyek állapota változott\n"
+" az utolsó értesítés óta\n"
+" -p csak folyamatazonosítók listázása\n"
+" -r csak a futó munkák megjelenítése\n"
+" -s csak a megállított munkák megjelenítése\n"
+" \n"
+" Ha -x meg van adva, PARANCS kerül futtatásra úgy, hogy minden argumen-\n"
+" tum a meghatározott munkához tartozó folyamatcsoport vezetőjének PID-\n"
+" jére cserélődik.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha nem kap érvénytelen kapcsolót és nem történik\n"
+" hiba. -x használata esetén PARANCS kilépési kódjával tér vissza."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2950,8 +3410,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
+"Munkák eltávolítása az aktuális parancsértelmezőből.\n"
+" \n"
+" Eltávolít minden MUNKASZÃM munkát az aktív munkák táblájából. MUNKA-\n"
+" SZÃM megadása nélkül a parancsértelmezÅ‘ által megjegyzett aktuális\n"
+" munkát távolítja el.\n"
+" \n"
+" Kapcsolók:\n"
+" -a minden munka eltávolítása, ha nincs MUNKASZÃM megadva\n"
+" -h minden MUNKASZÃM megjelölése úgy, hogy nem kell továbbadni\n"
+" nekik a parancsértelmező által kapott SIGHUP-ot\n"
+" -r csak futó munkák eltávolítása\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha nem kap érvénytelen kapcsolót vagy MUNKASZÃM-\n"
+" ot."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2972,8 +3447,28 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"Szignál küldése munkának.\n"
+" \n"
+" PID vagy MUNKASZÃM által meghatározott folyamatoknak SZIGNÃL vagy\n"
+" SZIGNÃLSZÃM szignál küldése. Ha sem SZIGNÃL, sem SZIGNÃLSZÃM nincs\n"
+" megadva, akkor SIGTERM az alapértelmezés.\n"
+" \n"
+" Kapcsolók:\n"
+" -s sig SIG egy szignálnév\n"
+" -n sig SIG egy szignálszám\n"
+" -l a szignálnevek listázása; ha argumentumok is követik, akkor\n"
+" az általuk meghatározott szignálok nevei kerülnek listázásra\n"
+" \n"
+" A kill két okból beépített parancs: így lehetővé teszi munkaszámok\n"
+" használatát PID helyett, továbbá lehetségessé válik folyamatok kilövé-\n"
+" se, ha a folyamatok számának korlátja kimerült.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha nem kap érvénytelen kapcsolót és nem történik\n"
+" hiba."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3015,10 +3510,48 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
-msgstr ""
-
-#: builtins.c:966
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
+msgstr ""
+"Aritmetikai kifejezés kiértékelése.\n"
+" \n"
+" Minden ARGumentum kiértékelése aritmetikai kifejezésként. A kiértéke-\n"
+" lés fix szélességű egészek esetén túlcsordulás-ellenőrzés nélkül törté-\n"
+" nik, de a nullával való osztás hibát okoz. Az alábbi operátorok soron-\n"
+" ként azonos precedenciaszinten vannak. A precedencia az alábbi sorrend-\n"
+" ben csökken:\n"
+" \n"
+" id++, id-- változó postfix-növelése, -csökkentése\n"
+" ++id, --id változó prefix-növelése, -csökkentése\n"
+" -, + mínusz, plusz előjel\n"
+" !, ~ logikai és bitenkénti negált\n"
+" ** hatványozás\n"
+" *, /, % szorzás, osztás, maradék\n"
+" +, - összeadás, kivonás\n"
+" <<, >> bitenkénti eltolás balra, jobb\n"
+" <=, >=, <, > összehasonlítás\n"
+" ==, != egyenlőség, egyenlőtlenség\n"
+" & bitenkénti ÉS\n"
+" ^ bitenkénti kizáró vagy\n"
+" | bitenkénti VAGY\n"
+" && logikai ÉS\n"
+" || logikai VAGY\n"
+" kif ? kif : kif\n"
+" feltételes operátor\n"
+" =, *=, /=, %=,\n"
+" +=, -=, <<=, >>=,\n"
+" &=, ^=, |= értékadás\n"
+" \n"
+" Parancsértelmező-változók is lehetnek operandusok. A változók nevének\n"
+" helyére értékük kerül (fix szélességű egészként) a kifejezésben. Nem\n"
+" kell a változók „integer†jellemzőjét beállítani a használathoz.\n"
+" \n"
+" Az operátorok a fenti precedencia szerint hajtódnak végre. A zárójeles\n"
+" kifejezések precedenciája a legmagasabb – ez felülírja a szabályokat.\n"
+" \n"
+" Kilépési kód:\n"
+" Ha az utolsó argumentum 0, a let 1-gyel tér vissza, különben 0-val."
+
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3065,8 +3598,43 @@ msgid ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-
-#: builtins.c:1009
+"Beolvas egy sort a szabványos bemenetről és mezőkre osztja.\n"
+" \n"
+" Egy sort olvas be a szabványos bemenetről, vagy az FD fájlleíróból, ha\n"
+" meg van adva a -u kapcsoló. A sor mezőkre lesz osztva a szódarabolás\n"
+" szabályai szerint. Az első szó az elős NÉV nevű változó értéke lesz, a\n"
+" második a másodiké stb. A szóelválasztó karaktereket az $IFS adja.\n"
+" \n"
+" Ha nincs NÉV megadva, a beolvasott sor a $REPLY változóba kerül.\n"
+" \n"
+" Kapcsolók:\n"
+" -a tömb a beolvasott szavak TÖMB tömb 0-tól kezdve egymást követő\n"
+" indexű elemeibe kerülnek\n"
+" -d elvál ELVÃL elsÅ‘ karakteréig olvasson az újsor helyett\n"
+" -e a sor beolvasása Readline használatával interaktívan\n"
+" -i szöveg SZÖVEG használata kezdeti szövegként (Readlinehoz)\n"
+" -n szám SZÃM karakter beolvasása után térjen vissza, ne várjon egy\n"
+" újsorra, de vegye figyelembe az elválasztót, ha kevesebb\n"
+" mint SZÃM karaktert olvasott be az elválasztóig\n"
+" -N szám pontosan akkor térjen vissza, ha SZÃM karaktert olva-\n"
+" sott be, kivéve az EOF elérését és az időtúllépést, az el-\n"
+" választó figyelmen kívül hagyva\n"
+" -p prompt írja ki a PROMPT értékét olvasás előtt a sor elejére\n"
+" -r tiltsa le a „\\†kezdetű escape-ek használatát\n"
+" -s terminálról érkező bemenet ne visszhangozzon\n"
+" -t idő IDŠleteltével jelezzen hibát, ha nem tudott egy teljes\n"
+" sort beolvasni. A $TMOUT változó értéke az alapértelmezett\n"
+" időkorlát. IDŠlehet tizedestört is. Ha idő 0, csak akkor\n"
+" lesz sikeres a beolvasás, ha az adott fájlleírón már ol-\n"
+" vasható a bemenet. Időtúllépés esetén a kilépési kód >128\n"
+" -u fd fájl beolvasása FD. fájlleíróból a szabványos bemenet he-\n"
+" lyett\n"
+" \n"
+" Kilépési kód:\n"
+" A kilépési kód nulla, kivéve ha EOF-ot ér a beolvasás, időtúllépéskor\n"
+" vagy érvénytelen fájlleíró megadásakor."
+
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3077,8 +3645,18 @@ msgid ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
+"Visszatér egy függvényből.\n"
+" \n"
+" Egy függvény vagy egy „sourceâ€-olt parancsfájl adott N kilépési kóddal\n"
+" való visszatérését okozza. Ha N nincs megadva, az utolsó parancs kilé-\n"
+" pési kódjával tér vissza.\n"
+" \n"
+" Kilépési kód:\n"
+" N-nel tér vissza, kivéve ha nem függvényből vagy parancsfájlból akar\n"
+" visszatérni – ekkor sikertelenséget jelez."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3147,6 +3725,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3159,8 +3740,85 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
-
-#: builtins.c:1104
+"Parancsértelmező-beállítások és pozicionális paraméterek állítása, törlése.\n"
+" \n"
+" Parancsértelmező-jellemzők és pozicionális paraméterek értékeinek mó-\n"
+" dosítása, parancsértelmező-változók neveinek és értékeinek kiírása.\n"
+" display the names and values of shell variables.\n"
+" \n"
+" Kapcsolók:\n"
+" -a A módosított vagy létrehozott változó exportálásra jelölése\n"
+" -b Munka befejezéséről azonnali értesítés\n"
+" -e Azonnali kilépés, ha egy parancs nem nullával lép ki\n"
+" -f Fájlnév-generálás (globbing) tiltása\n"
+" -h Parancsok helyének megjegyzése használatkor\n"
+" -k Minden értékadó argumentum a parancs környezetébe kerül, nem\n"
+" csak a parancsot megelőzők\n"
+" -m Munkakezelés engedélyezése\n"
+" -n Parancsok beolvasása végrehajtás nélkül\n"
+" -o kapcsolónév\n"
+" Kapcsolónév szerinti változóállítás:\n"
+" allexport mint -a\n"
+" braceexpand mint -B\n"
+" emacs emacs-szerű sorszerkesztés\n"
+" errexit mint -e\n"
+" errtrace mint -E\n"
+" functrace mint -T\n"
+" hashall mint -h\n"
+" histexpand mint -H\n"
+" history előzmények tárolásának engedélyezése\n"
+" ignoreeof EOF esetén nem lép ki a parancsértelmező\n"
+" interactive-comments\n"
+" interaktív parancsokban is lehetnek megjegyzések\n"
+" keyword mint -k\n"
+" monitor mint -m\n"
+" noclobber mint -C\n"
+" noexec mint -n\n"
+" noglob mint -f\n"
+" nolog (jelenleg nincs hatása)\n"
+" notify mint -b\n"
+" nounset mint -u\n"
+" onecmd mint -t\n"
+" physical mint -P\n"
+" pipefail egy csővezeték-parancs kilépési kódja az utolsó\n"
+" nem nullával kilépett parancs kilépési kódja,\n"
+" vagy 0, ha nem volt ilyen\n"
+" posix a bash viselkedésének megváltoztatása, ha az\n"
+" alapértelmezett nem felel meg a Posix\n"
+" szabványnak\n"
+" privileged mint -p\n"
+" verbose mint -v\n"
+" vi vi-szerű sorszerkesztés\n"
+" xtrace mint -x\n"
+" -p Mindig be van kapcsolva, ha a valós és effektív felhasználó nem\n"
+" egyezik. Letiltja az $ENV fájl értelmezését és a parancsértelme-\n"
+" ző-függvények betöltését. A kapcsoló kikapcsolása az effektív\n"
+" uid és gid valósra állítását okozza\n"
+" -t Egyetlen parancs beolvasása és végrehajtás után kilépés\n"
+" -u Nem létező változók behelyettesítése legyen hiba\n"
+" -v Beolvasott parancsok kiírása olvasáskor (értelmezés előtt).\n"
+" -x Parancsok kiírása végrehajtáskor (értelmezés után).\n"
+" -B Szögleteszárójel-kiegészítés végrehajtása\n"
+" -C Létező normál fájlok felülírásának tiltása kimenetátirányításnál\n"
+" -E Az ERR csapdát öröklik a függvények\n"
+" -H Felkiáltójeles előzményhelyettesítés engedélyezése. Interaktív\n"
+" parancsértelmezőnél alapértelmezés\n"
+" -P Parancsok végrehajtásánál szimbolikus linkek követésének tiltá-\n"
+" sa (például cd esetében)\n"
+" -T A DEBUG csapdát öröklik a függvények\n"
+" - A további argumentumok pozicionális paraméterekhez rendelése\n"
+" A -x és -v kapcsolók ki vannak kapcsolva.\n"
+" \n"
+" „-†helyett „+†használatával a kapcsolók tilthatóak. A kapcsolók a\n"
+" parancsértelmező indításakor is állíthatóak. Az érvényben lévő kapcso-\n"
+" lók a $- változóban vannak. A záró nem értelmezhető argumentumok pozi-\n"
+" cionális paraméterek lesznek (rendre $1, $2 ... $n). Ha nincs ARG, min-\n"
+" den parancsértelmező-változó kiírásra kerül.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót kap."
+
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3179,8 +3837,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
+"Parancsértelmező-változók, -függvények és -jellemzők törlése.\n"
+" \n"
+" Minden NÉV nevű függvény vagy változó törlése.\n"
+" \n"
+" Kapcsolók:\n"
+" -f minden NÉV függvény\n"
+" -v minden NÉV változó\n"
+" \n"
+" Kapcsolók nélkül az unset először változót, sikertelenség esetén függ-\n"
+" vényt próbál törölni.\n"
+" \n"
+" Néhány változót nem lehet törölni, lásd „readonlyâ€.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha hibás kapcsolót kap, vagy egy NÉV csak\n"
+" olvasható."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3198,8 +3872,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Exportálásra jelöl egy parancsértelmező-változót.\n"
+" \n"
+" Minden NÉV automatikus környezeti változóvá exportálásra jelölése. Ãgy\n"
+" minden ezután kiadott parancs környezetében megjelenik. Ha ÉRTÉK is\n"
+" meg van adva, értékadás is történik.\n"
+" \n"
+" Kapcsolók:\n"
+" -f parancsértelmező-függvényekre vonatkozzon\n"
+" -n export-jellemző eltávolítása minden NÉV-ről\n"
+" -p összes exportált változó és függvény listázása\n"
+" \n"
+" Egy „--†argumentum letiltja a további kapcsolóértelmezést.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót vagy NEV-et kap."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3218,8 +3907,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"Parancsértelmező-változó változtathatatlannak jelölése.\n"
+" \n"
+" Minden NÉV csak olvashatóvá állítása. A továbbiakban a NEV-ek értéke\n"
+" értékadással nem változtatható. Ha ÉRTÉK is van megadva, az írásvéde-\n"
+" lem bekapcsolása előtt értékadás is történik.\n"
+" \n"
+" Kapcsolók:\n"
+" -a indexelt tömbváltozókra vonatkozik\n"
+" -A asszociatív tömbváltozókra vonatkozik\n"
+" -f függvényekre vonatkozik\n"
+" -p az összes csak olvasható változó és függvény listázása\n"
+" \n"
+" Egy „--†argumentum letiltja a további kapcsolóértelmezést.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha érvénytelen kapcsolót vagy NEV-et kap."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3229,8 +3934,15 @@ msgid ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
msgstr ""
+"Pozicionális paraméterek eltolása.\n"
+" \n"
+" Az $N+1, $N+2... pozicionális paraméterek átnevezése $1, $2... névre.\n"
+" Ha nincs N megadva, értéke 1 lesz.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha N negatív vagy nagyobb mint $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3243,8 +3955,17 @@ msgid ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
msgstr ""
+"Parancsok végrehajtása fájlból a futó parancsértelmezőben.\n"
+" \n"
+" FÃJLNÉV fájlból a parancsok beolvasása és végrehajtása. A fájlnév meg-\n"
+" találásához a $PATH által felsorolt könyvtárakban keres. Az ARGumentu-\n"
+" mok pozicionális paraméterek lesznek FÃJLNÉV végrehajtásakor.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó FÃJLNÉV-beli parancs kilépési kódjával tér vissza; sikerte-\n"
+" lenül, ha FÃJLNÉV nem olvasható."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3257,15 +3978,31 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"Parancsvégrehajtás felfüggesztése.\n"
+" \n"
+" A futó parancsértelmező végrehajtásának felfüggesztése SIGCONT szignál\n"
+" érkezéséig. Ha nincs erőltetve, bejelentkező parancsértelmezőt nem\n"
+" függeszthető fel.\n"
+" \n"
+" Kapcsolók:\n"
+" -f felfüggesztés erőltetése bejelentkező parancsértelmezőn is\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha a munkakezelés nem támogatott vagy hiba\n"
+" történt."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3319,6 +4056,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3334,18 +4072,92 @@ msgid ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
msgstr ""
-
-#: builtins.c:1299
-#, fuzzy
+"Feltételes kifejezések kiértékelése.\n"
+" \n"
+" 0-val (igaz) vagy 1-gyel (hamis) lép ki a KIFejezés értékétől függően.\n"
+" A kifejezéseknek egy vagy két operandusa lehet. Az egyoperandusú kife-\n"
+" jezések többnyire fájlok állapotát vizsgálják. Karakterláncokat és\n"
+" számokat is lehet összehasonlítani.\n"
+" \n"
+" Fájl-operátorok:\n"
+" \n"
+" -a FÃJL Igaz, ha a fájl létezik.\n"
+" -b FÃJL Igaz, ha a fájl blokkeszköz.\n"
+" -c FÃJL Igaz, ha a fájl karakteres eszköz.\n"
+" -d FÃJL Igaz, ha a fájl könyvtár.\n"
+" -e FÃJL Igaz, ha a fájl létezik.\n"
+" -f FÃJL Igaz, ha a fájl létezik és normál fájl.\n"
+" -g FÃJL Igaz, ha a fájl SETGID jogosultságú.\n"
+" -h FÃJL Igaz, ha a fájl szimbolikus link.\n"
+" -L FÃJL Igaz, ha a fájl szimbolikus link.\n"
+" -k FÃJL Igaz, ha a fájlnak „sticky†bitje (t-bitje) van.\n"
+" -p FÃJL Igaz, ha a fájl egy elnevezett csÅ‘vezeték.\n"
+" -r FÃJL Igaz, ha a fájl olvasható a felhasználó számára.\n"
+" -s FÃJL Igaz, ha a fájl létezik és nem üres.\n"
+" -S FÃJL Igaz, ha a fájl egy foglalat (socket).\n"
+" -t FD Igaz, ha a fájlleíró egy terminál.\n"
+" -u FÃJL Igaz, ha a fájl SETUID jogosultságú.\n"
+" -w FÃJL Igaz, ha a fájl írható a felhasználó számára.\n"
+" -x FÃJL Igaz, ha a fájl végrehajtható a felhasználó számára.\n"
+" -O FÃJL Igaz, ha a fájl effektíven a felhasználó tulajdona.\n"
+" -G FÃJL Igaz, ha a fájl effektíven a csoport tulajdona.\n"
+" -N FÃJL Igaz, ha a fájl módosult utolsó olvasása óta.\n"
+" \n"
+" FÃJL1 -nt FÃJL2 Igaz, ha fájl1 újabb fájl2-nél (a módosítási dátum\n"
+" alapján).\n"
+" \n"
+" FÃJL1 -ot FÃJL2 Igaz, ha fájl1 régebbi fájl2-nél.\n"
+" \n"
+" FÃJL1 -ef FÃJL2 Igaz, ha fájl1 hard link fájl2-re.\n"
+" \n"
+" Karakterlánc-operátorok:\n"
+" \n"
+" -z SZÖVEG Igaz, ha SZÖVEG üres.\n"
+" \n"
+" -n SZÖVEG Igaz, ha SZÖVEG nem üres.\n"
+" \n"
+" SZÖVEG1 = SZÖVEG2\n"
+" Igaz, ha a két SZÖVEG egyezik.\n"
+" SZÖVEG1 != SZÖVEG2\n"
+" Igaz, ha a két SZÖVEG nem egyezik.\n"
+" SZÖVEG1 < SZÖVEG2\n"
+" Igaz, ha SZÖVEG1 SZÖVEG2 előtt van a betűrendben.\n"
+" SZÖVEG1 > SZÖVEG2\n"
+" Igaz, ha SZÖVEG1 SZÖVEG2 után van a betűrendben.\n"
+" \n"
+" További operátorok:\n"
+" \n"
+" -o BEÃLLÃTÃS Igaz, ha a parancsértelmezÅ‘-beállítás engedélyezve\n"
+" van.\n"
+" ! KIF Igaz, ha kif hamis.\n"
+" KIF1 -a KIF2 Igaz, ha kif1 ÉS kif2 is igaz.\n"
+" KIF1 -o KIF2 Igaz, ha kif1 VAGY kif2 igaz.\n"
+" \n"
+" arg1 OP arg2 Aritmetikai összehasonlítások. OP lehet: -eq, -ne,\n"
+" -lt, -le, -gt vagy -ge.\n"
+" \n"
+" A kétoperandusú aritmetikai operátorok igazat adnak, ha ARG1 rendre\n"
+" egyenlő, nem egyenlő, kisebb, kisebb vagy egyenlő, nagyobb, nagyobb\n"
+" vagy egyenlő, mint ARG2.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha KIF igaz; sikertelenséggel, ha KIF hamis vagy\n"
+" érvénytelen argumentumokat kap."
+
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
" This is a synonym for the \"test\" builtin, but the last argument must\n"
" be a literal `]', to match the opening `['."
msgstr ""
-"egy ']' szövegkonstansnak kell lennie, hogy párban legyen a nyitó '['-val."
+"Feltételes kifejezések kiértékelése.\n"
+" \n"
+" Ez a „test†beépített parancs szinonimája, de annyiban eltér tőle,\n"
+" hogy az utolsó argumentuma „]†kell legyen – a nyitó „]â€-lel összhang-\n"
+" ban."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3356,8 +4168,15 @@ msgid ""
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"Végrehajtási idők kiírása.\n"
+" \n"
+" Megjeleníti a kumulált felhasználói- és rendszergépidőt, amelyet a pa-\n"
+" rancsértelmező és gyermekfolyamatai használtak. \n"
+" Kilépési kód:\n"
+" Mindig sikeres."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3373,7 +4192,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3392,8 +4219,36 @@ msgid ""
" Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
msgstr ""
+"Szignálok és más események elfogása.\n"
+" \n"
+" Meghatároz és aktivál eseménykezelőket, amelyek szignálok és más kör-\n"
+" rülmények bekövetkezésekor futnak.\n"
+" \n"
+" ARG az a parancs, amelyet a parancsértelmező beolvas és végrehajt a\n"
+" SZIGNÃL(ok) bekövetkezésekor. Ha ARG hiányzik (és egy SZIGNÃL van meg-\n"
+" adva) vagy ARG egy „-â€, akkor minden szignálkezelÅ‘ visszaáll az alap-\n"
+" értelmezett viselkedésre. Ha ARG üres, akkor a megadott SZIGNÃL-ok be-\n"
+" következésekor nem történik semmi a parancsértelmezőben és új gyermek-\n"
+" folyamataiban.\n"
+" \n"
+" Ha a SZIGNÃL értéke EXIT (0), ARG a parancsértelmezÅ‘bÅ‘l való kilépéskor\n"
+" fut. Ha értéke DEBUG, ARG minden parancs előtt fut. Ha nincsenek argu-\n"
+" mentumok, a trap kilistázza az összes szignált és parancsot.\n"
+" \n"
+" Kapcsolók:\n"
+" -l a rendszeren érvényes szignálnevek és sorszámaik kilistázása\n"
+" -p kilistázza a trap által beállított eseménykezelőket\n"
+" \n"
+" SZIGNÃL értéke egy trap -l által kilistázott szignálnév vagy szám.\n"
+" A szignálnevek kis- és nagybetűkre érzéketlenek, a SIG előtag elhagy-\n"
+" ható. Szignált a parancsértelmezőnek a „kill -szignál $$†paranccsal\n"
+" lehet küldeni.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha SZIGNÃL érvénytelen vagy érvénytelen\n"
+" kapcsolót kap."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3422,8 +4277,30 @@ msgid ""
" Returns success if all of the NAMEs are found; fails if any are not "
"found."
msgstr ""
+"Tájékoztat egy parancs típusáról.\n"
+" \n"
+" Minden NÉV-ra kiírja, hogy hogy lenne értelmezve parancsnévként.\n"
+" \n"
+" Kapcsolók:\n"
+" -a minden NÉV-re illeszkedő futtatható parancs felsorolása,\n"
+" beleértve az aliasokat, beépített parancsokat, és a függvé-\n"
+" nyeket (ha „-p†nem tiltja)\n"
+" -f függvényeket ne keressen\n"
+" -P csak a PATH-ban keresse NEV-et, akkor is, ha van ilyen nevű\n"
+" alias, parancs vagy függvény\n"
+" -p a végrehajtható fájl nevét írja ki, ha amely végrehajtódna\n"
+" a parancs kiadásakor. Ha ez nem fájl lenne, nem ír ki semmit\n"
+" -t egyetlen szót ír ki, amely NÉV típusát jelzi: „aliasâ€,\n"
+" „keyword†(kulcsszó), „function†(függvény), „builtin†(be-\n"
+" épített parancs), „file†(fájl) vagy „†(nem található)\n"
+" \n"
+" Kapcsolók:\n"
+" NÉV Értelmezendő parancsnév.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel lép ki, ha minden NÉV megtalálható, sikertelenül, ha nem."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3466,8 +4343,47 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-
-#: builtins.c:1428
+"Parancsértelmező erőforráskorlátjainak beállítása.\n"
+" \n"
+" Szabályozási lehetőséget ad a parancsértelmező által elérhető erőfor-\n"
+" rások korlátozásához, ha a rendszer támogatja.\n"
+" \n"
+" Kapcsolók:\n"
+" -S a puha (soft) korlátozás használata\n"
+" -H a kemény (hard) korlátozás használata\n"
+" -a az összes aktuális korlátozás kilistázása\n"
+" -b foglalatok (socket) puffermérete\n"
+" -c core fájlok maximális mérete (0 tiltja)\n"
+" -d folyamatok maximális adatszegmens-mérete\n"
+" -e a maximális ütemezési prioritás (nice)\n"
+" -f a parancsértelmező és gyermekei által írható legnagyobb fájl\n"
+" -i várakozó szignálok maximális száma\n"
+" -l folyamatonként foglalható memória maximális mérete\n"
+" -m a maximálisan operatív memóriában tartható terület mérete\n"
+" -n nyitott fájlleírók maximális száma\n"
+" -p a csővezetékpuffer mérete\n"
+" -q a Posix üzenetsorokban tartható byte-ok száma\n"
+" -r a maximális valós idejű ütemezési prioritás\n"
+" -s maximális veremméret\n"
+" -t maximális processzoridő másodpercekben\n"
+" -u felhasználói folyamatok maximális száma\n"
+" -v virtuális memória mérete\n"
+" -x fájlzárolások maximális száma\n"
+" \n"
+" Ha KORLÃT meg van adva, az lesz az új értéke a megadott erÅ‘forrásnak.\n"
+" Speciális KORLÃT-értékek: „hard†(jelenlegi kemény korlát értéke),\n"
+" „soft†(jelenlegi puha korlát értéke) és „unlimited†(korlátozás nél-\n"
+" kül).\n"
+" Ha nincs kapcsoló megadva, -f az alapértelmezett.\n"
+" \n"
+" Az értékek 1024 byte-os egységekben értendőek, kivéve a -t, amely má-\n"
+" sodpercekben, a -p, amely 512 byte-okban, valamint a -u, amely darab-\n"
+" ban értendő.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen kapcsoló és hiba esetében."
+
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3484,8 +4400,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
+"Kiírja vagy beállítja a fájlmódmaszkot.\n"
+" \n"
+" Beállítja a fájllétrehozási maszkot MÓD-ra. Ha MÓD hiányzik, az aktuá-\n"
+" lis értékét írja ki.\n"
+" Fájlok létrehozásakor az alapértelmezett jogokból ki lesznek maszkolva\n"
+" az itt megadott bitek. Ez nem akadályozza meg, hogy a program vagy a\n"
+" felhasználó később megváltoztassa a fájl jogait.\n"
+" \n"
+" Ha MÓD számjeggyel kezdődik, oktális számként lesz értelmezve; egyéb-\n"
+" ként a chmod(1) által használt szimbolikus formátumban.\n"
+" \n"
+" Kapcsolók:\n"
+" -p ha MÓD hiányzik, a kimenet újrahasználó formátumot használjon\n"
+" -S a kimenet használja a szimbolikus formát (különben oktálisat)\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel lép ki, kivéve ha MÓD vagy egy kapcsoló érvénytelen."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3501,8 +4434,18 @@ msgid ""
"is\n"
" given."
msgstr ""
+"Munka befejezésének megvárása és a kilépési kód visszaadása.\n"
+" \n"
+" ID számú folyamat befejezésére vár, majd jelzi a kilépési kódját. ID\n"
+" lehet egy PID vagy egy %MUNKASZÃM. Ha nincs ID megadva, bármelyik\n"
+" gyermekfolyamat befejezésekor visszatér, 0-val. Ha ID munkaszám, a\n"
+" csővezeték összes folyamatát bevárja.\n"
+" \n"
+" Kilépési kód:\n"
+" ID kilépési kódjával tér vissza; érvénytelen ID vagy kapcsoló esetén\n"
+" sikertelenül."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3515,8 +4458,16 @@ msgid ""
"is\n"
" given."
msgstr ""
+"Munka befejezésének megvárása és a kilépési kód visszaadása.\n"
+" \n"
+" ID számú folyamat befejezésére vár, majd jelzi a kilépési kódját. ID\n"
+" egy folyamatazonosító kell legyen.\n"
+" \n"
+" Kilépési kód:\n"
+" ID kilépési kódjával tér vissza; érvénytelen ID vagy kapcsoló esetén\n"
+" sikertelenül."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3528,8 +4479,17 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Egy lista minden elemére parancs végrehajtása.\n"
+" \n"
+" A „for†ciklus végrehajt egy parancssorozatot a megadott listán. Ha az\n"
+" „in SZAVAK ...;†rész hiányzik, „in \"$@\"†az alapértelmezés. Minden\n"
+" iterációnál NÉV értéke a SZAVAK lista megfelelő elemére lesz állítva,\n"
+" és így futnak a PARANCSOK.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó parancs kilépési kódját adja vissza."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3545,8 +4505,21 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Aritmetikai for-ciklus.\n"
+" \n"
+" Ekvivalens a következővel:\n"
+" (( KIF1 ))\n"
+" while (( KIF2 )); do\n"
+" PARANCSOK\n"
+" (( KIF3 ))\n"
+" done\n"
+" KIF1, KIF2 és KIF3 aritmetikai kifejezések. Ha valamelyik el van hagy-\n"
+" va, úgy működik, mintha értéke 1 lenne.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó parancs kilépési kódját adja."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3565,8 +4538,24 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"A felhasználóval kiválasztat a listából egy elemet és végrehajt rá egy pa-\n"
+"rancsot.\n"
+" \n"
+" A SZAVAK kiértékelésre kerülnek és egy szólistát képeznek. A szavak a\n"
+" szabványos hibakimenetre kerülnek soronként, sorszámozva. Ezután meg-\n"
+" jelenik a $PS3 és egy sorszámot vár a szabványos bemeneten. Érvényes\n"
+" sorszám megadásakor a PARANCSOKAT végrehajtja úgy, hogy NÉV a megfelelő\n"
+" sorszámú elem értékét kapja. Ezután újból megjelenik $PS3 és újból le-\n"
+" het választani. EOF bemenet és break parancs esetén fejeződik be a hu-\n"
+" rok. Érvénytelen választás esetén szintén új prompt jelenik meg. Üres\n"
+" sor beolvasásakor a lehetőségek is újra megjelennek. A beolvasott sor\n"
+" a REPLY változóba kerül. Ha elmarad az „in SZAVAK†rész, „in \"$@\"â€\n"
+" az alapértelmezés.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó parancs kilépési kódját adja vissza."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3581,9 +4570,22 @@ msgid ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
msgstr ""
+"A csővezeték végrehajtási idejét írja ki.\n"
+" \n"
+" CSÅVEZETÉK végrehajtása és egy összefoglaló kiírása a végrehajtás köz-\n"
+" ben eltelt valós időről, a használt felhasználói- és rendszergépidők-\n"
+" rÅ‘l CSÅVEZETÉK befejezÅ‘désekor.\n"
+" \n"
+" Kapcsolók:\n"
+" -p az összefoglaló megjelenítése a hordozható Posix formában\n"
+" \n"
+" A TIMEFORMAT változó értéke felhasználásra kerül a kimenet formázása-\n"
+" kor.\n"
+" \n"
+" Kilépési kód:\n"
+" A kilépési kód a CSÅVEZETÉK kilépési kódja lesz."
-#: builtins.c:1551
-#, fuzzy
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3592,9 +4594,17 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
-msgstr "Feltételesen futtatja a PARANCSOT ha a SZÓ megegyezik a MINTÁVAL. A"
+msgstr ""
+"Parancsok végrehajtása mintaillesztés alapján.\n"
+" \n"
+" PARANCSOK végrehajtása azon SZAVAKon, amelyek illeszkednek a MINTÃ-ra.\n"
+" Több mintát „|†jellel lehet elválasztani. A minták a fájlnév-helyet-\n"
+" tesítés formátumát használják.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó parancs kilépési kódját adja vissza."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3614,9 +4624,20 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Parancsok végrehajtása feltételesen.\n"
+" \n"
+" Az „if PARANCSOK†lista végrehajtásra kerül. Ha kilépési kódja nulla,\n"
+" akkor a „then PARANCSOK†lista kerül végrehajtásra. Ha nem, akkor az\n"
+" első nullával kilépő „elif PARANCSOK†listához tartozó „then PARARAN-\n"
+" CSOK†lista kerül végrehajtásra. Ha egyik sem teljesül, az „else PA-\n"
+" RANCSOK†lista kerül végrehajtásra. Az egész szerkezet kilépési kódja\n"
+" az utoljára végrehajtott parancs kilépési kódja, vagy nulla, ha nem\n"
+" teljesült egyik feltétel sem.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utoljára végrehajtott parancs kilépési kódja."
-#: builtins.c:1580
-#, fuzzy
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3625,10 +4646,16 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
-msgstr "Kibontja és végrehajtja a PARANCSOT amíg az utolsó parancs a "
+msgstr ""
+"Parancsok végrehajtása amíg a feltétel teljesül.\n"
+" \n"
+" PARANCSOK végrehajtása addig, amíg a „while PARANCSOK†utolsó paran-\n"
+" csa nullával lép ki.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsónak végrehajtott parancs kilépési kódja."
-#: builtins.c:1592
-#, fuzzy
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3637,9 +4664,16 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
-msgstr "Kibontja és végrehajtja a PARANCSOT amíg az utolsó parancs a "
+msgstr ""
+"Parancsok végrehajtása amíg a feltétel nem teljesül.\n"
+" \n"
+" PARANCSOK végrehajtása addig, amíg a „until PARANCSOK†utolsó paran-\n"
+" csa nem nullával lép ki.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsónak végrehajtott parancs kilépési kódja."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3651,8 +4685,17 @@ msgid ""
" Exit Status:\n"
" Returns the exit status of COMMAND."
msgstr ""
+"Egy NÉV nevű társfolyamat létrehozása.\n"
+" \n"
+" PARANCS aszinkron végrehajtása, a szabványos ki- és bemenet átirányí-\n"
+" tásával egy-egy csővezetékbe, amelyek fájlleírói a NÉV tömb 0-s és 1-\n"
+" es elemeibe kerülnek a végrehajtó parancsértelmezőben. Az alapértelme-\n"
+" zett név: „COPROCâ€.\n"
+" \n"
+" Kilépési kód:\n"
+" A PARANCS kilépési kódjával tér vissza."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3665,9 +4708,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is readonly."
msgstr ""
+"Parancsértelmező-függvény definiálása.\n"
+" \n"
+" Létrehoz egy NÉV nevű függvényt. Ha NÉV parancsként végrehajtásra ke-\n"
+" rül, PARANCSOK futnak a hívó parancsértelmező környezetében. NÉV hívá-\n"
+" sakor az argumentumok a függvényből $1...$n néven érhetőek el, míg a\n"
+" függvény neve $FUNCNAME-ként.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha NÉV csak olvasható."
-#: builtins.c:1632
-#, fuzzy
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3676,9 +4727,16 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the status of the last command executed."
-msgstr "Parancsok halmazát futtatja egy csoportban. Ez az egyik módja az"
+msgstr ""
+"Parancsok csoportosítása egy egységgé.\n"
+" \n"
+" Egy csoportként hajt végre egy parancssorozatot. Ez egy módja a ki- és\n"
+" bemenetek parancshalmazba való átirányításának.\n"
+" \n"
+" Kilépési kód:\n"
+" Az utolsó parancs kilépési kódját adja vissza."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3691,8 +4749,16 @@ msgid ""
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
+"Egy munkát előtérbe hoz.\n"
+" \n"
+" Megegyezik az „fg†parancs MUNKASZÃM argumentumával. Egy megszakított\n"
+" vagy háttérben futó munkát hoz elÅ‘térbe. MUNKASZÃM lehet munkanév vagy\n"
+" munkaazonosító is. Egy záró „&†megadása a munkát háttérbe küldi, mint\n"
+" a „bg†parancs. \n"
+" Kilépési kód:\n"
+" A visszaállított parancs kilépési kódjával lép ki."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3702,8 +4768,15 @@ msgid ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
+"Aritmetikai kifejezéseket értékel ki.\n"
+" \n"
+" A KIFEJEZÉS az aritmetikai kiértékelés szabályai szerint kerülnek ki-\n"
+" értékelésre. Megyegyezik a „let KIFEJEZÉS†paranccsal.\n"
+" \n"
+" Kilépési kód:\n"
+" 1-gyel tér vissza, ha KIFEJEZÉS értéke 0, különben 0-val."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3730,8 +4803,29 @@ msgid ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
+"Feltételes parancs végrehajtása.\n"
+" \n"
+" 0 vagy 1 kilépési kódot ad a KIFEJEZÉS kiértékelésének eredményétől\n"
+" függően. A kifejezések a „test†parancs által használt primitívekből\n"
+" épülnek fel, és a következő operátorokkal keverhetőek.\n"
+" \n"
+" ( KIFEJEZÉS ) KIFEJEZÉS értékét adja vissza\n"
+" ! KIFEJEZÉS Igaz, ha KIFEJEZÉS hamis\n"
+" KIF1 && KIF2 Igaz, ha KIF1 és KIF2 is igaz\n"
+" KIF1 || KIF2 Igaz, ha KIF1 vagy KIF2 igaz\n"
+" \n"
+" Az „==†és „!=†operátorok használatánál a jobbérték mintaként értel-\n"
+" meződik, és fájlnévillesztés történik. A hasonlóan működő „=~†operá-\n"
+" tor használatakor a jobbérték reguláris kifejezésként kerül illesztés-\n"
+" re.\n"
+" \n"
+" Az „&&†és „||†operátorok rövidzár-tulajdonságúak, vagyis KIF2-t nem\n"
+" értékelik ki, ha KIF1-ből is megállapítható a kifejezés értéke.\n"
+" \n"
+" Kilépési kód:\n"
+" 0 vagy 1 a KIFEJEZÉS-től függően."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3784,8 +4878,55 @@ msgid ""
" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-
-#: builtins.c:1754
+"Közös parancsértelmező-változók és használatuk.\n"
+" \n"
+" BASH_VERSION Verzióadatok erről a Bash-ről\n"
+" CDPATH Kettőspontokkal elválasztott könyvtárlista, amelyekben a\n"
+" „cd†keres\n"
+" GLOBIGNORE Kettőspontokkal elválasztott mintalista, amelyekre illesz-\n"
+" kedő nevű fájlok nem kerülnek útvonal-kiegészítésre\n"
+" HISTFILE A parancselőzményeket tároló fájl neve\n"
+" HISTFILESIZE Az előzményfájl maximális hossza sorokban\n"
+" HISTSIZE A parancsértelmező által kezelt előzménysorok maximális\n"
+" száma\n"
+" HOME A saját könyvtár teljes abszolút útvonala\n"
+" HOSTNAME A parancsértelmezőt futtató gép neve\n"
+" HOSTTYPE A Bash-t futtató CPU típusa\n"
+" IGNOREEOF A parancsértelmező viselkedését állítja, hogy mit tegyen,\n"
+" ha egy sor elején EOF karaktert kap bemenetén. Ha ez a vál-\n"
+" tozó létezik, az értékében megadott számú EOF karaktert nem\n"
+" vesz figyelembe (alapértelmezetten 10). Ha nincs beállítva,\n"
+" EOF-ra kilép a parancsértelmező\n"
+" MACHTYPE A Bash-t futtató gépet leíró karakterlánc\n"
+" MAILCHECK Megadott számú másodpercenként keres a Bash új leveleket\n"
+" MAILPATH Kettőspontokkal elválasztott fájlnévlista, ahol a Bash\n"
+" új leveleket keres\n"
+" OSTYPE A Bash-t futtató gépen futó UNIX-változat neve (verziója)\n"
+" PATH Kettőspontokkal elválasztott könyvtárlista, amelyekben a\n"
+" Bash futtatható programokat keres parancsvégrehajtáskor\n"
+" PROMPT_COMMAND Az elsődleges prompt kiírása előtt végrehajtandó pa-\n"
+" rancs\n"
+" PS1 Az elsődleges prompt\n"
+" PS2 A másodlagos prompt\n"
+" PWD Az aktuális könyvtár teljes útvonala\n"
+" SHELLOPTS Az engedélyezett shell-beállítások kettőspontokkal elválasz-\n"
+" tott listája\n"
+" TERM Az aktuális termináltípus neve\n"
+" TIMEFORMAT A „time†parancs által használt időformátum\n"
+" auto_resume Nem üres érték esetén egy egy szóból álló parancs elő-\n"
+" ször a megszakított munkák nevei között lesz keresve. Talá-\n"
+" lat esetén a munka előtérbe kerül. „exact†érték esetén\n"
+" pontosan megegyező nevet keres, „substring†esetén tetsző-\n"
+" leges egyezést, minden más érték esetén a szó elején keres\n"
+" histchars Előzménykiegészítést és gyors cserét vezérlő karaktereket\n"
+" ad meg. Az első karakter az előzménybehelyettesítő karak-\n"
+" ter (általában „!â€), a második a gyorscsere-karakter (álta-\n"
+" lában „^â€), a harmadik pedig az elÅ‘zménymegjegyzés (általá-\n"
+" ban „#â€)\n"
+" HISTIGNORE Kettőspontokkal elválasztott mintalista, amely mintákra\n"
+" illeszkedő parancsok nem kerülnek az előzmények közé\n"
+
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3815,8 +4956,34 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"Könyvtárakat tesz a verembe.\n"
+" \n"
+" Egy könyvtárat tesz a könyvtárverem tetejére, vagy forgatja a vermet,\n"
+" az új felső elemmé a jelenlegi munkakönyvtárat téve. Argumentumok nél-\n"
+" kül hívva a két felső könyvtárat cseréli meg.\n"
+" \n"
+" Kapcsolók:\n"
+" -n Ne váltson könyvtárat hozzáadáskor, vagyis csak a\n"
+" vermet változtassa.\n"
+" \n"
+" Argumentumok:\n"
+" +N Úgy forgatja a vermet, hogy az N-edik könyvtár (0-tól\n"
+" kezdve, a „dirs†által kiírt listán balról számolva)\n"
+" kerüljön a verem tetejére.\n"
+" \n"
+" -N Úgy forgatja a vermet, hogy az N-edik könyvtár (0-tól\n"
+" kezdve, a „dirs†által kiírt listán jobbról számolva)\n"
+" kerüljön a verem tetejére.\n"
+" \n"
+" dir A verem tetejére helyezi KTÃR könyvtárat, és ugyanezt\n"
+" állítja be új munkakönyvtárnak.\n"
+" \n"
+" A „dirs†beépített parancs listázza a könyvtárvermet. \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen argumentum vagy könyvtárváltás\n"
+" során történő hiba esetén."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3842,8 +5009,29 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"Elemek eltávolítása a veremből.\n"
+" \n"
+" Elemeket vesz ki a könyvtárveremből. Argumentumok nélkül kiveszi a \n"
+" legfelső elemet, és a kivett elemre állítja az új munkakönyvtárat.\n"
+" \n"
+" Kapcsolók:\n"
+" -n Ne váltson könyvtárat eltávolításkor, vagyis csak a vermet\n"
+" változtassa.\n"
+" \n"
+" Argumentumok:\n"
+" +N Eltávolítja az N-edik elemet a „dirs†által kiírt listán, nullá-\n"
+" tól, balról számolva. Pl. a „popd +0†az első, míg a „popd +1†a\n"
+" könyvtárat távolítja el.\n"
+" -N Eltávolítja az N-edik elemet a „dirs†által kiírt listán, nullá-\n"
+" tól, jobbról számolva. Pl. a „popd -0†az utolsó, a „popd -1†az\n"
+" utolsó előtti könyvtárat távolítja el.\n"
+" \n"
+" A „dirs†beépített parancs listázza a könyvtárvermet. \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen argumentum vagy könyvtárváltás\n"
+" során történő hiba esetén."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3871,8 +5059,28 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"A könyvtárverem megjelenítése.\n"
+" \n"
+" Megjeleníti a jelenleg megjegyzett könyvtárakat. A könyvtárakat a\n"
+" „pushd†paranccsal lehet a verembe rakni; és a „popd†paranccsal kiven-\n"
+" ni.\n"
+" \n"
+" Kapcsolók:\n"
+" -c a könyvtárverem törlése az összes elem eltávolításával\n"
+" -l a saját könyvtárat ne rövidítse a listázáskor egy tilde (~)\n"
+" -p a könyvtárverem kiírása soronként egy elemmel\n"
+" -v a könyvtárverem kiírása soronként egy elemmel, a vermen\n"
+" belüli pozíció jelölésével\n"
+" \n"
+" Argumentumok:\n"
+" +N N darab bejegyzést jelenít meg az argumentum nélkül a dirs\n"
+" által megjelenített listán balról számolva, nullától kezdve\n"
+" -N N darab bejegyzést jelenít meg a listából jobbról "
+"számolva \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen argumentum vagy hiba esetén."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3892,8 +5100,25 @@ msgid ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
msgstr ""
+"Parancsételmező-kapcsolók beállítása és törlése.\n"
+" \n"
+" Minden megadott OPTNÉV kapcsoló beállítása. Argumentumok nélkül hívva\n"
+" egy teljes lista kiírása a parancsértelmező kapcsolóiról, jelezve azok\n"
+" állapotát.\n"
+" \n"
+" Kapcsolók:\n"
+" -o OPTNEVek korlátozása a „set -oâ€-val használtakra\n"
+" -p minden kapcsoló kilistázása állapottal\n"
+" -q kimenet elnyelése\n"
+" -s minden OPTNÉV engedélyezése\n"
+" -u minden OPTNÉV tiltása\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, ha OPTNÉV engedélyezve van; sikertelenül, ha hi-\n"
+" bás kapcsolókat kap vagy OPTNÉV tiltva van."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3916,14 +5141,39 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
"assignment\n"
" error occurs."
msgstr ""
+"FORMÃTUM alapján kiírja az ARGUMENTUMOKat.\n"
+" \n"
+" Kapcsolók:\n"
+" -v változó kimenet VÃLTOZÓ nevű változóba írása a szabványos\n"
+" kimenet helyett\n"
+" \n"
+" FORMÃTUM egy karakterlánc, amely három típusú primitívekbÅ‘l áll: egy-\n"
+" szerű karakterek, amelyeket a parancs a kimenetre másol; escape-karak-\n"
+" tersorozatok, amelyeket átalakítva másol a kimenetre; valamint formá-\n"
+" tumjelzők, amelyek rendre a következő argumentum kiírását szabályoz-\n"
+" zák.\n"
+" \n"
+" A printf(1) és printf(3) által használt szokásos jelzőkön túl a követ-\n"
+" kezőket ismeri a printf parancs:\n"
+" \n"
+" %b karakterlánc kiírása az escape-szekvenciák értelmezése után\n"
+" %q argumentum idézőjelezése olyan módon, hogy parancsértelmező\n"
+" bemeneteként használható legyen\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve ha hibás kapcsolókat kap, vagy az írás/ér-\n"
+" tékadás hibával járt."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3949,8 +5199,29 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Megadja, hogy a Readline hogyan egészítse ki az argumentumokat.\n"
+" \n"
+" Minden NÉV-hez megadja, hogyan egészítse ki a Readline az argumentumo-\n"
+" kat. Ha nincsenek kapcsolók megadva, a jelenlegi érték kerül kiírásra,\n"
+" újrafelhasználható módon.\n"
+" \n"
+" Kapcsolók:\n"
+" -p meglévő kiegészítésmegadások listázása újrahasználható módon\n"
+" -r kiegészítésmegadások törlése minden NÉV-től; vagy ha nincs\n"
+" NÉV megadva, az összes törlése\n"
+" -D kiegészítések és műveletek alkalmazása alapértelmezésben, ha\n"
+" az adott parancshoz nincs kiegészítés megadva\n"
+" -E kiegészítések és műveletek alkalmazása az „üres†parancsok-\n"
+" ra, vagyis a sor elején\n"
+" \n"
+" Kiegészítéskor a műveletek a nagybetűs kapcsolók felsorolásának sor-\n"
+" rendjében kísérli meg a Readline. A -D elsőbbséget élvez a -E-vel szem-\n"
+" ben.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen kapcsoló és hiba esetén."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3962,14 +5233,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"Lehetséges kiegészítések megjelenítése a kapcsolóktól függően.\n"
+" \n"
+" Függvényben való használatra szolgál a lehetséges kiegészítések gene-\n"
+" rálása céljából. Ha az elhagyható SZÓ argumentum is meg van adva, SZÓ-\n"
+" ra elölről illeszkedő találatok jelennek csak meg.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel lép ki, kivéve érvénytelen kapcsoló vagy hiba esetén."
-#: builtins.c:1938
+#: builtins.c:1956
+#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3993,8 +5273,35 @@ msgid ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
+"Kiegészítési beállítások módosítása vagy kiírása.\n"
+" \n"
+" Kiegészítési beállítások listázása minden NÉV-hez, vagy ha nincs NÉV\n"
+" megadva, akkor az éppen zajló kiegészítésre. Ha nincs KAPCSOLÓ megad-\n"
+" va, kiírja a kiegészítési beállításokat minden NÉV-hez vagy az aktuá-\n"
+" lis kiegészítéshez.\n"
+" \n"
+" Kapcsolók:\n"
+" -o kapcsoló KAPCSOLÓ kiegészítései beállítás bekapcsolása minden\n"
+" NÉV-hez\n"
+" -D Az alapértelmezett kiegészítés beállításainak módo-\n"
+" sítása\n"
+" -E Az üres kiegészítés beállításainak módosítása\n"
+" \n"
+" „-o†helyett „+o†használatával a beállítás kikapcsolható.\n"
+" \n"
+" Argumentumok:\n"
+" \n"
+" Minden NÉV egy parancsra vonatkozik, amelyhez egy kiegészítést előzőleg\n"
+" meg kell adni a „complete†paranccsal. Ha nincs NÉV megadva, a compopt-\n"
+" ot egy éppen kiegészítéseket generáló függvényből kell hívni, és a zaj-\n"
+" ló generálásra fog vonatkozni.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel lép ki, kivéve ha érvénytelen kapcsolókat kap, vagy NÉV nincs\n"
+" még megadva."
-#: builtins.c:1968
+#: builtins.c:1986
+#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4022,7 +5329,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4033,2270 +5341,63 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
+"Sorok beolvasása a szabványos bemenetről egy indexelt tömbbe.\n"
+" \n"
+" Sorok beolvasása a szabványos bemenetről – vagy -u megadása esetén FD\n"
+" fájlleíróból – egy megadott nevű TÖMB-be (elhagyása esetén $ARRAY-be).\n"
+" \n"
+" Kapcsolók:\n"
+" -n szám Legfeljebb SZÃM sor másolása. Ha szám 0, minden sor\n"
+" másolásra kerül\n"
+" -O kezdet KEZDET számú indextől kezdje a TÖMB-be másolást.\n"
+" Alapértelmezés: 0\n"
+" -s szám Az elsÅ‘ SZÃM sor eldobása olvasáskor\n"
+" -t A sorok végéről a záró újsor eltávolítása\n"
+" -u fd Szabványos bemenet helyett FD fájlleíróból olvasson\n"
+" -C parancs PARANCS végrehajtása minden TÃVOLSÃG sor után\n"
+" -c távolság PARANCS végrehajtásai között beolvasott sorok száma\n"
+" \n"
+" Argumentumok:\n"
+" TÖMB Beolvasáshoz használt tömb neve\n"
+" \n"
+" Ha -C -c nélkül van megadva, az alapértelmezett távolság 5000.\n"
+" PARANCS végrehajtásakor utolsó argumentumként a parancs megkapja a kö-\n"
+" vetkező beolvasandó elem indexét.\n"
+" \n"
+" Ha nincs KEZDET megadva, a mapfile törli a TÖMB tömböt olvasás előtt.\n"
+" \n"
+" Kilépési kód:\n"
+" Sikerrel tér vissza, kivéve érvénytelen kapcsoló vagy csak olvasható,\n"
+" vagy nem indexelt TÖMB megadása esetén."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
" A synonym for `mapfile'."
msgstr ""
-
-#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr "xmalloc: nem lehet lefoglalni %lu bájtot (%lu bájt lefoglalva)"
-
-#, fuzzy
-#~ msgid "xrealloc: cannot allocate %lu bytes"
-#~ msgstr "xmalloc: nem lehet lefoglalni %lu bájtot (%lu bájt lefoglalva)"
-
-#, fuzzy
-#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr "xmalloc: nem lehet lefoglalni %lu bájtot (%lu bájt lefoglalva)"
-
-#~ msgid "Display the list of currently remembered directories. Directories"
-#~ msgstr "Megjeleníti a jelenleg feljegyzett könyvtárakat. Könyvtárak"
-
-#~ msgid "find their way onto the list with the `pushd' command; you can get"
-#~ msgstr "listába való behelyezés a 'pushd' parancs végzi és az eltávolítást"
-
-#~ msgid "back up through the list with the `popd' command."
-#~ msgstr "pedig a 'popd' utasítással lehet végrehajtani."
-
-#~ msgid ""
-#~ "The -l flag specifies that `dirs' should not print shorthand versions"
-#~ msgstr "A '-l' opció hatására a 'dirs' nem használja a gyorsírás módot"
-
-#~ msgid ""
-#~ "of directories which are relative to your home directory. This means"
-#~ msgstr "a saját könyvtárból nyíló mappákra. Ez azt jelenti, hogy"
-
-#~ msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-#~ msgstr ""
-#~ "a '~/bin' helyet '/home/bfox/bin' fog megjelenni. A '-v' azt hatására"
-
-#~ msgid "causes `dirs' to print the directory stack with one entry per line,"
-#~ msgstr "a 'dirs' a verem elemeit külön sorba írja ki"
-
-#~ msgid ""
-#~ "prepending the directory name with its position in the stack. The -p"
-#~ msgstr "és a könyvtár neve elé írja a veremben elfoglalt helyét is. A '-p'"
-
-#~ msgid "flag does the same thing, but the stack position is not prepended."
-#~ msgstr "ugyanezt csinálja csak nem írja ki az elfoglalt helyet."
-
-#~ msgid ""
-#~ "The -c flag clears the directory stack by deleting all of the elements."
-#~ msgstr "A '-c'-vel az egész könyvtár vermet kitörli."
-
-#, fuzzy
-#~ msgid ""
-#~ "+N displays the Nth entry counting from the left of the list shown by"
-#~ msgstr "+N\tMegmutatja a verem N-edik bejegyzését a számolást balról kezdi"
-
-#, fuzzy
-#~ msgid " dirs when invoked without options, starting with zero."
-#~ msgstr "\taz elsõ eleme a nulladik."
-
-#, fuzzy
-#~ msgid ""
-#~ "-N displays the Nth entry counting from the right of the list shown by"
-#~ msgstr "-N\tMegmutatja a verem N-edik bejegyzését a számolást jobbról kezdi"
-
-#~ msgid "Adds a directory to the top of the directory stack, or rotates"
-#~ msgstr "Egy új könyvtárat ad a könyvtár veremhez, vagy eltolja"
-
-#~ msgid "the stack, making the new top of the stack the current working"
-#~ msgstr "a vermet, létrehozza a verem elejét az aktuális munka "
-
-#~ msgid "directory. With no arguments, exchanges the top two directories."
-#~ msgstr "könyvtárban. Opciók nélkül felcseréli az elsõ két könyvtárat."
-
-#, fuzzy
-#~ msgid "+N Rotates the stack so that the Nth directory (counting"
-#~ msgstr "+N\t\tEltolja a verem N-edik könyvtárát (a számolást"
-
-#, fuzzy
-#~ msgid " from the left of the list shown by `dirs', starting with"
-#~ msgstr "\t\tbalról kezdi a 'dirs' listájában) legelõre."
-
-#, fuzzy
-#~ msgid " zero) is at the top."
-#~ msgstr "\tjobbról kezdi) legelõre."
-
-#, fuzzy
-#~ msgid "-N Rotates the stack so that the Nth directory (counting"
-#~ msgstr "-N\t\tEltolja a verem N-edik könyvtárát (a számolást"
-
-#, fuzzy
-#~ msgid " from the right of the list shown by `dirs', starting with"
-#~ msgstr "\t\tbalról kezdi a 'dirs' listájában) legelõre."
-
-#, fuzzy
-#~ msgid "-n suppress the normal change of directory when adding directories"
-#~ msgstr ""
-#~ "-n\tletiltja a normális könyvtár váltást. Amikor a könyvtárakat váltunk"
-
-#, fuzzy
-#~ msgid " to the stack, so only the stack is manipulated."
-#~ msgstr "\takkor a veremhez adjuk az aktuális könyvtárat."
-
-#, fuzzy
-#~ msgid "dir adds DIR to the directory stack at the top, making it the"
-#~ msgstr "dir\tA DIR-t behelyezi a verem elejére és az"
-
-#, fuzzy
-#~ msgid " new current working directory."
-#~ msgstr "\tlesz az aktuális munkakönyvtár."
-
-#~ msgid "You can see the directory stack with the `dirs' command."
-#~ msgstr "A könyvtár vermet a 'dirs' paranccsal tekintheti meg."
-
-#~ msgid "Removes entries from the directory stack. With no arguments,"
-#~ msgstr "Bejegyzést távolít el a könyvtár verembõl. Opciók nélkül"
-
-#~ msgid "removes the top directory from the stack, and cd's to the new"
-#~ msgstr "eltávolítja a verem elsõ bejegyzését, és átlép a soron következõ"
-
-#~ msgid "top directory."
-#~ msgstr "könyvtárba."
-
-#, fuzzy
-#~ msgid "+N removes the Nth entry counting from the left of the list"
-#~ msgstr "+N\tEltávolítja a verem N-edik bejegyzését (a számolást"
-
-#, fuzzy
-#~ msgid " shown by `dirs', starting with zero. For example: `popd +0'"
-#~ msgstr "\tbalról kezdi és nullával indítja) .Például a 'popd +0'"
-
-#, fuzzy
-#~ msgid " removes the first directory, `popd +1' the second."
-#~ msgstr "\taz elsõ könyvtárat távolítja el, a 'pop +1' a másodikat."
-
-#, fuzzy
-#~ msgid "-N removes the Nth entry counting from the right of the list"
-#~ msgstr "+N\tEltávolítja a verem N-edik bejegyzését (a számolást"
-
-#, fuzzy
-#~ msgid " shown by `dirs', starting with zero. For example: `popd -0'"
-#~ msgstr "\tbalról kezdi és nullával indítja) .Például a 'popd -0'"
-
-#, fuzzy
-#~ msgid " removes the last directory, `popd -1' the next to last."
-#~ msgstr "\taz utolsó könyvtárat távolítja el, a 'pop +1' a .utolsóelõttit"
-
-#, fuzzy
-#~ msgid ""
-#~ "-n suppress the normal change of directory when removing directories"
-#~ msgstr ""
-#~ "-n\tletiltja a normális könyvtár váltást. Amikor a könyvtárakat váltunk"
-
-#, fuzzy
-#~ msgid " from the stack, so only the stack is manipulated."
-#~ msgstr "\takkor a verembõl eltávolítja az aktuális könyvtárat."
-
-#, fuzzy
-#~ msgid ""
-#~ "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,\n"
-#~ " break N levels."
-#~ msgstr "Kilép egy FOR, WHILE vagy UNTIL hurokból. Ha N meg van határozva,"
-
-#~ msgid "Obsolete. See `declare'."
-#~ msgstr "Elavult. Lásd 'declare'"
-
-#~ msgid ""
-#~ "Output the ARGs. If -n is specified, the trailing newline is suppressed."
-#~ msgstr ""
-#~ "Kimenet az ARG. Ha -n használja, akkor a sorvégi újsor jelet nem veszi "
-#~ "figyelembe."
-
-#~ msgid ""
-#~ "Read ARGs as input to the shell and execute the resulting command(s)."
-#~ msgstr ""
-#~ "Beolvassa az ARG tartalmát a bemenetrõl a parancsértelmezõhõz és "
-#~ "elindítja."
-
-#~ msgid "Logout of a login shell."
-#~ msgstr "Kilépés a parancsértelmezõbõl."
-
-#, fuzzy
-#~ msgid ""
-#~ "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 ""
-#~ "A funkció hatására kilép és a visszatérési értéke az N-ben meghatározott "
-#~ "érték lesz."
-
-#, fuzzy
-#~ msgid ""
-#~ "The positional parameters from $N+1 ... are renamed to $1 ... If N is\n"
-#~ " not given, it is assumed to be 1."
-#~ msgstr "A pozicionáló paramétereket átnevezi $N+1-rõl $1-re.Ha az N"
-
-#, fuzzy
-#~ msgid ""
-#~ "Print the accumulated user and system times for processes run from\n"
-#~ " the shell."
-#~ msgstr "Kiírja felhasználó és a rendszer mennyi idõ használt fel arra, hogy"
-
-#~ msgid "Missing `}'"
-#~ msgstr "Hiányzó '}'"
-
-#~ msgid "brace_expand> "
-#~ msgstr "brace_expand> "
-
-#~ msgid "Attempt to free unknown command type `%d'.\n"
-#~ msgstr "Megpróbálom felszabadítani az ismeretlen `%d' parancs típust.\n"
-
-#~ msgid "Report this to %s\n"
-#~ msgstr "Kérem jelentse ezt a %s -re \n"
-
-#~ msgid "Stopping myself..."
-#~ msgstr "Leállítom magam..."
-
-#~ msgid "Tell %s to fix this someday.\n"
-#~ msgstr "Mondja el %s -nek, hogy kijavíthassa\n"
-
-#~ msgid "execute_command: bad command type `%d'"
-#~ msgstr "execute_command: rossz parancs típus `%d'"
-
-#~ msgid "real\t"
-#~ msgstr "valós\t"
-
-#~ msgid "user\t"
-#~ msgstr "felhasználói\t"
-
-#~ msgid "sys\t"
-#~ msgstr "rendszer\t"
-
-#~ msgid ""
-#~ "real\t0m0.00s\n"
-#~ "user\t0m0.00s\n"
-#~ "sys\t0m0.00s\n"
-#~ msgstr ""
-#~ "valós\t0m0.00s\n"
-#~ "felhasználói\t0m0.00s\n"
-#~ "rendszer\t0m0.00s\n"
-
-#~ msgid "cannot duplicate fd %d to fd 1: %s"
-#~ msgstr "nem másolható a fd %d fd 1: %s-re"
-
-#~ msgid "%s: output redirection restricted"
-#~ msgstr "%s kimenet átirányítás fenntartva"
-
-#~ msgid "Out of memory!"
-#~ msgstr "Elfogyott a memória!"
-
-#~ msgid "You have already added item `%s'\n"
-#~ msgstr "A `%s' elem egyszer már hozzá lett adva\n"
-
-#~ msgid "You have entered %d (%d) items. The distribution is:\n"
-#~ msgstr "Ön %d (%d) elemet írt be. A terjesztés:\n"
-
-#~ msgid "%s: bg background job?"
-#~ msgstr "%s: bg háttér munkafolyamat?"
-
-#~ msgid ""
-#~ "Redirection instruction from yyparse () '%d' is\n"
-#~ "out of range in make_redirection ()."
-#~ msgstr ""
-#~ "Az átirányítási utasítás a yyparse-ból () '%d' \n"
-#~ "túl van a határon a make_redirection ().-ben"
-
-#~ msgid "clean_simple_command () got a command with type %d."
-#~ msgstr "clean_simple_command () kaptam egy %d típusú parancsot."
-
-#~ msgid "got errno %d while waiting for %d"
-#~ msgstr "kaptam egy %d hibát amíg vártam a %d-re"
-
-#~ msgid "syntax error near unexpected token `%c'"
-#~ msgstr "szintaktikai hiba a váratlan %c vezérjel körül"
-
-#~ msgid "print_command: bad command type `%d'"
-#~ msgstr "print_command: rossz parancs típus `%d'"
-
-#~ msgid "cprintf: bad `%%' argument (%c)"
-#~ msgstr "cprintf: rossz `%%' paraméter (%c)"
-
-#~ msgid "option `%s' requires an argument"
-#~ msgstr "opciók a `%s' paramétert igényel"
-
-#~ msgid "%s: unrecognized option"
-#~ msgstr "a %s ismeretlen opció"
-
-#~ msgid "`-c' requires an argument"
-#~ msgstr "`-c' paramétert igényel"
-
-#~ msgid "%s: cannot execute directories"
-#~ msgstr "%s: könyvtárakat nem lehet futtatni"
-
-#~ msgid "Bad code in sig.c: sigprocmask"
-#~ msgstr "Hibás kód a sig.c-ben: sigprocmask"
-
-#~ msgid "bad substitution: no ending `}' in %s"
-#~ msgstr "rossz behelyettesítés: nincs lezáró } a %s-ben"
-
-#~ msgid "%s: bad array subscript"
-#~ msgstr "%s rossz tömb a tömbindexben"
-
-#~ msgid "can't make pipes for process substitution: %s"
-#~ msgstr "nem lehet létrehozni a pipe-ot feladat behelyettesítéshez: %s"
-
-#~ msgid "reading"
-#~ msgstr "olvasás"
-
-#~ msgid "process substitution"
-#~ msgstr "feladat behelyettesítése"
-
-#~ msgid "command substitution"
-#~ msgstr "parancs behelyettesítése"
-
-#~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr ""
-#~ "Nem lehet újra megnyitni a \"pipe\"-ot a parancs behelyettesítéshez(fd %"
-#~ "d): %s"
-
-#~ msgid "$%c: unbound variable"
-#~ msgstr "$%c felszabadított változó"
-
-#~ msgid "%s: bad arithmetic substitution"
-#~ msgstr "%s: rossz számtani helyettesítés"
-
-#~ msgid "-%s: binary operator expected"
-#~ msgstr "-%s:bináris mûvelet szükséges"
-
-#~ msgid "%s[%s: bad subscript"
-#~ msgstr "%s[%s: rossz tömbindex"
-
-#~ msgid "[%s: bad subscript"
-#~ msgstr "[%s: rossz tömbindex"
-
-#~ msgid "digits occur in two different argv-elements.\n"
-#~ msgstr "számjegyek fordultak elõ két különbözõ \"argv\"elemben.\n"
-
-#~ msgid "option %c\n"
-#~ msgstr "opció: %c\n"
-
-#~ msgid "option a\n"
-#~ msgstr "opció a\n"
-
-#~ msgid "option b\n"
-#~ msgstr "opció b\n"
-
-#~ msgid "option c with value `%s'\n"
-#~ msgstr "opció c %s értékkel\n"
-
-#~ msgid "?? sh_getopt returned character code 0%o ??\n"
-#~ msgstr "?? sh_getopt visszakapott karakter kód 0%o ??\n"
-
-#~ msgid "non-option ARGV-elements: "
-#~ msgstr "nem opció az \"argv\"elemek"
-
-#~ msgid "%s: Unknown flag %s.\n"
-#~ msgstr "%s: Ismeretlen jel %s.\n"
-
-#~ msgid "Unknown directive `%s'"
-#~ msgstr "Ismeretlen direktíva %s"
-
-#~ msgid "%s requires an argument"
-#~ msgstr "a %s paramétert igényel"
-
-#~ msgid "%s must be inside of a $BUILTIN block"
-#~ msgstr "%s-nek a $BUILTIN blokkon belül kell hogy legyen"
-
-#~ msgid "%s found before $END"
-#~ msgstr "%s találtam az $END elõtt"
-
-#~ msgid "%s already has a function (%s)"
-#~ msgstr "%s már létezõ függvény (%s)"
-
-#~ msgid "%s already had a docname (%s)"
-#~ msgstr "a %s már kész dokumentum (%s)"
-
-#~ msgid "%s already has short documentation (%s)"
-#~ msgstr "a %s már létezõ rövid dokumentáció (%s)"
-
-#~ msgid "%s already has a %s definition"
-#~ msgstr "a %s már létezõ %s meghatározás(definition)"
-
-#~ msgid "mkbuiltins: Out of virtual memory!\n"
-#~ msgstr "mkbuiltins: A virtuális memória elfogyott!\n"
-
-#~ msgid "read [-r] [-p prompt] [-a array] [-e] [name ...]"
-#~ msgstr "read [-r] [-p kérdés] [-a tömb] [-e] [név ...]"
-
-#~ msgid "%[DIGITS | WORD] [&]"
-#~ msgstr "%[SZÁMOK | SZÓ] [&]"
-
-#~ msgid "variables - Some variable names and meanings"
-#~ msgstr "változók - Néhány változó neve és jelentése"
-
-#~ msgid "`alias' with no arguments or with the -p option prints the list"
-#~ msgstr ""
-#~ "`alias' paraméterek nélkül vagy -p opcióval kiírja az aliasok listáját"
-
-#~ msgid "of aliases in the form alias NAME=VALUE on standard output."
-#~ msgstr "az NÉV=ÉRTÉK formában a standard kimeneten."
-
-#~ msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-#~ msgstr ""
-#~ "Egyébként, az alias-ban meghatározott mindegyik NÉV-nek az ÉRTÉK lesz "
-#~ "átadva."
-
-#~ msgid "A trailing space in VALUE causes the next word to be checked for"
-#~ msgstr " "
-
-#~ msgid "alias substitution when the alias is expanded. Alias returns"
-#~ msgstr "Az alias visszatérési értéke "
-
-#~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr "igaz hacsak a NÉV alatt nincs alias meghatározva."
-
-#~ msgid "then remove all alias definitions."
-#~ msgstr "eltávolítja az összes alias meghatározást."
-
-#~ msgid "Bind a key sequence to a Readline function, or to a macro. The"
-#~ msgstr ""
-#~ "a bind egy kulcs szekvencia a readline funkcióhoz vagy egy makróhoz."
-
-#~ msgid "syntax is equivalent to that found in ~/.inputrc, but must be"
-#~ msgstr "A szintaktika megegyezik az ~/.inputrc-vel, de át kell"
-
-#~ msgid ""
-#~ "passed as a single argument: bind '\"\\C-x\\C-r\": re-read-init-file'."
-#~ msgstr ""
-#~ "adni egy egyszerû paraméterrel: bind '\"\\C-x\\C-r\": re-read-init-file'."
-
-#~ msgid "Arguments we accept:"
-#~ msgstr "A paraméterek amiket elfogadunk:"
-
-#~ msgid ""
-#~ " -m keymap Use `keymap' as the keymap for the duration of this"
-#~ msgstr " -m keymap A `keymap'-ot használja keymap-ként az amíg"
-
-#~ msgid " command. Acceptable keymap names are emacs,"
-#~ msgstr ""
-#~ " a parancs fut. Elfogadható keymap névnek emacs-ok,"
-
-#~ msgid ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-#~ msgstr ""
-#~ " emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-
-#~ msgid " vi-command, and vi-insert."
-#~ msgstr " vi-parancs, és vi-beszúrás."
-
-#~ msgid " -l List names of functions."
-#~ msgstr " -l A funkciók neveinek a listája."
-
-#~ msgid " -P List function names and bindings."
-#~ msgstr " -P A nevek és a hozzájuk tartozó bind-ok listája."
-
-#~ msgid ""
-#~ " -p List functions and bindings in a form that can be"
-#~ msgstr ""
-#~ " -p A funkciók és bind-ok listája bemenetként újra "
-#~ "felszanálható"
-
-#~ msgid " reused as input."
-#~ msgstr " formában."
-
-#~ msgid " -r keyseq Remove the binding for KEYSEQ."
-#~ msgstr " -r keyseq Bind eltávolítása a KEYSEQ-rõl."
-
-#~ msgid " -f filename Read key bindings from FILENAME."
-#~ msgstr " -f FÁJLNÉN Bind-ok olvasása a FÁJLNÉV fájlból."
-
-#~ msgid ""
-#~ " -q function-name Query about which keys invoke the named function."
-#~ msgstr ""
-#~ " -q function-name Lekérdezi, hogy milyen billentyût hív meg a funkció."
-
-#~ msgid " -V List variable names and values"
-#~ msgstr " -V A változók neveinek és értékeinek a listája."
-
-#~ msgid ""
-#~ " -v List variable names and values in a form that can"
-#~ msgstr ""
-#~ " -v A változók és értékeik neveinek a listája "
-#~ "bemenetként "
-
-#~ msgid " be reused as input."
-#~ msgstr " újra felhasználható formában."
-
-#~ msgid ""
-#~ " -S List key sequences that invoke macros and their "
-#~ "values"
-#~ msgstr ""
-#~ " -S A kulcs szekvenciák listája a meghívott makrókkal és "
-#~ "azok értékével"
-
-#~ msgid ""
-#~ " -s List key sequences that invoke macros and their "
-#~ "values in"
-#~ msgstr ""
-#~ " -S A kulcs szekvenciák listája a meghívott makrókkal és "
-#~ "azok értékével"
-
-#~ msgid " a form that can be reused as input."
-#~ msgstr " melyeket fel lehet használni bemenetként."
-
-#~ msgid "break N levels."
-#~ msgstr "akkor N szintet lép ki."
-
-#~ msgid "If N is specified, resume at the N-th enclosing loop."
-#~ msgstr ""
-#~ "Ha N meg van határozva akkor N szinttel magasabb hurokba lép vissza."
-
-#~ msgid "Run a shell builtin. This is useful when you wish to rename a"
-#~ msgstr ""
-#~ "Egy beépített utasítást futtat , Ez akkor hasznos ha átakar nevezni egy"
-
-#~ msgid "shell builtin to be a function, but need the functionality of the"
-#~ msgstr ""
-#~ "egy beépített parancsot funkcióvá, de szüksége van a beépített parancs"
-
-#~ msgid "builtin within the function itself."
-#~ msgstr "eredeti funkciójára."
-
-#~ msgid "Change the current directory to DIR. The variable $HOME is the"
-#~ msgstr "Belép a dir könyvtárba.A $HOME változó az alapértelmezett"
-
-#~ msgid "default DIR. The variable $CDPATH defines the search path for"
-#~ msgstr "DIR. A $CDPATH változó meghatározza a keresési útvonalát a DIR-t"
-
-#~ msgid "the directory containing DIR. Alternative directory names in CDPATH"
-#~ msgstr "tartalmazó könyvtárnak. Az alternatív könyvtár neveket a CDPATH-ban"
-
-#~ msgid "are separated by a colon (:). A null directory name is the same as"
-#~ msgstr "kettõsponttal(:) kell elválasztani. Az üres könyvtár név azonos"
-
-#~ msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-#~ msgstr "a jelenlegi könyvtárral `.'. Ha a DIR per jellel kezdõdik (/),"
-
-#~ msgid "then $CDPATH is not used. If the directory is not found, and the"
-#~ msgstr "akkor a $CDPATH nem használható. Ha a könyvtár nem található és a"
-
-#~ msgid "shell option `cdable_vars' is set, then try the word as a variable"
-#~ msgstr ""
-#~ "a parancsértelmezõ 'cdable_vars' nincs beállítva, akkor a szót "
-#~ "megpróbálja mint "
-
-#~ msgid "name. If that variable has a value, then cd to the value of that"
-#~ msgstr ""
-#~ "változó névként. Ha ennek a változónak van értéke, akkor behelyettesíti a "
-#~ "változó "
-
-#~ msgid ""
-#~ "variable. The -P option says to use the physical directory structure"
-#~ msgstr ""
-#~ "értékét. A -P opció azt jelenti, hogy a fizikai könyvtár felépítést "
-#~ "használja"
-
-#~ msgid ""
-#~ "instead of following symbolic links; the -L option forces symbolic links"
-#~ msgstr ""
-#~ "a szimbolikus linkek helyet, a -L opció pedig a szimbolikus linkek "
-#~ "követését"
-
-#~ msgid "to be followed."
-#~ msgstr "erõlteti ki"
-
-#~ msgid "Print the current working directory. With the -P option, pwd prints"
-#~ msgstr "Kiírja a könyvtárat ahol áll. A -P opcióban a pwd a "
-
-#~ msgid "the physical directory, without any symbolic links; the -L option"
-#~ msgstr ""
-#~ "fizikai könyvtár felépítést mutatja, a szimbolikus linkek nélkül, a -L "
-#~ "opció"
-
-#~ msgid "makes pwd follow symbolic links."
-#~ msgstr "pedig követi a szimbolikus linkeket."
-
-#~ msgid ""
-#~ "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-#~ msgstr ""
-#~ "Egy PARANCS-ot futtat ARG-okkal figyelmen kívül hagyja a parancsértelmezõ"
-
-#~ msgid "function called `ls', and you wish to call the command `ls', you can"
-#~ msgstr ""
-#~ "funkcióit.Ha van egy funkció aminek a neve 'ls', és megakarja hívni, csak "
-#~ "azt"
-
-#~ msgid ""
-#~ "say \"command ls\". If the -p option is given, a default value is used"
-#~ msgstr ""
-#~ "kell mondani, hogy \"command ls\".Ha a -p opciót használja, akkor "
-#~ "felhasználja"
-
-#~ msgid ""
-#~ "for PATH that is guaranteed to find all of the standard utilities. If"
-#~ msgstr "a PATH változót így biztos, hogy meg találja az alap programokat."
-
-#~ msgid ""
-#~ "the -V or -v option is given, a string is printed describing COMMAND."
-#~ msgstr "Ha a -V vagy a -v opciót használja akkor kiírja a COMMAND leírását."
-
-#~ msgid "The -V option produces a more verbose description."
-#~ msgstr "A -V opció több információt ad vissza."
-
-#~ msgid "Declare variables and/or give them attributes. If no NAMEs are"
-#~ msgstr "Változókat hoz létre és/vagy attribútumokat ad nekik. Ha nincs NÉV"
-
-#~ msgid "given, then display the values of variables instead. The -p option"
-#~ msgstr "átadva, akkor a megjeleníti a változók értékeit. A -p opció"
-
-#~ msgid "will display the attributes and values of each NAME."
-#~ msgstr "megjeleníti az attribútumokat és az mindegyik NÉV értékét."
-
-#~ msgid "The flags are:"
-#~ msgstr "A lehetséges opciók:"
-
-#~ msgid " -a\tto make NAMEs arrays (if supported)"
-#~ msgstr " -a\tlétrehozza a NÉV tömböt (ha támogatott)"
-
-#~ msgid " -f\tto select from among function names only"
-#~ msgstr "7 -f\tcsak a funkciókat válassza ki"
-
-#~ msgid " -F\tto display function names without definitions"
-#~ msgstr " -F\tmegjeleníti a funkció neveket a meghatározásuk nélkül"
-
-#~ msgid " -r\tto make NAMEs readonly"
-#~ msgstr " -r\ta NEVEKET csak olvashatóvá teszi"
-
-#~ msgid " -x\tto make NAMEs export"
-#~ msgstr " -x\ta NEVEKET exportálható módon írja ki"
-
-#~ msgid " -i\tto make NAMEs have the `integer' attribute set"
-#~ msgstr " -i\tkiírja a NEVEKET amiknek 'szám' az attribútumuk"
-
-#~ msgid "Variables with the integer attribute have arithmetic evaluation (see"
-#~ msgstr "A változók melyeknek szám az attribútumuk egy számot (lásd a "
-
-#~ msgid "`let') done when the variable is assigned to."
-#~ msgstr "let) kell, hozzárendelni."
-
-#~ msgid "When displaying values of variables, -f displays a function's name"
-#~ msgstr "Amikor megjeleníti a változók értékét a -f a funkciók nevét"
-
-#~ msgid "and definition. The -F option restricts the display to function"
-#~ msgstr "és meghatározásukat mutatja. A -F opció szigorúan csak "
-
-#~ msgid "name only."
-#~ msgstr "a funkciók nevét jeleníti meg."
-
-#~ msgid ""
-#~ "Using `+' instead of `-' turns off the given attribute instead. When"
-#~ msgstr "A '+' használata a '-' helyet az attribútumot törli.Amikor "
-
-#~ msgid "used in a function, makes NAMEs local, as with the `local' command."
-#~ msgstr ""
-#~ "egy funkcióban használja a létrehozott NÉV helyi lesz, mint a local "
-#~ "parancsnál."
-
-#~ msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
-#~ msgstr ""
-#~ "Létrehoz egy helyi változott melyet NÉV-nek hív és átadja neki az ÉRTÉKET."
-
-#~ msgid "have a visible scope restricted to that function and its children."
-#~ msgstr "csak a funkción és gyermekein belül érvényes."
-
-#~ msgid "Output the ARGs. If -n is specified, the trailing newline is"
-#~ msgstr ""
-#~ "Kimenet az ARG. Ha -n használja, akkor a sorvégi újsort jelet nem veszi"
-
-#~ msgid "suppressed. If the -e option is given, interpretation of the"
-#~ msgstr ""
-#~ "figyelembe. Ha a -e opciót használja akkor a következõ 'backslash-escaped'"
-
-#~ msgid "following backslash-escaped characters is turned on:"
-#~ msgstr "karaktereket használja:"
-
-#~ msgid "\t\\a\talert (bell)"
-#~ msgstr "\t\\a\tébresztõ (csengõ)"
-
-#~ msgid "\t\\b\tbackspace"
-#~ msgstr "\t\\b\ttörlés"
-
-#~ msgid "\t\\c\tsuppress trailing newline"
-#~ msgstr "\t\\c\tsorvégi újsor kihagyása"
-
-#~ msgid "\t\\E\tescape character"
-#~ msgstr "\t\\E\tescape karakter"
-
-#~ msgid "\t\\f\tform feed"
-#~ msgstr "\t\\f\tlap dobás"
-
-#~ msgid "\t\\n\tnew line"
-#~ msgstr "\t\\n\túj sor"
-
-#~ msgid "\t\\r\tcarriage return"
-#~ msgstr "\t\\r\tkocsi vissza"
-
-#~ msgid "\t\\t\thorizontal tab"
-#~ msgstr "\t\\t\tvízszintes tab"
-
-#~ msgid "\t\\v\tvertical tab"
-#~ msgstr "\t\\v\tfüggõleges tab"
-
-#~ msgid "\t\\\\\tbackslash"
-#~ msgstr "\t\\\\\tbackslash"
-
-#~ msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-#~ msgstr "\t\\num\ta NUM a karakter ASCII kódja (nyolcas számrendszerben)"
-
-#~ msgid ""
-#~ "You can explicitly turn off the interpretation of the above characters"
-#~ msgstr "A -E opcióval ki lehet kapcsolni a karakterek fenti"
-
-#~ msgid "with the -E option."
-#~ msgstr "értelmezését."
-
-#~ msgid "Enable and disable builtin shell commands. This allows"
-#~ msgstr ""
-#~ "Engedélyezés és Letiltja parancsértelmezõ beépített utasításait. Ez azt "
-#~ "jelenti,"
-
-#~ msgid "you to use a disk command which has the same name as a shell"
-#~ msgstr ""
-#~ "hogy lehet használni a lemezen található parancsokat melyeknek a neve meg-"
-
-#~ msgid "builtin. If -n is used, the NAMEs become disabled; otherwise"
-#~ msgstr ""
-#~ "egyezik a beépítettével. Ha a -n használja, akkor a NÉV le lesz tiltva "
-#~ "egyébként"
-
-#~ msgid "NAMEs are enabled. For example, to use the `test' found on your"
-#~ msgstr ""
-#~ "a NEVET engedélyezi. Például ha használni akarja a 'test' -et ami lemezen "
-#~ "létezik"
-
-#~ msgid "path instead of the shell builtin version, type `enable -n test'."
-#~ msgstr "a parancsértelelmezõ helyet, gépelje be 'enable -n test'."
-
-#~ msgid "On systems supporting dynamic loading, the -f option may be used"
-#~ msgstr ""
-#~ "Azokon a rendszereken ami támogatja a dinamikus betöltést, a -f opcióval"
-
-#~ msgid "to load new builtins from the shared object FILENAME. The -d"
-#~ msgstr "be lehet tölteni a FÁJLNÉV fájlt és beépítettként használni. A -d"
-
-#~ msgid "option will delete a builtin previously loaded with -f. If no"
-#~ msgstr "opció pedig letörli az elõzõleg a -f el betöltött programot. Ha nem"
-
-#~ msgid "non-option names are given, or the -p option is supplied, a list"
-#~ msgstr ""
-#~ "ír be semmit vagy a -p opciót használja akkor megjeleníti az engedélyéket "
-
-#~ msgid "of builtins is printed. The -a option means to print every builtin"
-#~ msgstr "beépített parancsokat. A -a opció megjeleníti az összes beépített"
-
-#~ msgid "with an indication of whether or not it is enabled. The -s option"
-#~ msgstr "parancsot akár engedélyezve akár nem. A -s opció kierõlteti"
-
-#~ msgid "restricts the output to the Posix.2 `special' builtins. The -n"
-#~ msgstr "a Posix.2 speciális beépített parancsait.A -n kiírja az összes"
-
-#~ msgid "option displays a list of all disabled builtins."
-#~ msgstr "letiltott beépített parancsot."
-
-#~ msgid "Getopts is used by shell procedures to parse positional parameters."
-#~ msgstr ""
-#~ "A getopts -ot a parancsértelmezõ használja a parancsok paraméterinek az "
-#~ "elemzésére."
-
-#~ msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-#~ msgstr "Az OPTSTRING tartalmazza a felismerendõ opciókat, ha az opciókat"
-
-#~ msgid "is followed by a colon, the option is expected to have an argument,"
-#~ msgstr "kettõspont követi akkor valószínûleg paramétere is van,"
-
-#~ msgid "which should be separated from it by white space."
-#~ msgstr "amit javasolt elválasztani szóközzel."
-
-#~ msgid "Each time it is invoked, getopts will place the next option in the"
-#~ msgstr "Minden hívásnál a getopts elhelyezi a $name"
-
-#~ msgid "shell variable $name, initializing name if it does not exist, and"
-#~ msgstr "változóba, ha nem létezik a név akkor"
-
-#~ msgid "the index of the next argument to be processed into the shell"
-#~ msgstr "a következõ paraméter az OPTIND változóba kerül."
-
-#~ msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-#~ msgstr ""
-#~ "Az OPTIND változót csak egyszer kell létrehozni a parancsértelmezõben "
-#~ "vagy "
-
-#~ msgid "a shell script is invoked. When an option requires an argument,"
-#~ msgstr ""
-#~ "egy parancsállomány meghívásakor. Amikor az opció paramétert igényel"
-
-#~ msgid "getopts places that argument into the shell variable OPTARG."
-#~ msgstr "akkor a getopts belehelyezi a paramétert az OPTARG változóba."
-
-#~ msgid "getopts reports errors in one of two ways. If the first character"
-#~ msgstr "A getopts két módon képes képes a hibákat jelenteni.Ha az OPSTRING"
-
-#~ msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-#~ msgstr ""
-#~ "elsõ karakterre egy kettõspont, akkor a getopts csendes hibamódban van."
-
-#~ msgid "this mode, no error messages are printed. If an illegal option is"
-#~ msgstr ""
-#~ "Ebben az üzemmódjában nem ír hiba üzenetet. Ha érvénytelen opció talál"
-
-#~ msgid "seen, getopts places the option character found into OPTARG. If a"
-#~ msgstr "abban az esetben a getopts az OPTARG változóba helyezi az opciót."
-
-#~ msgid "required argument is not found, getopts places a ':' into NAME and"
-#~ msgstr ""
-#~ "Ha egy szükséges paramétert nincs meg a getopts egy ':' helyez a NÉV-be és"
-
-#~ msgid "sets OPTARG to the option character found. If getopts is not in"
-#~ msgstr "beállítja az OPTARG-ot a hibás opciókhoz. Ha a getopts nem csöndes"
-
-#~ msgid "silent mode, and an illegal option is seen, getopts places '?' into"
-#~ msgstr "üzemmódban van és érvénytelen opciót talál, akkor a getopts egy '?'"
-
-#~ msgid "NAME and unsets OPTARG. If a required option is not found, a '?'"
-#~ msgstr ""
-#~ "a NÉV változóba és leállítja az OPTARG változót. Ha a szükséges opció "
-#~ "nincs meg"
-
-#~ msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-#~ msgstr ""
-#~ "akkor egy '?' -et rak a NÉV-be és az OPTARG-ot leállítja és egy üzenetet "
-#~ "küld"
-
-#~ msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-#~ msgstr "Ha az OPTERR változó értéke 0, akkor a getopts letiltja"
-
-#~ msgid "printing of error messages, even if the first character of"
-#~ msgstr "az üzenetek küldését, még akkor is ha az OPTSTRING elsõ karakterre"
-
-#~ msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-#~ msgstr "egy kettõspont. Az OPTERR alapértéke 1."
-
-#~ msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-#~ msgstr ""
-#~ "A getopts normál esetben a pozicionáló paramétereket ($0-$9) elemzi, de"
-
-#~ msgid "more arguments are given, they are parsed instead."
-#~ msgstr "ha több paramétert kap akkor azokat használja helyettük."
-
-#~ msgid "Exec FILE, replacing this shell with the specified program."
-#~ msgstr ""
-#~ "FÁJL futtatása, kicseréli a parancsértelmezõt egy meghatározott programra."
-
-#~ msgid "If FILE is not specified, the redirections take effect in this"
-#~ msgstr ""
-#~ "Ha a FÁJL nincs meghatározva akkor az átírányítás effektus lép életbe"
-
-#~ msgid "shell. If the first argument is `-l', then place a dash in the"
-#~ msgstr ""
-#~ "a parancsértelmezõn. Ha az elsõ paraméter '-l' akkor egy gondolatjelet"
-
-#~ msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-#~ msgstr ""
-#~ "rak a FÁJL nulladik paraméterébe mint ahogy a login teszi. Ha a '-c' "
-#~ "opciót"
-
-#~ msgid "is supplied, FILE is executed with a null environment. The `-a'"
-#~ msgstr "alkalmazza akkor a FÁJL üres környezeti változókkal indul. A '-a'"
-
-#~ msgid "option means to make set argv[0] of the executed process to NAME."
-#~ msgstr ""
-#~ "opció azt jeleni, hogy a futtatott mûvelet NEVét az argv[0]-ra állítja."
-
-#~ msgid "If the file cannot be executed and the shell is not interactive,"
-#~ msgstr "Ha nem lehet a fájlt futtatni és a parancsértelmezõ nem interaktív,"
-
-#~ msgid "then the shell exits, unless the variable \"no_exit_on_failed_exec\""
-#~ msgstr ""
-#~ "akkor a parancsértelmezõ kilép, hacsak nem a \"no_exit_on_failed_exec\""
-
-#~ msgid "is set."
-#~ msgstr "változó nincs beállítva."
-
-#~ msgid "is that of the last command executed."
-#~ msgstr ""
-#~ "visszatérési érték az utoljára futtatott parancs vissza térési értéke "
-#~ "lesz."
-
-#~ msgid ""
-#~ "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-#~ msgstr ""
-#~ "Az elsõ és az utolsó lehet egy tömb kezdõ és befejezõ értéke, vagy az elsõ"
-
-#~ msgid "string, which means the most recent command beginning with that"
-#~ msgstr "lehet egy sztring ami a legutolsó parancs elsõ sztringjét"
-
-#~ msgid "string."
-#~ msgstr "jelenti."
-
-#~ msgid ""
-#~ " -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-#~ msgstr ""
-#~ " -e ENÉV kiválasztja a felhasznált szerkesztõt . Alapból a vi-t "
-#~ "használja"
-
-#~ msgid ""
-#~ " then the editor which corresponds to the current readline editing"
-#~ msgstr " "
-
-#~ msgid " mode, then vi."
-#~ msgstr " "
-
-#~ msgid " -l means list lines instead of editing."
-#~ msgstr " -l a szerkesztés helyet csak megjeleníti az elemeket."
-
-#~ msgid " -n means no line numbers listed."
-#~ msgstr " -n nem írja ki a sorok számát."
-
-#~ msgid ""
-#~ " -r means reverse the order of the lines (making it newest listed "
-#~ "first)."
-#~ msgstr " -r visszafele rendezi a sorokat (a legújabb elem lesz az elsõ)."
-
-#~ msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-#~ msgstr ""
-#~ "A fc -s [pat=rep ...] [command]' formával, az újra lefuttatott parancs"
-
-#~ msgid "re-executed after the substitution OLD=NEW is performed."
-#~ msgstr "behelyettesíti a saját helyére az utasítást."
-
-#~ msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-#~ msgstr "Egy hasznos alias az r='fc -s', így amikor begépeli a 'r cc'"
-
-#~ msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-#~ msgstr ""
-#~ "lefuttatja az utolsó 'cc'-vel kezdõdõ parancsot és amikor beírja az 'r'-t "
-
-#~ msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-#~ msgstr ""
-#~ "Ha munka_folyamat nincs meghatározva akkor a jelenlegi munka folyamatot"
-
-#~ msgid "used."
-#~ msgstr "használja."
-
-#~ msgid "Place JOB_SPEC in the background, as if it had been started with"
-#~ msgstr ""
-#~ "nka_folyamat-ot az háttérbe helyezi mintha '&' jellel indította volna"
-
-#~ msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-#~ msgstr "Ha a munkafolyamat nincs meghatározva akkor"
-
-#~ msgid "job is used."
-#~ msgstr "a jelenlegi munkafolyamatot használja."
-
-#~ msgid "For each NAME, the full pathname of the command is determined and"
-#~ msgstr "Meghatározza az összes név teljes elérési útvonalát és megjegyzi."
-
-#~ msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-#~ msgstr "Ha a '-p' opciót használja akkor az ÚTVONAL-at veszi a NÉV teljes"
-
-#~ msgid "full pathname of NAME, and no path search is performed. The -r"
-#~ msgstr "útvonalának és nem keresi az útvonalat. A '-r' opció"
-
-#~ msgid "option causes the shell to forget all remembered locations. If no"
-#~ msgstr "felszólítja a parancsértelmezõt, hogy felejtse el az összes helyet."
-
-#~ msgid ""
-#~ "arguments are given, information about remembered commands is displayed."
-#~ msgstr ""
-#~ "Ha nincs megadva paraméter akkor megjeleníti a megjegyzett parancsokat."
-
-#~ msgid "Display helpful information about builtin commands. If PATTERN is"
-#~ msgstr "Hasznos információkat jelenít meg a beépített parancsokról. Ha a "
-
-#~ msgid "specified, gives detailed help on all commands matching PATTERN,"
-#~ msgstr ""
-#~ "MINTA meg van határozva, akkor részletes segítséget ír ki az utasításról"
-
-#~ msgid "otherwise a list of the builtins is printed."
-#~ msgstr "egyébként egy listát jelenít meg a beépített parancsokról."
-
-#~ msgid "Display the history list with line numbers. Lines listed with"
-#~ msgstr "Sorszámozva megjeleníti az elõzményeket. A megváltoztatott sorokat"
-
-#~ msgid "with a `*' have been modified. Argument of N says to list only"
-#~ msgstr ""
-#~ "egy csillaggal(*) jelöli. Az N opció azt jelenti, hogy csak az utolsó"
-
-#~ msgid "the last N lines. The -c option causes the history list to be"
-#~ msgstr "N sort mutatja meg. A '-c' opció eredménye, hogy az elõzmény"
-
-#~ msgid ""
-#~ "cleared by deleting all of the entries. The `-w' option writes out the"
-#~ msgstr ""
-#~ "lista összes eleme törlõdik. A '-w' opció azonnal kiírja az elõzményeket"
-
-#~ msgid ""
-#~ "current history to the history file; `-r' means to read the file and"
-#~ msgstr "az aktuális listába, '-r' pedig beolvassa a fájlt"
-
-#~ msgid "append the contents to the history list instead. `-a' means"
-#~ msgstr "és az új fájlt elemeit használja helyette. A '-a' hozzáfûzi"
-
-#~ msgid "to append history lines from this session to the history file."
-#~ msgstr "az aktuális terminál sorait a teljes elõzmény fájlhoz."
-
-#~ msgid "Argument `-n' means to read all history lines not already read"
-#~ msgstr "A '-n' opció beolvassa az egész elõzmény nem beolvasott sorait"
-
-#~ msgid "from the history file and append them to the history list. If"
-#~ msgstr "ez elõzmények fájlból és hozzáfûzi az elõzmény listához."
-
-#~ msgid "FILENAME is given, then that is used as the history file else"
-#~ msgstr "Ha fájlnevet is megadunk akkor azt a fájlt fogja használni"
-
-#~ msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-#~ msgstr ""
-#~ "Ha nincs a $HISFILE-nak érték adva akkor a ~/.bash_history-t használja."
-
-#~ msgid "If the -s option is supplied, the non-option ARGs are appended to"
-#~ msgstr "A '-s' opció hatására az ARG-ot hozzáfûzi"
-
-#~ msgid "the history list as a single entry. The -p option means to perform"
-#~ msgstr "az elõzményekhez. A '-p' opció "
-
-#~ msgid ""
-#~ "history expansion on each ARG and display the result, without storing"
-#~ msgstr "végre hajtja ez összes ARG-ot és az eredményt megjeleníti"
-
-#~ msgid "anything in the history list."
-#~ msgstr "anélkül, hogy bármit is beírna az elõzmény listába."
-
-#~ msgid "Lists the active jobs. The -l option lists process id's in addition"
-#~ msgstr ""
-#~ "Kilistázza az aktív munka folyamatokat. A '-l' opció kiírja feladat "
-#~ "azonosított"
-
-#~ msgid "to the normal information; the -p option lists process id's only."
-#~ msgstr ""
-#~ "a normál információk mellé, a '-p' opció pedig csak a feladat azonosított "
-#~ "írja ki."
-
-#~ msgid ""
-#~ "If -n is given, only processes that have changed status since the last"
-#~ msgstr ""
-#~ "Ha a '-n' opciót használja akkor csak a változásokat írja ki ami az "
-#~ "utolsó hívás "
-
-#~ msgid ""
-#~ "notification are printed. JOBSPEC restricts output to that job. The"
-#~ msgstr "után történt. A MUNKAFOLYAMAT meghatározzam, hogy melyiket írja ki."
-
-#~ msgid "-r and -s options restrict output to running and stopped jobs only,"
-#~ msgstr ""
-#~ "A '-r' és a '-s' opciók csak a futó és a megállított folyamatokat írja ki"
-
-#~ msgid "respectively. Without options, the status of all active jobs is"
-#~ msgstr "Minden opció nélkül megjeleníti az összes aktív munkafolyamatot"
-
-#~ msgid ""
-#~ "printed. If -x is given, COMMAND is run after all job specifications"
-#~ msgstr ""
-#~ "A '-x' opció hatására a PARANCS lefutása után az összes munkafolyamat "
-
-#~ msgid ""
-#~ "that appear in ARGS have been replaced with the process ID of that job's"
-#~ msgstr ""
-#~ "meghatározás ami az ARGS-ban feltûnik az kicserélõdik a munkafolyamat "
-#~ "vezetõ"
-
-#~ msgid "process group leader."
-#~ msgstr "feladat azonosítójára."
-
-#~ msgid "Removes each JOBSPEC argument from the table of active jobs."
-#~ msgstr "Eltávolítja az összes MUNKAFOLYAMAT-ot az aktív folyamatok közül."
-
-#~ msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-#~ msgstr "A jeltípust(sigspec) küld a meghatározott PID-re vagy JOB-ra."
-
-#~ msgid ""
-#~ "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-#~ msgstr ""
-#~ "Ha a jeltípus(sigpsec) nincs meghatározva akkor egy SIGTERM-et küld."
-
-#~ msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-#~ msgstr ""
-#~ "A '-l' opció kilistázza a jelek neveit.Ha a '-l' opció paramétere egy"
-
-#~ msgid "be signal numbers for which names should be listed. Kill is a shell"
-#~ msgstr ""
-#~ "jel száma akkor a számhoz tartozó nevet írja ki. A kill két okból "
-#~ "beépített"
-
-#~ msgid "builtin for two reasons: it allows job IDs to be used instead of"
-#~ msgstr "utasítása a parancsértelmezõnek: a job azonosító helyet"
-
-#~ msgid "process IDs, and, if you have reached the limit on processes that"
-#~ msgstr "és ha (esetleg) a feladatok elérik a maximális határt akkor nem"
-
-#~ msgid ""
-#~ "you can create, you don't have to start a process to kill another one."
-#~ msgstr ""
-#~ "nem lehet új feladatot indítani(fõleg a kill) és így nem lehetséges "
-#~ "kilõni semmit."
-
-#~ msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-#~ msgstr "Minden ARG egy matematikai kifelyezés. Az érték"
-
-#~ msgid "is done in long integers with no check for overflow, though division"
-#~ msgstr "lehet hosszú egész túlcsordulás ellenõrzés nélkül. A nullával való"
-
-#~ msgid "by 0 is trapped and flagged as an error. The following list of"
-#~ msgstr ""
-#~ "osztás megszakítja és hibát jelez.A következõ lista egy összefoglaló"
-
-#~ msgid "operators is grouped into levels of equal-precedence operators."
-#~ msgstr "az operátorokról végrehajtás szerinti csoportosításban."
-
-#~ msgid "The levels are listed in order of decreasing precedence."
-#~ msgstr ""
-#~ "A listában végrehajtás szerint csökkenõ sorrendben vannak felsorolva."
-
-#~ msgid "\t-, +\t\tunary minus, plus"
-#~ msgstr "\t-, +\t\tunáris mínusz, plusz"
-
-#~ msgid "\t!, ~\t\tlogical and bitwise negation"
-#~ msgstr "\t!, ~\t\tlogikai és bitszintû negálás"
-
-#~ msgid "\t*, /, %\t\tmultiplication, division, remainder"
-#~ msgstr "\t*, /, %\t\tszorzás, osztás, maradékképzés"
-
-#~ msgid "\t+, -\t\taddition, subtraction"
-#~ msgstr "\t+, -\t\tösszeadása, kivonás"
-
-#~ msgid "\t<<, >>\t\tleft and right bitwise shifts"
-#~ msgstr "\t<<, >>\t\tbitszintû balra és jobbra emelés"
-
-#~ msgid "\t<=, >=, <, >\tcomparison"
-#~ msgstr "\t<=, >=, <, >\tösszehasonlítás"
-
-#~ msgid "\t==, !=\t\tequality, inequality"
-#~ msgstr "\t==, !=\t\tegyenlõség ,egyenlõtlenség"
-
-#~ msgid "\t&\t\tbitwise AND"
-#~ msgstr "\t&\t\tbitszintû ÉS"
-
-#~ msgid "\t^\t\tbitwise XOR"
-#~ msgstr "\t^\t\tbitszintû kizáró-vagy"
-
-#~ msgid "\t|\t\tbitwise OR"
-#~ msgstr "\t|\t\tbitszintû VAGY"
-
-#~ msgid "\t&&\t\tlogical AND"
-#~ msgstr "\t&&\t\tlogikai ÉS"
-
-#~ msgid "\t||\t\tlogical OR"
-#~ msgstr "\t||\t\tlogikai VAGY"
-
-#~ msgid "\texpr ? expr : expr"
-#~ msgstr "\tkifelyezés ? kifelyezés : kifelyezés"
-
-#~ msgid "\t\t\tconditional expression"
-#~ msgstr "\t\t\tfeltételes kifelyezés"
-
-#~ msgid "\t=, *=, /=, %=,"
-#~ msgstr "\t=, *=, /=, %=,"
-
-#~ msgid "\t+=, -=, <<=, >>=,"
-#~ msgstr "\t+=, -=, <<=, >>=,"
-
-#~ msgid "\t&=, ^=, |=\tassignment"
-#~ msgstr "\t&=, ^=, |=\thozzárendelés"
-
-#~ msgid "is replaced by its value (coerced to a long integer) within"
-#~ msgstr "behelyettesíthetõ a kifelyezésekben értékek helyére "
-
-#~ msgid "an expression. The variable need not have its integer attribute"
-#~ msgstr ""
-#~ "(hosszú egészre kiegészítve). A változónak nem lehet egész attribútuma"
-
-#~ msgid "turned on to be used in an expression."
-#~ msgstr "beállítva, ha kifelyezésként kívánja használni."
-
-#~ msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-#~ msgstr "Az operátorok kiértékelési sorrendben. Az al-kifelyezések"
-
-#~ msgid "parentheses are evaluated first and may override the precedence"
-#~ msgstr ""
-#~ "elsõnek hívódnak meg és ezzel felülbírálhatják a teljes végre hajtási"
-
-#~ msgid "rules above."
-#~ msgstr "szabályokat."
-
-#~ msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-#~ msgstr "Ha az utolsó ARG értéke 0 akkor a visszatérési értéke 1, egyébként"
-
-#~ msgid "otherwise."
-#~ msgstr "0 -val tér vissza."
-
-#~ msgid "One line is read from the standard input, and the first word is"
-#~ msgstr "Egy sort beolvas a standard bemenetrõl és az elsõ szót"
-
-#~ msgid ""
-#~ "assigned to the first NAME, the second word to the second NAME, and so"
-#~ msgstr ""
-#~ "hozzárendeli az elsõ NÉV-hez, a második szót hozzárendeli a második NÉV-"
-#~ "hez"
-
-#~ msgid ""
-#~ "on, with leftover words assigned to the last NAME. Only the characters"
-#~ msgstr ""
-#~ "és így tovább egészen addig míg el nem éri az utolsó NEVet. Abban az "
-#~ "esetben"
-
-#~ msgid "found in $IFS are recognized as word delimiters. The return code is"
-#~ msgstr ""
-#~ "ha a $IFS egy karaktert talál akkor azt szóhatárolóként fogja fel. A "
-#~ "visszatérési"
-
-#~ msgid ""
-#~ "zero, unless end-of-file is encountered. If no NAMEs are supplied, the"
-#~ msgstr ""
-#~ "érték 0, hacsak nem kap fájl vége jelet.Ha a NÉV nincs meghatározva, akkor"
-
-#~ msgid ""
-#~ "line read is stored in the REPLY variable. If the -r option is given,"
-#~ msgstr ""
-#~ "a beolvasott sorok a REPLY változóban tárolódnak. A '-r' opció hatására"
-
-#~ msgid "this signifies `raw' input, and backslash escaping is disabled. If"
-#~ msgstr ""
-#~ "a bemenetet, mint nyers bemenet használja és a backslash karaktereket "
-#~ "letiltja."
-
-#~ msgid "the `-p' option is supplied, the string supplied as an argument is"
-#~ msgstr ""
-#~ "Ha a '-p' opció sztring paraméterét kiírja (újsor karakter nélkül) a "
-#~ "kimenetre"
-
-#~ msgid ""
-#~ "output without a trailing newline before attempting to read. If -a is"
-#~ msgstr "mielõtt még az olvasásba belekezdene. A '-a' opció hatására"
-
-#~ msgid ""
-#~ "supplied, the words read are assigned to sequential indices of ARRAY,"
-#~ msgstr "a beolvasott szavak egy indexelt tömb elemeiket veszi fel, nullával"
-
-#~ msgid "starting at zero. If -e is supplied and the shell is interactive,"
-#~ msgstr ""
-#~ "kezdõdõen. A '-e' opció alkalmazása és a parancsértelmezõ párbeszéd módja"
-
-#~ msgid "readline is used to obtain the line."
-#~ msgstr "hatására a 'readline'-ból veszi a feldolgozási sort."
-
-#~ msgid "is omitted, the return status is that of the last command."
-#~ msgstr ""
-#~ "Ha az N értéke nincs megadva akkor a visszatérési értéket az utolsó "
-#~ "parancsból veszi."
-
-#~ msgid " -a Mark variables which are modified or created for export."
-#~ msgstr ""
-#~ " -a Megjelöli a változót úgy mintha az export módosította vagy "
-#~ "létrehozta volna."
-
-#~ msgid " -b Notify of job termination immediately."
-#~ msgstr " -b Azonnal megszakítja a munkafolyamatot."
-
-#~ msgid " -e Exit immediately if a command exits with a non-zero status."
-#~ msgstr " -e Kilép azonnal ha a parancs nem nulla állapotban van."
-
-#~ msgid " -f Disable file name generation (globbing)."
-#~ msgstr " -f Letiltja a fájlnév generálást (globbing)."
-
-#~ msgid " -h Remember the location of commands as they are looked up."
-#~ msgstr " -h Megjegyzi a parancs helyét amit megtalált."
-
-#~ msgid ""
-#~ " -i Force the shell to be an \"interactive\" one. Interactive shells"
-#~ msgstr ""
-#~ " -i Kierõlteti a parancsértelmezõtõl a párbeszédes üzemmódot. Ez a "
-
-#~ msgid " always read `~/.bashrc' on startup."
-#~ msgstr " mód mindig a '~/.bashrc' használja indulásnál."
-
-#~ msgid " -k All assignment arguments are placed in the environment for a"
-#~ msgstr ""
-#~ " -k Az összes hozzárendelt paraméter elhelyezi a környezeti változok "
-#~ "között"
-
-#~ msgid " command, not just those that precede the command name."
-#~ msgstr " nem csak azt ami a parancs nevét megelõzi."
-
-#~ msgid " -m Job control is enabled."
-#~ msgstr " -m A munkafolyamat ellenõrzés engedélyezése."
-
-#~ msgid " -n Read commands but do not execute them."
-#~ msgstr " -n Beolvassa a parancsok, de nem hajtja õket végre."
-
-#~ msgid " -o option-name"
-#~ msgstr " -o opció neve"
-
-#~ msgid " Set the variable corresponding to option-name:"
-#~ msgstr ""
-#~ " A változok beállításához használhatók a következõ opció nevek:"
-
-#~ msgid " allexport same as -a"
-#~ msgstr " allexport ugyanaz mint a -a"
-
-#~ msgid " braceexpand same as -B"
-#~ msgstr " braceexpand ugyanaz mint a -B"
-
-#~ msgid " emacs use an emacs-style line editing interface"
-#~ msgstr " emacs emacs stílusú sor szerkesztés használata"
-
-#~ msgid " errexit same as -e"
-#~ msgstr " errexit ugyanaz mint a -e"
-
-#~ msgid " hashall same as -h"
-#~ msgstr " hashall ugyanaz mint a -h"
-
-#~ msgid " histexpand same as -H"
-#~ msgstr " histexpand ugyanaz mint a -H"
-
-#~ msgid " ignoreeof the shell will not exit upon reading EOF"
-#~ msgstr ""
-#~ " ignoreeof a parancsértelmezõ nem lép ki amíg nem kap EOF "
-#~ "jelet"
-
-#~ msgid " interactive-comments"
-#~ msgstr " interactive-comments"
-
-#~ msgid ""
-#~ " allow comments to appear in interactive commands"
-#~ msgstr ""
-#~ " engedélyezi a megjegyzéseket a párbeszédes parancsoknál"
-
-#~ msgid " keyword same as -k"
-#~ msgstr " keyword ugyanaz mint a -k"
-
-#~ msgid " monitor same as -m"
-#~ msgstr " monitor ugyanaz mint a -m"
-
-#~ msgid " noclobber same as -C"
-#~ msgstr " noclobber ugyanaz mint a -C"
-
-#~ msgid " noexec same as -n"
-#~ msgstr " noexec ugyanaz mint a -n"
-
-#~ msgid " noglob same as -f"
-#~ msgstr " noglob ugyanaz mint a -f"
-
-#~ msgid " notify save as -b"
-#~ msgstr " notify ugyanaz mint a -b"
-
-#~ msgid " nounset same as -u"
-#~ msgstr " nounset ugyanaz mint a -u"
-
-#~ msgid " onecmd same as -t"
-#~ msgstr " onecmd ugyanaz mint a -t"
-
-#~ msgid " physical same as -P"
-#~ msgstr " physical ugyanaz mint a -P"
-
-#~ msgid ""
-#~ " posix change the behavior of bash where the default"
-#~ msgstr ""
-#~ " posix megváltoztatja a bash viselkedését ott ahol az "
-#~ "alap"
-
-#~ msgid ""
-#~ " operation differs from the 1003.2 standard to"
-#~ msgstr " mód különbözik a 1003.2 szabványtól"
-
-#~ msgid " match the standard"
-#~ msgstr " az aktuális szabvány"
-
-#~ msgid " privileged same as -p"
-#~ msgstr " privileged ugyanaz mint a -p"
-
-#~ msgid " verbose same as -v"
-#~ msgstr " verbose ugyanaz mint a -v"
-
-#~ msgid " vi use a vi-style line editing interface"
-#~ msgstr " vi vi stílusú sor szerkesztést használ"
-
-#~ msgid " xtrace same as -x"
-#~ msgstr " xtrace ugyanaz mint a -x"
-
-#~ msgid ""
-#~ " -p Turned on whenever the real and effective user ids do not match."
-#~ msgstr ""
-#~ " -p Bekapcsolja még akkor is ha a valós és az effektív felhasználó "
-#~ "azonosító"
-
-#~ msgid " Disables processing of the $ENV file and importing of shell"
-#~ msgstr ""
-#~ " különbözik. Letiltja $ENV fájl feldolgozását és a parancsértelmezõbe "
-#~ "építését"
-
-#~ msgid ""
-#~ " functions. Turning this option off causes the effective uid and"
-#~ msgstr " Beállítja az effektív felhasználó és csoport azonosítót a "
-
-#~ msgid " gid to be set to the real uid and gid."
-#~ msgstr " valós felhasználó és csoport azonosítóra."
-
-#~ msgid " -t Exit after reading and executing one command."
-#~ msgstr " -t Kilép az olvasás és egy parancs végrehajtása után."
-
-#~ msgid " -u Treat unset variables as an error when substituting."
-#~ msgstr ""
-#~ " -u Úgy kezeli a leállított változókat mintha hibás lenne a "
-#~ "behelyettesítés."
-
-#~ msgid " -v Print shell input lines as they are read."
-#~ msgstr " -v Kiírja a parancsértelmezõ bemenetét úgy ahogy beolvasta."
-
-#~ msgid " -x Print commands and their arguments as they are executed."
-#~ msgstr ""
-#~ " -x Kiírja a parancsokat és a paramétereiket úgy ahogy lefuttatta "
-#~ "õket."
-
-#~ msgid " -B the shell will perform brace expansion"
-#~ msgstr " -B a parancsértelmezõ elõkészíti a közös bõvítményeket"
-
-#~ msgid " -H Enable ! style history substitution. This flag is on"
-#~ msgstr " -H Engedélyezés a ! stílusú elõzmény behelyettesítés. Ez a jel"
-
-#~ msgid " by default."
-#~ msgstr " alapból be van kapcsolva."
-
-#~ msgid " -C If set, disallow existing regular files to be overwritten"
-#~ msgstr " -C Ha be van állítva akkor a hagyományos fájl felülírása"
-
-#~ msgid " by redirection of output."
-#~ msgstr " a kimenet átirányításával."
-
-#~ msgid " -P If set, do not follow symbolic links when executing commands"
-#~ msgstr ""
-#~ " -P Ha be van állítva akkor nem fogja követni a szimbolikus linkeket "
-#~ "amikor"
-
-#~ msgid " such as cd which change the current directory."
-#~ msgstr ""
-#~ "elindított program mint a 'cd' megpróbálja meg változtatni az aktuális "
-#~ "könyvtárat."
-
-#~ msgid "Using + rather than - causes these flags to be turned off. The"
-#~ msgstr "Ha a '-' helyet '+' használ akkor a jelzõt kikapcsolja."
-
-#~ msgid "flags can also be used upon invocation of the shell. The current"
-#~ msgstr "A jelzõket még lehet használni a parancsértelmezõ meghívására.A "
-
-#~ msgid ""
-#~ "set of flags may be found in $-. The remaining n ARGs are positional"
-#~ msgstr ""
-#~ "jelenlegi jelzõ beállításokat a $- tárolja. A maradék n ARG a pozicionáló"
-
-#~ msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-#~ msgstr "paraméterekhez rendeli hozzá ($1, $2, $3 ...$n) Ha nem"
-
-#~ msgid "ARGs are given, all shell variables are printed."
-#~ msgstr "nem adunk semmilyen opciót meg akkor az összes változó kiírja."
-
-#~ msgid "For each NAME, remove the corresponding variable or function. Given"
-#~ msgstr "Az összes NÉV változót vagy függvényt letörli"
-
-#~ msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-#~ msgstr "A '-v' használatakor csak a változókat állítja le.A '-f' pedig"
-
-#~ msgid "unset will only act on functions. With neither flag, unset first"
-#~ msgstr "csak a funkciókat.Opciók nélkül az unset elõször megpróbálja a "
-
-#~ msgid "tries to unset a variable, and if that fails, then tries to unset a"
-#~ msgstr ""
-#~ "a változók leállítását és ha nem sikerül akkor megpróbálja a funkciókat "
-#~ "is."
-
-#~ msgid ""
-#~ "function. Some variables (such as PATH and IFS) cannot be unset; also"
-#~ msgstr "Néhány kiemelt változót (pl PATH vagy IFS) nem lehet letörölni"
-
-#~ msgid "see readonly."
-#~ msgstr "ezek csak olvashatók."
-
-#~ msgid "NAMEs are marked for automatic export to the environment of"
-#~ msgstr ""
-#~ "A NEVET megjelöli automatikus exportálásra a késõbb elindított parancs"
-
-#~ msgid "subsequently executed commands. If the -f option is given,"
-#~ msgstr "környezeti változóiként."
-
-#~ msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-#~ msgstr ""
-#~ "A '-f' besorolja a NEVET a funkciók közé. Ha nem adja meg a nevet vagy"
-
-#~ msgid "is given, a list of all names that are exported in this shell is"
-#~ msgstr ""
-#~ "'-p' -t használja akkor kiírja az összes nevet amit exportáltak ebben a "
-#~ "parancs-"
-
-#~ msgid "printed. An argument of `-n' says to remove the export property"
-#~ msgstr "értelmezõben. A '-n' hatására eltávolítja a NEVET exportálandók"
-
-#~ msgid "from subsequent NAMEs. An argument of `--' disables further option"
-#~ msgstr "közül. A '--' paramétere letiltja a következõ opció"
-
-#~ msgid "processing."
-#~ msgstr "feldolgozását."
-
-#~ msgid ""
-#~ "The given NAMEs are marked readonly and the values of these NAMEs may"
-#~ msgstr ""
-#~ "Az átadott NEVET csak olvashatóvá teszi és ettõl kezdve nem lehet meg"
-
-#~ msgid "not be changed by subsequent assignment. If the -f option is given,"
-#~ msgstr "változtatni a hozzárendeléseket. "
-
-#~ msgid "then functions corresponding to the NAMEs are so marked. If no"
-#~ msgstr "A '-f' hatására a funkciónak megfelelõ NEVET megjelöli. Ha"
-
-#~ msgid ""
-#~ "arguments are given, or if `-p' is given, a list of all readonly names"
-#~ msgstr ""
-#~ "opciók nélkül vagy a '-p'-vel indítjuk el akkor egy listát kapunk a csak"
-
-#~ msgid ""
-#~ "is printed. An argument of `-n' says to remove the readonly property"
-#~ msgstr ""
-#~ "olvasható funkciókról.A '-n' hatására eltávolítja a NEVET csak olvashatók"
-
-#~ msgid "from subsequent NAMEs. The `-a' option means to treat each NAME as"
-#~ msgstr "közül.A '-a' opció az összes NEVET tömb változóként kezel."
-
-#~ msgid "an array variable. An argument of `--' disables further option"
-#~ msgstr "A '--' paramétere letiltja a következõ opció feldolgozását."
-
-#~ msgid "not given, it is assumed to be 1."
-#~ msgstr "értékét nem adjuk meg, akkor egyel csökkenti."
-
-#~ msgid "Read and execute commands from FILENAME and return. The pathnames"
-#~ msgstr ""
-#~ "Beolvas és végrehajtja a parancsokat a FÁJLNÉV-bõl és visszatér.A $PATH"
-
-#~ msgid "in $PATH are used to find the directory containing FILENAME."
-#~ msgstr "változóban található útvonalon próbálja meg keresi a FÁJLNEVET."
-
-#~ msgid "Suspend the execution of this shell until it receives a SIGCONT"
-#~ msgstr ""
-#~ "Felfüggeszti ennek a parancsértelmezõnek a futtatását amíg egy SIGCONT"
-
-#~ msgid "signal. The `-f' if specified says not to complain about this"
-#~ msgstr ""
-#~ "jelet nem kap.A '-f' azt jelenti, hogy nem fog szólni, ha egy "
-#~ "bejelentkezett"
-
-#~ msgid "being a login shell if it is; just suspend anyway."
-#~ msgstr "parancsértelmezõt próbál felfüggeszteni, mindenképp felfüggeszt."
-
-#~ msgid "Exits with a status of 0 (trueness) or 1 (falseness) depending on"
-#~ msgstr ""
-#~ "Kilép 0 státusszal (igaz) vagy 1-el (hiba) a KIFELYEZÉS eredményétõl"
-
-#~ msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-#~ msgstr "függõen. A KIFELYEZÉS lehet unáris vagy bináris. Az unáris "
-
-#~ msgid "expressions are often used to examine the status of a file. There"
-#~ msgstr ""
-#~ "kifelyezéseket gyakran használják fájlok helyzetének a vizsgálatára."
-
-#~ msgid "are string operators as well, and numeric comparison operators."
-#~ msgstr "Vagy ott ahol a sztingeket kell összehasonlítani számokkal."
-
-#~ msgid "File operators:"
-#~ msgstr "Fájl operátorok:"
-
-#~ msgid " -b FILE True if file is block special."
-#~ msgstr " -b FÁJL Igaz ha a FÁJL egy speciális blokk fájl."
-
-#~ msgid " -c FILE True if file is character special."
-#~ msgstr " -c FÁJL Igaz ha a FÁJL egy speciális karakter fájl"
-
-#~ msgid " -d FILE True if file is a directory."
-#~ msgstr " -d FÁJL Igaz ha a FÁJL egy könyvtár"
-
-#~ msgid " -e FILE True if file exists."
-#~ msgstr " -e FÁJL Igaz ha a FÁJL létezik."
-
-#~ msgid " -f FILE True if file exists and is a regular file."
-#~ msgstr " -f FÁJL Igaz ha a FÁJL létezik és általános fájl."
-
-#~ msgid " -g FILE True if file is set-group-id."
-#~ msgstr ""
-#~ " -g FÁJL Igaz ha a FÁJL csoport azonosítója be van állítva."
-
-#~ msgid " -h FILE True if file is a symbolic link. Use \"-L\"."
-#~ msgstr ""
-#~ " -h FÁJL Igaz ha a FÁJL egy szimbolikus link. A \"-L\" "
-#~ "használatával."
-
-#~ msgid " -L FILE True if file is a symbolic link."
-#~ msgstr " -L FÁJL Igaz ha a FÁJL egy szimbolikus link."
-
-#~ msgid " -k FILE True if file has its \"sticky\" bit set."
-#~ msgstr ""
-#~ " -k FÁJL Igaz ha a FÁJL-on be van állítva a rögzített bit."
-
-#~ msgid " -p FILE True if file is a named pipe."
-#~ msgstr " -p FÁJL Igaz ha a FÁJL egy csõ(pipe)."
-
-#~ msgid " -r FILE True if file is readable by you."
-#~ msgstr " -r FÁJL Igaz ha a FÁJL ön által olvasható."
-
-#~ msgid " -s FILE True if file exists and is not empty."
-#~ msgstr " -s FÁJL Igaz ha a FÁJL létezik és nem üres."
-
-#~ msgid " -S FILE True if file is a socket."
-#~ msgstr " -S FÁJL Igaz ha a FÁJL egy socket."
-
-#~ msgid " -t FD True if FD is opened on a terminal."
-#~ msgstr " -t FD Igaz ha az FD megnyitották egy terminálon."
-
-#~ msgid " -u FILE True if the file is set-user-id."
-#~ msgstr ""
-#~ " -u FÁJL Igaz ha a FÁJL-on a felhasználó azonosító be van "
-#~ "állítva."
-
-#~ msgid " -w FILE True if the file is writable by you."
-#~ msgstr " -w FÁJL Igaz ha a FÁJL-t ön tudja írni."
-
-#~ msgid " -x FILE True if the file is executable by you."
-#~ msgstr " -x FÁJL Igaz ha a FÁJL-t tudja futtatni."
-
-#~ msgid " -O FILE True if the file is effectively owned by you."
-#~ msgstr " -O FÁJL Igaz ha a FÁJL-t effektíve ön birtokolja."
-
-#~ msgid ""
-#~ " -G FILE True if the file is effectively owned by your group."
-#~ msgstr ""
-#~ " -G FÁJL Igaz ha a FÁJL az ön csoportja effektíve birtokolja."
-
-#~ msgid " FILE1 -nt FILE2 True if file1 is newer than (according to"
-#~ msgstr " FÁJL1 -nt FÁJL2 Igaz ha a FÁJL1 újabb mint (módosítási dátum "
-
-#~ msgid " modification date) file2."
-#~ msgstr " szerint) FÁJL2."
-
-#~ msgid " FILE1 -ot FILE2 True if file1 is older than file2."
-#~ msgstr " FÁJL1 -bot FÁJL2 Igaz ha a FÁJL1 régebbi, mint a FÁJL2."
-
-#~ msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-#~ msgstr " FÁJL1 -ef FÁJL2 Igaz ha a FÁJL1 egy hard link a FÁJL2-re."
-
-#~ msgid "String operators:"
-#~ msgstr "Sztring operátorok:"
-
-#~ msgid " -z STRING True if string is empty."
-#~ msgstr " -z SZTRING Igaz .ha a SZTRING üres."
-
-#~ msgid " -n STRING"
-#~ msgstr " -n SZTRING"
-
-#~ msgid " STRING True if string is not empty."
-#~ msgstr " SZTRING Igaz .ha a SZTRING nem üres"
-
-#~ msgid " STRING1 = STRING2"
-#~ msgstr " SZTRING1 = SZTRING2"
-
-#~ msgid " True if the strings are equal."
-#~ msgstr " Igaz ha a két sztring azonos."
-
-#~ msgid " STRING1 != STRING2"
-#~ msgstr " SZTRING1 != SZTRING2"
-
-#~ msgid " True if the strings are not equal."
-#~ msgstr " Igaz ha a két sztring nem azonos."
-
-#~ msgid " STRING1 < STRING2"
-#~ msgstr " SZTRING1 < SZTRING2"
-
-#~ msgid ""
-#~ " True if STRING1 sorts before STRING2 lexicographically"
-#~ msgstr ""
-#~ " Igaz ha a SZTRING1 elõrébb van mint a SZTRING2 "
-#~ "lexikálisan"
-
-#~ msgid " STRING1 > STRING2"
-#~ msgstr " SZTRING1 > SZTRING2"
-
-#~ msgid ""
-#~ " True if STRING1 sorts after STRING2 lexicographically"
-#~ msgstr ""
-#~ " Igaz ha a SZTRING1 hátrébb van mint a SZTRING2 "
-#~ "lexikálisan"
-
-#~ msgid "Other operators:"
-#~ msgstr "Egyéb operátorok:"
-
-#~ msgid " ! EXPR True if expr is false."
-#~ msgstr " ! KIFELYEZÉS Igaz ha a KIFELYEZÉS."
-
-#~ msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-#~ msgstr " KIF1 -a KIF2 Igaz ha mindkét(ÉS) KIFelyezés igaz."
-
-#~ msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-#~ msgstr " KIF1 -a KIF2 Igaz ha valamelyik(VAGY) KIFelyezés igaz."
-
-#~ msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-#~ msgstr " arg1 OP arg2 Számtani összehasonlítások. OP lehet -eq, -ne,"
-
-#~ msgid " -lt, -le, -gt, or -ge."
-#~ msgstr " -lt, -le, -gt, vagy -ge közül bármelyik."
-
-#~ msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-#~ msgstr ""
-#~ "A bináris számtani operátorok igaz értékel térnek vissza ha az ARG1 "
-#~ "egyenlõ"
-
-#~ msgid ""
-#~ "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-#~ msgstr ""
-#~ "nem egyenlõ, kevesebb mint, kevesebb vagy egyenlõ, nagyobb mint vagy"
-
-#~ msgid "than ARG2."
-#~ msgstr "nagyobb vagy egyenlõ mint az ARG2."
-
-#~ msgid "This is a synonym for the \"test\" builtin, but the last"
-#~ msgstr ""
-#~ "Ez egy szinonimája a \"test\" beépített utasításnak, de az utolsó "
-#~ "paraméter"
-
-#~ msgid "the shell."
-#~ msgstr "a feladatot futtassa ezen a parancsértelmezõn."
-
-#~ msgid "The command ARG is to be read and executed when the shell receives"
-#~ msgstr ""
-#~ "Az ARG-ban meghatározott parancsot futtatja le ha a parancsértelmezõ egy"
-
-#~ msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-#~ msgstr "SIGNAL_SCEP jelet kap.Ha az ARG-ot elhagyjuk akkor az összes jel"
-
-#~ msgid "reset to their original values. If ARG is the null string each"
-#~ msgstr ""
-#~ "vissza áll az eredeti értékére. Ha az ARG egy üres sztring akkor a "
-#~ "parancsértelmezõ"
-
-#~ msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-#~ msgstr "és a parancsok SIGNAL_SPEC hívásait figyelmen kívül hagyja."
-
-#~ msgid "If SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-#~ msgstr ""
-#~ "Ha egy SIGNAL_SPEC EXIT(0) ARG-ot kap akkor kilép az aktuális parancs-"
-
-#~ msgid "the shell. If SIGNAL_SPEC is DEBUG, ARG is executed after every"
-#~ msgstr "értelmezõbõl.Ha a SIGNAL_SPEC értéke DEBUG akkor az ARG minden"
-
-#~ msgid "command. If ARG is `-p' then the trap commands associated with"
-#~ msgstr "parancs után le fut. Ha az ARG egy '-p' akkor megjeleníti az összes"
-
-#~ msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-#~ msgstr "SIGNAL_SPEC hozzárendelést. Ha opciók nélkül használja vagy"
-
-#~ msgid "only `-p' is given, trap prints the list of commands associated with"
-#~ msgstr ""
-#~ "csak a '-p'-t akkor a trap kiírja a hozzárendelt parancsok listáját az "
-
-#~ msgid ""
-#~ "each signal number. SIGNAL_SPEC is either a signal name in <signal.h>"
-#~ msgstr ""
-#~ "összes jel számával. A SIGNAL_SPEC elfogadja a <signal.h>-ban "
-#~ "meghatározott"
-
-#~ msgid ""
-#~ "or a signal number. `trap -l' prints a list of signal names and their"
-#~ msgstr ""
-#~ "neveket vagy számukat. A 'trap -l' kiírja a jelek neveit és a "
-#~ "hozzátartozó "
-
-#~ msgid "corresponding numbers. Note that a signal can be sent to the shell"
-#~ msgstr ""
-#~ "értékeket.Megjegyzés: a parancsértelemzõnek a \"kill -signal $$\" -al "
-
-#~ msgid "with \"kill -signal $$\"."
-#~ msgstr "lehet küldeni."
-
-#~ msgid "For each NAME, indicate how it would be interpreted if used as a"
-#~ msgstr "Az összes NÉVrõl hogyan értelmezi ha parancsértelmezõ amikor"
-
-#~ msgid "If the -t option is used, returns a single word which is one of"
-#~ msgstr ""
-#~ "Ha a '-t' opciót használja akkor az eredmény a következõ szavak egyike"
-
-#~ msgid ""
-#~ "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-#~ msgstr ""
-#~ "`alias', `keyword', `function', `builtin', `file' vagy `', ha a NÉV egy"
-
-#~ msgid ""
-#~ "alias, shell reserved word, shell function, shell builtin, disk file,"
-#~ msgstr ""
-#~ "alias, parancsértelmezõ által fenntartott szó, parancsértelmezõ funkció, "
-
-#~ msgid "or unfound, respectively."
-#~ msgstr ""
-#~ "beépített utasítás, egy fájl a lemezen vagy ha nincs meg,sorrendben."
-
-#~ msgid "If the -p flag is used, either returns the name of the disk file"
-#~ msgstr ""
-#~ "Ha a '-p'-t használja vissza tér a lemezen található fájl pontos helyével"
-
-#~ msgid "that would be executed, or nothing if -t would not return `file'."
-#~ msgstr "vagy ha nem ad vissza semmit akkor az nem egy fájl."
-
-#~ msgid "If the -a flag is used, displays all of the places that contain an"
-#~ msgstr ""
-#~ "A '-a' opció hatására megjeleníti az összes helyet ahol a megtalálható"
-
-#~ msgid ""
-#~ "executable named `file'. This includes aliases and functions, if and"
-#~ msgstr ""
-#~ "mint futtatható fájl. Ez magában foglalja a aliasokat és a funkciókat "
-
-#~ msgid "only if the -p flag is not also used."
-#~ msgstr "csak akkor ha '-p'-t nem használja."
-
-#~ msgid "Type accepts -all, -path, and -type in place of -a, -p, and -t,"
-#~ msgstr "A type elfogadja -all, -path, és a -type szavakat -a, -p, és -t,"
-
-#~ msgid "respectively."
-#~ msgstr "helyet."
-
-#~ msgid "Ulimit provides control over the resources available to processes"
-#~ msgstr ""
-#~ "Az ulimit teljes ellenõrzést biztosít a parancsértelmezõ által elindított "
-#~ "programok"
-
-#~ msgid "started by the shell, on systems that allow such control. If an"
-#~ msgstr "elõforrásai felet, ami által az egész rendszer lehet szabályozni."
-
-#~ msgid "option is given, it is interpreted as follows:"
-#~ msgstr "A következõ lista bemutatja az elérhetõ opciókat:"
-
-#~ msgid " -S\tuse the `soft' resource limit"
-#~ msgstr " -S\t \"lágy\" erõforrás korlátozást használ"
-
-#~ msgid " -H\tuse the `hard' resource limit"
-#~ msgstr " -H\t \"kemény\" erõforrás korlátozást használ"
-
-#~ msgid " -a\tall current limits are reported"
-#~ msgstr " -a\tmegjeleníti az összes korlátozás"
-
-#~ msgid " -c\tthe maximum size of core files created"
-#~ msgstr " -c\ta maximálisan létrehozható core fájl mérete"
-
-#~ msgid " -d\tthe maximum size of a process's data segment"
-#~ msgstr " -d maximális mérete feladatok adat szegmensének"
-
-#~ msgid " -m\tthe maximum resident set size"
-#~ msgstr " -m\ta maximális bennmaradó(rezidest) rész mérete"
-
-#~ msgid " -s\tthe maximum stack size"
-#~ msgstr " -s\ta verem maximális mérete"
-
-#~ msgid " -t\tthe maximum amount of cpu time in seconds"
-#~ msgstr " -t\ta maximálisan felhasználható cpu idõ másodpercben"
-
-#~ msgid " -f\tthe maximum size of files created by the shell"
-#~ msgstr ""
-#~ " -f\t a parancsértelmezõ által létrehozható fájlok maximális mérete"
-
-#~ msgid " -p\tthe pipe buffer size"
-#~ msgstr " -p\ta csõ(pipe) puffer mérete"
-
-#~ msgid " -n\tthe maximum number of open file descriptors"
-#~ msgstr " -n\ta maximálisan megnyitható fájl leírók száma"
-
-#~ msgid " -u\tthe maximum number of user processes"
-#~ msgstr " -u\ta felhasználó által maximálisan elindítható feladatok száma"
-
-#~ msgid " -v\tthe size of virtual memory"
-#~ msgstr " -v\ta virtuális memória mérete"
-
-#~ msgid "If LIMIT is given, it is the new value of the specified resource."
-#~ msgstr "Ha a HATÁR meghatározza akkor azaz értéket használja az erõforrás."
-
-#~ msgid "Otherwise, the current value of the specified resource is printed."
-#~ msgstr "Egyébként megjeleníti a jelenlegi értékét az elõforrásnak."
-
-#~ msgid "If no option is given, then -f is assumed. Values are in 1k"
-#~ msgstr ""
-#~ "Ha opció nélkül indításhoz a '-f' van hozzárendelve.Az értékek Kilobájtban"
-
-#~ msgid "increments, except for -t, which is in seconds, -p, which is in"
-#~ msgstr ""
-#~ "értendõ, kivétel a '-a' értéke mert az másodpercet jelent és a '-p' "
-#~ "amelyik"
-
-#~ msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-#~ msgstr "512 bájtot. A '-u' pedig a folyamatok száma darabban "
-
-#~ msgid "processes."
-#~ msgstr "kihelyezve."
-
-#~ msgid ""
-#~ "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-#~ msgstr ""
-#~ "A felhasználó fájl létrehozási MÓDJÁT állíthatjuk be. Ha a MÓDot elhagyjuk"
-
-#~ msgid ""
-#~ "`-S' is supplied, the current value of the mask is printed. The `-S'"
-#~ msgstr ""
-#~ "vagy a '-S' opciót használjuk akkor a jelenlegi maskot írja ki. A '-S' "
-#~ "opció "
-
-#~ msgid ""
-#~ "option makes the output symbolic; otherwise an octal number is output."
-#~ msgstr ""
-#~ "kimenete a szimbolikus jelentést írja ki egyébként nyolcas "
-#~ "számrendszerben kódolva"
-
-#~ msgid "If MODE begins with a digit, it is interpreted as an octal number,"
-#~ msgstr ""
-#~ "írja ki.Ha a MÓD számmal kezdõdik akkor nyolcas számrendszerben kódolva"
-
-#~ msgid ""
-#~ "otherwise it is a symbolic mode string like that accepted by chmod(1)."
-#~ msgstr ""
-#~ "értelmezi egyébként a szimbolikus módokat használja mint a chmod(1)."
-
-#~ msgid ""
-#~ "Wait for the specified process and report its termination status. If"
-#~ msgstr "Várakozik egy meghatározott feladatra és jelentést készít róla."
-
-#~ msgid "N is not given, all currently active child processes are waited for,"
-#~ msgstr ""
-#~ "Ha az N nincs meghatározva akkor a jelenleg aktív gyermek folyamatra vár"
-
-#~ msgid "and the return code is zero. N may be a process ID or a job"
-#~ msgstr ""
-#~ "és a visszatérési értéke 0. Az N lehet egy folyamat azonosító és egy "
-#~ "munka-"
-
-#~ msgid "specification; if a job spec is given, all processes in the job's"
-#~ msgstr "folyamat meghatározás, ha egy munkafolyamatot ad át akkor az összes"
-
-#~ msgid "pipeline are waited for."
-#~ msgstr "folyamatára várakozik."
-
-#~ msgid "and the return code is zero. N is a process ID; if it is not given,"
-#~ msgstr ""
-#~ "és a visszatérési értéke 0. Az N lehet egy folyamat azonosító ha ez nincs "
-
-#~ msgid "all child processes of the shell are waited for."
-#~ msgstr "megadva a parancsértelmezõ összes gyermek feladatára várakozik."
-
-#~ msgid "The `for' loop executes a sequence of commands for each member in a"
-#~ msgstr "A 'for' egy hurokban elindítja a parancsokat amíg az összes eleme"
-
-#~ msgid ""
-#~ "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-#~ msgstr ""
-#~ "végig nem futott. Ha az 'in SZAVAK..;'nincs jelen akkor a \"$@\" értékeit"
-
-#~ msgid ""
-#~ "assumed. For each element in WORDS, NAME is set to that element, and"
-#~ msgstr "használja fel.A SZAVAK összes elemét a NÉVhez rendeli és lefuttatja"
-
-#~ msgid "the COMMANDS are executed."
-#~ msgstr "a PARANCSOKAT."
-
-#~ msgid "The WORDS are expanded, generating a list of words. The"
-#~ msgstr "SZAVAK kiválasztása, lista generálása a szavakból"
-
-#~ msgid "set of expanded words is printed on the standard error, each"
-#~ msgstr "Az összegyûjtõt szavakat a standard hibakimenetre küldi, mindegyik"
-
-#~ msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-#~ msgstr "besorszámozva. Ha a 'in SZAVAK' nincs jelen akkor a \"$@\""
-
-#~ msgid "is assumed. The PS3 prompt is then displayed and a line read"
-#~ msgstr "használja. A PS3 prompt jelenik meg és szabvány bemenetrõl"
-
-#~ msgid "from the standard input. If the line consists of the number"
-#~ msgstr "olvas. Ha a sorban található valamelyik szám megfelel"
-
-#~ msgid "corresponding to one of the displayed words, then NAME is set"
-#~ msgstr "a megjelenített szavak egyikével akkor azt behelyettesíti a NÉV-be"
-
-#~ msgid "to that word. If the line is empty, WORDS and the prompt are"
-#~ msgstr "Ha a sor üres akkor a SZAVAKAT és a promptot újra megjeleníti"
-
-#~ msgid "redisplayed. If EOF is read, the command completes. Any other"
-#~ msgstr ""
-#~ "Ha EOF jelet olvas be akkor a parancsot befejezi. Minden egyéb helyzetben"
-
-#~ msgid "value read causes NAME to be set to null. The line read is saved"
-#~ msgstr "a NÉV értékét nullára állítja be. A beolvasott sort eltárolja a "
-
-#~ msgid "in the variable REPLY. COMMANDS are executed after each selection"
-#~ msgstr ""
-#~ "REPLY változóba. A parancsot az mindig lefuttatja egészen addig amíg"
-
-#~ msgid "until a break or return command is executed."
-#~ msgstr "meg nem szakítjuk vagy vissza nem tér a parancs."
-
-#~ msgid "`|' is used to separate multiple patterns."
-#~ msgstr "'|' használhatjuk több minta elválasztásához."
-
-#~ msgid ""
-#~ "The if COMMANDS are executed. If the exit status is zero, then the then"
-#~ msgstr ""
-#~ "Az if PARANCS lefuttatása. Ha a kimeneti status nulla akkor a 'then'"
-
-#~ msgid ""
-#~ "COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-#~ msgstr " PARANCS-ot lefuttatja. Egyébként az 'elif' PARANCSAIt futtatja le"
-
-#~ msgid ""
-#~ "in turn, and if the exit status is zero, the corresponding then COMMANDS"
-#~ msgstr ""
-#~ "és ha ennek a visszatérési értéke nulla akkor a megfelelõ PARANCSok "
-#~ "lesznek"
-
-#~ msgid ""
-#~ "are executed and the if command completes. Otherwise, the else COMMANDS"
-#~ msgstr ""
-#~ "lefuttatva és ezzel behelyezõdik az 'if' parancs. Egyébként az 'else' ág "
-#~ "PARANCSAI"
-
-#~ msgid ""
-#~ "are executed, if present. The exit status is the exit status of the last"
-#~ msgstr "futnak le (persze ha jelen van). A visszatérési státusz az utolsó"
-
-#~ msgid "command executed, or zero if no condition tested true."
-#~ msgstr "lefutott parancsé vagy nulla ha az 'if' feltétel nem igaz."
-
-#~ msgid "`while' COMMANDS has an exit status of zero."
-#~ msgstr "'while'-ban nem tér vissza nulla kilépési státusszal."
-
-#~ msgid "`until' COMMANDS has an exit status which is not zero."
-#~ msgstr "'until'-ban nem tér vissza nulla kilépési státusszal."
-
-#~ msgid "Create a simple command invoked by NAME which runs COMMANDS."
-#~ msgstr ""
-#~ "Létrehoz egy egyszerû parancsot amit a NÉVvel lehet meghívni és ami "
-#~ "lefuttatja"
-
-#~ msgid "Arguments on the command line along with NAME are passed to the"
-#~ msgstr "a PARANCSOKAT. A parancssorban a NÉV opciói a $0..$N"
-
-#~ msgid "function as $0 .. $n."
-#~ msgstr "változókban jelenik meg."
-
-#~ msgid "entire set of commands."
-#~ msgstr "átirányítás a parancsok halmazának."
-
-#~ msgid "This is similar to the `fg' command. Resume a stopped or background"
-#~ msgstr ""
-#~ "Ez hasonlít az 'fg' parancsra. Folyattatja a megállított vagy háttérbe "
-#~ "rakott"
-
-#~ msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-#~ msgstr ""
-#~ "munkafolyamatokat. Ha meghatározza a SZÁMOKAT akkor azt munkafolyamatot"
+"Sorok olvasása egy tömbváltozóba.\n"
+" \n"
+" „mapfile†szinonimája."
#~ msgid ""
-#~ "WORD, then the job whose name begins with WORD is used. Following the"
-#~ msgstr ""
-#~ "használja. Ha a SZÓT adja meg akkor azokat a folyamatokat használja ami a "
-
-#~ msgid "job specification with a `&' places the job in the background."
+#~ ". With EXPR, returns\n"
+#~ " "
#~ msgstr ""
-#~ "a SZÓval kezdõdik.A munkafolyamat meghatározása egy '&'-re végzõdik akkor "
-#~ "a háttérbe helyezi."
-
-#~ msgid "BASH_VERSION The version numbers of this Bash."
-#~ msgstr "BASH_VERSION A Bash verzió száma."
-
-#~ msgid "CDPATH A colon separated list of directories to search"
-#~ msgstr ""
-#~ "CDPATH Kettõsponttal elválasztott lista azoknak a könyvtáraknak"
-
-#~ msgid "\t\twhen the argument to `cd' is not found in the current"
-#~ msgstr "\t\thelyérõl amiket a 'cd' parancs nem talál meg az aktuális "
-
-#~ msgid "\t\tdirectory."
-#~ msgstr "\t\tkönyvtárban."
+#~ "kifejezéssel, EXPR-rel a\n"
+#~ " "
#~ msgid ""
-#~ "HISTFILE The name of the file where your command history is stored."
-#~ msgstr ""
-#~ "HISTFILE A fájl neve ahol a saját parancs elõzményeket tárolja."
-
-#~ msgid "HISTFILESIZE The maximum number of lines this file can contain."
-#~ msgstr "HISTFILESIZE Maximális sorok száma amit ez a fájl tartalmazhat."
-
-#~ msgid "HISTSIZE The maximum number of history lines that a running"
-#~ msgstr "HISTSIZE A maximális sorok száma amit a futó"
-
-#~ msgid "\t\tshell can access."
-#~ msgstr "\t\tparancsértelmezõ még elérhet."
-
-#~ msgid "HOME The complete pathname to your login directory."
-#~ msgstr "HOME A teljes útvonala a saját belépési könyvtárnak."
-
-#~ msgid ""
-#~ "HOSTTYPE The type of CPU this version of Bash is running under."
-#~ msgstr "HOSTTYPE A CPU típusa annak a gépeknek ahol a Bash fut."
-
-#~ msgid ""
-#~ "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-#~ msgstr ""
-#~ "IGNOREEOF Ellenõrzi a parancsértelemezõ viselkedését amikor egy EOF"
-
-#~ msgid "\t\tcharacter as the sole input. If set, then the value"
-#~ msgstr ""
-#~ "\t\tkaraktert kap mint önálló bemenet. Ha be van állítva akkor ez az "
-
-#~ msgid "\t\tof it is the number of EOF characters that can be seen"
-#~ msgstr "\t\t érték akkor azt jelenti, hogy hány üres"
-
-#~ msgid "\t\tin a row on an empty line before the shell will exit"
-#~ msgstr "\t\tsor keljen az EOF jel elõtt, hogy kilépjen(alapból 10). Amikor"
-
-#~ msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-#~ msgstr "\t\t nincs beállítva akkor az EOF jelre befejezi a bevitelt"
-
-#~ msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-#~ msgstr "MAILCHECK\tHány másodpercenként ellenõrizze a Bash az új leveleket."
-
-#~ msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-#~ msgstr "MAILPATH\tEgy kettõsponttal elválasztott lista a fájl nevekrõl ahol"
-
-#~ msgid "\t\tfor new mail."
-#~ msgstr "\t\ta Bash ellenõrzi az új leveleket."
-
-#~ msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-#~ msgstr "OSTYPE\t\tA Unix verziója annak a gépnek ahol a Bash fut."
-
-#~ msgid "PATH A colon-separated list of directories to search when"
-#~ msgstr ""
-#~ "PATH Kettõsponttal elválasztott lista azokról a könyvtárakról"
-
-#~ msgid "\t\tlooking for commands."
-#~ msgstr "\t\tahol a Bash keresi a parancsokat."
-
-#~ msgid "PROMPT_COMMAND A command to be executed before the printing of each"
-#~ msgstr "PROMPT_COMMAND A parancs amit mindig lefuttat mielõtt kiírja "
-
-#~ msgid "\t\tprimary prompt."
-#~ msgstr "\t\tmielõtt megjelenítené az elsõdleges promptot."
-
-#~ msgid "PS1 The primary prompt string."
-#~ msgstr "PS1 Az elsõdleges prompt sztringje."
-
-#~ msgid "PS2 The secondary prompt string."
-#~ msgstr "PS2 másodlagos prompt sztringje."
-
-#~ msgid "TERM The name of the current terminal type."
-#~ msgstr "TERM A jelenlegi terminál típusának a neve."
-
-#~ msgid "auto_resume Non-null means a command word appearing on a line by"
-#~ msgstr ""
-#~ "auto_resume A kitöltött változó azt jelenti a kiadott parancsokat"
-
-#~ msgid "\t\titself is first looked for in the list of currently"
-#~ msgstr "\t\telõbb megnézi a jelenleg megállított munka"
-
-#~ msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-#~ msgstr "\t\tfolyamatok között.Ha megtalálja akkor azt folytatja."
-
-#~ msgid "\t\tA value of `exact' means that the command word must"
-#~ msgstr "\t\tAz `exact' értéke azt jelenti, hogy a parancsnak teljesen meg"
-
-#~ msgid "\t\texactly match a command in the list of stopped jobs. A"
-#~ msgstr "\t\tkell egyezni a leállított munkafolyamat nevével."
-
-#~ msgid "\t\tvalue of `substring' means that the command word must"
-#~ msgstr "\t\tA 'substring' érték pedig azt jelenti, hogy a parancsnak csak "
-
-#~ msgid "\t\tmatch a substring of the job. Any other value means that"
-#~ msgstr ""
-#~ "\t\tegy része is elegendõ az egyezéshez.Minden egyéb érték azt jelenti,"
-
-#~ msgid "\t\tthe command must be a prefix of a stopped job."
-#~ msgstr ""
-#~ "\t\t hogy a parancs elõtéte kell hogy legyen a legállított munkafolyamat."
-
-#~ msgid "command_oriented_history"
-#~ msgstr "command_oriented_history"
-
-#~ msgid ""
-#~ " Non-null means to save multiple-line commands together on"
-#~ msgstr ""
-#~ " A változó kitöltése azt jelenti, hogy több soros "
-#~ "parancsokat"
-
-#~ msgid " a single history line."
-#~ msgstr " egy sorba rakja az elõzmények közé."
-
-#~ msgid "histchars Characters controlling history expansion and quick"
-#~ msgstr ""
-#~ "histchars Ezekkel a karakterekkel befolyásolható az elõzmények gyors"
-
-#~ msgid "\t\tsubstitution. The first character is the history"
-#~ msgstr "\t\tbehelyettesítése. Az elõzmények elsõ karakterre"
-
-#~ msgid "\t\tsubstitution character, usually `!'. The second is"
-#~ msgstr "\t\ta behelyettesítõ karakter általában '!'. A második"
-
-#~ msgid "\t\tthe `quick substitution' character, usually `^'. The"
-#~ msgstr "\t\ta gyors behelyettesítést jelenti általában `^' jelenti. A"
-
-#~ msgid "\t\tthird is the `history comment' character, usually `#'."
-#~ msgstr "\t\tharmadik a elõzmények megjegyzés karakterre általában '#'."
-
-#~ msgid "HISTCONTROL\tSet to a value of `ignorespace', it means don't enter"
-#~ msgstr "HISTCONTROL\tA változó `ignorespace' értéke azt jelenti, hogy"
-
-#~ msgid "\t\tlines which begin with a space or tab on the history"
-#~ msgstr ""
-#~ "\t\tazokat a sorokat amelyek helyjellel vagy tabulátorral kezdõdnek "
-#~ "kihagyja az"
-
-#~ msgid "\t\tlist. Set to a value of `ignoredups', it means don't"
-#~ msgstr "\t\telõzmények közül.Az `ignoredups' jelentése"
-
-#~ msgid "\t\tenter lines which match the last entered line. Set to"
-#~ msgstr "\t\tha a beírt sor azonos az elõzõvel akkor nem rögzíti.Ha "
-
-#~ msgid "\t\t`ignoreboth' means to combine the two options. Unset,"
-#~ msgstr ""
-#~ "\t\t`ignoreboth'-ra állítjuk be akkor a két tulajdonságot ötvözi."
-#~ "Leállítása"
-
-#~ msgid "\t\tor set to any other value than those above means to save"
-#~ msgstr "\t\tvagy már ha értékre állítjuk be akkor a mentés során"
-
-#~ msgid "\t\tall lines on the history list."
-#~ msgstr "\t\tminden sor bele kerül az elõzmények közé."
-
-#~ msgid "Toggle the values of variables controlling optional behavior."
-#~ msgstr "A változok értékeivel szabályozhatjuk az opciók viselkedését."
-
-#~ msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-#~ msgstr "A '-s'-el engedélyezhetjük az összes OPTNEVEt, a '-u'-val pedig"
-
-#~ msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-#~ msgstr "letilthatjuk õket. A '-q' opcióval a kimenetet letilthatjuk el így"
-
-#~ msgid "status indicates whether each OPTNAME is set or unset. The -o"
-#~ msgstr "csak a visszatérési értékek jelzik az OPTNEVEk állapotát. A '-o'"
-
-#~ msgid "option restricts the OPTNAMEs to those defined for use with"
-#~ msgstr "opcióval rögzítheti a OPTNEVEK-et ezeket a meghatározásokat"
-
-#~ msgid "`set -o'. With no options, or with the -p option, a list of all"
-#~ msgstr ""
-#~ "a 'set -o' használhatjuk. Opciók nélkül vagy a 'p' opció kilistázza az "
-#~ "összes"
-
-#~ msgid "settable options is displayed, with an indication of whether or"
-#~ msgstr "beállítható opciót jelezve azokat amik már be vannak állítva és"
-
-#~ msgid "not each is set."
-#~ msgstr "azokat amik nincsenek beállítva."
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ " kifejezéssel tér vissza. Ez az adat stack trace kiírásához\n"
+#~ " lehet hasznos.\n"
+#~ " \n"
+#~ " Az EXPR értéke azt adja meg, hogy a jelenlegihez képest milyen "
+#~ "mélyre\n"
+#~ " lépjen vissza; a verem tetején a 0-s keret van."
diff --git a/po/id.gmo b/po/id.gmo
index 53df6ad..d8d80c8 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 4084842..aaa0e5f 100644
--- a/po/id.po
+++ b/po/id.po
@@ -1,14 +1,14 @@
# Pesan Bahasa Indonesia untuk bash
# Copyright (C) 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-03-21 11:40+0700\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-01-16 12:45+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "array subscript buruk"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: tidak dapat mengubah index ke array yang berassosiasi"
@@ -40,34 +40,34 @@ msgstr "%s: tidak dapat mengassign ke index tidak-numeric"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: harus menggunakan subscript ketika memberikan assosiasi array"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: tidak dapat membuat: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: tidak dapat menemukan keymap untuk perintah"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: bukan karakter whitespace (spasi) pertama ditemukan `\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "tidak menutup '%c' dalam %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: hilang pemisah colon"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "'%s': nama keymap tidak valid"
+msgstr "`%s': nama alias tidak valid"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -121,26 +121,11 @@ msgstr ""
" \n"
" Tanpa EXPR, kembali "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME tidak diset"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD tidak diset"
@@ -159,11 +144,11 @@ msgstr "peringatan: "
msgid "%s: usage: "
msgstr "%s: penggunaan: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "terlalu banyak argumen"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: pilihan membutuhkan sebuah argumen"
@@ -201,7 +186,7 @@ msgstr "nomor oktal tidak valid"
msgid "invalid hex number"
msgstr "nomor hexa tidak valid"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "nomor tidak valid"
@@ -312,25 +297,25 @@ msgstr ""
msgid "not currently executing completion function"
msgstr "saat ini sedang tidak menjalankan fungsi completion"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "hanya dapat digunakan dalam sebuah fungsi"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "tidak dapat menggunakan `-f' untuk membuat fungsi"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: fungsi baca-saja"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: tidak dapat menghapus variabel array secara ini"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: tidak dapat mengubah assosiasi ke array index"
@@ -359,29 +344,29 @@ msgstr "%s: bukan dinamically loaded"
msgid "%s: cannot delete: %s"
msgstr "%s: tidak dapat menghapus: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: bukan sebuah direktori"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: bukan sebuah file umum"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: file terlalu besar"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: tidak dapat menjalankan berkas binary"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: tidak dapat menjalankan: %s"
@@ -409,11 +394,11 @@ msgstr "Ada pekerjaan yang sedang berjalan.\n"
msgid "no command found"
msgstr "perintah tidak ditemukan"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "spesifikasi sejarah"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: tidak dapat membuka file sementara: %s"
@@ -446,7 +431,7 @@ msgstr "hashing dinonaktifkan"
msgid "%s: hash table empty\n"
msgstr "%s: tabel hash kosong\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "tekan\tperintah\n"
@@ -516,76 +501,86 @@ msgstr "%s: inlib gagal"
msgid "no other options allowed with `-x'"
msgstr "tidak ada pilihan lain yang diperbolehkan dengan `-x'"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumen harus diproses atau ID pekerjaan"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Kesalahan tidak diketahui"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "diduga sebuah ekspresi"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: bukan sebuah variabel array"
+msgstr "%s: bukan sebuah indeks array"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: spesifikasi file deskripsi tidak valid"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: file deskriptor %s tidak valid"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: jumlah baris tidak valid"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: asal array tidak valid"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: nama aksi tidak valid"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "nama variabel array kosong"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "bantuan array variabel dibutuhkan"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': hilang karakter format"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: spesifikasi timeout tidak valid"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': karakter format tidak valid"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "peringatan: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "hilang digit hexa untuk \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "hilang digit hexa untuk \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "tidak ada direktori lain"
@@ -744,21 +739,21 @@ msgstr "error baca: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "hanya dapat `return' dari sebuah fungsi atau script yang disource"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "tidak dapat secara simultan unset sebuah fungsi dan sebuah variable"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: tidak dapat unset"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: tidak dapat unset: baca-saja %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: bukan sebuah variabel array"
@@ -772,20 +767,20 @@ msgstr "%s: bukan sebuah fungsi"
msgid "shift count"
msgstr "shift terhitung"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "tidak dapat menset dan menunset pilihan shell secara bersamaan"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nama pilihan shell tidak valid"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "argumen nama file dibutuhkan"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: berkas tidak ditemukan"
@@ -828,26 +823,26 @@ msgstr "%s adalah %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s memiliki hash (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: argumen limit tidak valid"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': perintah buruk"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: tidak dapat get limit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "batas"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: tidak dapat memodifikasi batas: %s"
@@ -903,106 +898,111 @@ msgstr "%s: variabel tidak terikat"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr "kehabisan waktu menunggu masukan: otomatis-keluar\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "tidak dapat menyalurkan masukan standar dari /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': karakter format tidak valid"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "pipe error"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
"%s: dibatasi: tidak dapat menspesifikasikan '/' dalam nama nama perintah"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: perintah tidak ditemukan"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s adalah %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: interpreter buruk"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "tidak dapat menduplikasikan fd %d ke fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "expresi level rekursi terlewati"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "rekursi stack underflow"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntax error dalam expresi"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "mencoba menempatkan ke bukan sebuah variabel"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "dibagi oleh 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bug: tanda expassign buruk"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "`:' diharapkan untuk sebuah pernyataan kondisional"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "eksponen kurang dari 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "idenfier diharapkan setelah pre-increment atau pre-decrement"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "hilang `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntax error: operand diharapkan"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntax error: operator arithmetic tidak valid"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (error token adalah \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "basis arithmetic tidak valid"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "nilai terlalu besar untuk basis"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: expresi error\n"
@@ -1011,165 +1011,165 @@ msgstr "%s: expresi error\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: tidak dapat mengakses direktori orang tua"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "tidak dapat mereset mode nodelay untuk fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"tidak dapat mengalokasikan berkas deskripsi bari untuk masukan bash dari fd %"
"d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "simpan bash_input: buffer telah ada untuk fd %d baru"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "forked pid %d terlihat dalam pekerjaan yang sedang berjalan %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "menghapus pekerjaan yang terhenti %d dengan proses grup %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) dalam the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) ditandai dengan tetap hidup"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: tidak ada pid seperti itu"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "sinyal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Selesai"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Terhenti"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Terhenti(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Berjalan"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Selesai(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Keluar %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Status tidak diketahui"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(core didump) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "anak setpgid (%ld ke %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld bukan sebuah anak dari shell ini"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Tidak ada catatan untuk proses %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: pekerjaan %d terhenti"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: pekerjaan telah selesai"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: pekerjaan %d sudah berjalan di belakang (background)"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: mengaktifkan WNOHANG untuk menghindari blok tak terhingga"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: baris %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (core didump)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd sekarang: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp gagal"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: baris disiplin"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "tidak dapat menset terminal proses grup (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "tidak ada pengontrol pekerjaan dalam shell ini"
@@ -1265,22 +1265,22 @@ msgstr "operasi jaringan tidak dilayani"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: tidak dapat mengubah lokal (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: tidak dapat mengubah local (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: tidak dapat mengalokasikan %lu bytes"
+msgstr "setlocale: %s: tidak dapat mengubah lokal (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: tidak dapat mengalokasikan %lu bytes"
+msgstr "setlocale: %s: tidak dapat mengubah lokal (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1324,99 +1324,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: instruksi redireksi `%d' diluar dari jangkauan"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "EOF tidak terduga ketika mencari untuk pencocokan `%c'"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "EOF tidak terduga ketika mencari untuk `]]'"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntax error dalam ekspresi kondisional: tanda `%s' tidak terduga"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "syntax error dalam ekspresi kondisional"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "tanda `%s' tidak terduga, diduga `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "diduga `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "argumen tidak terduga `%s' ke operator kondisional unary"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "argumen tidak terduga untuk operasi unary kondisional"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "tanda `%s' tidak terduga, operator binary kondisional diduga"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "operator binary kondisional diduga"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "argumen `%s' tidak terduga ke operator binary kondisional"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "argumen tidak terduga ke operasi binary kondisional"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "tanda `%c' tidak terduga dalam perintah kondisional"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "tanda `%s' tidak terduga dalam perintah kondisional"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "tanda %d tidak terduga dalam perintah kondisional"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "syntax error didekat tanda `%s' yang tidak terduga"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "syntax error didekat `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "syntax error: tidak terduga diakhir dari berkas"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "syntax error"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Gunakan \"%s\" untuk meninggalkan shell.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "EOF tidak terduga ketika mencari untuk pencocokan ')'"
@@ -1425,77 +1425,77 @@ msgstr "EOF tidak terduga ketika mencari untuk pencocokan ')'"
msgid "completion: function `%s' not found"
msgstr "completion: fungsi `%s' tidak ditemukan"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: konektor buruk `%d'"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: file deskriptor %s tidak valid"
+msgstr "xtrace_set: %d: berkas pendeskripsi tidak valid"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: berkas penunjuk KOSONG"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: '%c': format karakter tidak valid"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "berkas deskripsi diluar dari jangkauan"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: redirect ambigu"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: tidak dapat menulis berkas yang sudah ada"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restricted: tidak dapat meredirect keluaran"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "tidak dapat membuat berkas sementara untuk dokumen disini: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: tidak dapat meng-assign daftar kedalam anggoya array"
+msgstr "%s: tidak dapat meng-'assign' fd ke variabel"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port tidak dilayani tanpa jaringan"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "redirection error: tidak dapat menduplikasi fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "tidak dapat menemukan /tmp, tolong buat!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp harus berupa sebuah nama direktori yang valid"
@@ -1504,16 +1504,16 @@ msgstr "/tmp harus berupa sebuah nama direktori yang valid"
msgid "%c%c: invalid option"
msgstr "%c%c: pilihan tidak valid"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Aku tidak memiliki nama!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versi %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1522,43 +1522,43 @@ msgstr ""
"Penggunaan:\t%s [GNU pilihan panjang] [pilihan] ...\n"
"\t%s [GNU pilihan panjang] [pilihan] berkas-script ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU pilihan panjang:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Pilihan shell:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD atau -c perintah atau -O shopt_option\t\t(hanya pemanggilan)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s atau pilihan -o\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Ketik `%s -c \"help set\"' untuk informasi lebih lanjut mengenai pilihan "
"shell.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Ketik `%s -c help' untuk informasi lebih lanjut mengenai perintah builting "
"shell.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Gunakan perintah 'bashbug' untuk melaporkan bugs.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: operasi tidak valid"
@@ -1732,83 +1732,85 @@ msgstr "Sinyal tidak diketahui #"
msgid "Unknown Signal #%d"
msgstr "Sinyal tidak diketahui #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "substitusi buruk: tidak ada penutupan `%s' dalam %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: tidak dapat meng-assign daftar kedalam anggoya array"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "tidak dapat membuat pipe untuk proses substitusi"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "tidak dapat membuat anak untuk proses substitusi"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "tidak dapat membuka named pipe %s untuk membaca"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "tidak dapat membukan named pipe %s untuk menulis"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "tidak dapat menduplikasi nama pipe %s sebagai fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "tidak dapat membuat pipe untuk perintah substitusi"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "tidak dapat membuat anak untuk perintah substitusi"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: tidak dapat menduplikasikan pipe sebagi fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parameter kosong atau tidak diset"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: substring expresi < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: substitusi buruk"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: tidak dapat meng-assign dengan cara ini"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"versi selanjutnya dari shell akan memaksa evaluasi dari sebuah penggantian "
+"aritmetika"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "substitusi buruk: tidak ada penutupan \"\" dalam %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "tidak cocok: %s"
@@ -1831,30 +1833,30 @@ msgstr "')' diduga"
msgid "`)' expected, found %s"
msgstr "`)' diduga, ditemukan %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: operator unary diduga"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: operator binary diduga"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "hilang `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "nomor sinyal tidak valid"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: nilai buruk dalam trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1862,7 +1864,7 @@ msgstr ""
"run_pending_traps: sinyal handler adalah SIG_DFL, mengirimkan kembali %d (%"
"s) kediri sendiri"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: sinyal buruk %d"
@@ -1872,61 +1874,62 @@ msgstr "trap_handler: sinyal buruk %d"
msgid "error importing function definition for `%s'"
msgstr "error mengimpor definisi fungsi untuk `%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "level shell (%d) terlalu tinggi, mereset ke 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: tidak ada context fungsi di scope ini"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: tidak ada context fungsi dalam scope ini"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: parameter kosong atau tidak diset"
+msgstr "%s memiliki exportstr kosong"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "karakter %d tidak valid dalam exporstr untuk %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "bukan `=' dalam exportstr untuk %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: kepala dari shell_variables bukan sebuah fungsi cbntext"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: bukan global_variable context"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: kepala dari shell_variables bukan sebuah scope lingkungan "
"sementara"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: tidak dapat membuka: %s"
+msgstr "%s: %s: tidak dapat membuka sebagai BERKAS"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: file deskriptor %s tidak valid"
+msgstr "%s: %s: nilai dari berkas pendeskripsi penelusur tidak valid"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Hak Cipta (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1955,39 +1958,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "TIDAK ADA GARANSI, selama masih diijinkan oleh hukum yang berlaku.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Hak Cipta (C) 2009 Free Software Foundation, Inc."
+msgstr "Hak Cipta (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Lisensi GPLv3+: GNU GPL versi 3 atau sesudahnya <http://gnu.org/licenses/gpl."
+"Lisensi GPLv2+: GNU GPL versi 2 atau sesudahnya <http://gnu.org/licenses/gpl."
"html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: tidak dapat mengalokasikan %lu bytes (%lu bytes teralokasi)"
+msgstr "%s: tidak dapat mengalokasikan %lu bytes (%lu bytes teralokasi)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: tidak dapat mengalokasikan %lu bytes"
+msgstr "%s: tidak dapat mengalokasikan %lu bytes"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"xmalloc: %s:%d: tidak dapat mengalokasikan %lu bytes (%lu bytes teralokasi)"
+msgstr "%s: %s:%d: tidak dapat mengalokasikan %lu bytes (%lu bytes teralokasi)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s: %d: tidak dapat teralokasi %lu bytes"
+msgstr "%s: %s: %d: tidak dapat teralokasi %lu bytes"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2022,7 +2024,8 @@ msgid "caller [expr]"
msgstr "pemanggil [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [direktori]"
#: builtins.c:66
@@ -2046,11 +2049,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "perintah [-pVv] perintah [argumen ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [name[=nilai] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] name[=nilai] ..."
#: builtins.c:80
@@ -2107,9 +2112,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p nama jalur] [-dt] [nama ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "bantuan [-ds] [pola ...]"
+msgstr "bantuan [-dms] [pola ...]"
#: builtins.c:121
msgid ""
@@ -2140,20 +2144,20 @@ msgid "let arg [arg ...]"
msgstr "biarkan arg [argumen ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a array] [-d pembatas] [-i text] [-n nchars] [-p prompt] [-t "
-"timeout] [-u fd] [name ...]"
+"read [-ers] [-a array] [-d pembatas] [-i text] [-n nchars] [-N nchars] [-p "
+"prompt] [-t timeout] [-u fd] [name ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [-abefhkmnptuvxBCHP] [-o nama-pilihan] [argumen ...]"
#: builtins.c:142
@@ -2165,7 +2169,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [name[=nilai] ...] atau export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [name[=nilai] ...] atau readonly -p"
#: builtins.c:148
@@ -2305,14 +2310,13 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] format [argumen]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o pilihan] [-A action] [-G globpat] [-W "
-"daftar kata] [-F fungsi] [-C perintah] [-X filterpat] [-P prefix] [-S "
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o pilihan] [-A action] [-G globpat] [-"
+"W daftar kata] [-F fungsi] [-C perintah] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
#: builtins.c:233
@@ -2324,9 +2328,8 @@ msgstr ""
"F fungsi] [-C perintah] [-X filterpat] [-P prefix] [-S suffix] [word]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o pilihan] [nama ...]"
+msgstr "compopt [-o|+o pilihan] [-DE] [nama ...]"
#: builtins.c:240
msgid ""
@@ -2575,6 +2578,7 @@ msgstr ""
" tidak valid."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2600,11 +2604,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Pindah direktori kerja shell.\n"
" \n"
@@ -2634,7 +2642,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan 0 jika direktori berubah; bukan nol jika tidak."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2664,7 +2672,7 @@ msgstr ""
"direktori sekarang\n"
" tidak bisa dibaca."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2680,7 +2688,7 @@ msgstr ""
" Status Keluar:\n"
" Selalu sukses."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2692,7 +2700,7 @@ msgstr ""
" Status Keluar:\n"
" Selalu sukses."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2704,7 +2712,7 @@ msgstr ""
" Status Keluar:\n"
" Selalu gagal."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2742,7 +2750,8 @@ msgstr ""
" Mengembalikan status keluar dari PERINTAH, atau gagal jika PERINTAH "
"tidak ditemukan."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2753,6 +2762,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2772,7 +2783,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2811,7 +2822,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2821,7 +2832,7 @@ msgstr ""
" \n"
" Kadaluarsa. Lihat `help declare'."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2849,7 +2860,7 @@ msgstr ""
"sebuah error terjadi.\n"
" atau shell tidak menjalankan sebuah fungsi."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2907,7 +2918,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan sukses kecuali sebuah penulisan error terjadi."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2929,7 +2940,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan sukses kecuali sebuah penulisan error terjadi."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2985,7 +2996,7 @@ msgstr ""
" Mengembalikan sukses kecuali NAMA bukan sebuah shell builtin atau sebuah "
"error terjadi."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -3006,7 +3017,7 @@ msgstr ""
" Mengembalikan status keluar dari perintah atau sukses jika perintah "
"adalah kosong."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3092,7 +3103,7 @@ msgstr ""
"dari pilihan\n"
" ditemui atau sebuah error terjadi."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3135,7 +3146,7 @@ msgstr ""
" Mengembalikan sukses kecuali PERINTAH tidak ditemukan atau sebuah "
"redireksi error terjadi."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3148,7 +3159,7 @@ msgstr ""
"keluaran\n"
" adalah status dari perintah terakhir yang dijalankan."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3162,7 +3173,7 @@ msgstr ""
"error jika tidak dijalankan\n"
" dalam sebuah login shell."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3221,7 +3232,7 @@ msgstr ""
" Mengembalikan sukses atau status dari perintah yang dijalankan; tidak-"
"nol jika sebuah error terjadi."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3242,7 +3253,7 @@ msgstr ""
" Status dari perintah yang ditempatkan di foreground, atau gagal jika "
"sebuah error terjadi."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3266,7 +3277,7 @@ msgstr ""
" Mengembalikan sukses kecuali pengontrol pekerjaan tidak aktif atau "
"sebuah error terjadi."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3312,7 +3323,7 @@ msgstr ""
" Mengembalikan sukses kecuali NAMA tidak ditemukan atau sebuah pilihan "
"tidak valid telah diberikan."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3353,7 +3364,7 @@ msgstr ""
" Mengembalikan sukses kecuali POLA tidak ditemukan atau pilihan tidak "
"valid diberikan."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3428,7 +3439,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3476,7 +3487,7 @@ msgstr ""
"sebuah error terjadi.\n"
" Jika -x digunakan, mengembalikan status keluar dari PERINTAH."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3508,7 +3519,7 @@ msgstr ""
" Mengembalikan sukses kecuali ada sebuah pilihan tidak valid atau JOBSPEC "
"diberikan."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3551,7 +3562,8 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3593,7 +3605,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Evaluasi ekspresi arithmetic.\n"
" \n"
@@ -3639,8 +3651,7 @@ msgstr ""
" Jika ARG terakhir dievaluasi ke 0, membiarkan kembali ke 1; 0 "
"dikembalikan Jika tidak."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3714,6 +3725,10 @@ msgstr ""
" -n nchars\tkembali setelah membaca NCHARS characters daripada "
"menunggu\n"
" \t\tuntuk sebuah baris baru\n"
+" -N nchars\thanya kembali setelah membaca tepat NCHARS karakter, "
+"kecuali\n"
+" \t\tEOF ditemui atau waktu habis dalam pembacaan, abaikan pembatas "
+"apapun\n"
" -p prompt\tkeluarkan string PROMPT tanpa tambahan baris baru sebelum\n"
" \t\tmencoba untuk membaca\n"
" -r\t\tjangan ijinkan backslash untuk mengeluarkan karakter apapun\n"
@@ -3734,7 +3749,7 @@ msgstr ""
" atau sebuah berkas deskripsi disupply sebagai sebuah argumen ke pilihan -"
"u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3756,7 +3771,8 @@ msgstr ""
" Mengembalikan N, atau gagal jika shell tidak menjalan sebuah fungsi atau "
"script."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3825,6 +3841,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3928,7 +3947,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3965,7 +3984,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah NAMA adalah baca-saja."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -4000,7 +4019,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"NAMA tidak valid."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -4039,7 +4058,7 @@ msgstr ""
" Mengembalikan sukses kecual sebuah pilihan tidak valid diberikan atau "
"NAMA tidak valid."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4057,7 +4076,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan sukses kecuali N adalah negatif atau lebih besar dari $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4083,7 +4102,7 @@ msgstr ""
"BERKAS; gagal jika\n"
" NAMA BERKAS tidak dapat dibaca."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4109,14 +4128,18 @@ msgstr ""
" Mengembalikan sukses kecuali pengontrol pekerjaan tidak aktif atau "
"sebuah error terjadi."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4170,6 +4193,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4269,7 +4293,7 @@ msgstr ""
"EXPR mengevaluasi ke\n"
" salah atau sebuah argumen tidak valid diberikan."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4281,7 +4305,7 @@ msgstr ""
" Ini sinonim untuk \"test\" builtin, tetapi argumen terakhir\n"
" harus berupa sebuah literal `]', untuk mencocokan dengan pembukaan `['."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4301,7 +4325,8 @@ msgstr ""
" Status Keluar:\n"
" Selalu sukses."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4317,7 +4342,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4374,7 +4407,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah SIGSPEC adalah tidak valid atau "
"sebuah pilihan tidak valid diberikan."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4436,7 +4469,7 @@ msgstr ""
" Mengembalikan sukses jika seluruh dari NAMA ditemukan; gagal jika ada "
"yang tidak ditemukan."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4524,7 +4557,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4562,7 +4595,7 @@ msgstr ""
" Mengembalikan sukses kecuali MODE tidak valid atau sebuah pilihan tidak "
"valid diberikan."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4594,7 +4627,7 @@ msgstr ""
"pilihan tidak\n"
" valid diberikan."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4619,7 +4652,7 @@ msgstr ""
"pilihan tidak valid\n"
" diberikan."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4643,7 +4676,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4673,7 +4706,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4710,7 +4743,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4738,7 +4771,7 @@ msgstr ""
" Status Keluar:\n"
" Status kembali adalah status kembali dari PIPELINE."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4756,7 +4789,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan setatus dari perintah terakhir yang dijalankan."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4794,7 +4827,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4812,7 +4845,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4829,7 +4862,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dijalankan."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4852,7 +4885,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status keluar dari PERINTAH."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4877,7 +4910,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan sukses kecuali NAMA adalah baca-saja."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4896,7 +4929,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari perintah terakhir yang dieksekusi."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4923,7 +4956,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan status dari pekerjaan yang dilanjutkan."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4941,7 +4974,7 @@ msgstr ""
" Status Keluar:\n"
" Mengembalikan 1 jika EXPRESI dievaluasi ke 0; mengembalikan 0 jika tidak."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4998,7 +5031,7 @@ msgstr ""
" Status Keluar:\n"
" 0 atau 1 tergantun dari nilai dari EKSPRESI."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5112,7 +5145,7 @@ msgstr ""
"digunakan untuk menentukan dimana\n"
" \t\tperintah seharusnya disimpan dalam daftar sejarah.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5172,7 +5205,7 @@ msgstr ""
"atau pemindahan\n"
" direktori gagal."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5227,7 +5260,7 @@ msgstr ""
"atau pemindahan\n"
" direktori gagal."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5283,7 +5316,7 @@ msgstr ""
" Mengembalikan sukses kecuali ada sebuah pilihan tidak valid diberikan "
"atau sebuah error terjadi."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5322,7 +5355,8 @@ msgstr ""
"tidak valid diberikan\n"
" atau OPTNAME dinonaktifkan."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5345,6 +5379,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5377,8 +5414,7 @@ msgstr ""
"sebuah penulisan atau penempatan\n"
" error terjadi."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5418,6 +5454,11 @@ msgstr ""
" -r\thapus sebuah spesifikasi penyelesaian untuk setiap NAMA, atau jika "
"tidak ada\n"
" \tNAMA yang diberikan, seluruh spesifikasi penyelesaian\n"
+" -D\taplikasikan pelengkapan dan aksi sebagai perintah baku tanpa "
+"pelengkapan\n"
+" \tspesifik yang didefinisikan\n"
+" -E\taplikasikan pelengkapan dan aksi ke perintah \"empty\" --\n"
+" \tpelengkapan dilakukan di baris kosong\n"
" \n"
" Ketika penyelesaian dicoba, aksi yang dilakukan dalam urutan\n"
" huruf besar pilihan yang ditampilkan diatas.\n"
@@ -5426,7 +5467,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5449,14 +5490,14 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"sebuah error terjadi."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5491,6 +5532,8 @@ msgstr ""
" \n"
" Pilihan:\n"
" \t-o option\tSet pilihan penyelesaian OPSI untuk setiap NAMA\n"
+" \t-D\t\tUbah pilihan untuk perintah pelengkapan \"default\"\n"
+" \t-E\t\tUbah pilihan untuk perintah pelengkapan \"empty\"\n"
" \n"
" Gunakan `+o' daripada `-o' matikan pilihan yang dispesifikasikan.\n"
" \n"
@@ -5510,7 +5553,7 @@ msgstr ""
"NAMA tidak memiliki\n"
" spesifikasi penyelesaian yang terdefinisi."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5539,7 +5582,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5554,12 +5598,12 @@ msgstr ""
" \n"
" Baca baris dari standar masukan kedalam variabel array ARRAY, atau dari\n"
" berkas deskripsi FD jika pilihan -u diberikan. Variabel MAPFILE adalah\n"
-" baku ARRAY.\n"
+" ARRAY baku.\n"
" \n"
" Pilihan:\n"
" -n count\tSalin di baris COUNT. Jika COUNT adalah 0, semua baris "
"disalin.\n"
-" -O origin\tAwal penempatan ke ARRAY di index ORIGIN. Default index "
+" -O origin\tAwal penempatan ke ARRAY di index ORIGIN. Indeks baku "
"adalah 0.\n"
" -s count \tAbaikan baris COUNT pertama yang dibaca.\n"
" -t\t\tHapus sebuah akhiran baris baru dari setiap baris yang dibaca.\n"
@@ -5573,7 +5617,10 @@ msgstr ""
" Argumen:\n"
" ARRAY\t\tNama variabel array yang digunakan untuk berkas data.\n"
" \n"
-" Jika -C Diberikan tanpa -c, default quantum adalah 5000.\n"
+" Jika -C Diberikan tanpa -c, default quantum adalah 5000. Ketika "
+"CALLBACK\n"
+" dievaluasi , ini diberikan ke indeks dari element 'array' selanjutnya\n"
+" untuk di-'assign' sebagai sebuah argumen tambahan.\n"
" \n"
" Jika tidak diberikan dengan asal secara eksplisit, berkas peta akan "
"menghapus ARRAY sebelum\n"
@@ -5583,7 +5630,7 @@ msgstr ""
" Mengembalikan sukses kecuali sebuah pilihan tidak valid diberikan atau "
"ARRAY adalah baca-saja."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5593,6 +5640,28 @@ msgstr ""
" \n"
" Sebuah sinonim untuk `mapfile'."
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". Dengan EXPR, kembali\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "; informasi tambahan ini dapat digunakan untuk\n"
+#~ " menyediakan penelusuran 'stack'.\n"
+#~ " \n"
+#~ " Nilai dari EXPR mengindikasikan berapa banyak panggilan 'frame' untuk "
+#~ "kembali\n"
+#~ " sebelum saat ini; 'frame' paling atas adalah 'frame' 0."
+
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr ""
#~ "xrealloc: tidak dapat menrealokasikan %lu bytes (%lu bytes teralokasikan)"
diff --git a/po/ja.gmo b/po/ja.gmo
index 7def4d7..f1d41c3 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 18dec23..d6abbcd 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1,114 +1,115 @@
-# Japanese message for GNU bash 2.0
-# Copyright (C) 1999 Free Software Foundation, Inc.
+# Japanese messages for GNU bash
+# Copyright (C) 1999, 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
# Kyoichi Ozaki <k@afromania.org>, 2000.
-#
+# Yasuaki Taniguchi <yasuakit@gmail.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: GNU bash 2.0\n"
+"Project-Id-Version: GNU bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2000-03-21 19:30+0900\n"
-"Last-Translator: Kyoichi Ozaki <k@afromania.org>\n"
-"Language-Team: Japanese <ja@li.org>\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-10-17 19:38+0900\n"
+"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=EUC-JP\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
#: arrayfunc.c:50
msgid "bad array subscript"
-msgstr ""
+msgstr "誤ã£ãŸé…列ã®æ·»å­—"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
-msgstr ""
+msgstr "%s: インデックスé…列ã‹ã‚‰é€£æƒ³é…列ã«å¤‰æ›ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
#: arrayfunc.c:480
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid associative array key"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%s: 無効ãªé€£æƒ³é…列ã®ã‚­ãƒ¼ã§ã™"
#: arrayfunc.c:482
#, c-format
msgid "%s: cannot assign to non-numeric index"
-msgstr ""
+msgstr "%s: é…列ã®æ·»å­—ã«éžæ•°å­—を設定ã§ãã¾ã›ã‚“"
#: arrayfunc.c:518
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
-msgstr ""
+msgstr "%s: %s: 連想é…列を設定ã™ã‚‹ã¨ãã«ã¯æ·»å­—ã‚’ã¤ã‘ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: %s を作æˆã§ãã¾ã›ã‚“"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
+msgstr "bash_execute_unix_command: コマンドã®ã‚­ãƒ¼ãƒžãƒƒãƒ—ãŒã‚ã‚Šã¾ã›ã‚“"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
-msgstr ""
+msgstr "%s: 最åˆã®éžç©ºç™½é¡žæ–‡å­—㌠`\"' ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
-msgstr ""
+msgstr "é–‰ã˜ã‚‹ `%c' ㌠%s ã«ã‚ã‚Šã¾ã›ã‚“"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
-msgstr ""
+msgstr "%s: 区切り文字コロン(:)ãŒã‚ã‚Šã¾ã›ã‚“"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "`%s': 無効ãªã‚¨ã‚¤ãƒªã‚¢ã‚¹åã§ã™"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
-msgstr ""
+msgstr "行編集ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã›ã‚“"
#: builtins/bind.def:206
#, c-format
msgid "`%s': invalid keymap name"
-msgstr ""
+msgstr "`%s': 無効ãªã‚­ãƒ¼ãƒžãƒƒãƒ—åã§ã™"
#: builtins/bind.def:245
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot read: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: %s を読ã¿è¾¼ã‚ã¾ã›ã‚“"
#: builtins/bind.def:260
-#, fuzzy, c-format
+#, c-format
msgid "`%s': cannot unbind"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "`%s': 割り当ã¦è§£é™¤ã§ãã¾ã›ã‚“"
#: builtins/bind.def:295 builtins/bind.def:325
-#, fuzzy, c-format
+#, c-format
msgid "`%s': unknown function name"
-msgstr "%s: Æɤ߹þ¤ß¤Î¤ß¤Î´Ø¿ô"
+msgstr "`%s': ä¸æ˜Žãªé–¢æ•°åã§ã™"
#: builtins/bind.def:303
#, c-format
msgid "%s is not bound to any keys.\n"
-msgstr ""
+msgstr "%s ã¯ã©ã®ã‚­ãƒ¼ã«ã‚‚割り当ã¦ã‚‰ã‚Œã¦ã„ã¾ã›ã‚“。\n"
#: builtins/bind.def:307
#, c-format
msgid "%s can be invoked via "
-msgstr ""
+msgstr "%s ã¯æ¬¡ã‚’通ã—ã¦èµ·å‹•ã—ã¾ã™ "
#: builtins/break.def:77 builtins/break.def:117
-#, fuzzy
msgid "loop count"
-msgstr "¥í¥°¥¢¥¦¥È"
+msgstr "ループ回数"
#: builtins/break.def:137
msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr ""
+msgstr "`for'ã€`while' ã¾ãŸã¯ `until' ループã§ã®ã¿æ„味ãŒã‚ã‚Šã¾ã™"
#: builtins/caller.def:133
msgid ""
@@ -116,359 +117,341 @@ msgid ""
" \n"
" Without EXPR, returns "
msgstr ""
-
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
+"ç¾åœ¨ã®ã‚µãƒ–ルーãƒãƒ³å‘¼ã³å‡ºã—ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚\n"
" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
+" EXPR ãŒç„¡ã„å ´åˆã€æ¬¡ã‚’è¿”ã—ã¾ã™ "
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
-msgstr ""
+msgstr "HOME ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
-msgstr ""
+msgstr "OLDPWD ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
#: builtins/common.c:101
-#, fuzzy, c-format
+#, c-format
msgid "line %d: "
-msgstr "¥¹¥í¥Ã¥È %3d: "
+msgstr "%d 行: "
#: builtins/common.c:139 error.c:261
-#, fuzzy, c-format
+#, c-format
msgid "warning: "
-msgstr "½ñ¤­¹þ¤ßÃæ"
+msgstr "警告: "
#: builtins/common.c:153
#, c-format
msgid "%s: usage: "
-msgstr ""
+msgstr "%s: 使用法: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
-msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+msgstr "引数ãŒå¤šã™ãŽã¾ã™"
-#: builtins/common.c:191 shell.c:499 shell.c:782
-#, fuzzy, c-format
+#: builtins/common.c:191 shell.c:500 shell.c:782
+#, c-format
msgid "%s: option requires an argument"
-msgstr "¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬Í×: -"
+msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™"
#: builtins/common.c:198
#, c-format
msgid "%s: numeric argument required"
-msgstr ""
+msgstr "%s: æ•°å­—ã®å¼•æ•°ãŒå¿…è¦ã§ã™"
#: builtins/common.c:205
-#, fuzzy, c-format
+#, c-format
msgid "%s: not found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "%s: 見ã¤ã‹ã‚Šã¾ã›ã‚“"
#: builtins/common.c:214 shell.c:795
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid option"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%s: 無効ãªã‚ªãƒ—ションã§ã™"
#: builtins/common.c:221
-#, fuzzy, c-format
+#, c-format
msgid "%s: invalid option name"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%s: 無効ãªã‚ªãƒ—ションåã§ã™"
#: builtins/common.c:228 general.c:231 general.c:236
-#, fuzzy, c-format
+#, c-format
msgid "`%s': not a valid identifier"
-msgstr "`%s' ¤ÏÍ­¸ú¤Ê³Îǧ¤Ç¤Ï¤Ê¤¤"
+msgstr "`%s': 有効ãªè­˜åˆ¥å­ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/common.c:238
-#, fuzzy
msgid "invalid octal number"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "無効ãªå…«é€²æ•°ã§ã™"
#: builtins/common.c:240
-#, fuzzy
msgid "invalid hex number"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "無効ãªå六進数ã§ã™"
-#: builtins/common.c:242 expr.c:1256
-#, fuzzy
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "無効ãªæ•°å­—ã§ã™"
#: builtins/common.c:250
#, c-format
msgid "%s: invalid signal specification"
-msgstr ""
+msgstr "%s: 無効ãªã‚·ã‚°ãƒŠãƒ«æŒ‡å®šã§ã™"
#: builtins/common.c:257
#, c-format
msgid "`%s': not a pid or valid job spec"
-msgstr ""
+msgstr "`%s': pid ã¾ãŸã¯æœ‰åŠ¹ãªã‚¸ãƒ§ãƒ–指定ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/common.c:264 error.c:454
#, c-format
msgid "%s: readonly variable"
-msgstr "%s: Æɤ߹þ¤ß¤Î¤ß¤ÎÊÑ¿ô"
+msgstr "%s: 読ã¿å–り専用ã®å¤‰æ•°ã§ã™"
#: builtins/common.c:272
#, c-format
msgid "%s: %s out of range"
-msgstr ""
+msgstr "%s: %s ãŒç¯„囲外ã§ã™"
#: builtins/common.c:272 builtins/common.c:274
-#, fuzzy
msgid "argument"
-msgstr "°ú¿ô¤ò´üÂÔ"
+msgstr "引数"
#: builtins/common.c:274
#, c-format
msgid "%s out of range"
-msgstr ""
+msgstr "%s ãŒç¯„囲外ã§ã™"
#: builtins/common.c:282
#, c-format
msgid "%s: no such job"
-msgstr ""
+msgstr "%s: ãã®ã‚ˆã†ãªã‚¸ãƒ§ãƒ–ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/common.c:290
-#, fuzzy, c-format
+#, c-format
msgid "%s: no job control"
-msgstr "¤³¤Î¥·¥§¥ë¤Ë¤Ï¥¸¥ç¥ÖÀ©¸æ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "%s: ジョブ制御ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™"
#: builtins/common.c:292
-#, fuzzy
msgid "no job control"
-msgstr "¤³¤Î¥·¥§¥ë¤Ë¤Ï¥¸¥ç¥ÖÀ©¸æ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "ジョブ制御ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™"
#: builtins/common.c:302
-#, fuzzy, c-format
+#, c-format
msgid "%s: restricted"
-msgstr "%s: ¥¸¥ç¥Ö¤Ï½ªÎ»¤·¤Þ¤·¤¿"
+msgstr "%s: 制é™ã•ã‚Œã¦ã„ã¾ã™"
#: builtins/common.c:304
-#, fuzzy
msgid "restricted"
-msgstr "½ªÎ»¤·¤Þ¤·¤¿"
+msgstr "制é™ã•ã‚Œã¦ã„ã¾ã™"
#: builtins/common.c:312
#, c-format
msgid "%s: not a shell builtin"
-msgstr ""
+msgstr "%s: シェルã®ãƒ“ルトイン関数ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/common.c:321
-#, fuzzy, c-format
+#, c-format
msgid "write error: %s"
-msgstr "¥Ñ¥¤¥×¥¨¥é¡¼: %s"
+msgstr "書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼: %s"
#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
-msgstr ""
+msgstr "ターミナル属性ã®è¨­å®šæ™‚ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—㟠: %s"
#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
-msgstr ""
+msgstr "ターミナル属性ã®å–得時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—㟠: %s"
#: builtins/common.c:563
#, c-format
msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr ""
+msgstr "%s: カレントディレクトリã®å–得時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—㟠: %s: %s\n"
#: builtins/common.c:629 builtins/common.c:631
-#, fuzzy, c-format
+#, c-format
msgid "%s: ambiguous job spec"
-msgstr "%s: ¤¢¤¤¤Þ¤¤¤Ê¥ê¥À¥¤¥ì¥¯¥È"
+msgstr "%s: 曖昧ãªã‚¸ãƒ§ãƒ–指定ã§ã™"
#: builtins/complete.def:276
#, c-format
msgid "%s: invalid action name"
-msgstr ""
+msgstr "%s: 無効ãªã‚¢ã‚¯ã‚·ãƒ§ãƒ³åã§ã™"
#: builtins/complete.def:449 builtins/complete.def:644
#: builtins/complete.def:853
#, c-format
msgid "%s: no completion specification"
-msgstr ""
+msgstr "%s: 補完指定ãŒã‚ã‚Šã¾ã›ã‚“"
#: builtins/complete.def:696
msgid "warning: -F option may not work as you expect"
-msgstr ""
+msgstr "警告: -F オプションã¯æœŸå¾…通りã«å‹•ä½œã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
#: builtins/complete.def:698
msgid "warning: -C option may not work as you expect"
-msgstr ""
+msgstr "警告: -C オプションã¯æœŸå¾…通りã«å‹•ä½œã—ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“"
#: builtins/complete.def:826
msgid "not currently executing completion function"
-msgstr ""
+msgstr "補完機能ã¯ç¾åœ¨å®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
-msgstr ""
+msgstr "関数ã®ä¸­ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
-msgstr ""
+msgstr "関数作æˆæ™‚ã« `-f' を使用ã§ãã¾ã›ã‚“"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
-msgstr "%s: Æɤ߹þ¤ß¤Î¤ß¤Î´Ø¿ô"
+msgstr "%s: 読ã¿å–り専用関数ã§ã™"
-#: builtins/declare.def:468
-#, fuzzy, c-format
+#: builtins/declare.def:474
+#, c-format
msgid "%s: cannot destroy array variables in this way"
-msgstr "$%s: ¤³¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: ã“ã®æ–¹æ³•ã§é…列変数を消去ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
-msgstr ""
+msgstr "%s: 連想é…列ã‹ã‚‰ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹é…列ã«å¤‰æ›ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
#: builtins/enable.def:137 builtins/enable.def:145
msgid "dynamic loading not available"
-msgstr ""
+msgstr "動的ロードã¯åˆ©ç”¨ã§ãã¾ã›ã‚“"
#: builtins/enable.def:312
-#, fuzzy, c-format
+#, c-format
msgid "cannot open shared object %s: %s"
-msgstr "named pipe %s ¤ò %s ¤Ø³«¤±¤Þ¤»¤ó: %s"
+msgstr "共有オブジェクト %s ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“ : %s"
#: builtins/enable.def:335
#, c-format
msgid "cannot find %s in shared object %s: %s"
-msgstr ""
+msgstr "%s ãŒå…±æœ‰ã‚ªãƒ–ジェクト %s ã«å­˜åœ¨ã—ã¾ã›ã‚“: %s"
#: builtins/enable.def:459
#, c-format
msgid "%s: not dynamically loaded"
-msgstr ""
+msgstr "%s: å‹•çš„ã«ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã›ã‚“"
#: builtins/enable.def:474
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot delete: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 削除ã§ãã¾ã›ã‚“: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
-msgstr "%s: ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
+msgstr "%s: ディレクトリã§ã™"
-#: builtins/evalfile.c:139
-#, fuzzy, c-format
+#: builtins/evalfile.c:140
+#, c-format
msgid "%s: not a regular file"
-msgstr "%s: ¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 通常ファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
-msgstr ""
+msgstr "%s: ファイルãŒå¤§ãã™ãŽã¾ã™"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
-msgstr "%s: ¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: ãƒã‚¤ãƒŠãƒªãƒ•ã‚¡ã‚¤ãƒ«ã‚’実行ã§ãã¾ã›ã‚“"
-#: builtins/exec.def:212
-#, fuzzy, c-format
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
+#, c-format
msgid "%s: cannot execute: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 実行ã§ãã¾ã›ã‚“: %s"
#: builtins/exit.def:65
-#, fuzzy, c-format
+#, c-format
msgid "logout\n"
-msgstr "¥í¥°¥¢¥¦¥È"
+msgstr "ログアウト\n"
#: builtins/exit.def:88
msgid "not login shell: use `exit'"
-msgstr ""
+msgstr "ログインシェルã§ã¯ã‚ã‚Šã¾ã›ã‚“: `exit' を使用ã—ã¦ãã ã•ã„"
#: builtins/exit.def:120
#, c-format
msgid "There are stopped jobs.\n"
-msgstr ""
+msgstr "åœæ­¢ã—ã¦ã„るジョブãŒã‚ã‚Šã¾ã™ã€‚\n"
#: builtins/exit.def:122
#, c-format
msgid "There are running jobs.\n"
-msgstr ""
+msgstr "動作中ã®ã‚¸ãƒ§ãƒ–ãŒã‚ã‚Šã¾ã™ã€‚\n"
#: builtins/fc.def:262
-#, fuzzy
msgid "no command found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
-msgstr ""
+msgstr "ヒストリ指定"
-#: builtins/fc.def:370
-#, fuzzy, c-format
+#: builtins/fc.def:380
+#, c-format
msgid "%s: cannot open temp file: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 一時ファイルを開ãã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
#: builtins/fg_bg.def:149 builtins/jobs.def:282
msgid "current"
-msgstr ""
+msgstr "カレント"
#: builtins/fg_bg.def:158
#, c-format
msgid "job %d started without job control"
-msgstr ""
+msgstr "ジョブ %d ãŒã‚¸ãƒ§ãƒ–制御ãªã—ã§é–‹å§‹ã•ã‚Œã¾ã—ãŸ"
#: builtins/getopt.c:110
-#, fuzzy, c-format
+#, c-format
msgid "%s: illegal option -- %c\n"
-msgstr "ÉÔÀµ¤Ê¥ª¥×¥·¥ç¥ó: -"
+msgstr "%s: ä¸æ­£ãªã‚ªãƒ—ションã§ã™ -- %c\n"
#: builtins/getopt.c:111
-#, fuzzy, c-format
+#, c-format
msgid "%s: option requires an argument -- %c\n"
-msgstr "¥ª¥×¥·¥ç¥ó¤Ë¤Ï°ú¿ô¤¬É¬Í×: -"
+msgstr "%s: オプションã«ã¯å¼•æ•°ãŒå¿…è¦ã§ã™ -- %c\n"
#: builtins/hash.def:92
msgid "hashing disabled"
-msgstr ""
+msgstr "ãƒãƒƒã‚·ãƒ¥ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™"
#: builtins/hash.def:138
#, c-format
msgid "%s: hash table empty\n"
-msgstr ""
+msgstr "%s: ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルãŒç©ºã§ã™\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
-msgstr ""
+msgstr "hits\tcommand\n"
#: builtins/help.def:130
#, c-format
msgid "Shell commands matching keyword `"
msgid_plural "Shell commands matching keywords `"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "キーワードã«ä¸€è‡´ã—ãŸã‚·ã‚§ãƒ«ã‚³ãƒžãƒ³ãƒ‰ `"
#: builtins/help.def:168
#, c-format
msgid ""
"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
msgstr ""
+"`%s' ã«ä¸€è‡´ã™ã‚‹ãƒ˜ãƒ«ãƒ—é …ç›®ãŒã‚ã‚Šã¾ã›ã‚“。`help help'ã€`man -k %s' ã¾ãŸã¯ `info "
+"%s' を試ã—ã¦ãã ã•ã„"
#: builtins/help.def:185
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot open: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
#: builtins/help.def:337
#, c-format
@@ -481,118 +464,134 @@ msgid ""
"A star (*) next to a name means that the command is disabled.\n"
"\n"
msgstr ""
+"ã“れらã®ã‚·ã‚§ãƒ«ã‚³ãƒžãƒ³ãƒ‰ã¯å†…部ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚`help' ã¨å…¥åŠ›ã—ã¦ä¸€è¦§ã‚’å‚ç…§ã—"
+"ã¦ãã ã•ã„。\n"
+"`help åå‰' ã¨å…¥åŠ›ã™ã‚‹ã¨ `åå‰' ã¨ã„ã†é–¢æ•°ã®ã‚ˆã‚Šè©³ã—ã„説明ãŒå¾—られã¾ã™ã€‚\n"
+"'info bash' を使用ã™ã‚‹ã¨ã‚·ã‚§ãƒ«å…¨èˆ¬ã®ã‚ˆã‚Šè©³ã—ã„説明ãŒå¾—られã¾ã™ã€‚\n"
+"`man -k' ã¾ãŸã¯ info を使用ã™ã‚‹ã¨ä¸€è¦§ã«ãªã„コマンドã®ã‚ˆã‚Šè©³ã—ã„説明ãŒå¾—られã¾"
+"ã™ã€‚\n"
+"\n"
+"åå‰ã®å¾Œã«ã‚¢ã‚¹ã‚¿ãƒªã‚¹ã‚¯ (*) ãŒã‚ã‚‹å ´åˆã¯ãã®ã‚³ãƒžãƒ³ãƒ‰ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ã“ã¨ã‚’æ„"
+"味ã—ã¾ã™ã€‚\n"
+"\n"
#: builtins/history.def:154
msgid "cannot use more than one of -anrw"
-msgstr ""
+msgstr "-anrw ã‚’2ã¤ä»¥ä¸Šä¸€ç·’ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
#: builtins/history.def:186
msgid "history position"
-msgstr ""
+msgstr "ヒストリä½ç½®"
#: builtins/history.def:365
-#, fuzzy, c-format
+#, c-format
msgid "%s: history expansion failed"
-msgstr "%s: »Ø¿ô¤Îɽ¸½¤ò´üÂÔ"
+msgstr "%s: ヒストリã®å±•é–‹ã«å¤±æ•—ã—ã¾ã—ãŸ"
#: builtins/inlib.def:71
-#, fuzzy, c-format
+#, c-format
msgid "%s: inlib failed"
-msgstr "%s: »Ø¿ô¤Îɽ¸½¤ò´üÂÔ"
+msgstr "%s: inlib ãŒå¤±æ•—ã—ã¾ã—ãŸ"
#: builtins/jobs.def:109
msgid "no other options allowed with `-x'"
-msgstr ""
+msgstr "`-x' ã¯ä»–ã®ã‚ªãƒ—ションをåŒæ™‚ã«ä½¿ç”¨ã§ãã¾ã›ã‚“"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
-msgstr ""
+msgstr "%s: 引数ã¯ãƒ—ロセスIDã‹ã‚¸ãƒ§ãƒ–IDã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
-#: builtins/kill.def:263
-#, fuzzy
+#: builtins/kill.def:261
msgid "Unknown error"
-msgstr "̤ÃΤΥ¨¥é¡¼ %d"
+msgstr "ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼ã§ã™"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
-msgstr "ɽ¸½¤ò´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "å¼ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: Ÿ³«¤µ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô"
+msgstr "%s: インデックスé…列ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
-msgstr ""
+msgstr "%s: 無効ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­æŒ‡å®šã§ã™"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
-msgstr ""
+msgstr "%d: %s ã¯ç„¡åŠ¹ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã§ã™"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
-#, fuzzy, c-format
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
msgid "%s: invalid line count"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%s: 無効ãªè¡Œæ•°ã§ã™"
-#: builtins/mapfile.def:277
-#, fuzzy, c-format
+#: builtins/mapfile.def:284
+#, c-format
msgid "%s: invalid array origin"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%s: 無効ãªé…列ã®åŽŸç‚¹ã§ã™"
-#: builtins/mapfile.def:294
-#, fuzzy, c-format
+#: builtins/mapfile.def:301
+#, c-format
msgid "%s: invalid callback quantum"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "%s: コールãƒãƒƒã‚¯ã® quantum ãŒç„¡åŠ¹ã§ã™"
-#: builtins/mapfile.def:326
-#, fuzzy
+#: builtins/mapfile.def:333
msgid "empty array variable name"
-msgstr "%s: Ÿ³«¤µ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô"
+msgstr "空ã®é…列変数åã§ã™"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
-msgstr ""
+msgstr "é…列変数ã®ã‚µãƒãƒ¼ãƒˆãŒå¿…è¦ã§ã™"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
-msgstr ""
+msgstr "`%s': 書å¼æŒ‡å®šæ–‡å­—ãŒã‚ã‚Šã¾ã›ã‚“"
+
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: 無効ãªã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæŒ‡å®šã§ã™"
-#: builtins/printf.def:551
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
-msgstr ""
+msgstr "`%c': 無効ãªæ›¸å¼æŒ‡å®šæ–‡å­—ã§ã™"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
-msgstr ""
+msgstr "警告: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
-msgstr ""
+msgstr "\\x ã«å六進数字ãŒã‚ã‚Šã¾ã›ã‚“"
+
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "\\x ã«å六進数字ãŒã‚ã‚Šã¾ã›ã‚“"
#: builtins/pushd.def:195
-#, fuzzy
msgid "no other directory"
-msgstr "%s: ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
+msgstr "ä»–ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/pushd.def:462
msgid "<no current directory>"
-msgstr ""
+msgstr "<カレントディレクトリãŒã‚ã‚Šã¾ã›ã‚“>"
#: builtins/pushd.def:506
msgid "directory stack empty"
-msgstr ""
+msgstr "ディレクトリスタックãŒç©ºã§ã™"
#: builtins/pushd.def:508
-#, fuzzy
msgid "directory stack index"
-msgstr "Recursion stack underflow"
+msgstr "ディレクトリスタックã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹"
#: builtins/pushd.def:683
msgid ""
@@ -617,6 +616,24 @@ msgid ""
"by\n"
"\tdirs when invoked without options, starting with zero."
msgstr ""
+"ç¾åœ¨è¨˜æ†¶ã•ã‚Œã¦ã„るディレクトリスタックを表示ã—ã¾ã™ã€‚ディレクトリ㯠`pushd'\n"
+" コマンドã«ã‚ˆã£ã¦ã‚¹ã‚¿ãƒƒã‚¯ã®ä¸€ç•ªä¸Šã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚`popd'コマンドã«ã‚ˆã£ã¦\n"
+" スタックã‹ã‚‰å–り戻ã™ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -c\tディレクトリスタックã‹ã‚‰ã™ã¹ã¦ã®è¦ç´ ã‚’å–り除ã空ã«ã™ã‚‹\n"
+" -l\tホームディレクトリã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スを ~ を利用ã—ãŸå½¢å¼ã§\n"
+" \t表示ã—ãªã„\n"
+" -p\tディレクトリスタックã®è¦ç´ ã‚’1行毎ã«è¡¨ç¤ºã™ã‚‹\n"
+" -v\tディレクトリスタックã®è¦ç´ ã‚’1è¡Œã”ã¨ã«ç•ªå·ã‚’ã¤ã‘ã¦\n"
+" \t表示ã™ã‚‹\n"
+" \n"
+" 引数:\n"
+" +N\tオプションãªã—ã§èµ·å‹•ã•ã‚ŒãŸå ´åˆã«ãƒªã‚¹ãƒˆã®å…ˆé ­ã‹ã‚‰æ•°ãˆã¦\n"
+" \tN番目ã®è¦ç´ ã‚’表示ã—ã¾ã™ã€‚開始番å·ã¯0ã§ã™ã€‚\n"
+" \n"
+" -N\tオプションãªã—ã§èµ·å‹•ã•ã‚ŒãŸå ´åˆã«ãƒªã‚¹ãƒˆã®æœ«å°¾ã‹ã‚‰æ•°ãˆã¦\n"
+"\tN番目ã®è¦ç´ ã‚’表示ã—ã¾ã™ã€‚開始番å·ã¯0ã§ã™ã€‚"
#: builtins/pushd.def:705
msgid ""
@@ -642,6 +659,25 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"ディレクトリスタックã®å…ˆé ­ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’追加ã—ã¾ã™ã€‚ã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª\n"
+" スタックを回転ã—ã¾ã™ã€‚æ–°ã—ã„スタックã®å…ˆé ­ãŒã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãª\n"
+" ã‚Šã¾ã™ã€‚引数ãªã—ã§èµ·å‹•ã•ã‚ŒãŸå ´åˆã€å…ˆé ­ã®2ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’交æ›ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\tスタックã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’追加ã—ãŸæ™‚ã«é€šå¸¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´\n"
+" \tを抑止ã—ã¾ã™ã€‚よã£ã¦ã€ã‚¹ã‚¿ãƒƒã‚¯ã®ã¿æ“作ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" +N\t先頭ãŒN番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãªã‚‹ã‚ˆã†ã«å›žè»¢ã—ã¾ã™(`dirs'ã§\n"
+" \t表示ã•ã‚Œã‚‹ã‚¹ã‚¿ãƒƒã‚¯ã®å…ˆé ­ã‹ã‚‰æ•°ãˆãŸæ•°ã§ã™ã€‚開始番å·ã¯0ã§ã™)。\n"
+" \n"
+" -N\t先頭ãŒN番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãªã‚‹ã‚ˆã†ã«å›žè»¢ã—ã¾ã™(`dirs'ã§\n"
+" \t表示ã•ã‚Œã‚‹ã‚¹ã‚¿ãƒƒã‚¯ã®æœ«å°¾ã‹ã‚‰æ•°ãˆãŸæ•°ã§ã™ã€‚開始番å·ã¯0ã§ã™)。\n"
+" \n"
+" ディレクトリ\tディレクトリをスタックã®å…ˆé ­ã«åŠ ãˆã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯\n"
+" \tトリを新ã—ã„カレントディレクトリã«ã—ã¾ã™ã€‚\n"
+" \n"
+" `dirs' ビルトインコマンドã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯ã‚’表示ã—ã¾ã™ã€‚"
#: builtins/pushd.def:730
msgid ""
@@ -663,466 +699,473 @@ msgid ""
" \n"
" The `dirs' builtin displays the directory stack."
msgstr ""
+"ディレクトリスタックã‹ã‚‰è¦ç´ ã‚’削除ã—ã¾ã™ã€‚引数ãŒç„¡ã„å ´åˆã‚¹ã‚¿ãƒƒã‚¯ã®å…ˆé ­ã‹ã‚‰\n"
+" 削除ã—ã€æ–°ã—ã„スタックã®å…ˆé ­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\tスタックã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ãŸæ™‚ã«é€šå¸¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´\n"
+" \tを抑止ã—ã¾ã™ã€‚よã£ã¦ã€ã‚¹ã‚¿ãƒƒã‚¯ã®ã¿æ“作ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" +N\tディレクトリスタック(`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹)ã®å…ˆé ­ã‹ã‚‰æ•°ãˆã¦\n"
+" \t N 番目ã®è¦ç´ ã‚’削除ã—ã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚例: `popd +0'\n"
+" \tã¯æœ€åˆã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ã¾ã™ã€‚`popd +1' ã¯2番目ã§ã™ã€‚\n"
+" \n"
+" -N\tディレクトリスタック(`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹)ã®æœ€å¾Œã‹ã‚‰æ•°ãˆã¦\n"
+" \t N 番目ã®è¦ç´ ã‚’削除ã—ã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚例: `popd +0'\n"
+" \tã¯æœ€å¾Œã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ã¾ã™ã€‚`popd +1' ã¯æœ€å¾Œã‹ã‚‰2番目ã§ã™ã€‚\n"
+" \n"
+" `dirs' ビルトインコマンドã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯ã‚’表示ã—ã¾ã™ã€‚"
#: builtins/read.def:252
#, c-format
msgid "%s: invalid timeout specification"
-msgstr ""
+msgstr "%s: 無効ãªã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæŒ‡å®šã§ã™"
#: builtins/read.def:588
-#, fuzzy, c-format
+#, c-format
msgid "read error: %d: %s"
-msgstr "¥Ñ¥¤¥×¥¨¥é¡¼: %s"
+msgstr "読ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼: %d: %s"
#: builtins/return.def:73
msgid "can only `return' from a function or sourced script"
-msgstr ""
+msgstr "`return' ã¯é–¢æ•°ã¾ãŸã¯ source ã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—ト内ã®ã¿ã§åˆ©ç”¨ã§ãã¾ã™"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
+msgstr "変数ã¨é–¢æ•°ã‚’åŒæ™‚ã«æ¶ˆåŽ»ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
-#: builtins/set.def:805
-#, fuzzy, c-format
+#: builtins/set.def:808
+#, c-format
msgid "%s: cannot unset"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 消去ã§ãã¾ã›ã‚“"
-#: builtins/set.def:812
-#, fuzzy, c-format
+#: builtins/set.def:815
+#, c-format
msgid "%s: cannot unset: readonly %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 消去ã§ãã¾ã›ã‚“: %s ã¯èª­ã¿å–り専用ã§ã™"
-#: builtins/set.def:823
-#, fuzzy, c-format
+#: builtins/set.def:826
+#, c-format
msgid "%s: not an array variable"
-msgstr "%s: Ÿ³«¤µ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô"
+msgstr "%s: é…列変数ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/setattr.def:186
-#, fuzzy, c-format
+#, c-format
msgid "%s: not a function"
-msgstr "%s: Æɤ߹þ¤ß¤Î¤ß¤Î´Ø¿ô"
+msgstr "%s: 関数ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
#: builtins/shift.def:71 builtins/shift.def:77
-#, fuzzy
msgid "shift count"
-msgstr "shift [n]"
+msgstr "シフト回数"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
-msgstr ""
+msgstr "シェルオプションをåŒæ™‚ã«æœ‰åŠ¹ã‹ã¤ç„¡åŠ¹ã«ã§ãã¾ã›ã‚“"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
-msgstr ""
+msgstr "%s: 無効ãªã‚·ã‚§ãƒ«ã‚ªãƒ—ションåã§ã™"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
-msgstr ""
+msgstr "ファイルåãŒå¼•æ•°ã¨ã—ã¦å¿…è¦ã§ã™"
-#: builtins/source.def:153
-#, fuzzy, c-format
+#: builtins/source.def:155
+#, c-format
msgid "%s: file not found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "%s: ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
#: builtins/suspend.def:101
msgid "cannot suspend"
-msgstr ""
+msgstr "中断ã§ãã¾ã›ã‚“"
#: builtins/suspend.def:111
msgid "cannot suspend a login shell"
-msgstr ""
+msgstr "ログインシェルを中断ã§ãã¾ã›ã‚“"
#: builtins/type.def:234
#, c-format
msgid "%s is aliased to `%s'\n"
-msgstr ""
+msgstr "%s 㯠`%s' ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã§ã™\n"
#: builtins/type.def:255
#, c-format
msgid "%s is a shell keyword\n"
-msgstr ""
+msgstr "%s ã¯ã‚·ã‚§ãƒ«ã®äºˆç´„語ã§ã™\n"
#: builtins/type.def:274
-#, fuzzy, c-format
+#, c-format
msgid "%s is a function\n"
-msgstr "%s: Æɤ߹þ¤ß¤Î¤ß¤Î´Ø¿ô"
+msgstr "%s ã¯é–¢æ•°ã§ã™\n"
#: builtins/type.def:296
#, c-format
msgid "%s is a shell builtin\n"
-msgstr ""
+msgstr "%s ã¯ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿é–¢æ•°ã§ã™\n"
#: builtins/type.def:317 builtins/type.def:391
#, c-format
msgid "%s is %s\n"
-msgstr ""
+msgstr "%s 㯠%s ã§ã™\n"
#: builtins/type.def:337
#, c-format
msgid "%s is hashed (%s)\n"
-msgstr ""
+msgstr "%s ã¯ãƒãƒƒã‚·ãƒ¥ã•ã‚Œã¦ã„ã¾ã™ (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
-msgstr ""
+msgstr "%s: limit ã®ç„¡åŠ¹ãªå¼•æ•°ã§ã™"
-#: builtins/ulimit.def:398
-#, fuzzy, c-format
+#: builtins/ulimit.def:402
+#, c-format
msgid "`%c': bad command"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "`%c': 誤ã£ãŸã‚³ãƒžãƒ³ãƒ‰ã§ã™"
-#: builtins/ulimit.def:427
-#, fuzzy, c-format
+#: builtins/ulimit.def:431
+#, c-format
msgid "%s: cannot get limit: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: limit ã‚’å–å¾—ã§ãã¾ã›ã‚“: %s"
-#: builtins/ulimit.def:453
-#, fuzzy
+#: builtins/ulimit.def:457
msgid "limit"
-msgstr "CPU ¸ÂÅÙ"
+msgstr "limit"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
-#, fuzzy, c-format
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#, c-format
msgid "%s: cannot modify limit: %s"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: limit を変更ã§ãã¾ã›ã‚“ : %s"
#: builtins/umask.def:118
-#, fuzzy
msgid "octal number"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "八進数"
#: builtins/umask.def:231
#, c-format
msgid "`%c': invalid symbolic mode operator"
-msgstr ""
+msgstr "`%c': 無効ãªã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰æ¼”ç®—å­ã§ã™"
#: builtins/umask.def:286
#, c-format
msgid "`%c': invalid symbolic mode character"
-msgstr ""
+msgstr "`%c': 無効ãªã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰æ–‡å­—ã§ã™"
#: error.c:90 error.c:321 error.c:323 error.c:325
msgid " line "
-msgstr ""
+msgstr " 行 "
#: error.c:165
#, c-format
msgid "last command: %s\n"
-msgstr ""
+msgstr "最後ã®ã‚³ãƒžãƒ³ãƒ‰: %s\n"
#: error.c:173
#, c-format
msgid "Aborting..."
-msgstr ""
+msgstr "中止ã—ã¦ã„ã¾ã™..."
#: error.c:406
-#, fuzzy
msgid "unknown command error"
-msgstr "̤ÃΤΥ¨¥é¡¼ %d"
+msgstr "ä¸æ˜Žãªã‚³ãƒžãƒ³ãƒ‰ã‚¨ãƒ©ãƒ¼ã§ã™"
#: error.c:407
-#, fuzzy
msgid "bad command type"
-msgstr "print_command: °­¤¤¥³¥Þ¥ó¥É¥¿¥¤¥× `%d'"
+msgstr "誤ã£ãŸã‚³ãƒžãƒ³ãƒ‰ã‚¿ã‚¤ãƒ—ã§ã™"
#: error.c:408
-#, fuzzy
msgid "bad connector"
-msgstr "°­¤¤¼õÅϤ· `%d'"
+msgstr "誤ã£ãŸæŽ¥ç¶šã§ã™"
#: error.c:409
-#, fuzzy
msgid "bad jump"
-msgstr "°­¤¤ jump %d"
+msgstr "誤ã£ãŸã‚¸ãƒ£ãƒ³ãƒ—ã§ã™"
#: error.c:447
#, c-format
msgid "%s: unbound variable"
-msgstr "%s: Ÿ³«¤µ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô"
+msgstr "%s: 未割り当ã¦ã®å¤‰æ•°ã§ã™"
#: eval.c:181
-#, fuzzy, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "%c¤ÏÆþÎÏÂÔ¤Á¤«¤é¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤·¤¿: ¼«Æ°¥í¥°¥¢¥¦¥È\n"
+#, c-format
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\a入力待ã¡ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ã¾ã—ãŸ: 自動ログアウト\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
-msgstr ""
+msgstr "/dev/null ã‹ã‚‰æ¨™æº–入力ã«å¯¾ã—ã¦ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ãã¾ã›ã‚“: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr ""
+msgstr "TIMEFORMAT: `%c': 無効ãªæ›¸å¼æ–‡å­—ã§ã™"
-#: execute_cmd.c:2075
-#, fuzzy
+#: execute_cmd.c:2121
msgid "pipe error"
-msgstr "¥Ñ¥¤¥×¥¨¥é¡¼: %s"
+msgstr "パイプエラー"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: À©¸Â: `/' ¤ò¥³¥Þ¥ó¥É̾¤Ëµ­½Ò¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 制é™ã•ã‚Œã¦ã„ã¾ã™: `/' をコマンドåã®ä¸­ã«æŒ‡å®šã§ãã¾ã›ã‚“"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
-msgstr "%s: ¥³¥Þ¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+msgstr "%s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s 㯠%s ã§ã™\n"
+
+#: execute_cmd.c:4995
+#, c-format
msgid "%s: %s: bad interpreter"
-msgstr "%s: ¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹"
+msgstr "%s: %s: 誤ã£ãŸã‚¤ãƒ³ã‚¿ãƒ—リタã§ã™"
-#: execute_cmd.c:4976
-#, fuzzy, c-format
+#: execute_cmd.c:5144
+#, c-format
msgid "cannot duplicate fd %d to fd %d"
-msgstr "fd %d ¤ò fd 0 ¤ËÊ£À½¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "fd %d ã‚’ fd %d ã«è¤‡è£½ã§ãã¾ã›ã‚“"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
-msgstr "ɽ¸½¤ÎºÆµ¢²Äǽ¥ì¥Ù¥ë¤ò±Û¤¨¤Þ¤·¤¿"
+msgstr "å¼ã®å†å¸°å¯èƒ½ãƒ¬ãƒ™ãƒ«ã‚’越ãˆã¾ã—ãŸ"
-#: expr.c:265
-#, fuzzy
+#: expr.c:280
msgid "recursion stack underflow"
-msgstr "Recursion stack underflow"
+msgstr "å†å¸°ã‚¹ã‚¿ãƒƒã‚¯ãŒã‚¢ãƒ³ãƒ€ãƒ¼ãƒ•ãƒ­ãƒ¼ã—ã¾ã—ãŸ"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
-msgstr "ɽ¸½¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "å¼ã«æ§‹æ–‡ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã™"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
-msgstr "ÈóÊÑ¿ô¤Ë³ä¤êÅö¤Æ¤ò¹Ô¤ª¤¦¤È¤·¤Æ¤Þ¤¹"
+msgstr "éžå¤‰æ•°ã«å‰²ã‚Šå½“ã¦ã‚’è¡ŒãŠã†ã¨ã—ã¦ã¾ã™"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
-msgstr "0 ¤Î³ä»»"
+msgstr "0 ã«ã‚ˆã‚‹é™¤ç®—ã§ã™"
-#: expr.c:471
-#, fuzzy
+#: expr.c:517
msgid "bug: bad expassign token"
-msgstr "bug: bad expassign token' %d"
+msgstr "ãƒã‚°: 誤ã£ãŸå¼ã®ãƒˆãƒ¼ã‚¯ãƒ³ã§ã™"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
-msgstr "`:' ¤ò¾ò·ï¤Îɽ¸½¤Î¤¿¤á´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "æ¡ä»¶å¼ã«ã¯ `:' ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
-msgstr ""
+msgstr "0よりå°ã•ã„指数部ã§ã™"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
+msgstr "識別å­ã¯å‰ç½®ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã¾ãŸã¯å‰ç½®ãƒ‡ã‚¯ãƒªãƒ¡ãƒ³ãƒˆãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
-msgstr "`)' ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "`)' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: expr.c:897 expr.c:1176
-#, fuzzy
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
-msgstr "¥·¥ó¥¿¥Ã¥¯¥¹ ¥¨¥é¡¼: ´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»"
+msgstr "構文エラー: オペランドãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
-msgstr ""
+msgstr "構文エラー: 無効ãªè¨ˆç®—演算å­ã§ã™"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
-msgstr ""
+msgstr "%s%s%s: %s (エラーã®ã‚るトークン㯠\"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
-msgstr ""
+msgstr "無効ãªåŸºåº•ã®æ•°å€¤ã§ã™"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
-msgstr "¥Ù¡¼¥¹¤ÎÃͤˤÏÂ礭¤¹¤®¤Þ¤¹"
+msgstr "基底ã®å€¤ãŒå¤§ãã™ãŽã¾ã™"
-#: expr.c:1329
-#, fuzzy, c-format
+#: expr.c:1435
+#, c-format
msgid "%s: expression error\n"
-msgstr "%s: »Ø¿ô¤Îɽ¸½¤ò´üÂÔ"
+msgstr "%s: å¼ã®ã‚¨ãƒ©ãƒ¼\n"
#: general.c:61
-#, fuzzy
msgid "getcwd: cannot access parent directories"
-msgstr "getwd: ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤»¤ó"
+msgstr "getcwd: 親ディレクトリã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“"
-#: input.c:94 subst.c:4857
-#, fuzzy, c-format
+#: input.c:94 subst.c:5082
+#, c-format
msgid "cannot reset nodelay mode for fd %d"
-msgstr "fd %d ¤ò fd 0 ¤ËÊ£À½¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "ファイル記述å­(fd) %d ã‚’ç„¡é…延モードã«å†è¨­å®šã§ãã¾ã›ã‚“"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
+msgstr "æ–°è¦ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­(fd) %d ã‚’ bash ã®å…¥åŠ›ã¨ã—ã¦å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã›ã‚“"
-#: input.c:266
-#, fuzzy, c-format
+#: input.c:268
+#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "check_bash_input: fd %d ¤Î¤¿¤á¤Î¥Ð¥Ã¥Õ¥¡¤Ï´û¤Ë¸ºß¤·¤Þ¤¹"
+msgstr "save_bash_input: æ–°è¦ fd %d ã®ãƒãƒƒãƒ•ã‚¡ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
-msgstr ""
+msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
-msgstr ""
+msgstr "実行中ã®ã‚¸ãƒ§ãƒ– %2$d 㧠fork ã—㟠pid %1$d ãŒå‡ºç¾ã—ã¾ã—ãŸ"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
-msgstr ""
+msgstr "プロセスグループ %2$ld ã®ã‚¸ãƒ§ãƒ– %1$d を削除ã—ã¦ã„ã¾ã™"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
-msgstr ""
+msgstr "add_process: プロセス %5ld (%s) ㌠the_pipeline ã«ã‚ã‚Šã¾ã™"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
-msgstr ""
+msgstr "add_process: pid %5ld (%s) ã¯ã¾ã å­˜åœ¨ã—ã¦ã„ã‚‹ã¨ãƒžãƒ¼ã‚¯ã•ã‚Œã¦ã„ã¾ã™"
-#: jobs.c:1401
-#, fuzzy, c-format
+#: jobs.c:1430
+#, c-format
msgid "describe_pid: %ld: no such pid"
-msgstr "describe_pid: ¥×¥í¥»¥¹ID(%d)¤Ï¸ºß¤·¤Þ¤»¤ó!\n"
+msgstr "describe_pid: %ld: ãã®ã‚ˆã†ãª pid ã¯å­˜åœ¨ã—ã¾ã›ã‚“"
-#: jobs.c:1416
-#, fuzzy, c-format
+#: jobs.c:1445
+#, c-format
msgid "Signal %d"
-msgstr "̤ÃΤΥ·¥°¥Ê¥ë #%d"
+msgstr "シグナル %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
-msgstr "½ªÎ»"
+msgstr "終了"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
-msgstr "Ää»ß"
+msgstr "åœæ­¢"
-#: jobs.c:1439
-#, fuzzy, c-format
+#: jobs.c:1468
+#, c-format
msgid "Stopped(%s)"
-msgstr "Ää»ß"
+msgstr "åœæ­¢ (%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
-msgstr "¼Â¹ÔÃæ"
+msgstr "実行中"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
-msgstr "½ªÎ»(%d)"
+msgstr "終了(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
-msgstr "½ªÎ» %d"
+msgstr "終了 %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
-msgstr "̤ÃΤΥ¹¥Æ¡¼¥¿¥¹"
+msgstr "ä¸æ˜Žãªã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
-msgstr "(¥³¥¢¥À¥ó¥×) "
+msgstr "(コアダンプ) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
-msgstr ""
+msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
-msgstr ""
+msgstr "å­ãƒ—ロセス setpgid (%ld ã‹ã‚‰ %ld)"
-#: jobs.c:2104 nojobs.c:585
-#, fuzzy, c-format
+#: jobs.c:2133 nojobs.c:585
+#, c-format
msgid "wait: pid %ld is not a child of this shell"
-msgstr "ÂÔµ¡: pid %d ¤³¤Î¥·¥§¥ë¤Î»Ò¥×¥í¥»¥¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "wait: pid %ld ã¯ã“ã®ã‚·ã‚§ãƒ«ã®å­ãƒ—ロセスã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
-msgstr ""
+msgstr "wait_for: プロセス %ld ã®è¨˜éŒ²ãŒã‚ã‚Šã¾ã›ã‚“"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
-msgstr ""
+msgstr "wait_for_job: ジョブ %d ã¯åœæ­¢ã—ã¦ã„ã¾ã™"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
-msgstr "%s: ¥¸¥ç¥Ö¤Ï½ªÎ»¤·¤Þ¤·¤¿"
+msgstr "%s: ジョブã¯çµ‚了ã—ã¾ã—ãŸ"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
-msgstr ""
+msgstr "%s: ジョブ %d ã¯ã™ã§ã«ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å‹•ä½œã—ã¦ã„ã¾ã™"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: ä¸å®šã®ãƒ–ロックをé¿ã‘ã‚‹ãŸã‚ã« WNOHANG をオンã«ã—ã¾ã—ãŸã€‚"
-#: jobs.c:3508
-#, fuzzy, c-format
+#: jobs.c:3538
+#, c-format
msgid "%s: line %d: "
-msgstr "¥¹¥í¥Ã¥È %3d: "
+msgstr "%s: %d 行: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
-msgstr " (¥³¥¢¥À¥ó¥×)"
+msgstr " (コアダンプ)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
-msgstr ""
+msgstr "(wd now: %s)\n"
-#: jobs.c:3579
-#, fuzzy
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
-msgstr "initialize_jobs: getpgrp ¼ºÇÔ: %s"
+msgstr "initialize_job_control: getpgrp ãŒå¤±æ•—ã—ã¾ã—ãŸ"
-#: jobs.c:3639
-#, fuzzy
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
-msgstr "initialize_jobs: ¥é¥¤¥ó discipline: %s"
+msgstr "initialize_job_control: line discipline"
-#: jobs.c:3649
-#, fuzzy
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
-msgstr "initialize_jobs: getpgrp ¼ºÇÔ: %s"
+msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
-msgstr ""
+msgstr "端末プロセスグループを設定ã§ãã¾ã›ã‚“ (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
-msgstr "¤³¤Î¥·¥§¥ë¤Ë¤Ï¥¸¥ç¥ÖÀ©¸æ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "ã“ã®ã‚·ã‚§ãƒ«ã§ã¯ã‚¸ãƒ§ãƒ–制御ãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™"
#: lib/malloc/malloc.c:296
#, c-format
msgid "malloc: failed assertion: %s\n"
-msgstr ""
+msgstr "malloc: 失敗ã—ãŸã‚¢ã‚µãƒ¼ã‚·ãƒ§ãƒ³: %s\n"
#: lib/malloc/malloc.c:312
#, c-format
@@ -1130,779 +1173,773 @@ msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
+"\r\n"
+"malloc: %s:%d: アサーション失敗\r\n"
#: lib/malloc/malloc.c:313
-#, fuzzy
msgid "unknown"
-msgstr "<̤ÃÎ>"
+msgstr "ä¸æ˜Ž"
#: lib/malloc/malloc.c:797
msgid "malloc: block on free list clobbered"
-msgstr ""
+msgstr "malloc: free ブロックリストãŒå£Šã‚Œã¦ã„ã¾ã™"
#: lib/malloc/malloc.c:874
msgid "free: called with already freed block argument"
-msgstr ""
+msgstr "free: 既㫠free ã•ã‚ŒãŸãƒ–ロックを引数ã¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ"
#: lib/malloc/malloc.c:877
msgid "free: called with unallocated block argument"
-msgstr ""
+msgstr "free: 未割当ã®ãƒ–ロックを引数ã¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ"
#: lib/malloc/malloc.c:896
msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "free: アンダーフローを検出ã—ã¾ã—ãŸã€‚ mh_nbytes ãŒç¯„囲外ã§ã™ã€‚"
#: lib/malloc/malloc.c:902
msgid "free: start and end chunk sizes differ"
-msgstr ""
+msgstr "free: 開始ã¨çµ‚了ã®å¡Šã®å¤§ãã•ãŒç•°ãªã£ã¦ã„ã¾ã™"
#: lib/malloc/malloc.c:1001
msgid "realloc: called with unallocated block argument"
-msgstr ""
+msgstr "realloc: 未割当ã®ãƒ–ロックを引数ã¨ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ"
#: lib/malloc/malloc.c:1016
msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
+msgstr "realloc: アンダーフローを検出ã—ã¾ã—ãŸã€‚ mh_nbytes ãŒç¯„囲外ã§ã™ã€‚<"
#: lib/malloc/malloc.c:1022
msgid "realloc: start and end chunk sizes differ"
-msgstr ""
+msgstr "realloc: 開始ã¨çµ‚了ã®å¡Šã®å¤§ãã•ãŒç•°ãªã£ã¦ã„ã¾ã™"
#: lib/malloc/table.c:177
#, c-format
msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
+msgstr "register_alloc: FIND_ALLOC ã§å‰²ã‚Šå½“ã¦ãƒ†ãƒ¼ãƒ–ルãŒã„ã£ã±ã„ã§ã™\n"
#: lib/malloc/table.c:184
#, c-format
msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
+msgstr "register_alloc: %p æ—¢ã«ãƒ†ãƒ¼ãƒ–ル上ã§ã¯å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã™\n"
#: lib/malloc/table.c:220
#, c-format
msgid "register_free: %p already in table as free?\n"
-msgstr ""
+msgstr "register_free: %p テーブル上ã§ã¯æ—¢ã«è§£æ”¾ã•ã‚Œã¦ã„ã¾ã™\n"
#: lib/sh/fmtulong.c:101
msgid "invalid base"
-msgstr ""
+msgstr "無効ãªåŸºåº•"
#: lib/sh/netopen.c:168
-#, fuzzy, c-format
+#, c-format
msgid "%s: host unknown"
-msgstr "̤ÃÎ"
+msgstr "%s: ä¸æ˜Žãªãƒ›ã‚¹ãƒˆã§ã™"
#: lib/sh/netopen.c:175
#, c-format
msgid "%s: invalid service"
-msgstr ""
+msgstr "%s: 無効ãªã‚µãƒ¼ãƒ“スã§ã™"
#: lib/sh/netopen.c:306
#, c-format
msgid "%s: bad network path specification"
-msgstr ""
+msgstr "%s: ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ‘ス指定ã«èª¤ã‚ŠãŒã‚ã‚Šã¾ã™"
#: lib/sh/netopen.c:346
msgid "network operations not supported"
-msgstr ""
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯æ“作ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: ロケールを変更ã§ãã¾ã›ã‚“ (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: ロケールを変更ã§ãã¾ã›ã‚“ (%s): %s"
#: locale.c:247
#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: %s: ロケールを変更ã§ãã¾ã›ã‚“ (%s)"
#: locale.c:249
#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: %s: ロケールを変更ã§ãã¾ã›ã‚“ (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
-msgstr "¥á¡¼¥ë¤¬ $_ ¤Ë¤¢¤ê¤Þ¤¹"
+msgstr "メール㌠$_ ã«ã‚ã‚Šã¾ã™"
#: mailcheck.c:458
msgid "You have new mail in $_"
-msgstr "¿·¤·¤¤¥á¡¼¥ë¤¬ $_ ¤Ë¤¢¤ê¤Þ¤¹"
+msgstr "æ–°ã—ã„メール㌠$_ ã«ã‚ã‚Šã¾ã™"
#: mailcheck.c:474
#, c-format
msgid "The mail in %s has been read\n"
-msgstr "%s ¤Î¥á¡¼¥ë¤Ï´û¤ËÆɤޤì¤Æ¤Þ¤¹\n"
+msgstr "%s ã®ãƒ¡ãƒ¼ãƒ«ã¯æ—¢ã«èª­ã¾ã‚Œã¦ã¾ã™\n"
#: make_cmd.c:323
-#, fuzzy
msgid "syntax error: arithmetic expression required"
-msgstr "ɽ¸½¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "構文エラー: 数値ã®å¼ãŒå¿…è¦ã§ã™"
#: make_cmd.c:325
-#, fuzzy
msgid "syntax error: `;' unexpected"
-msgstr "¥·¥ó¥¿¥Ã¥¯¥¹ ¥¨¥é¡¼: ´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»"
+msgstr "構文エラー: 予期ã—ãªã„ `;' ã§ã™"
#: make_cmd.c:326
-#, fuzzy, c-format
+#, c-format
msgid "syntax error: `((%s))'"
-msgstr "¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "構文エラー: `((%s))'"
#: make_cmd.c:575
#, c-format
msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: °­¤¤»Ø¼¨¥¿¥¤¥× %d"
+msgstr "make_here_document: 誤ã£ãŸæŒ‡å®šã®ç¨®é¡ž %d"
#: make_cmd.c:659
#, c-format
msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
msgstr ""
+"ヒアドキュメント㮠%d 行目ã§ãƒ•ã‚¡ã‚¤ãƒ«çµ‚了 (EOF) ã«é”ã—ã¾ã—㟠(`%s' ãŒå¿…è¦)"
#: make_cmd.c:756
#, c-format
msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
+msgstr "make_redirection: リダイレクト指定 `%d' ã¯ç¯„囲外ã§ã™"
-#: parse.y:3133 parse.y:3369
-#, fuzzy, c-format
+#: parse.y:3173 parse.y:3444
+#, c-format
msgid "unexpected EOF while looking for matching `%c'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»(EOF)¤¬`%c'¤ò¸«ÉÕ¤±¤ë¤Þ¤¨¤ËȯÀ¸"
+msgstr "一致ã™ã‚‹ `%c' を探索中ã«äºˆæœŸã—ãªã„ファイル終了 (EOF) ã§ã™"
-#: parse.y:3951
-#, fuzzy
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»(EOF)¤¬`%c'¤ò¸«ÉÕ¤±¤ë¤Þ¤¨¤ËȯÀ¸"
+msgstr "`]]' を探索中ã«äºˆæœŸã—ãªã„ファイル終了 (EOF) ã§ã™"
-#: parse.y:3956
-#, fuzzy, c-format
+#: parse.y:4030
+#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤ token `%s' ¤Î¤¢¤¿¤ê¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "æ¡ä»¶å¼ã«æ§‹æ–‡ã‚¨ãƒ©ãƒ¼: 予期ã—ãªã„トークン `%s' ã§ã™"
-#: parse.y:3960
-#, fuzzy
+#: parse.y:4034
msgid "syntax error in conditional expression"
-msgstr "ɽ¸½¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "æ¡ä»¶å¼ã«æ§‹æ–‡ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã™"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
-msgstr ""
+msgstr "予期ã—ãªã„トークン `%s' ã§ã™ã€‚`)' ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: parse.y:4042
-#, fuzzy
+#: parse.y:4116
msgid "expected `)'"
-msgstr "`)' ¤ò´üÂÔ"
+msgstr "`)' ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
-msgstr ""
+msgstr "æ¡ä»¶å˜é …演算å­ã«äºˆæœŸã—ãªã„引数 `%s' ã§ã™"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
-msgstr ""
+msgstr "æ¡ä»¶å˜é …演算å­ã«äºˆæœŸã—ãªã„引数ã§ã™"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
-msgstr ""
+msgstr "`%s` ã¯äºˆæœŸã—ãªã„トークンã§ã™ã€‚æ¡ä»¶äºŒé …演算å­ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
-msgstr ""
+msgstr "æ¡ä»¶äºŒé …演算å­ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
-msgstr ""
+msgstr "æ¡ä»¶äºŒé …演算å­ã«äºˆæœŸã—ãªã„引数 `%s' ã§ã™"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
-msgstr ""
+msgstr "æ¡ä»¶äºŒé …演算å­ã«äºˆæœŸã—ãªã„引数ã§ã™"
-#: parse.y:4161
-#, fuzzy, c-format
+#: parse.y:4235
+#, c-format
msgid "unexpected token `%c' in conditional command"
-msgstr "`:' ¤ò¾ò·ï¤Îɽ¸½¤Î¤¿¤á´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "æ¡ä»¶ã‚³ãƒžãƒ³ãƒ‰ã«äºˆæœŸã—ãªã„トークン `%c' ãŒã‚ã‚Šã¾ã™"
-#: parse.y:4164
-#, fuzzy, c-format
+#: parse.y:4238
+#, c-format
msgid "unexpected token `%s' in conditional command"
-msgstr "`:' ¤ò¾ò·ï¤Îɽ¸½¤Î¤¿¤á´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "æ¡ä»¶ã‚³ãƒžãƒ³ãƒ‰ã«äºˆæœŸã—ãªã„トークン `%s' ãŒã‚ã‚Šã¾ã™"
-#: parse.y:4168
-#, fuzzy, c-format
+#: parse.y:4242
+#, c-format
msgid "unexpected token %d in conditional command"
-msgstr "`:' ¤ò¾ò·ï¤Îɽ¸½¤Î¤¿¤á´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "æ¡ä»¶ã‚³ãƒžãƒ³ãƒ‰ã«äºˆæœŸã—ãªã„トークン %d ãŒã‚ã‚Šã¾ã™"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤ token `%s' ¤Î¤¢¤¿¤ê¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "予期ã—ãªã„トークン `%s' 周辺ã«æ§‹æ–‡ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã™"
-#: parse.y:5477
-#, fuzzy, c-format
+#: parse.y:5584
+#, c-format
msgid "syntax error near `%s'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤ token `%s' ¤Î¤¢¤¿¤ê¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "`%s' 周辺ã«æ§‹æ–‡ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã™"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
-msgstr "¥·¥ó¥¿¥Ã¥¯¥¹ ¥¨¥é¡¼: ´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»"
+msgstr "構文エラー: 予期ã—ãªã„ファイル終了 (EOF) ã§ã™"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
-msgstr "¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+msgstr "構文エラー"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
-msgstr "¥·¥§¥ë¤«¤éæ½Ð¤¹¤ë¤Î¤Ë \"%s\" ¤ò»È¤¤¤Ê¤µ¤¤.\n"
+msgstr "シェルã‹ã‚‰è„±å‡ºã™ã‚‹ã«ã¯ \"%s\" を使用ã—ã¦ãã ã•ã„。\n"
-#: parse.y:5711
-#, fuzzy
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
-msgstr "´üÂÔ¤·¤Æ¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÎ»(EOF)¤¬`%c'¤ò¸«ÉÕ¤±¤ë¤Þ¤¨¤ËȯÀ¸"
+msgstr "対応ã™ã‚‹ `)' を探索中ã«äºˆæœŸã—ãªã„ファイル終了(EOF)ã§ã™"
#: pcomplete.c:1030
#, c-format
msgid "completion: function `%s' not found"
-msgstr ""
+msgstr "completion: 関数 `%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr ""
+msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
-msgstr "print_command: °­¤¤Àܳ `%d'"
+msgstr "print_command: 誤ã£ãŸæŽ¥ç¶š `%d'"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr ""
+msgstr "xtrace_set: %d: 無効ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã§ã™"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: NULL ファイルãƒã‚¤ãƒ³ã‚¿ã§ã™"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
-msgstr ""
+msgstr "cprintf: `%c': 無効ãªæ›¸å¼æ–‡å­—ã§ã™"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
-msgstr ""
+msgstr "ファイル記述å­ãŒç¯„囲外ã§ã™"
-#: redir.c:166
-#, fuzzy, c-format
+#: redir.c:178
+#, c-format
msgid "%s: ambiguous redirect"
-msgstr "%s: ¤¢¤¤¤Þ¤¤¤Ê¥ê¥À¥¤¥ì¥¯¥È"
+msgstr "%s: 曖昧ãªãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§ã™"
-#: redir.c:170
-#, fuzzy, c-format
+#: redir.c:182
+#, c-format
msgid "%s: cannot overwrite existing file"
-msgstr "%s: ¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 存在ã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‚’上書ãã§ãã¾ã›ã‚“"
-#: redir.c:175
-#, fuzzy, c-format
+#: redir.c:187
+#, c-format
msgid "%s: restricted: cannot redirect output"
-msgstr "%s: À©¸Â: `/' ¤ò¥³¥Þ¥ó¥É̾¤Ëµ­½Ò¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: 制é™ã•ã‚Œã¦ã„ã¾ã™: 出力をリダイレクト出æ¥ã¾ã›ã‚“"
-#: redir.c:180
-#, fuzzy, c-format
+#: redir.c:192
+#, c-format
msgid "cannot create temp file for here-document: %s"
-msgstr "¥×¥í¥»¥¹¤ÎÂåÆþ¤Ë¥Ñ¥¤¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "ヒアドキュメント用一時ファイルを作æˆã§ãã¾ã›ã‚“: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: ¥ê¥¹¥È¤òÇÛÎó¥á¥ó¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó"
+msgstr "%s: ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ (fd) を変数ã«è¨­å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr ""
+msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒç„¡åŠ¹ãªå ´åˆ /dev/(tcp|udp)/host/port ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“"
-#: redir.c:1101
-#, fuzzy
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
-msgstr "¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó¥¨¥é¡¼"
+msgstr "リダイレクトエラー: ファイル記述å­ã‚’複製ã§ãã¾ã›ã‚“"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
-msgstr ""
+msgstr "/tmp ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。作æˆã—ã¦ãã ã•ã„!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
-msgstr ""
+msgstr "/tmp ã¯æœ‰åŠ¹ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
#: shell.c:884
-#, fuzzy, c-format
+#, c-format
msgid "%c%c: invalid option"
-msgstr "%c%c: °­¤¤¥ª¥×¥·¥ç¥ó"
+msgstr "%c%c: 無効ãªã‚ªãƒ—ション"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
-msgstr "»ä¤Ï̾Á°¤¬¤¢¤ê¤Þ¤»¤ó!"
+msgstr "ç§ã¯åå‰ãŒã‚ã‚Šã¾ã›ã‚“!"
-#: shell.c:1793
-#, fuzzy, c-format
+#: shell.c:1795
+#, c-format
msgid "GNU bash, version %s-(%s)\n"
-msgstr "GNU %s, ¥Ð¡¼¥¸¥ç¥ó %s\n"
+msgstr "GNU bash, ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
"\t%s [GNU long option] [option] script-file ...\n"
msgstr ""
-"»ÈÍÑÊýË¡:\t%s [GNU Ť¤¥ª¥×¥·¥ç¥ó] [¥ª¥×¥·¥ç¥ó] ...\n"
-"\t%s [GNU Ť¤¥ª¥×¥·¥ç¥ó] [¥ª¥×¥·¥ç¥ó] ¥¹¥¯¥ê¥×¥È¥Õ¥¡¥¤¥ë ...\n"
+"使用法:\t%s [GNU long option] [option] ...\n"
+"\t%s [GNU long option] [option] script-file ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
-msgstr "GNU Ť¤¥ª¥×¥·¥ç¥ó:\n"
+msgstr "GNU å½¢å¼ã®é•·ã„オプション:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
-msgstr "¥·¥§¥ë ¥ª¥×¥·¥ç¥ó:\n"
+msgstr "シェルオプション:\n"
-#: shell.c:1801
-#, fuzzy
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-irsD Ëô¤Ï ¥³¥Þ¥ó¥É\t\t(Áʤ¨¤Î¤ß)\n"
+msgstr "\t-irsD ã¾ãŸã¯ -c command ã¾ãŸã¯ -O shopt_option\t\t(起動時ã®ã¿)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
-msgstr "\t-%s Ëô¤Ï -o ¥ª¥×¥·¥ç¥ó\n"
+msgstr "\t-%s ã¾ãŸã¯ -o option\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr "¥·¥§¥ë¥ª¥×¥·¥ç¥ó¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï `%s -c \"help set\"'¤ÈÆþÎÏ.\n"
+msgstr ""
+"シェルオプションã®è©³ç´°ã«ã¤ã„ã¦ã¯ `%s -c \"help set\"'ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr "ÁȤ߹þ¤ß¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï `%s -c help'¤ÈÆþÎÏ .\n"
+msgstr "シェル組ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã«ã¤ã„ã¦ã¯ `%s -c help' ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
-msgstr ""
+msgstr "ãƒã‚°å ±å‘Šã‚’ã™ã‚‹å ´åˆã¯ `bashbug' コマンドを使用ã—ã¦ãã ã•ã„。\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
-msgstr ""
+msgstr "sigprocmask: %d: 無効ãªæ“作ã§ã™"
#: siglist.c:48
msgid "Bogus signal"
-msgstr "°­¤¤¥·¥°¥Ê¥ë"
+msgstr "悪ã„シグナル"
#: siglist.c:51
msgid "Hangup"
-msgstr "Ää»ß"
+msgstr "åœæ­¢"
#: siglist.c:55
msgid "Interrupt"
-msgstr "³ä¤ê¹þ¤ß"
+msgstr "割り込ã¿"
#: siglist.c:59
msgid "Quit"
-msgstr "½ªÎ»"
+msgstr "終了"
#: siglist.c:63
msgid "Illegal instruction"
-msgstr "°­¤¤»Ø¼¨"
+msgstr "ä¸æ­£ãªæŒ‡å®š"
#: siglist.c:67
msgid "BPT trace/trap"
-msgstr ""
+msgstr "BPT trace/trap"
#: siglist.c:75
msgid "ABORT instruction"
-msgstr "»Ø¼¨¤ÎÃæ»ß"
+msgstr "ABORT 指定"
#: siglist.c:79
msgid "EMT instruction"
-msgstr "EMT »Ø¼¨"
+msgstr "EMT 指定"
#: siglist.c:83
msgid "Floating point exception"
-msgstr "ÉâÆ°ÅÀ¤ÎÎã³°"
+msgstr "浮動å°æ•°ç‚¹ä¾‹å¤–"
#: siglist.c:87
msgid "Killed"
-msgstr "»¦¤·¤Þ¤·¤¿"
+msgstr "Killed"
#: siglist.c:91
msgid "Bus error"
-msgstr "¥Ð¥¹¥¨¥é¡¼"
+msgstr "ãƒã‚¹ã‚¨ãƒ©ãƒ¼"
#: siglist.c:95
msgid "Segmentation fault"
-msgstr "¥»¥°¥á¥ó¥Æ¡¼¥·¥ç¥ó¥Õ¥©¥ë¥È"
+msgstr "セグメンテーションフォルト"
#: siglist.c:99
msgid "Bad system call"
-msgstr "°­¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë"
+msgstr "誤ã£ãŸã‚·ã‚¹ãƒ†ãƒ ã‚³ãƒ¼ãƒ«"
#: siglist.c:103
msgid "Broken pipe"
-msgstr "¥Ñ¥¤¥×¤¬ÀÚ¤ì¤Þ¤·¤¿"
+msgstr "パイプãŒåˆ‡ã‚Œã¾ã—ãŸ"
#: siglist.c:107
msgid "Alarm clock"
-msgstr "¥¢¥é¡¼¥à»þ·×"
+msgstr "アラーム時計"
#: siglist.c:111
-#, fuzzy
msgid "Terminated"
-msgstr "½ªÎ»¤·¤Þ¤·¤¿"
+msgstr "Terminated"
#: siglist.c:115
msgid "Urgent IO condition"
-msgstr "µÞ¤®¤Î IO ¾õÂÖ"
+msgstr "急ãŽã® IO 状態"
#: siglist.c:119
msgid "Stopped (signal)"
-msgstr "Ää»ß (¥·¥°¥Ê¥ë)"
+msgstr "åœæ­¢ (シグナル)"
#: siglist.c:127
msgid "Continue"
-msgstr "³¹Ô"
+msgstr "続行"
#: siglist.c:135
msgid "Child death or stop"
-msgstr "»Ò¤Î½ªÎ»Ëô¤ÏÄä»ß "
+msgstr "å­ãƒ—ロセスã®æ­»äº¡ã¾ãŸã¯åœæ­¢ "
#: siglist.c:139
msgid "Stopped (tty input)"
-msgstr "Ää»ß (tty ÆþÎÏ)"
+msgstr "åœæ­¢ (tty 入力)"
#: siglist.c:143
msgid "Stopped (tty output)"
-msgstr "Ää»ß (tty ½ÐÎÏ)"
+msgstr "åœæ­¢ (tty 出力)"
#: siglist.c:147
msgid "I/O ready"
-msgstr "I/O ÍÑ°Õ¤¬¤Ç¤­¤Æ¤¤¤Þ¤¹"
+msgstr "I/O 用æ„ãŒã§ãã¦ã„ã¾ã™"
#: siglist.c:151
msgid "CPU limit"
-msgstr "CPU ¸ÂÅÙ"
+msgstr "CPU limit"
#: siglist.c:155
msgid "File limit"
-msgstr "¥Õ¥¡¥¤¥ë¸ÂÅÙ"
+msgstr "ファイル limit"
#: siglist.c:159
msgid "Alarm (virtual)"
-msgstr "·ÙÊó (²¾ÁÛ)"
+msgstr "警報 (仮想)"
#: siglist.c:163
msgid "Alarm (profile)"
-msgstr "·ÙÊó (¥×¥í¥Õ¥¡¥¤¥ë)"
+msgstr "警報 (プロファイル)"
#: siglist.c:167
msgid "Window changed"
-msgstr "Á뤬Êѹ¹¤µ¤ì¤Þ¤·¤¿"
+msgstr "ウィンドウãŒå¤‰æ›´ã•ã‚Œã¾ã—ãŸ"
#: siglist.c:171
msgid "Record lock"
-msgstr "µ­Ï¿¤Î¥í¥Ã¥¯"
+msgstr "記録ã®ãƒ­ãƒƒã‚¯"
#: siglist.c:175
msgid "User signal 1"
-msgstr "¥æ¡¼¥¶¥·¥°¥Ê¥ë 1"
+msgstr "ユーザシグナル 1"
#: siglist.c:179
msgid "User signal 2"
-msgstr "¥æ¡¼¥¶¥·¥°¥Ê¥ë 2"
+msgstr "ユーザシグナル 2"
#: siglist.c:183
msgid "HFT input data pending"
-msgstr "HFT ̤·è¤ÎÆþÎϥǡ¼¥¿"
+msgstr "HFT 未決ã®å…¥åŠ›ãƒ‡ãƒ¼ã‚¿"
#: siglist.c:187
msgid "power failure imminent"
-msgstr "ÅŸ»¸Î¾ã¤Î´í¸±"
+msgstr "é›»æºæ•…éšœã®å±é™º"
#: siglist.c:191
msgid "system crash imminent"
-msgstr "¥·¥¹¥Æ¥à¥¯¥é¥Ã¥·¥å¤Î´í¸±"
+msgstr "システムクラッシュã®å±é™º"
#: siglist.c:195
msgid "migrate process to another CPU"
-msgstr "¥×¥í¥»¥¹¤ò°ã¤¦CPU¤Ë°ÜÆ°"
+msgstr "プロセスを別ã®CPUã«ç§»å‹•"
#: siglist.c:199
msgid "programming error"
-msgstr "¥×¥í¥°¥é¥ß¥ó¥°¥¨¥é¡¼"
+msgstr "プログラミングエラー"
#: siglist.c:203
msgid "HFT monitor mode granted"
-msgstr "HTF monitor¥â¡¼¥É¤¬Í¿¤¨¤é¤ì¤Þ¤·¤¿"
+msgstr "HTF monitorモードãŒä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ"
#: siglist.c:207
msgid "HFT monitor mode retracted"
-msgstr "HFT monitor¥â¡¼¥É¤¬Ã¥¤ï¤ì¤Þ¤·¤¿"
+msgstr "HFT monitorモードãŒå¥ªã‚ã‚Œã¾ã—ãŸ"
#: siglist.c:211
msgid "HFT sound sequence has completed"
-msgstr ""
+msgstr "HFT サウンドシーケンスãŒå®Œäº†ã—ã¾ã—ãŸ"
#: siglist.c:215
msgid "Information request"
-msgstr ""
+msgstr "情報è¦æ±‚"
#: siglist.c:223
msgid "Unknown Signal #"
-msgstr "̤ÃΤΥ·¥°¥Ê¥ë #"
+msgstr "ä¸æ˜Žãªã‚·ã‚°ãƒŠãƒ«ç•ªå·"
#: siglist.c:225
#, c-format
msgid "Unknown Signal #%d"
-msgstr "̤ÃΤΥ·¥°¥Ê¥ë #%d"
+msgstr "ä¸æ˜Žãªã‚·ã‚°ãƒŠãƒ«ç•ªå· %d"
-#: subst.c:1333 subst.c:1454
-#, fuzzy, c-format
+#: subst.c:1333 subst.c:1502
+#, c-format
msgid "bad substitution: no closing `%s' in %s"
-msgstr "°­¤¤ÂåÆþ: `%s' ¤¬ %s ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "誤ã£ãŸä»£å…¥: é–‰ã˜ã‚‹ `%s' ㌠%s ã«å­˜åœ¨ã—ã¾ã›ã‚“"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
-msgstr "%s: ¥ê¥¹¥È¤òÇÛÎó¥á¥ó¥Ð¡¼¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤»¤ó"
+msgstr "%s: リストをé…列è¦ç´ ã«å‰²ã‚Šå½“ã¦ã§ãã¾ã›ã‚“"
-#: subst.c:4754 subst.c:4770
-#, fuzzy
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
-msgstr "¥×¥í¥»¥¹¤ÎÂåÆþ¤Ë¥Ñ¥¤¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "プロセス代入ã§ã¯ãƒ‘イプを作æˆã§ãã¾ã›ã‚“"
-#: subst.c:4802
-#, fuzzy
+#: subst.c:5027
msgid "cannot make child for process substitution"
-msgstr "¥×¥í¥»¥¹¤ÎÂåÆþ¤Ë»Ò¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "プロセス代入ã§ã¯å­ãƒ—ロセスを作æˆã§ãã¾ã›ã‚“"
-#: subst.c:4847
-#, fuzzy, c-format
+#: subst.c:5072
+#, c-format
msgid "cannot open named pipe %s for reading"
-msgstr "named pipe %s ¤ò %s ¤Ø³«¤±¤Þ¤»¤ó: %s"
+msgstr "åå‰ä»˜ãパイプ %s を読ã¿è¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“"
-#: subst.c:4849
-#, fuzzy, c-format
+#: subst.c:5074
+#, c-format
msgid "cannot open named pipe %s for writing"
-msgstr "named pipe %s ¤ò %s ¤Ø³«¤±¤Þ¤»¤ó: %s"
+msgstr "åå‰ä»˜ãパイプ %s を書ãè¾¼ã¿ç”¨ã«é–‹ã‘ã¾ã›ã‚“"
-#: subst.c:4867
-#, fuzzy, c-format
+#: subst.c:5092
+#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "named pipe %s ¤ò fd %d ¤Î¤¿¤á¤ËÊ£À½¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "åå‰ä»˜ãパイプ %s をファイル記述å­(fd) %d ã¨ã—ã¦è¤‡è£½ã§ãã¾ã›ã‚“"
-#: subst.c:5063
-#, fuzzy
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
-msgstr "ÂåÍý¥³¥Þ¥ó¥É¤Ë¥Ñ¥¤¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "コマンド代入ã§ã¯ãƒ‘イプを作æˆã§ãã¾ã›ã‚“"
-#: subst.c:5097
-#, fuzzy
+#: subst.c:5322
msgid "cannot make child for command substitution"
-msgstr "ÂåÍý¥³¥Þ¥ó¥É¤Ë»Ò¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "コマンド代入ã§ã¯å­ãƒ—ロセスを作æˆã§ãã¾ã›ã‚“"
-#: subst.c:5114
-#, fuzzy
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr "command_substitute: ¥Ñ¥¤¥×¤ò fd 1 ¤È¤·¤ÆÊ£À½¤Ç¤­¤Þ¤»¤ó: %s"
+msgstr "command_substitute: パイプを fd 1 ã¨ã—ã¦è¤‡è£½ã§ãã¾ã›ã‚“"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
-msgstr "%s: ¥Ñ¥é¥á¡¼¥¿¤¬¥Ì¥ëËô¤Ï¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+msgstr "%s: パラメータ㌠null ã¾ãŸã¯è¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
-msgstr ""
+msgstr "%s: substring expression < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
-msgstr "%s: °­¤¤ÂåÍý"
+msgstr "%s: 誤ã£ãŸä»£å…¥ã§ã™"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
-msgstr "$%s: ¤³¤Î¤è¤¦¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó"
+msgstr "$%s: ã“ã®æ–¹æ³•ã§å‰²å½“ã¯ã§ãã¾ã›ã‚“"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
-msgstr ""
+msgstr "å°†æ¥ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚·ã‚§ãƒ«ã§ã¯å¼·åˆ¶çš„ã«æ•°å€¤ä»£å…¥ã¨ã—ã¦è©•ä¾¡ã•ã‚Œã¾ã™"
-#: subst.c:7839
-#, fuzzy, c-format
+#: subst.c:8149
+#, c-format
msgid "bad substitution: no closing \"`\" in %s"
-msgstr "°­¤¤ÂåÆþ: `%s' ¤¬ %s ¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
+msgstr "誤ã£ãŸä»£å…¥: %s ã«é–‰ã˜ã‚‹ \"`\" ãŒã‚ã‚Šã¾ã›ã‚“"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
-msgstr ""
+msgstr "一致ã—ã¾ã›ã‚“: %s"
#: test.c:146
msgid "argument expected"
-msgstr "°ú¿ô¤ò´üÂÔ"
+msgstr "引数ãŒäºˆæœŸã•ã‚Œã¾ã™"
#: test.c:155
#, c-format
msgid "%s: integer expression expected"
-msgstr "%s: »Ø¿ô¤Îɽ¸½¤ò´üÂÔ"
+msgstr "%s: æ•´æ•°ã®å¼ãŒäºˆæœŸã•ã‚Œã¾ã™"
#: test.c:263
msgid "`)' expected"
-msgstr "`)' ¤ò´üÂÔ"
+msgstr "`)' ãŒäºˆæœŸã•ã‚Œã¾ã™"
#: test.c:265
#, c-format
msgid "`)' expected, found %s"
-msgstr "`)', ¤ò´üÂÔ, ÆÀ¤¿¤Î¤Ï %s"
+msgstr "`)' ãŒäºˆæœŸã•ã‚Œã¾ã™ãŒã€è¦‹ã¤ã‹ã£ãŸã®ã¯ %s ã§ã™"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
-msgstr ""
+msgstr "%s: å˜é …演算å­ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
-msgstr ""
+msgstr "%s: 二項演算å­ãŒäºˆæœŸã•ã‚Œã¾ã™"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
-msgstr "`]'¤¬È´¤±¤Æ¤Þ¤¹"
+msgstr "`]'ãŒã‚ã‚Šã¾ã›ã‚“"
-#: trap.c:203
-#, fuzzy
+#: trap.c:207
msgid "invalid signal number"
-msgstr "°­¤¤¥·¥°¥Ê¥ëÈÖ¹æ"
+msgstr "無効ãªã‚·ã‚°ãƒŠãƒ«ç•ªå·"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr ""
+msgstr "run_pending_traps: trap_list[%d] ã«èª¤ã£ãŸå€¤ãŒã‚ã‚Šã¾ã™: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
+"run_pending_traps: シグナルãƒãƒ³ãƒ‰ãƒ©ãƒ¼ã¯ SIG_DFLã§ã™ã€‚, %d (%s) を自身ã«å†é€ã—"
+"ã¾ã™ã€‚"
-#: trap.c:380
-#, fuzzy, c-format
+#: trap.c:393
+#, c-format
msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: °­¤¤¥·¥°¥Ê¥ë %d"
+msgstr "trap_handler: 誤ã£ãŸã‚·ã‚°ãƒŠãƒ« %d"
#: variables.c:363
#, c-format
msgid "error importing function definition for `%s'"
-msgstr ""
+msgstr "`%s' ã®é–¢æ•°å®šç¾©ã‚’インãƒãƒ¼ãƒˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
-msgstr ""
+msgstr "シェルレベル (%d) ã¯é«˜ã™ãŽã¾ã™ã€‚1ã«å†è¨­å®šã•ã‚Œã¾ã—ãŸ"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
-msgstr ""
+msgstr "make_local_variable: ç¾åœ¨ã®ã‚¹ã‚³ãƒ¼ãƒ—ã¯é–¢æ•°ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
-msgstr ""
+msgstr "all_local_variables: ç¾åœ¨ã®ã‚¹ã‚³ãƒ¼ãƒ—ã¯é–¢æ•°ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: ¥Ñ¥é¥á¡¼¥¿¤¬¥Ì¥ëËô¤Ï¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+msgstr "%s 㯠null ã® exportstr ã‚’æŒã£ã¦ã„ã¾ã™"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
-msgstr ""
+msgstr "%2$s ã«å¯¾ã™ã‚‹ exportstr 㧠%1$d ã¯ç„¡åŠ¹ãªæ–‡å­—ã§ã™"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
-msgstr ""
+msgstr "%s ã«å¯¾ã™ã‚‹ exportstr ã« `=' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
+"pop_var_context: shell_variables ã®å…ˆé ­ã§ã™ã€‚関数コンテキストã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
-msgstr ""
+msgstr "pop_var_context: global_variables コンテキストã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
+msgstr "pop_scope: shell_variables ã®å…ˆé ­ã§ã™ã€‚一時環境スコープã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: %s: ファイルã¨ã—ã¦é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr ""
+msgstr "%s: %s: トレースファイル記述å­ã¨ã—ã¦ç„¡åŠ¹ãªå€¤ã§ã™"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
-msgstr ""
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
msgid ""
"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"ライセンス GPLv3+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3 ã¾ãŸã¯ãã‚Œä»¥é™ <http://gnu.org/"
+"licenses/gpl.html>\n"
#: version.c:86 version2.c:83
-#, fuzzy, c-format
+#, c-format
msgid "GNU bash, version %s (%s)\n"
-msgstr "GNU %s, ¥Ð¡¼¥¸¥ç¥ó %s\n"
+msgstr "GNU bash, ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s (%s)\n"
#: version.c:91 version2.c:88
#, c-format
msgid "This is free software; you are free to change and redistribute it.\n"
-msgstr ""
+msgstr "This is free software; you are free to change and redistribute it.\n"
#: version.c:92 version2.c:89
#, c-format
msgid "There is NO WARRANTY, to the extent permitted by law.\n"
-msgstr ""
+msgstr "There is NO WARRANTY, to the extent permitted by law.\n"
#: version2.c:86
#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr ""
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
#, c-format
@@ -1910,66 +1947,69 @@ msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
+"ライセンス GPLv2+: GNU GPL ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2 ã¾ãŸã¯ãã‚Œä»¥é™ <http://gnu.org/"
+"licenses/gpl.html>\n"
#: xmalloc.c:91
#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
+msgstr "%s: %lu ãƒã‚¤ãƒˆã‚’割当ã§ãã¾ã›ã‚“ (%lu ãƒã‚¤ãƒˆã‚’割当済ã¿)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: %lu ãƒã‚¤ãƒˆã‚’割当ã§ãã¾ã›ã‚“"
#: xmalloc.c:163
#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
+msgstr "%s: %s:%d: %lu ãƒã‚¤ãƒˆã‚’割当ã§ãã¾ã›ã‚“ (%lu ãƒã‚¤ãƒˆã‚’割当済ã¿)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "%s: %s ¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+msgstr "%s: %s:%d: %lu ãƒã‚¤ãƒˆã‚’割当ã§ãã¾ã›ã‚“"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
-msgstr "alias [-p] [̾Á°[=ÃÍ] ... ]"
+msgstr "alias [-p] [name[=value] ... ]"
#: builtins.c:47
-#, fuzzy
msgid "unalias [-a] name [name ...]"
-msgstr "unalias [-a] [̾Á° ...]"
+msgstr "unalias [-a] name [name ...]"
#: builtins.c:51
msgid ""
"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
msgstr ""
+"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
+"x keyseq:shell-command] [keyseq:readline-function ã¾ãŸã¯ readline-command]"
#: builtins.c:54
msgid "break [n]"
-msgstr "̾̂ [n]"
+msgstr "break [n]"
#: builtins.c:56
msgid "continue [n]"
-msgstr "³¹Ô [n]"
+msgstr "continue [n]"
#: builtins.c:58
msgid "builtin [shell-builtin [arg ...]]"
-msgstr "builtin [shell-builtin [°ú¿ô ...]]"
+msgstr "builtin [shell-builtin [arg ...]]"
#: builtins.c:61
-#, fuzzy
msgid "caller [expr]"
-msgstr "test [ɽ¸½]"
+msgstr "caller [expr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
-msgstr ""
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|-P] [dir]"
#: builtins.c:66
msgid "pwd [-LP]"
-msgstr ""
+msgstr "pwd [-LP]"
#: builtins.c:68
msgid ":"
@@ -1977,126 +2017,117 @@ msgstr ":"
#: 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] ¥³¥Þ¥ó¥É [°ú¿ô ...]"
+msgstr "command [-pVv] command [arg ...]"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
-msgstr "declare [-afFrxi] [-p] ̾Á°[=ÃÍ] ..."
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFilrtux] [-p] [name[=value] ...]"
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
-msgstr "typeset [-afFrxi] [-p] ̾Á°[=ÃÍ] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFilrtux] [-p] name[=value] ..."
#: builtins.c:80
-#, fuzzy
msgid "local [option] name[=value] ..."
-msgstr "local ̾Á°[=ÃÍ] ..."
+msgstr "local [option] name[=value] ..."
#: builtins.c:83
msgid "echo [-neE] [arg ...]"
-msgstr "echo [-neE] [°ú¿ô ...]"
+msgstr "echo [-neE] [arg ...]"
#: builtins.c:87
msgid "echo [-n] [arg ...]"
-msgstr "echo [-n] [°ú¿ô ...]"
+msgstr "echo [-n] [arg ...]"
#: builtins.c:90
-#, fuzzy
msgid "enable [-a] [-dnps] [-f filename] [name ...]"
-msgstr "enable [-pnds] [-a] [-f ¥Õ¥¡¥¤¥ë̾] [̾Á° ...]"
+msgstr "enable [-a] [-dnps] [-f filename] [name ...]"
#: builtins.c:92
msgid "eval [arg ...]"
-msgstr "eval [°ú¿ô ...]"
+msgstr "eval [arg ...]"
#: builtins.c:94
msgid "getopts optstring name [arg]"
-msgstr "getopts optstring ̾Á° [°ú¿ô]"
+msgstr "getopts optstring name [arg]"
#: builtins.c:96
-#, fuzzy
msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
-msgstr "exec [-cl] [-a ̾Á°] ¥Õ¥¡¥¤¥ë [¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó ...]"
+msgstr "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
#: builtins.c:98
msgid "exit [n]"
-msgstr "½ªÎ» [n]"
+msgstr "exit [n]"
#: builtins.c:100
-#, fuzzy
msgid "logout [n]"
-msgstr "¥í¥°¥¢¥¦¥È"
+msgstr "logout [n]"
#: builtins.c:103
-#, fuzzy
msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
-msgstr "fc [-e ename] [-nlr] [ºÇ½é] [ºÇ¸å] of fc -s [¥Ñ¥¿¡¼¥ó=rep] [¥³¥Þ¥ó¥É]"
+msgstr "fc [-e ename] [-lnr] [first] [last] ã¾ãŸã¯ fc -s [pat=rep] [command]"
#: builtins.c:107
-#, fuzzy
msgid "fg [job_spec]"
-msgstr "disown [jobspec ...]"
+msgstr "fg [job_spec]"
#: builtins.c:111
-#, fuzzy
msgid "bg [job_spec ...]"
-msgstr "disown [jobspec ...]"
+msgstr "bg [job_spec ...]"
#: builtins.c:114
-#, fuzzy
msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
-msgstr "hash [-r] [-p ¥Ñ¥¹Ì¾] [̾Á° ...]"
+msgstr "hash [-lr] [-p pathname] [-dt] [name ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [¥Ñ¥¿¡¼¥ó ...]"
+msgstr "help [-dms] [pattern ...]"
#: 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 [¥Õ¥¡¥¤¥ë̾] of history -ps arg [°ú¿ô...]"
+"history [-c] [-d offset] [n] ã¾ãŸã¯ history -anrw [filename] ã¾ãŸã¯ history -"
+"ps arg [arg...]"
#: builtins.c:125
msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
-msgstr "jobs [-lnprs] [jobspec ...] Ëô¤Ï jobs -x commando [°ú¿ô]"
+msgstr "jobs [-lnprs] [jobspec ...] ã¾ãŸã¯ jobs -x command [args]"
#: builtins.c:129
-#, fuzzy
msgid "disown [-h] [-ar] [jobspec ...]"
-msgstr "disown [jobspec ...]"
+msgstr "disown [-h] [-ar] [jobspec ...]"
#: builtins.c:132
-#, fuzzy
msgid ""
"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
"[sigspec]"
msgstr ""
-"kill [-s sigspec | -n signum | -sigspec] [pid | job]... Ëô¤Ï kill -l "
+"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... ã¾ãŸã¯ kill -l "
"[sigspec]"
#: builtins.c:134
msgid "let arg [arg ...]"
-msgstr "let °ú¿ô [°ú¿ô ...]"
+msgstr "let 引数 [引数 ...]"
#: builtins.c:136
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
+"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
+"prompt] [-t timeout] [-u fd] [name ...]"
#: builtins.c:138
msgid "return [n]"
@@ -2104,37 +2135,33 @@ msgstr "return [n]"
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
-msgstr "set [--abefhkmnptuvxBCHP] [-o ¥ª¥×¥·¥ç¥ó] [°ú¿ô ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
#: builtins.c:142
msgid "unset [-f] [-v] [name ...]"
-msgstr "unset [-f] [-v] [̾Á° ...]"
+msgstr "unset [-f] [-v] [name ...]"
#: builtins.c:144
-#, fuzzy
msgid "export [-fn] [name[=value] ...] or export -p"
-msgstr "export [-nf] [̾Á° ...] Ëô¤Ï export -p"
+msgstr "export [-fn] [name[=value] ...] ã¾ãŸã¯ export -p"
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
-msgstr "readonly [-anf] [̾Á° ...] Ëô¤Ï readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-af] [name[=value] ...] ã¾ãŸã¯ readonly -p"
#: builtins.c:148
-#, fuzzy
msgid "shift [n]"
-msgstr "½ªÎ» [n]"
+msgstr "shift [n]"
#: builtins.c:150
-#, fuzzy
msgid "source filename [arguments]"
-msgstr "source ¥Õ¥¡¥¤¥ë̾"
+msgstr "source filename [arguments]"
#: builtins.c:152
-#, fuzzy
msgid ". filename [arguments]"
-msgstr ". ¥Õ¥¡¥¤¥ë̾"
+msgstr ". filename [arguments]"
#: builtins.c:155
msgid "suspend [-f]"
@@ -2142,138 +2169,123 @@ msgstr "suspend [-f]"
#: builtins.c:158
msgid "test [expr]"
-msgstr "test [ɽ¸½]"
+msgstr "test [expr]"
#: builtins.c:160
msgid "[ arg... ]"
-msgstr "[ °ú¿ô... ]"
+msgstr "[ arg... ]"
#: builtins.c:162
msgid "times"
msgstr "times"
#: builtins.c:164
-#, fuzzy
msgid "trap [-lp] [[arg] signal_spec ...]"
-msgstr "trap [°ú¿ô] [signal_spec] Ëô¤Ï trap -l"
+msgstr "trap [-lp] [[arg] signal_spec ...]"
#: builtins.c:166
-#, fuzzy
msgid "type [-afptP] name [name ...]"
-msgstr "type [-apt] ̾Á° [̾Á° ...]"
+msgstr "type [-afptP] name [name ...]"
#: builtins.c:169
-#, fuzzy
msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
-msgstr "ulimit [-SHacdfmstpnuv] [¾å¸Â]"
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [limit]"
#: builtins.c:172
-#, fuzzy
msgid "umask [-p] [-S] [mode]"
-msgstr "umask [-S] [¥â¡¼¥É]"
+msgstr "umask [-p] [-S] [mode]"
#: 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 ̾Á° [in ¸ÀÍÕ ... ;] do ¥³¥Þ¥ó¥É·²; done"
+msgstr "for NAME [in WORDS ... ] ; do COMMANDS; done"
#: builtins.c:184
-#, fuzzy
msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
-msgstr "for ̾Á° [in ¸ÀÍÕ ... ;] do ¥³¥Þ¥ó¥É·²; done"
+msgstr "for (( exp1; exp2; exp3 )); do COMMANDS; done"
#: builtins.c:186
msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
-msgstr "select ̾Á° [in ¸ÀÍÕ ... ;] do ¥³¥Þ¥ó¥É·²; done"
+msgstr "select NAME [in WORDS ... ;] do COMMANDS; done"
#: builtins.c:188
msgid "time [-p] pipeline"
-msgstr ""
+msgstr "time [-p] pipeline"
#: builtins.c:190
msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
-msgstr "case ¸ÀÍÕ in [¥Ñ¥¿¡¼¥ó [| ¥Ñ¥¿¡¼¥ó]...) ¥³¥Þ¥ó¥É·² ;;]... esac"
+msgstr "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
#: builtins.c:192
msgid ""
"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
"COMMANDS; ] fi"
msgstr ""
-"if ¥³¥Þ¥ó¥É·²; then ¥³¥Þ¥ó¥É·²; [ elif ¥³¥Þ¥ó¥É·²; then ¥³¥Þ¥ó¥É·²; ]... "
-"[ else ¥³¥Þ¥ó¥É·²; ] fi"
+"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
+"COMMANDS; ] fi"
#: builtins.c:194
msgid "while COMMANDS; do COMMANDS; done"
-msgstr "while ¥³¥Þ¥ó¥É·²; do ¥³¥Þ¥ó¥É·²; done"
+msgstr "while COMMANDS; do COMMANDS; done"
#: builtins.c:196
msgid "until COMMANDS; do COMMANDS; done"
-msgstr "until ¥³¥Þ¥ó¥É·²; do ¥³¥Þ¥ó¥É·²; done"
+msgstr "until COMMANDS; do COMMANDS; done"
#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
-msgstr ""
+msgstr "coproc [NAME] command [redirections]"
#: builtins.c:200
-#, fuzzy
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
-msgstr "function ̾Á° { ¥³¥Þ¥ó¥É·² ; } or ̾Á° () { ¥³¥Þ¥ó¥É·² ; } "
+msgstr "function name { COMMANDS ; } ã¾ãŸã¯ name () { COMMANDS ; }"
#: builtins.c:202
-#, fuzzy
msgid "{ COMMANDS ; }"
-msgstr "{ ¥³¥Þ¥ó¥É·² }"
+msgstr "{ COMMANDS ; }"
#: builtins.c:204
msgid "job_spec [&]"
-msgstr ""
+msgstr "job_spec [&]"
#: builtins.c:206
-#, fuzzy
msgid "(( expression ))"
-msgstr "ɽ¸½¤ò´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "(( expression ))"
#: builtins.c:208
-#, fuzzy
msgid "[[ expression ]]"
-msgstr "ɽ¸½¤ò´üÂÔ¤·¤Æ¤Þ¤¹"
+msgstr "[[ expression ]]"
#: builtins.c:210
msgid "variables - Names and meanings of some shell variables"
-msgstr ""
+msgstr "変数 - 変数ã®åå‰ã¨ãã®æ„味"
#: builtins.c:213
-#, fuzzy
msgid "pushd [-n] [+N | -N | dir]"
-msgstr "pushd [¥Ç¥£¥ì¥¯¥È¥ê | +N | -N ] [-n]"
+msgstr "pushd [-n] [+N | -N | dir]"
#: builtins.c:217
-#, fuzzy
msgid "popd [-n] [+N | -N]"
-msgstr "popd [+N | -N] [-n]"
+msgstr "popd [-n] [+N | -N]"
#: builtins.c:221
msgid "dirs [-clpv] [+N] [-N]"
msgstr "dirs [-clpv] [+N] [-N]"
#: builtins.c:224
-#, fuzzy
msgid "shopt [-pqsu] [-o] [optname ...]"
-msgstr "shopt [-pqsu] [-o Ť¤¥ª¥×¥·¥ç¥ó] optname [optname...]"
+msgstr "shopt [-pqsu] [-o] [optname ...]"
#: builtins.c:226
msgid "printf [-v var] format [arguments]"
-msgstr ""
+msgstr "printf [-v var] format [arguments]"
#: builtins.c:229
msgid ""
@@ -2281,29 +2293,37 @@ msgid ""
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
+"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
+"suffix] [name ...]"
#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
+"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
+"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "type [-apt] ̾Á° [̾Á° ...]"
+msgstr "compopt [-o|+o option] [-DE] [name ...]"
#: builtins.c:240
msgid ""
"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
#: builtins.c:242
msgid ""
"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
"quantum] [array]"
msgstr ""
+"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
#: builtins.c:254
msgid ""
@@ -2324,9 +2344,25 @@ msgid ""
"been\n"
" defined."
msgstr ""
+"エイリアスを定義ã¾ãŸã¯è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" 引数ãŒãªã„å ´åˆã€`alias` ã¯å†ä½¿ç”¨å¯èƒ½ãªã‚¨ã‚¤ãƒªã‚¢ã‚¹ä¸€è¦§ã‚’ `alias åå‰=値'\n"
+" å½¢å¼ã§æ¨™æº–出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" ãã†ã§ãªã‘ã‚Œã°ã€ä¸Žãˆã‚‰ã‚ŒãŸåå‰ã¨å€¤ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’定義ã—ã¾ã™ã€‚値ã®å¾Œç¶šã«ç©º"
+"白\n"
+" ãŒå­˜åœ¨ã™ã‚‹å ´åˆã¯æ¬¡ã®èªžã¯ã‚¨ã‚¤ãƒªã‚¢ã‚¹å±•é–‹æ™‚ã«ã‚¨ã‚¤ãƒªã‚¢ã‚¹ä»£å…¥å¯¾è±¡ã¨ã—ã¦ç¢ºèªã•"
+"れ\n"
+" ã¾ã™ã€‚\n"
+"\n"
+" オプション:\n"
+" -p\tã™ã¹ã¦ã®å®šç¾©ã•ã‚ŒãŸã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" alias ã¯ä¸Žãˆã‚‰ã‚ŒãŸåå‰ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹ãŒå®šç¾©ã•ã‚Œãªã‹ã£ãŸå ´åˆã‚’除ã true ã‚’è¿”"
+"ã—ã¾ã™ã€‚"
#: builtins.c:276
-#, fuzzy
msgid ""
"Remove each NAME from the list of defined aliases.\n"
" \n"
@@ -2335,8 +2371,12 @@ msgid ""
" \n"
" Return success unless a NAME is not an existing alias."
msgstr ""
-"[̾Á°]¤òÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¨¥¤¥ê¥¢¥¹¤«¤éºï½ü¤·¤Ê¤µ¤¤¡£¤â¤·¡¢-a ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ"
-"¤¿¤Ê¤é¡¢"
+"定義ã•ã‚ŒãŸã‚¨ã‚¤ãƒªã‚¢ã‚¹ä¸€è¦§ã‹ã‚‰å„åå‰ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’削除ã—ã¾ã™ã€‚\n"
+" \n"
+" Options:\n"
+" -a\tã™ã¹ã¦ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹å®šç¾©ã‚’削除ã—ã¾ã™ã€‚\n"
+" \n"
+" åå‰ãŒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«å­˜åœ¨ã—ãªã„å ´åˆã‚’除ã true ã‚’è¿”ã—ã¾ã™ã€‚"
#: builtins.c:289
msgid ""
@@ -2376,6 +2416,41 @@ msgid ""
" Exit Status:\n"
" bind returns 0 unless an unrecognized option is given or an error occurs."
msgstr ""
+"Readline ã®ã‚­ãƒ¼ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã¨å¤‰æ•°ã‚’設定ã—ã¾ã™ã€‚\n"
+" \n"
+" キーシーケンスを Readline 関数ã¾ãŸã¯ãƒžã‚¯ãƒ­ã«é–¢é€£ä»˜ã‘ã‚’è¡Œã†ã‹ã€Readline\n"
+" 変数を設定ã—ã¾ã™ã€‚オプションãŒç„¡ã„引数ã®æ§‹æ–‡ã¯ ~/.inputrc ã®æ§‹æ–‡ã¨\n"
+" åŒæ§˜ã§ã™ã€‚ã—ã‹ã—ã€å˜ä¸€ã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+" 例: bind '\"\\C-x\\C-r\": re-read-init-file'\n"
+" \n"
+" オプション:\n"
+" -m keymap Use KEYMAP as the keymap for the duration of this\n"
+" command. Acceptable keymap names are emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+" vi-command, and vi-insert.\n"
+" -l 関数å一覧を表示ã—ã¾ã™ã€‚\n"
+" -P 関数åãŠã‚ˆã³ã‚­ãƒ¼ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n"
+" -p 関数åã¨ã‚­ãƒ¼ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã‚’入力ã¨ã—ã¦å†åˆ©ç”¨å¯èƒ½ãª\n"
+" å½¢å¼ã§ä¸€è¦§è¡¨ç¤ºã—ã¾ã™ã€‚\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 変数åã¨å€¤ã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚\n"
+" -v 変数åã¨å€¤ã‚’入力ã¨ã—ã¦å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§ä¸€è¦§\n"
+" 表示ã—ã¾ã™ã€‚\n"
+" -q function-name 関数åãŒã©ã®ã‚­ãƒ¼ã«ã‚ˆã£ã¦èµ·å‹•ã•ã‚Œã‚‹ã‹æŽ¢ç´¢ã—ã¾ã™\n"
+" -u function-name 関数åã«ãƒã‚¤ãƒ³ãƒ‰ã•ã‚ŒãŸã™ã¹ã¦ã®ã‚­ãƒ¼ã‚’解除ã—ã¾ã™ã€‚\n"
+" -r keyseq KEYSEQ ã«å¯¾ã™ã‚‹ãƒã‚¤ãƒ³ãƒ‰ã‚’解除ã—ã¾ã™ã€‚\n"
+" -f filename FILENAME ã‹ã‚‰ã‚­ãƒ¼ãƒã‚¤ãƒ³ãƒ‰ã‚’読ã¿è¾¼ã¿ã¾ã™ã€‚\n"
+" -x keyseq:shell-command\tKEYSEQ ãŒå…¥åŠ›ã•ã‚ŒãŸæ™‚ã« SHELL-COMMAND \n"
+" \t\t\t\tãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" bind ã¯è§£é‡ˆã§ããªã„オプションãŒæ¸¡ã•ã‚ŒãŸå ´åˆãŠã‚ˆã³ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå ´åˆ\n"
+" を除ã 0 ã‚’è¿”ã—ã¾ã™ã€‚"
#: builtins.c:326
msgid ""
@@ -2387,6 +2462,14 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
+"for〠whileã€ã¾ãŸã¯ until ループを脱出ã—ã¾ã™ã€‚\n"
+" \n"
+" FOR〠WHILEã€ã¾ãŸã¯ UNTIL ループを脱出ã—ã¾ã™ ã‚‚ã— N ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´"
+"åˆã€\n"
+" N階層ã®ãƒ«ãƒ¼ãƒ—を終了ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" N ãŒ1未満ã®å ´åˆã‚’除ãã€çµ‚了ステータス㯠0 ã§ã™ã€‚"
#: builtins.c:338
msgid ""
@@ -2398,6 +2481,13 @@ msgid ""
" Exit Status:\n"
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
+"for, while, ã¾ãŸã¯ until ループをå†é–‹ã—ã¾ã™ã€‚\n"
+" \n"
+" FOR, WHILE ã¾ãŸã¯ UNTIL ループã®æ¬¡ã®ç¹°ã‚Šè¿”ã—ã‚’å†é–‹ã—ã¾ã™ã€‚\n"
+" ã‚‚ã— N ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã€N 階層ã®ãƒ«ãƒ¼ãƒ—ã‚’å†é–‹ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" N ãŒ1未満ã®å ´åˆã‚’除ãã€çµ‚了ステータス㯠0 ã§ã™ã€‚"
#: builtins.c:350
msgid ""
@@ -2412,6 +2502,15 @@ msgid ""
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
msgstr ""
+"シェル組ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" コマンドを検索ã—ãªã„ã§ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã‚’ ARG ã‚’ã¤ã‘ã¦å®Ÿè¡Œã—\n"
+" ã¾ã™ã€‚ã“ã‚Œã¯ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã‚’シェル関数ã¨ã—ã¦å®Ÿè£…ã™ã‚‹ãŒã€é–¢æ•°\n"
+" 内ã§çµ„ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" シェル組ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚シェル組ã¿è¾¼ã¿ã‚³ãƒž\n"
+" ンドãŒç„¡ã„å ´åˆã¯ false ã‚’è¿”ã—ã¾ã™ã€‚"
#: builtins.c:365
msgid ""
@@ -2428,8 +2527,21 @@ msgid ""
" Returns 0 unless the shell is not executing a shell function or EXPR\n"
" is invalid."
msgstr ""
+"ç¾åœ¨ã®ã‚µãƒ–ルーãƒãƒ³å‘¼ã³å‡ºã—ã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚\n"
+" \n"
+" EXPR ãŒç„¡ã„å ´åˆ \"$line $filename\" ã‚’è¿”ã—ã¾ã™ã€‚ EXPR ãŒã‚ã‚‹å ´åˆã€\n"
+" \"$line $subroutine $filename\" ã‚’è¿”ã—ã¾ã™ã€‚ã“ã®è¿½åŠ ã®æƒ…å ±ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒˆ"
+"レース\n"
+" ã‚’æä¾›ã™ã‚‹æ™‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚\n"
+" \n"
+" EXPR ã®å€¤ã¯ç¾åœ¨ã®ãƒ•ãƒ¬ãƒ¼ãƒ ã«æˆ»ã‚‹ã¾ã§ã«ä½•å›žãƒ•ãƒ¬ãƒ¼ãƒ ãŒå‘¼ã³å‡ºã•ã‚Œã¦ã„ã‚‹ã‹ã‚’\n"
+" æ„味ã—ã¾ã™ã€‚最上ä½ã®ãƒ•ãƒ¬ãƒ¼ãƒ ã¯ 0 ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" シェルãŒé–¢æ•°ã‚’実行ã§ããªã„ã‹å¼ EXPR ãŒç„¡åŠ¹ãªå ´åˆã‚’除ã 0 ã‚’è¿”ã—ã¾ã™ã€‚"
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2455,14 +2567,44 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
+"シェルã®ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’変更ã—ã¾ã™ã€‚\n"
+" \n"
+" カレントディレクトリを`ディレクトリ'ã«å¤‰æ›´ã—ã¾ã™ã€‚`ディレクトリ'ã®\n"
+" デフォルト㯠HOME シェル変数ã§ã™ã€‚\n"
+" \n"
+" CDPATH ã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå«ã¾ã‚Œã‚‹æ¤œç´¢ãƒ‘スを定義ã—ã¾ã™ã€‚CDPATH ã«ã¯ã‚³ãƒ­ãƒ³"
+"(:)\n"
+" ã§åŒºåˆ‡ã‚‰ã‚ŒãŸä»£æ›¿ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’指定ã—ã¾ã™ã€‚\n"
+" NULL ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåã¯ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨åŒç¾©ã§ã™ã€‚ディレクトリãŒ\n"
+" スラッシュ (/) ã‹ã‚‰å§‹ã¾ã‚‹å ´åˆã¯ CDPATH ã¯åˆ©ç”¨ã•ã‚Œã¾ã›ã‚“。\n"
+" \n"
+" ディレクトリãŒè¦‹ã¤ã‹ã‚‰ãªãã€ã‹ã¤ `cdabl_vars' シェルオプションãŒè¨­å®šã•ã‚Œ"
+"ã¦\n"
+" ã„ã‚‹å ´åˆã€å¼•æ•°ã¯å¤‰æ•°åã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ãã®å¤‰æ•°ã«å€¤ãŒã‚ã‚‹å ´åˆã€ãã®å€¤"
+"ãŒ\n"
+" DIR ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -L\tシンボリックリンクを強制的ã«ãŸã©ã‚Šã¾ã™\n"
+" -P\tシンボリックリンクをãŸã©ã‚‰ãšç‰©ç†æ§‹é€ ã‚’利用ã—ã¾ã™\n"
+" \n"
+" デフォルトã§ã¯ `-L' ãŒæŒ‡å®šã•ã‚ŒãŸå ´åˆã¨åŒæ§˜ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’ãŸã©ã‚Šã¾"
+"ã™\n"
+" \n"
+" 終了ステータス:\n"
+" ディレクトリを変更ã—ãŸå ´åˆã¯ 0ã€ãã†ã§ãªã‘れ㰠0 以外ã§ã™ã€‚"
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2477,8 +2619,20 @@ msgid ""
" Returns 0 unless an invalid option is given or the current directory\n"
" cannot be read."
msgstr ""
+"カレントディレクトリã®åå‰ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -L\t$PWD ãŒã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®åå‰ã‚’指ã—ã¦ã„ã‚‹å ´åˆã¯ $PWD\n"
+" \tを表示ã—ã¾ã™ã€‚\n"
+" -P\tシンボリックリンクを辿ã£ãŸç‰©ç†çš„ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" デフォルトã§ã¯ `pwd' 㯠`-L' ãŒæŒ‡å®šã•ã‚ŒãŸã‚ˆã†ã«å‹•ä½œã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションã¾ãŸã¯ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’読ã¿è¾¼ã‚ãªã„å ´åˆã‚’除ã\n"
+" 0ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2487,24 +2641,38 @@ msgid ""
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"何もã—ãªã„コマンド\n"
+" \n"
+" 何も効果ãŒã‚ã‚Šã¾ã›ã‚“。コマンドã¯ä½•ã‚‚è¡Œã„ã¾ã›ã‚“\n"
+" \n"
+" 終了ステータス:\n"
+" 常ã«æˆåŠŸã§ã™ã€‚"
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"çµæžœã¨ã—ã¦æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 常ã«æˆåŠŸã§ã™ã€‚"
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
" Exit Status:\n"
" Always fails."
msgstr ""
+"çµæžœã¨ã—ã¦å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 常ã«å¤±æ•—ã§ã™ã€‚"
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2522,8 +2690,24 @@ msgid ""
" Exit Status:\n"
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
+"å˜ç´”ãªã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã™ã‚‹ã‹ã‚³ãƒžãƒ³ãƒ‰ã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" シェル関数ã®æŽ¢ç´¢ã‚’抑止ã—㦠COMMAND を引数 ARGS ã§å®Ÿè¡Œã—ã¾ã™ã€‚ã¾ãŸã¯\n"
+" 指定ã—㟠COMMANDs ã®æƒ…報を表示ã—ã¾ã™ã€‚シェル関数ã¨åŒã˜åå‰ã®ã‚³ãƒžãƒ³ãƒ‰\n"
+" ãŒãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã«å­˜åœ¨ã™ã‚‹æ™‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -p\tuse a default value for PATH that is guaranteed to find all of\n"
+" \tthe standard utilities\n"
+" -v\t`type'組ã¿è¾¼ã¿é–¢æ•°ã¨åŒæ§˜ã« COMMAND ã®èª¬æ˜Žã‚’表示ã—ã¾ã™ã€‚\n"
+" -V\tCOMMAND ã«å¯¾ã—ã¦ã‚ˆã‚Šå†—é•·ãªèª¬æ˜Žã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" COMMAND ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚ã¾ãŸã¯ COMMAND ãŒè¦‹ã¤ã‹ã‚‰ãªã„時ã«å¤±æ•—"
+"ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2534,6 +2718,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2553,20 +2739,55 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"変数ã®å€¤ãŠã‚ˆã³å±žæ€§ã‚’設定ã—ã¾ã™ã€‚\n"
+" \n"
+" 変数を宣言ã—ã€ãã‚Œã«å±žæ€§ã‚’与ãˆã¾ã™ã€‚NAME を指定ã—ãªã„å ´åˆ\n"
+" ã™ã¹ã¦ã®å¤‰æ•°ã«å¯¾ã™ã‚‹å±žæ€§ã¨å€¤ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -f\trestrict action or display to function names and definitions\n"
+" -F\trestrict display to function names only (plus line number and\n"
+" \tsource file when debugging)\n"
+" -p\tdisplay the attributes and value of each NAME\n"
+" \n"
+" 属性を設定ã™ã‚‹ã‚ªãƒ—ション:\n"
+" -a\tNAME をインデックス型é…列ã«ã—ã¾ã™(サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆ)\n"
+" -A\tNAME を連想é…列ã«ã—ã¾ã™(サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆ)\n"
+" -i\tNAME ã«`æ•´æ•°åž‹'ã®å±žæ€§ã‚’設定ã—ã¾ã™ã€‚\n"
+" -l\tNAME ã®è¨­å®šæ™‚ã«å€¤ã‚’å°æ–‡å­—ã«å¤‰æ›ã—ã¾ã™\n"
+" -r\tNAME を読ã¿å–り専用ã«ã—ã¾ã™\n"
+" -t\tNAME ã« `trace' 属性を設定ã—ã¾ã™\n"
+" -u\tNAME 設定時ã«å€¤ã‚’大文字ã«è¨­å®šã—ã¾ã™\n"
+" -x\tNAME をエクスãƒãƒ¼ãƒˆã—ã¾ã™\n"
+" \n"
+" `-' ã®ä»£ã‚ã‚Šã« `+' を使用ã™ã‚‹ã¨ä¸Žãˆã‚‰ã‚ŒãŸå±žæ€§ã‚’無効ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" 整数属性を与ãˆã‚‰ã‚ŒãŸå¤‰æ•°ã¯å€¤ã‚’割り当ã¦ã‚‰ã‚ŒãŸæ™‚ã«ã€æ•°å€¤ã¨ã—ã¦è©•ä¾¡ã•ã‚Œ\n"
+" ã¾ã™ã€‚(`let' コマンドå‚ç…§ã—ã¦ãã ã•ã„。)\n"
+" \n"
+" 関数内ã§ä½¿ç”¨ã•ã‚ŒãŸå ´åˆã¯ `local' コマンドを使用ã—ãŸæ™‚ã¨åŒæ§˜ã« "
+"`declare' \n"
+" 㯠NAME をローカル変数ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚ŒãŸã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
+"変数ã®å€¤ãŠã‚ˆã³å±žæ€§ã‚’設定ã—ã¾ã™ã€‚\n"
+" \n"
+" æ—§å¼ã§ã™ã€‚`help declare'ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2580,8 +2801,22 @@ msgid ""
" Returns success unless an invalid option is supplied, an error occurs,\n"
" or the shell is not executing a function."
msgstr ""
+"ローカル変数を定義ã—ã¾ã™ã€‚\n"
+" \n"
+" NAME ã¨ã„ã†åå‰ã®ãƒ­ãƒ¼ã‚«ãƒ«å¤‰æ•°ã‚’定義ã—値を VALUE ã«è¨­å®šã—ã¾ã™ã€‚"
+"`declare'ã¨\n"
+" åŒã˜ã‚ªãƒ—ションをå—ã‘付ã‘ã¾ã™ã€‚\n"
+" \n"
+" ローカル変数ã¯ã‚·ã‚§ãƒ«é–¢æ•°ã®ä¸­ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚宣言ã•ã‚ŒãŸé–¢æ•°ã®ä¸­ãŠã‚ˆã³"
+"ãã“\n"
+" ã‹ã‚‰å‘¼ã³å‡ºã•ã‚ŒãŸé–¢æ•°ã®ã¿ã§å‚ç…§ã§ãã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã™ã‚‹ã€ã¾ãŸã¯ã‚·ã‚§ãƒ«ãŒé–¢æ•°ã‚’実行"
+"ã§ããªã„\n"
+" å ´åˆã‚’除ãæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2611,8 +2846,33 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
-
-#: builtins.c:571
+"引数を標準出力ã«æ›¸ã出ã—ã¾ã™ã€‚\n"
+" \n"
+" 引数 ARG を最後ã«æ”¹è¡Œã‚’加ãˆã¦æ¨™æº–出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\t最後ã«æ”¹è¡Œã‚’加ãˆãªã„\n"
+" -e\t下記ã«ç¤ºã™ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã®è§£é‡ˆã‚’有効ã«ã™ã‚‹\n"
+" -E\tãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—ã®è§£é‡ˆã‚’明示的ã«ç„¡åŠ¹ã«ã™ã‚‹\n"
+" \n"
+" `echo' ã§ã¯ä¸‹è¨˜ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—文字を解釈ã—ã¾ã™:\n"
+" \\a\tアラート (bell)\n"
+" \\b\tãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹\n"
+" \\c\t以é™ã®å‡ºåŠ›ã‚’抑止\n"
+" \\e\tエスケープ文字\n"
+" \\f\tフォームフィード\n"
+" \\n\t改行\n"
+" \\r\tキャリッジリターン\n"
+" \\t\t水平タブ\n"
+" \\v\t垂直タブ\n"
+" \\\\\tãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥\n"
+" \\0nnn\tASCII コード㌠NNN (8進数) ã®æ–‡å­—。 NNN ã¯0ã‹ã‚‰3個ã®8進数字\n"
+" \\xHH\t値㌠HH (16進数) ã®8ビット文字。HH 㯠1 ã¾ãŸã¯2個ã®16進数字\n"
+" \n"
+" 終了ステータス:\n"
+" 書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2624,8 +2884,17 @@ msgid ""
" Exit Status:\n"
" Returns success unless a write error occurs."
msgstr ""
+"引数を標準出力ã«æ›¸ã出ã—ã¾ã™ã€‚\n"
+" \n"
+" 引数 ARG を最後ã«æ”¹è¡Œã‚’加ãˆã¦æ¨™æº–出力ã«è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\t最後ã«æ”¹è¡Œã‚’加ãˆãªã„\n"
+" \n"
+" 終了ステータス:\n"
+" 書ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2651,8 +2920,33 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
+"シェル組ã¿è¾¼ã¿é–¢æ•°ã‚’有効ã¾ãŸã¯ç„¡åŠ¹ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" シェル組ã¿è¾¼ã¿é–¢æ•°ã‚’有効ã¾ãŸã¯ç„¡åŠ¹ã«ã—ã¾ã™ã€‚シェル組ã¿è¾¼ã¿é–¢æ•°ã‚’無効ã«ã™"
+"ã‚‹ã¨\n"
+" ディスク上ã«å­˜åœ¨ã™ã‚‹ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿é–¢æ•°ã¨åŒã˜åå‰ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’フルパスを指"
+"定ã™\n"
+" ã‚‹ã“ã¨ãªã実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a\t組ã¿è¾¼ã¿é–¢æ•°ã®ä¸€è¦§ã‚’ãã‚Œãžã‚ŒãŒæœ‰åŠ¹ã‹å¦ã‹ã‚’å«ã‚ã¦è¡¨ç¤ºã—ã¾ã™\n"
+" -n\tNAME を無効ã«ã™ã‚‹ã‹ã€ã¾ãŸã¯ç„¡åŠ¹ãªçµ„ã¿è¾¼ã¿é–¢æ•°ä¸€è¦§ã‚’表示ã—ã¾ã™\n"
+" -p\t組ã¿è¾¼ã¿é–¢æ•°ä¸€è¦§ã‚’å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -s\tPosix ã§å®šç¾©ã•ã‚Œã¦ã„る組ã¿è¾¼ã¿é–¢æ•°ã®ã¿è¡¨ç¤ºã—ã¾ã™\n"
+" \n"
+" 動的ロードを制御ã™ã‚‹ã‚ªãƒ—ション:\n"
+" -f\t共有オブジェクト FILENAME ã‹ã‚‰çµ„ã¿è¾¼ã¿é–¢æ•° NAME を読ã¿è¾¼ã¿ã¾ã™\n"
+" -d\t-f ã§èª­ã¿è¾¼ã¾ã‚ŒãŸçµ„ã¿è¾¼ã¿é–¢æ•°ã‚’削除ã—ã¾ã™\n"
+" \n"
+" オプション無ã—ã§èµ·å‹•ã•ã‚ŒãŸå ´åˆã€å„ NAME ã¯æœ‰åŠ¹ã«ãªã‚Šã¾ã™ã€‚\n"
+" \n"
+" $PATH 上ã«å­˜åœ¨ã™ã‚‹ `test' をシェル組ã¿è¾¼ã¿é–¢æ•°ã®ä»£ã‚ã‚Šã«åˆ©ç”¨ã™ã‚‹å ´åˆã¯\n"
+" `enable -n test'ã¨å…¥åŠ›ã—ã¦ãã ã•ã„。\n"
+" \n"
+" 終了ステータス:\n"
+" NAME ãŒçµ„ã¿è¾¼ã¿é–¢æ•°ã§ã¯ãªã„ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2663,8 +2957,16 @@ msgid ""
" Exit Status:\n"
" Returns exit status of command or success if command is null."
msgstr ""
+"引数をシェルコマンドã¨ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚\n"
+" \n"
+" 引数を一ã¤ã®æ–‡å­—列ã«é€£çµã—ã€ãã®çµæžœã‚’シェルã¸ã®å…¥åŠ›ã¨ã—ã¦ä½¿ç”¨ã—ã€\n"
+" ãã®çµæžœã‚’コマンドã¨ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" コマンドã®çµ‚了ステータスを返ã—ã¾ã™ã€‚コマンド㌠null ã®å ´åˆã¯æˆåŠŸã‚’\n"
+" è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2704,8 +3006,44 @@ msgid ""
" Returns success if an option is found; fails if the end of options is\n"
" encountered or an error occurs."
msgstr ""
+"オプション引数を解æžã—ã¾ã™ã€‚\n"
+" \n"
+" getopts ã¯ä½ç½®ãƒ‘ラメーターをオプションã¨ã—ã¦è§£æžã™ã‚‹éš›ã«ã‚·ã‚§ãƒ«ã«ã‚ˆã£\n"
+" ã¦ä½¿ç”¨ã•ã‚Œã‚‹æ‰‹ç¶šã§ã™ã€‚\n"
+" \n"
+" OPTSTRING ã«ã¯èªè­˜ã•ã‚Œã‚‹ã‚ªãƒ—ションã®æ–‡å­—ãŒå«ã¾ã‚Œã¾ã™ã€‚文字ã®å¾Œã«\n"
+" コロン(:)ãŒç¶šãå ´åˆã¯ã€ã‚ªãƒ—ションã¯ç©ºç™½æ–‡å­—ã§ã‚ªãƒ—ションã‹ã‚‰åŒºåˆ‡\n"
+" られãŸå¼•æ•°ã‚’æŒã¤ã¨äºˆæœŸã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" getopts ã¯èµ·å‹•ã•ã‚Œã‚‹ãŸã³ã«ã€æ¬¡ã®ã‚ªãƒ—ションをシェル変数 $name ã«ä¿å­˜\n"
+" ã—ã¾ã™ã€‚name ãŒå­˜åœ¨ã—ãªã„å ´åˆã¯åˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚ãã—ã¦å‡¦ç†ã™ã‚‹å¿…è¦ãŒ\n"
+" ã‚る次ã®å¼•æ•°ã®ä½ç½®ã‚’シェル変数 OPTIND ã«ä¿å­˜ã—ã¾ã™ã€‚OPTIND ã¯ã‚·ã‚§ãƒ«\n"
+" ã¾ãŸã¯ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—トãŒèµ·å‹•ã™ã‚‹ãŸã³ã« 1 ã«åˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚オプショ\n"
+" ンã«å¼•æ•°ãŒè¦æ±‚ã•ã‚Œã‚‹å ´åˆã€getopt ã¯å¼•æ•°ã‚’シェル変数 OPTARG ã«ä¿å­˜ã—\n"
+" ã¾ã™ã€‚\n"
+" \n"
+" getopts ã¯ã‚¨ãƒ©ãƒ¼ã‚’2ã¤ã®æ–¹æ³•ã®ã„ãšã‚Œã‹ã§å ±å‘Šã—ã¾ã™ã€‚OPTSTRINGã®æœ€åˆ\n"
+" ã®æ–‡å­—ãŒã‚³ãƒ­ãƒ³ (:) ã®å ´åˆã€getopts ã¯ã‚µã‚¤ãƒ¬ãƒ³ãƒˆã‚¨ãƒ©ãƒ¼å ±å‘Šã‚’使用ã—\n"
+" ã¾ã™ã€‚ã“ã®ãƒ¢ãƒ¼ãƒ‰ã§ã¯ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。無効ãªã‚ªãƒ—ã‚·\n"
+" ョンを見ã¤ã‘ãŸæ™‚〠getopts ã¯ã‚ªãƒ—ションã®æ–‡å­—ã‚’ OPTARG ã«è¨­å®šã—ã¾\n"
+" ã™ã€‚å¿…è¦ãªã‚ªãƒ—ション引数ãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯ã€getopts 㯠NAME ã«\n"
+" ':' を設定ã—ã€OPTARG ã«ã‚ªãƒ—ションã®æ–‡å­—を設定ã—ã¾ã™ã€‚getopts ãŒ\n"
+" サイレントモードã§ç„¡ã„å ´åˆã€ç„¡åŠ¹ãªã‚ªãƒ—ションを見ã¤ã‘ãŸæ™‚ã€getopts \n"
+" 㯠NAME ã« '?' を設定ã—ã€OPTARG を未定義状態ã«ã—ã¾ã™ã€‚ãã—ã¦\n"
+" 診断メッセージを表示ã—ã¾ã™ã€‚\n"
+" \n"
+" シェル変数 OPTERR ã®å€¤ãŒ 0 ã®å ´åˆã€getopts 㯠OPTSTRING ã®æœ€åˆãŒ\n"
+" コロン (:) ã‹å¦ã‹ã«ã‹ã‹ã‚らãšã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®è¡¨ç¤ºã‚’抑止ã—ã¾ã™ã€‚\n"
+" OPTERR ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¯ 1 ã§ã™ã€‚\n"
+" \n"
+" getopts ã§ã¯é€šå¸¸ä½ç½®ãƒ‘ラメーター ($0 - $9) を解æžã—ã¾ã™ã€‚ã—ã‹ã—\n"
+" ä»–ã®å¼•æ•°ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€ãれらãŒè§£æžã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" オプションãŒè¦‹ã¤ã‹ã£ãŸå ´åˆã«æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚オプションã®çµ‚ã‚ã‚Š\n"
+" ã«åˆ°é”ã™ã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸæ™‚ã«å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2727,16 +3065,39 @@ msgid ""
" Returns success unless COMMAND is not found or a redirection error "
"occurs."
msgstr ""
+"シェルを与ãˆã‚‰ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã§ç½®æ›ã—ã¾ã™ã€‚\n"
+" \n"
+" 指定ã—ãŸãƒ—ログラムã§ã‚·ã‚§ãƒ«ã‚’ç½®æ›ã—㦠COMMAND を実行ã—ã¾ã™ã€‚ARGUMENTS ã¯\n"
+" COMMAND ã®å¼•æ•°ã¨ãªã‚Šã¾ã™ã€‚ã‚‚ã— COMMAND ãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã¯ã€ç¾åœ¨ã®ã‚·ã‚§"
+"ル\n"
+" ã«å¯¾ã™ã‚‹å…¨ã¦ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆãŒè¡Œã‚ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a name\tNAME ã‚’ COMMAND ã® 0 番目ã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆã¾ã™\n"
+" -c\t\tCOMMAND を環境変数ãªã—ã§å®Ÿè¡Œã—ã¾ã™\n"
+" -l\t\tdash(-) ã‚’ COMMAND ã® 0 番目ã®å¼•æ•°ã¨ã—ã¾ã™\n"
+" \n"
+" ã‚‚ã—コマンドãŒå®Ÿè¡Œã§ããªã„å ´åˆã€éžå¯¾è©±çš„ãªã‚·ã‚§ãƒ«ã¯çµ‚了ã—ã€å¯¾è©±çš„ãªã‚·ã‚§ãƒ«"
+"ã¯\n"
+" オプション `execfail' ãŒè¨­å®šã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" COMMAND ãŒè¦‹ã¤ã‹ã‚‰ãªã„ã‹ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾"
+"ã™ã€‚"
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
" Exits the shell with a status of N. If N is omitted, the exit status\n"
" is that of the last command executed."
msgstr ""
+"シェルを終了ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス N ã§ã‚·ã‚§ãƒ«ã‚’終了ã—ã¾ã™ã€‚ N を指定ã—ãªã„å ´åˆã¯\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータスã«ãªã‚Šã¾ã™ã€‚"
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2744,8 +3105,13 @@ msgid ""
"executed\n"
" in a login shell."
msgstr ""
+"ログインシェルを終了ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス N ã§ãƒ­ã‚°ã‚¤ãƒ³ã‚·ã‚§ãƒ«ã‚’終了ã—ã¾ã™ã€‚実行ã—ãŸã®ãŒãƒ­ã‚°ã‚¤ãƒ³ã‚·ã‚§"
+"ル\n"
+" 内ã§ç„¡ã„å ´åˆã¯ã‚¨ãƒ©ãƒ¼ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2774,8 +3140,38 @@ msgid ""
" Returns success or status of executed command; non-zero if an error "
"occurs."
msgstr ""
-
-#: builtins.c:738
+"ヒストリ一覧ã‹ã‚‰ã‚³ãƒžãƒ³ãƒ‰ã‚’表示ã¾ãŸã¯å®Ÿè¡Œã—ã¾ã™ã€‚\n"
+" \n"
+" fc ã¯ãƒ’ストリ一覧を表示ã¾ãŸã¯ç·¨é›†ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’å†å®Ÿè¡Œã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾"
+"ã™ã€‚\n"
+" FIRST ãŠã‚ˆã³ LAST ã¯ç¯„囲を指定ã™ã‚‹æ•°å€¤ã§ã™ã€‚FIRST ã¯æ–‡å­—列を指定ã™ã‚‹ã“ã¨"
+"ã‚‚\n"
+" ã§ãã¾ã™ã€‚ãã®å ´åˆã¯ãã®æ–‡å­—列ã§å§‹ã¾ã‚‹ç›´è¿‘ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã‚’表ã—ã¾"
+"ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -e ENAME\t使用ã™ã‚‹ã‚¨ãƒ‡ã‚£ã‚¿ã‚’é¸æŠžã—ã¾ã™ã€‚デフォルト㯠FCEDIT ã§ã€æ¬¡ã¯ "
+"EDITORã€\n"
+" \t\tãã—㦠vi ã®é †ã§ã™ã€‚\n"
+" -l \t編集ã§ã¯ãªã行を一覧表示ã—ã¾ã™\n"
+" -n\t一覧表示時ã«è¡Œç•ªå·ã‚’表示ã—ã¾ã›ã‚“\n"
+" -r\t行を逆順ã«ã—ã¾ã™ (最新ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’最åˆã«ã™ã‚‹)\n"
+" \n"
+" `fc -s [pat=rep ...] [command]' å½¢å¼ã‚’使用ã™ã‚‹ã¨ã€COMMAND ã¯\n"
+" OLD=NEW ã®ç½®æ›ãŒè¡Œã‚ã‚ŒãŸå¾Œã«å†å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" ã“れを使ã£ãŸä½¿ã„ã‚„ã™ã„エイリアス㯠r='fc -s' ã§ã™ã€‚ã“れ㧠`r cc' を実行ã™"
+"ã‚‹\n"
+" ã¨æœ€å¾Œã«å®Ÿè¡Œã—㟠cc ã§å§‹ã¾ã‚‹ã‚³ãƒžãƒ³ãƒ‰ãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚`r' ã§ç›´å‰ã®ã‚³ãƒžãƒ³ãƒ‰"
+"ãŒ\n"
+" 実行ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 実行ã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¾ãŸã¯æˆåŠŸãŒå¸°ã‚Šã¾ã™ã€‚エラーãŒç™ºç”Ÿã—ãŸå ´åˆã¯ "
+"0 \n"
+" 以外ã®å€¤ã«ãªã‚Šã¾ã™ã€‚"
+
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2786,8 +3182,21 @@ msgid ""
" Exit Status:\n"
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
+"ジョブをフォアグランドã«ã—ã¾ã™ã€‚\n"
+" \n"
+" JOB_SPEC ã§è­˜åˆ¥ã•ã‚ŒãŸã‚¸ãƒ§ãƒ–をフォアグランドã«ã—ã¦ã€ç¾åœ¨ã®ã‚¸ãƒ§ãƒ–ã«ã—ã¾"
+"ã™ã€‚\n"
+" ã‚‚ã— JOB_SPEC ãŒå­˜åœ¨ã—ãªã„å ´åˆã€ã‚·ã‚§ãƒ«ãŒç¾åœ¨ã®ãƒ¬ãƒ³ãƒˆã‚¸ãƒ§ãƒ–ã¨ã—ã¦è€ƒãˆã¦ã„"
+"ã‚‹\n"
+" ã‚‚ã®ãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" \n"
+" 終了ステータス:\n"
+" フォアグラウンドã«ãªã£ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚ã¾ãŸã¯ã€ã‚¨ãƒ©ãƒ¼"
+"ãŒ\n"
+" 発生ã—ãŸæ™‚ã«å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2800,8 +3209,18 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"ジョブをãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" JOB_SPEC ã§è­˜åˆ¥ã•ã‚Œã‚‹ã‚¸ãƒ§ãƒ–ã‚’ `&' ã¨å…±ã«å§‹ã‚ãŸæ™‚ã®ã‚ˆã†ã«ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰"
+"ã«\n"
+" ã—ã¾ã™ã€‚ã‚‚ã— JOB_SPEC ãŒå­˜åœ¨ã—ãªã„å ´åˆã€ã‚·ã‚§ãƒ«ãŒç¾åœ¨ã®ã‚¸ãƒ§ãƒ–ã¨ã—ã¦è€ƒãˆã¦"
+"ã„\n"
+" ã‚‹ã‚‚ã®ãŒåˆ©ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" ジョブ制御ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ãªã„ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2824,8 +3243,27 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
+"プログラムã®ä½ç½®ã‚’記憶ã¾ãŸã¯è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" å„コマンド NAME ã®ãƒ•ãƒ«ãƒ‘スを決定ã—記憶ã—ã¾ã™ã€‚ã‚‚ã—引数ãŒä¸Žãˆã‚‰ã‚Œãªã‹ã£ãŸ"
+"å ´åˆã€\n"
+" 記憶ã—ã¦ã„るコマンドã®æƒ…å ±ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -d\t\tå„ NAME ã«å¯¾ã—ã¦è¨˜æ†¶ã—ã¦ã„る情報を消去ã—ã¾ã™\n"
+" -l\t\t入力ã¨ã—ã¦å†å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -p pathname\tNAME ã®ãƒ•ãƒ«ãƒ‘スåã¨ã—㦠PATHNAME を使用ã—ã¾ã™\n"
+" -r\t\tå…¨ã¦ã®è¨˜æ†¶ã—ã¦ã„ã‚‹ä½ç½®æƒ…報を消去ã—ã¾ã™\n"
+" -t\t\tå„ NAME ã«å¯¾ã—ã¦è¨˜æ†¶ã—ã¦ã„ã‚‹ä½ç½®ã‚’表示ã—ã¾ã™ã€‚複数㮠NAME\n"
+" \t\tãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€ä½ç½®ã‚’表示ã™ã‚‹å‰ã«å¯¾è±¡ã¨ãªã‚‹ NAME を表示ã—ã¾ã™ã€‚\n"
+" 引数:\n"
+" NAME\t\tå„ NAME 㯠$PATH ã®ä¸­ã‚’探索ã•ã‚Œã€è¨˜éŒ²ã•ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ä¸€è¦§ã«\n"
+" \t\t追加ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" NAME ãŒè¦‹ã¤ã‹ã‚‰ãªã„ã‹ã€ç„¡åŠ¹ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2846,8 +3284,26 @@ msgid ""
" Returns success unless PATTERN is not found or an invalid option is "
"given."
msgstr ""
+"組ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã®æƒ…報を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" 組ã¿è¾¼ã¿ã‚³ãƒžãƒ³ãƒ‰ã«é–¢ã™ã‚‹ç°¡æ½”ãªè¦ç´„を表示ã—ã¾ã™ã€‚ã‚‚ã— PATTERN ãŒ\n"
+" 指定ã•ã‚ŒãŸå ´åˆã¯ã€PATTERN ã«ä¸€è‡´ã™ã‚‹å…¨ã¦ã®ã‚³ãƒžãƒ³ãƒ‰ã«å¯¾ã™ã‚‹è©³ç´°ãª\n"
+" ヘルプを表示ã—ã¾ã™ã€‚ãれ以外ã¯ãƒ˜ãƒ«ãƒ—トピックを表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -d\tå„ヘルプトピックã«å¯¾ã—ã¦çŸ­ã„説明を出力ã—ã¾ã™\n"
+" -m\t使用法を擬似的㪠man ページ形å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -s\t一致ã—ãŸå„トピックã«å¯¾ã—ã¦ç°¡å˜ãªä½¿ç”¨æ³•ã®ã¿ã‚’表示ã—ã¾ã™\n"
+" \tPATTERN\n"
+" \n"
+" 引数:\n"
+" PATTERN\tヘルプトピックを指定ã™ã‚‹ãƒ‘ターン\n"
+" \n"
+" 終了ステータス:\n"
+" PATTERN ãŒè¦‹ã¤ã‹ã‚‰ãªã„ã‹ç„¡åŠ¹ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾"
+"ã™ã€‚"
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2880,8 +3336,40 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"ヒストリ一覧を表示ã¾ãŸã¯æ“作ã—ã¾ã™ã€‚\n"
+" \n"
+" 行番å·ã‚’ã¤ã‘ã¦ãƒ’ストリを表示ã—ã¾ã™ã€‚æ“作ã—ãŸå„é …ç›®ã«ã¯å‰ã«`*'ãŒä»˜ãã¾"
+"ã™ã€‚\n"
+" 引数 N ãŒã‚ã‚‹å ´åˆã¯æœ€å¾Œã® N 個ã®é …ç›®ã®ã¿ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -c\tヒストリ一覧ã‹ã‚‰å…¨ã¦ã®é …目を削除ã—ã¾ã™ã€‚\n"
+" -d offset\tOFFSET 番目ã®ãƒ’ストリ項目を削除ã—ã¾ã™ã€‚\n"
+" \n"
+" -a\tã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰ãƒ’ストリファイルã«è¡Œã‚’追加ã—ã¾ã™\n"
+" -n\tヒストリファイルã‹ã‚‰ã¾ã èª­ã¿è¾¼ã¾ã‚Œã¦ã„ãªã„行を全ã¦èª­ã¿è¾¼ã¿ã¾ã™\n"
+" -r\tヒストリファイルを読ã¿è¾¼ã¿ã€å†…容をヒストリ一覧ã«è¿½åŠ ã—ã¾ã™\n"
+" -w\tç¾åœ¨ã®ãƒ’ストリをヒストリファイルã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ãã—ã¦ãれらを\n"
+" \tヒストリ一覧ã«è¿½åŠ ã—ã¾ã™\n"
+" \n"
+" -p\tå„ ARG ã«å¯¾ã—ã¦ãƒ’ストリ展開を実行ã—ã€çµæžœã‚’ヒストリ一覧ã«è¿½åŠ ã—\n"
+" \tã—ãªã„ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -s\tARG ã‚’å˜ä¸€ã®é …ç›®ã¨ã—ã¦ãƒ’ストリ一覧ã«è¿½åŠ ã—ã¾ã™\n"
+" \n"
+" FILENAME を与ãˆãŸå ´åˆã€FILENAME ãŒãƒ’ストリファイルをã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ã"
+"ã‚ŒãŒ\n"
+" ç„¡ãã€$HISTFILE ã«å€¤ãŒã‚ã‚‹å ´åˆãã®å€¤ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ãã†ã§ãªã‘れ㰠\n"
+" ~/.bash_history ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+"\n"
+" ã‚‚ã— $HISTTIMEFORMAT 変数ãŒè¨­å®šã•ã‚Œã€NULL ã§ç„¡ã‘ã‚Œã°ã€strftime(3) ã®æ›¸"
+"å¼\n"
+" 文字列ã¨ã—ã¦å„ヒストリ項目ã®æ™‚刻を表示ã™ã‚‹éš›ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚ãれ以外ã¯\n"
+" 時刻ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“。\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2904,8 +3392,30 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs.\n"
" If -x is used, returns the exit status of COMMAND."
msgstr ""
+"ジョブã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" アクティブãªã‚¸ãƒ§ãƒ–を一覧表示ã—ã¾ã™ã€‚JOBSPEC ã¯ã‚¸ãƒ§ãƒ–ã®å‡ºåŠ›ã‚’制é™ã—ã¾"
+"ã™ã€‚\n"
+" オプションãŒãªã„å ´åˆå…¨ã¦ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªã‚¸ãƒ§ãƒ–ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãŒè¡¨ç¤ºã•ã‚Œã¾"
+"ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -l\t通常ã®æƒ…å ±ã«åŠ ãˆã¦ãƒ—ロセスIDを一覧表示ã—ã¾ã™\n"
+" -n\t最後ã®é€šçŸ¥ã‹ã‚‰ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãŒå¤‰æ›´ã«ãªã£ãŸãƒ—ロセスã®ã¿ä¸€è¦§è¡¨ç¤º\n"
+" \tã—ã¾ã™\n"
+" -p\tプロセスIDã®ã¿ã‚’一覧表示ã—ã¾ã™\n"
+" -r\t実行中ã®ã‚¸ãƒ§ãƒ–ã®å‡ºåŠ›ã‚’制é™ã—ã¾ã™\n"
+" -s\tåœæ­¢ä¸­ã®ã‚¸ãƒ§ãƒ–ã®å‡ºåŠ›ã‚’制é™ã—ã¾ã™\n"
+" \n"
+" If -x is supplied, COMMAND is run after all job specifications that\n"
+" appear in ARGS have been replaced with the process ID of that job's\n"
+" process group leader.\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚\n"
+" ã‚‚ã— -x ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€COMMAND ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚"
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2921,8 +3431,23 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
+"ç¾åœ¨ã®ã‚·ã‚§ãƒ«ã‹ã‚‰ã‚¸ãƒ§ãƒ–を削除ã—ã¾ã™ã€‚\n"
+" \n"
+" アクティブãªã‚¸ãƒ§ãƒ–ã®ãƒ†ãƒ¼ãƒ–ルã‹ã‚‰å„引数㮠JOBSPEC を削除ã—ã¾ã™ã€‚JOBSPEC ãŒ"
+"指定\n"
+" ã•ã‚Œãªã„å ´åˆã€ã‚·ã‚§ãƒ«ãŒç¾åœ¨ã®ã‚¸ãƒ§ãƒ–ã¨è€ƒãˆã¦ã„る物ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a\tJOBSPEC ãŒä¸Žãˆã‚‰ã‚Œãªã„時ã«å…¨ã¦ã®ã‚¸ãƒ§ãƒ–を削除ã—ã¾ã™\n"
+" -h\tシェル㌠SIGHUP ã‚’å—ã‘å–ã£ãŸæ™‚ã«å„ JOBSPEC ã®ã‚¸ãƒ§ãƒ–ã«å¯¾ã—㦠"
+"SIGHUP \n"
+" \tãŒé€ã‚‰ã‚Œãªã„よã†ã«ãƒžãƒ¼ã‚¯ã—ã¾ã™\n"
+" -r\t実行中ã®ã‚¸ãƒ§ãƒ–ã®ã¿å‰Šé™¤ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ション㋠JOBSPEC ãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2943,8 +3468,31 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
+"ジョブã«ã‚·ã‚°ãƒŠãƒ«ã‚’é€ã‚Šã¾ã™ã€‚\n"
+" \n"
+" PID ã¾ãŸã¯ JOBSPEC ã§è­˜åˆ¥ã•ã‚Œã‚‹ãƒ—ロセス㫠SIGSPEC ã¾ãŸã¯ SIGNUM ã§å付ã‘"
+"ら\n"
+" れるシグナルをé€ã‚Šã¾ã™ã€‚ã‚‚ã— SIGSPEC ã‚‚ SIGNUM も指定ã•ã‚Œãªã„å ´åˆã€"
+"SIGTERM\n"
+" ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -s sig\tSIG ã¯ã‚·ã‚°ãƒŠãƒ«åã§ã™\n"
+" -n sig\tSIG ã¯ã‚·ã‚°ãƒŠãƒ«ç•ªå·ã§ã™\n"
+" -l\tシグナルåを一覧表示ã—ã¾ã™ã€‚-l ã®å¾Œã«å¼•æ•°ãŒç¶šã„ãŸå ´åˆã€\n"
+" \tãれらã¯ä¸€è¦§è¡¨ç¤ºã•ã‚Œã‚‹ã¹ãシグナル番å·ã§ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã¾ã™\n"
+" \n"
+" Kill ã¯æ¬¡ã®2ã¤ã®ç†ç”±ã‹ã‚‰ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿é–¢æ•°ã§ã™ã€‚一ã¤ã¯ãƒ—ロセスIDã®ä»£ã‚ã‚Š"
+"ã«\n"
+" ジョブIDを使用ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚ã‚‚ã†ä¸€ã¤ã¯ä½œæˆã—ãŸãƒ—ロセスãŒåˆ¶é™"
+"ã«\n"
+" é”ã—ãŸæ™‚ã«ãƒ—ロセスを kill ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2986,10 +3534,53 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
-msgstr ""
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
+msgstr ""
+"æ•°å¼è¡¨ç¾ã‚’評価ã—ã¾ã™ã€‚\n"
+" \n"
+" ARG ã‚’æ•°å¼è¡¨ç¾ã¨ã—ã¦è©•ä¾¡ã—ã¾ã™ã€‚評価ã¯å›ºå®šé•·ã®æ•´æ•°ã¨ã—ã¦è©•ä¾¡ã•ã‚Œã€æ¡æº¢ã‚Œ"
+"ã¯\n"
+" 確èªã•ã‚Œã¾ã›ã‚“。ã—ã‹ã—ã€0 ã§å‰²ã‚Šç®—ã‚’ã—ãŸå ´åˆã¯æ•æ‰ã•ã‚Œã‚¨ãƒ©ãƒ¼ã¨ã—ã¦ãƒ•ãƒ©ã‚°"
+"ãŒ\n"
+" ç«‹ã¡ã¾ã™ã€‚下記ã®æ¼”ç®—å­ä¸€è¦§ã¯åŒä¸€å„ªå…ˆé †ä½ã®æ¼”ç®—å­æ¯Žã«ã‚°ãƒ«ãƒ¼ãƒ—化ã•ã‚Œã¦ã„ã¾"
+"ã™ã€‚\n"
+" 優先順ä½ã¯é™é †ã«ãªã£ã¦ã„ã¾ã™ã€‚\n"
+" \n"
+" \tid++, id--\t変数ã®å¾Œç½®ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã€ãƒ‡ã‚¯ãƒªãƒ¡ãƒ³ãƒˆ\n"
+" \t++id, --id\t変数ã®å‰ç½®ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã€ãƒ‡ã‚¯ãƒªãƒ¡ãƒ³ãƒˆ\n"
+" \t-, +\t\tå˜é …マイナスã€ãƒ—ラス\n"
+" \t!, ~\t\tè«–ç†ãŠã‚ˆã³ãƒ“ットå¦å®š\n"
+" \t**\t\t指数演算\n"
+" \t*, /, %\t\tä¹—ç®—ã€é™¤ç®—ã€å‰°ä½™æ¼”ç®—\n"
+" \t+, -\t\t加算ã€æ¸›ç®—\n"
+" \t<<, >>\t\tå·¦ãŠã‚ˆã³å³ãƒ“ットシフト\n"
+" \t<=, >=, <, >\t比較\n"
+" \t==, !=\t\t等価ã€ä¸ç­‰ä¾¡\n"
+" \t&\t\tビット論ç†ç©\n"
+" \t^\t\tビット排他的論ç†å’Œ\n"
+" \t|\t\tビット論ç†å’Œ\n"
+" \t&&\t\tè«–ç†ç©\n"
+" \t||\t\tè«–ç†å’Œ\n"
+" \texpr ? expr : expr\n"
+" \t\t\tæ¡ä»¶æ¼”ç®—å­\n"
+" \t=, *=, /=, %=,\n"
+" \t+=, -=, <<=, >>=,\n"
+" \t&=, ^=, |=\t値ã®å‰²å½“\n"
+" \n"
+" シェル変数ã¯ã‚ªãƒšãƒ©ãƒ³ãƒ‰ã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚変数åã¯æ•°å¼å†…㧠(強制的ã«\n"
+" 固定長整数ã®) 値ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚変数ã¯æ•°å¼å†…ã§ä½¿ç”¨ã™ã‚‹æ™‚ã«ã¯å¿…ãšã—"
+"ã‚‚\n"
+" 整数属性をæŒã£ã¦ã„ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。\n"
+" \n"
+" 演算å­ã¯å„ªå…ˆé †ä½ã®é †ã«è©•ä¾¡ã•ã‚Œã¾ã™ã€‚å°æ‹¬å¼§ã§ããられãŸæ•°å¼ã¯å…ˆã«è©•ä¾¡ã•"
+"ã‚Œã€\n"
+" 上記ã®å„ªå…ˆé †ä½ã‚’上書ãã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。\n"
+" \n"
+" 終了ステータス:\n"
+" ARG ã®è©•ä¾¡å€¤ãŒ 0 ã®å ´åˆ let 㯠1 ã‚’è¿”ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ let 㯠0 ã‚’"
+"è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3036,8 +3627,53 @@ msgid ""
"out,\n"
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-
-#: builtins.c:1009
+"標準入力ã‹ã‚‰ä¸€è¡Œèª­ã¿è¾¼ã¿ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰æ¯Žã«åˆ†å‰²ã—ã¾ã™ã€‚\n"
+" \n"
+" 標準入力ã‹ã‚‰ä¸€è¡Œèª­ã¿è¾¼ã¿ã¾ã™ã€‚ã¾ãŸã¯ -u ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ãƒ•ã‚¡ã‚¤ãƒ«è¨˜"
+"è¿°å­\n"
+" FD ã‹ã‚‰èª­ã¿è¾¼ã¿ã¾ã™ã€‚è¡Œã¯å˜èªžåˆ†å‰²ã«ã‚ˆã£ã¦ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«åˆ†å‰²ã•ã‚Œã€æœ€åˆã®å˜èªž"
+"ãŒ\n"
+" 最åˆã® NAME ã«ã€2番目ã®å˜èªžãŒ2番目㫠NAME ã«ã¨ã„ã†é †ã§å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚"
+"残ã£\n"
+" ãŸå˜èªžã¯å…¨ã¦æœ€å¾Œã® NAME ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚変数 $IFS ã«è¨­å®šã•ã‚ŒãŸæ–‡å­—ã®"
+"ã¿ãŒ\n"
+" å˜èªžã®åŒºåˆ‡ã‚Šã¨ã—ã¦èªè­˜ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" ã‚‚ã— NAME を指定ã—ãªã‹ã£ãŸå ´åˆã€è¡Œã¯ REPLY 変数ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a array\t読ã¿è¾¼ã‚“ã å˜èªžã‚’インデックス型é…列 ARRAY ã«é †ç•ªã«å‰²ã‚Šå½“ã¦ã¾"
+"ã™ã€‚\n"
+" \t\t開始番å·ã¯ 0 ã§ã™ã€‚\n"
+" -d delim\t改行ã§ã¯ãªã文字 DELIM ãŒæœ€åˆã«ç¾ã‚Œã‚‹ã¾ã§èª­ã¿è¾¼ã¿ã‚’続ã‘ã¾ã™\n"
+" -e\t\t対話的シェルã§è¡Œã‚’å¾—ã‚‹ã®ã« Readline を使用ã—ã¾ã™\n"
+" -i text\tReadline ã®åˆæœŸãƒ†ã‚­ã‚¹ãƒˆã¨ã—㦠TEXT を使用ã—ã¾ã™\n"
+" -n nchars\t改行ãŒç„¡ãã¦ã‚‚文字数 NCHARS を読ã¿è¾¼ã‚“ã ã‚‰å¾©å¸°ã—ã¾ã™ã€‚"
+"NCHARS\n"
+" \t\tよりå‰ã«åŒºåˆ‡ã‚Šæ–‡å­— (DELIMITER) ãŒç¾ã‚ŒãŸå ´åˆã¯åŒºåˆ‡ã‚Šæ–‡å­—ãŒ\n"
+" \t\t優先ã•ã‚Œã¾ã™\n"
+" -N nchars\t厳密ã«æ–‡å­—æ•° NCHARS を読ã¿è¾¼ã¿å¾©å¸°ã—ã¾ã™ã€‚ãŸã ã—ã€ãƒ•ã‚¡ã‚¤ãƒ«"
+"終\n"
+" \t\t了(EOF) ã«ãªã‚‹ã‹èª­ã¿è¾¼ã¿ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆãŒç™ºç”Ÿã—ãŸå ´åˆã¯é™¤ãã¾ã™ã€‚\n"
+" \t\t区切り文字 (DELIMITER) ã¯ç„¡è¦–ã•ã‚Œã¾ã™\n"
+" -p prompt\t読ã¿è¾¼ã¿å‰ã«æ–‡å­—列 PROMPT を後ã‚ã«æ”¹è¡Œã‚’付ã‘ãªã„ã§è¡¨ç¤ºã—ã¾"
+"ã™\n"
+" -r\t\tãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹ã§æ–‡å­—をエスケープã™ã‚‹ã“ã¨ã‚’ç¦æ­¢ã—ã¾ã™\n"
+" -s\t\t端末ã‹ã‚‰èª­ã¿è¾¼ã¾ã‚Œã‚‹æ–‡å­—をエコーãƒãƒƒã‚¯ã—ã¾ã›ã‚“\n"
+" -t timeout\tTIMEOUT 秒以内ã«å…¥åŠ›è¡ŒãŒå®Œå…¨ã«èª­ã¿è¾¼ã¾ã‚Œãªã‹ã£ãŸå ´åˆ\n"
+" \t\tタイムアウトを発生ã•ã›å¤±æ•—ã¨ã—ã¦å¾©å¸°ã—ã¾ã™ã€‚TMOUT 変数ã®å€¤ãŒ\n"
+" \t\tデフォルトã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã§ã™ã€‚TIMEOUT ã‚’å°æ•°ã«ã™ã‚‹ã“ã¨ã‚‚ã§ã\n"
+" \t\tã¾ã™ã€‚ã‚‚ã— TIMEOUT ㌠0 ã®å ´åˆã€æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã‹ã‚‰ã®\n"
+" \t\t入力ãŒä½¿ç”¨å¯èƒ½ãªå ´åˆã«ã®ã¿èª­ã¿è¾¼ã¿ã€æˆåŠŸè¿”ã—ã¾ã™ã€‚タイムアウ\n"
+" \t\tト発生時ã®çµ‚了ステータスã¯128より大ãããªã‚Šã¾ã™\n"
+" -u fd\t\t読ã¿è¾¼ã¿ã«æ¨™æº–入力ã§ã¯ãªããƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ FD を使用ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" ファイル終了(EOF)ã€èª­ã¿è¾¼ã¿ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã€-u ã«ç„¡åŠ¹ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ãŒä¸Ž"
+"ãˆ\n"
+" られãŸå ´åˆã‚’除ã0ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3048,8 +3684,21 @@ msgid ""
" Exit Status:\n"
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
+"シェル関数ã‹ã‚‰å¾©å¸°ã—ã¾ã™ã€‚\n"
+" \n"
+" N ã§æŒ‡å®šã—ãŸå€¤ã‚’戻り値ã¨ã—ã¦é–¢æ•°ã¾ãŸã¯ source ã•ã‚ŒãŸã‚¹ã‚¯ãƒªãƒ—トを終了ã—ã¾"
+"ã™ã€‚\n"
+" N ãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€é–¢æ•°ã¾ãŸã¯ã‚¹ã‚¯ãƒªãƒ—トã§æœ€å¾Œã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®æˆ»ã‚Š"
+"値\n"
+" ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 戻り値 Nã€ã¾ãŸã¯ã‚·ã‚§ãƒ«ãŒé–¢æ•°ã¾ãŸã¯ã‚¹ã‚¯ãƒªãƒ—トを実行ã—ã¦ã„ãªã„å ´åˆã¯å¤±æ•—"
+"ã‚’\n"
+" è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3118,6 +3767,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3130,8 +3782,86 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given."
msgstr ""
+"シェルオプションやä½ç½®ãƒ‘ラメーターã®å€¤ã‚’設定・消去ã—ã¾ã™\n"
+" \n"
+" シェル属性やä½ç½®ãƒ‘ラメーターã®å€¤ã‚’変更ã€ã¾ãŸã¯ã‚·ã‚§ãƒ«å¤‰æ•°ã®åå‰ã¨å€¤\n"
+" を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a 変数を変更ã¾ãŸã¯å¤‰æ›´ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«ãƒžãƒ¼ã‚¯ã—ã¾ã™ã€‚\n"
+" -b ジョブ終了をå³æ™‚通知ã—ã¾ã™ã€‚\n"
+" -e コマンドã®çµ‚了ステータス㌠0 以外ã®å ´åˆã¯å³æ™‚終了ã—ã¾ã™ã€‚ \n"
+" -f ファイルåç”Ÿæˆ (globbing) を無効ã«ã—ã¾ã™ã€‚\n"
+" -h 検索ã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ä½ç½®ã‚’記憶ã—ã¾ã™ã€‚\n"
+" -k All assignment arguments are placed in the environment for a\n"
+" command, not just those that precede the command name.\n"
+" -m ジョブ制御を有効ã«ã—ã¾ã™ã€‚\n"
+" -n コマンドを読ã¿è¾¼ã¿ã¾ã™ãŒå®Ÿè¡Œã—ã¾ã›ã‚“。\n"
+" -o option-name\n"
+" option-name ã«å¯¾å¿œã—ãŸå¤‰æ•°ã‚’設定ã—ã¾ã™:\n"
+" allexport -a ã¨åŒæ§˜\n"
+" braceexpand -B ã¨åŒæ§˜\n"
+" emacs emacs スタイルã®è¡Œç·¨é›†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’使用\n"
+" errexit -e ã¨åŒæ§˜\n"
+" errtrace -E ã¨åŒæ§˜\n"
+" functrace -T ã¨åŒæ§˜\n"
+" hashall -h ã¨åŒæ§˜\n"
+" histexpand -H ã¨åŒæ§˜\n"
+" history コマンドヒストリを有効ã«ã™ã‚‹\n"
+" ignoreeof ファイル終了 (EOF) 読ã¿è¾¼ã¿æ™‚ã«ã‚·ã‚§ãƒ«ã‚’終了\n"
+" ã—ãªã„\n"
+" interactive-comments\n"
+" 対話コマンドã§ã‚³ãƒ¡ãƒ³ãƒˆã®ä½¿ç”¨ã‚’許å¯ã™ã‚‹\n"
+" keyword -k ã¨åŒæ§˜\n"
+" monitor -m ã¨åŒæ§˜\n"
+" noclobber -C ã¨åŒæ§˜\n"
+" noexec -n ã¨åŒæ§˜\n"
+" noglob -f ã¨åŒæ§˜\n"
+" nolog å—ã‘付ã‘られるãŒç„¡è¦–ã•ã‚Œã‚‹\n"
+" notify -b ã¨åŒæ§˜\n"
+" nounset -u ã¨åŒæ§˜\n"
+" onecmd -t ã¨åŒæ§˜\n"
+" physical -P ã¨åŒæ§˜\n"
+" pipefail パイプラインã®æˆ»ã‚Šå€¤ã‚’最後㫠0 以外ã§çµ‚了ã—ãŸã‚³"
+"マ\n"
+" ンドã®çµ‚了ステータスã«ã™ã‚‹ã€‚0 以外ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã§\n"
+" 終了ã—ãŸã‚³ãƒžãƒ³ãƒ‰ãŒç„¡ã„å ´åˆã«ã¯ 0 ã«ã™ã‚‹ã€‚\n"
+" posix Posix 標準ã¨ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå‹•ä½œãŒç•°ãªã‚‹ bash ã®å‹•ä½œã‚’\n"
+" Posix ã¨ä¸€è‡´ã™ã‚‹ã‚ˆã†ã«ã™ã‚‹\n"
+" privileged -p ã¨åŒæ§˜\n"
+" verbose -v ã¨åŒæ§˜\n"
+" vi vi スタイルã®è¡Œç·¨é›†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’使用\n"
+" xtrace -x ã¨åŒæ§˜\n"
+" -p 実 uid ã¨å®ŸåŠ¹ uid ãŒç•°ãªã‚‹æ™‚ã«å¸¸ã«ã‚ªãƒ³ã«ãªã‚Šã¾ã™ã€‚$ENV ファイル\n"
+" ã®å‡¦ç†ãŠã‚ˆã³ã‚·ã‚§ãƒ«é–¢æ•°ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆãŒç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚ã“ã®ã‚ªãƒ—ショ\n"
+" ンをオフã«ã™ã‚‹ã¨å®ŸåŠ¹ uid, gid ãŒå®Ÿ uid, gid ã¨åŒã˜ã«è¨­å®šã•ã‚Œã¾"
+"ã™ã€‚\n"
+" -t 一ã¤ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’読ã¿è¾¼ã¿ã€å®Ÿè¡Œã—ãŸå¾Œã«çµ‚了ã—ã¾ã™ã€‚\n"
+" -u 代入時ã«å¤‰æ•°ã‚’未設定ã«ã™ã‚‹ã¨ã‚¨ãƒ©ãƒ¼ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚\n"
+" -v シェルã®å…¥åŠ›è¡Œã‚’読ã¿è¾¼ã‚“ã ã¨ãŠã‚Šã«è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" -x 実行ã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ã¨å¼•æ•°ã‚’ãã®é€šã‚Šã«è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" -B 中括弧ã®å±•é–‹ã‚’シェルã§è¡Œã„ã¾ã™ã€‚\n"
+" -C 設定ã—ãŸå ´åˆã€ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã§æ—¢å­˜ã®é€šå¸¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’上書ãã™ã‚‹ã“ã¨ã‚’\n"
+" ç¦æ­¢ã—ã¾ã™ã€‚\n"
+" -E 設定ã—ãŸå ´åˆ ERR トラップãŒã‚·ã‚§ãƒ«é–¢æ•°ã«ç¶™æ‰¿ã•ã‚Œã¾ã™ã€‚\n"
+" -H ! スタイルã®ãƒ’ストリ置æ›ã‚’有効ã«ã—ã¾ã™ã€‚ã“ã®ãƒ•ãƒ©ã‚°ã¯å¯¾è©±çš„シェル\n"
+" ã§ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã‚ªãƒ³ã«ãªã£ã¦ã„ã¾ã™ã€‚\n"
+" -P 設定ã—ãŸå ´åˆã€ cd ãªã©ã®ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’変更ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’\n"
+" 実行ã—ãŸæ™‚ã«ã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã‚’辿りã¾ã›ã‚“。\n"
+" -T 設定ã—ãŸå ´åˆã€ DEBUG トラップãŒã‚·ã‚§ãƒ«é–¢æ•°ã«ç¶™æ‰¿ã•ã‚Œã¾ã™ã€‚\n"
+" - ã“れ以é™ã®å¼•æ•°ã‚’ä½ç½®ãƒ‘ラメーターã¨ã—ã¦å‰²ã‚Šå½“ã¦ã¾ã™ã€‚-x 㨠-v \n"
+" オプションã¯ã‚ªãƒ•ã«ãªã‚Šã¾ã™ã€‚\n"
+" \n"
+" Using + rather than - causes these flags to be turned off. The\n"
+" flags can also be used upon invocation of the shell. The current\n"
+" set of flags may be found in $-. The remaining n ARGs are positional\n"
+" parameters and are assigned, in order, to $1, $2, .. $n. If no\n"
+" ARGs are given, all shell variables are printed.\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3150,8 +3880,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
+"シェル変数ãŠã‚ˆã³é–¢æ•°ã®å€¤ãƒ»å±žæ€§ã‚’消去ã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAMEã«å¯¾ã—ã¦é–¢é€£ã™ã‚‹å€¤ã¾ãŸã¯é–¢æ•°ã‚’削除ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -f\tå„ NAME をシェル関数ã¨ã—ã¦æ‰±ã„ã¾ã™\n"
+" -v\tå„ NAME をシェル変数ã¨ã—ã¦æ‰±ã„ã¾ã™\n"
+" \n"
+" オプションãŒç„¡ã„å ´åˆã€æœ€åˆã«å¤‰æ•°ã‚’消去ã—よã†ã¨è©¦ã¿ã¾ã™ã€‚失敗ã—ãŸå ´åˆã«"
+"ã¯\n"
+" 関数を消去ã—よã†ã¨è©¦ã¿ã¾ã™ã€‚\n"
+" \n"
+" ã„ãã¤ã‹ã®å¤‰æ•°ã¯æ¶ˆåŽ»ã§ãã¾ã›ã‚“。`readonly' ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ NAME ãŒèª­ã¿å–り専用ã®å ´åˆã‚’除ãæˆåŠŸã‚’è¿”ã—"
+"ã¾ã™ã€‚"
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3169,8 +3916,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"シェル変数㫠export 属性を設定ã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAME ã«å¯¾ã—ã¦å¾Œã«ç¶šã‘ã¦å®Ÿè¡Œã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ã®ç’°å¢ƒå¤‰æ•°ã¨ã—ã¦è‡ªå‹•çš„ã«\n"
+" エクスãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã‚ˆã†ã«ãƒžãƒ¼ã‚¯ã—ã¾ã™ã€‚VALUE ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã¯ã‚¨ã‚¯ã‚¹\n"
+" ãƒãƒ¼ãƒˆã™ã‚‹å‰ã«å€¤ã‚’設定ã—ã¾ã™ã€‚\n"
+"\n"
+" オプション:\n"
+" -f\tシェル関数をå‚ç…§ã—ã¾ã™\n"
+" -n\tå„ NAME ã«å¯¾ã—ã¦ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆå±žæ€§ã‚’削除ã—ã¾ã™\n"
+" -p\tå…¨ã¦ã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚ŒãŸå¤‰æ•°ãƒ»é–¢æ•°ä¸€è¦§ã‚’表示ã—ã¾ã™\n"
+" \n"
+" 引数 `--' 以é™ã¯ã‚ªãƒ—ションã¨ã—ã¦å‡¦ç†ã•ã‚Œã¾ã›ã‚“。\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã€ç„¡åŠ¹ãª NAME ãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸ\n"
+" ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3189,8 +3952,25 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
+"シェル変数を変更ä¸å¯ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAME を読ã¿å–り専用ã«ã—ã¾ã™ã€‚ã“れら㮠NAME ã®å€¤ã¯ã“れ以é™ã®ä»£å…¥ã§\n"
+" 変更ãŒã§ããªããªã‚Šã¾ã™ã€‚VALUE ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€èª­ã¿å–り専用ã«ã™ã‚‹å‰\n"
+" ã«å€¤ãŒè¨­å®šã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a\tインデックス型é…列変数を示ã—ã¾ã™\n"
+" -A\t連想é…列変数を示ã—ã¾ã™\n"
+" -f\tシェル関数を示ã—ã¾ã™\n"
+" -p\tå…¨ã¦ã®èª­ã¿å–り専用変数・関数ã®ä¸€è¦§ã‚’表示ã—ã¾ã™\n"
+" \n"
+" 引数 `--' ã¯ä»¥é™ã®ã‚ªãƒ—ション処ç†ã‚’無効ã«ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã€ä¸Žãˆã‚‰ã‚ŒãŸ NAME ãŒç„¡åŠ¹ãªå ´åˆã‚’除ãæˆåŠŸ\n"
+" ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3200,8 +3980,15 @@ msgid ""
" Exit Status:\n"
" Returns success unless N is negative or greater than $#."
msgstr ""
+"ä½ç½®ãƒ‘ラメーターをシフトã—ã¾ã™ã€‚\n"
+" \n"
+" ä½ç½®ãƒ‘ラメーターå $N+1,$N+2 ... ã‚’ $1,$2 ... ã«å¤‰æ›´ã—ã¾ã™ã€‚ \n"
+" N ãŒä¸Žãˆã‚‰ã‚Œãªã‹ã£ãŸå ´åˆã€1 ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" NãŒè² ã®å€¤ã¾ãŸã¯ $# より大ãã„å ´åˆã‚’除ãæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3214,8 +4001,18 @@ msgid ""
" Returns the status of the last command executed in FILENAME; fails if\n"
" FILENAME cannot be read."
msgstr ""
+"ファイルを読ã¿è¾¼ã¿ç¾åœ¨ã®ã‚·ã‚§ãƒ«ã§ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" FILENAME を読ã¿è¾¼ã¿ç¾åœ¨ã®ã‚·ã‚§ãƒ«ã§ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚$PATH ã®é …ç›®ãŒ\n"
+" FILENAME ãŒå«ã¾ã‚Œã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’見ã¤ã‘ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚引数\n"
+" ARGUMENTS ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆ FILENAME を実行ã™ã‚‹éš›ã®ä½ç½®ãƒ‘ラメーターã¨\n"
+" ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" FILENAME ã§æœ€å¾Œã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚FILENAME ãŒ\n"
+" 読ã¿è¾¼ã‚ãªã‹ã£ãŸå ´åˆã¯å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3228,15 +4025,29 @@ msgid ""
" Exit Status:\n"
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
+"シェルã®å®Ÿè¡Œã‚’一時åœæ­¢ã—ã¾ã™ã€‚\n"
+" \n"
+" SIGCONT シグナルをå—ã‘å–ã‚‹ã¾ã§ã“ã®ã‚·ã‚§ãƒ«ã®å®Ÿè¡Œã‚’一時åœæ­¢ã—ã¾ã™ã€‚強制\n"
+" オプションãŒç„¡ã„é™ã‚Šãƒ­ã‚°ã‚¤ãƒ³ã‚·ã‚§ãƒ«ã¯ä¸€æ™‚åœæ­¢ã§ãã¾ã›ã‚“。\n"
+" \n"
+" オプション:\n"
+" -f\tシェルãŒãƒ­ã‚°ã‚¤ãƒ³ã‚·ã‚§ãƒ«ã ã¨ã—ã¦ã‚‚強制的ã«ä¸€æ™‚åœæ­¢ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" ジョブ制御ãŒæœ‰åŠ¹ã§ãªã„ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3290,6 +4101,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3305,16 +4117,98 @@ msgid ""
" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
" false or an invalid argument is given."
msgstr ""
+"æ¡ä»¶å¼ã‚’評価ã—ã¾ã™ã€‚\n"
+" \n"
+" å¼ EXPR ã®çµæžœã«å¿œã˜ã¦ 0 (真ã€true) ã¾ãŸã¯ 1 (å½ã€false) ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" å¼ã¯å˜é …演算å­ã¾ãŸã¯äºŒé …演算å­ã§ã™ã€‚å˜é …演算å­ã¯ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹\n"
+" を評価ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚文字列演算å­ã«åŠ ãˆã¦æ•°å€¤æ¯”較演算å­ã‚‚\n"
+" 存在ã—ã¾ã™ã€‚\n"
+" \n"
+" ファイル演算å­:\n"
+" \n"
+" -a FILE ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«çœŸ(true)。\n"
+" -b FILE ファイルãŒãƒ–ロック特殊デãƒã‚¤ã‚¹ã®æ™‚ã«çœŸ(true)。\n"
+" -c FILE ファイルãŒã‚­ãƒ£ãƒ©ã‚¯ã‚¿ç‰¹æ®Šãƒ‡ãƒã‚¤ã‚¹ã®æ™‚ã«çœŸ(true)。\n"
+" -d FILE ファイルãŒãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æ™‚ã«çœŸ(true)。\n"
+" -e FILE ファイルãŒå­˜åœ¨ã™ã‚‹æ™‚ã«çœŸ(true)。\n"
+" -f FILE ファイルãŒå­˜åœ¨ã—ã€é€šå¸¸ãƒ•ã‚¡ã‚¤ãƒ«ã®æ™‚ã«çœŸ(true)。\n"
+" -g FILE ファイル㫠setgid ãŒè¨­å®šã•ã‚Œã¦ã„る時ã«çœŸ(true)。\n"
+" -h FILE ファイルãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®æ™‚ã«çœŸ(true)。\n"
+" -L FILE ファイルãŒã‚·ãƒ³ãƒœãƒªãƒƒã‚¯ãƒªãƒ³ã‚¯ã®æ™‚ã«çœŸ(true)。\n"
+" -k FILE ファイル㫠sticky ビットãŒè¨­å®šã•ã‚Œã¦ã„る時ã«çœŸ(true)。\n"
+" -p FILE ファイルãŒåå‰ä»˜ãパイプã®æ™‚ã«çœŸ(true)。\n"
+" -r FILE ファイルãŒãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦èª­ã¿è¾¼ã¿å¯èƒ½ãªæ™‚ã«çœŸ(true)。\n"
+" -s FILE ファイルãŒå­˜åœ¨ã—ã€ã‹ã¤ç©ºãƒ•ã‚¡ã‚¤ãƒ«ã§ãªã„å ´åˆã«çœŸ(true)。\n"
+" -S FILE ファイルãŒã‚½ã‚±ãƒƒãƒˆã®å ´åˆã«çœŸ(true)。\n"
+" -t FD FD(ファイル識別å­) ãŒç«¯æœ«ã«é–‹ã„ã¦ã„る時ã«çœŸ(true)。\n"
+" -u FILE ファイル㫠setuid ãŒè¨­å®šã•ã‚Œã¦ã„る時ã«çœŸ(true)。\n"
+" -w FILE ファイルãŒãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦æ›¸ãè¾¼ã¿å¯èƒ½ãªæ™‚ã«çœŸ(true)。\n"
+" -x FILE ファイルãŒãƒ¦ãƒ¼ã‚¶ã«å¯¾ã—ã¦å®Ÿè¡Œå¯èƒ½ãªæ™‚ã«çœŸ(true)。\n"
+" -O FILE ファイルをユーザãŒå®ŸåŠ¹çš„ã«æ‰€æœ‰ã•ã‚Œã¦ã„る時ã«çœŸ(true)。\n"
+" -G FILE ファイルã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ãƒ¦ãƒ¼ã‚¶ãŒå®ŸåŠ¹çš„ã«æ‰€å±žã—ã¦ã„る時ã«çœŸ"
+"(true)。\n"
+" -N FILE ファイルを最後ã«èª­ã¿è¾¼ã‚“ã ä»¥é™ã«å¤‰æ›´ã•ã‚Œã¦ã„る時ã«çœŸ"
+"(true)。\n"
+" \n"
+" FILE1 -nt FILE2 file1 ㌠file2 より新ã—ã„時(更新時間ã«åŸºã¥ã)ã«çœŸ"
+"(true)。\n"
+" \n"
+" \n"
+" FILE1 -ot FILE2 file1 ㌠file2 よりå¤ã„時ã«çœŸ(true)。\n"
+" \n"
+" FILE1 -ef FILE2 file1 ㌠file2 ã«å¯¾ã™ã‚‹ãƒãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ã®æ™‚ã«çœŸ(true)。\n"
+" \n"
+" 文字列演算å­:\n"
+" \n"
+" -z STRING 文字列ãŒç©ºã®æ™‚ã«çœŸ(true)。\n"
+" \n"
+" -n STRING\n"
+" STRING 文字列ãŒç©ºã§ãªã„時ã«çœŸ(true)。\n"
+" \n"
+" STRING1 = STRING2\n"
+" 文字列ãŒåŒä¸€ã®æ™‚ã«çœŸ(true)。\n"
+" STRING1 != STRING2\n"
+" 文字列ãŒåŒä¸€ã§ãªã„時ã«çœŸ(true)。\n"
+" STRING1 < STRING2\n"
+" 辞書順㧠STRING1 ㌠STRING2 よりå‰ã®æ™‚ã«çœŸ(true)。\n"
+" STRING1 > STRING2\n"
+" 辞書順㧠STRING1 ㌠STRING2 より後ã®æ™‚ã«çœŸ(true)。\n"
+" \n"
+" ãã®ä»–演算å­:\n"
+" \n"
+" -o OPTION シェルオプション OPTION ãŒæœ‰åŠ¹ãªæ™‚ã«çœŸ(true)。\n"
+" ! EXPR å¼ expr ãŒå½(fales)ã®æ™‚ã«çœŸ(true)。\n"
+" EXPR1 -a EXPR2 å¼ expr1 ãŠã‚ˆã³ expr2 ã®ä¸¡æ–¹ã¨ã‚‚真(true)ã®æ™‚ã«çœŸ"
+"(true)。\n"
+" EXPR1 -o EXPR2 å¼ expr1 ã¾ãŸã¯ expr2 ã®ã„ãšã‚Œã‹ãŒçœŸ(true)ã®æ™‚ã«çœŸ"
+"(true)。\n"
+" \n"
+" arg1 OP arg2 数値比較演算を行ã„ã¾ã™ã€‚OP 㯠-eq, -ne, -lt, -le, -gt,\n"
+" ã¾ãŸã¯ -ge ã®ã„ãšã‚Œã‹ã§ã™ã€‚\n"
+" \n"
+" 数値演算二項演算å­ã¯ ARG1 㨠ARG2 ã®é–¢ä¿‚ãŒãã‚Œãžã‚Œã€ç­‰ã—ã„(-eq)ã€\n"
+" ç­‰ã—ããªã„(-ne)ã€ã‚ˆã‚Šå°ã•ã„(-lt)ã€ä»¥ä¸‹(-le)ã€ã‚ˆã‚Šå¤§ãã„(-gt)ã€ã¾ãŸã¯\n"
+" 以上(-ge)ã®æ™‚ã«çœŸ(true)ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" å¼ EXPR ã®è©•ä¾¡å€¤ãŒçœŸ(true)ã®æ™‚ã«æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚EXPR ã®è©•ä¾¡å€¤ãŒå½(false) "
+"ã¾ãŸã¯\n"
+" 引数ãŒç„¡åŠ¹ãªå ´åˆã«å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
" This is a synonym for the \"test\" builtin, but the last argument must\n"
" be a literal `]', to match the opening `['."
msgstr ""
+"æ¡ä»¶å¼ã‚’評価ã—ã¾ã™ã€‚\n"
+" \n"
+" ã“れ㯠test 組ã¿è¾¼ã¿é–¢æ•°ã¨åŒç¾©èªžã§ã™ã€‚ãŸã ã—ã€æœ€å¾Œã®å¼•æ•°ã«é–‹å§‹ã®`['ã¨ä¸€"
+"致\n"
+" ã™ã‚‹ã‚ˆã†ã«æ–‡å­—`]'を与ãˆãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。"
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3325,8 +4219,17 @@ msgid ""
" Exit Status:\n"
" Always succeeds."
msgstr ""
+"プロセスã®æ™‚間を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" シェルã¨ãã®å­ãƒ—ロセスãŒä½¿ç”¨ã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼æ™‚é–“ã¨ã‚·ã‚¹ãƒ†ãƒ æ™‚é–“ãã‚Œãžã‚Œã®ç´¯ç©"
+"ã‚’\n"
+" 表示ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 常ã«æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3342,7 +4245,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3361,8 +4272,40 @@ msgid ""
" Returns success unless a SIGSPEC is invalid or an invalid option is "
"given."
msgstr ""
+"シグナルã¾ãŸã¯ä»–ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’トラップã—ã¾ã™ã€‚\n"
+" \n"
+" シェルãŒã‚·ã‚°ãƒŠãƒ«ã‚’å—ã‘å–ã‚‹ã‹ä»–ã®æ¡ä»¶ãŒç™ºç”Ÿã—ãŸæ™‚ã«å®Ÿè¡Œã•ã‚Œã‚‹ãƒãƒ³ãƒ‰ãƒ©ãƒ¼"
+"ã‚’\n"
+" 定義ãŠã‚ˆã³æœ‰åŠ¹åŒ–ã—ã¾ã™ã€‚\n"
+" \n"
+" ARG ã¯ã‚·ã‚°ãƒŠãƒ« SIGNAL_SPEC ã‚’å—ã‘å–ã£ãŸæ™‚ã«èª­ã¿è¾¼ã¾ã‚Œå®Ÿè¡Œã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰\n"
+" ã§ã™ã€‚ã‚‚ã— ARG ãŒç„¡ã„ (ã‹ã¤ã‚·ã‚°ãƒŠãƒ« SIGNAL_SPEC ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆ) ã¾ãŸ"
+"ã¯\n"
+" `-' ã®å ´åˆã€å„指定ã—ãŸã‚·ã‚°ãƒŠãƒ«ã¯ã‚ªãƒªã‚¸ãƒŠãƒ«ã®å€¤ã«ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚\n"
+" ARG ㌠NULL 文字列ã®å ´åˆã€å„シグナル SIGNAL_SPEC ã¯ã‚·ã‚§ãƒ«ã«ãŠã‚ˆã³èµ·å‹•ã•\n"
+" ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã£ã¦ç„¡è¦–ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" ã‚‚ã— SIGNAL_SPEC ㌠EXIT (0) ã®å ´åˆã€ARG ãŒã‚·ã‚§ãƒ«ã®çµ‚了時ã«å®Ÿè¡Œã•ã‚Œã¾"
+"ã™ã€‚\n"
+" ã‚‚ã— SIGNAL_SPEC ㌠DEBUGã®å ´åˆ ARG ã¯å˜ã«æ¯Žå›žã‚³ãƒžãƒ³ãƒ‰ã®å‰ã«å®Ÿè¡Œã•ã‚Œã¾"
+"ã™ã€‚\n"
+" \n"
+" ã‚‚ã—引数ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€ trap ã¯å„シグナルã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰"
+"ã®\n"
+" 一覧を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -l\tシグナルåã¨ã‚·ã‚°ãƒŠãƒ«ç•ªå·ã®å¯¾å¿œä¸€è¦§ã‚’表示ã—ã¾ã™\n"
+" -p\tå„ SIGNAL_SPEC ã«é–¢é€£ã¥ã‘られ㟠trap コマンドを表示ã—ã¾ã™\n"
+" \n"
+" å„ SIGNAL_SPEC 㯠<signal.h> ã«ã‚るシグナルåã‹ã‚·ã‚°ãƒŠãƒ«ç•ªå·ã§ã™ã€‚ã‚·ã‚°\n"
+" ナルåã¯å¤§æ–‡å­—å°æ–‡å­—を区別ã—ã¾ã›ã‚“。ã¾ãŸ SIG 接頭辞ã¯ã‚ªãƒ—ションã§ã™ã€‚\n"
+" シグナルã¯ã‚·ã‚§ãƒ«ã«å¯¾ã—㦠\"kill -signal $$\" ã§é€ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" SIGSPEC ãŒç„¡åŠ¹ã‹ã€ç„¡åŠ¹ãªã‚ªãƒ—ションを与ãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3391,8 +4334,36 @@ msgid ""
" Returns success if all of the NAMEs are found; fails if any are not "
"found."
msgstr ""
-
-#: builtins.c:1383
+"コマンドã®ç¨®é¡žã«é–¢ã™ã‚‹æƒ…報を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAME ã«å¯¾ã—ã¦ã‚³ãƒžãƒ³ãƒ‰åã¨ã—ã¦ä½¿ã‚ã‚ŒãŸæ™‚ã«ã©ã®ã‚ˆã†ã«è§£é‡ˆã•ã‚Œã‚‹ã‹ã‚’\n"
+" 示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -a\tNAME ã¨ã„ã†åå‰ã«ãªã£ã¦ã„る実行å¯èƒ½ãªã‚‚ã®ã®å…¨ã¦ã®ä½ç½®ã‚’表示ã—\n"
+" \tã¾ã™ã€‚ã“ã‚Œã«ã¯ `-p' ãŒåŒæ™‚ã«æŒ‡å®šã•ã‚Œã¦ã„ãªã„å ´åˆã«é™ã£ã¦ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã€\n"
+" \t組ã¿è¾¼ã¿é–¢æ•°ã€ã‚·ã‚§ãƒ«é–¢æ•°ã‚‚å«ã¿ã¾ã™\n"
+" -f\tシェル関数ã®æ¤œç´¢ã‚’抑止ã—ã¾ã™\n"
+" -P\tå„ NAME ã«å¯¾ã—㦠PATH 探索を強制ã—ã¾ã™ã€‚エイリアスã€çµ„ã¿è¾¼ã¿\n"
+" \t関数ã€ã‚·ã‚§ãƒ«é–¢æ•°ãŒã‚ã£ãŸã¨ã—ã¦ã‚‚実行ã•ã‚Œã‚‹ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’\n"
+" \tè¿”ã—ã¾ã™\n"
+" -p\t実行ã•ã‚Œã‚‹ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ãƒ•ã‚¡ã‚¤ãƒ«åã‚’è¿”ã—ã¾ã™ã€‚`type -t NAME'\n"
+" \t㌠`file' ã‚’è¿”ã•ãªã„å ´åˆã€ä½•ã‚‚è¿”ã—ã¾ã›ã‚“。\n"
+" -t\t次ã®ã„ãšã‚Œã‹ã®å˜èªžã‚’è¿”ã—ã¾ã™ã€‚`alias', `keyword', `function',\n"
+" \t `builtin', `file' or `'。ãã‚Œãžã‚Œ NAME ãŒã‚¨ã‚¤ãƒªã‚¢ã‚¹ã€ã‚·ã‚§ãƒ«äºˆç´„語ã€\n"
+" \tシェル関数ã€ã‚·ã‚§ãƒ«çµ„ã¿è¾¼ã¿é–¢æ•°ã€ãƒ‡ã‚£ã‚¹ã‚¯ä¸Šã®ãƒ•ã‚¡ã‚¤ãƒ«ã€ä½•ã‚‚見ã¤ã‹ã‚‰ãª"
+"ã„\n"
+" \tã«å¯¾å¿œã—ã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" NAME\t解釈ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ã®åå‰ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" å…¨ã¦ã® NAME ãŒè¦‹ã¤ã‹ã£ãŸå ´åˆã«æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚ã©ã‚Œã‹ãŒè¦‹ã¤ã‹ã‚‰ãªã‹ã£ãŸå ´"
+"åˆ\n"
+" ã¯å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3435,8 +4406,48 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-
-#: builtins.c:1428
+"シェルã®è³‡æºåˆ¶é™ã‚’変更ã—ã¾ã™ã€‚\n"
+" \n"
+" シェルãŠã‚ˆã³ã‚·ã‚§ãƒ«ãŒä½œæˆã™ã‚‹ãƒ—ロセスãŒä½¿ç”¨å¯èƒ½ãªè³‡æºã«å¯¾ã™ã‚‹åˆ¶å¾¡ã‚’æä¾›ã—"
+"ã¾ã™ã€‚\n"
+" ãŸã ã—ã€ã‚·ã‚¹ãƒ†ãƒ ãŒãã®ã‚ˆã†ãªåˆ¶å¾¡ã‚’許å¯ã—ã¦ã„ã‚‹å ´åˆã§ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -S\t`soft' 資æºåˆ¶é™ã‚’使用ã—ã¾ã™\n"
+" -H\t`hard' 資æºåˆ¶é™ã‚’使用ã—ã¾ã™\n"
+" -a\tç¾åœ¨ã®å…¨ã¦ã®è³‡æºåˆ¶é™ã‚’表示ã—ã¾ã™\n"
+" -b\tソケットãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º\n"
+" -c\t作æˆã•ã‚Œã‚‹ã‚³ã‚¢ãƒ•ã‚¡ã‚¤ãƒ«ã®æœ€å¤§ã‚µã‚¤ã‚º\n"
+" -d\tプロセスデータセグメントã®æœ€å¤§ã‚µã‚¤ã‚º\n"
+" -e\tスケジュール優先度ã®æœ€å¤§å€¤ (`nice')\n"
+" -f\tシェルåŠã³å­ãƒ—ロセスãŒæ›¸ãè¾¼ã¿å¯èƒ½ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã®æœ€å¤§å€¤\n"
+" -i\tä¿ç•™ã™ã‚‹ã‚·ã‚°ãƒŠãƒ«ã®æœ€å¤§æ•°\n"
+" -l\tメモリã«ãƒ­ãƒƒã‚¯ã§ãるプロセスã®æœ€å¤§ã‚µã‚¤ã‚º\n"
+" -m\t最大ã®ãƒ¡ãƒ¢ãƒªã‚µã‚¤ã‚º\n"
+" -n\tファイル記述å­ã‚’é–‹ãã“ã¨ãŒã§ãる最大数\n"
+" -p\tパイプã®ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º\n"
+" -q\tPOSIX message queues ã®æœ€å¤§ãƒã‚¤ãƒˆæ•°\n"
+" -r\tリアルタイムスケジュール優先度ã®æœ€å¤§å€¤\n"
+" -s\tスタックサイズã®æœ€å¤§å€¤\n"
+" -t\tCPU時間ç·é‡ã®æœ€å¤§å€¤ (秒å˜ä½)\n"
+" -u\tユーザープロセスã®æœ€å¤§æ•°\n"
+" -v\t仮想メモリã®ã‚µã‚¤ã‚º\n"
+" -x\tファイルロックã®æœ€å¤§æ•°\n"
+" \n"
+" LIMIT ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€æŒ‡å®šã—ãŸè³‡æºã«å¯¾ã™ã‚‹æ–°ã—ã„値ã«ãªã‚Šã¾ã™ã€‚特別ãª\n"
+" LIMIT ã®å€¤ã§ã‚ã‚‹ `soft'ã€`hard'ã€ãŠã‚ˆã³ `unlimited' ã¯ç¾åœ¨ã® `soft' 制"
+"é™\n"
+" ç¾åœ¨ã®`hard' 制é™ãŠã‚ˆã³åˆ¶é™ãªã—ã‚’ãã‚Œãžã‚Œæ„味ã—ã¾ã™ã€‚\n"
+" ãれ以外ã®å ´åˆã€æŒ‡å®šã—ãŸè³‡æºã®ç¾åœ¨ã®å€¤ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚オプションãŒä¸Žãˆ\n"
+" られãªã‹ã£ãŸå ´åˆ -f ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 値㯠1024 ãƒã‚¤ãƒˆå˜ä½ã§å¢—加ã—ã¾ã™ã€‚例外㯠-t ãŒç§’å˜ä½ã€-p ㌠512ãƒã‚¤ãƒˆ\n"
+" å˜ä½ã€ãŠã‚ˆã³ -u ã¯1プロセスå˜ä½ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3453,8 +4464,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
+"ファイルã®ãƒ¢ãƒ¼ãƒ‰ãƒžã‚¹ã‚¯ã‚’表示ã¾ãŸã¯è¨­å®šã—ã¾ã™ã€‚\n"
+" \n"
+" ユーザーãŒãƒ•ã‚¡ã‚¤ãƒ«ä½œæˆæ™‚ã®ãƒžã‚¹ã‚¯ã‚’ MODE ã«è¨­å®šã—ã¾ã™ã€‚MODE ãŒæŒ‡å®šã•ã‚Œãªã„"
+"å ´åˆ\n"
+" ç¾åœ¨ã®ãƒžã‚¹ã‚¯ã®å€¤ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" MODE ãŒæ•°å€¤ã§é–‹å§‹ã—ãŸå ´åˆ8進数ã¨ã—ã¦è§£é‡ˆã•ã‚Œã¾ã™ã€‚ãれ以外㯠chmod(1) ã§"
+"å—ã‘\n"
+" 入れられるシンボルモードã®æ–‡å­—列ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -p\tMODE ãŒæŒ‡å®šã•ã‚Œãªã„å ´åˆã€å…¥åŠ›ã¨ã—ã¦å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -S\tシンボルモードã§å‡ºåŠ›ã—ã¾ã™ã€‚ãれ以外ã¯8進数ã§å‡ºåŠ›ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" MODE ãŒç„¡åŠ¹ã‹ã€ç„¡åŠ¹ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3470,8 +4497,18 @@ msgid ""
"is\n"
" given."
msgstr ""
+"ジョブã®å®Ÿè¡Œå®Œäº†ã‚’å¾…ã¡ã€çµ‚了ステータスを返ã—ã¾ã™ã€‚\n"
+" \n"
+" ID ã§è­˜åˆ¥ã•ã‚Œã‚‹ãƒ—ロセス (プロセスID ã¾ãŸã¯ ジョブ指定) ã‚’å¾…ã¡ã€ãã®çµ‚了\n"
+" ステータスを返ã—ã¾ã™ã€‚ID ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€ç¾åœ¨ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªå…¨ã¦ã®å­ãƒ—\n"
+" ロセスを待㡠0 ã‚’è¿”ã—ã¾ã™ã€‚ID ãŒã‚¸ãƒ§ãƒ–指定ã®å ´åˆã‚¸ãƒ§ãƒ–ã®ãƒ‘イプラインã«\n"
+" ã‚ã‚‹å…¨ã¦ã®ãƒ—ロセスを待ã¡ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" ID ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚IDãŒç„¡åŠ¹ã§ã‚ã‚‹ã‹ã€ç„¡åŠ¹ãªã‚ªãƒ—ションãŒ\n"
+" 与ãˆã‚‰ã‚ŒãŸå ´åˆã«ã¯å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3484,8 +4521,17 @@ msgid ""
"is\n"
" given."
msgstr ""
+"プロセスã®å®Ÿè¡Œå®Œäº†ã‚’å¾…ã¡ã€çµ‚了ステータスを返ã—ã¾ã™ã€‚\n"
+" \n"
+" 指定ã•ã‚ŒãŸãƒ—ロセスを待ã¡ã€ãã®çµ‚了ステータスを返ã—ã¾ã™ã€‚PID ãŒä¸Žãˆã‚‰ã‚Œ\n"
+" ãªã„å ´åˆã€ç¾åœ¨ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªå…¨ã¦ã®å­ãƒ—ロセスを待ã¡ã€0 ã‚’è¿”ã—ã¾ã™ã€‚PID ã¯\n"
+" プロセスIDã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+" \n"
+" 終了ステータス:\n"
+" IDã®çµ‚了ステータスを返ã—ã¾ã™ã€‚IDãŒç„¡åŠ¹ã‹ã€ç„¡åŠ¹ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚ŒãŸ\n"
+" å ´åˆã¯ã‚¨ãƒ©ãƒ¼ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3497,8 +4543,16 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"リストã®å„è¦ç´ ã«å¯¾ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" `for' ループã§ã¯ãƒªã‚¹ãƒˆã®å„è¦ç´ ã«å¯¾ã—ã¦ä¸€é€£ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" `in WORDS ...;' ãŒå­˜åœ¨ã—ãªã„å ´åˆã€`in \"$@\"' ã§ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚\n"
+" WORDS ã®è¦ç´ ãŒ NAME ã®å€¤ã¨ã—ã¦ä»£å…¥ã•ã‚Œ COMMANDS ãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3514,8 +4568,21 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"算術 for ループ\n"
+" \n"
+" 以下ã¨ç­‰ä¾¡ã§ã™ã€‚\n"
+" \t(( EXP1 ))\n"
+" \twhile (( EXP2 )); do\n"
+" \t\tCOMMANDS\n"
+" \t\t(( EXP3 ))\n"
+" \tdone\n"
+" EXP1ã€EXP2ã€ãŠã‚ˆã³ EXP3 ã¯æ•°å¼ã§ã™ã€‚ã„ãšã‚Œã‹ã®æ•°å¼ã‚’çœç•¥ã—ãŸå ´åˆã€\n"
+" 値㌠1 ã§ã‚ã‚‹ã¨ã—ã¦è©•ä¾¡ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3534,8 +4601,24 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"Select words from a list and execute commands.\n"
+" \n"
+" The WORDS are expanded, generating a list of words. The\n"
+" set of expanded words is printed on the standard error, each\n"
+" preceded by a number. If `in WORDS' is not present, `in \"$@\"'\n"
+" is assumed. The PS3 prompt is then displayed and a line read\n"
+" from the standard input. If the line consists of the number\n"
+" corresponding to one of the displayed words, then NAME is set\n"
+" to that word. If the line is empty, WORDS and the prompt are\n"
+" redisplayed. If EOF is read, the command completes. Any other\n"
+" value read causes NAME to be set to null. The line read is saved\n"
+" in the variable REPLY. COMMANDS are executed after each selection\n"
+" until a break command is executed.\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3550,8 +4633,20 @@ msgid ""
" Exit Status:\n"
" The return status is the return status of PIPELINE."
msgstr ""
+"パイプラインを実行ã™ã‚‹æ™‚ã«æ¶ˆè²»ã•ã‚ŒãŸæ™‚間を報告ã—ã¾ã™ã€‚\n"
+" \n"
+" PIPELINE を実行ã—ã€çµ‚了時㫠PIPELINE を実行ã™ã‚‹ãŸã‚ã«è²»ã‚„ã•ã‚ŒãŸå®Ÿ\n"
+" 時間ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ CPU 時間ã€ãŠã‚ˆã³ã‚·ã‚¹ãƒ†ãƒ  CPU 時間ã®è¦ç´„を表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -p\t移æ¤æ€§ã®ã‚ã‚‹ Posix å½¢å¼ã§æ™‚é–“ã®è¦ç´„を表示ã—ã¾ã™\n"
+" \n"
+" 変数 TIMEFORMAT ã®å€¤ãŒå‡ºåŠ›ã®å½¢å¼ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" PIPELINE ã®æˆ»ã‚Šå€¤ãŒçµ‚了ステータスã¨ãªã‚Šã¾ã™ã€‚"
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3561,8 +4656,16 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"パターン一致ã®çµæžœã«åŸºã¥ã„ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" WORD ㌠PATTERN ã«ä¸€è‡´ã™ã‚‹ã‹ã©ã†ã‹ã«åŸºã¥ã„ã¦é¸æŠžçš„ã« COMMANDS を実行ã—ã¾"
+"ã™ã€‚\n"
+" 複数ã®ãƒ‘ターンを区切るãŸã‚ã« `|' ãŒä½¿ç”¨ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3582,8 +4685,22 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"æ¡ä»¶ã«å¾“ã£ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" `if COMMANDS' を実行ã—ã¾ã™ã€‚ã“ã®çµ‚了ステータス㌠0 ã®å ´åˆã€`then "
+"COMMANDS'\n"
+" を実行ã—ã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã¯ã€å„ `elif COMMANDS' を順番ã«å®Ÿè¡Œã—ã€ãã®\n"
+" 終了ステータス㌠0 ã®ã®å ´åˆã«ã€é–¢é€£ã—㟠`then COMMANDS' を実行ã—ã€if æ–‡"
+"ãŒ\n"
+" 完了ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã€ `else COMMANDS' ãŒå­˜åœ¨ã™ã‚‹å ´åˆã«ã¯å®Ÿè¡Œã•ã‚Œ\n"
+" ã¾ã™ã€‚文全体ã®çµ‚了ステータスã¯ã€æœ€å¾Œã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータス"
+"ã‹ã€\n"
+" ã¾ãŸã¯ã€ãƒ†ã‚¹ãƒˆã—ãŸæ¡ä»¶ã« true ã¨ãªã‚‹ã‚‚ã®ãŒç„¡ã„å ´åˆã¯ 0 ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚"
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3593,8 +4710,15 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"テストãŒæˆåŠŸã™ã‚‹é™ã‚Šã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" `while' COMMANDS ã«ã‚る最後ã®ã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータス㌠0 ã§ã‚ã‚‹é–“ \n"
+" COMMANDS を展開ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3604,8 +4728,15 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"テストãŒå¤±æ•—ã™ã‚‹é™ã‚Šã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" `until' COMMANDS ã«ã‚る最後ã®ã‚³ãƒžãƒ³ãƒ‰ã®çµ‚了ステータス㌠0 ã§ãªã„é–“\n"
+" COMMANDS を展開ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3617,8 +4748,17 @@ msgid ""
" Exit Status:\n"
" Returns the exit status of COMMAND."
msgstr ""
+"NAME ã¨ã„ã†åå‰ã®éžåŒæœŸãƒ—ロセスを作æˆã—ã¾ã™ã€‚\n"
+" \n"
+" COMMAND ã‚’éžåŒæœŸã§å®Ÿè¡Œã—ã¾ã™ã€‚コマンドã®æ¨™æº–出力ãŠã‚ˆã³æ¨™æº–入力ã¯å®Ÿè¡Œ\n"
+" ã—ã¦ã„るシェルã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹åž‹é…列変数 NAME ã®è¦ç´ æ·»å­— 0ã€1 ã«è¨­å®š\n"
+" ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ã¸ã®ãƒ‘イプã¨ã—ã¦æŽ¥ç¶šã•ã‚Œã¾ã™ã€‚\n"
+" デフォルト㮠NAME 㯠\"COPROC\" ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" COMMAND ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚"
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3631,8 +4771,19 @@ msgid ""
" Exit Status:\n"
" Returns success unless NAME is readonly."
msgstr ""
+"シェル関数を定義ã—ã¾ã™ã€‚\n"
+" \n"
+" NAME ã¨ã„ã†åå‰ã®ã‚·ã‚§ãƒ«é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚å˜ã«ã‚³ãƒžãƒ³ãƒ‰ã¨ã—ã¦èµ·å‹•ã•ã‚ŒãŸæ™‚"
+"ã¯\n"
+" NAME 㯠COMMANDs をシェルã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆå†…ã§å‘¼ã³å‡ºã—ã¾ã™ã€‚NAME ã‚’èµ·å‹•ã—"
+"ãŸ\n"
+" 時ã«å¼•æ•°ã¯é–¢æ•°ã« $1...$n ã¨ã„ã†ä½ç½®ãƒ‘ラメーターã§ã€é–¢æ•°å㯠$FUNCNAME\n"
+" 変数ã¨ã—ã¦æ¸¡ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" NAME ãŒèª­ã¿å–り専用ã§ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3642,8 +4793,15 @@ msgid ""
" Exit Status:\n"
" Returns the status of the last command executed."
msgstr ""
+"複数ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’一ã¤ã«ã‚°ãƒ«ãƒ¼ãƒ—化ã—ã¾ã™ã€‚\n"
+" \n"
+" 複数ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’グループã«ã—ã¦1セットã¨ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚ã“ã‚Œã¯ã‚³ãƒžãƒ³ãƒ‰\n"
+" ã®ã‚»ãƒƒãƒˆå…¨ä½“をリダイレクトã™ã‚‹ä¸€ã¤ã®æ–¹æ³•ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 最後ã«å®Ÿè¡Œã—ãŸã‚³ãƒžãƒ³ãƒ‰ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3656,8 +4814,17 @@ msgid ""
" Exit Status:\n"
" Returns the status of the resumed job."
msgstr ""
+"ジョブをフォアグラウンドã§å†é–‹ã—ã¾ã™ã€‚\n"
+" \n"
+" `fg' コマンドã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‹ JOB_SPEC ã¨ç­‰ä¾¡ã§ã™ã€‚åœæ­¢ã¾ãŸã¯\n"
+" ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã®ã‚¸ãƒ§ãƒ–ã‚’å†é–‹ã—ã¾ã™ã€‚JOB_SPEC ã¯ã‚¸ãƒ§ãƒ–åã¾ãŸã¯\n"
+" ジョブ番å·ã§æŒ‡å®šã—ã¾ã™ã€‚JOB_SPEC ã®å¾Œã« `&' を続ã‘ã‚‹ã¨ã€`bg' ã®\n"
+" 引数ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸã‚ˆã†ã«ã‚¸ãƒ§ãƒ–ã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã«ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" å†é–‹ã•ã‚ŒãŸã‚¸ãƒ§ãƒ–ã®çµ‚了ステータスを返ã—ã¾ã™ã€‚"
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3667,8 +4834,15 @@ msgid ""
" Exit Status:\n"
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
+"ç®—è¡“å¼ã‚’評価ã—ã¾ã™ã€‚\n"
+" \n"
+" ç®—è¡“å¼ã®è¦å®šã«åŸºã¥ã„㦠EXPRESSION を評価ã—ã¾ã™ã€‚\"let EXPRESSION\"\n"
+" ã¨ç­‰ä¾¡ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" EXPRESSION ã®è©•ä¾¡å€¤ãŒ 0 ã®å ´åˆã¯ 1ã€ãれ以外㯠0 ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3695,8 +4869,35 @@ msgid ""
" Exit Status:\n"
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
+"æ¡ä»¶å¼ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¾ã™ã€‚\n"
+" \n"
+" æ¡ä»¶å¼ EXPRESSION ã®è©•ä¾¡çµæžœã«åŸºã¥ã„㦠0 ã¾ãŸã¯ 1 ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" æ¡ä»¶å¼ã¯ test 組ã¿è¾¼ã¿é–¢æ•°ã¨åŒã˜å„ªå…ˆé †ä½ã§çµ„ã¿åˆã‚ã•ã‚Œã¾ã™ã€‚ã¾ãŸã€\n"
+" 次ã®æ¼”ç®—å­ã¨ã‚‚組ã¿åˆã‚ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" ( EXPRESSION )\tEXPRESSION ã®å€¤ã‚’è¿”ã—ã¾ã™\n"
+" ! EXPRESSION\t\tEXPRESSION ㌠true ã®æ™‚ false ã‚’è¿”ã—ã¾ã™ã€‚ãã‚Œ\n"
+" \t\t以外㯠false ã‚’è¿”ã—ã¾ã™\n"
+" EXPR1 && EXPR2\tEXPR1 ãŠã‚ˆã³ EXPR2 ã®ä¸¡æ–¹ãŒ true ã®æ™‚ true ã‚’è¿”ã—ã¾"
+"ã™ã€‚\n"
+" \tãれ以外㯠false ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" EXPR1 || EXPR2\tEXPR1 ãŠã‚ˆã³ EXPR2 ã®ã„ãšã‚Œã‹ãŒ true ã®æ™‚ true ã‚’è¿”ã—\n"
+" \tã¾ã™ã€‚ãれ以外㯠false ã‚’è¿”ã—ã¾ã™ã€‚\n"
+" \n"
+" `==' ãŠã‚ˆã³ `!=' 演算å­ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€æ¼”ç®—å­ã®å³å´ã®æ–‡å­—列をパターン"
+"ã¨\n"
+" ã—ãŸå·¦å´ã®æ–‡å­—列ã«å¯¾ã™ã‚‹ãƒ‘ターン一致処ç†ãŒè¡Œã‚ã‚Œã¾ã™ã€‚\n"
+" `=~' 演算å­ãŒä½¿ç”¨ã•ã‚ŒãŸå ´åˆã€æ¼”ç®—å­ã®å³å´ã®æ–‡å­—列ãŒæ­£è¦è¡¨ç¾ã¨ã—ã¦æ‰±ã‚ã‚Œ"
+"ã¾\n"
+" ã™ã€‚\n"
+" \n"
+" && ãŠã‚ˆã³ || 演算å­ã¯ EXPR1 ã§å¼ã®å€¤ã‚’決定ã™ã‚‹ã®ã«å分ãªå ´åˆã¯ EXPR2 ã‚’\n"
+" 評価ã—ã¾ã›ã‚“。\n"
+" \n"
+" 終了ステータス:\n"
+" EXPRESSION ã®å€¤ã«åŸºã¥ã„㦠0 ã¾ãŸã¯ 1 ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3749,8 +4950,55 @@ msgid ""
" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-
-#: builtins.c:1754
+"通常ã®å¤‰æ•°åã¨ãã®ä½¿ç”¨æ³•ã€‚\n"
+" \n"
+" BASH_VERSION\tBashã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…報。\n"
+" CDPATH\t`cd`ã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’検索ã™ã‚‹éš›ã«\n"
+" \t\t使用ã•ã‚Œã‚‹ã‚³ãƒ­ãƒ³ (:) ã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸€è¦§ã€‚\n"
+" GLOBIGNORE\tパスåを展開ã™ã‚‹æ™‚ã«ç„¡è¦–ã•ã‚Œã‚‹ã‚³ãƒ­ãƒ³ (:) ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ\n"
+" \t\tファイルåパターンã®ä¸€è¦§ã€‚\n"
+" HISTFILE\tコマンドヒストリãŒä¿å­˜ã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«å。\n"
+" HISTFILESIZE\tヒストリファイルã«ä¿å­˜ã™ã‚‹ã“ã¨ãŒã§ãる最大行数。\n"
+" HISTSIZE\t実行中ã®ã‚·ã‚§ãƒ«ãŒã‚¢ã‚¯ã‚»ã‚¹ã§ãる最大ヒストリ行数。\n"
+" HOME\tログインディレクトリã®å®Œå…¨ãƒ‘スå。\n"
+" HOSTNAME\tç¾åœ¨ã®ãƒ›ã‚¹ãƒˆå。\n"
+" HOSTTYPE\tã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Bash を実行ã—ã¦ã„ã‚‹ CPU ã®ç¨®é¡žã€‚\n"
+" IGNOREEOF\tシェルãŒãƒ•ã‚¡ã‚¤ãƒ«çµ‚了 (EOF) 文字をå˜ä¸€ã®å…¥åŠ›ã¨ã—ã¦å—ã‘\n"
+" \t\tå–ã£ãŸæ™‚ã®å‹•ä½œã‚’制御ã—ã¾ã™ã€‚設定ã•ã‚Œã¦ã„ã‚‹å ´åˆã€ç©ºç™½è¡Œ\n"
+" \t\t㧠EOF 文字をãã®æ•°é€£ç¶šã—ã¦å—ã‘å–ã£ãŸæ™‚ã«ã‚·ã‚§ãƒ«ã‚’終了\n"
+" \t\tã—ã¾ã™ (デフォルト 10)。設定ãŒè§£é™¤ã•ã‚ŒãŸå ´åˆã€EOF ã§\n"
+" \t\t入力ãŒçµ‚了ã™ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚\n"
+" MACHTYPE\tBash ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã‚‹ç¾åœ¨ã®ã‚·ã‚¹ãƒ†ãƒ ã‚’表ã™æ–‡å­—列。\n"
+" MAILCHECK\tBash ãŒãƒ¡ãƒ¼ãƒ«ã‚’確èªã™ã‚‹é »åº¦ (秒å˜ä½)。\n"
+" MAILPATH\tBash ãŒæ–°è¦ãƒ¡ãƒ¼ãƒ«ã‚’確èªã™ã‚‹ã‚³ãƒ­ãƒ³ (:) ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ\n"
+" \t\tファイルåã®ä¸€è¦§ã€‚\n"
+" OSTYPE\tã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® Bash を実行ã—ã¦ã„ã‚‹ OS ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã€‚\n"
+" PATH\tコマンドを検索ã™ã‚‹éš›ã«ä½¿ç”¨ã•ã‚Œã‚‹ã‚³ãƒ­ãƒ³ (:) ã§åŒºåˆ‡ã‚‰\n"
+" \t\tã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ä¸€è¦§ã€‚\n"
+" PROMPT_COMMAND\tプライマリプロンプトãŒè¡¨ç¤ºã•ã‚Œã‚‹å‰ã«æ¯Žå›žå®Ÿè¡Œ\n"
+" \t\tã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ã€‚\n"
+" PS1\t\tプライマリプロンプト文字列。\n"
+" PS2\t\tセカンダリプロンプト文字列。\n"
+" PWD\t\tç¾åœ¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®å®Œå…¨ãƒ‘スå。\n"
+" SHELLOPTS\tコロン (:) ã§åŒºåˆ‡ã‚‰ã‚ŒãŸæœ‰åŠ¹ãªã‚·ã‚§ãƒ«ã‚ªãƒ—ション一覧。\n"
+" TERM\tç¾åœ¨ã®ç«¯æœ«ç¨®é¡žå。\n"
+" TIMEFORMAT\t`time' 予約語ã«ã‚ˆã‚‹æ™‚間統計情報ã®è¡¨ç¤ºæ›¸å¼ã€‚\n"
+" auto_resume\tnull ã§ç„¡ã„å ´åˆã€ãã®è¡Œã«ç¾ã‚ŒãŸã‚³ãƒžãƒ³ãƒ‰ã¯ã€ã¾ãšç¾åœ¨åœæ­¢\n"
+" \t\tã•ã‚Œã¦ã„るジョブã‹ã‚‰æ¤œç´¢ã•ã‚Œã¾ã™ã€‚ãã‚Œã§è¦‹ã¤ã‹ã£ãŸå ´åˆã€\n"
+" \t\tジョブãŒãƒ•ã‚©ã‚¢ã‚°ãƒ©ãƒ³ãƒ‰ã«ãªã‚Šã¾ã™ã€‚値㌠`exact' ã®å ´åˆã€\n"
+" \t\tコマンドãŒåœæ­¢ã—ã¦ã„るジョブã®ä¸€è¦§ã¨åŽ³å¯†ã«ä¸€è‡´ã—ã¦ã„ãªã‘\n"
+" \t\tã‚Œã°ãªã‚Šã¾ã›ã‚“。値㌠`substring' ã®å ´åˆã€ã‚³ãƒžãƒ³ãƒ‰ãŒã‚¸ãƒ§\n"
+" \t\tブã®éƒ¨åˆ†æ–‡å­—列ã«ä¸€è‡´ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ãã®ä»–ã®å€¤ã®\n"
+" \t\tå ´åˆã¯ã‚³ãƒžãƒ³ãƒ‰ãŒåœæ­¢ã—ã¦ã„るジョブã®å…ˆé ­éƒ¨åˆ†ã«ä¸€è‡´ã—ãª\n"
+" \t\tã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。\n"
+" histchars\tヒストリ展開ã¨ã‚¯ã‚¤ãƒƒã‚¯ç½®æ›ã‚’制御ã™ã‚‹æ–‡å­—。最åˆã®æ–‡å­—ãŒ\n"
+" \t\tヒストリ展開ã®æ–‡å­—ã§é€šå¸¸ã¯ `!' ã§ã™ã€‚二番目ãŒã‚¯ã‚¤ãƒƒã‚¯\n"
+" \t\tç½®æ›ã§é€šå¸¸ã¯ `^' ã§ã™ã€‚三番目ãŒãƒ’ストリã®ã‚³ãƒ¡ãƒ³ãƒˆã§\n"
+" \t\t通常㯠`#' ã§ã™ã€‚\n"
+" HISTIGNORE\tヒストリ一覧ã«ä¿å­˜ã•ã‚Œã‚‹ã‚³ãƒžãƒ³ãƒ‰ã‚’決ã‚る時ã«ä½¿ç”¨ã•ã‚Œã‚‹\n"
+" \t\tコロン (:) ã§åŒºåˆ‡ã‚‰ã‚ŒãŸãƒ‘ターンã®ä¸€è¦§ã€‚\n"
+
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3780,8 +5028,36 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"ディレクトリをディレクトリスタックã«åŠ ãˆã¾ã™ã€‚\n"
+" \n"
+" ディレクトリをディレクトリスタックã®å…ˆé ­ã«åŠ ãˆã‚‹ã€ã¾ãŸã¯ãƒ‡ã‚£ãƒ¬\n"
+" クトリを回転ã—ã¦ã‚«ãƒ¬ãƒ³ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚¹ã‚¿ãƒƒã‚¯ã®å…ˆé ­ã«ãªã‚‹ã‚ˆã†\n"
+" ã«ã—ã¾ã™ã€‚引数ãŒãªã„å ´åˆã€å…ˆé ­ã®äºŒã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’入れ替ãˆã¾\n"
+" ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\tスタックã«åŠ ãˆãŸæ™‚ã€é€šå¸¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´ã‚’抑止ã—\n"
+" \tã¾ã™ã€‚よã£ã¦ã‚¹ã‚¿ãƒƒã‚¯ã®ã¿æ“作ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" +N\tN 番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå…ˆé ­ã«ãªã‚‹ã‚ˆã†ã‚¹ã‚¿ãƒƒã‚¯ã‚’回転\n"
+" \tã—ã¾ã™ (`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹ä¸€è¦§ã®å·¦ã‹ã‚‰æ•°ãˆã¾ã™ã€‚開始番å·\n"
+" \t㯠0 ã§ã™)。\n"
+" \n"
+" -N\tN 番目ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒå…ˆé ­ã«ãªã‚‹ã‚ˆã†ã‚¹ã‚¿ãƒƒã‚¯ã‚’回転\n"
+" \tã—ã¾ã™ (`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹ä¸€è¦§ã®å³ã‹ã‚‰æ•°ãˆã¾ã™ã€‚開始番å·\n"
+" \t㯠0 ã§ã™)。\n"
+" \n"
+" dir\tDIR をディレクトリスタックã®å…ˆé ­ã«åŠ ãˆã€ã‚«ãƒ¬ãƒ³ãƒˆ\n"
+" \tディレクトリã«ã—ã¾ã™ã€‚\n"
+" \n"
+" `dirs' 組ã¿è¾¼ã¿é–¢æ•°ã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªå¼•æ•°ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´ãŒå¤±æ•—ã—ãªã„é™ã‚ŠæˆåŠŸã‚’\n"
+" è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3807,8 +5083,32 @@ msgid ""
" Returns success unless an invalid argument is supplied or the directory\n"
" change fails."
msgstr ""
+"ディレクトリスタックã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ã¾ã™ã€‚\n"
+" \n"
+" ディレクトリスタックã‹ã‚‰è¦ç´ ã‚’削除ã—ã¾ã™ã€‚引数ãŒãªã„å ´åˆã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª\n"
+" スタックã®å…ˆé ­ã‹ã‚‰å‰Šé™¤ã—ã€æ–°ã—ã„スタック先頭ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—ã¾"
+"ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n\tスタックã‹ã‚‰ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’削除ã—ãŸæ™‚ã€é€šå¸¸ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰\n"
+" \t更を抑止ã—ã¾ã™ã€‚よã£ã¦ã‚¹ã‚¿ãƒƒã‚¯ã®ã¿æ“作ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" +N\t`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹ä¸€è¦§ã®å·¦ã‹ã‚‰æ•°ãˆã¦ N 番目ã®è¦ç´ ã‚’削除ã—\n"
+" \tã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚例ãˆã°ã€`popd +0' ã¯å…ˆé ­ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’\n"
+" \t削除ã—ã¾ã™ã€‚`popd +1' ã¯äºŒç•ªç›®ã§ã™ã€‚\n"
+" \n"
+" -N\t`dirs' ã§è¡¨ç¤ºã•ã‚Œã‚‹ä¸€è¦§ã®å³ã‹ã‚‰æ•°ãˆã¦ N 番目ã®è¦ç´ ã‚’削除ã—\n"
+" \tã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚例ãˆã°ã€`popd -0' ã¯æœ€å¾Œã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’\n"
+" \t削除ã—ã¾ã™ã€‚`popd -1' ã¯æœ€å¾Œã‹ã‚‰äºŒç•ªç›®ã§ã™ã€‚\n"
+" \n"
+" `dirs' 組ã¿è¾¼ã¿é–¢æ•°ã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯ã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªå¼•æ•°ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå¤‰æ›´ãŒå¤±æ•—ã—ãªã„é™ã‚ŠæˆåŠŸã‚’\n"
+" è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3836,8 +5136,31 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"ディレクトリスタックを表示ã—ã¾ã™ã€‚\n"
+" \n"
+" ç¾åœ¨è¨˜æ†¶ã•ã‚Œã¦ã„るディレクトリ一覧を表示ã—ã¾ã™ã€‚ディレクトリ㯠`pushd'\n"
+" コマンドを使用ã—ã¦ä¸€è¦§ã«è¿½åŠ ã•ã‚Œã€`popd' コマンドを通ã—ã¦ä¸€è¦§ã‹ã‚‰å–ã‚Š\n"
+" 戻ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -c\tå…¨ã¦ã®è¦ç´ ã‚’削除ã—ã¦ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯ã‚’空ã«ã—ã¾ã™\n"
+" -l\tホームディレクトリã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スを ~ を先頭ã«ã—ãŸå½¢å¼ã§\n"
+" \t表示ã—ã¾ã›ã‚“\n"
+" -p\t一行ã«ä¸€ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯è¦ç´ ã‚’表示ã—ã¾ã™\n"
+" -v\t一行ã«ä¸€ã¤ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚¹ã‚¿ãƒƒã‚¯è¦ç´ ã‚’ä½ç½®ã«é–¢ã™ã‚‹ç•ªå·\n"
+" \tã‚’ã¤ã‘ã¦è¡¨ç¤ºã—ã¾ã™\n"
+" \n"
+" 引数:\n"
+" +N\tdirs を引数無ã—ã§å®Ÿè¡Œã—ãŸæ™‚ã®ä¸€è¦§ã§å·¦ã‹ã‚‰æ•°ãˆã¦ N 番目ã®\n"
+" \tè¦ç´ ã®ã¿ã‚’表示ã—ã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚\n"
+" \n"
+" -N\tdirs を引数無ã—ã§å®Ÿè¡Œã—ãŸæ™‚ã®ä¸€è¦§ã§å³ã‹ã‚‰æ•°ãˆã¦ N 番目ã®\n"
+" \tè¦ç´ ã®ã¿ã‚’表示ã—ã¾ã™ã€‚開始番å·ã¯ 0 ã§ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3857,8 +5180,24 @@ msgid ""
" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
" given or OPTNAME is disabled."
msgstr ""
+"シェルオプションを設定ã€ãŠã‚ˆã³è¨­å®šè§£é™¤ã—ã¾ã™ã€‚\n"
+" \n"
+" å„シェルオプション OPTNAME ã®è¨­å®šã‚’変更ã—ã¾ã™ã€‚引数ãŒãªã„å ´åˆã€ã‚·ã‚§ãƒ«\n"
+" オプション全ã¦ã‚’ã€ãã‚Œãžã‚Œè¨­å®šã•ã‚Œã¦ã„ã‚‹ã‹å¦ã‹ã‚’å«ã‚ã¦è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
+" -p\tãã‚Œãžã‚Œã®ã‚·ã‚§ãƒ«ã‚ªãƒ—ションをã€çŠ¶æ…‹ã‚’å«ã‚ã¦è¡¨ç¤ºã—ã¾ã™\n"
+" -q\t出力を抑止ã—ã¾ã™\n"
+" -s\tOPTNAME ã‚’ãã‚Œãžã‚Œæœ‰åŠ¹ (設定) ã«ã—ã¾ã™\n"
+" -u\tOPTNAME ã‚’ãã‚Œãžã‚Œç„¡åŠ¹ (éžè¨­å®š) ã«ã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" OPTNAME ãŒæœ‰åŠ¹ãªå ´åˆã¯æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆ\n"
+" ã¾ãŸã¯ OPTNAME ãŒç„¡åŠ¹ãªå ´åˆã¯å¤±æ•—ã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3881,14 +5220,40 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
"assignment\n"
" error occurs."
msgstr ""
+"ARGUMENTS ã‚’ FORMAT ã§æ›¸å¼æ•´å½¢ã—ã¦è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -v var\t標準出力ã«è¡¨ç¤ºã™ã‚‹ã®ã§ã¯ãªãã€å‡ºåŠ›ã‚’シェル変数 VAR ã«ä»£å…¥ã—ã¾"
+"ã™\n"
+" \n"
+" FORMAT ã¯æ¬¡ã®3種類ã®ã‚ªãƒ–ジェクトをå«ã‚€æ–‡å­—列ã§ã™ã€‚一ã¤ç›®ã¯æ™®é€šã®æ–‡å­—ã§å˜"
+"ã«\n"
+" 標準出力ã«ã‚³ãƒ”ーã•ã‚Œã¾ã™ã€‚二ã¤ç›®ã¯ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—文字ã§å¤‰æ›ã•ã‚ŒãŸå¾Œæ¨™æº–出力"
+"ã«\n"
+" コピーã•ã‚Œã¾ã™ã€‚三ã¤ç›®ã¯æ›¸å¼æŒ‡å®šæ–‡å­—ã§ã€å„文字ã¯å¾Œã«ç¶šã引数を表示ã—ã¾"
+"ã™ã€‚\n"
+" \n"
+" printf(1) ãŠã‚ˆã³ printf(3) ã«è¨˜è¿°ã•ã‚Œã‚‹æ¨™æº–ã®æ›¸å¼æŒ‡å®šã«åŠ ãˆã¦ã€printf "
+"ã¯\n"
+" 次ã®æ–‡å­—を解釈ã—ã¾ã™ã€‚\n"
+" \n"
+" %b\t対応ã™ã‚‹å¼•æ•°ã®ãƒãƒƒã‚¯ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—文字を展開ã—ã¾ã™\n"
+" %q\tシェル入力ã¨ã—ã¦å¼•æ•°ã‚’クオートã—ã¾ã™\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªå¼•æ•°ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã€æ›¸ãè¾¼ã¿ã€ä»£å…¥ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—"
+"ã¾ã™ã€‚"
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3914,8 +5279,30 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"引数㌠Readline ã«ã‚ˆã£ã¦ã©ã®ã‚ˆã†ã«è£œå®Œã•ã‚Œã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAME ã«å¯¾ã—ã¦ã©ã®ã‚ˆã†ã«å¼•æ•°ãŒè£œå®Œã•ã‚Œã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚オプションãŒä¸Ž"
+"ãˆ\n"
+" られãªã„å ´åˆã€æ—¢å­˜ã®è£œå®ŒæŒ‡å®šãŒå…¥åŠ›ã¨ã—ã¦å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã•ã‚Œã¾"
+"ã™ã€‚\n"
+" \n"
+" \n"
+" オプション:\n"
+" -p\t既存ã®è£œå®ŒæŒ‡å®šã‚’å†åˆ©ç”¨å¯èƒ½ãªå½¢å¼ã§è¡¨ç¤ºã—ã¾ã™\n"
+" -r\t補完指定 NAME を削除ã—ã¾ã™ã€‚NAME ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€å…¨ã¦ã®\n"
+" \t補完指定を削除ã—ã¾ã™ã€‚\n"
+" -D\t補完指定ãŒå®šç¾©ã•ã‚Œã¦ã„ãªã„時ã®ã‚³ãƒžãƒ³ãƒ‰ã«å¯¾ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®\n"
+" \t補完ã¨å‹•ä½œã‚’é©ç”¨ã—ã¾ã™\n"
+" -E\t\"空\" コマンドã«å¯¾ã™ã‚‹è£œå®Œ (空行ã«å¯¾ã™ã‚‹è£œå®Œã®è©¦ã¿) ã¨å‹•ä½œ\n"
+" \tã‚’é©ç”¨ã—ã¾ã™\n"
+" \n"
+" 補完ãŒè©¦ã¿ã‚‰ã‚ŒãŸæ™‚ã€ä¸Šè¨˜ã‚ªãƒ—ションã®ã†ã¡å¤§æ–‡å­—ã®ã‚ªãƒ—ションã®å‹•ä½œãŒ\n"
+" è¡Œã‚ã‚Œã¾ã™ã€‚-D オプション㯠-E オプションより優先ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3927,14 +5314,24 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
+"オプションã«åŸºã¥ã„ãŸè£œå®Œå€™è£œã‚’表示ã—ã¾ã™ã€‚\n"
+" \n"
+" シェル関数ã®ä¸­ã§è£œå®Œå€™è£œã‚’を生æˆã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹ã‚ˆã†ã«æ„図ã•ã‚Œã¦ã„ã¾"
+"ã™ã€‚\n"
+" オプション引数 WORD ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€WORD ã«å¯¾ã—ã¦ä¸€è‡´ã—ãŸå€™è£œãŒç”Ÿæˆ\n"
+" ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãªã„é™ã‚ŠæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1938
+#: builtins.c:1956
+#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3958,8 +5355,34 @@ msgid ""
" Returns success unless an invalid option is supplied or NAME does not\n"
" have a completion specification defined."
msgstr ""
+"補完オプションを編集ã¾ãŸã¯è¡¨ç¤ºã—ã¾ã™ã€‚\n"
+" \n"
+" å„ NAME ã«å¯¾ã—ã¦è£œå®Œã‚ªãƒ—ションを変更ã—ã¾ã™ã€‚NAME ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€\n"
+" 補完ãŒç›´ã¡ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ã‚‚ã— OPTION ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€å„ NAME \n"
+" ã¾ãŸã¯ç¾åœ¨ã®è£œå®Œã«å¯¾ã™ã‚‹è£œå®Œã‚ªãƒ—ションを表示ã—ã¾ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" \t-o option\tå„ NAME ã«å¯¾ã—ã¦è£œå®Œã‚ªãƒ—ション OPTION を設定ã—ã¾ã™\n"
+" \t-D\t\t\"デフォルト\" コマンド補完オプションを変更ã—ã¾ã™\n"
+" \t-E\t\t\"空\" コマンド補完オプションを変更ã—ã¾ã™\n"
+" \n"
+" `-o' ã®ä»£ã‚ã‚Šã« `+o' を使用ã™ã‚‹ã¨æŒ‡å®šã—ãŸã‚ªãƒ—ションをオフã«ã—ã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" \n"
+" å„ NAME 㯠`complete' 組ã¿è¾¼ã¿é–¢æ•°ã‚’使ã£ã¦äº‹å‰ã«å®šç¾©ã•ã‚ŒãŸè£œå®ŒæŒ‡å®šã‚’コ"
+"マ\n"
+" ンドを指ã—示ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。NAME ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€compopt ã¯\n"
+" 補完をã“ã‚Œã‹ã‚‰ç”Ÿæˆã™ã‚‹é–¢æ•°ã‹ã‚‰å‘¼ã³å‡ºã•ã‚Œãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。ãã—ã¦\n"
+" 補完をã“ã‚Œã‹ã‚‰ç”Ÿæˆã™ã‚‹é–¢æ•°ã«å¯¾ã™ã‚‹ã‚ªãƒ—ションãŒå¤‰æ›´ã•ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã‹ã€ NAME ãŒè£œå®ŒæŒ‡å®šã¨ã—ã¦å®šç¾©ã•ã‚Œã¦ã„ãªã„å ´"
+"åˆ\n"
+" を除ãã€æˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
-#: builtins.c:1968
+#: builtins.c:1986
+#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3987,7 +5410,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -3998,198 +5422,256 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
-
-#: builtins.c:2001
+"標準入力ã‹ã‚‰è¡Œã‚’読ã¿è¾¼ã¿ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹åž‹é…列ã«ä»£å…¥ã—ã¾ã™ã€‚\n"
+" \n"
+" 標準入力ã€-u オプションãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã¯ãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ FD ã‹ã‚‰è¡Œã‚’読ã¿è¾¼"
+"ã¿ã€\n"
+" インデックス型é…列変数 ARRAY ã«ä»£å…¥ã—ã¾ã™ã€‚変数 ARRAY ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ "
+"MAPFILE\n"
+" ã§ã™ã€‚\n"
+" \n"
+" オプション:\n"
+" -n count\t最大 COUNT 行をコピーã—ã¾ã™ã€‚COUNT ㌠0 ã®å ´åˆã€å…¨ã¦ã®è¡Œã‚’コ"
+"ピーã—ã¾ã™ã€‚\n"
+" -O origin\té…列ã®é–‹å§‹ç•ªå·ã‚’ ORIGIN ã«ã—ã¾ã™ã€‚デフォルト㯠0 ã§ã™ã€‚\n"
+" -s count \t最åˆã® COUNT è¡Œã®èª­ã¿è¾¼ã¿ã‚’破棄ã—ã¾ã™ã€‚\n"
+" -t\t\tå„行を読ã¿è¾¼ã‚“ã æ™‚ã«æœ€å¾Œã®æ”¹è¡Œã‚’削除ã—ã¾ã™ã€‚\n"
+" -u fd\t\t標準入力ã§ã¯ãªããƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­ FD ã‹ã‚‰è¡Œã‚’読ã¿è¾¼ã¿ã¾ã™\n"
+" -C callback\tQUANTUM 行を読ã¿è¾¼ã‚€æ¯Žã« CALLBACK を評価ã—ã¾ã™ã€‚\n"
+" -c quantum\tCALLBACK を何行読ã¿è¾¼ã‚€æ¯Žã«å®Ÿè¡Œã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚\n"
+" \n"
+" 引数:\n"
+" ARRAY\t\tデータをä¿å­˜ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹é…列変数å\n"
+" \n"
+" ã‚‚ã— -c ãŒæŒ‡å®šã•ã‚Œãšã« -C ãŒä¸Žãˆã‚‰ã‚ŒãŸå ´åˆã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® quantum 㯠5000 "
+"ã§ã™ã€‚\n"
+" CALLBACK ãŒè©•ä¾¡ã•ã‚ŒãŸæ™‚ã€è¿½åŠ ã®å¼•æ•°ã¨ã—ã¦é…列ã®æ¬¡è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒæ¸¡ã•"
+"ã‚Œã¾ã™ã€‚\n"
+" \n"
+" 明示的ã«é–‹å§‹ç•ªå·ãŒä¸Žãˆã‚‰ã‚Œãªã„å ´åˆã€mapfile ã¯ä»£å…¥å‰ã« ARRAY を空ã«ã—ã¾"
+"ã™ã€‚\n"
+" \n"
+" 終了ステータス:\n"
+" 無効ãªã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€é…列ãŒèª­ã¿å–り専用ã€ã¾ãŸã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹åž‹é…"
+"列ã§ç„¡ã„\n"
+" å ´åˆã‚’除ãæˆåŠŸã‚’è¿”ã—ã¾ã™ã€‚"
+
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
" A synonym for `mapfile'."
msgstr ""
+"ファイルã‹ã‚‰è¡Œã‚’読ã¿è¾¼ã¿é…列変数ã«ä»£å…¥ã—ã¾ã™ã€‚\n"
+" \n"
+" `mapfile'ã®åˆ¥åã§ã™ã€‚"
+
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ "。 EXPR ãŒå­˜åœ¨ã™ã‚‹å ´åˆã€æ¬¡ã‚’è¿”ã—ã¾ã™ \n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "。ã“ã®è¿½åŠ ã®æƒ…å ±ã¯ã‚¹ã‚¿ãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹\n"
+#~ " ã‚’æä¾›ã™ã‚‹æ™‚ã«åˆ©ç”¨ã—ã¾ã™ã€‚\n"
+#~ "\n"
+#~ " EXPR ã®å€¤ã¯ç¾åœ¨ã®ãƒ•ãƒ¬ãƒ¼ãƒ ã«æˆ»ã‚‹ã¾ã§ã«ä½•å›žãƒ•ãƒ¬ãƒ¼ãƒ ãŒå‘¼ã³å‡ºã•ã‚Œã¦ã„ã‚‹ã‹"
+#~ "ã‚’\n"
+#~ " æ„味ã—ã¾ã™ã€‚最上ä½ã®ãƒ•ãƒ¬ãƒ¼ãƒ ã¯ 0 ã§ã™ã€‚"
#~ msgid "Missing `}'"
-#~ msgstr "`}'¤¬¤¢¤ê¤Þ¤»¤ó"
+#~ msgstr "`}'ãŒã‚ã‚Šã¾ã›ã‚“"
#~ msgid "brace_expand> "
-#~ msgstr "¥Ö¥ì¡¼¥¹Å¸³«> "
+#~ msgstr "ブレース展開> "
#~ msgid "Attempt to free unknown command type `%d'.\n"
-#~ msgstr "̤ÃΤʥ³¥Þ¥ó¥É¥¿¥¤¥× `%d' ¤ò³«Êü¤·¤è¤¦¤È¤·¤Æ¤Þ¤¹.\n"
+#~ msgstr "未知ãªã‚³ãƒžãƒ³ãƒ‰ã‚¿ã‚¤ãƒ— `%d' を開放ã—よã†ã¨ã—ã¦ã¾ã™.\n"
#~ msgid "Report this to %s\n"
-#~ msgstr "%s ¤ËÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤\n"
+#~ msgstr "%s ã«å ±å‘Šã—ã¦ãã ã•ã„\n"
#~ msgid "Stopping myself..."
-#~ msgstr "Ää»ß¤·¤Þ¤¹..."
+#~ msgstr "åœæ­¢ã—ã¾ã™..."
#~ msgid "Tell %s to fix this someday.\n"
-#~ msgstr "%s ¤Ë¤¤¤Ä¤«¤³¤ì¤òľ¤¹¤è¤¦¤ËÅÁ¤¨¤Æ¤¯¤À¤µ¤¤.\n"
+#~ msgstr "%s ã«ã„ã¤ã‹ã“れを直ã™ã‚ˆã†ã«ä¼ãˆã¦ãã ã•ã„.\n"
#~ msgid "execute_command: bad command type `%d'"
-#~ msgstr "¥³¥Þ¥ó¥É¼Â¹Ô: ´Ö°ã¤Ã¤¿¥³¥Þ¥ó¥É¥¿¥¤¥× `%d'"
+#~ msgstr "コマンド実行: é–“é•ã£ãŸã‚³ãƒžãƒ³ãƒ‰ã‚¿ã‚¤ãƒ— `%d'"
#~ msgid "real\t"
-#~ msgstr "¼Â\t"
+#~ msgstr "実\t"
#~ msgid "user\t"
-#~ msgstr "¥æ¡¼¥¶\t"
+#~ msgstr "ユーザ\t"
#~ msgid "sys\t"
-#~ msgstr "¥·¥¹¥Æ¥à\t"
+#~ msgstr "システム\t"
#~ msgid ""
#~ "real\t0m0.00s\n"
#~ "user\t0m0.00s\n"
#~ "sys\t0m0.00s\n"
#~ msgstr ""
-#~ "¼Â\t0m0.00s\n"
-#~ "¥æ¡¼¥¶\t0m0.00s\n"
-#~ "¥·¥¹¥Æ¥à\t0m0.00s\n"
+#~ "実\t0m0.00s\n"
+#~ "ユーザ\t0m0.00s\n"
+#~ "システム\t0m0.00s\n"
#~ msgid "cannot duplicate fd %d to fd 1: %s"
-#~ msgstr "fd %d ¤ò fd 1 ¤ËÊ£À½¤Ç¤­¤Þ¤»¤ó: %s"
+#~ msgstr "fd %d ã‚’ fd 1 ã«è¤‡è£½ã§ãã¾ã›ã‚“: %s"
#~ msgid "%s: output redirection restricted"
-#~ msgstr "%s: ½ÐÎÏ¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó¤¬À©¸Â¤µ¤ì¤Æ¤Þ¤¹"
+#~ msgstr "%s: 出力リダイレクションãŒåˆ¶é™ã•ã‚Œã¦ã¾ã™"
#~ msgid "Out of memory!"
-#~ msgstr "¥á¥â¥ê¤¬¤¢¤ê¤Þ¤»¤ó!"
+#~ msgstr "メモリãŒã‚ã‚Šã¾ã›ã‚“!"
#~ msgid "You have already added item `%s'\n"
-#~ msgstr "¤¢¤Ê¤¿¤Ï´û¤Ë¥¢¥¤¥Æ¥à`%s'¤òÉÕ¤±Â­¤·¤Æ¤Þ¤¹\n"
+#~ msgstr "ã‚ãªãŸã¯æ—¢ã«ã‚¢ã‚¤ãƒ†ãƒ `%s'を付ã‘足ã—ã¦ã¾ã™\n"
#~ msgid "You have entered %d (%d) items. The distribution is:\n"
#~ msgstr ""
-#~ "¤¢¤Ê¤¿¤Þ¤Ï %d (%d) ¥¢¥¤¥Æ¥à¤òÆþÎϤ·¤Þ¤·¤¿¡£¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ï:\n"
+#~ "ã‚ãªãŸã¾ã¯ %d (%d) アイテムを入力ã—ã¾ã—ãŸã€‚ディストリビューションã¯:\n"
#~ msgid "%s: bg background job?"
-#~ msgstr "%s: bg ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Î»Å»ö?"
+#~ msgstr "%s: bg ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã®ä»•äº‹?"
#~ msgid ""
#~ "Redirection instruction from yyparse () '%d' is\n"
#~ "out of range in make_redirection ()."
#~ msgstr ""
-#~ "yyparse () '%d' ¤«¤é¤Î¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó»Ø¼¨¤Ï\n"
-#~ "make_redirection () ¤ÎÈϰϳ°¤Ç¤¹."
+#~ "yyparse () '%d' ã‹ã‚‰ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³æŒ‡ç¤ºã¯\n"
+#~ "make_redirection () ã®ç¯„囲外ã§ã™."
#~ msgid "clean_simple_command () got a command with type %d."
-#~ msgstr "clean_simple_command () ¤Ï¥¿¥¤¥× %d ¤Î¥³¥Þ¥ó¥É¤òÆÀ¤Þ¤·¤¿."
+#~ msgstr "clean_simple_command () ã¯ã‚¿ã‚¤ãƒ— %d ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’å¾—ã¾ã—ãŸ."
#~ msgid "got errno %d while waiting for %d"
-#~ msgstr "¥¨¥é¡¼ÈÖ¹æ %d ¤ò %d ¤òÂԤäƤ¤¤ë´Ö¤ËÆÀ¤Þ¤·¤¿"
+#~ msgstr "ã‚¨ãƒ©ãƒ¼ç•ªå· %d ã‚’ %d ã‚’å¾…ã£ã¦ã„ã‚‹é–“ã«å¾—ã¾ã—ãŸ"
#~ msgid "syntax error near unexpected token `%c'"
-#~ msgstr "´üÂÔ¤·¤Æ¤Ê¤¤ token `%c' ¤Î¤¢¤¿¤ê¤Ë¥·¥ó¥¿¥Ã¥¯¥¹¥¨¥é¡¼"
+#~ msgstr "期待ã—ã¦ãªã„ token `%c' ã®ã‚ãŸã‚Šã«ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼"
#~ msgid "cprintf: bad `%%' argument (%c)"
-#~ msgstr "cprintf: °­¤¤ `%%' °ú¿ô (%c)"
+#~ msgstr "cprintf: 悪ㄠ`%%' 引数 (%c)"
#~ msgid "option `%s' requires an argument"
-#~ msgstr "optie `%s' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹"
+#~ msgstr "optie `%s' ã¯å¼•æ•°ã‚’å¿…è¦ã¨ã—ã¾ã™"
#~ msgid "%s: unrecognized option"
-#~ msgstr "%s: ǧ¼±¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó"
+#~ msgstr "%s: èªè­˜ã§ããªã„オプション"
#~ msgid "`-c' requires an argument"
-#~ msgstr "`-c' °ú¿ô¤òɬÍפȤ·¤Þ¤¹"
+#~ msgstr "`-c' 引数を必è¦ã¨ã—ã¾ã™"
#~ msgid "%s: cannot execute directories"
-#~ msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó"
+#~ msgstr "%s: ディレクトリを実行ã§ãã¾ã›ã‚“"
#~ msgid "Bad code in sig.c: sigprocmask"
-#~ msgstr "sig.c ¤ÎÃæ¤Ë°­¤¤¥³¡¼¥É: sigprocmask"
+#~ msgstr "sig.c ã®ä¸­ã«æ‚ªã„コード: sigprocmask"
#~ msgid "bad substitution: no ending `}' in %s"
-#~ msgstr "°­¤¤ÂåÆþ: ½ªÎ»¤¹¤ë `}' ¤¬ %s ¤Ë¤¢¤ê¤Þ¤»¤ó"
+#~ msgstr "悪ã„代入: 終了ã™ã‚‹ `}' ㌠%s ã«ã‚ã‚Šã¾ã›ã‚“"
#~ msgid "%s: bad array subscript"
-#~ msgstr "%s: °­¤¤ÇÛÎó subscript"
+#~ msgstr "%s: 悪ã„é…列 subscript"
#~ msgid "can't make pipes for process substitution: %s"
-#~ msgstr "¥×¥í¥»¥¹¤ÎÂåÆþ¤Ë¥Ñ¥¤¥×¤òºîÀ®¤Ç¤­¤Þ¤»¤ó: %s"
+#~ msgstr "プロセスã®ä»£å…¥ã«ãƒ‘イプを作æˆã§ãã¾ã›ã‚“: %s"
#~ msgid "reading"
-#~ msgstr "Æɤ߹þ¤ßÃæ"
+#~ msgstr "読ã¿è¾¼ã¿ä¸­"
#~ msgid "process substitution"
-#~ msgstr "¥×¥í¥»¥¹¤ÎÂåÍý"
+#~ msgstr "プロセスã®ä»£ç†"
#~ msgid "command substitution"
-#~ msgstr "¥³¥Þ¥ó¥É¤ÎÂåÍý"
+#~ msgstr "コマンドã®ä»£ç†"
#~ msgid "Can't reopen pipe to command substitution (fd %d): %s"
-#~ msgstr "¥³¥Þ¥ó¥É¤ÎÂåÍý¤Ë¥Ñ¥¤¥×¤òºÆ¤Ó³«¤±¤Þ¤»¤ó (fd %d): %s"
+#~ msgstr "コマンドã®ä»£ç†ã«ãƒ‘イプをå†ã³é–‹ã‘ã¾ã›ã‚“ (fd %d): %s"
#~ msgid "$%c: unbound variable"
-#~ msgstr "$%c: Ÿ³«¤µ¤ì¤Æ¤¤¤Ê¤¤ÊÑ¿ô"
+#~ msgstr "$%c: 展開ã•ã‚Œã¦ã„ãªã„変数"
#~ msgid "%s: bad arithmetic substitution"
-#~ msgstr "%s: ´Ö°ã¤Ã¤¿»»½ÑÂåÆþ"
+#~ msgstr "%s: é–“é•ã£ãŸç®—術代入"
#~ msgid "option %c\n"
-#~ msgstr "¥ª¥×¥·¥ç¥ó %c\n"
+#~ msgstr "オプション %c\n"
#~ msgid "option a\n"
-#~ msgstr "¥ª¥×¥·¥ç¥ó a\n"
+#~ msgstr "オプション a\n"
#~ msgid "option b\n"
-#~ msgstr "¥ª¥×¥·¥ç¥ó b\n"
+#~ msgstr "オプション b\n"
#~ msgid "option c with value `%s'\n"
-#~ msgstr "ÃÍ `%s' ¤Î¥ª¥×¥·¥ç¥ó c\n"
+#~ msgstr "値 `%s' ã®ã‚ªãƒ—ション c\n"
#~ msgid "?? sh_getopt returned character code 0%o ??\n"
-#~ msgstr "?? sh_getopt ¤Ï¥­¥ã¥é¥¯¥¿¡¼¥³¡¼¥É 0%o ¤òÊÖ¤·¤Þ¤·¤¿ ??\n"
+#~ msgstr "?? sh_getopt ã¯ã‚­ãƒ£ãƒ©ã‚¯ã‚¿ãƒ¼ã‚³ãƒ¼ãƒ‰ 0%o ã‚’è¿”ã—ã¾ã—㟠??\n"
#~ msgid "%s: Unknown flag %s.\n"
-#~ msgstr "%s: ̤ÃΤΥե饰 %s.\n"
+#~ msgstr "%s: 未知ã®ãƒ•ãƒ©ã‚° %s.\n"
#~ msgid "%s requires an argument"
-#~ msgstr "%s °ú¿ô¤¬É¬Í×"
+#~ msgstr "%s 引数ãŒå¿…è¦"
#~ msgid "%s must be inside of a $BUILTIN block"
-#~ msgstr "%s ¤Ï $BUILTIN ¥Ö¥í¥Ã¥¯¤ÎÃæ¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
+#~ msgstr "%s 㯠$BUILTIN ブロックã®ä¸­ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“"
#~ msgid "%s found before $END"
-#~ msgstr "%s ¤¬ $END ¤ÎÁ°¤Ë¸«¤Ä¤«¤ê¤Þ¤·¤¿"
+#~ msgstr "%s ㌠$END ã®å‰ã«è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ"
#~ msgid "%s already has a function (%s)"
-#~ msgstr "%s ¤Ï´û¤Ë´Ø¿ô¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹ (%s)"
+#~ msgstr "%s ã¯æ—¢ã«é–¢æ•°ã‚’æŒã£ã¦ã„ã¾ã™ (%s)"
#~ msgid "%s already had a docname (%s)"
-#~ msgstr "%s ¤Ï´û¤Ëdocname¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹ (%s) "
+#~ msgstr "%s ã¯æ—¢ã«docnameã‚’æŒã£ã¦ã„ã¾ã™ (%s) "
#~ msgid "%s already has short documentation (%s)"
-#~ msgstr "%s ¤Ï´û¤Ë¾®¥É¥­¥å¥á¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹ (%s)"
+#~ msgstr "%s ã¯æ—¢ã«å°ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’æŒã£ã¦ã„ã¾ã™ (%s)"
#~ msgid "%s already has a %s definition"
-#~ msgstr "%s ¤Ï´û¤Ë % sÄêµÁ¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+#~ msgstr "%s ã¯æ—¢ã« % s定義をæŒã£ã¦ã„ã¾ã™"
#~ msgid "mkbuiltins: Out of virtual memory!\n"
-#~ msgstr "mkbuiltins: ²¾ÁÛ¥á¥â¥êÀÚ¤ì!\n"
+#~ msgstr "mkbuiltins: 仮想メモリ切れ!\n"
#~ msgid "read [-r] [-p prompt] [-a array] [-e] [name ...]"
-#~ msgstr "read [-r] [-p prompt] [-a ÇÛÎó] [-e] [̾Á° ...]"
+#~ msgstr "read [-r] [-p prompt] [-a é…列] [-e] [åå‰ ...]"
#~ msgid "%[DIGITS | WORD] [&]"
-#~ msgstr "%[·å¿ô | ¸ÀÍÕ] [%]"
+#~ msgstr "%[æ¡æ•° | 言葉] [%]"
#~ msgid "variables - Some variable names and meanings"
-#~ msgstr "ÊÑ¿ô - ÊÑ¿ô̾¤È°ÕÌ£"
+#~ msgstr "変数 - 変数åã¨æ„味"
#~ msgid "`alias' with no arguments or with the -p option prints the list"
-#~ msgstr "°ú¿ô̵¤·Ëô¤Ï¥ª¥×¥·¥ç¥ó -p ÉÕ¤­¤Î`alias'¤Ï¥ê¥¹¥È¤ò½ÐÎÏ"
+#~ msgstr "引数無ã—åˆã¯ã‚ªãƒ—ション -p 付ãã®`alias'ã¯ãƒªã‚¹ãƒˆã‚’出力"
#~ msgid "of aliases in the form alias NAME=VALUE on standard output."
-#~ msgstr "ɸ½à½ÐÎϤΠ̾Á°=ÃÍ ¤Î·Á¼°¤Ç¥¨¥¤¥ê¥¢¥¹"
+#~ msgstr "標準出力㮠åå‰=値 ã®å½¢å¼ã§ã‚¨ã‚¤ãƒªã‚¢ã‚¹"
#~ msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-#~ msgstr "¤µ¤â¤Ê¤±¤ì¤Ð¡¢¤½¤ì¤¾¤ìÃͤÎÍ¿¤¨¤é¤ì¤¿Ì¾Á°¤Ë¥¨¥¤¥ê¥¢¥¹¤ÏÄêµÁ¤µ¤ì¤ë."
+#~ msgstr "ã•ã‚‚ãªã‘ã‚Œã°ã€ãã‚Œãžã‚Œå€¤ã®ä¸Žãˆã‚‰ã‚ŒãŸåå‰ã«ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã¯å®šç¾©ã•ã‚Œã‚‹."
#~ msgid "true unless a NAME is given for which no alias has been defined."
-#~ msgstr "¥¨¥¤¥ê¥¢¥¹¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢[̾Á°]¤¬ÅϤµ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¿¿"
+#~ msgstr "エイリアスãŒå®šç¾©ã•ã‚Œã¦ãŠã‚‰ãšã€[åå‰]ãŒæ¸¡ã•ã‚Œã¦ã„ãªã‘ã‚Œã°çœŸ"
#~ msgid "then remove all alias definitions."
-#~ msgstr "Á´¤Æ¤Î¥¨¥¤¥ê¥¢¥¹¤ÎÄêµÁ¤òºï½ü."
+#~ msgstr "å…¨ã¦ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã®å®šç¾©ã‚’削除."
#~ msgid "Arguments we accept:"
-#~ msgstr "¼õ¤±¼è¤ë°ú¿ô¤Ï:"
+#~ msgstr "å—ã‘å–る引数ã¯:"
diff --git a/po/lt.gmo b/po/lt.gmo
index a3be0fa..ea18836 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index d0000ec..058c614 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash-4.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2009-03-25 16:49+0200\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "blogas masyvo indeksas"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -42,26 +42,26 @@ msgstr "%s: nepavyko priskirti prie neskaitinio indekso"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: nepavyko sukurti: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: nepavyko rasti keymapo komandai"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: pirmas ne tarpo simbolis nėra „\"“"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "nÄ—ra uždaranÄiojo „%c“ %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: trūksta dvitaškio skirtuko"
@@ -121,26 +121,11 @@ msgid ""
" Without EXPR, returns "
msgstr "Grąžina esamos procedūros kontekstą."
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME nenustatytas"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD nenustatytas"
@@ -159,11 +144,11 @@ msgstr "įspėjimas: "
msgid "%s: usage: "
msgstr "%s: naudojimas: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "per daug argumentų"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: parametrui reikia argumento"
@@ -201,7 +186,7 @@ msgstr "netaisyklingas aÅ¡tuonetainis skaiÄius"
msgid "invalid hex number"
msgstr "netaisyklingas Å¡eÅ¡ioliktainis skaiÄius"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "netaisyklingas skaiÄius"
@@ -310,25 +295,25 @@ msgstr "įspėjimas: parametras -C gali neveikti taip, kaip tikitės"
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "galima naudoti tik funkcijoje"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "negalima naudoti „-f“ funkcijoms kurti"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funkcija tik skaitymui"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: negalima tokiu būdu sunaikinti masyvų kintamųjų"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -357,29 +342,29 @@ msgstr "%s: nedinamiškai įkrauta"
msgid "%s: cannot delete: %s"
msgstr "%s: nepavyko ištrinti: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: aplankas"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ne paprastas failas"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: failas per didelis"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: negalima vykdyti dvejetainių failų"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: nepavyko paleisti: %s"
@@ -407,11 +392,11 @@ msgstr "Yra veikianÄių darbų.\n"
msgid "no command found"
msgstr "komandų nerasta"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "istorijos specifikacija"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: nepavyko atverti laikinojo failo: %s"
@@ -444,7 +429,7 @@ msgstr "maiša išjungta"
msgid "%s: hash table empty\n"
msgstr "%s: maiÅ¡os lentelÄ— tuÅ¡Äia\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "paskutinÄ— komanda: %s\n"
@@ -513,77 +498,87 @@ msgstr "%s: istorijos išskleidimas nesėkmingas"
msgid "no other options allowed with `-x'"
msgstr "su „-x“ neleidžiama naudoti kitų parametrų"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumentai turi būti procesų arba darbų ID"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Nežinoma klaida"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "tikėtasi išraiškos"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: ne masyvo kintamasis"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: netaisyklinga failo deskriptoriaus specifikacija"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: netaisyklingas failo deskriptorius: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: nesamas parametras"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: nesamas parametras"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: netaisyklingas veiksmo pavadinimas"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: ne masyvo kintamasis"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "„%s“: trūksta formato simbolio"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: klaidinga laiko ribos (timeout) specifikacija"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "„%c“: netaisyklingas formato simbolis"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "įspėjimas: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "trūksta šešioliktainio skaitmens išraiškoje \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "trūksta šešioliktainio skaitmens išraiškoje \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "nÄ—ra kito aplanko"
@@ -685,21 +680,21 @@ msgstr "skaitymo klaida: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "galima grįžti (return) tik iš funkcijos ar scenarijaus"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "negalima kartu ištrinti funkcijos ir kintamojo"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: nepavyko ištrinti"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: nepavyko ištrinti: %s tik skaitymui"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ne masyvo kintamasis"
@@ -713,20 +708,20 @@ msgstr "%s: ne funkcija"
msgid "shift count"
msgstr "postÅ«mių skaiÄius"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "negalima aplinkos nuostatos vienu metu įjungti ir išjungti"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: netaisyklingas aplinkos nuostatos pavadinimas"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "reikia failo pavadinimo argumento"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: failas nerastas"
@@ -769,26 +764,26 @@ msgstr "%s yra %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s yra hešuotas (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: netaisyklingas limito argumentas"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': bloga komanda"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: nepavyko gauti limito: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "riba"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: nepavyko pakeisti limito: %s"
@@ -844,107 +839,112 @@ msgstr "%s: nepriskirtas kintamasis"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "laukiant įvedimo baigėsi laikas: automatiškai atsijungta\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\alaukiant įvedimo baigėsi laikas: automatiškai atsijungta\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "nepavyko peradresuoti standartinio įvedimo iš /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: „%c“: netaisyklingas formato simbolis"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "rašymo klaida: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: apribota: negalima naudoti „/“ komandų pavadinimuose"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: komanda nerasta"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s yra %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: blogas interpretatorius"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "nepavyko dublikuoti fd %d į fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "viršytas išraiškos rekursijos lygis"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "rekursijos steko atvirkštinis perpildymas"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "sintaksės klaida išraiškoje"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "bandymas priskirti ne kintamajam"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "dalyba iš 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "klaida: bloga expassign leksema"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "sąlygos išraiškoje tikėtasi „:“"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "eksponentė mažesnis už 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
"po prieš-didinimo ar prieš-mažinimo operatoriaus tikėtasi identifikatoriaus"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "Trūksta „)“"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "sintaksÄ—s klaida: tikÄ—tasi operando"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "sintaksÄ—s klaida: netaisyklingas aritmetinis operatorius"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "netaisyklingas aritmetinis pagrindas"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "per didelė pagrindo reikšmė"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: išraiškos klaida\n"
@@ -953,163 +953,163 @@ msgstr "%s: išraiškos klaida\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: nepavyko pasiekti aukštesnių aplankų"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "nepavyko dublikuoti fd %d į fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "nepavyko išskirti naujo failo deskriptoriaus bash įvedimui iš fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: naujam fd %d buferis jau egzistuoja"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "trinamas sustabdytas darbas %d procesų grupėje %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: tokio pid nÄ—ra"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signalas %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Atlikta"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Atlikta(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Nežinoma būsena"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld nÄ—ra Å¡ios aplinkos dukterinis procesas"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: nėra proceso %ld įrašo"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: darbas %d yra sustabdytas"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: darbas užsibaigė"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: darbas %d jau fone"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: %d eilutÄ—: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "šioje aplinkoje nėra darbų valdymo"
@@ -1262,99 +1262,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: nukreipimo instrukcija „%d“ už ribų"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "netikėta failo pabaiga ieškant atitinkamo „%c“"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "netikėta failo pabaiga ieškant „]]“"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "sintaksės klaida sąlygos išraiškoje: netikėta leksema „%s“"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "sintaksės klaida sąlygos išraiškoje"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "netikėta leksema „%s“, tikėtasi „)“"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "tikėtasi „)“"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "netikėtas argumentas „%s“ sąlygos unariniam operatoriui"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "netikÄ—tas argumentas sÄ…lygos unariniam operatoriui"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "netikėta leksema „%s“, tikėtasi sąlyginio binarinio operatoriaus"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "tikÄ—tasi sÄ…lygos binarinio operatoriaus"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "netikėtas argumentas „%s“ sąlygos binariniam operatoriui"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "netikÄ—tas argumentas sÄ…lygos binariniam operatoriui"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "netikėta leksema „%c“ sąlygos komandoje"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "netikėta leksema „%s“ sąlygos komandoje"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "netikÄ—ta leksema %d sÄ…lygos komandoje"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "sintaksės klaida prie netikėtos leksemos: „%s“"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "sintaksės klaida prie „%s“"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "sintaksÄ—s klaida: netikÄ—ta failo pabaiga"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "sintaksÄ—s klaida"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Naudokite „%s“, jei norite išeiti iš ap.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "netikėta failo pabaiga ieškant atitinkamo „)“"
@@ -1363,77 +1363,77 @@ msgstr "netikėta failo pabaiga ieškant atitinkamo „)“"
msgid "completion: function `%s' not found"
msgstr "completion: funkcija „%s“ nerasta"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: blogas jungtukas  „%d“"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: netaisyklingas failo deskriptorius: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: „%c“: netaisyklingas formato simbolis"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "failo deskriptorius už ribų"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: ambiguous redirect"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: negalima perraÅ¡yti egzistuojanÄio failo"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: apribota: negalima peradresuoti išvedimo"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "nepavyko sukurti laikino failo „here“ dokumentui: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: negalima priskirti sąrašo masyvo elementui"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/serveris/prievadas nepalaikoma be tinklo"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "nukreipimo klaida: nepavyko dublikuoti fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "nepavyko rasti /tmp, sukurkite šį aplanką!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp turi būti taisyklingas aplanko pavadinimas"
@@ -1442,16 +1442,16 @@ msgstr "/tmp turi būti taisyklingas aplanko pavadinimas"
msgid "%c%c: invalid option"
msgstr "%c%c: netaisyklingas parametras"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Neturiu vardo!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versija %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1460,42 +1460,42 @@ msgstr ""
"Naudojimas:\t%s [GNU ilgas parametras] [parametras] ...\n"
"\t%s [GNU ilgas parametras] [parametras] scenarijaus-failas ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU ilgi parametrai:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Aplinkos parametrai:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
"\t-irsD arba -c komanda arba -O shopt_nustatymas\t\t(tik iškvietimui)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s arba -o nustatymas\n"
-#: shell.c:1822
+#: shell.c:1824
#, fuzzy, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Bandykite „%s --help“ arba „%s --usage“, jei norite gauti daugiau "
"informacijos.\n"
-#: shell.c:1823
+#: shell.c:1825
#, fuzzy, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Bandykite „ldd --help“, jei norite daugiau informacijos."
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Naudokite komandą „bashbug“ klaidoms pranešti.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: netaisyklinga operacija"
@@ -1670,83 +1670,83 @@ msgstr "Nežinomas signalas #"
msgid "Unknown Signal #%d"
msgstr "Nežinomas signalas #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "blogas keitinys: trūksta „%s“ %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: negalima priskirti sąrašo masyvo elementui"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametras tuÅ¡Äias arba nenustatytas"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: posekio išraiška < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: blogas keitinys"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: negalima tokiu būdu priskirti"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "blogas keitinys: trūksta „%s“ %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "nėra atitikmenų: %s"
@@ -1769,36 +1769,36 @@ msgstr "tikėtasi „)“"
msgid "`)' expected, found %s"
msgstr "tikėtasi „)“, rasta %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: tikÄ—tasi unarinio operatoriaus"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: tikÄ—tasi binarinio operatoriaus"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "trūksta „]“"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "netaisyklingas signalo numeris"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: bloga trap_list[%d] reikšmė: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr "run_pending_traps: signalo doroklÄ— yra SIG_DFL, siunÄiamas %d (%s) sau"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: blogas signalas %d"
@@ -1808,58 +1808,59 @@ msgstr "trap_handler: blogas signalas %d"
msgid "error importing function definition for `%s'"
msgstr "klaida importuojant funkcijos apibrėžimą „%s“"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "aplinkos lygmuo (%d) per aukštas, nustatoma į 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametras tuÅ¡Äias arba nenustatytas"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "netaisyklingas simbolis %d %s exportstr'e"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "%s exportstr'e trūksta „=“"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: nÄ—ra global_variables konteksto"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: nepavyko atverti: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: netaisyklingas failo deskriptorius: %s"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "AutorinÄ—s teisÄ—s (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1951,7 +1952,8 @@ msgid "caller [expr]"
msgstr "caller [išraiška]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [aplankas]"
#: builtins.c:66
@@ -1975,11 +1977,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] komanda [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [pavadinimas[=reikšmė] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] pavadinimas[=reikšmė] ..."
#: builtins.c:80
@@ -2077,7 +2081,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o nustatymas] [arg ...]"
#: builtins.c:142
@@ -2089,7 +2094,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [pavadinimas[=vertÄ—] ...] arba export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [pavadinimas[=vertÄ—] ...] arba readonly -p"
#: builtins.c:148
@@ -2430,11 +2436,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Pakeisti esamą aplanką į DIR. Kintamasis $HOME yra\n"
" numatytasis DIR. Kintamasis CDPATH nurodo aplankus, kuriuose bus\n"
@@ -2448,7 +2458,7 @@ msgstr ""
" užuot sekus simbolines nuorodas; parametras -L nurodo, kad turi būti\n"
" sekama simbolinÄ—mis nuorodomis."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2464,7 +2474,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2475,7 +2485,7 @@ msgid ""
" Always succeeds."
msgstr "Jokio efekto; komanda nieko nedaro. Grąžinamas klaidos kodas 0."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2483,7 +2493,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
#, fuzzy
msgid ""
"Return an unsuccessful result.\n"
@@ -2492,7 +2502,7 @@ msgid ""
" Always fails."
msgstr "Grąžinti nesėkmingą rezultatą."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2511,7 +2521,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2522,6 +2532,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2541,20 +2553,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2569,7 +2581,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2600,7 +2612,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2613,7 +2625,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2640,7 +2652,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2652,7 +2664,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2693,7 +2705,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2716,7 +2728,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2728,7 +2740,7 @@ msgstr ""
"nustatomas\n"
" paskutinÄ—s vykdytos komandos klaidos kodas."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2737,7 +2749,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2767,7 +2779,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2779,7 +2791,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2793,7 +2805,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2817,7 +2829,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2839,7 +2851,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2873,7 +2885,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2897,7 +2909,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2914,7 +2926,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2936,7 +2948,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2978,10 +2990,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3029,7 +3041,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3041,7 +3053,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3110,6 +3122,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3123,7 +3138,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3143,7 +3158,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3162,7 +3177,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3182,7 +3197,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3193,7 +3208,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
#, fuzzy
msgid ""
"Execute commands from a file in the current shell.\n"
@@ -3212,7 +3227,7 @@ msgstr ""
" Jei nurodyta ARGUMENTŲ, jie tampa poziciniais parametrais iškvietus\n"
" FAILÄ„."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3226,14 +3241,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3287,6 +3305,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3303,7 +3322,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3311,7 +3330,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3323,7 +3342,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3339,7 +3358,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3359,7 +3386,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3389,7 +3416,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3433,7 +3460,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3451,7 +3478,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3468,7 +3495,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3482,7 +3509,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3495,7 +3522,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3512,7 +3539,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3532,7 +3559,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3548,7 +3575,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3559,7 +3586,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3580,7 +3607,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -3594,7 +3621,7 @@ msgstr ""
"Išskleisti ir vykdyti KOMANDAS tol, kol galutinė komanda iš\n"
" „while“ komandų grąžina klaidos kodą 0."
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -3608,7 +3635,7 @@ msgstr ""
"Išskleisti ir vykdyti KOMANDAS tol, kol galutinė komanda iš\n"
" „until“ komandų grąžina klaidos kodą, nelygų 0."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3621,7 +3648,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3635,7 +3662,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -3649,7 +3676,7 @@ msgstr ""
"Vykdyti eilę komandų grupėje. Tai yra vienas iš būdų nukreipti\n"
" visos eilės komandų įvedimą/išvedimą."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3663,7 +3690,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3674,7 +3701,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3702,7 +3729,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3756,7 +3783,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3787,7 +3814,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3814,7 +3841,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3843,7 +3870,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3864,7 +3891,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -3888,6 +3915,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3906,7 +3936,7 @@ msgstr ""
" Jei pateiktas parametras -v, išvedimas įrašomas į aplinkos kintamąjį\n"
" KINT, užuot spausdinus į standartinį išvedimą."
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3933,7 +3963,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
#, fuzzy
msgid ""
"Display possible completions depending on the options.\n"
@@ -3951,13 +3981,13 @@ msgstr ""
" Jei pateiktas nebūtinasis ŽODŽIO argumentas, išvedami įrašai,\n"
" atitinkantys ŽODĮ."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3982,7 +4012,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4010,7 +4040,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4022,7 +4053,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 9ff8b25..2530a12 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 48b382f..0f87ec6 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# Dutch translations for bash
+# Dutch translations for bash.
# Copyright (C) 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
#
@@ -8,8 +8,6 @@
# de onbepaalde wijs, maar het begin de gedetailleerdere omschrijving
# stapt over op de derde persoon, om daarna een passieve vorm te
# gebruiken voor de rest van de preciseringen en uitzonderingen.
-# Deze opzet is nog niet helemaal consequent doorgevoerd; voor de
-# volgende vertaler is er dus nog ruimschoots werk. -- Benno, 2008
#
# Opmerking over vocabulair:
# 'Stopped' wordt consequent vertaald met "Gepauzeerd", omdat "Gestopt"
@@ -19,27 +17,27 @@
#
# Erick Branderhorst <branderh@iaehv.nl>, 1996.
# Julie Vermeersch <julie@lambda1.be>, 2004.
-# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2008.
# Erwin Poeze <erwin.poeze@gmail.com>, 2009.
+# Benno Schulenberg <benno@vertaalt.nl>, 2006, 2008, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: bash-4.0\n"
+"Project-Id-Version: bash-4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-12-03 15:15+0100\n"
-"Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-04-20 21:06+0200\n"
+"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: arrayfunc.c:50
msgid "bad array subscript"
msgstr "ongeldige array-index"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: kan geïndexeerd array niet omzetten naar associatief array"
@@ -59,39 +57,39 @@ msgstr "%s: niet-numerieke index is niet mogelijk"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: een index is nodig bij toekenning aan associatief array"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "Kan %s niet aanmaken: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command(): kan voor opdracht geen toetsenkaart vinden"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: eerste teken dat geen witruimte is is niet '\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "geen sluit-'%c' in %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: ontbrekend scheidingsteken (dubbele punt)"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "'%s': ongeldige naam voor toetsenkaart"
+msgstr "'%s': ongeldige naam voor alias"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
-msgstr "bewerken van regels niet ingeschakeld"
+msgstr "regelbewerking is niet ingeschakeld"
#: builtins/bind.def:206
#, c-format
@@ -137,30 +135,15 @@ msgid ""
" \n"
" Without EXPR, returns "
msgstr ""
-"Geeft de context van de huidige functie-aanroep.\n"
-" \n"
+"De context geven van de huidige functie-aanroep.\n"
+"\n"
" Zonder EXPR, resulteert "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME is niet gedefinieerd"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD is niet gedefinieerd"
@@ -177,13 +160,13 @@ msgstr "waarschuwing: "
#: builtins/common.c:153
#, c-format
msgid "%s: usage: "
-msgstr "%s: gebruik: "
+msgstr "%s: Gebruik: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "te veel argumenten"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: optie vereist een argument"
@@ -221,7 +204,7 @@ msgstr "ongeldig octaal getal"
msgid "invalid hex number"
msgstr "ongeldig hexadecimaal getal"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "ongeldig getal"
@@ -290,12 +273,12 @@ msgstr "schrijffout: %s"
#: builtins/common.c:329
#, c-format
msgid "error setting terminal attributes: %s"
-msgstr "Instellen terminalattributen is mislukt: %s"
+msgstr "fout tijdens instellen van terminaleigenschappen: %s"
#: builtins/common.c:331
#, c-format
msgid "error getting terminal attributes: %s"
-msgstr "Ophalen terminalattributen is mislukt: %s"
+msgstr "fout tijdens verkrijgen van terminaleigenschappen: %s"
#: builtins/common.c:563
#, c-format
@@ -330,25 +313,25 @@ msgstr "waarschuwing: optie -C functioneert mogelijk niet zoals verwacht"
msgid "not currently executing completion function"
msgstr "er wordt momenteel geen completeringsfunctie uitgevoerd"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "kan alleen worden gebruikt binnen een functie"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "'-f' kan niet gebruikt worden om een functie te definiëren"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: is een alleen-lezen functie"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: kan array-variabelen niet op deze manier verwijderen"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: kan associatief array niet omzetten naar geïndexeerd array"
@@ -377,29 +360,29 @@ msgstr "%s: is niet dynamisch geladen"
msgid "%s: cannot delete: %s"
msgstr "Kan %s niet verwijderen: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: is een map"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: is geen normaal bestand"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: bestand is te groot"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: kan een binair bestand niet uitvoeren"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "Kan %s niet uitvoeren: %s"
@@ -427,11 +410,11 @@ msgstr "Er zijn nog draaiende taken.\n"
msgid "no command found"
msgstr "geen opdracht gevonden"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "geschiedenisaanduiding"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "Kan tijdelijk bestand '%s' niet openen: %s"
@@ -464,7 +447,7 @@ msgstr "hashen is uitgeschakeld"
msgid "%s: hash table empty\n"
msgstr "%s: de hash-tabel is leeg\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "treffers commando\n"
@@ -533,78 +516,88 @@ msgstr "%s: 'inlib' is mislukt"
msgid "no other options allowed with `-x'"
msgstr "bij '-x' zijn geen andere opties toegestaan"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumenten moeten proces-IDs of taak-IDs zijn"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Onbekende fout"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "uitdrukking werd verwacht"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: is geen array-variabele"
+msgstr "%s: is geen geïndexeerd array"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: ongeldige aanduiding van bestandsdescriptor"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: ongeldige bestandsdescriptor: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: ongeldig regelaantal"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: ongeldig array-begin"
# Quantum is een hoeveelheid regels, een getal.
# Callback is de aan te roepen functie, maar onnodig in de vertaling.
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: ongeldige hoeveelheid"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "lege naam van array-variabele"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "ondersteuning van arrayvariabelen is vereist"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "'%s': ontbrekend opmaakteken"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: ongeldige aanduiding van tijdslimiet"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "'%c': ongeldig opmaakteken"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "waarschuwing: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "ontbrekend hexadecimaal cijfer bij \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "ontbrekend hexadecimaal cijfer bij \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "geen andere map"
@@ -757,21 +750,21 @@ msgstr ""
"kan alleen een 'return' doen uit een functie of een uit script aangeroepen "
"met 'source'"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "kan niet tegelijk een functie en een variabele verwijderen"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "Kan '%s' niet verwijderen"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "Kan '%s' niet verwijderen: %s is alleen-lezen"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: is geen array-variabele"
@@ -785,20 +778,20 @@ msgstr "%s: is geen functie"
msgid "shift count"
msgstr "shift-aantal"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "kan shell-opties niet tegelijk inschakelen en uitschakelen"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ongeldige shell-optienaam"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "vereist een bestandsnaam als argument"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: bestand niet gevonden"
@@ -841,26 +834,26 @@ msgstr "%s is %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s is gehasht (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: ongeldige limietwaarde"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "'%c': ongeldige opdracht"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: kan de limiet niet bepalen: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "limiet"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: kan de limiet niet wijzigen: %s"
@@ -916,105 +909,110 @@ msgstr "%s: ongebonden variabele"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "wachten op invoer duurde te lang -- automatisch afgemeld\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\awachten op invoer duurde te lang -- automatisch afgemeld\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "kan standaardinvoer niet omleiden vanaf /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: '%c': ongeldig opmaakteken"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "pijpfout"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: beperkte modus: '/' in opdrachtnamen is niet toegestaan"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: opdracht niet gevonden"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s is %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: ongeldige interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "kan bestandsdescriptor %d niet dupliceren naar bestandsdescriptor %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "recursieniveau van expressies is overschreden"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "recursiestapel-onderloop"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntaxfout in expressie"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "poging tot toewijzing aan een niet-variabele"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "deling door nul"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "**interne fout**: onjuist symbool in toewijzingsexpressie"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "':' werd verwacht voor een voorwaardelijke expressie"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponent is kleiner dan 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "naam verwacht na pre-increment of pre-decrement"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "ontbrekend ')'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntaxfout: operator verwacht"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntaxfout: ongeldige rekenkundige operator"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (het onjuiste symbool is \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "ongeldige rekenkundige basis"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "waarde is te groot voor basis"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: expressiefout\n"
@@ -1023,166 +1021,168 @@ msgstr "%s: expressiefout\n"
msgid "getcwd: cannot access parent directories"
msgstr "getwd(): kan geen geen toegang verkrijgen tot bovenliggende mappen"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "kan 'nodelay'-modus niet uitschakelen voor bestandsdescriptor %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"kan geen nieuwe bestandsdescriptor reserveren voor bash-invoer vanuit "
"bestandsdescriptor %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
"check_bash_input(): buffer bestaat al voor nieuwe bestandsdescriptor %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline(): procesgroep van pijp"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "afgesplitst PID %d hoort bij draaiende taak %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "verwijderen van gepauzeerde taak %d met procesgroep %ld..."
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process(): proces %5ld (%s) in de pijplijn"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process(): PID %5ld (%s) staat gemarkeerd als nog actief"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid(): PID %ld bestaat niet"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signaal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Klaar"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Gepauzeerd"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Gepauzeerd(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Wordt uitgevoerd"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Klaar(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Exit %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Onbekende afsluitwaarde"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(geheugendump gemaakt) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (werkmap: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "instellen van procesgroep %2$ld van dochter %1$ld"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait(): PID %ld is geen dochterproces van deze shell"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for(): proces %ld is nergens geregistreerd"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job(): taak %d is gepauzeerd"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: taak is afgesloten"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: taak %d draait al op de achtergrond"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
+"waitchld(): WNOHANG wordt ingeschakeld om een onbegrensde blokkering te "
+"vermijden"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: regel %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (geheugendump gemaakt)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(werkmap is nu: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp() is mislukt"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: lijnprotocol"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid()"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "kan procesgroep (%d) van terminal niet instellen"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "er is geen taakbesturing in deze shell"
@@ -1277,22 +1277,22 @@ msgstr "netwerkoperaties worden niet ondersteund"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale(): LC_ALL: kan niet van taalregio veranderen (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale(): LC_ALL: kan niet van taalregio veranderen (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc(): %s:%d: kan %lu bytes niet opnieuw reserveren"
+msgstr "setlocale(): %s: kan niet van taalregio veranderen (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc(): %s:%d: kan %lu bytes niet opnieuw reserveren"
+msgstr "setlocale(): %s: kan niet van taalregio veranderen (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1337,100 +1337,100 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection(): omleidingsinstructie '%d' valt buiten bereik"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende '%c'"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "onverwacht bestandseinde tijdens zoeken naar ']]'"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntaxfout in conditionele expressie: onverwacht symbool '%s'"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "syntaxfout in conditionele expressie"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "onverwacht symbool '%s'; ')' werd verwacht"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "')' werd verwacht"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "onverwacht argument '%s' bij eenzijdige conditionele operator"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "onverwacht argument bij eenzijdige conditionele operator"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
"onverwacht symbool '%s'; tweezijdige conditionele operator werd verwacht"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "tweezijdige conditionele operator werd verwacht"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "onverwacht argument '%s' bij tweezijdige conditionele operator"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "onverwacht argument bij tweezijdige conditionele operator"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "onverwacht symbool '%c' in conditionele opdracht"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "onverwacht symbool '%s' in conditionele opdracht"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "onverwacht symbool %d in conditionele opdracht"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "syntaxfout nabij onverwacht symbool '%s'"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "syntaxfout nabij '%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "syntaxfout: onverwacht bestandseinde"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "syntaxfout"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Gebruik \"%s\" om de shell te verlaten.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende ')'"
@@ -1439,77 +1439,79 @@ msgstr "onverwacht bestandseinde tijdens zoeken naar bijpassende ')'"
msgid "completion: function `%s' not found"
msgstr "completion(): functie '%s' niet gevonden"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert(): %s: lege COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command(): ongeldige verbinder '%d'"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: ongeldige bestandsdescriptor: %s"
+msgstr "xtrace_set(): %d: ongeldige bestandsdescriptor"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set(): bestandspointer is NIL"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
+"xtrace-bestandsdescriptor (%d) != bestandsnummer van xtrace-bestandspointer "
+"(%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf(): '%c': ongeldig opmaakteken"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "bestandsdescriptor valt buiten bereik"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: omleiding is niet eenduidig"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: kan bestaand bestand niet overschrijven"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: beperkte modus: omleiden van uitvoer is niet toegestaan"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "kan geen tijdelijk bestand maken voor \"hier\"-document: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: kan geen lijst toewijzen aan een array-element"
+msgstr "%s: kan bestandsdescriptor niet toewijzen aan variabele"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port is niet mogelijk zonder netwerk"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "omleidingsfout: kan bestandsdescriptor niet dupliceren"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "Kan /tmp niet vinden; maak deze aan!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp dient een geldige mapnaam te zijn"
@@ -1518,16 +1520,16 @@ msgstr "/tmp dient een geldige mapnaam te zijn"
msgid "%c%c: invalid option"
msgstr "%c%c: ongeldige optie"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Ik heb geen naam!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, versie %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1536,40 +1538,40 @@ msgstr ""
"Gebruik: %s [opties]\n"
" %s [opties] scriptbestand...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Lange opties:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Korte opties:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD, of -c opdracht, of -O shopt-optie (enkel bij aanroep)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s, of -o optie (veranderbaar via 'set')\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Typ '%s -c \"help set\"' voor meer informatie over shell-opties.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Typ '%s -c help' voor meer informatie over ingebouwde shell-functies.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Gebruik de opdracht 'bashbug' om fouten in bash te rapporteren.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask(): %d: ongeldige operatie"
@@ -1745,84 +1747,86 @@ msgstr "Onbekend signaalnummer"
msgid "Unknown Signal #%d"
msgstr "Onbekend signaal #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "ongeldige vervanging: geen sluit-'%s' in %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: kan geen lijst toewijzen aan een array-element"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "kan geen pijp maken voor procesvervanging"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "kan geen dochterproces maken voor procesvervanging"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "kan pijp genaamd %s niet openen om te lezen"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "kan pijp genaamd %s niet openen om te schrijven"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "kan pijp genaamd %s niet dupliceren als bestandsdescriptor %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "kan geen pijp maken voor opdrachtvervanging"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "kan geen dochterproces maken voor opdrachtvervanging"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
"command_substitute(): kan pijp niet dupliceren als bestandsdescriptor 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: lege parameter, of niet ingesteld"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: resultaat van deeltekenreeks is kleiner dan nul"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: ongeldige vervanging"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: kan niet op deze manier toewijzen"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"toekomstige versies van de shell zullen dit als een rekenkundige vervanging "
+"evalueren"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "ongeldige vervanging: geen afsluitende '`' in %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "geen overeenkomst: %s"
@@ -1845,30 +1849,30 @@ msgstr "')' werd verwacht"
msgid "`)' expected, found %s"
msgstr "')' werd verwacht; %s gevonden"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "eenzijdige operator werd verwacht, %s gevonden"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "tweezijdige operator werd verwacht, %s gevonden"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "ontbrekende ']'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "ongeldig signaalnummer"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps(): ongeldige waarde in trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1876,7 +1880,7 @@ msgstr ""
"run_pending_traps: signaalverwerker is SIG_DFL, herzenden van %d (%s) aan "
"mezelf..."
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler(): ongeldig signaal %d"
@@ -1886,61 +1890,62 @@ msgstr "trap_handler(): ongeldig signaal %d"
msgid "error importing function definition for `%s'"
msgstr "fout tijdens importeren van functiedefinitie voor '%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "shell-niveau is te hoog (%d); teruggezet op 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
"make_local_variable(): er is geen functiecontext in huidige geldigheidsbereik"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
"all_local_variables(): er is geen functiecontext in huidige geldigheidsbereik"
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
-msgstr ""
+msgstr "*** %s heeft lege export-tekenreeks"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
-msgstr "ongeldig teken '%d' in export-tekenreeks voor %s"
+msgstr "*** ongeldig teken '%d' in export-tekenreeks voor %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
-msgstr "geen '=' in export-tekenreeks voor %s"
+msgstr "*** geen '=' in export-tekenreeks voor %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context(): top van 'shell_variables' is geen functiecontext"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context(): er is geen 'global_variables'-context"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope(): top van 'shell_variables' is geen tijdelijk geldigheidsbereik"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "Kan %s niet openen: %s"
+msgstr "%s: Kan %s niet openen als BESTAND"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: ongeldige bestandsdescriptor: %s"
+msgstr "%s: ongeldige waarde %s voor 'trace'-bestandsdescriptor"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1968,39 +1973,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "Er is GEEN GARANTIE, voor zover de wet dit toestaat.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"De licentie is GPLv3+: GNU GPL versie 3 of later.\n"
+"De licentie is GPLv2+: GNU GPL versie 2 of later.\n"
"Zie http://gnu.org/licenses/gpl.html voor de volledige tekst.\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc(): kan geen %lu bytes reserveren (%lu bytes gereserveerd)"
+msgstr "%s: kan geen %lu bytes reserveren (%lu bytes gereserveerd)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc(): kan geen %lu bytes reserveren"
+msgstr "%s: kan geen %lu bytes reserveren"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"xmalloc(): %s:%d: kan geen %lu bytes reserveren (%lu bytes gereserveerd)"
+msgstr "%s: %s:%d: kan geen %lu bytes reserveren (%lu bytes gereserveerd)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc(): %s:%d: kan geen %lu bytes reserveren"
+msgstr "%s: %s:%d: kan geen %lu bytes reserveren"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2036,7 +2040,8 @@ msgid "caller [expr]"
msgstr "caller [EXPRESSIE]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [MAP]"
#: builtins.c:66
@@ -2060,11 +2065,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] OPDRACHT [ARGUMENT...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [NAAM[=WAARDE]...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] NAAM[=WAARDE]..."
#: builtins.c:80
@@ -2122,9 +2129,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p PADNAAM] [-dt] [NAAM...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [PATROON...]"
+msgstr "help [-dms] [PATROON...]"
#: builtins.c:121
msgid ""
@@ -2157,20 +2163,21 @@ msgid "let arg [arg ...]"
msgstr "let ARGUMENT..."
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a ARRAY] [-d SCHEIDINGSTEKEN] [-i TEKST] [-n AANTAL_TEKENS]\n"
-" [-p PROMPT] [-t TIJDSLIMIET] [-u BESTANDSDESCRIPTOR] [NAAM...]"
+"read [-ers] [-a ARRAY] [-d SCHEIDINGSTEKEN] [-i TEKST]\n"
+" [-n AANTAL_TEKENS] [-N AANTAL_TEKENS] [-p PROMPT]\n"
+" [-t TIJDSLIMIET] [-u BESTANDSDESCRIPTOR] [NAAM...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [N]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o OPTIENAAM] [ARGUMENT...]"
#: builtins.c:142
@@ -2182,7 +2189,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [NAAM[=WAARDE] ...] of export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [NAAM[=WAARDE] ...] of readonly -p"
#: builtins.c:148
@@ -2276,7 +2284,7 @@ msgstr "until OPDRACHTEN; do OPDRACHTEN; done"
#: builtins.c:198
msgid "coproc [NAME] command [redirections]"
-msgstr "coproc [NAAM] opdracht [verwijzingen]"
+msgstr "coproc [NAAM] OPDRACHT [OMLEIDINGEN]"
#: builtins.c:200
msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
@@ -2323,29 +2331,28 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v VARIABELE] OPMAAK [ARGUMENTEN]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o OPTIE] [-A ACTIE] [-G PATROON]\n"
-" [-W WOORDENLIJST] [-F FUNCTIE] [-C OPDRACHT]\n"
-" [-X FILTERPATROON] [-P PREFIX] [-S SUFFIX] [NAAM...]"
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o OPTIE] [-A ACTIE]\n"
+" [-C OPDRACHT] [-F FUNCTIE] [-G PATROON] [-P PREFIX]\n"
+" [-S SUFFIX] [-W WOORDENLIJST] [-X FILTERPATROON] "
+"[NAAM...]"
#: builtins.c:233
msgid ""
"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
msgstr ""
-"compgen [-abcdefgjksuv] [-pr] [-o OPTIE] [-A ACTIE] [-G PATROON]\n"
-" [-W WOORDENLIJST] [-F FUNCTIE] [-C OPDRACHT]\n"
-" [-X FILTERPATROON] [-P PREFIX] [-S SUFFIX] [WOORD]"
+"compgen [-abcdefgjksuv] [-o OPTIE] [-A ACTIE] [-C OPDRACHT]\n"
+" [-F FUNCTIE] [-G PATROON] [-P PREFIX] [-S SUFFIX]\n"
+" [-W WOORDENLIJST] [-X FILTERPATROON] [WOORD]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o OPTIE] [NAAM...]"
+msgstr "compopt [-o|+o OPTIE] [-DE] [NAAM...]"
#: builtins.c:240
msgid ""
@@ -2450,8 +2457,8 @@ msgid ""
msgstr ""
"Toetsbindingen en variabelen van 'readline' instellen.\n"
"\n"
-" Een toetsenreeks verbinden aan een 'readline'-functie of aan een macro,\n"
-" of een 'readline'-variabele instellen. De syntax van argumenten die "
+" Verbindt een toetsenreeks aan een 'readline'-functie of aan een macro,\n"
+" of stelt een 'readline'-variabele in. De syntax van argumenten die "
"geen\n"
" opties zijn is gelijkaardig aan die voor ~/.inputrc, maar zij dienen "
"één\n"
@@ -2482,9 +2489,9 @@ msgstr ""
"deze\n"
" toetsenreeks ingevoerd wordt \n"
"\n"
-" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of een "
-"fout\n"
-" optrad."
+" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
+"een\n"
+" fout optrad."
#: builtins.c:326
msgid ""
@@ -2498,6 +2505,7 @@ msgid ""
msgstr ""
"Een 'for'-, 'while'- of 'until'-lus beëindigen.\n"
" Als N gegeven is, dan worden N niveaus van lussen beëindigd.\n"
+"\n"
" De afsluitwaarde is 0, tenzij N kleiner dan 1 is."
#: builtins.c:338
@@ -2511,8 +2519,9 @@ msgid ""
" The exit status is 0 unless N is not greater than or equal to 1."
msgstr ""
"De volgende herhaling van huidige 'for'-, 'while'- of 'until'-lus beginnen.\n"
-" Als N gegeven is, dan wordt N niveaus hoger doorgegaan. De "
-"afsluitwaarde is 0, tenzij N kleiner dan 1 is."
+" Als N gegeven is, dan wordt N niveaus hoger doorgegaan.\n"
+"\n"
+" De afsluitwaarde is 0, tenzij N kleiner dan 1 is."
#: builtins.c:350
msgid ""
@@ -2565,6 +2574,7 @@ msgstr ""
" of EXPRESSIE ongeldig is."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2590,11 +2600,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"De huidige map wijzigen.\n"
"\n"
@@ -2611,14 +2625,14 @@ msgstr ""
" begrepen, en als die variabele een naam bevat, dan gaat 'cd' naar de\n"
" map met die naam.\n"
"\n"
-" Opties:\n"
-" -L symbolische koppelingen volgen (standaard)\n"
-" -P de fysieke mappenstructuur gebruiken;\n"
-" symbolische koppelingen worden eerst \"vertaald\"\n"
+" Opties:\n"
+" -L symbolische koppelingen volgen (standaard)\n"
+" -P de fysieke mappenstructuur gebruiken;\n"
+" symbolische koppelingen worden eerst \"vertaald\"\n"
"\n"
" De afsluitwaarde is 0 als de gewenste map ingesteld kon worden, anders 1."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2642,10 +2656,10 @@ msgstr ""
"symbolische\n"
" koppelingen (standaard)\n"
"\n"
-" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd\n"
-" of de huidige map niet bepaald kon worden."
+" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of de\n"
+" huidige map niet bepaald kon worden."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2655,7 +2669,7 @@ msgid ""
" Always succeeds."
msgstr "Doet niets; de opdracht heeft geen effect; de afsluitwaarde is 0."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2663,7 +2677,7 @@ msgid ""
" Always succeeds."
msgstr "Geeft afsluitwaarde 0, horend bij \"gelukt\"."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2671,7 +2685,7 @@ msgid ""
" Always fails."
msgstr "Geeft afsluitwaarde 1, horend bij \"mislukt\"."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2705,7 +2719,8 @@ msgstr ""
" De afsluitwaarde is die van de uitgevoerde OPDRACHT,\n"
" of 1 als de OPDRACHT niet gevonden is."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2716,6 +2731,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2735,37 +2752,37 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-"Waarden en attributen van variabelen instellen.\n"
+"Waarden en eigenschappen van variabelen instellen.\n"
"\n"
-" Declareert de gegeven variabelen en/of kent hen attributen toe.\n"
+" Declareert de gegeven variabelen en/of kent hen eigenschappen toe.\n"
" Als er geen namen van variabelen gegeven zijn, dan worden de\n"
" bestaande variabelen en hun waarden getoond.\n"
"\n"
" Opties:\n"
" -f alleen de gedefinieerde functies tonen (geen variabelen)\n"
" -F alleen de namen van de functies tonen, zonder de definities\n"
-" -p van elke gegeven variabele de attributen en waarde tonen\n"
+" -p van elke gegeven variabele de eigenschappen en waarde tonen\n"
"\n"
-" Attributen:\n"
+" Eigenschappen:\n"
" -a van gegeven variabelen arrays maken (indien mogelijk)\n"
" -A van gegeven variabelen associatieve arrays maken (indien "
"mogelijk)\n"
-" -i aan gegeven variabelen het 'geheel getal'-attribuut toekennen\n"
+" -i aan gegeven variabelen de 'geheel getal'-eigenschap toekennen\n"
" -l gegeven variabelen bij toekenning omzetten naar kleine letters\n"
" -r de gegeven variabelen alleen-lezen maken\n"
-" -t aan gegeven variabelen het 'trace'-attribuut toekennen\n"
+" -t aan gegeven variabelen de 'trace'-eigenschap toekennen\n"
" -u gegeven variabelen bij toekenning omzetten naar hoofdletters\n"
" -x de gegeven variabelen exporteren\n"
"\n"
-" Een '+' in plaats van een '-' voor de letter schakelt het betreffende\n"
-" attribuut uit.\n"
+" Een '+' in plaats van een '-' voor de letter schakelt de betreffende\n"
+" eigenschap uit.\n"
"\n"
-" Bij variabelen met het 'geheel getal'-attribuut wordt bij toewijzingen\n"
+" Bij variabelen met de 'geheel getal'-eigenschap wordt bij toewijzingen\n"
" een rekenkundige evaluatie gedaan (zie 'let').\n"
"\n"
" Als 'declare' wordt gebruikt in een functie, dan maakt het elke gegeven\n"
@@ -2773,18 +2790,19 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-"Waarden en attributen van variabelen instellen.\n"
-" Verouderd. Zie 'help declare'."
+"Waarden en eigenschappen van variabelen instellen.\n"
+"\n"
+" Deze opdracht is verouderd. Zie 'help declare'."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2806,10 +2824,11 @@ msgstr ""
" 'local' kan alleen binnen een functie gebruikt worden, en zorgt ervoor\n"
" dat het geldigheidsbereik van de variabele NAAM beperkt wordt tot de\n"
" betreffende functie en diens dochters.\n"
+"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd, er een\n"
" fout optrad, of de shell geen functie aan het uitvoeren is."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2841,12 +2860,16 @@ msgid ""
msgstr ""
"De gegeven argumenten naar standaarduitvoer schrijven.\n"
"\n"
+" Schrijft de gegeven argumenten naar standaarduitvoer, gevolgd door een\n"
+" nieuwe regel.\n"
+"\n"
" Opties:\n"
" -n de afsluitende nieuwe regel onderdrukken\n"
" -e onderstaande backslash-stuurcodes interpreteren\n"
" -E onderstaande backslash-stuurcodes niet interpreteren\n"
"\n"
-" 'echo' kent de volgende stuurcodes: \\a geluidssignaal\n"
+" 'echo' kent de volgende stuurcodes:\n"
+" \\a geluidssignaal\n"
" \\b backspace\n"
" \\c geen verdere uitvoer produceren\n"
" \\E escapecode\n"
@@ -2859,9 +2882,9 @@ msgstr ""
" \\0NNN het teken met ASCII-code NNN (octaal, 1 tot 3 cijfers)\n"
" \\xHH het teken met code HH (hexadecimaal, 1 of 2 cijfers)\n"
"\n"
-" De afsluitwaarde is 0, tenzij een schrijffout optreedt."
+" De afsluitwaarde is 0, tenzij een schrijffout optrad."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2875,12 +2898,12 @@ msgid ""
msgstr ""
"De gegeven argumenten naar standaarduitvoer schrijven.\n"
"\n"
-" Schrijft de gegeven argumenten naar standaarduitvoer, gevolgd door.\n"
-" een nieuwe regel. Optie -n onderdrukt de afsluitende nieuwe regel.\n"
+" Schrijft de gegeven argumenten naar standaarduitvoer, gevolgd door een\n"
+" nieuwe regel. Optie '-n' onderdrukt deze afsluitende nieuwe regel.\n"
"\n"
-" De afsluitwaarde is 0, tenzij een schrijffout optreedt."
+" De afsluitwaarde is 0, tenzij een schrijffout optrad."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2934,9 +2957,9 @@ msgstr ""
" gebruiken dat zich in uw zoekpad PATH bevindt, typt u 'enable -n test'.\n"
"\n"
" De afsluitwaarde is 0, tenzij NAAM geen ingebouwde shell-opdracht is of\n"
-"  een fout optreedt."
+"  er een fout optreedt."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2957,7 +2980,7 @@ msgstr ""
"opdracht\n"
" leeg is."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3033,7 +3056,7 @@ msgstr ""
" Normaliter ontleedt 'getopts' de positionele parameters: $0...$9.\n"
" Maar als er argumenten gegeven worden, dan worden deze ontleed."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3074,7 +3097,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij OPDRACHT niet gevonden wordt of er een\n"
" omleidingsfout optreedt."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3086,7 +3109,7 @@ msgstr ""
" Beëindigt de shell met een afsluitwaarde van N. Zonder N is de\n"
" afsluitwaarde die van de laatst uitgevoerde opdracht."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3099,7 +3122,7 @@ msgstr ""
" Beëindigt een login-shell met een afsluitwaarde van N. Geeft een\n"
" foutmelding als de huidige shell geen login-shell is."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3154,7 +3177,7 @@ msgstr ""
" De afsluitwaarde die van de uitgevoerde opdracht, of 0, of niet-nul als\n"
" er een fout optreedt."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3177,7 +3200,7 @@ msgstr ""
"er\n"
" een fout optreedt."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3198,10 +3221,11 @@ msgstr ""
"huidige\n"
" taak is gebruikt.\n"
"\n"
-" De afsluitwaarde is 0 tenzij taakbeheer uitgeschakeld is of er een fout\n"
+" De afsluitwaarde is 0, tenzij taakbeheer uitgeschakeld is of er een "
+"fout\n"
" optreedt."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3243,7 +3267,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij NAAM niet gevonden wordt of een ongeldige\n"
" optie gegeven werd."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3280,7 +3304,7 @@ msgstr ""
"ongeldige\n"
" optie gegeven werd."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3332,21 +3356,24 @@ msgstr ""
"\n"
" -p geschiedenisopzoeking uitvoeren voor elk ARGUMENT en het "
"resultaat\n"
-" tonen zonder dit in de geschiedenis op te slaan -s de "
-"ARGUMENTen als één enkel item aan de geschiedenis toevoegen\n"
+" tonen zonder dit in de geschiedenis op te slaan\n"
+" -s de ARGUMENTen als één enkel item aan de geschiedenis toevoegen\n"
+"\n"
" Als een BESTANDSNAAM gegeven is, dan wordt dat gebruikt als het\n"
" geschiedenisbestand, anders wordt de waarde van HISTFILE gebruikt, en\n"
" als die variabele leeg is, dan ~/.bash_history.\n"
+"\n"
" Als de variabele HISTTIMEFORMAT ingesteld en niet leeg is, dan wordt de\n"
" waarde ervan gebruikt als een opmaaktekenreeks for strftime(3), om een\n"
" tijdsstempel bij elk geschiedenisitem weer te geven. Anders worden "
"geen\n"
-" tijdsstempels getoond. \n"
+" tijdsstempels getoond.\n"
+"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3383,15 +3410,16 @@ msgstr ""
" -p alleen de proces-ID's tonen\n"
" -r uitvoer beperken tot draaiende taken\n"
" -s uitvoer beperken tot gepauzeerde taken\n"
+"\n"
" Als optie '-x' gegeven is, wordt de gegeven OPDRACHT uitgevoerd nadat\n"
" alle gegeven taken (in ARGUMENTen) afgesloten zijn (dat wil zeggen: hun\n"
" proces-ID is vervangen door dat van hun moederproces).\n"
"\n"
-" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of een\n"
-" fout optreedt. Als '-x' gebruikt is, dan is de afsluitwaarde die van\n"
-" OPDRACHT."
+" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
+"een\n"
+" fout optrad. Met optie '-x' is de afsluitwaarde die van OPDRACHT."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3423,7 +3451,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij een ongeldige optie of TAAKAANDUIDING\n"
" gegeven werd."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3466,9 +3494,10 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3510,7 +3539,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Rekenkundige uitdrukkingen evalueren.\n"
"\n"
@@ -3546,7 +3575,7 @@ msgstr ""
"variabele\n"
" wordt vervangen door zijn waarde (zonodig omgezet naar een geheel "
"getal).\n"
-" Variabelen hoeven geen 'geheel getal'-attribuut te hebben om gebruikt "
+" Variabelen hoeven geen 'geheel getal'-eigenschap te hebben om gebruikt "
"te\n"
" kunnen worden in een expressie.\n"
"\n"
@@ -3557,8 +3586,7 @@ msgstr ""
" Als het laatste ARGUMENT evalueert tot 0, dan is de afsluitwaarde van\n"
" 'let' 1; anders 0."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3609,7 +3637,7 @@ msgstr ""
"\n"
" Leest één regel van standaardinvoer (of van de gegeven "
"bestandsdescriptor\n"
-" als optie -u gegeven is) en wijst het eerste woord aan de eerste NAAM "
+" als optie '-u' gegeven is) en wijst het eerste woord aan de eerste NAAM "
"toe,\n"
" het tweede woord aan de tweede NAAM, en zo verder; de resterende "
"woorden\n"
@@ -3620,32 +3648,34 @@ msgstr ""
" zijn, wordt de gelezen regel opgeslagen in de variabele REPLY.\n"
"\n"
" Opties:\n"
-" -a ARRAY\tde gelezen woorden toekennen aan de opeenvolgende posities\n"
-" \t\tvan het genoemde array, beginnend bij index nul\n"
-" -d TEKEN\tdoorgaan met lezen tot TEKEN gelezen wordt (i.p.v. LF-"
+" -a ARRAY de gelezen woorden toekennen aan de opeenvolgende posities\n"
+" van het genoemde array, beginnend bij index nul\n"
+" -d TEKEN doorgaan met lezen tot TEKEN gelezen wordt (i.p.v. LF-"
+"teken)\n"
+" -e in een interactieve shell 'readline' gebruiken om de regel\n"
+" in te lezen\n"
+" -i TEKST door 'readline' te gebruiken begintekst\n"
+" -n AANTAL stoppen na maximaal dit aantal tekens gelezen te hebben, "
+"of\n"
+" na een LF-teken (i.p.v. altijd te wachten op een LF-"
"teken)\n"
-" -e\t\tin een interactieve shell 'readline' gebruiken om de regel\n"
-" \t\tin te lezen\n"
-" -i TEKST\tdoor 'readline' te gebruiken begintekst\n"
-" -n AANTAL\tstoppen na dit aantal tekens gelezen te hebben (i.p.v. tot\n"
-" \t\teen LF-teken)\n"
-" -p PROMPT\tdeze tekenreeks tonen als prompt (zonder afsluitende "
+" -p PROMPT deze tekenreeks tonen als prompt (zonder afsluitende "
"nieuwe\n"
-" \t\tregel) alvorens te beginnen met lezen\n"
-" -r\t\tbackslash-codes niet omzetten naar hun betekenis\n"
-" -s\t\tinvoer die van een terminal komt niet echoën\n"
-" -t AANTAL\tna dit aantal seconden stoppen met wachten op invoer en\n"
-" \t\tafsluiten met een code groter dan 128; de waarde van de\n"
-" \t\tvariabele TMOUT is de standaardwaarde voor het aantal te\n"
-" \t\twachten seconden; het aantal mag drijvendepuntgetal zijn\n"
-" -u BSDS\t\tvan deze bestandsdescriptor lezen i.p.v. van "
+" regel) alvorens te beginnen met lezen\n"
+" -r backslash-codes niet omzetten naar hun betekenis\n"
+" -s invoer die van een terminal komt niet echoën\n"
+" -t AANTAL na dit aantal seconden stoppen met wachten op invoer en\n"
+" afsluiten met een code groter dan 128; de waarde van de\n"
+" variabele TMOUT is de standaardwaarde voor het aantal te\n"
+" wachten seconden; het aantal mag drijvendepuntgetal zijn\n"
+" -u BS.DS. van deze bestandsdescriptor lezen i.p.v. van "
"standaardinvoer\n"
-" \n"
+"\n"
" De afsluitwaarde is 0, tenzij einde-van-bestand (EOF) bereikt werd,\n"
" de tijdslimiet overschreden werd, of een ongeldige bestandsdescriptor\n"
" als argument van '-u' gegeven werd."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3666,7 +3696,8 @@ msgstr ""
" uitvoeren is."
# Voor de duidelijkheid is de tekstvolgorde veranderd.
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3735,6 +3766,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3749,7 +3783,7 @@ msgid ""
msgstr ""
"Waarden van shell-opties of positionele parameters instellen.\n"
"\n"
-" Schakelt shell-attributen in of uit, of verandert waarden van "
+" Schakelt shell-eigenschappen in/uit, of verandert waarden van "
"positionele\n"
" parameters. Zonder opties of argumenten toont 'set' de namen en "
"waarden\n"
@@ -3757,7 +3791,7 @@ msgstr ""
"invoer\n"
" hergebruikt kan worden. De volgende opties zijn beschikbaar (een '+' "
"in\n"
-" plaats van een '-' schakelt het betreffende attribuut _uit_ i.p.v. in):\n"
+" plaats van een '-' schakelt de betreffende eigenschap _uit_ i.p.v. in):\n"
"\n"
" -a nieuwe of gewijzigde variabelen en functies automatisch "
"exporteren\n"
@@ -3805,7 +3839,7 @@ msgstr ""
"gewist\n"
"\n"
" De opties kunnen ook gebruikt worden bij het starten van de shell.\n"
-" De huidige toestand van de attributen is te vinden in $-. Eventuele\n"
+" De huidige toestand van de eigenschappen is te vinden in $-. Eventuele\n"
" extra argumenten van 'set' worden begrepen als positionele parameters\n"
" en worden toegewezen aan $1, $2, ... $N.\n"
"\n"
@@ -3846,7 +3880,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3880,7 +3914,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of een\n"
" NAAM alleen-lezen is."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3898,11 +3932,12 @@ msgid ""
" Exit Status:\n"
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-"Het export-attribuut van shell-variabelen instellen.\n"
+"De export-eigenschap van shell-variabelen instellen.\n"
"\n"
" Markeert elke gegeven naam voor automatische export naar de omgeving\n"
-" van latere opdrachten. Als een WAARDE gegeven is, dan deze WAARDE\n"
-" toekennen alvorens te exporteren.\n"
+" van latere opdrachten. Als een WAARDE gegeven is, dan wordt deze "
+"WAARDE\n"
+" toegekend alvorens te exporteren.\n"
"\n"
" Opties:\n"
" -f gegeven namen verwijzen alleen naar functies\n"
@@ -3913,7 +3948,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie of NAAM gegeven werd."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3949,7 +3984,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie of NAAM gegeven werd."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3966,7 +4001,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0 tenzij N negatief is of groter dan $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3991,7 +4026,7 @@ msgstr ""
"gegeven\n"
" bestand, of 1 als dit bestand niet gelezen kan worden."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4013,17 +4048,22 @@ msgstr ""
" Optie:\n"
" -f pauzering afdwingen, ook als dit een login-shell is\n"
"\n"
-" De afsluitwaarde is 0 tenzij taakbeheer uitgeschakeld is of er een fout\n"
+" De afsluitwaarde is 0, tenzij taakbeheer uitgeschakeld is of er een "
+"fout\n"
" optreedt."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4077,6 +4117,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4155,7 +4196,7 @@ msgstr ""
" De afsluitwaarde is 0 als EXPRESSIE waar is, 1 als EXPRESSIE onwaar is,\n"
" en 2 als een ongeldig argument gegeven werd."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4167,7 +4208,7 @@ msgstr ""
" Dit is een synoniem voor de ingebouwde functie 'test', behalve dat\n"
" het laatste argument een ']' moet zijn, horend bij de begin-'['."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4186,7 +4227,8 @@ msgstr ""
"\n"
" De afsluitwaarde is altijd 0."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4202,7 +4244,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4266,7 +4316,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij een ongeldige optie of SIGNAALAANDUIDING\n"
" gegeven werd."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4318,7 +4368,7 @@ msgstr ""
" als de naam onbekend is\\ \n"
" De afsluitwaarde is 0 als elke NAAM gevonden werd, anders 1."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4402,10 +4452,11 @@ msgstr ""
"u',\n"
" dat een ongeschaald aantal is.\n"
"\n"
-" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of een\n"
-" fout optreedt."
+" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
+"een\n"
+" fout optrad."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4441,7 +4492,7 @@ msgstr ""
" De afsluitwaarde is 0, tenzij MODUS ongeldig is of een ongeldige optie\n"
" gegeven werd."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4470,7 +4521,7 @@ msgstr ""
" De afsluitwaarde is die van ID, 1 als ID ongeldig si, of 2 als een\n"
" ongeldige optie gegeven werd."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4494,7 +4545,7 @@ msgstr ""
" De afsluitwaarde is die van ID, 1 als ID ongeldig si, of 2 als een\n"
" ongeldige optie gegeven werd."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4514,7 +4565,7 @@ msgstr ""
" dat element en worden de OPDRACHTEN uitgevoerd. \n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4541,7 +4592,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4578,7 +4629,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4605,7 +4656,7 @@ msgstr ""
" overdraagbare standaardopmaak.\n"
" De afsluitwaarde is die van de PIJPLIJN."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4623,7 +4674,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4658,7 +4709,7 @@ msgstr ""
"uitgevoerde\n"
" deelopdracht, of nul als geen enkele 'if' of 'elif' nul opleverde."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4675,7 +4726,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4692,7 +4743,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4705,17 +4756,15 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
"Een co-proces aanmaken genaamd NAAM.\n"
-" \n"
-" OPDRACHT asynchroon uitvoeren, met de standaardinvoer en -uitvoer van\n"
-" de opdracht via een pipe verbonden met bestandsverwijzigen toegewezen\n"
-" aan indices 0 en 1 van een array-variabele NAAM in de uitvoerende "
-"shell.\n"
+"\n"
+" Voert OPDRACHT asynchroon uit, met standaardinvoer en -uitvoer via\n"
+" een pijp verbonden met bestandsdescriptors die toegewezen zijn aan\n"
+" indices 0 en 1 van array-variabele NAAM in de uitvoerende shell.\n"
" De standaard-NAAM is \"COPROC\".\n"
-" \n"
-" Afsluitstatus:\n"
-" Geeft de afsluitwaarde van OPDRACHT."
+"\n"
+" De afsluitwaarde is die van de OPDRACHT."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4737,7 +4786,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij NAAM onveranderbaar is."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4754,7 +4803,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de laatst uitgevoerde opdracht."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4778,7 +4827,7 @@ msgstr ""
"\n"
" De afsluitwaarde is die van de hervatte taak."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4795,7 +4844,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 1 als de EXPRESSIE tot 0 evalueert; anders 0."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4851,7 +4900,7 @@ msgstr ""
"\n"
" De afsluitwaarde is 0 of 1, afhankelijk van EXPRESSIE."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4965,7 +5014,7 @@ msgstr ""
"het\n"
" geschiedeniscommentaarteken, gewoonlijk '#'\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5013,13 +5062,12 @@ msgstr ""
" -N Roteert de stapel zodat de N-de map (tellend vanaf rechts, van\n"
" de lijst getoond door 'dirs', beginned bij nul) bovenaan komt.\n"
"\n"
-" De ingebouwde opdracht 'dirs' toont de huidige mappenstapel.\n"
+" De opdracht 'dirs' toont de huidige mappenstapel.\n"
"\n"
" De afsluitwaarde is 0, tenzij een ongeldig argument gegeven werd of de\n"
-" mapwijziging mislukte. De opdracht 'dirs' geeft de huidige "
-"mappenstapel weer."
+" mapwijziging mislukte."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5063,12 +5111,12 @@ msgstr ""
" getoond door 'dirs', beginnend met nul). Bijvoorbeeld:\n"
" 'popd -0' verwijdert de laatste map, 'popd -1' de voorlaatste.\n"
"\n"
-" De ingebouwde opdracht 'dirs' toont de huidige mappenstapel.\n"
+" De opdracht 'dirs' toont de huidige mappenstapel.\n"
"\n"
" De afsluitwaarde is 0, tenzij een ongeldig argument gegeven werd of de\n"
" mapwijziging mislukte."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5117,9 +5165,9 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5156,13 +5204,14 @@ msgstr ""
" -s elke gegeven OPTIENAAM inschakelen\n"
" -u elke gegeven OPTIENAAM uitschakelen\n"
"\n"
-" Zonder opties is de afsluitwaarde 0 indien OPTIENAAM ingeschakeld is,\n"
-" 1 indien uitgeschakeld. De afsluitwaarde is ook 1 als een ongeldige\n"
-" optienaam gegeven werd, en de afsluitwaarde is 2 als een ongeldige "
-"optie\n"
-" gegeven werd."
+" Zonder opties (of met alleen '-q') is de afsluitwaarde 0 indien "
+"OPTIENAAM\n"
+" ingeschakeld is, 1 indien uitgeschakeld. De afsluitwaarde is ook 1 als\n"
+" een ongeldige optienaam gegeven werd, en de afsluitwaarde is 2 als een\n"
+" ongeldige optie gegeven werd."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5185,6 +5234,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5212,10 +5264,9 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5252,15 +5303,20 @@ msgstr ""
" -p bestaande completeringsvoorschriften in herbruikbare vorm tonen\n"
" -r elk genoemd voorschrift verwijderen, of alle voorschriften als\n"
" geen NAAM gegeven is\n"
+" -D de gegeven completeringen en acties als standaard nemen voor\n"
+" opdrachten die geen specifieke eigen completering hebben\n"
+" -E de gegeven completeringen en acties als standaard nemen voor\n"
+" lege opdrachten -- de completering van een lege regel\n"
"\n"
-" Als completering geprobeerd wordt, dan worden de acties toegepast in de\n"
-" volgorde van de bovenstaande hoofdletteropties.\n"
+" Als completering geprobeerd wordt, dan worden de acties toegepast in\n"
+" de volgorde van de bovenstaande hoofdletteropties. Optie '-D' gaat\n"
+" voor optie '-E'.\n"
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5280,16 +5336,16 @@ msgstr ""
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of er "
"een\n"
-" fout optreedt."
+" fout optrad."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5321,8 +5377,10 @@ msgstr ""
" dan worden de completeringsopties van elke gegeven NAAM getoond, of die\n"
" van de huidige completering.\n"
"\n"
-" Optie:\n"
+" Opties:\n"
" -o OPTIE deze completeringsoptie inschakelen voor elke gegeven NAAM\n"
+" -D opties wijzigen voor de standaardcompletering\n"
+" -E opties wijzigen voor de completering van een lege opdracht\n"
"\n"
" Het gebruik van '+o' i.p.v. '-o' schakelt de betreffende optie _uit_.\n"
"\n"
@@ -5335,9 +5393,9 @@ msgstr ""
" voor die draaiende completeringsgenerator gewijzigd.\n"
"\n"
" De afsluitwaarde is 0, tenzij een ongeldige optie gegeven werd of voor\n"
-" NAAM is geen completeringsvoorschrift gedefinieerd."
+" NAAM geen completeringsvoorschrift gedefinieerd is."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5366,7 +5424,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5378,78 +5437,63 @@ msgid ""
" not an indexed array."
msgstr ""
"Regels inlezen in een array-variabele.\n"
-" \n"
+"\n"
" Leest regels van standaardinvoer in in the array-variabele ARRAY.\n"
-" De variabele MAPFILE wordt gebruikt als geen ARRAY gegeven is. \n"
-" Opties:\n"
-" -n AANTAL\tmaximaal dit aantal regels kopiëren (0 = alles)\n"
-" -O BEGIN\tmet toekennen beginnen bij deze index (standaard 0)\n"
-" -s AANTAL\tdit aantal regels overslaan\n"
-" -t \t\tnieuweregelteken aan eind van elke gelezen regel verwijderen\n"
-" -u BES.DES.\tuit deze bestandsdescriptor lezen i.p.v. uit "
+" De variabele MAPFILE wordt gebruikt als geen ARRAY gegeven is.\n"
+"\n"
+" Opties:\n"
+" -n AANTAL maximaal dit aantal regels kopiëren (0 = alles)\n"
+" -O BEGIN met toekennen beginnen bij deze index (standaard 0)\n"
+" -s AANTAL dit aantal regels overslaan\n"
+" -t nieuweregelteken aan eind van elke gelezen regel "
+"verwijderen\n"
+" -u BES.DES. uit deze bestandsdescriptor lezen i.p.v. uit "
"standaardinvoer\n"
-" -C FUNCTIE\tdeze functie evalueren na elke HOEVEELHEID regels\n"
-" -c HOEVEELHEID\thet aantal te lezen regels voor elke aanroep van "
+" -C FUNCTIE deze functie evalueren na elke HOEVEELHEID regels\n"
+" -c HOEVEELHEID het aantal te lezen regels voor elke aanroep van "
"FUNCTIE\n"
-"n Argument:\n"
-" ARRAY\t\tnaam van array-variabele waarin regels ingelezen moeten worden\n"
-" \n"
-" Als '-C' gegeven is zonder '-c', is de standaard-HOEVEELHEID 5000. Als\n"
-" FUNCTIE is geevalueerd wordt hieraan de index van het volgende array-"
-"element\n"
-" toegekend als een additioneel argument.\n"
-" \n"
+"\n"
+" Argument:\n"
+" ARRAY naam van array-variabele waarin regels ingelezen moeten "
+"worden\n"
+"\n"
+" Als '-C' gegeven is zonder '-c', is de standaard-HOEVEELHEID 5000.\n"
+" Wanneer FUNCTIE aangeroepen wordt, wordt hieraan de index van het\n"
+" volgende array-element als extra argument meegegeven.\n"
+"\n"
" Als geen expliciet BEGIN gegeven is, wordt het array gewist alvorens\n"
" met toekennen te beginnen.\n"
-" \n"
-" De afsluitwaarde is 0, tenzij ARRAY alleen-lezen is of een ongeldige\n"
-" optie gegeven werd."
+"\n"
+" De afsluitwaarde is 0, tenzij ARRAY alleen-lezen is of geen array is, "
+"of\n"
+" een ongeldige optie gegeven werd."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
" A synonym for `mapfile'."
msgstr ""
-"Regels uit een bestand lezen naar een array-varabele.\n"
-" \n"
-" Een synoniem voor `mapfile'."
-
-#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr ""
-#~ "xrealloc(): kan %lu bytes niet opnieuw reserveren (%lu bytes gereserveerd)"
-
-#~ msgid "xrealloc: cannot allocate %lu bytes"
-#~ msgstr "xrealloc(): kan %lu bytes niet opnieuw reserveren"
+"Regels inlezen vanuit een bestand in een array-variabele.\n"
+"\n"
+" Een synoniem voor 'mapfile'."
-#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
#~ msgstr ""
-#~ "xrealloc(): %s:%d: kan %lu bytes niet opnieuw reserveren (%lu bytes "
-#~ "gereserveerd)"
-
-#~ msgid "%s: invalid number"
-#~ msgstr "%s: ongeldig getal"
-
-#~ msgid "allocated"
-#~ msgstr "gereserveerd"
-
-#~ msgid "freed"
-#~ msgstr "vrijgegeven"
-
-#~ msgid "requesting resize"
-#~ msgstr "verzoek tot grootteverandering"
-
-#~ msgid "just resized"
-#~ msgstr "juist van grootte veranderd"
-
-#~ msgid "bug: unknown operation"
-#~ msgstr "**interne fout**: onbekende operatie"
+#~ ".\n"
+#~ " Met EXPR, resulteert "
#~ msgid ""
-#~ "Output the ARGs. If -n is specified, the trailing newline is suppressed."
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
#~ msgstr ""
-#~ "Schrijft de gegeven argumenten naar standaarduitvoer.\n"
-#~ " Optie -n onderdrukt de afsluitende nieuwe regel."
-
-#~ msgid "Logout of a login shell."
-#~ msgstr "Beëindigt een login-shell."
+#~ ".\n"
+#~ " Deze tweede vorm kan gebruikt worden om een 'stack trace' te\n"
+#~ " produceren. De waarde van EXPR geeft aan hoeveel frames er\n"
+#~ " teruggegaan moet worden; het top-frame heeft nummer 0."
diff --git a/po/pl.gmo b/po/pl.gmo
index 6501d1c..bf26b62 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 98f0a29..75c4489 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 3.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2007-11-30 08:49+0100\n"
"Last-Translator: Andrzej M. Krzysztofowicz <ankry@mif.pg.gda.pl>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "nieprawid³owy indeks tablicy"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -39,28 +39,28 @@ msgstr "%s: nie mo¿na przypisaæ do nienumerycznego indeksu"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: nie mo¿na utworzyæ: %s"
# ???
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: nie mo¿na znale¼æ mapy klawiszy dla polecenia"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: pierwszym drukowalnym znakiem nie jest `\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "brak zamykaj±cego `%c' w %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: brak separuj±cego dwukropka"
@@ -124,26 +124,11 @@ msgid ""
" Without EXPR, returns "
msgstr "Wraca do kontekstu wywo³ania bie¿±cego podprogramu"
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "Nie ustawiono HOME"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "Nie ustawiono OLDPWD"
@@ -162,11 +147,11 @@ msgstr "%s: uwaga: "
msgid "%s: usage: "
msgstr "%s: uwaga: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "za du¿o argumentów"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: opcja wymaga argumentu"
@@ -206,7 +191,7 @@ msgstr "nieprawid³owy numer sygna³u"
msgid "invalid hex number"
msgstr "nieprawid³owa liczba"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "nieprawid³owa liczba"
@@ -315,25 +300,25 @@ msgstr "uwaga: opcja -C mo¿e dzia³aæ inaczej ni¿ oczekiwano"
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "mo¿na u¿ywaæ tylko w funkcji"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "nie mo¿na u¿ywaæ `-f' do tworzenia funkcji"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funkcja tylko do odczytu"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: nie mo¿na w ten sposób unicestwiæ zmiennej tablicowej"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -362,29 +347,29 @@ msgstr "%s: nie jest ³adowany dynamicznie"
msgid "%s: cannot delete: %s"
msgstr "%s: nie mo¿na usun±æ: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: jest katalogiem"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: nie jest zwyk³ym plikiem"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: plik jest za du¿y"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: nie mo¿na uruchomiæ pliku binarnego"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: nie mo¿na uruchomiæ: %s"
@@ -412,11 +397,11 @@ msgstr "Istniej± zatrzymane zadania.\n"
msgid "no command found"
msgstr "nie znaleziono polecenia"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "specyfikacja historii"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: nie uda³o siê otworzyæ pliku tymczasowego: %s"
@@ -449,7 +434,7 @@ msgstr "zapamiêtywanie ¶cie¿ek poleceñ w tablicy asocjacyjnej wy³±czone"
msgid "%s: hash table empty\n"
msgstr "%s: tablica asocjacyjna pusta\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "ostatnie polecenie: %s\n"
@@ -518,77 +503,87 @@ msgstr "%s: rozwiniêcie wg historii nie powiod³o siê"
msgid "no other options allowed with `-x'"
msgstr "nie mo¿na u¿ywaæ innych opcji przy `-x'"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumentami musz± byæ numery procesów lub zadañ"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Nieznany b³±d"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "spodziewano siê wyra¿enia"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: nie jest zmienn± tablicow±"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: nieprawid³owo okre¶lony deskryptor pliku"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: nieprawid³owy deskryptor pliku: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: nieprawid³owa opcja"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: nieprawid³owa opcja"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: nieprawid³owa nazwa akcji"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: nie jest zmienn± tablicow±"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': brak znaku formatuj±cego"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: nieprawid³owo okre¶lony timeout"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': nieprawid³owy znak formatuj±cy"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s: uwaga: "
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "brak cyfry szesnastkowej dla \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "brak cyfry szesnastkowej dla \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "brak innego katalogu"
@@ -746,23 +741,23 @@ msgid "can only `return' from a function or sourced script"
msgstr "wyj¶cie przez `return' mo¿liwe tylko z funkcji lub skryptu"
# ???
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "nie mo¿na jednocze¶nie anulowaæ definicji funkcji i zmiennej"
# ???
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: nie mo¿na anulowaæ definicji"
# ???
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: nie mo¿na anulowaæ definicji: %s jest tylko do odczytu"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: nie jest zmienn± tablicow±"
@@ -776,20 +771,20 @@ msgstr "%s: nie jest funkcj±"
msgid "shift count"
msgstr "licznik przesuniêcia"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "nie mo¿na opcji pow³oki jednocze¶nie ustawiæ i uniewa¿niæ"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: nieprawid³owa nazwa opcji pow³oki"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "wymagany argument w postaci nazwy pliku"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: nie znaleziono pliku"
@@ -832,26 +827,26 @@ msgstr "%s jest %s\n"
msgid "%s is hashed (%s)\n"
msgstr "¶cie¿ka do %s jest zapamiêtana (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: nieprawid³owy argument stanowi±cy ograniczenie"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': z³e polecenie"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: nie mo¿na odczytaæ ograniczenia: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: nie mo¿na zmieniæ ograniczenia: %s"
@@ -907,108 +902,113 @@ msgstr "%s: nieustawiona zmienna"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "przekroczony czas oczekiwania na dane wej¶ciowe: auto-wylogowanie\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aprzekroczony czas oczekiwania na dane wej¶ciowe: auto-wylogowanie\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "nie mo¿na przekierowaæ standardowego wej¶cia z /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': nieprawid³owy znak formatuj±cy"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "b³±d zapisu: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: ograniczony: nie mo¿na podawaæ `/' w nazwach poleceñ"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: nie znaleziono polecenia"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s jest %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: z³y interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "nie mo¿na skopiowaæ deskryptora pliku %d do %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "przekroczone ograniczenie poziomu rekursji dla wyra¿enia"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "niedomiar stosu rekursji"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "b³±d sk³adniowy w wyra¿eniu"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "próba przypisania do nie-zmiennej"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "dzielenie przez 0"
# ???
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "b³±d: z³y prefiks operatora przypisuj±cego"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "spodziewano siê `:' w wyra¿eniu warunkowym"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "wyk³adnik mniejszy ni¿ 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
"spodziewany identyfikator po operatorze preinkrementacji lub predekrementacji"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "brakuj±cy `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "b³±d sk³adni: spodziewany argument"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "b³±d sk³adni: nieprawid³owy operator arytmetyczny"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "nieprawid³owa podstawa arytmetyczna"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "warto¶æ za du¿a na podstawê"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: oczekiwano wyra¿enia ca³kowitego"
@@ -1017,164 +1017,164 @@ msgstr "%s: oczekiwano wyra¿enia ca³kowitego"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: niemo¿liwy dostêp do katalogów nadrzêdnych"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "nie mo¿na wy³±czyæ trybu nieblokuj±cego dla deskryptora %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "nie mo¿na przydzieliæ nowego deskryptora pliku dla wej¶cia basha z %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: bufor dla nowego deskryptora %d ju¿ istnieje"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
# ???
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "proces o PID %d wystêpuje w dzia³aj±cym zadaniu %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "usuwanie zatrzymanego zadania %d z grup± procesów %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: brak takiego PID-u"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: PID %ld nie jest potomkiem tej pow³oki"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Brak rekordu dla procesu %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: zadanie %d jest zatrzymane"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: zadanie zosta³o przerwane"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: zadanie %d ju¿ pracuje w tle"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s: uwaga: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "w tej pow³oce nie ma kontroli zadañ"
@@ -1329,99 +1329,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: instrukcja przekierowania `%d' poza zakresem"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "nieoczekiwany EOF podczas poszukiwania pasuj±cego `%c'"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "nieoczekiwany EOF podczas poszukiwania `]]'"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "b³±d sk³adni w wyra¿eniu warunkowym: nieoczekiwany znacznik `%s'"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "b³±d sk³adni w wyra¿eniu warunkowym"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "nieoczekiwany znacznik `%s', oczekiwano `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "oczekiwano `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "nieoczekiwany argument `%s' jednoargumentowego operatora warunkowego"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "nieoczekiwany argument jednoargumentowego operatora warunkowego"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "nieoczekiwany argument `%s', oczekiwano dwuarg. operatora warunkowego"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "oczekiwano dwuargumentowego operatora warunkowego"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "nieoczekiwany argument `%s' dwuargumentowego operatora warunkowego"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "nieoczekiwany argument dwuargumentowego operatora warunkowego"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "nieoczekiwany znacznik `%c' w poleceniu warunkowym"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "nieoczekiwany znacznik `%s' w poleceniu warunkowym"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "nieoczekiwany znacznik %d w poleceniu warunkowym"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "b³±d sk³adni przy nieoczekiwanym znaczniku `%s'"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "b³±d sk³adni przy `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "b³±d sk³adni: nieoczekiwany koniec pliku"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "b³±d sk³adni"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "U¿yj \"%s\", aby opu¶ciæ tê pow³okê.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "nieoczekiwany EOF podczas poszukiwania pasuj±cego `)'"
@@ -1430,77 +1430,77 @@ msgstr "nieoczekiwany EOF podczas poszukiwania pasuj±cego `)'"
msgid "completion: function `%s' not found"
msgstr "uzupe³nienie: nie znaleziono funkcji `%s'"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: z³y ³±cznik `%d'"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: nieprawid³owy deskryptor pliku: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': nieprawid³owy znak formatuj±cy"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "deskryptor pliku poza zakresem"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: nieojednoznaczne przekierowanie"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: nie mo¿na nadpisaæ istniej±cego pliku"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: ograniczony: nie mo¿na przekierowaæ wyj¶cia"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "nie mo¿na utworzyæ pliku tymczasowego dla dokumentu miejscowego: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: nie mo¿na przypisaæ listy do elementu tablicy"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port nie s± wspierane bez sieci"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "b³±d przekierowania: nie mo¿na powieliæ deskryptora pliku"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "nie mo¿na znale¼æ /tmp, proszê o utworzenie!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp musi byæ prawid³ow± nazw± katalogu"
@@ -1509,16 +1509,16 @@ msgstr "/tmp musi byæ prawid³ow± nazw± katalogu"
msgid "%c%c: invalid option"
msgstr "%c%c: nieprawid³owa opcja"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Nie mam nazwy!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1527,43 +1527,43 @@ msgstr ""
"U¿ycie:\t%s [d³uga opcja GNU] [opcja] ...\n"
"\t%s [d³uga opcja GNU] [opcja] plik-skryptu ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "D³ugie opcje GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Opcje pow³oki:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD lub -c polecenie lub -O shopt_option\t\t(tylko wywo³anie)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s lub -o opcja\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Aby uzyskaæ wiêcej informacji o opcjach pow³oki, napisz `%s -c \"help set"
"\"'.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Aby uzyskaæ wiêcej informacji o poleceniach wewnêtrznych pow³oki,\n"
"napisz `%s -c help'.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Do zg³aszania b³êdów nale¿y u¿ywaæ polecenia `bashbug'.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: nieprawid³owa operacja"
@@ -1739,83 +1739,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "z³e podstawienie: brak zamykaj±cego `%s' w %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: nie mo¿na przypisaæ listy do elementu tablicy"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "nie mo¿na utworzyæ potoku dla podstawienia procesu"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "nie mo¿na utworzyæ procesu potomnego dla podstawienia procesu"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "nie mo¿na otworzyæ nazwanego potoku %s do odczytu"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "nie mo¿na otworzyæ nazwanego potoku %s do zapisu"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "nie mo¿na powieliæ nazwanego potoku %s jako deskryptor %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "nie mo¿na utworzyæ potoku dla podstawienia polecenia"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "nie mo¿na utworzyæ procesu potomnego dla podstawienia polecenia"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: nie mo¿na powieliæ potoku jako deskryptora 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametr pusty lub nieustawiony"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: wyra¿enie dla pod³añcucha < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: z³e podstawienie"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: nie mo¿na przypisywaæ w ten sposób"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "z³e podstawienie: brak zamykaj±cego `%s' w %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "brak pasuj±cego: %s"
@@ -1838,30 +1838,30 @@ msgstr "oczekiwano `)'"
msgid "`)' expected, found %s"
msgstr "oczekiwano `)', znaleziono %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: oczekiwano operatora jednoargumentowego"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: oczekiwano operatora dwuargumentowego"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "brakuj±cy `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "nieprawid³owy numer sygna³u"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: z³a warto¶æ trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1869,7 +1869,7 @@ msgstr ""
"run_pending_traps: obs³uga sygna³u jest ustawiona na SIG_DFL, wysy³aj±c %d (%"
"s) do siebie"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: z³y sygna³ %d"
@@ -1879,60 +1879,60 @@ msgstr "trap_handler: z³y sygna³ %d"
msgid "error importing function definition for `%s'"
msgstr "b³±d importu definicji funkcji dla `%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "poziom pow³oki (%d) jest za du¿y, ustawiono na 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: brak kontekstu funkcji w bie¿±cym zakresie"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: brak kontekstu funkcji w bie¿±cym zakresie"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametr pusty lub nieustawiony"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "nieprawid³owy znak %d w exportstr dla %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "brak `=' w exportstr dla %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: nag³ówek shell_variables poza kontekstem funkcji"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: brak kontekstu global_variables"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: nag³ówek shell_variables poza zakresem tymczasowego ¶rodowiska"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: nie mo¿na otworzyæ: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: nieprawid³owy deskryptor pliku: %s"
#: version.c:46
#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2006 Free Software Foundation, Inc.\n"
#: version.c:47
@@ -2019,7 +2019,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -2043,11 +2043,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2141,7 +2141,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2153,7 +2153,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2535,11 +2535,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Zmiana bie¿±cego katalogu na DIR. Domy¶lnym DIR jest zmienna $HOME.\n"
" Zmienna CDPATH okre¶la ¶cie¿kê przeszukiwania w poszukiwaniu katalogu\n"
@@ -2554,7 +2558,7 @@ msgstr ""
" katalogów zamiast ¶ledzenia dowi±zañ symbolicznych; opcja -L wymusza\n"
" ¶ledzenie dowi±zañ symbolicznych."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2570,7 +2574,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2583,7 +2587,7 @@ msgstr ""
"¯adnego efektu; polecenie nic nie robi. Jako kod zakoñczenia\n"
" zwracane jest zero."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2591,7 +2595,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
#, fuzzy
msgid ""
"Return an unsuccessful result.\n"
@@ -2600,7 +2604,7 @@ msgid ""
" Always fails."
msgstr "Zwracany jest niepomy¶lny wynik zakoñczenia."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2619,7 +2623,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
#, fuzzy
msgid ""
"Set variable values and attributes.\n"
@@ -2631,6 +2635,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2650,7 +2656,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2681,14 +2687,14 @@ msgstr ""
" U¿ycie `+' zamiast `-' powoduje wy³±czenie danego atrybutu. U¿yte\n"
" w funkcji czyni wszystkie NAME lokalnymi, podobnie jak polecenie `local'."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2703,7 +2709,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
#, fuzzy
msgid ""
"Write arguments to the standard output.\n"
@@ -2753,7 +2759,7 @@ msgstr ""
" \n"
" Za pomoc± opcji -E mo¿na jawnie wy³±czyæ interpretacjê powy¿szych znaków."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2766,7 +2772,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2793,7 +2799,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2805,7 +2811,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2846,7 +2852,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2869,7 +2875,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2880,7 +2886,7 @@ msgstr ""
"Opuszczenie pow³oki z kodem zakoñczenia N. Je¶li N pominiêto, kodem\n"
" zakoñczenia bêdzie kod zakoñczenia ostatniego wykonanego polecenia."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2889,7 +2895,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
#, fuzzy
msgid ""
"Display or execute commands from the history list.\n"
@@ -2941,7 +2947,7 @@ msgstr ""
" `r cc' uruchamia ostatnie polecenie zaczynaj±ce siê od `cc' a napisanie\n"
" `r' uruchamia ponownie ostatnie polecenie."
-#: builtins.c:738
+#: builtins.c:743
#, fuzzy
msgid ""
"Move job to the foreground.\n"
@@ -2957,7 +2963,7 @@ msgstr ""
" zadaniem. Je¶li nie podano JOB_SPEC, u¿yte zostanie zadanie bie¿±ce\n"
" w rozumieniu pow³oki"
-#: builtins.c:753
+#: builtins.c:758
#, fuzzy
msgid ""
"Move jobs to the background.\n"
@@ -2975,7 +2981,7 @@ msgstr ""
" z `&'. Je¶li nie podano JOB_SPEC, u¿yte zostanie zadanie bie¿±ce\n"
" w rozumieniu pow³oki"
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2999,7 +3005,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3021,7 +3027,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3055,7 +3061,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
#, fuzzy
msgid ""
"Display status of jobs.\n"
@@ -3092,7 +3098,7 @@ msgstr ""
" ka¿dej z wystêpuj±cych w ARGS specyfikacji zadañ numerem PID procesu\n"
" wiod±cego danego zadania."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3109,7 +3115,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
#, fuzzy
msgid ""
"Send a signal to a job.\n"
@@ -3140,7 +3146,7 @@ msgstr ""
" oraz, w przypadku osi±gniêcia ograniczenia na liczbê procesów, nie\n"
" powoduje potrzeby uruchamiania dodatkowego procesu, aby jaki¶ ubiæ."
-#: builtins.c:921
+#: builtins.c:926
#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
@@ -3183,7 +3189,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Ka¿dy z argumentów jest wyra¿eniem arytmetycznym do obliczenia. Obliczenia\n"
" s± wykonywane dla liczb ca³kowitych o sta³ej d³ugo¶ci bez sprawdzania\n"
@@ -3226,7 +3232,7 @@ msgstr ""
" Je¶li warto¶ci± ostatniego argumentu jest 0, let zwraca 1;\n"
" w pozosta³ych przypadkach zwracane jest 0."
-#: builtins.c:966
+#: builtins.c:971
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
@@ -3299,7 +3305,7 @@ msgstr ""
"deskryptor\n"
" pliku."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3311,7 +3317,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
@@ -3381,6 +3387,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3479,7 +3488,7 @@ msgstr ""
" pozycyjnymi i s± one przypisane, kolejno, do $1, $2, .. $n. Gdy nie\n"
" zostan± podane ¿adne argumenty, wypisywane s± wszystkie zmienne pow³oki."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3499,7 +3508,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3518,7 +3527,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3538,7 +3547,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3549,7 +3558,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
#, fuzzy
msgid ""
"Execute commands from a file in the current shell.\n"
@@ -3568,7 +3577,7 @@ msgstr ""
" w $PATH. Je¶li podane zostan± jakiekolwiek ARGUMENTS, staj± siê\n"
" parametrami pozycyjnymi podczas uruchomienia FILENAME."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3582,7 +3591,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3590,7 +3599,10 @@ msgid ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3644,6 +3656,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3737,7 +3750,7 @@ msgstr ""
" równy, nierówny, mniejszy ni¿, mniejszy lub równy, wiêkszy ni¿ lub\n"
" wiêkszy lub równy arg2."
-#: builtins.c:1299
+#: builtins.c:1311
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3748,7 +3761,7 @@ msgstr ""
"Jest to synonim dla wbudowanego polecenia \"test\", ale wymagaj±cy, by\n"
" ostatnim argumentem by³ `]' pasuj±cy do pocz±tkowego `['."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3760,7 +3773,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
#, fuzzy
msgid ""
"Trap signals and other events.\n"
@@ -3777,7 +3790,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3816,7 +3837,7 @@ msgstr ""
" nazw sygna³ów wraz z odpowiadaj±cymi im numerami. Nale¿y zauwa¿yæ, ¿e\n"
" sygna³ mo¿na wys³aæ do pow³oki poleceniem \"kill -signal $$\"."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3846,7 +3867,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
#, fuzzy
msgid ""
"Modify shell resource limits.\n"
@@ -3927,7 +3948,7 @@ msgstr ""
" -p, które jest w jednostkach 512-bajtowych oraz -u, które jest\n"
" bezwymiarow± liczb± procesów."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3945,7 +3966,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3962,7 +3983,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
#, fuzzy
msgid ""
"Wait for process completion and return exit status.\n"
@@ -3982,7 +4003,7 @@ msgstr ""
" procesu lub specyfikacj± zadania; gdy jest specyfikacj± zadania,\n"
" oczekiwanie dotyczy wszystkich procesów w potoku zadania."
-#: builtins.c:1481
+#: builtins.c:1497
#, fuzzy
msgid ""
"Execute commands for each member in a list.\n"
@@ -4001,7 +4022,7 @@ msgstr ""
" Dla ka¿dego elementu WORDS, NAME jest ustawiane na ten element\n"
" i uruchamiane s± COMMANDS."
-#: builtins.c:1495
+#: builtins.c:1511
#, fuzzy
msgid ""
"Arithmetic for loop.\n"
@@ -4027,7 +4048,7 @@ msgstr ""
" EXP1, EXP2 i EXP3 s± wyra¿eniami arytmetycznymi. Je¶li które¶ z wyra¿eñ\n"
" zostanie pominiête, zachowanie jest takie, jaby mia³o ono warto¶æ 1."
-#: builtins.c:1513
+#: builtins.c:1529
#, fuzzy
msgid ""
"Select words from a list and execute commands.\n"
@@ -4060,7 +4081,7 @@ msgstr ""
" wiersz jest zachowywany w zmiennej REPLY. Po ka¿dym wyborze uruchamiane\n"
" s± polecenia COMMANDS a¿ do polecenia break."
-#: builtins.c:1534
+#: builtins.c:1550
#, fuzzy
msgid ""
"Report time consumed by pipeline's execution.\n"
@@ -4087,7 +4108,7 @@ msgstr ""
" podsumowania czasów w nieco innej postaci. U¿ywana jest wtedy warto¶æ\n"
" zmiennej TIMEFORMAT jako format danych wyj¶ciowych."
-#: builtins.c:1551
+#: builtins.c:1567
#, fuzzy
msgid ""
"Execute commands based on pattern matching.\n"
@@ -4102,7 +4123,7 @@ msgstr ""
"pasuje\n"
" do wzorca PATTERN. Znak `|' s³u¿y do rozdzielania wielu wzorców."
-#: builtins.c:1563
+#: builtins.c:1579
#, fuzzy
msgid ""
"Execute commands based on conditional.\n"
@@ -4133,7 +4154,7 @@ msgstr ""
" uruchomionego polecenia lub zero, gdy ¿aden ze sprawdzanych warunków\n"
" nie by³ prawdziwy."
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -4147,7 +4168,7 @@ msgstr ""
"Rozwijanie i uruchamianie poleceñ COMMANDS tak d³ugo, dopóki ostatnie\n"
" polecenie w `while' COMMANDS koñczy siê z kodem zero."
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -4161,7 +4182,7 @@ msgstr ""
"Rozwijanie i uruchamianie poleceñ COMMANDS tak d³ugo, dopóki ostatnie\n"
" polecenie w `until' COMMANDS koñczy siê z kodem niezerowym."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4174,7 +4195,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4188,7 +4209,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -4202,7 +4223,7 @@ msgstr ""
"Uruchomienie zbioru poleceñ jako grupy. W ten sposób mo¿na przekierowaæ\n"
" ca³y zbiór poleceñ."
-#: builtins.c:1644
+#: builtins.c:1660
#, fuzzy
msgid ""
"Resume job in foreground.\n"
@@ -4223,7 +4244,7 @@ msgstr ""
"dla\n"
" `bg'."
-#: builtins.c:1659
+#: builtins.c:1675
#, fuzzy
msgid ""
"Evaluate arithmetic expression.\n"
@@ -4237,7 +4258,7 @@ msgstr ""
"Obliczenie wyra¿enia EXPRESSION zgodnie z zasadami obliczania wyra¿eñ\n"
" arytmetycznych. Równowa¿ne \"let EXPRESSION\"."
-#: builtins.c:1671
+#: builtins.c:1687
#, fuzzy
msgid ""
"Execute conditional command.\n"
@@ -4286,7 +4307,7 @@ msgstr ""
" wzorca. Operatory && i || nie opliczaj± EXPR2, je¶li obliczenie EXPR1\n"
" wystarcza do okre¶lenia warto¶ci wyra¿enia."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4340,7 +4361,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
#, fuzzy
msgid ""
"Add directories to stack.\n"
@@ -4389,7 +4410,7 @@ msgstr ""
" \n"
" Zawarto¶æ stosu katalogów mo¿na zobaczyæ za pomoc± polecenia `dirs'."
-#: builtins.c:1788
+#: builtins.c:1804
#, fuzzy
msgid ""
"Remove directories from stack.\n"
@@ -4433,7 +4454,7 @@ msgstr ""
" \n"
" Zawarto¶æ stosu katalogów mo¿na zobaczyæ za pomoc± polecenia `dirs'."
-#: builtins.c:1818
+#: builtins.c:1834
#, fuzzy
msgid ""
"Display directory stack.\n"
@@ -4482,7 +4503,7 @@ msgstr ""
" -N\tWypisanie N-tej pozycji licz±c od prawej strony listy wypisywanej\n"
" \tprzez dirs wywo³ane bez opcji, pocz±wszy od zera."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -4503,7 +4524,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -4526,6 +4547,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -4533,7 +4557,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4560,7 +4584,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
#, fuzzy
msgid ""
"Display possible completions depending on the options.\n"
@@ -4578,13 +4602,13 @@ msgstr ""
" Gdy podany jest opcjonalny argument WORD, generowane s± uzupe³nienia\n"
" pasuj±ce do WORD."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4609,7 +4633,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4637,7 +4661,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4649,7 +4674,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 9ac9c43..1d1f867 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index e7e42cf..6c0e3f6 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 2.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2002-05-08 13:50GMT -3\n"
"Last-Translator: Halley Pacheco de Oliveira <halleypo@ig.com.br>\n"
"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -19,7 +19,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "índice da matriz (array) incorreto"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -39,26 +39,26 @@ msgstr "%s: impossível atribuir a índice não numérico"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: impossível criar: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -118,26 +118,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr ""
@@ -156,11 +141,11 @@ msgstr "escrevendo"
msgid "%s: usage: "
msgstr ""
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "número excessivo de argumentos"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, fuzzy, c-format
msgid "%s: option requires an argument"
msgstr "a opção requer um argumento: -"
@@ -200,7 +185,7 @@ msgstr "número do sinal incorreto"
msgid "invalid hex number"
msgstr "número do sinal incorreto"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
#, fuzzy
msgid "invalid number"
msgstr "número do sinal incorreto"
@@ -313,26 +298,26 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
#, fuzzy
msgid "can only be used in a function"
msgstr "somente pode ser usado dentro de funções; faz com que o escopo visível"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: função somente para leitura"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, fuzzy, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "$%s: impossível atribuir desta maneira"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -361,29 +346,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr "%s: impossível criar: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: é um diretório"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, fuzzy, c-format
msgid "%s: not a regular file"
msgstr "%s: impossível executar o arquivo binário"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: impossível executar o arquivo binário"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, fuzzy, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: impossível criar: %s"
@@ -412,11 +397,11 @@ msgstr ""
msgid "no command found"
msgstr "%s: comando não encontrado"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, fuzzy, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: impossível criar: %s"
@@ -449,7 +434,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "`r', o último comando seja executado novamente."
@@ -506,78 +491,88 @@ msgstr "%s: esperado expressão de número inteiro"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
#, fuzzy
msgid "Unknown error"
msgstr "Erro desconhecido %d"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "esperado uma expressão"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: variável não vinculada"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%c%c: opção incorreta"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%c%c: opção incorreta"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "número do sinal incorreto"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: variável não vinculada"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%c%c: opção incorreta"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr ""
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
#, fuzzy
msgid "no other directory"
@@ -681,22 +676,22 @@ msgstr "erro de `pipe': %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
#, fuzzy
msgid "cannot simultaneously unset a function and a variable"
msgstr "somente pode ser usado dentro de funções; faz com que o escopo visível"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, fuzzy, c-format
msgid "%s: cannot unset"
msgstr "%s: impossível criar: %s"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, fuzzy, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: impossível criar: %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, fuzzy, c-format
msgid "%s: not an array variable"
msgstr "%s: variável não vinculada"
@@ -711,20 +706,20 @@ msgstr "%s: função somente para leitura"
msgid "shift count"
msgstr "shift [n]"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, fuzzy, c-format
msgid "%s: file not found"
msgstr "%s: comando não encontrado"
@@ -768,27 +763,27 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, fuzzy, c-format
msgid "`%c': bad command"
msgstr "%c%c: opção incorreta"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, fuzzy, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: impossível criar: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
#, fuzzy
msgid "limit"
msgstr "Tempo limite de CPU excedido"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, fuzzy, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: impossível criar: %s"
@@ -849,111 +844,116 @@ msgstr "%s: variável não vinculada"
#: eval.c:181
#, fuzzy, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
"%ctempo limite de espera excedido aguardando entrada:\n"
"fim automático da sessão\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "erro de `pipe': %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: restrição: não é permitido especificar `/' em nomes de comandos"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: comando não encontrado"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, fuzzy, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: é um diretório"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, fuzzy, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "impossível duplicar fd (descritor de arquivo) %d para fd 0: %s"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "excedido o nível de recursividade da expressão"
-#: expr.c:265
+#: expr.c:280
#, fuzzy
msgid "recursion stack underflow"
msgstr "Estouro na base da pilha de recursividade"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "erro de sintaxe na expressão"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "tentativa de atribuição para algo que não é uma variável"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "divisão por 0"
-#: expr.c:471
+#: expr.c:517
#, fuzzy
msgid "bug: bad expassign token"
msgstr "Erro de programação: `token' inválido `%d' passado para expassign()"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "`:' esperado para expressão condicional"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "faltando `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
#, fuzzy
msgid "syntax error: operand expected"
msgstr "erro de sintaxe: fim prematuro do arquivo"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, fuzzy, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s: %s: %s (erro: o `token' é \"%s\")\n"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "valor muito grande para esta base de numeração"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: esperado expressão de número inteiro"
@@ -963,170 +963,170 @@ msgstr "%s: esperado expressão de número inteiro"
msgid "getcwd: cannot access parent directories"
msgstr "getwd: impossível acessar os diretórios pais (anteriores)"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "impossível duplicar fd (descritor de arquivo) %d para fd 0: %s"
-#: input.c:258
+#: input.c:260
#, fuzzy, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"impossível alocar novo descritor de arquivo (fd) para a entrada\n"
"do `bash' a partir do descritor de arquivo (fd) %d: %s"
-#: input.c:266
+#: input.c:268
#, fuzzy, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
"check_bash_input: já existe o espaço intermediário (buffer)\n"
"para o novo descritor de arquivo (fd) %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, fuzzy, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: o identificador do processo (pid) não existe (%d)!\n"
-#: jobs.c:1416
+#: jobs.c:1445
#, fuzzy, c-format
msgid "Signal %d"
msgstr "Sinal desconhecido #%d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Concluído"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Parado"
-#: jobs.c:1439
+#: jobs.c:1468
#, fuzzy, c-format
msgid "Stopped(%s)"
msgstr "Parado"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Executando"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Concluído(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Fim da execução com status %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Status desconhecido"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(imagem do núcleo gravada)"
-#: jobs.c:1568
+#: jobs.c:1597
#, fuzzy, c-format
msgid " (wd: %s)"
msgstr "(wd agora: %s)\n"
-#: jobs.c:1776
+#: jobs.c:1805
#, fuzzy, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "`setpgid' filho (%d para %d) erro %d: %s\n"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, fuzzy, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: o pid %d não é um filho deste `shell'"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: o trabalho terminou"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "encaixe (slot) %3d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (imagem do núcleo gravada)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd agora: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
#, fuzzy
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs: getpgrp falhou: %s"
-#: jobs.c:3639
+#: jobs.c:3669
#, fuzzy
msgid "initialize_job_control: line discipline"
msgstr "initialize_jobs: disciplina da linha: %s"
-#: jobs.c:3649
+#: jobs.c:3679
#, fuzzy
msgid "initialize_job_control: setpgid"
msgstr "initialize_jobs: getpgrp falhou: %s"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "nenhum controle de trabalho nesta `shell'"
@@ -1280,103 +1280,103 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, fuzzy, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "encontrado EOF não esperado enquanto procurava por `%c'"
-#: parse.y:3951
+#: parse.y:4025
#, fuzzy
msgid "unexpected EOF while looking for `]]'"
msgstr "encontrado EOF não esperado enquanto procurava por `%c'"
-#: parse.y:3956
+#: parse.y:4030
#, fuzzy, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "erro de sintaxe próximo do `token' não esperado `%s'"
-#: parse.y:3960
+#: parse.y:4034
#, fuzzy
msgid "syntax error in conditional expression"
msgstr "erro de sintaxe na expressão"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
#, fuzzy
msgid "expected `)'"
msgstr "esperado `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, fuzzy, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "%s: esperado operador binário"
-#: parse.y:4124
+#: parse.y:4198
#, fuzzy
msgid "conditional binary operator expected"
msgstr "%s: esperado operador binário"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, fuzzy, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "`:' esperado para expressão condicional"
-#: parse.y:4164
+#: parse.y:4238
#, fuzzy, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "`:' esperado para expressão condicional"
-#: parse.y:4168
+#: parse.y:4242
#, fuzzy, c-format
msgid "unexpected token %d in conditional command"
msgstr "`:' esperado para expressão condicional"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "erro de sintaxe próximo do `token' não esperado `%s'"
-#: parse.y:5477
+#: parse.y:5584
#, fuzzy, c-format
msgid "syntax error near `%s'"
msgstr "erro de sintaxe próximo do `token' não esperado `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "erro de sintaxe: fim prematuro do arquivo"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "erro de sintaxe"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Use \"%s\" para sair da `shell'.\n"
-#: parse.y:5711
+#: parse.y:5818
#, fuzzy
msgid "unexpected EOF while looking for matching `)'"
msgstr "encontrado EOF não esperado enquanto procurava por `%c'"
@@ -1386,78 +1386,78 @@ msgstr "encontrado EOF não esperado enquanto procurava por `%c'"
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector incorreto `%d'"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, fuzzy, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Redirecionamento ambíguo"
-#: redir.c:170
+#: redir.c:182
#, fuzzy, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: Impossível sobrescrever arquivo existente"
-#: redir.c:175
+#: redir.c:187
#, fuzzy, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: restrição: não é permitido especificar `/' em nomes de comandos"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "impossível criar `pipe' para a substituição do processo: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: impossível atribuir uma lista a um membro de uma matriz (array)"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
#, fuzzy
msgid "redirection error: cannot duplicate fd"
msgstr "erro de redirecionamento"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1466,16 +1466,16 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr "%c%c: opção incorreta"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Eu não tenho nome!"
-#: shell.c:1793
+#: shell.c:1795
#, fuzzy, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU %s, versão %s\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1484,44 +1484,44 @@ msgstr ""
"Utilização:\t%s [opção-longa-GNU] [opção] ...\n"
"\t%s [opção-longa-GNU] [opção] arquivo-de-script ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "opções-longas-GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Opções da `shell':\n"
-#: shell.c:1801
+#: shell.c:1803
#, fuzzy
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD ou -c comando\t\t(somente para chamada)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s ou -o opção\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Digite `%s -c \"help set\"' para mais informações sobre as opções da "
"`shell'.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Digite `%s -c help' para mais informações sobre os comandos internos do "
"`shell'.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1696,92 +1696,92 @@ msgstr "Sinal desconhecido #"
msgid "Unknown Signal #%d"
msgstr "Sinal desconhecido #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, fuzzy, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "substituição incorreta: nenhum `%s' em %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: impossível atribuir uma lista a um membro de uma matriz (array)"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
#, fuzzy
msgid "cannot make pipe for process substitution"
msgstr "impossível criar `pipe' para a substituição do processo: %s"
-#: subst.c:4802
+#: subst.c:5027
#, fuzzy
msgid "cannot make child for process substitution"
msgstr "impossível criar um processo filho para a substituição do processo: %s"
-#: subst.c:4847
+#: subst.c:5072
#, fuzzy, c-format
msgid "cannot open named pipe %s for reading"
msgstr "impossível abrir o `named pipe' %s para %s: %s"
-#: subst.c:4849
+#: subst.c:5074
#, fuzzy, c-format
msgid "cannot open named pipe %s for writing"
msgstr "impossível abrir o `named pipe' %s para %s: %s"
-#: subst.c:4867
+#: subst.c:5092
#, fuzzy, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
"impossível duplicar o `named pipe' %s\n"
"como descritor de arquivo (fd) %d: %s"
-#: subst.c:5063
+#: subst.c:5284
#, fuzzy
msgid "cannot make pipe for command substitution"
msgstr "impossível construir `pipes' para substituição do comando: %s"
-#: subst.c:5097
+#: subst.c:5322
#, fuzzy
msgid "cannot make child for command substitution"
msgstr "impossível criar um processo filho para substituição do comando: %s"
-#: subst.c:5114
+#: subst.c:5339
#, fuzzy
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
"command_substitute: impossível duplicar o `pipe' como\n"
"descritor de arquivo (fd) 1: %s"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parâmetro nulo ou não inicializado"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expressão de substring < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: substituição incorreta"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: impossível atribuir desta maneira"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "substituição incorreta: nenhum `%s' em %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1804,37 +1804,37 @@ msgstr "esperado `)'"
msgid "`)' expected, found %s"
msgstr "esperado `)', encontrado %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: esperado operador unário"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: esperado operador binário"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "faltando `]'"
-#: trap.c:203
+#: trap.c:207
#, fuzzy
msgid "invalid signal number"
msgstr "número do sinal incorreto"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, fuzzy, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Sinal incorreto %d"
@@ -1844,58 +1844,58 @@ msgstr "trap_handler: Sinal incorreto %d"
msgid "error importing function definition for `%s'"
msgstr "erro ao importar a definição da função para `%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parâmetro nulo ou não inicializado"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: impossível criar: %s"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -1988,7 +1988,7 @@ msgstr "test [EXPR]"
#: builtins.c:64
#, fuzzy
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-PL] [DIR]"
#: builtins.c:66
@@ -2014,12 +2014,12 @@ msgstr "command [-pVv] COMANDO [ARG ...]"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-afFrxi] [-p] NOME[=VALOR] ..."
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-afFrxi] [-p] NOME[=VALOR] ..."
#: builtins.c:80
@@ -2128,7 +2128,7 @@ msgstr "return [n]"
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o OPÇÃO] [ARG ...]"
#: builtins.c:142
@@ -2142,7 +2142,7 @@ msgstr "export [-nf] [NOME ...] ou export -p"
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-anf] [NOME ...] ou readonly -p"
#: builtins.c:148
@@ -2482,14 +2482,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2505,7 +2509,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2517,7 +2521,7 @@ msgid ""
msgstr ""
"Nenhum efeito; o comando não faz nada. Retorna zero no código de saída."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2525,7 +2529,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2533,7 +2537,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2552,7 +2556,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2563,6 +2567,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2582,20 +2588,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2610,7 +2616,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2641,7 +2647,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2654,7 +2660,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2681,7 +2687,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2693,7 +2699,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2734,7 +2740,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2757,7 +2763,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2766,7 +2772,7 @@ msgid ""
" is that of the last command executed."
msgstr "Sair da `shell' com status igual a N. Se N for omitido, o status"
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2775,7 +2781,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2805,7 +2811,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
#, fuzzy
msgid ""
"Move job to the foreground.\n"
@@ -2819,7 +2825,7 @@ msgid ""
msgstr ""
"Colocar JOB-ESPECIFICADO no primeiro plano, e torná-lo o trabalho atual."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2833,7 +2839,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2857,7 +2863,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2879,7 +2885,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2913,7 +2919,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2937,7 +2943,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2954,7 +2960,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2976,7 +2982,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3018,10 +3024,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3069,7 +3075,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3081,7 +3087,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3150,6 +3156,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3163,7 +3172,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3183,7 +3192,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3202,7 +3211,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3222,7 +3231,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3233,7 +3242,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3247,7 +3256,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3261,14 +3270,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3322,6 +3334,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3338,7 +3351,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3347,7 +3360,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr "argumento deve ser o literal `]', para fechar o `[' de abertura."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3359,7 +3372,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3375,7 +3388,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3395,7 +3416,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3425,7 +3446,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3469,7 +3490,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3487,7 +3508,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3504,7 +3525,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3518,7 +3539,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3531,7 +3552,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3548,7 +3569,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3568,7 +3589,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3584,7 +3605,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
#, fuzzy
msgid ""
"Execute commands based on pattern matching.\n"
@@ -3597,7 +3618,7 @@ msgid ""
msgstr ""
"Executar seletivamente COMANDOS tomando por base a correspondência entre"
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3618,7 +3639,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -3630,7 +3651,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr "Expande e executa COMANDOS enquanto o comando final nos"
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -3642,7 +3663,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr "Expande e executa COMANDOS enquanto o comando final nos"
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3655,7 +3676,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3669,7 +3690,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -3681,7 +3702,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr "Executa um conjunto de comandos agrupando-os. Esta é uma forma de"
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3695,7 +3716,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3706,7 +3727,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3734,7 +3755,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3788,7 +3809,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3819,7 +3840,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3846,7 +3867,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3875,7 +3896,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3896,7 +3917,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3919,6 +3940,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3926,7 +3950,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3953,7 +3977,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3966,13 +3990,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3997,7 +4021,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4025,7 +4049,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4037,7 +4062,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/ro.gmo b/po/ro.gmo
index d3c700c..d19197a 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index b554fb7..5b69998 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 2.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 1997-08-17 18:42+0300\n"
"Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -18,7 +18,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "incluziune greºitã în interval"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -38,26 +38,26 @@ msgstr "%s: nu se poate atribui cãtre index ne-numeric"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: nu s-a putut crea: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -117,26 +117,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr ""
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr ""
@@ -155,11 +140,11 @@ msgstr "în scriere"
msgid "%s: usage: "
msgstr ""
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "prea mulþi parametri"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, fuzzy, c-format
msgid "%s: option requires an argument"
msgstr "opþiunea necesitã un parametru: -"
@@ -199,7 +184,7 @@ msgstr "numãr de semnal invalid"
msgid "invalid hex number"
msgstr "numãr de semnal invalid"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
#, fuzzy
msgid "invalid number"
msgstr "numãr de semnal invalid"
@@ -312,26 +297,26 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
#, fuzzy
msgid "can only be used in a function"
msgstr "poate fi folosit doar într-o funcþie, ºi face ca variabila NUME"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funcþie doar în citire (readonly)"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, fuzzy, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "$%s: nu se poate asigna în acest mod"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -360,29 +345,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr "%s: nu s-a putut crea: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: este director"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, fuzzy, c-format
msgid "%s: not a regular file"
msgstr "%s: nu se poate executa fiºierul binar"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: nu se poate executa fiºierul binar"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, fuzzy, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: nu s-a putut crea: %s"
@@ -411,11 +396,11 @@ msgstr ""
msgid "no command found"
msgstr "%s: comandã negãsitã"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, fuzzy, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: nu s-a putut crea: %s"
@@ -448,7 +433,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "ultima comandã."
@@ -505,78 +490,88 @@ msgstr "%s: variabilã fãrã limitã"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
#, fuzzy
msgid "Unknown error"
msgstr "Eroare necunoscutã %d"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "se aºteaptã expresie"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: variabilã fãrã limitã"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%c%c: opþiune invalidã"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%c%c: opþiune invalidã"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "numãr de semnal invalid"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: variabilã fãrã limitã"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%c%c: opþiune invalidã"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr ""
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
#, fuzzy
msgid "no other directory"
@@ -679,22 +674,22 @@ msgstr "eroare de legãturã (pipe): %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
#, fuzzy
msgid "cannot simultaneously unset a function and a variable"
msgstr "poate fi folosit doar într-o funcþie, ºi face ca variabila NUME"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, fuzzy, c-format
msgid "%s: cannot unset"
msgstr "%s: nu s-a putut crea: %s"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, fuzzy, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: nu s-a putut crea: %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, fuzzy, c-format
msgid "%s: not an array variable"
msgstr "%s: variabilã fãrã limitã"
@@ -709,20 +704,20 @@ msgstr "%s: funcþie doar în citire (readonly)"
msgid "shift count"
msgstr "shift [n]"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, fuzzy, c-format
msgid "%s: file not found"
msgstr "%s: comandã negãsitã"
@@ -766,27 +761,27 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, fuzzy, c-format
msgid "`%c': bad command"
msgstr "%c%c: opþiune invalidã"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, fuzzy, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: nu s-a putut crea: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
#, fuzzy
msgid "limit"
msgstr "limitã CPU"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, fuzzy, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: nu s-a putut crea: %s"
@@ -847,109 +842,114 @@ msgstr "%s: variabilã fãrã limitã"
#: eval.c:181
#, fuzzy, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr "%ca expirat aºteptând introducere de date: auto-logout\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "eroare de legãturã (pipe): %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: limitat: nu se poate specifica `/' în numele comenzilor"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: comandã negãsitã"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, fuzzy, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: este director"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, fuzzy, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "nu se poate duplica fd %d în fd 0: %s"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "nivel de recursivitate al expresiei depãºit"
-#: expr.c:265
+#: expr.c:280
#, fuzzy
msgid "recursion stack underflow"
msgstr "Stivã recursivitate prea puþin folositã(underflow)"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "eroare de sintaxã în expresie "
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "s-a încercat asignare cãtre non-variabilã"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "împãrþire la 0"
-#: expr.c:471
+#: expr.c:517
#, fuzzy
msgid "bug: bad expassign token"
msgstr "bug: identificator(token) expassign greºit %d"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "`:' aºteptat dupã expresie condiþionalã"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "`)' lipsã"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
#, fuzzy
msgid "syntax error: operand expected"
msgstr "eroare de sintaxã: sfârºit de fiºier neaºteptat"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, fuzzy, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s: %s: %s (identificatorul erorii este \"%s\")\n"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "valoare prea mare pentru bazã"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "eroare de redirectare"
@@ -959,167 +959,167 @@ msgstr "eroare de redirectare"
msgid "getcwd: cannot access parent directories"
msgstr "getwd: nu s-au putut accesa directoarele pãrinte"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
-#: input.c:258
+#: input.c:260
#, fuzzy, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"nu se poate aloca descriptor de fiºier nou pentru inputul bash din fd %d: %s"
-#: input.c:266
+#: input.c:268
#, fuzzy, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "check_bash_input: buffer deja existent pentru fd nou %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, fuzzy, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: Nu existã pid-ul (%d)!\n"
-#: jobs.c:1416
+#: jobs.c:1445
#, fuzzy, c-format
msgid "Signal %d"
msgstr "Semnal Necunoscut #%d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Finalizat"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Stopat"
-#: jobs.c:1439
+#: jobs.c:1468
#, fuzzy, c-format
msgid "Stopped(%s)"
msgstr "Stopat"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "În rulare"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Finalizat(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Ieºire %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Stare necunoscutã"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(core dumped) "
-#: jobs.c:1568
+#: jobs.c:1597
#, fuzzy, c-format
msgid " (wd: %s)"
msgstr "(wd actual: %s)\n"
-#: jobs.c:1776
+#: jobs.c:1805
#, fuzzy, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid copil (de la %d la %d) a întâlnit o eroare %d: %s\n"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, fuzzy, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "aºteptaþi: pid-ul %d nu este rezultat(child) al acestui shell"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: jobul a fost terminat"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "slot %3d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (core dumped)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd actual: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
#, fuzzy
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_jobs: getpgrp eºuat: %s"
-#: jobs.c:3639
+#: jobs.c:3669
#, fuzzy
msgid "initialize_job_control: line discipline"
msgstr "initialize_jobs: disciplinã linie: %s"
-#: jobs.c:3649
+#: jobs.c:3679
#, fuzzy
msgid "initialize_job_control: setpgid"
msgstr "initialize_jobs: getpgrp eºuat: %s"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "nici un control de job în acest shell"
@@ -1272,103 +1272,103 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, fuzzy, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "EOF brusc în cãutare dupã `%c'"
-#: parse.y:3951
+#: parse.y:4025
#, fuzzy
msgid "unexpected EOF while looking for `]]'"
msgstr "EOF brusc în cãutare dupã `%c'"
-#: parse.y:3956
+#: parse.y:4030
#, fuzzy, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "eroare de sintaxã neaºteptatã lângã `%s'"
-#: parse.y:3960
+#: parse.y:4034
#, fuzzy
msgid "syntax error in conditional expression"
msgstr "eroare de sintaxã în expresie "
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
#, fuzzy
msgid "expected `)'"
msgstr "se aºteaptã `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, fuzzy, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "%s: se aºteaptã operator binar"
-#: parse.y:4124
+#: parse.y:4198
#, fuzzy
msgid "conditional binary operator expected"
msgstr "%s: se aºteaptã operator binar"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, fuzzy, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "`:' aºteptat dupã expresie condiþionalã"
-#: parse.y:4164
+#: parse.y:4238
#, fuzzy, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "`:' aºteptat dupã expresie condiþionalã"
-#: parse.y:4168
+#: parse.y:4242
#, fuzzy, c-format
msgid "unexpected token %d in conditional command"
msgstr "`:' aºteptat dupã expresie condiþionalã"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "eroare de sintaxã neaºteptatã lângã `%s'"
-#: parse.y:5477
+#: parse.y:5584
#, fuzzy, c-format
msgid "syntax error near `%s'"
msgstr "eroare de sintaxã neaºteptatã lângã `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "eroare de sintaxã: sfârºit de fiºier neaºteptat"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "eroare de sintaxã"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Folosiþi \"%s\" pentru a pãrãsi shellul.\n"
-#: parse.y:5711
+#: parse.y:5818
#, fuzzy
msgid "unexpected EOF while looking for matching `)'"
msgstr "EOF brusc în cãutare dupã `%c'"
@@ -1378,78 +1378,78 @@ msgstr "EOF brusc în cãutare dupã `%c'"
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: conector greºitr `%d'"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, fuzzy, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: Redirectare ambiguã"
-#: redir.c:170
+#: redir.c:182
#, fuzzy, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: nu se poate accesa(clobber) fiºierul existent"
-#: redir.c:175
+#: redir.c:187
#, fuzzy, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: limitat: nu se poate specifica `/' în numele comenzilor"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "nu pot face legãturã (pipe) pentru substituþia procesului: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: nu pot asigna listã membrului intervalului"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
#, fuzzy
msgid "redirection error: cannot duplicate fd"
msgstr "eroare de redirectare"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1458,16 +1458,16 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr "%c%c: opþiune invalidã"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Nu am nici un nume!"
-#: shell.c:1793
+#: shell.c:1795
#, fuzzy, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU %s, versiunea %s\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1476,44 +1476,44 @@ msgstr ""
"Folosire:\t%s [GNU opþiune lungã] [opþiune] ...\n"
"\t%s [GNU opþiune lungã] [opþiune] fiºier script ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "opþiuni lungi GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Opþiuni ale shell-ului:\n"
-#: shell.c:1801
+#: shell.c:1803
#, fuzzy
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD sau -c comandã\t\t(doar invocaþie)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s sau -o opþiune\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Apãsaþi `%s -c \"set-ajutor\"' pentru mai multe informaþii despre opþiunile "
"shell-ului.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Apãsaþi `%s -c ajutor' pentru mai multe informaþii despre comenzile interne "
"ale shell-ului.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1687,88 +1687,88 @@ msgstr "Semnal Necunoscut #"
msgid "Unknown Signal #%d"
msgstr "Semnal Necunoscut #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, fuzzy, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "substituþie invalidã: nu existã '%s' în %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: nu pot asigna listã membrului intervalului"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
#, fuzzy
msgid "cannot make pipe for process substitution"
msgstr "nu pot face legãturã (pipe) pentru substituþia procesului: %s"
-#: subst.c:4802
+#: subst.c:5027
#, fuzzy
msgid "cannot make child for process substitution"
msgstr "nu pot crea un proces copil pentru substituirea procesului: %s"
-#: subst.c:4847
+#: subst.c:5072
#, fuzzy, c-format
msgid "cannot open named pipe %s for reading"
msgstr "nu pot deschide legãtura numitã %s pentru %s: %s"
-#: subst.c:4849
+#: subst.c:5074
#, fuzzy, c-format
msgid "cannot open named pipe %s for writing"
msgstr "nu pot deschide legãtura numitã %s pentru %s: %s"
-#: subst.c:4867
+#: subst.c:5092
#, fuzzy, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "nu se poate duplica legãtura numitã %s ca fd %d: %s "
-#: subst.c:5063
+#: subst.c:5284
#, fuzzy
msgid "cannot make pipe for command substitution"
msgstr "nu pot face legãturi(pipes) pentru substituþia de comenzi: %s"
-#: subst.c:5097
+#: subst.c:5322
#, fuzzy
msgid "cannot make child for command substitution"
msgstr "nu pot crea un copil pentru substituþia de comenzi: %s"
-#: subst.c:5114
+#: subst.c:5339
#, fuzzy
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: nu se poate duplica legãtura (pipe) ca fd 1: %s"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametru null sau nesetat"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: expresie subºir < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: substituþie invalidã"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: nu se poate asigna în acest mod"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "substituþie invalidã: nu existã ')' de final în %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1791,37 +1791,37 @@ msgstr "se aºteaptã `)'"
msgid "`)' expected, found %s"
msgstr "se aºteaptã `)', s-a primit %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: se aºteaptã operator unar"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: se aºteaptã operator binar"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "lipseºte ']'"
-#: trap.c:203
+#: trap.c:207
#, fuzzy
msgid "invalid signal number"
msgstr "numãr de semnal invalid"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, fuzzy, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: Semnal invalid %d"
@@ -1831,58 +1831,58 @@ msgstr "trap_handler: Semnal invalid %d"
msgid "error importing function definition for `%s'"
msgstr "eroare în importarea definiþiei funcþiei pentru '%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametru null sau nesetat"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: nu s-a putut crea: %s"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -1975,7 +1975,7 @@ msgstr "test [expr]"
#: builtins.c:64
#, fuzzy
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-PL] [dir]"
#: builtins.c:66
@@ -2001,12 +2001,12 @@ msgstr "command [-pVv] comandã [arg ...]"
#: builtins.c:76
#, fuzzy
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-afFrxi] [-p] nume[=valoare] ..."
#: builtins.c:78
#, fuzzy
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-afFrxi] [-p] nume[=valoare] ..."
#: builtins.c:80
@@ -2114,7 +2114,7 @@ msgstr "return [n]"
#: builtins.c:140
#, fuzzy
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o opþiune] [arg ...]"
#: builtins.c:142
@@ -2128,7 +2128,7 @@ msgstr "export [-nf] [nume ...] sau export -p"
#: builtins.c:146
#, fuzzy
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-anf] [nume ...] sau readonly -p"
#: builtins.c:148
@@ -2463,14 +2463,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2486,7 +2490,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2498,7 +2502,7 @@ msgid ""
msgstr ""
"Nici un efect, comanda nu face nimic. Un cod de ieºire zero este returnat."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2506,7 +2510,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2514,7 +2518,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2533,7 +2537,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2544,6 +2548,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2563,20 +2569,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2591,7 +2597,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2622,7 +2628,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2635,7 +2641,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2662,7 +2668,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2674,7 +2680,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2715,7 +2721,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2738,7 +2744,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2747,7 +2753,7 @@ msgid ""
" is that of the last command executed."
msgstr "Iese din shell cu starea lui N. Dacã N este omis, starea de ieºire"
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2756,7 +2762,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2786,7 +2792,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2798,7 +2804,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2812,7 +2818,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2836,7 +2842,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2858,7 +2864,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2892,7 +2898,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2916,7 +2922,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2933,7 +2939,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2955,7 +2961,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2997,10 +3003,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3048,7 +3054,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3060,7 +3066,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3129,6 +3135,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3142,7 +3151,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3162,7 +3171,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3181,7 +3190,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3201,7 +3210,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3212,7 +3221,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3226,7 +3235,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3240,14 +3249,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3301,6 +3313,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3317,7 +3330,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3325,7 +3338,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3337,7 +3350,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3353,7 +3366,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3373,7 +3394,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3403,7 +3424,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3447,7 +3468,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3465,7 +3486,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3482,7 +3503,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3496,7 +3517,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3509,7 +3530,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3526,7 +3547,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3546,7 +3567,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3562,7 +3583,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3573,7 +3594,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3594,7 +3615,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3605,7 +3626,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3616,7 +3637,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3629,7 +3650,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3643,7 +3664,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3654,7 +3675,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3668,7 +3689,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3679,7 +3700,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3707,7 +3728,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3761,7 +3782,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3792,7 +3813,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3819,7 +3840,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3848,7 +3869,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3869,7 +3890,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3892,6 +3913,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3899,7 +3923,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3926,7 +3950,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3939,13 +3963,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3970,7 +3994,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3998,7 +4022,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4010,7 +4035,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/ru.gmo b/po/ru.gmo
index b5aeccf..c43e01c 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 489635b..fb4ca29 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU bash 3.1-release\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2006-01-05 21:28+0300\n"
"Last-Translator: Evgeniy Dushistov <dushistov@mail.ru>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -22,7 +22,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "ÎÅÐÒÁ×ÉÌØÎÙÊ ÉÎÄÅËÓ ÍÁÓÓÉ×Á"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -42,26 +42,26 @@ msgstr "%s; ÎÅ ÍÏÇÕ ÐÒÉÐÉÓÁÔØ ÎÅ ÞÉÓÌÏ×ÏÊ ÉÎÄÅËÓ"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: ÎÅ ÍÏÇÕ ÓÏÚÄÁÔØ: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: ÐÅÒ×ÙÊ ÎÅÐÒÏÂÅÌØÎÙÊ ÓÉÍ×ÏÌ ÎÅ `\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "ÎÅÔ ÚÁËÒÙ×ÁÀÝÅÇÏ `%c' × %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: ÐÒÏÐÕÝÅÎ ÒÁÚÄÅÌÉÔÅÌØ Ä×ÏÅÔÏÞÉÅ"
@@ -120,26 +120,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "ÐÅÒÅÍÅÎÎÁÑ HOME ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "ÐÅÒÅÍÅÎÎÁÑ OLDPWD ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ"
@@ -158,11 +143,11 @@ msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ:"
msgid "%s: usage: "
msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ:"
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: ÏÐÃÉÑ ÔÒÅÂÕÅÔ ÁÒÇÕÍÅÎÔÁ"
@@ -202,7 +187,7 @@ msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÎÏÍÅÒ ÓÉÇÎÁÌÁ"
msgid "invalid hex number"
msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÞÉÓÌÏ"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÞÉÓÌÏ"
@@ -311,25 +296,25 @@ msgstr ""
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÔÏÌØËÏ × ÆÕÎËÃÉÉ"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: ÄÏÓÔÕÐÎÁÑ ÔÏÌØËÏ ÎÁ ÞÔÅÎÉÅ ÆÕÎËÃÉÑ"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: ÎÅ ÍÏÇÕ ÕÄÁÌÉÔØ ÐÅÒÅÍÅÎÎÕÀ-ÍÁÓÓÉ× ÔÁËÉÍ ÓÐÏÓÏÂÏÍ"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -358,29 +343,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr "%s: ÎÅ ÍÏÇÕ ÕÄÁÌÉÔØ: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÅÊ"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: ÎÅ Ñ×ÌÑÅÔÓÑ ÏÂÙÞÎÙÍ ÆÁÊÌÏÍ"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: ÓÌÉÛËÏÍ ÂÏÌØÛÏÊ ÆÁÊÌ"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: ÎÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ ÂÉÎÁÒÎÙÊ ÆÁÊÌ"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: ÎÅ ÍÏÇÕ ÚÁÐÕÓÔÉÔØ: %s"
@@ -409,11 +394,11 @@ msgstr "åÓÔØ ÐÒÉÏÓÔÁÎÏ×ÌÅÎÎÙÅ ÚÁÄÁÞÉ.\n"
msgid "no command found"
msgstr "ÎÅ ÎÁÛÅÌ ÔÁËÕÀ ËÏÍÁÎÄÕ"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ: %s"
@@ -446,7 +431,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "ÐÏÓÌÅÄÎÑÑ ËÏÍÁÎÄÁ: %s\n"
@@ -504,77 +489,87 @@ msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ÓÅÒ×ÉÓ"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "ÏÖÉÄÁÌÏÓØ ×ÙÒÁÖÅÎÉÅ"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: ÎÅ ÐÅÒÅÍÅÎÎÁÑ-ÍÁÓÓÉ×"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÏÅ ÏÐÉÓÁÎÉÅ ÆÁÊÌÏ×ÏÇÏ ÄÅÓËÒÉÐÔÏÒÁ"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: ÎÅÐÒÁ×ÉÌØÎÁÑ ÏÐÃÉÑ"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: ÎÅÐÒÁ×ÉÌØÎÁÑ ÏÐÃÉÑ"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÏÅ ÞÉÓÌÏ"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: ÎÅ ÐÅÒÅÍÅÎÎÁÑ-ÍÁÓÓÉ×"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': ÐÒÏÐÕÝÅÎ ÓÉÍ×ÏÌ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ ÓÉÇÎÁÌÁ"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "%c': ÎÅÄÏÐÕÓÔÉÍÙÊ ÓÉÍ×ÏÌ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ:"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "ÎÅÔ ÄÒÕÇÏÊ ÄÉÒÅËÔÏÒÉÉ"
@@ -675,21 +670,21 @@ msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: ÎÅ ÍÏÇÕ ÓÂÒÏÓÉÔØ"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: ÎÅ ÍÏÇÕ ÓÂÒÏÓÉÔØ: ÄÏÓÔÕÐÎÏ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: ÎÅ ÐÅÒÅÍÅÎÎÁÑ-ÍÁÓÓÉ×"
@@ -703,20 +698,20 @@ msgstr "%s: ÎÅ ÆÕÎËÃÉÑ"
msgid "shift count"
msgstr ""
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÏÅ ÉÍÑ ÏÐÃÉÉ ÏÂÏÌÏÞËÉ"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "ÔÒÅÂÕÅÔÓÑ ÁÒÇÕÍÅÎÔ ÉÍÑ ÆÁÊÌÁ"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: ÆÁÊÌ ÎÅ ÎÁÊÄÅÎ"
@@ -759,26 +754,26 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': ÐÌÏÈÁÑ ËÏÍÁÎÄÁ"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr ""
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr ""
@@ -834,106 +829,111 @@ msgstr ""
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: ËÏÍÁÎÄÁ ÎÅ ÎÁÊÄÅÎÁ"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: ÐÌÏÈÏÊ ÉÎÔÅÒÐÒÅÔÁÔÏÒ"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "ÎÅ ÍÏÇÕ ÄÕÂÌÉÒÏ×ÁÔØ fd %d × fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr ""
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr ""
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ×ÙÒÁÖÅÎÉÅ"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "ÐÏÐÙÔËÁ ÐÒÉÓ×ÏÅÎÉÑ ÎÅ-ÐÅÒÅÍÅÎÎÏÊ"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "ÄÅÌÅÎÉÅ ÎÁ 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr ""
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr ""
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "ÐÒÏÐÕÝÅÎ `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ: ÏÖÉÄÁÅÔÓÑ ÏÐÅÒÁÎÄ"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr ""
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "ÏÖÉÄÁÌÏÓØ ×ÙÒÁÖÅÎÉÅ"
@@ -942,163 +942,163 @@ msgstr "ÏÖÉÄÁÌÏÓØ ×ÙÒÁÖÅÎÉÅ"
msgid "getcwd: cannot access parent directories"
msgstr ""
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "ÎÅ ÍÏÇÕ ÄÕÂÌÉÒÏ×ÁÔØ fd %d × fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr ""
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr ""
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ:"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr ""
@@ -1250,99 +1250,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr ""
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "ÏÖÉÄÁÌÓÑ `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ ÏËÏÌÏ `%s'"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ: ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "éÓÐÏÌØÚÕÊÔÅ \"%s\", ÞÔÏÂÙ ÚÁ×ÅÒÛÉÔØÓÑ ÒÁÂÏÔÕ Ó ÏÂÏÌÏÞËÏÊ.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1351,77 +1351,77 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr ""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr ""
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: ÎÅ ÍÏÇÕ ÐÅÒÅÐÉÓÁÔØ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr ""
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: ÎÅ ÐÅÒÅÍÅÎÎÁÑ-ÍÁÓÓÉ×"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "ÏÛÉÂËÁ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ: ÎÅ ÍÏÇÕ ÄÕÂÌÉÒÏ×ÁÔØ fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ /tmp, ÐÏÖÁÌÕÊÓÔÁ ÓÏÚÄÁÊÔÅ!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp ÄÏÌÖÎÁ ÂÙÔØ ÄÅÊÓÔ×ÉÔÅÌØÎÙÍ ÉÍÅÎÅÍ ÄÉÒÅËÔÏÒÉÉ"
@@ -1430,16 +1430,16 @@ msgstr "/tmp ÄÏÌÖÎÁ ÂÙÔØ ÄÅÊÓÔ×ÉÔÅÌØÎÙÍ ÉÍÅÎÅÍ ÄÉÒÅËÔÏÒÉÉ"
msgid "%c%c: invalid option"
msgstr "%c%c: ÎÅÄÏÐÕÓÔÉÍÁÑ ÏÐÃÉÑ"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "õ ÍÅÎÑ ÎÅÔ ÉÍÅÎÉ!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1449,39 +1449,39 @@ msgstr ""
"%s [ÄÌÉÎÎÙÅ ÏÐÃÉÉ Á-ÌÑ `GNU'] [ÏÐÃÉÉ] ...\n"
"\t%s [ÄÌÉÎÎÙÅ ÏÐÃÉÉ Á-ÌÑ `GNU'] [ÏÐÃÉÉ] ÆÁÊÌ_ÓÏ_ÓËÒÉÐÔÏÍ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "äÌÉÎÎÙÅ ÏÐÃÉÉ × ÓÔÅÌÅ GNU:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "ïÐÃÉÉ ÏÂÏÌÏÞËÉ:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr ""
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s ÉÌÉ ÏÐÃÉÑ -o\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1656,83 +1656,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÉÍÅÎÎÏÊ ËÁÎÁÌ %s ÄÌÑ ÞÔÅÎÉÑ"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÉÍÅÎÎÏÊ ËÁÎÁÌ %s ÄÌÑ ÚÁÐÉÓÉ"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: ÐÁÒÁÍÅÔÒ null ÉÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr ""
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr ""
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "ÎÅÔ ÚÁËÒÙ×ÁÀÝÅÇÏ `%c' × %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "ÎÅÔ ÓÏ×ÐÁÄÅÎÉÑ Ó: %s"
@@ -1755,36 +1755,36 @@ msgstr "ÏÖÉÄÁÅÔÓÑ `)' "
msgid "`)' expected, found %s"
msgstr "ÏÖÉÄÁÌÓÑ `)', ÎÁÊÄÅÎ %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: ÏÖÉÄÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÕÎÁÒÎÏÇÏ ÏÐÅÒÁÔÏÒÁ"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: ÏÖÉÄÁÅÔÓÑ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÂÉÎÁÒÎÏÇÏ ÏÐÅÒÁÔÏÒÁ"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "ÐÒÏÐÕÝÅÎ `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÎÏÍÅÒ ÓÉÇÎÁÌÁ"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr ""
@@ -1794,58 +1794,58 @@ msgstr ""
msgid "error importing function definition for `%s'"
msgstr ""
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: ÐÁÒÁÍÅÔÒ null ÉÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: ÎÅÄÏÐÕÓÔÉÍÙÊ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ: %s"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -1932,7 +1932,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -1956,11 +1956,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2054,7 +2054,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2066,7 +2066,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2383,14 +2383,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2406,7 +2410,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2419,7 +2423,7 @@ msgstr ""
" îÅÔ ËÁËÏÇÏ-ÌÉÂÏ ÜÆÆÅËÔÁ; ËÏÍÁÎÄÁ ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ. îÕÌØ ×ÏÚ×ÒÁÝÁÅÔÓÑ × "
"ËÁÞÅÓÔ×Å ÒÅÚÕÌØÔÁÔÁ."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2427,7 +2431,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
#, fuzzy
msgid ""
"Return an unsuccessful result.\n"
@@ -2436,7 +2440,7 @@ msgid ""
" Always fails."
msgstr "÷ÏÚ×ÒÁÝÁÅÔ ÒÅÚÕÌØÔÁÔ: ÎÅÕÄÁÞÁ."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2455,7 +2459,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2466,6 +2470,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2485,20 +2491,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2513,7 +2519,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2544,7 +2550,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2557,7 +2563,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2584,7 +2590,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2596,7 +2602,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2637,7 +2643,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2660,7 +2666,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2668,7 +2674,7 @@ msgid ""
" is that of the last command executed."
msgstr ""
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2677,7 +2683,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2707,7 +2713,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2719,7 +2725,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2733,7 +2739,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2757,7 +2763,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2779,7 +2785,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2813,7 +2819,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2837,7 +2843,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2854,7 +2860,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2876,7 +2882,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2918,10 +2924,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -2969,7 +2975,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -2981,7 +2987,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3050,6 +3056,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3063,7 +3072,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3083,7 +3092,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3102,7 +3111,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3122,7 +3131,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3133,7 +3142,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3147,7 +3156,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3161,14 +3170,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3222,6 +3234,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3238,7 +3251,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3246,7 +3259,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3258,7 +3271,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3274,7 +3287,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3294,7 +3315,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3324,7 +3345,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3368,7 +3389,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3386,7 +3407,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3403,7 +3424,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3417,7 +3438,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3430,7 +3451,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3447,7 +3468,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3467,7 +3488,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3483,7 +3504,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3494,7 +3515,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3515,7 +3536,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3526,7 +3547,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3537,7 +3558,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3550,7 +3571,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3564,7 +3585,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3575,7 +3596,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3589,7 +3610,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3600,7 +3621,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3628,7 +3649,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3682,7 +3703,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3713,7 +3734,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3740,7 +3761,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3769,7 +3790,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3790,7 +3811,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3813,6 +3834,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3820,7 +3844,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3847,7 +3871,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
#, fuzzy
msgid ""
"Display possible completions depending on the options.\n"
@@ -3866,13 +3890,13 @@ msgstr ""
" åÓÌÉ ÎÅÏÂÑÚÁÔÅÌØÎÙÊ ÁÒÇÕÍÅÎÔ óìï÷ï ÂÙÌ ÉÓÐÏÌØÚÏ×ÁÎ, ÔÏ ÂÕÄÕÔ "
"ÓÇÅÎÅÒÉÒÏ×ÁÎÙ ÔÏÌØËÏ ÓÏ×ÐÁÄÅÎÉÑ Ó óìï÷ï."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3897,7 +3921,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3925,7 +3949,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -3937,7 +3962,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/sk.gmo b/po/sk.gmo
index 06b798f..6d4b620 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index dba3061..3522036 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -1,14 +1,14 @@
# Slovak translation for bash.
# Copyright (C) 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Ivan Masár <helix84@centrum.sk>, 2007, 2008, 2009.
+# Ivan Masár <helix84@centrum.sk>, 2007, 2008, 2009, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-03-19 13:09+0100\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-01-07 19:18+0100\n"
"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "chybný index poľa"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: nie je možné previesť indexované pole na asociatívne"
@@ -40,35 +40,35 @@ msgstr "%s: nie je možné priradiť nenumerickému indexu"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: pri priraÄovaní asociatívnemu poľu je potrebné použiÅ¥ index"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: nie je možné vytvoriť: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: nie je možné nájsť klávesovú mapu pre príkaz"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: prvý znak (okrem bielych znakov) nie je „\"“"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "chýba zatvárajúca „%c“ v %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: chýba oddeľovaÄ dvojbodka"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "„%s“: neplatný názov klávesovej mapy"
+msgstr "„%s“: neplatný názov aliasu"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -122,26 +122,11 @@ msgstr ""
" \n"
" Bez EXPR, vracia "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME nebola nastavená"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD nebola nastavená"
@@ -160,11 +145,11 @@ msgstr "upozornenie: "
msgid "%s: usage: "
msgstr "%s: použitie "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "príliš veľa argumentov"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: voľba vyžaduje argument"
@@ -202,7 +187,7 @@ msgstr "neplatné osmiÄkové Äíslo"
msgid "invalid hex number"
msgstr "neplatné Å¡estnástkové Äíslo"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "neplatné Äíslo"
@@ -311,25 +296,25 @@ msgstr "upozornenie: voľba -C nemusí fungovaÅ¥ tak ako oÄakávate"
msgid "not currently executing completion function"
msgstr "momentálne sa nevykonáva funkcia doplňovania"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "je možné použiť iba vo funkcii"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "nie je možné použiť „-f“ pre tvorbu funkcií"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: funkcia iba na Äítanie"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: nie je možné takto robiť deštrukciu premenných polí"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: nie je možné previesť asociatívne pole na indexované"
@@ -358,29 +343,29 @@ msgstr "%s: nie je dynamicky naÄítané"
msgid "%s: cannot delete: %s"
msgstr "%s: nie je možné zmazať: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: je adresár"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: nie je obyÄajný súbor"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: súbor je príliš veľký"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: nie je možné vykonať binárny súbor"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: nie je možné spustiť: %s"
@@ -408,11 +393,11 @@ msgstr "Existujú bežiace úlohy.\n"
msgid "no command found"
msgstr "prákaz nenájdený"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "špecifikácia histórie"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: nie je možné otvoriť odkladací súbor: %s"
@@ -445,7 +430,7 @@ msgstr "hašovanie vypnuté"
msgid "%s: hash table empty\n"
msgstr "%s: hašovacia tabuľka je prázdna\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "použití\tpríkaz\n"
@@ -514,76 +499,86 @@ msgstr "%s: inlib zlyhalo"
msgid "no other options allowed with `-x'"
msgstr "iné voľby prípustné s „-x“"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argumenty musia byť ID procesov alebo úloh"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Neznáma chyba"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "oÄakával sa výraz"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: nie je premenná poľa"
+msgstr "%s: nie je indexované pole"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: neplatná Å¡pecifikácia popisovaÄa súboru"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: neplatný popisovaÄ súboru: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: neplatný poÄet riadkov"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: neplatný zaÄiatok poľa"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: neplatné kvantum spätného volania"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "názov prázdnej premennej poľa"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "vyžaduje sa podpora premennej poľa"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "„%s“: chýba formátovací znak"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: neplatná špecifikácia expirácie (timeout)"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "„%c“: neplatný formátovací znak"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "upozornenie: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "chýba hexadecimálna Äíslica v \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "chýba hexadecimálna Äíslica v \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "žiadny iný adresár"
@@ -741,21 +736,21 @@ msgstr ""
"návrat („return“) je možné vykonať iba z funkcie alebo skriptu vyvolaného "
"pomocou „source“"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "nie je možné zároveň zrušiť funkciu a premennú"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: nie je možné zrušiť"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: nie je možné zruÅ¡iÅ¥: len na Äítanie %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: nie je premenná poľa"
@@ -769,20 +764,20 @@ msgstr "%s: nie je funkcia"
msgid "shift count"
msgstr "posun o"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "nie je možné zároveň nastaviť aj zrušiť voľby shellu"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: neplatný názov voľby shellu"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "vyžaduje sa argument názov súboru"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: súbor sa nepodarilo nájsť"
@@ -825,26 +820,26 @@ msgstr "%s je %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s je hašovaný (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: neplatný argument limitu"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "„%c“: chybný príkaz"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: nie je možné zistiť limit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "obmedzenie"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: nie je možné zmeniť limit: %s"
@@ -900,105 +895,110 @@ msgstr "%s: neviazaná premenná"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "Äas vyprÅ¡al pri Äakaní na vstup: automatické odhlásenie\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aÄas vyprÅ¡al pri Äakaní na vstup: automatické odhlásenie\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "nie je možné presmerovať štandardný vstup z /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: „%c“: neplatný formátovácí znak"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "chyba rúry"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: obmedzené: nie jemožné uviesť „/“ v názvoch príkazov"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: príkaz nenájdený"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s je %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: chybný interpreter"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "nie je možné duplikovať fd %d na fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "bola prekroÄená úroveň rekurzie výrazu"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "podteÄenie zásobníka rekurzie"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "chyba syntaxe vo výraze"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "pokus o priradenie mimo premennej"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "delenie nulou"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "chyba: chybný expassign token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "pre podmienený výraz sa oÄakáva „:“"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponent menší ako 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "po pre-inkrementácii alebo pre-dekrementácii sa oÄakáva identifikátor"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "chýba „)“"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "chyba syntaxe: oÄakáva sa operand"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "chyba syntaxe: neplatný aritmetický operátor"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (chybný token je „%sâ€)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "neplatný aritmetický základ"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "hodnota je ako základ príliš veľká"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: chyba výrazu\n"
@@ -1007,163 +1007,163 @@ msgstr "%s: chyba výrazu\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: nie je možné pristupovaÅ¥ k rodiÄovským adresárom"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "nie j emožné resetovať nodelay režim fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "nie je možné alokovaÅ¥ nový popisovaÄ súboru pre vstup bashu z fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: bufer už existuje pre nový fd %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp rúra"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "pid %d získaný pomocou fork sa vyskytuje v bežiacej úlohe %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "mažem zastavenú úlohu %d so skupinou procesu %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: proces %5ld (%s) v the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) je stále oznaÄený ako živý"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: taký pid neexistuje"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signál %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Hotovo"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Zastavené"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Zastavené(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Beží"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Hotovo(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "UkonÄenie %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Neznámy stav"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(bol uložený výpis pamäte) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid detského procesu (%ld to %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld nie je dieťa tohto shellu"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Neexistuje záznam o procese %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: úloha %d je zastavená"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: úloha skonÄila"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: úloha %d už je v pozadí"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: zapína sa WNOHANG aby sme sa vyhli neurÄitému blokovaniu"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: riadok %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (bol uložený výpis pamäte)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd teraz: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: funkcia getpgrp zlyhala"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: riadkový systém"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "nie je možné nastaviť skupinu procesu terminálu (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "v tomto shelli nie je riadenie úloh"
@@ -1258,22 +1258,22 @@ msgstr "sieťové operácie nie sú podporované"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: nemožno zmeniť locale (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: nemožno zmeniť locale (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: nie je možné alokovať %lu bajtov"
+msgstr "setlocale: %s: nie je možné zmeniť locale (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: nie je možné alokovať %lu bajtov"
+msgstr "setlocale: %s: nie je možné zmeniť locale (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1317,99 +1317,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: inštrukcia presmerovania „%d“ mimo rozsahu"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "neoÄakávaný koniec súboru poÄas hľadania zodpovedajúceho „%c“"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "neoÄakávaný koniec súboru poÄas hľadania „]]“"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "chyba syntaxe v podmieneÄnom príkaze: neoÄakávaný token „%s“"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "chyba syntaxe v podmieneÄnom príkaze"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "neoÄakávaný token „%s“, oÄakávalo sa `)'"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "oÄakávalo sa `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "neoÄakávaný argument „%s“ podmieneÄného unárneho operátora"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "neoÄakávaný argument podmieneÄného unárneho operátora"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "neoÄakávaný token „%s“, oÄakáva sa podmieneÄný binárny operátor"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "oÄakáva sa podmieneÄný binárny operátor"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "neoÄakávaný argument „%s“ v podmieneÄnom binárnom operátore"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "neoÄakávaný argument v podmieneÄnom binárnom operátore"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "neoÄakávaný token „%c“ v podmieneÄnom príkaze"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "neoÄakávaný token „%s“ v podmieneÄnom príkaze"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "neoÄakávaný token %d v podmieneÄnom príkaze"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "chyba syntaxe neÄaleko neoÄakávaného tokenu „%s“"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "chyba syntaxe neÄaleko „%s“"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "chyba syntaxe: neoÄakávaný koniec súboru"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "chyba syntaxe"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Na opustenie shellu použite „%s“.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "neoÄakávaný koniec súboru poÄas hľadania zodpovedajúceho „)“"
@@ -1418,77 +1418,77 @@ msgstr "neoÄakávaný koniec súboru poÄas hľadania zodpovedajúceho „)“"
msgid "completion: function `%s' not found"
msgstr "dokonÄovanie: funkcia „%s“ nebola nájdená"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: chybný konektor `%d'"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: neplatný popisovaÄ súboru: %s"
+msgstr "xtrace_set: %d: neplatný popisovaÄ súboru"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: ukazovateľ súboru je NULL"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: „%c“: neplatný formátovací znak"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "popisovaÄ súboru mimo rozsahu"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: nejednoznaÄné presmerovanie"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: nie je možné prepísať existujúci súbor"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: ombedzené: nie je možné presmerovať výstup"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "nie je možné vytvoriť odkladací súbor pre here-document: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: nie je možné priradiť zoznam položke poľa"
+msgstr "%s: nie je možné priradiÅ¥ popisovaÄ súboru premennej"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port nie je podporovaný bez podpory sietí"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "chyba presmerovania: nie je možné duplikovať fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "nenašiel sa /tmp, vytvorte ho prosím!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp musí byť platný názov adresára"
@@ -1497,16 +1497,16 @@ msgstr "/tmp musí byť platný názov adresára"
msgid "%c%c: invalid option"
msgstr "%c%c: neplatná voľba"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Nemám meno!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, verzia %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1515,42 +1515,42 @@ msgstr ""
"Použitie:\t%s [GNU dlhá voľba] [voľba] ...\n"
"\t%s [GNU dlhá voľba] [voľba] súbor-skriptu ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU dlhé voľby:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Voľby shellu:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD alebo -c príkaz alebo -O krátka_voľba\t\t(iba vyvolanie)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s alebo -o voľba\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Napísaním „%s -c \"help set\"“ získate viac informácií o voľbách shellu.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Napísaním „%s -c help“ získate viac informácií o vstavaných príkazoch "
"(builtins) shellu.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Na ohlasovanie chýb použite príkaz „bashbug“.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: neplatná operácia"
@@ -1724,83 +1724,85 @@ msgstr "Neznáme Äíslo signálu"
msgid "Unknown Signal #%d"
msgstr "Neznámy signál #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "chybná substitúcia: chýba „%s“ v %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: nie je možné priradiť zoznam položke poľa"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "nie je možné vytvoriť rúru pre substitúciu procesov"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "nie je možné vytvoriť potomka pre substitúciu procesov"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "nie je možné otvoriÅ¥ pomenovanú rúru %s na Äítanie"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "nie je možné otvoriť pomenovanú rúru %s na zápis"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "nie je možné duplikovať pomenovanú rúru %s ako fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "nie je možné vytvoriť rúru pre substitúciu príkazov"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "nie je možné vytvoriť potomka pre substitúciu príkazov"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: nie je možné duplikovať rúru ako fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parameter je null alebo nenastavený"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: výraz podreťazca < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: chybná substitúcia"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: nie je možné vykonať priradenie takýmto spôsobom"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"budúce verzie shellu budú vynucovať vyhodnocovanie ako aritmetickú "
+"substitúciu"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "chybná substitúcia: : v reÅ¥azci %s chýba uzatvárajúci „`â€"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "bez zhody: %s"
@@ -1823,37 +1825,37 @@ msgstr "oÄakávala sa „)“"
msgid "`)' expected, found %s"
msgstr "oÄakávala sa „)“, bolo nájdené %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: oÄakával sa unárny operátor"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: oÄakával sa binárny operátor"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "chýba „]“"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "neplatné Äíslo signálu"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: chybná hodnota v trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: obsluha signálu je SIG_DFL, znovu posielam %d (%s) sebe"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: chybný signál %d"
@@ -1863,58 +1865,59 @@ msgstr "trap_handler: chybný signál %d"
msgid "error importing function definition for `%s'"
msgstr "chyba pri importe definície funkcie „%s“"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "úroveň shellu (%d) je príliš vysoká, nastavujem späť na 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: v aktuálnom rozsahu sa nenachádza kontext funkcie"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: v aktuálnom rozsahu sa nenachádza kontext funkcie"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: parameter je null alebo nenastavený"
+msgstr "%s má null exportstr"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "neplatný znak %d v exportstr %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "žiadne „=“ v exportstr %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: hlaviÄka shell_variables nie je kontext funkcie"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: chýba kontext global_variables"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr "pop_scope: hlaviÄka shell_variables nie je doÄasný rozsah prostredia"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: nie je možné otvoriť: %s"
+msgstr "%s: %s: nemožno otvoriť ako SÚBOR"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: neplatný popisovaÄ súboru: %s"
+msgstr "%s: %s: neplatná hodnota popisovaÄa trasovacieho súboru"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1943,39 +1946,38 @@ msgstr ""
"aplikovateľné právo.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Licencia GPLv3+: GNU GPL verzie 3 alebo novšia http://gnu.org/licenses/gpl."
+"Licencia GPLv2+: GNU GPL verzie 2 alebo novšia http://gnu.org/licenses/gpl."
"html\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: nie je možné alokovať %lu bajtov (%lu bajtov alokovaných)"
+msgstr "%s: nie je možné alokovať %lu bajtov (%lu bajtov alokovaných)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: nie je možné alokovať %lu bajtov"
+msgstr "%s: nie je možné alokovať %lu bajtov"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-"xmalloc: %s:%d: nie je možné alokovať %lu bajtov (%lu bajtov alokovaných)"
+msgstr "%s: %s:%d: nie je možné alokovať %lu bajtov (%lu bajtov alokovaných)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: nie je možné alokovať %lu bajtov"
+msgstr "%s: %s:%d: nie je možné alokovať %lu bajtov"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2011,7 +2013,8 @@ msgid "caller [expr]"
msgstr "caller [výraz]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [adresár]"
#: builtins.c:66
@@ -2035,11 +2038,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] command [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [názov[=hodnota] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] názov[=hodnota] ..."
#: builtins.c:80
@@ -2096,9 +2101,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p cesta] [-dt] [názov ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [vzor ...]"
+msgstr "help [-dms] [vzor ...]"
#: builtins.c:121
msgid ""
@@ -2129,20 +2133,20 @@ msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a pole] [-d oddeľovaÄ] [-i text] [-n nznakov] [-p výzva] [-t "
-"zdržadnie] [-u fd] [názov ...]"
+"read [-ers] [-a pole] [-d oddeľovaÄ] [-i text] [-n nznakov] [-N nznakov] [-p "
+"výzva] [-t zdržadnie] [-u fd] [názov ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o názov_voľby] [arg ...]"
#: builtins.c:142
@@ -2154,7 +2158,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [názov[=hodnota] ...] alebo export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [názov[=hodnota] ...] alebo readonly -p"
#: builtins.c:148
@@ -2295,14 +2300,13 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] formát [argumenty]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o voľba] [-A operácia] [-G glob_vzor] [-W "
-"zoznam_slov] [-F funkcia] [-C príkaz] [-X vzor_filtra] [-P predpona] [-S "
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o voľba] [-A operácia] [-G glob_vzor] "
+"[-W zoznam_slov] [-F funkcia] [-C príkaz] [-X vzor_filtra] [-P predpona] [-S "
"prípona] [názov ...]"
#: builtins.c:233
@@ -2315,9 +2319,8 @@ msgstr ""
"prípona] [slovo]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o voľba] [názov ...]"
+msgstr "compopt [-o|+o voľba] [-DE] [názov ...]"
#: builtins.c:240
msgid ""
@@ -2554,6 +2557,7 @@ msgstr ""
" Vráti 0 ak shell nevykonáva funkciu shellu a EXPR nie je neplatný."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2579,11 +2583,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Zmeniť aktuálny adresár.\n"
" \n"
@@ -2610,7 +2618,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak bol aktuálny adresár zmenený, inak nenulovú hodnotu."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2638,7 +2646,7 @@ msgstr ""
" Vracia 0 ak nie je zadaná neplatná voľba alebo nie je možné\n"
" preÄítaÅ¥ aktuálny adresár."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2654,7 +2662,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vždy vráti pravda."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2666,7 +2674,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vždy vráti 0."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2680,7 +2688,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vždy vráti nepravda."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2713,7 +2721,8 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu PRÃKAZu alebo zlyhá ak nenájde PRÃKAZ."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2724,6 +2733,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2743,7 +2754,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2780,7 +2791,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2790,7 +2801,7 @@ msgstr ""
" \n"
" Zastaralé. Pozri „help declare“."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2816,7 +2827,7 @@ msgstr ""
" Vráti 0 ak nebola zadaná neplatná voľba, nevyskytla sa chyba a\n"
" shell práve nevykonáva funkciu."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2874,7 +2885,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak sa nevyskytla sa chyba pri zápise."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2896,7 +2907,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak sa nevyskytla sa chyba pri zápise."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2950,7 +2961,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak NÃZOV nie je vstavaná funkcia shellu a nevyskytla sa chyba."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2969,7 +2980,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu príkazu alebo 0 ak je príkaz prázdny."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3045,7 +3056,7 @@ msgstr ""
" Vráti 0 ak je voľba nájdená; zlyhá po dosiahnutí konca reťazca volieb\n"
" alebo ak sa vyskytne chyba."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3085,7 +3096,7 @@ msgstr ""
" Vráti 0 ak sa nestane, že PRÃKAZ nebol nájdený a nevyskytne sa chyba\n"
" presmerovania."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3097,7 +3108,7 @@ msgstr ""
" UkonÄí shell s návratovou hodnotou N. Ak sa N vynechá, návratová\n"
" hodnota sa nastaví podľa stavu posledného vykonaného príkazu."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3110,7 +3121,7 @@ msgstr ""
" UkonÄí login shell s návratovou hodnotou N. Vráti chybu ak nie je\n"
" spustený v login shelli."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3166,7 +3177,7 @@ msgstr ""
" Vráti 0 alebo stav vykonaného príkazu; nenulovú hodnotu ak sa vyskytne\n"
" chyba."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3186,7 +3197,7 @@ msgstr ""
" Stav príkazu umiestneného do popredia; nenulovú hodnotu ak sa vyskytne\n"
" chyba."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3207,7 +3218,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nie je riadenie úloh vypnuté a nevyskytne sa chyba."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3254,7 +3265,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že NÃZOV nebol nájdený a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3294,7 +3305,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že VZOR nebol nájdený a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3357,7 +3368,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3400,7 +3411,7 @@ msgstr ""
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba.\n"
" Ak je použitá voľba -x, vráti sa návratová hodnota PRÃKAZu."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3430,7 +3441,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná JOBSPEC."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3470,7 +3481,8 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3512,7 +3524,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Vyhodnotiť aritmetické výrazy.\n"
" \n"
@@ -3555,8 +3567,7 @@ msgstr ""
" Návratová hodnota:\n"
" Ak sa posledný ARG vyhodnotí na 0, let vráti 1; 0 inak sa vráti 0."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3616,30 +3627,37 @@ msgstr ""
" REPLY.\n"
" \n"
" Voľby:\n"
-" -a pole\tvÅ¡etky naÄítané slová sa priradia postupne indexom poľa POLE, "
-"poÄínajúc nulou.\n"
+" -a pole\tvÅ¡etky naÄítané slová sa priradia postupne indexom poľa POLE,\n"
+" \t\tpoÄínajúc nulou.\n"
" -d\tpokraÄovanie Äítania až kým sa nevyskytne prvý znak znak DELIM\n"
-" namiesto znaku nového riadka.\n"
-" -e a shell je interaktívny, na naÄítanie riadka sa použije readline.\n"
-" -i text\tpoužije TEXT ako prvotný text pre Readline\n"
-" -n znakov\tÄítanie vstupu skonÄí po naÄítaní ZNAKOV znakov.\n"
+" \t\tnamiesto znaku nového riadka.\n"
+" -e\t\tna naÄítanie riadka sa použije Readline ak je shell "
+"interaktívny.\n"
+" -i text\tpoužije TEXT ako prvotný text pre Readline\n"
+" -n nznakov\tÄítanie vstupu skonÄí po naÄítaní NZNAKOV znakov bez "
+"Äakania\n"
+" \t\tna nový riadok, ale reÅ¡pektovaÅ¥ oddeľovaÄ v prípade menej ako "
+"NZNAKOV\n"
+" -N nchars\tÄítanie vstupu skonÄí presne po naÄítaní ZNAKOV znakov,\n"
+" \t\tiba ak by sa skôr vyskytol koniec súboru alebo Äasový interval na\n"
+" \t\tÄítanie vyprÅ¡al, ignorujúc oddeľovaÄe\n"
" -p\tvýzva\tpred pokusom o Äítanie vypíše reÅ¥azec VÃZVA bez koncového\n"
-" \tznaku nového riadka.\n"
-" -r\tzápis únikových klauzúl pomocou spätnej lomky je vypnutý.\n"
-" -s\tvstup naÄítaný z terminálu nebude vypisovaÅ¥ (echo).\n"
-" \n"
-" -t interval\tukonÄenie Äítania po vyprÅ¡aní Äasového INTERVALu a ak\n"
+" \t\tznaku nového riadka.\n"
+" -r\tzápis únikových klauzúl pomocou spätnej lomky je vypnutý.\n"
+" -s\tvstup naÄítaný z terminálu nebude vypisovaÅ¥ (echo).\n"
+" -t interval\tukonÄenie Äítania po vyprÅ¡aní Äasového INTERVALu a ak\n"
" \tsa do intervalu nenaÄíta úplný riadok vstupu, vráti chybu. Ak je\n"
-" \tnastavená premenná TMOUT, jej hodnota je štandardný interval\n"
-" \texpirácie. TMOUT môže byť zlomok. Návratová hodnota je\n"
-" \tväÄÅ¡ia ako 128 aj sa prekroÄí INTERVAL.\n"
+" \tnastavená premenná TIMEOUT, jej hodnota je štandardný interval\n"
+" \texpirácie. TIMEOUT môže byÅ¥ zlomok. Ak je TIMEOUT 0, read sa ukonÄí\n"
+" \túspeÅ¡ne iba ak je na požadovanom popisovaÄi k dispozícii vsup.\n"
+" \tNávratová hodnota je väÄÅ¡ia ako 128 aj sa prekroÄí INTERVAL.\n"
" -u fd\tnamiesto Å¡tandardného vstupu ÄítaÅ¥ z popisovaÄa súboru FD.\n"
" \n"
" Návratová hodnota:\n"
" Vráti 0 ak sa nenarazí pri Äítaní nakoniec súboru, nevyprší Äas na\n"
" Äítanie a ako argument -u nebol je zadaný neplatný popisovaÄ."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3660,7 +3678,8 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti N alebo zlyhá ak shell nevykonáva funkciu Äi skript."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3729,6 +3748,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3826,7 +3848,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3863,7 +3885,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že je NÃZOV iba na Äítanie a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3898,7 +3920,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že je NÃZOV neplatný a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3936,7 +3958,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že je NÃZOV neplatný a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3954,7 +3976,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak sa nestalo, že je N záporné alebo väÄÅ¡ie ako $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3978,7 +4000,7 @@ msgstr ""
" Vráti návratovú hodnotu posledného príkazu v SÚBORe; zlyhá ak nie je\n"
" možné SÚBOR naÄítaÅ¥."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4002,14 +4024,18 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak sa nestalo, že je vypnuté riadenie úloh a nevyskytla sa chyba."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4063,6 +4089,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4154,7 +4181,7 @@ msgstr ""
" Vráti 0 ak VÃR vyhodnotí ako pravdivý; zlyhá ako sa VÃR vyhodnotí\n"
" ako nepravdivý alebo je zadaný neplatný argument."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4166,7 +4193,7 @@ msgstr ""
" Toto je synonymum vsatavanej funkcie „test“, ale posledný\n"
" argument musí byť literál „]“, ktorý uzatvára otvárajúcu „[“."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4185,7 +4212,8 @@ msgstr ""
" Návratová hodnota:\n"
" Vždy vráti 0."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4201,7 +4229,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4251,7 +4287,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že je SIGSPEC neplatný a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4306,7 +4342,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak boli nájdené vÅ¡etky NÃZVY; zlyhá ak nie."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4390,7 +4426,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4424,7 +4460,7 @@ msgstr ""
" Vráti 0 ak sa nestalo, že je REŽIM neplatný a nebola zadaná\n"
" neplatná voľba."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4452,7 +4488,7 @@ msgstr ""
" Vráti stav ID; zlyhá ak je ID neplatný alebo bola zadaná\n"
" neplatná voľba."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4476,7 +4512,7 @@ msgstr ""
" Vráti stav ID; zlyhá ak je ID neplatný alebo bola zadaná neplatná\n"
" voľba."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4498,7 +4534,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4528,7 +4564,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4563,7 +4599,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4591,7 +4627,7 @@ msgstr ""
" Návratová hodnota:\n"
" Návratová hodnota je návratová hodnota RÚRY."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4609,7 +4645,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4646,7 +4682,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4664,7 +4700,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4682,7 +4718,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4704,7 +4740,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu PRÃKAZu."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4729,7 +4765,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak sa nestalo, že je NÃZOV iba na Äítanie."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4747,7 +4783,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu posledného vykonaného príkazu."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4771,7 +4807,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti návratovú hodnotu obnovenej úlohy."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4789,7 +4825,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 1 ak sa VÃRAZ vyhodnotí na 0; inak vráti 0."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4837,7 +4873,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 alebo 1 v závislosti na hodnote VÃRAZu."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4941,7 +4977,7 @@ msgstr ""
" HISTIGNORE\tBodkoÄiarkami oddelený zoznam vzoriek, ktoré\n"
" \t\tsa používajú na rozhodovanie, Äi sa príkaz uloží do histórie.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -4997,7 +5033,7 @@ msgstr ""
" Vráti 0 ak nebol zadaný neplatný argument a nevyskytla sa\n"
" chyba pri zmene adresára."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5047,7 +5083,7 @@ msgstr ""
" Vráti 0 ak nebol zadaný neplatný argument a nevyskytla sa\n"
" chyba pri zmene adresára."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5098,7 +5134,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebol zadaný neplatný argument a nevyskytla sa chyba."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5136,7 +5172,8 @@ msgstr ""
" Vráti 0 ak je OPTNAME zapnuté; zlyhá ak bola zadaná\n"
" neplatná voľba alebo OPTNAME je vypnuté."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5159,6 +5196,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5185,8 +5225,7 @@ msgstr ""
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba pri\n"
" zápise Äi priradení."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5223,6 +5262,10 @@ msgstr ""
" \ttvare\n"
" -r\todstrániÅ¥ Å¡pecifikáciu dopĺňania každého NÃZVU alebo ak nie je\n"
" \tzadaný žiadny NÃZOV, vÅ¡etky Å¡pecifikácie dopĺňania\n"
+" -D\tpoužiť dopĺňanie a operácie ako predvolené pre príkazy\n"
+" \tbez definovaného konkrétneho dopĺňania\n"
+" -E\tpoužiť dopĺňanie a operácie pre príkazy „empty“ --\n"
+" \tpokus o dopĺňanie na prázdnom príkazovom riadku\n"
" \n"
" Pri pokuse o doplnenie sa operácie použijú v poradí hore uvedených\n"
" volieb veľkými písmenami.\n"
@@ -5230,7 +5273,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5250,14 +5293,14 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a nevyskytla sa chyba."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5290,6 +5333,8 @@ msgstr ""
" \n"
" Voľby:\n"
" \t-o voľba\tNastaví voľbu dopĺňania VOĽBA pre každý NÃZOV\n"
+" \t-D\t\tZmení voľby dopĺňania príkazov „default“\n"
+" \t-E\t\tZmení voľby dopĺňania príkazov „empty“\n"
" \n"
" Použitím „+o“ namiesto „-o“ vypnete urÄenú voľbu.\n"
" \n"
@@ -5305,7 +5350,7 @@ msgstr ""
" Vráti 0 ak nebola zadaná neplatná voľba a NÃZOV nemá definovanú\n"
" špecifikáciu dopĺňania."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5334,7 +5379,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5352,7 +5398,7 @@ msgstr ""
" MAPFILE.\n"
" \n"
" Voľby:\n"
-" -n poÄet\tSkopírovaÅ¥ najviac POÄŒET riadkov. Ak je POÄŒER 0, vÅ¡etky "
+" -n poÄet\tSkopírovaÅ¥ najviac POÄŒET riadkov. Ak je POÄŒET 0, vÅ¡etky "
"riadky.\n"
" -O zaÄiatok\tZaÄaÅ¥ priraÄovanie položiek POĽA na indexe ZAÄŒIATOK.\n"
" \t\tPredvolený index je 0.\n"
@@ -5368,7 +5414,7 @@ msgstr ""
" ARRAY\t\tNázov premennej poľa, kam sa majú uložiť údaje.\n"
" \n"
" Ak uvediete -C bez -c, predvolená hodnota quantum je 5000.\n"
-" Pri vyhodnotení CALLBACK sa dodá index ÄalÅ¡ieho pevku poľa,\n"
+" Pri vyhodnotení CALLBACK sa dodá index ÄalÅ¡ieho prvku poľa,\n"
" ktorý sa má priradiÅ¥ ako Äalší argument.\n"
" \n"
" Ak nie je zadaný ZAÄŒIATOK explicitne, mapfile POLE vyÄistí predtým,\n"
@@ -5377,7 +5423,7 @@ msgstr ""
" Návratová hodnota:\n"
" Vráti 0 ak nebola zadaná neplatná voľba a POLE nie je len na Äítanie."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5387,6 +5433,27 @@ msgstr ""
" \n"
" Synonymum k „mapfile“."
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". S VÃR vracia\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "; tieto informácie naviac možno použiť na\n"
+#~ " trasovania zásobníka.\n"
+#~ " \n"
+#~ " Hodnota VÃR znaÄí o koľko rámcov sa vrátiÅ¥ pred súÄasný\n"
+#~ " Vrchný rámec je rámec 0."
+
#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
#~ msgstr ""
#~ "xrealloc: nie je možné realokovať %lu bajtov (%lu bajtov alokovaných)"
diff --git a/po/sv.gmo b/po/sv.gmo
index b5bfcef..e890373 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index f23f250..1ad6ad1 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,15 @@
# Swedish translation of bash
-# Copyright © 2008, 2009 Free Software Foundation, Inc.
+# Copyright © 2008, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009.
-#
-# $Revision: 1.6 $
+# Göran Uddeborg <goeran@uddeborg.se>, 2008, 2009, 2010.
#
+# $Revision: 1.9 $
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-03-25 19:35+0100\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-10-24 22:35+0200\n"
"Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
@@ -22,7 +21,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "felaktigt vektorindex"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: det går inte att konvertera en indexerad vektor till associativ"
@@ -42,36 +41,36 @@ msgstr "%s: det går inte att tilldela till ickenumeriska index"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: måste använda index vid tilldelning av associativ vektor"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: det går inte att skapa: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
"bash_execute_unix_command: det går inte att hitta en tangentbindning för "
"kommandot"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: första ickeblanka tecknet är inte '\"'"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "ingen avslutande \"%c\" i %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: kolonseparator saknas"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "\"%s\": ogiltigt tangentbindningsnamn"
+msgstr "\"%s\": ogiltigt aliasnamn"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -125,26 +124,11 @@ msgstr ""
" \n"
" Utan UTTR, returnerar "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME är inte satt"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD är inte satt"
@@ -163,11 +147,11 @@ msgstr "varning: "
msgid "%s: usage: "
msgstr "%s: användning: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "för många argument"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: flaggan kräver ett argument"
@@ -205,7 +189,7 @@ msgstr "ogiltigt oktalt tal"
msgid "invalid hex number"
msgstr "ogiltigt hexadecimalt tal"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "ogiltigt tal"
@@ -314,25 +298,25 @@ msgstr "varning: flaggan -C fungerar kanske inte som du väntar dig"
msgid "not currently executing completion function"
msgstr "kör inte en kompletteringsfunktion"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "kan endast användas i en funktion"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "det går inte att använda \"-f\" för att göra funktioner"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: endast läsbar funktion"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: det går inte att förstöra vektorvariabler på detta sätt"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: det går inte att konvertera en associativ vektor till indexerad"
@@ -361,29 +345,29 @@ msgstr "%s: inte dynamiskt laddad"
msgid "%s: cannot delete: %s"
msgstr "%s: kan inte ta bort: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: är en katalog"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: inte en normal fil"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: filen är för stor"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: det går inte att köra binär fil"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: kan inte köra: %s"
@@ -411,11 +395,11 @@ msgstr "Det finns körande jobb.\n"
msgid "no command found"
msgstr "hittar inget kommando"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "historiespecifikation"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: det går inte att öppna temporärfil: %s"
@@ -448,7 +432,7 @@ msgstr "hasning avslaget"
msgid "%s: hash table empty\n"
msgstr "%s: hashtabellen tom\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "träffar\tkommando\n"
@@ -515,76 +499,86 @@ msgstr "%s: inlib misslyckades"
msgid "no other options allowed with `-x'"
msgstr "inga andra flaggor är tillåtna med \"-x\""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argument måste vara processer eller job-id:n"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Okänt fel"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "uttryck förväntades"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: inte en vektorvariabel"
+msgstr "%s: inte en indexerad vektor"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: ogiltig filidentifierarspecifikation"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: ogiltig filbeskrivare: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: ogiltigt radantal"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: ogiltig vektorstart"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: ogiltigt återanropskvanta"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "tomt vektorvariabelnamn"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "stöd för vektorvariabler krävs"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "\"%s\": formateringstecken saknas"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: ogiltig tidsgränsspecifikation"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "\"%c\": ogiltigt formateringstecken"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "varning: %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "hexadecimal siffra saknas för \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "hexadecimal siffra saknas för \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "ingen annan katalog"
@@ -742,21 +736,21 @@ msgid "can only `return' from a function or sourced script"
msgstr ""
"det går bara att göra \"return\" från en funktion eller källinläst skript"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "det går inte att samtidigt ta bort en funktion och en variabel"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: det går inte att ta bort tilldelning"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: det går inte att ta bort tilldelning: endast läsbar %s"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: inte en vektorvariabel"
@@ -770,20 +764,20 @@ msgstr "%s: inte en funktion"
msgid "shift count"
msgstr "skiftantal"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "det går inte att sätta och ta bort skalflaggor samtidigt"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: ogiltigt skalflaggsnamn"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "filnamnsargument krävs"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: filen finns inte"
@@ -826,26 +820,26 @@ msgstr "%s är %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s är hashad (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: ogiltigt gränsargument"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "\"%c\": felaktigt kommando"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: kan inte avgöra gränsen: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "gräns"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: kan inte ändra gränsen: %s"
@@ -901,105 +895,110 @@ msgstr "%s: obunden variabel"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "tiden gick ut i väntan på indata: automatisk utloggning\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\atiden gick ut i väntan på indata: automatisk utloggning\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "det går inte att omdiregera standard in från /dev/null: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: \"%c\": ogiltigt formateringstecken"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "rörfel"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: begränsat: det går inte att ange \"/\" i kommandonamn"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: kommandot finns inte"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s är %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: felaktig tolk"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "det går inte att duplicera fb %d till fb %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "rekursionsnivå i uttryck överskriden"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "underspill i rekursionsstacken"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "syntaxfel i uttrycket"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "försök att tilldela till en icke-variabel"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "division med 0"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "bug: felaktig expassign-token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "\":\" förväntades i villkorligt uttryck"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "exponenten är mindre än 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "en identifierare förväntades efter pre-ökning eller pre-minskning"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "\")\" saknas"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "syntaxfel: en operand förväntades"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "syntaxfel: ogiltig aritmetisk operator"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (felsymbol är \"%s\")"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "ogiltig aritmetisk bas"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "värdet är för stort för basen"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: uttrycksfel\n"
@@ -1008,164 +1007,164 @@ msgstr "%s: uttrycksfel\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: det går inte att komma åt föräldrakatalogen"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "det går inte att återställa fördröjningsfritt läge för fb %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"det går inte att allokera en ny filbeskrivare för bashindata från fb %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: buffert finns redan för ny fb %d"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp rör"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "avgrenad pid %d fins i körande jobb %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "tar bort stoppat jobb %d med processgrupp %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: process %5ld (%s) i the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) markerad som fortfarande vid liv"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: ingen sådan pid"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Signal %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Klart"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Stoppat"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Stoppat(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Kör"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Klart(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Avslut %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Okänd status"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(minnesutskrift skapad) "
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (ak: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "barns setpgid (%ld till %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld är inte ett barn till detta skal"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Ingen uppgift om process %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: jobb %d är stoppat"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: jobbet har avslutat"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: jobb %d är redan i bakgrunden"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: slår på WNOHANG för att undvika oändlig blockering"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: rad %d: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (minnesutskrift skapad)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(ak nu: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp misslyckades"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: linjedisciplin"
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "det går inte att sätta terminalprocessgrupp (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "ingen jobbstyrning i detta skal"
@@ -1260,22 +1259,22 @@ msgstr "nätverksoperationer stöds inte"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: det går inte att ändra lokal (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: det går inte att ändra lokal (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s: %d: kan inte allokera %lu byte"
+msgstr "setlocale: %s: det går inte att ändra lokal (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s: %d: kan inte allokera %lu byte"
+msgstr "setlocale: %s: det går inte att ändra lokal (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1319,99 +1318,99 @@ msgid "make_redirection: redirection instruction `%d' out of range"
msgstr ""
"make_redirection: omdirigeringsinstruktion \"%d\" utanför giltigt intervall"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "oväntat filslut vid sökning efter matchande \"%c\""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "oväntat filslut vid sökning efter \"]]\""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "syntaxfel i villkorligt uttryck: oväntad symbol \"%s\""
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "syntaxfel i villkorligt uttryck"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "oväntad symbol \"%s\", \")\" förväntades"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "\")\" förväntades"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "oväntat argument \"%s\" till villkorlig unär operator"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "oväntat argument till villkorlig unär operator"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "oväntad symbol \"%s\", villkorlig binär operator förväntades"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "villkorlig binär operato förväntades"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "oväntat argument \"%s\" till villkorlig binär operator"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "oväntat argument till villkorlig binär operator"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "oväntad symbol \"%c\" i villkorligt kommando"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "oväntad symbol \"%s\" i villkorligt kommando"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "oväntad symbol %d i villkorligt kommando"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
-msgstr "syntaxfel när den oväntade symbolen \"%s\""
+msgstr "syntaxfel nära den oväntade symbolen \"%s\""
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "syntaxfel nära \"%s\""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "syntaxfel: oväntat filslut"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "syntaxfel"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Använd \"%s\" fär att lämna skalet.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "oväntat filslut när matchande \")\" söktes"
@@ -1420,77 +1419,77 @@ msgstr "oväntat filslut när matchande \")\" söktes"
msgid "completion: function `%s' not found"
msgstr "komplettering: funktion \"%s\" finns inte"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: felaktig anslutning \"%d\""
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: ogiltig filbeskrivare: %s"
+msgstr "xtrace_set: %d: ogiltig filbeskrivare"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: NULL-filpekare"
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: \"%c\": ogiltigt formateringstecken"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "filbeskrivare utanför giltigt intervall"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: tvetydig omdirigering"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: begränsad: det går inte att skriva över en existerande fil"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: begränsad: det går inte att omdirigera utdata"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "det går inte att skapa temporärfil för här-dokument: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: det går inte att tilldela listor till vektormedlemmar"
+msgstr "%s: det går inte att tilldela fb till variabel"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port stöds inte utan nätverksfunktion"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "omdirigeringsfel: det går inte att duplicera fb"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "hittade inte /tmp, var god skapa!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp måste vara ett giltigt katalognamn"
@@ -1499,16 +1498,16 @@ msgstr "/tmp måste vara ett giltigt katalognamn"
msgid "%c%c: invalid option"
msgstr "%c%c: ogiltig flagga"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Jag har inget namn!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "GNU bash, version %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1517,41 +1516,41 @@ msgstr ""
"Användning:\t%s [GNU lång flagga] [flagga] ...\n"
"\t\t%s [GNU lång flagga] [flagga] skriptfil ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU långa flaggor:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Skalflaggor:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD eller -c kommando eller -O shopt_flagga\t\t(bara uppstart)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s eller -o flagga\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "Skriv \"%s -c 'help set'\" för mer information om skalflaggor.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "Skriv \"%s -c help\" för mer information om inbyggda skalkommandon.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
"Använd kommandot \"bashbug\" för att rapportera fel.\n"
"Skicka synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: ogiltig operation"
@@ -1725,83 +1724,85 @@ msgstr "Okänd signal nr "
msgid "Unknown Signal #%d"
msgstr "Okänd signal nr %d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "felaktig substitution: ingen avslutande \"%s\" i %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: det går inte att tilldela listor till vektormedlemmar"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "det går inte att skapa rör för processubstitution"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "det går inte att skapa barn för processubstitution"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "det går inte att öppna namngivet rör %s för läsning"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "det går inte att öppna namngivet rör %s för skrivning"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "det går inte att duplicera namngivet rör %s som fb %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "det går inte att skapa rör för kommandosubstitution"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "det går inte att skapa barn för kommandosubstitution"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: det går inte att duplicera rör som fb 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametern tom eller inte satt"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: delstränguttryck < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: felaktig substitution"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: det går inte att tilldela på detta sätt"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"framtida versioner av skalet kommer att framtvinga evaluering som en "
+"aritmetisk substition"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "felaktig ersättning: ingen avslutande \"`\" i %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "ingen match: %s"
@@ -1824,30 +1825,30 @@ msgstr "\")\" förväntades"
msgid "`)' expected, found %s"
msgstr "\")\" förväntades, fann %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: unär operator förväntades"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: binär operator förväntades"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "\"]\" saknas"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "ogiltigt signalnummer"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: felaktigt värde i trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1855,7 +1856,7 @@ msgstr ""
"run_pending_traps: signalhanterare är SIG_DFL, skickar om %d (%s) till mig "
"själv"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: felaktig signal %d"
@@ -1865,60 +1866,61 @@ msgstr "trap_handler: felaktig signal %d"
msgid "error importing function definition for `%s'"
msgstr "fel vid import av funktionsdefinition för \"%s\""
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "skalnivå (%d) för hög, återställer till 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: ingen funktionskontext i aktuellt sammanhang"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: ingen funktionskontext i aktuellt sammanhang"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: parametern tom eller inte satt"
+msgstr "%s har tom exportstr"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "ogiltigt tecken %d i exportstr för %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "inget \"=\" i exportstr för %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: huvudet på shell_variables är inte en funktionskontext"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: ingen kontext global_variables"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: huvudet på shell_variables är inte en temporär omgivningsräckvidd"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: det går inte att öppna: %s"
+msgstr "%s: %s: går inte att öppna som FILE"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: ogiltig filbeskrivare: %s"
+msgstr "%s: %s: ogiltigt värde för spårningsfilbeskrivare"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright © 2009 Free Software Foundation, Inc."
#: version.c:47
@@ -1946,38 +1948,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "Det finns INGEN GARANTI, så långt lagen tillåter.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Copyright © 2009 Free Software Foundation, Inc."
+msgstr "Copyright © 2009 Free Software Foundation, Inc.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl."
+"Licens GPLv2+: GNU GPL version 2 eller senare <http://gnu.org/licenses/gpl."
"html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: kan inte allokera %lu byte (%lu byte allokerade)"
+msgstr "%s: det går inte att allokera %lu byte (%lu byte allokerade)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: kan inte allokera %lu byte"
+msgstr "%s: det går inte att allokera %lu byte"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s: %d: kan inte allokera %lu byte (%lu byte allokerade)"
+msgstr "%s: %s:%d: det går inte att allokera %lu byte (%lu byte allokerade)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s: %d: kan inte allokera %lu byte"
+msgstr "%s: %s:%d: det går inte att allokera %lu byte"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2013,7 +2015,8 @@ msgid "caller [expr]"
msgstr "caller [uttr]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [kat]"
#: builtins.c:66
@@ -2037,11 +2040,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] kommando [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [namn[=värde] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] namn[=värde] ..."
#: builtins.c:80
@@ -2098,9 +2103,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p sökväg] [-dt] [namn ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [mönster ...]"
+msgstr "help [-dms] [mönster ...]"
#: builtins.c:121
msgid ""
@@ -2131,20 +2135,20 @@ msgid "let arg [arg ...]"
msgstr "let arg [arg ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a vektor] [-d avgr] [-i text] [-n ntkn] [-p prompt] [-t "
-"tidgräns] [-u fb] [namn ...]"
+"read [-ers] [-a vektor] [-d avgr] [-i text] [-n ntkn] [-N ntkn] [-p prompt] "
+"[-t tidgräns] [-u fb] [namn ...]"
#: builtins.c:138
msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o flaggnamn] [arg ...]"
#: builtins.c:142
@@ -2156,7 +2160,8 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr "export [-fn] [namn[=värde] ...] eller export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr "readonly [-af] [namn[=värde] ...] eller readonly -p"
#: builtins.c:148
@@ -2296,14 +2301,13 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v var] format [argument]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o flagga] [-A åtgärd] [-G globmnst] [-W "
-"ordlista] [-F funktion] [-C kommando] [-X filtermnst] [-P prefix] [-S "
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o flagga] [-A åtgärd] [-G globmnst] [-"
+"W ordlista] [-F funktion] [-C kommando] [-X filtermnst] [-P prefix] [-S "
"suffix] [namn ...]"
#: builtins.c:233
@@ -2316,9 +2320,8 @@ msgstr ""
"suffix] [ord]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o flagga] [namn ...]"
+msgstr "compopt [-o|+o flagga] [-DE] [namn ...]"
#: builtins.c:240
msgid ""
@@ -2560,6 +2563,7 @@ msgstr ""
" ogiltigt."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2585,11 +2589,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Ändra skalets arbetskatalog.\n"
" \n"
@@ -2617,7 +2625,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar 0 om katalogen är ändrad; skilt från noll annars."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2646,7 +2654,7 @@ msgstr ""
"katalogen\n"
" inte kan läsas."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2662,7 +2670,7 @@ msgstr ""
" Slutstatus:\n"
" Lyckas alltid."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2674,7 +2682,7 @@ msgstr ""
" Slutstatus:\n"
" Lyckas alltid."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2686,7 +2694,7 @@ msgstr ""
" Slutstatus:\n"
" Misslyckas alltid."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2721,7 +2729,8 @@ msgstr ""
"inte\n"
" finns."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2732,6 +2741,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2751,7 +2762,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2790,7 +2801,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2800,7 +2811,7 @@ msgstr ""
" \n"
" Föråldrat. Se \"help declare\"."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2827,7 +2838,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges, ett fel inträffar\n"
" eller skalet inte exekverar en funktion."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2885,7 +2896,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte ett skrivfel inträffar."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2907,7 +2918,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte ett skrivfel inträffar."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2961,7 +2972,7 @@ msgstr ""
" Returnerar framgång om inte NAMN inte är inbyggd i skalet eller ett fel\n"
" inträffar."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2981,7 +2992,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar slutstatus av kommandot eller framgång om kommandot är tomt."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3058,7 +3069,7 @@ msgstr ""
" Returnerar framgång om en flagga hittas, misslyckas om slutet av\n"
" flaggorna nås eller ett fel inträffar."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3099,7 +3110,7 @@ msgstr ""
" Returnerar framgång om inte KOMMANDO inte finns eller ett fel vid\n"
" omdirigering inträffar."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3111,7 +3122,7 @@ msgstr ""
" Avslutar skalet med statusen N. Om N utelämnas är slutstatusen den\n"
" hos det sist körda kommandot."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3124,7 +3135,7 @@ msgstr ""
" Avslutar ett inloggningsskal med slutstatus N. Returnerar ett fel om\n"
" det inte körs i ett inloggningsskal."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3180,7 +3191,7 @@ msgstr ""
" Returnerar framgång eller status på exekverat kommando, skilt från noll\n"
" om ett fel inträffar."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3201,7 +3212,7 @@ msgstr ""
" Status på kommandot som placerades i förgrunden, eller misslyckande om\n"
" ett fel inträffar."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3227,7 +3238,7 @@ msgstr ""
"fel\n"
" inträffar."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3270,7 +3281,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte NAMN inte hittas eller en ogiltig flagga ges."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3311,7 +3322,7 @@ msgstr ""
" Returnerar framgång om inte MÖNSTER inte finns eller en ogiltig flagga "
"ges."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3377,7 +3388,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3421,7 +3432,7 @@ msgstr ""
"inträffar.\n"
" Om -x används returneras slutstatus från KOMMANDO."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3451,7 +3462,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga eller JOBBSPEC ges."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3495,7 +3506,8 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga angivits eller ett fel\n"
" inträffar."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3537,7 +3549,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Evaluera aritmetiska uttryck.\n"
" \n"
@@ -3583,8 +3595,7 @@ msgstr ""
" Om det sista ARG beräknas till 0, returnerar let 1; let returnerar 0 "
"annars."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3653,7 +3664,12 @@ msgstr ""
" \t\t\tskal\n"
" -i text\tAnvänd TEXT som starttext för Readline\n"
" -n ntkn\treturnera efter att ha läst NTKN tecken istället för att\n"
-" \t\tvänta på en nyrad\n"
+" \t\tvänta på en nyrad, men ta hänsyn till en avgränsare om färre\n"
+" \t\tän NTKN tecken lästs före avgränsaren\n"
+" -N ntkn\treturnera endast efter att ha läst exakt NTKN tecken, om "
+"inte\n"
+" \t\tfilslut påträffades eller tidsgränsen överskreds, ignorera\n"
+" \t\talla avgränsare\n"
" -p prompt\tskriv ut strängen PROMPT utan en avslutande nyrad före\n"
" \t\tförsök att läsa\n"
" -r\t\ttillåt inte bakstreck att skydda några tecken\n"
@@ -3670,7 +3686,7 @@ msgstr ""
" Returkoden är noll om inte filslut nås, läsningens tidsgräns överskrids\n"
" eller en ogiltig filbeskrivare ges som argument till -u."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3691,7 +3707,8 @@ msgstr ""
" Returnerar N, eller misslyckande om skalet inte kör en funktion eller\n"
" skript."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3760,6 +3777,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3857,7 +3877,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga ges."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3893,7 +3913,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller NAMN endast är\n"
" läsbart."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3926,7 +3946,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3962,7 +3982,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga ges eller NAMN är ogiltigt."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3981,7 +4001,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte N är negativt eller större än $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4005,7 +4025,7 @@ msgstr ""
" Returnerar status på det sista kommandot som körs i FILNAMN, misslyckas\n"
" om FILNAMN inte kan läsas."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4031,14 +4051,18 @@ msgstr ""
"fel\n"
" inträffar."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4092,6 +4116,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4179,7 +4204,7 @@ msgstr ""
" Returnerar framgång om UTTR beräknas till sant. Misslyckas ifall UTTR\n"
" beräknas till falskt eller ett ogiltigt argument ges."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4192,7 +4217,7 @@ msgstr ""
"argumentet\n"
" måste vara en bokstavlig \"]\", för att matcha den inledande \"[\"."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4212,7 +4237,8 @@ msgstr ""
" Slutstatus:\n"
" Lyckas alltid."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4228,7 +4254,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4278,7 +4312,7 @@ msgstr ""
"flagga\n"
" ges."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4335,7 +4369,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om alla NAMNen finns, misslyckas om något inte finns."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4423,7 +4457,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga anges eller ett fel "
"inträffar."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4459,7 +4493,7 @@ msgstr ""
"flagga\n"
" ges."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4488,7 +4522,7 @@ msgstr ""
"ogiltig\n"
" flagga ges."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4514,7 +4548,7 @@ msgstr ""
"ogiltig\n"
" flagga ges."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4537,7 +4571,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar status för det sist exekverade kommandot."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4567,7 +4601,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen från det sist exekverade kommandot."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4602,7 +4636,7 @@ msgstr ""
" Sluttatus:\n"
" Returnerar statusen från det sist exekverade kommandot."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4631,7 +4665,7 @@ msgstr ""
" Slutstatus:\n"
" Returstatusen är returstatusen från RÖR."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4649,7 +4683,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen från det sist exekverade kommandot."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4685,7 +4719,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar status från det sist exekverade kommandot."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4703,7 +4737,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen från det sist exekverade kommandot."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4721,7 +4755,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen från det sist exekverade kommandot."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4743,7 +4777,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen från KOMMANDO."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4766,7 +4800,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar framgång om inte NAMN endast är läsbart."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4784,7 +4818,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar stutusen från det sist exekverade kommandot."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4808,7 +4842,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar statusen på det återupptagna jobbet."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4826,7 +4860,7 @@ msgstr ""
" Slutstatus:\n"
" Returnerar 1 om UTTRYCK beräknas till 0, returnerar 0 annars."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4879,7 +4913,7 @@ msgstr ""
" Slutstatus:\n"
" 0 eller 1 beroende på värdet av UTTRYCK."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -4984,7 +5018,7 @@ msgstr ""
" HISTIGNORE\tEn kolonseparerad lista av mönster som används för att\n"
" \t\tbestämma vilka kommandon som skall sparas i historielistan.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5042,7 +5076,7 @@ msgstr ""
" Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
" katalog misslyckas."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5092,7 +5126,7 @@ msgstr ""
" Returnerar framgång om inte ett ogiltigt argument ges eller bytet av\n"
" katalog misslyckas."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5145,7 +5179,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5181,7 +5215,8 @@ msgstr ""
" Returnerar framgång om FLGNAMN är aktiverat, misslyckas om en ogiltig\n"
" flagga ges eller FLGNAMN är avaktiverat."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5204,6 +5239,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5234,8 +5272,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller ett skriv-\n"
" eller tilldelningsfel inträffar."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5272,15 +5309,20 @@ msgstr ""
" \tåteranvändningsbart format\n"
" -r\tta bort en kompletteringsspecifikation för varje NAMN eller\n"
" \tom inga NAMN är givna, alla kompletteringsinformationer\n"
+" -D\tanvänd kompletteringarna och åtgärderna som standard för\n"
+" \tkommandon utan någon särskild komplettering definierad\n"
+" -E\tanvänd kompletteringarna och åtgärderna för \"tomma\" kommandon\n"
+" \t-- kompletteringar som försöks på en tom rad\n"
" \n"
" När komplettering försöker göras försöks åtgärder i den ordning de\n"
-" versala flaggorna är uppräknade ovan.\n"
+" versala flaggorna är uppräknade ovan. Flaggan -D har företräde framför\n"
+" -E.\n"
" \n"
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5302,14 +5344,14 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller ett fel "
"inträffar."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5343,6 +5385,8 @@ msgstr ""
" \n"
" Flaggor:\n"
" \t-o flagga\tSätt kompletteringsflagga FLAGGA för varje NAMN\n"
+" \t-D\t Ändra flaggorna för standardkommandokompletteringen\n"
+" \t-E\t\tÄndra flaggorna för komplettering av ett tomt kommando\n"
" \n"
" Genom att använda \"+o\" istället för \"-o\" slås den angivna flaggan "
"av.\n"
@@ -5360,7 +5404,7 @@ msgstr ""
" Returnerar framgång om inte en ogiltig flagga ges eller NAMN inte har\n"
" någon kompletteringsspecifikaation definierad."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5389,7 +5433,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5400,11 +5445,11 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
-"Läs rader från standard in till en vektorvariabel.\n"
+"Läs rader från standard in till en indexerad vektorvariabel.\n"
" \n"
-" Läs rader från standard in till vektorvariabeln VEKTOR, eller från\n"
-" filbeskrivaren FB om flaggan -u ges. Variabeln MAPFILE är standard\n"
-" för VEKTOR.\n"
+" Läs rader från standard in till den indexerade vektorvariabeln VEKTOR,\n"
+" eller från filbeskrivaren FB om flaggan -u ges. Variabeln MAPFILE är\n"
+" standard för VEKTOR.\n"
" \n"
" Flaggor:\n"
" -n antal\tKopiera högs ANTAL rader. Om ANTAL är 0 kopieras alla "
@@ -5430,9 +5475,9 @@ msgstr ""
" \n"
" Slutstatus:\n"
" Returnerar framgång om inte en ogiltig flagga ges eller VEKTOR är\n"
-" oföränderlig."
+" oföränderlig eller inte en indexerad vektor."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5442,12 +5487,24 @@ msgstr ""
" \n"
" En synonym till \"mapfile\"."
-#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr "xrealloc: kan inte reallokera %lu byte (%lu byte allokerade)"
-
-#~ msgid "xrealloc: cannot allocate %lu bytes"
-#~ msgstr "xrealloc: kan inte allokera %lu byte"
-
-#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". Med UTTR, returnerar\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
#~ msgstr ""
-#~ "xrealloc: %s: %d: kan inte areallokera %lu byte (%lu byte allokerade)"
+#~ "; denna extra information kan användas för att\n"
+#~ " ge en stackspårning.\n"
+#~ " \n"
+#~ " Värdet på UTTR indikerar hur många anropsramar att gå tillbaka före "
+#~ "den\n"
+#~ " aktuella, toppramen är ram 0."
diff --git a/po/tr.gmo b/po/tr.gmo
index f3b025b..d41c817 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index d192182..d6ed3b8 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash 3.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2006-10-30 20:00+0200\n"
"Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "hatalı dizi indisi"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -40,26 +40,26 @@ msgstr "%s: sayısal olmayan indise atama yapılamaz"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: oluşturulamıyor: %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: komut için kısayol bulunamıyor"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr "%s: boÅŸluk olmayan ilk karakter `\"' deÄŸil"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "%2$s içinde kapatan `%1$c' yok"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: ikinokta imi eksik"
@@ -119,26 +119,11 @@ msgid ""
" Without EXPR, returns "
msgstr "Geçerli altyordam çağrısının bağlamı döner."
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME atanmamış"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD boÅŸ"
@@ -157,11 +142,11 @@ msgstr "%s: uyarı: "
msgid "%s: usage: "
msgstr "%s: uyarı: "
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "çok fazla argüman"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: seçenek bir argüman gerektirir"
@@ -201,7 +186,7 @@ msgstr "geçersiz sinyal numarası"
msgid "invalid hex number"
msgstr "geçersiz sayı"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "geçersiz sayı"
@@ -310,25 +295,25 @@ msgstr "uyarı: -C seçeneği umduğunuz gibi çalışmayabilir"
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "sadece bir işlevde kullanılabilir"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "işlev yapmak için `-f' kullanılamaz"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: salt okunur iÅŸlev"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: dizi deÄŸiÅŸkenleri bu yolla iptal edilemez"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -357,29 +342,29 @@ msgstr "%s: özdevimli olarak yüklenmemiş"
msgid "%s: cannot delete: %s"
msgstr "%s: silinemiyor: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: bir dizin"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: bir dosya deÄŸil"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: dosya çok büyük"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: ikili dosya çalıştırılamıyor"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: çalıştırılamıyor: %s"
@@ -407,11 +392,11 @@ msgstr "DurmuÅŸ iÅŸler var.\n"
msgid "no command found"
msgstr "komut yok"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "geçmiş belirtimi"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: geçici dosya açılamıyor: %s"
@@ -444,7 +429,7 @@ msgstr "çitleme iptal edildi"
msgid "%s: hash table empty\n"
msgstr "%s: çitleme tablosu boş\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "son komut: %s\n"
@@ -511,77 +496,87 @@ msgstr "%s: geçmiş yorumlaması başarısız"
msgid "no other options allowed with `-x'"
msgstr "`-x' ile başka seçenek kullanılamaz"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: argümanlar süreç veya iş kimlikleri olmalı"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Bilinmeyen hata"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "ifade bekleniyordu"
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, fuzzy, c-format
msgid "%s: not an indexed array"
msgstr "%s: bir dizi deÄŸiÅŸkeni deÄŸil"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: dosya tanıtıcı belirtimi geçersiz"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: dosya tanıtıcı geçersiz: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s: seçenek geçersiz"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s: seçenek geçersiz"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: eylem adı geçersiz"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
#, fuzzy
msgid "empty array variable name"
msgstr "%s: bir dizi deÄŸiÅŸkeni deÄŸil"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "`%s': biçim karakteri eksik"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: zamanaşımı belirtimi geçersiz"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "`%c': biçim karakteri geçersiz"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s: uyarı: "
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "\\x için onaltılık rakam eksik"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "\\x için onaltılık rakam eksik"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "baÅŸka dizin yok"
@@ -735,21 +730,21 @@ msgstr "okuma hatası: %d: %s"
msgid "can only `return' from a function or sourced script"
msgstr "sadece bir işlev veya betikten kaynaklı olarak `return' yapılabilir"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "bir işlev ve bir değişken aynı anda unset yapılamaz"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: unset yapılamaz"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s:unset yapılamaz: %s salt okunur"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: bir dizi deÄŸiÅŸkeni deÄŸil"
@@ -763,20 +758,20 @@ msgstr "%s: bir iÅŸlev deÄŸil"
msgid "shift count"
msgstr "shift sayısı"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "kabuk seçenekleri aynı anda hem atanıp hem de iptal edilemez"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: kabuk seçenek ismi geçersiz"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "dosya ismi argüman gerekir"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: dosya yok"
@@ -819,26 +814,26 @@ msgstr "%s %s'dir\n"
msgid "%s is hashed (%s)\n"
msgstr "%s çitilmiş (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: sınırlama argümanı geçersiz"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c': hatalı komut"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: sınır alınamıyor: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: sınır değiştirilemiyor: %s"
@@ -894,106 +889,111 @@ msgstr "%s: bağlanmamış değişken"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
-msgstr "girdi beklerken zamanaşımı: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\agirdi beklerken zamanaşımı: auto-logout\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "/dev/null'dan standart girdiye yönlendirme yapılamaz: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "TIMEFORMAT: `%c': biçim karakteri geçersiz"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "yazma hatası: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: kısıtlı: komut adında `/' kullanamazsınız"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: komut yok"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s %s'dir\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: hatalı yorumlayıcı"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "fd %d, fd %d olarak yinelenemiyor"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "ifade özyineleme düzeyi aşıldı"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "özyineleme yığıtı alttan taştı"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "ifadede sözdizimi hatası"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "değişken olmayana atama yapmaya çalışıldı"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "sıfırla bölme"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "yazılım hatası: bad expassign token"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "koşullu ifade için `:' bekleniyordu"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "üs sıfırdan küçük"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "belirteç ön-arttırım veya ön-eksiltim sonrası bekleniyordu"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "eksik `)'"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "sözdizimi hatası: terim umuluyordu"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "sözdizimi hatası: geçersiz aritmetik işleci"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "geçersiz sayı tabanı"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "değer taban için fazla büyük"
-#: expr.c:1329
+#: expr.c:1435
#, fuzzy, c-format
msgid "%s: expression error\n"
msgstr "%s: tamsayı ifadesi bekleniyordu"
@@ -1002,164 +1002,164 @@ msgstr "%s: tamsayı ifadesi bekleniyordu"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: üst dizinlere erişilemiyor"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, fuzzy, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "fd %d için geciktirmeme kipi sıfırlanamıyor"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
"fd %d tanıtıcısındaki bash girdisi için yeni dosya tanıtıcısı ayrılamıyor"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: yeni fd %d için tampon zaten var"
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "çatallanan pid %d, çalışan iş %d içinde görünüyor"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "durdurulan %2$ld süreç gruplu iş %1$d siliniyor"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: böyle bir pid yok"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld bu kabuğun bir alt sürecine ait değil"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: süreç %ld için kayıt yok"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: iÅŸ %d durdu"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: iş sonlanmış"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: iÅŸ %d zaten artalanda"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s: uyarı: "
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "bu kabukta iÅŸ denetimi yok"
@@ -1313,99 +1313,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: yönlendirme yönergesi `%d' aralık dışında"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "`%c' için eşleşme aranırken beklenmedik dosya sonu"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "`]]' aranırken beklenmedik dosya sonu"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "koşullu ifadede sözdizimi hatası: beklenmedik dizgecik `%s'"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "koşullu ifadede sözdizimi hatası"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "beklenmedik dizgecik `%s', `)' umuluyordu"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "`)' umuluyordu"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "koşullu tek terimli işlece beklenmedik argüman `%s'"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "koşullu tek terimli işlece beklenmedik argüman"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "beklenmedik dizgecik `%s', koşullu iki terimli işleç umuluyordu"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "koşullu iki terimli işleç umuluyordu"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "koşullu iki terimli işlece beklenmedik argüman `%s'"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "koşullu iki terimli işlece beklenmedik argüman"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "koÅŸullu komutta beklenmeyen dizgecik `%c'"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "koÅŸullu komutta beklenmeyen dizgecik `%s'"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "koÅŸullu komutta beklenmeyen dizgecik %d"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "beklenmeyen dizgecik `%s' yakınında sözdizimi hatası"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "`%s' yakınında sözdizimi hatası"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "sözdizimi hatası: beklenmeyen dosya sonu"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "sözdizimi hatası"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Kabuğu bırakmak için \"%s\" kullanın.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr "`)' için eşleşme aranırken beklenmedik dosya sonu"
@@ -1414,77 +1414,77 @@ msgstr "`)' için eşleşme aranırken beklenmedik dosya sonu"
msgid "completion: function `%s' not found"
msgstr "completion: `%s' iÅŸlevi yok"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: hatalı bağlayıcı `%d'"
-#: print_cmd.c:363
+#: print_cmd.c:368
#, fuzzy, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr "%d: dosya tanıtıcı geçersiz: %s"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: `%c': geçersiz biçim karakteri"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "dosya tanıtıcı aralık dışında"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: belirsiz yönlendirme"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: mevcut dosyanın üzerine yazılamıyor"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: kısıtlı: çıktı yönlendirilemiyor"
-#: redir.c:180
+#: redir.c:192
#, fuzzy, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "belge için geçici dosya oluşturulamıyor: %s"
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s: dizi üyesine liste atanamaz"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr "/dev/(tcp|udp)/host/port ağ olmaksızın desteklenmiyor"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "yönlendirme hatası: fd yinelenemiyor"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "/tmp bulunamadı, lütfen oluşturun!"
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "/tmp geçerli bir dizinin adı olmalıdır"
@@ -1493,16 +1493,16 @@ msgstr "/tmp geçerli bir dizinin adı olmalıdır"
msgid "%c%c: invalid option"
msgstr "%c%c: geçersiz seçenek"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Hiç ismim yok!"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1511,44 +1511,44 @@ msgstr ""
"Kullanım:\t%s [GNU uzun seçeneği] [seçenek] ...\n"
"\t%s [GNU uzun seçeneği] [seçenek] betik-dosyası ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU uzun seçenekleri:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Kabuk seçenekleri:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD veya -c KOMUT veya -O shopt_seçeneği\t(sadece çağrı için)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s ya da -o seçeneği\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Kabuk seçenekleriyle ilgili daha fazla bilgi için `%s -c \"help set\"' "
"yazın.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Kabuk yerleşik komutlarıyla ilgili bilgi almak için `%s -c help' yazın.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr ""
"Yazılım hatalarını raporlamak için `bashbug' komutunu kullanınız.\n"
"Çeviri hatalarını ise <gnu-tr@belgeler.org> adresine bildiriniz.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: geçersiz işlem"
@@ -1724,83 +1724,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "hatalı ikame: %2$s içinde kapatan `%1$s' yok"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: dizi üyesine liste atanamaz"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "süreç ikamesi için borulama yapılamıyor"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "süreç ikamesi için alt süreç yapılamıyor"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "isimli boru %s okumak için açılamıyor"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "isimli boru %s yazmak için açılamıyor"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "isimli boru %s fd %d olarak yinelenemiyor"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "komut ikamesi için boru yapılamıyor"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "komut ikamesi için alt süreç yapılamıyor"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: boru fd 1 olarak yinelenemiyor"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: parametre boş ya da değer atanmamış"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: altdizge ifadesi < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: hatalı ikame"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: bu yolla atama yapılmaz"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, fuzzy, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "hatalı ikame: %2$s içinde kapatan `%1$s' yok"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "eÅŸleÅŸme yok: %s"
@@ -1823,37 +1823,37 @@ msgstr "`)' bekleniyordu"
msgid "`)' expected, found %s"
msgstr "`)' bekleniyordu, %s bulundu"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: tek terimli iÅŸleci bekleniyordu"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: iki terimli iÅŸleci bekleniyordu"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "eksik `]'"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "geçersiz sinyal numarası"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps:trap_list[%d] içinde hatalı değer: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr ""
"run_pending_traps: sinyal yakalayıcı SIG_DFL'dir, kendime %d (%s) göndererek"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler:hatalı sinyal %d"
@@ -1863,60 +1863,60 @@ msgstr "trap_handler:hatalı sinyal %d"
msgid "error importing function definition for `%s'"
msgstr "`%s'nin işlev tanımının içeri aktarılmasında hata"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "kabuk düzeyi (%d) çok yüksek, 1 yapılıyor"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: geçerli etki alanında hiç işlev bağlamı yok"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: geçerli etki alanında hiç işlev bağlamı yok"
-#: variables.c:3376
+#: variables.c:3427
#, fuzzy, c-format
msgid "%s has null exportstr"
msgstr "%s: parametre boş ya da değer atanmamış"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "%2$s için exportstr içinde geçersiz karakter %1$d"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "%s için exportstr içinde `=' yok"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr "pop_var_context: kabuk değişkenlerinin başı bir işlev bağlamı değil"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr "pop_var_context: genel değişkenler bağlamı yok"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: kabuk değişkenlerinin başı bir geçici ortam etki alanı değil"
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s: açılamıyor: %s"
-#: variables.c:4683
+#: variables.c:4791
#, fuzzy, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr "%d: dosya tanıtıcı geçersiz: %s"
#: version.c:46
#, fuzzy
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Copyright © 2006 Free Software Foundation, Inc.\n"
#: version.c:47
@@ -2003,7 +2003,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -2027,11 +2027,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2125,7 +2125,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2137,7 +2137,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2532,11 +2532,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"\rcd [-L|-P] [DÄ°ZÄ°N]\n"
" Bulunulan dizinden DİZİNe geçilmesini sağlar. DİZİN verilmezse $HOME "
@@ -2557,7 +2561,7 @@ msgstr ""
"seçeneği\n"
" sembolik bağların mutlaka izlenmesini sağlar."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2573,7 +2577,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
#, fuzzy
msgid ""
"Null command.\n"
@@ -2586,7 +2590,7 @@ msgstr ""
"\r:\n"
" Etkisizdir; bu komut birşey yapmaz. Sıfır çıkış kodu döndürülür."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2594,7 +2598,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
#, fuzzy
msgid ""
"Return an unsuccessful result.\n"
@@ -2605,7 +2609,7 @@ msgstr ""
"\rfalse\n"
" Başarısız bir sonuç döndürür."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2624,7 +2628,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
#, fuzzy
msgid ""
"Set variable values and attributes.\n"
@@ -2636,6 +2640,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2655,7 +2661,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2687,14 +2693,14 @@ msgstr ""
"kullanılmış\n"
" gibi yerel yapar."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2709,7 +2715,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
#, fuzzy
msgid ""
"Write arguments to the standard output.\n"
@@ -2762,7 +2768,7 @@ msgstr ""
" -E seçeneği ile yukarıdaki karakterlerin yorumlanmasını öntanımlı\n"
" olarak etkin olduÄŸu sistemlerde bile kapatabilirsiniz."
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2775,7 +2781,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2802,7 +2808,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2814,7 +2820,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
#, fuzzy
msgid ""
"Parse option arguments.\n"
@@ -2906,7 +2912,7 @@ msgstr ""
"baÅŸka\n"
" argümanlar verilmişse bunları çözümler."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2929,7 +2935,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
#, fuzzy
msgid ""
"Exit the shell.\n"
@@ -2941,7 +2947,7 @@ msgstr ""
" N durumu ile dönerek kabuk çıkar. N verilmezse son çalıştırılan komutun\n"
" çıkış durumu döner."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2950,7 +2956,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
#, fuzzy
msgid ""
"Display or execute commands from the history list.\n"
@@ -3005,7 +3011,7 @@ msgstr ""
" Böylece `r cc' yazarak `cc' ile başlayan son komut,\n"
" r' yazarak en son komut çalıştırılabilir."
-#: builtins.c:738
+#: builtins.c:743
#, fuzzy
msgid ""
"Move job to the foreground.\n"
@@ -3022,7 +3028,7 @@ msgstr ""
" EÄŸer Ä°Åž_BELÄ°RTÄ°MÄ° belirtilmemiÅŸse kabuk iÅŸ belirtimi olarak\n"
" o an ki işi kullanır."
-#: builtins.c:753
+#: builtins.c:758
#, fuzzy
msgid ""
"Move jobs to the background.\n"
@@ -3040,7 +3046,7 @@ msgstr ""
" `&' ile başlatılmışçasına İŞ_BELİRTİMİni artalana yerleştirir.\n"
" İŞ_BELİRTİMİ verilmemişse, iş belirtimi olarak o an ki iş kullanılır."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3064,7 +3070,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3086,7 +3092,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
#, fuzzy
msgid ""
"Display or manipulate the history list.\n"
@@ -3144,7 +3150,7 @@ msgstr ""
" damgasını basacak olan strftime(3) işlevine biçim girdisi olur; aksi\n"
" takdirde hiç zaman damgası basılmaz."
-#: builtins.c:852
+#: builtins.c:857
#, fuzzy
msgid ""
"Display status of jobs.\n"
@@ -3181,7 +3187,7 @@ msgstr ""
" ARGümanlar ile belirtilen tüm iş belirtimleri, işlerin süreç grup\n"
" liderinin süreç grup kimliğine yerleştirilip KOMUT çalıştırılır."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3198,7 +3204,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
#, fuzzy
msgid ""
"Send a signal to a job.\n"
@@ -3236,7 +3242,7 @@ msgstr ""
" sınırını aşarsanız başka bir süreci öldürecek bir süreci başlatmak\n"
" zorunda kalmazsınız."
-#: builtins.c:921
+#: builtins.c:926
#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
@@ -3279,7 +3285,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"\rlet Ä°FADE [Ä°FADE ...]\n"
" Her Ä°FADE deÄŸerlendirilecek bir aritmetik ifadesidir. DeÄŸerlendirme\n"
@@ -3321,7 +3327,7 @@ msgstr ""
"\n"
" Son ifade'nin sonucu 0 ise dönüş durumu 1 dir, aksi takdirde 0 dır."
-#: builtins.c:966
+#: builtins.c:971
#, fuzzy
msgid ""
"Read a line from the standard input and split it into fields.\n"
@@ -3414,7 +3420,7 @@ msgstr ""
" okuma zamanaşımına düşmedikçe ya da -u seçeneği ile sağlanan\n"
" DoSYaTaNıTıcı geçersiz olmadıkça dönüş durumu sıfırdır."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3426,7 +3432,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
@@ -3496,6 +3502,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3599,7 +3608,7 @@ msgstr ""
" atanır. Özel parametre # ise N'e ayarlanır. Hiç argüman verilmezse,\n"
" tüm kabuk değişkenleri basılır."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3619,7 +3628,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3638,7 +3647,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3658,7 +3667,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3669,7 +3678,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
#, fuzzy
msgid ""
"Execute commands from a file in the current shell.\n"
@@ -3697,7 +3706,7 @@ msgstr ""
"parametreler\n"
" deÄŸiÅŸtirilmez."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3711,7 +3720,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3719,7 +3728,10 @@ msgid ""
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3773,6 +3785,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3865,7 +3878,7 @@ msgstr ""
" küçüklük, büyüklük, küçüklük veya eşitlik, büyüklük veya eşitlik varsa\n"
" ifadenin sonucu doÄŸrudur."
-#: builtins.c:1299
+#: builtins.c:1311
#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
@@ -3877,7 +3890,7 @@ msgstr ""
" test yerleşiği ile aynıdır, fakat son argüman açan `[' ile eşleşen\n"
" kapatan `]' olmak zorundadır."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3889,7 +3902,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
#, fuzzy
msgid ""
"Trap signals and other events.\n"
@@ -3906,7 +3919,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3942,7 +3963,7 @@ msgstr ""
" numaraları ile birlikte listelemesini sağlar. Kabuğa bir sinyal\n"
" göndermek isterseniz \"kill -SİGNAL $$\" sözdizimini kullanabilirsiniz."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3972,7 +3993,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
#, fuzzy
msgid ""
"Modify shell resource limits.\n"
@@ -4049,7 +4070,7 @@ msgstr ""
" için 512 baytlık blok sayısı olarak, -n ve -u için birimsiz, kalan\n"
" seçenekler için 1024 baytlık blok sayısı olarak belirtilmelidir."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4067,7 +4088,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4084,7 +4105,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
#, fuzzy
msgid ""
"Wait for process completion and return exit status.\n"
@@ -4105,7 +4126,7 @@ msgstr ""
" belirtimi de olabilir; bir iÅŸ belirtimi verilirse iÅŸin\n"
" boruhattındaki tüm süreçler için beklenir."
-#: builtins.c:1481
+#: builtins.c:1497
#, fuzzy
msgid ""
"Execute commands for each member in a list.\n"
@@ -4124,7 +4145,7 @@ msgstr ""
" yoksa, `in \"$@\"' belirtilmiş gibi kümeyi oluşturan her parametre\n"
" için KOMUTlar birer kere çalıştırılır."
-#: builtins.c:1495
+#: builtins.c:1511
#, fuzzy
msgid ""
"Arithmetic for loop.\n"
@@ -4151,7 +4172,7 @@ msgstr ""
" Ä°FADE1, Ä°FADE2 ve Ä°FADE3 aritmetik ifadelerdir. Verilmeyen her\n"
" ifade için 1 verilmiş gibi işlem yapılır."
-#: builtins.c:1513
+#: builtins.c:1529
#, fuzzy
msgid ""
"Select words from a list and execute commands.\n"
@@ -4191,7 +4212,7 @@ msgstr ""
" değişkeninde tutulur. Her seçimden sonra bir break komutu ile\n"
" sonlandırılıncaya kadar komutlar çalıştırılır."
-#: builtins.c:1534
+#: builtins.c:1550
#, fuzzy
msgid ""
"Report time consumed by pipeline's execution.\n"
@@ -4215,7 +4236,7 @@ msgstr ""
" istatistiklerinin biraz farklı bir biçimde basılmasını sağlar; çıktı\n"
" biçimi olarak TIMEFORMAT değişkeninin değerini kullanır."
-#: builtins.c:1551
+#: builtins.c:1567
#, fuzzy
msgid ""
"Execute commands based on pattern matching.\n"
@@ -4230,7 +4251,7 @@ msgstr ""
" SÖZcük ile eşleşen ilk KALIP'a karşı düşen KOMUTları çalıştırır.\n"
" `|' çok sayıda kalıbı ayırmak için kullanılır."
-#: builtins.c:1563
+#: builtins.c:1579
#, fuzzy
msgid ""
"Execute commands based on conditional.\n"
@@ -4265,7 +4286,7 @@ msgstr ""
" çıkış durumudur. Bir komut çalıştırılmamışsa ve hiçbir koşul\n"
" doğru sonuç vermemişse sıfır döner."
-#: builtins.c:1580
+#: builtins.c:1596
#, fuzzy
msgid ""
"Execute commands as long as a test succeeds.\n"
@@ -4280,7 +4301,7 @@ msgstr ""
" `while KOMUTlar; listesinin çıkış durumu sıfır olduğu sürece\n"
" `do KOMUTlar;' listesi çalıştırılır."
-#: builtins.c:1592
+#: builtins.c:1608
#, fuzzy
msgid ""
"Execute commands as long as a test does not succeed.\n"
@@ -4295,7 +4316,7 @@ msgstr ""
" `until KOMUTlar; listesinin çıkış durumu sıfırdan farklı olduğu sürece\n"
" `do KOMUTlar;' listesi çalıştırılır."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4308,7 +4329,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4322,7 +4343,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
#, fuzzy
msgid ""
"Group commands as a unit.\n"
@@ -4337,7 +4358,7 @@ msgstr ""
" KOMUTlar bir grup olarak çalıştırılır. Bu, bir komut kümesini bir\n"
" yönlendirmede kullanmanın tek yoludur."
-#: builtins.c:1644
+#: builtins.c:1660
#, fuzzy
msgid ""
"Resume job in foreground.\n"
@@ -4358,7 +4379,7 @@ msgstr ""
" İŞ_BELİRTİMİ'nden sonra bir & gelmesi işin `bg' komutununa argüman\n"
" olarak kullanılmış gibi artalana yerleştirilmesine sebep olur."
-#: builtins.c:1659
+#: builtins.c:1675
#, fuzzy
msgid ""
"Evaluate arithmetic expression.\n"
@@ -4373,7 +4394,7 @@ msgstr ""
" Verilen aritmetik İFADE aritmetik değerlendirme kurallarına göre\n"
" deÄŸerlendirilir. \"let Ä°FADE\" ile eÅŸdeÄŸerdir."
-#: builtins.c:1671
+#: builtins.c:1687
#, fuzzy
msgid ""
"Execute conditional command.\n"
@@ -4416,7 +4437,7 @@ msgstr ""
" olarak ele alınır ve kalıp eşleştirmesi uygulanır. && ve || işleçleri\n"
" eğer ilk ifade sonuç için belirleyici ise ikincisine bakmazlar."
-#: builtins.c:1697
+#: builtins.c:1713
#, fuzzy
msgid ""
"Common shell variable names and usage.\n"
@@ -4537,7 +4558,7 @@ msgstr ""
" gerektiğine karar vermek için kullanılan kalıpların\n"
" ikinokta imi ayraçlı listesi.\n"
-#: builtins.c:1754
+#: builtins.c:1770
#, fuzzy
msgid ""
"Add directories to stack.\n"
@@ -4589,7 +4610,7 @@ msgstr ""
"\n"
" Dizin yığıtını `dirs' komutuyla görebilirsiniz."
-#: builtins.c:1788
+#: builtins.c:1804
#, fuzzy
msgid ""
"Remove directories from stack.\n"
@@ -4630,7 +4651,7 @@ msgstr ""
" engeller, böylece sadece yığıt değiştirilmiş olur. \n"
" Dizin yığıtını `dirs' komutuyla görebilirsiniz."
-#: builtins.c:1818
+#: builtins.c:1834
#, fuzzy
msgid ""
"Display directory stack.\n"
@@ -4676,7 +4697,7 @@ msgstr ""
" -N dirs seçeneksiz çağrıldığında gösterdiği listenin sağından\n"
" sıfırla başlayarak sayılan N'inci girdiyi gösterir."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -4697,7 +4718,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
@@ -4721,6 +4742,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -4739,7 +4763,7 @@ msgstr ""
" biçimde çıktılamasını sağlar. -v seçeneği çıktının standart çıktıya\n"
" basılması yerine DEĞİŞKENe atanmasını sağlar. "
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -4766,7 +4790,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
#, fuzzy
msgid ""
"Display possible completions depending on the options.\n"
@@ -4786,13 +4810,13 @@ msgstr ""
" amacıyla tasarlanmıştır. İsteğe bağlı SÖZCÜK argümanı sağlandığı\n"
" takdirde eşleşmelerden sadece SÖZCÜK ile eşleşenler üretilir."
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -4817,7 +4841,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4845,7 +4869,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -4857,7 +4882,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/po/uk.gmo b/po/uk.gmo
new file mode 100644
index 0000000..138d66e
--- /dev/null
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..098ba72
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,5571 @@
+# Bash Ukrainian messages
+# Copyright (C) 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
+# Myhailo Danylenko <isbear@ukrpost.net>, 2009.
+# Maxim V. Dziumanenko <dziumanenko@gmail.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bash 4.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-06-01 14:53+0300\n"
+"Last-Translator: Maxim V. Dziumanenko <dziumanenko@gmail.com>\n"
+"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+
+#: arrayfunc.c:50
+msgid "bad array subscript"
+msgstr "неправильний Ñ–Ð½Ð´ÐµÐºÑ Ð¼Ð°Ñиву"
+
+#: arrayfunc.c:313 builtins/declare.def:487
+#, c-format
+msgid "%s: cannot convert indexed to associative array"
+msgstr "%s: неможливо перетворити індекÑований маÑив на аÑоціативний"
+
+#: arrayfunc.c:480
+#, c-format
+msgid "%s: invalid associative array key"
+msgstr "%s: неправильний ключ аÑоціативного маÑиву"
+
+#: arrayfunc.c:482
+#, c-format
+msgid "%s: cannot assign to non-numeric index"
+msgstr "%s: Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½ÐµÑ‡Ð¸Ñлових елементів неможливе"
+
+#: arrayfunc.c:518
+#, c-format
+msgid "%s: %s: must use subscript when assigning associative array"
+msgstr "%s: %s: при означенні аÑоціативних маÑивів потрібно вказувати ключ"
+
+#: bashhist.c:387
+#, c-format
+msgid "%s: cannot create: %s"
+msgstr "%s: не вдаєтьÑÑ Ñтворити: %s"
+
+#: bashline.c:3498
+msgid "bash_execute_unix_command: cannot find keymap for command"
+msgstr ""
+"bash_execute_unix_command: не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ відповідне Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ "
+"команди"
+
+#: bashline.c:3584
+#, c-format
+msgid "%s: first non-whitespace character is not `\"'"
+msgstr "%s: перший непробільний Ñимвол не Ñ” `\"'"
+
+# c-format
+#: bashline.c:3613
+#, c-format
+msgid "no closing `%c' in %s"
+msgstr "нема заключної `%c' у %s"
+
+#: bashline.c:3647
+#, c-format
+msgid "%s: missing colon separator"
+msgstr "%s: пропущено двокрапку-роздільник"
+
+#: builtins/alias.def:132
+#, fuzzy, c-format
+msgid "`%s': invalid alias name"
+msgstr "`%s': неправильна назва набору призначень клавіш"
+
+#: builtins/bind.def:120 builtins/bind.def:123
+msgid "line editing not enabled"
+msgstr "Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ñдку не ввімкнено"
+
+#: builtins/bind.def:206
+#, c-format
+msgid "`%s': invalid keymap name"
+msgstr "`%s': неправильна назва набору призначень клавіш"
+
+#: builtins/bind.def:245
+#, c-format
+msgid "%s: cannot read: %s"
+msgstr "%s: не вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸: %s"
+
+#: builtins/bind.def:260
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "`%s': не вдаєтьÑÑ Ð·Ð½Ñти призначеннÑ"
+
+#: builtins/bind.def:295 builtins/bind.def:325
+#, c-format
+msgid "`%s': unknown function name"
+msgstr "`%s': невідома назва функції"
+
+#: builtins/bind.def:303
+#, c-format
+msgid "%s is not bound to any keys.\n"
+msgstr "%s не призначено жодної клавіші.\n"
+
+#: builtins/bind.def:307
+#, c-format
+msgid "%s can be invoked via "
+msgstr "%s можна запуÑтити за допомогою "
+
+#: builtins/break.def:77 builtins/break.def:117
+msgid "loop count"
+msgstr "кількіÑÑ‚ÑŒ циклів"
+
+#: builtins/break.def:137
+msgid "only meaningful in a `for', `while', or `until' loop"
+msgstr "має ÑÐµÐ½Ñ Ð»Ð¸ÑˆÐµ уÑередині циклів `for', `while' та `until'"
+
+#: builtins/caller.def:133
+msgid ""
+"Returns the context of the current subroutine call.\n"
+" \n"
+" Without EXPR, returns "
+msgstr ""
+"Повертає контекÑÑ‚ поточної підпрограми.\n"
+" \n"
+" Якщо EXPR не вказано, повертає "
+
+#: builtins/cd.def:235
+msgid "HOME not set"
+msgstr "змінну HOME не вÑтановлено"
+
+#: builtins/cd.def:247
+msgid "OLDPWD not set"
+msgstr "змінну OLDPWD не вÑтановлено"
+
+#: builtins/common.c:101
+#, c-format
+msgid "line %d: "
+msgstr "Ñ€Ñдок %d: "
+
+#: builtins/common.c:139 error.c:261
+#, c-format
+msgid "warning: "
+msgstr "попередженнÑ: "
+
+#: builtins/common.c:153
+#, c-format
+msgid "%s: usage: "
+msgstr "%s: викориÑтовуйте: "
+
+#: builtins/common.c:166 test.c:832
+msgid "too many arguments"
+msgstr "забагато аргументів"
+
+#: builtins/common.c:191 shell.c:500 shell.c:782
+#, c-format
+msgid "%s: option requires an argument"
+msgstr "%s: параметр потребує аргументу"
+
+#: builtins/common.c:198
+#, c-format
+msgid "%s: numeric argument required"
+msgstr "%s: потрібен чиÑловий аргумент"
+
+#: builtins/common.c:205
+#, c-format
+msgid "%s: not found"
+msgstr "%s: не знайдено"
+
+#: builtins/common.c:214 shell.c:795
+#, c-format
+msgid "%s: invalid option"
+msgstr "%s: неправильний параметр"
+
+#: builtins/common.c:221
+#, c-format
+msgid "%s: invalid option name"
+msgstr "%s: невірна назва параметру"
+
+#: builtins/common.c:228 general.c:231 general.c:236
+#, c-format
+msgid "`%s': not a valid identifier"
+msgstr "`%s': неправильний ідентифікатор"
+
+#: builtins/common.c:238
+msgid "invalid octal number"
+msgstr "неправильне віÑімкове чиÑло"
+
+#: builtins/common.c:240
+msgid "invalid hex number"
+msgstr "неправильне шіÑтнадцÑткове чиÑло"
+
+#: builtins/common.c:242 expr.c:1362
+msgid "invalid number"
+msgstr "неправильне чиÑло"
+
+#: builtins/common.c:250
+#, c-format
+msgid "%s: invalid signal specification"
+msgstr "%s: Ñигнал вказано невірно"
+
+#: builtins/common.c:257
+#, c-format
+msgid "`%s': not a pid or valid job spec"
+msgstr "`%s': не Ñ” ідентифікатором процеÑу чи завданнÑ"
+
+#: builtins/common.c:264 error.c:454
+#, c-format
+msgid "%s: readonly variable"
+msgstr "%s: змінна призначена лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
+
+#: builtins/common.c:272
+#, c-format
+msgid "%s: %s out of range"
+msgstr "%s: %s виходить за вÑтановлені межі"
+
+#: builtins/common.c:272 builtins/common.c:274
+msgid "argument"
+msgstr "аргумент"
+
+#: builtins/common.c:274
+#, c-format
+msgid "%s out of range"
+msgstr "%s виходить за вÑтановлені межі"
+
+#: builtins/common.c:282
+#, c-format
+msgid "%s: no such job"
+msgstr "%s: нема такого завданнÑ"
+
+#: builtins/common.c:290
+#, c-format
+msgid "%s: no job control"
+msgstr "%s: ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñми не ввімкнене"
+
+#: builtins/common.c:292
+msgid "no job control"
+msgstr "ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñми не ввімкнене"
+
+#: builtins/common.c:302
+#, c-format
+msgid "%s: restricted"
+msgstr "%s: заборонено обмеженнÑми"
+
+#: builtins/common.c:304
+msgid "restricted"
+msgstr "заборонено обмеженнÑми"
+
+#: builtins/common.c:312
+#, c-format
+msgid "%s: not a shell builtin"
+msgstr "%s: не є вбудованою командою оболонки"
+
+#: builtins/common.c:321
+#, c-format
+msgid "write error: %s"
+msgstr "помилка запиÑу: %s"
+
+#: builtins/common.c:329
+#, c-format
+msgid "error setting terminal attributes: %s"
+msgstr "помилка вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² терміналу: %s"
+
+#: builtins/common.c:331
+#, c-format
+msgid "error getting terminal attributes: %s"
+msgstr "помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð² терміналу: %s"
+
+#: builtins/common.c:563
+#, c-format
+msgid "%s: error retrieving current directory: %s: %s\n"
+msgstr "%s: помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— директорії: %s: %s\n"
+
+#: builtins/common.c:629 builtins/common.c:631
+#, c-format
+msgid "%s: ambiguous job spec"
+msgstr "%s: Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ неоднозначно"
+
+#: builtins/complete.def:276
+#, c-format
+msgid "%s: invalid action name"
+msgstr "%s: неправильна назва дії"
+
+#: builtins/complete.def:449 builtins/complete.def:644
+#: builtins/complete.def:853
+#, c-format
+msgid "%s: no completion specification"
+msgstr "%s: не вказана ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–Ñ†ÐºÐ°Ñ†Ñ–Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ"
+
+#: builtins/complete.def:696
+msgid "warning: -F option may not work as you expect"
+msgstr "попередженнÑ: можливо параметр -F працює не так, Ñк ви очікуєте"
+
+#: builtins/complete.def:698
+msgid "warning: -C option may not work as you expect"
+msgstr "попередженнÑ: можливо параметр -C працює не так, Ñк ви очікуєте"
+
+#: builtins/complete.def:826
+msgid "not currently executing completion function"
+msgstr "наразі Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ñдку не виконуєтьÑÑ"
+
+#: builtins/declare.def:124
+msgid "can only be used in a function"
+msgstr "може викориÑтовуватиÑÑ Ð»Ð¸ÑˆÐµ уÑередині функції"
+
+#: builtins/declare.def:366
+msgid "cannot use `-f' to make functions"
+msgstr "`-f' не викориÑтовуєтьÑÑ Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹"
+
+#: builtins/declare.def:378 execute_cmd.c:5105
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: незмінна функціÑ"
+
+#: builtins/declare.def:474
+#, c-format
+msgid "%s: cannot destroy array variables in this way"
+msgstr "%s: неможливо знищити маÑив таким чином"
+
+#: builtins/declare.def:481
+#, c-format
+msgid "%s: cannot convert associative to indexed array"
+msgstr "%s: неможливо перетворити аÑоціативний маÑив на індекÑований"
+
+#: builtins/enable.def:137 builtins/enable.def:145
+msgid "dynamic loading not available"
+msgstr "динамічне Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½ÐµÐ´Ð¾Ñтупне"
+
+#: builtins/enable.def:312
+#, c-format
+msgid "cannot open shared object %s: %s"
+msgstr "не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ колективний об’єкт %s: %s"
+
+#: builtins/enable.def:335
+#, c-format
+msgid "cannot find %s in shared object %s: %s"
+msgstr "не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ %s у колективному об’єкті %s: %s"
+
+#: builtins/enable.def:459
+#, c-format
+msgid "%s: not dynamically loaded"
+msgstr "%s: завантажений не динамічно"
+
+#: builtins/enable.def:474
+#, c-format
+msgid "%s: cannot delete: %s"
+msgstr "%s: не вдаєтьÑÑ Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚Ð¸: %s"
+
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
+#, c-format
+msgid "%s: is a directory"
+msgstr "%s: це директоріÑ"
+
+#: builtins/evalfile.c:140
+#, c-format
+msgid "%s: not a regular file"
+msgstr "%s: не є звичайним файлом"
+
+#: builtins/evalfile.c:148
+#, c-format
+msgid "%s: file is too large"
+msgstr "%s: файл завеликий"
+
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
+#, c-format
+msgid "%s: cannot execute binary file"
+msgstr "%s: не вдаєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ бінарний файл"
+
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
+#, c-format
+msgid "%s: cannot execute: %s"
+msgstr "%s: не вдаєтьÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸: %s"
+
+#: builtins/exit.def:65
+#, c-format
+msgid "logout\n"
+msgstr "вихід\n"
+
+#: builtins/exit.def:88
+msgid "not login shell: use `exit'"
+msgstr "це не оболонка ÑеанÑу: викориÑтовуйте `exit'"
+
+#: builtins/exit.def:120
+#, c-format
+msgid "There are stopped jobs.\n"
+msgstr "ЗалишилиÑÑ Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ñ– завданнÑ.\n"
+
+#: builtins/exit.def:122
+#, c-format
+msgid "There are running jobs.\n"
+msgstr "Фонові Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð²Ñе ще виконуютьÑÑ.\n"
+
+#: builtins/fc.def:262
+msgid "no command found"
+msgstr "команду не знайдено"
+
+#: builtins/fc.def:312 builtins/fc.def:359
+msgid "history specification"
+msgstr "параметри Ñ–Ñторії"
+
+#: builtins/fc.def:380
+#, c-format
+msgid "%s: cannot open temp file: %s"
+msgstr "%s: не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ тимчаÑовий файл: %s"
+
+#: builtins/fg_bg.def:149 builtins/jobs.def:282
+msgid "current"
+msgstr "поточне"
+
+#: builtins/fg_bg.def:158
+#, c-format
+msgid "job %d started without job control"
+msgstr "Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ %d запущене без контролю завдань"
+
+#: builtins/getopt.c:110
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: неправильний параметр — %c\n"
+
+#: builtins/getopt.c:111
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: параметр потребує аргументу — %c\n"
+
+#: builtins/hash.def:92
+msgid "hashing disabled"
+msgstr "ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ðµ"
+
+#: builtins/hash.def:138
+#, c-format
+msgid "%s: hash table empty\n"
+msgstr "%s: в кеші нічого немає\n"
+
+#: builtins/hash.def:245
+#, c-format
+msgid "hits\tcommand\n"
+msgstr "влучень\tкоманда\n"
+
+#: builtins/help.def:130
+#, c-format
+msgid "Shell commands matching keyword `"
+msgid_plural "Shell commands matching keywords `"
+msgstr[0] "Команди оболонки, що відповідають Ñлову `"
+msgstr[1] "Команди оболонки, що відповідають Ñловам `"
+msgstr[2] "Команди оболонки, що відповідають Ñловам `"
+
+#: builtins/help.def:168
+#, fuzzy, c-format
+msgid ""
+"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr ""
+"`%s' не відповідає жодного розділу довідки. Спробуйте `help help' чи `man -k "
+"%s' або `info %s'."
+
+#: builtins/help.def:185
+#, c-format
+msgid "%s: cannot open: %s"
+msgstr "%s: не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸: %s"
+
+#: builtins/help.def:337
+#, fuzzy, c-format
+msgid ""
+"These shell commands are defined internally. Type `help' to see this list.\n"
+"Type `help name' to find out more about the function `name'.\n"
+"Use `info bash' to find out more about the shell in general.\n"
+"Use `man -k' or `info' to find out more about commands not in this list.\n"
+"\n"
+"A star (*) next to a name means that the command is disabled.\n"
+"\n"
+msgstr ""
+"Ці команди оболонки визначені внутрішньо. Введіть `help', щоб побачити їх "
+"ÑпиÑок.\n"
+"Введіть `help name', щоб дізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про функцію `name'.\n"
+"ВикориÑтовуйте `info bash', щоб отримати більше інформації про оболонку в "
+"цілому.\n"
+"`man -k' чи `info' можуть Ñтати в нагоді Ð´Ð»Ñ Ð´Ð¾Ð²Ñ–Ð´ÐºÐ¸ ÑтоÑовно команд, що не "
+"Ñ” в цьому ÑпиÑку.\n"
+"\n"
+"Зірочка (*) порÑд з назвою команди означає, що команда заборонена.\n"
+"\n"
+
+#: builtins/history.def:154
+msgid "cannot use more than one of -anrw"
+msgstr "-anrw можуть зуÑтрічатиÑÑ Ð»Ð¸ÑˆÐµ один раз"
+
+#: builtins/history.def:186
+msgid "history position"
+msgstr "Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ Ñƒ Ñ–Ñторії команд"
+
+#: builtins/history.def:365
+#, c-format
+msgid "%s: history expansion failed"
+msgstr "%s: невдалий пошук по Ñ–Ñторії команд"
+
+#: builtins/inlib.def:71
+#, c-format
+msgid "%s: inlib failed"
+msgstr "%s: помилка inlib"
+
+#: builtins/jobs.def:109
+msgid "no other options allowed with `-x'"
+msgstr "не можна викориÑтовувати інші параметри разом з `-x'"
+
+#: builtins/kill.def:198
+#, c-format
+msgid "%s: arguments must be process or job IDs"
+msgstr "%s: аргументи мають бути ідентифікаторами завдань чи процеÑів"
+
+#: builtins/kill.def:261
+msgid "Unknown error"
+msgstr "Ðевідома помилка"
+
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
+msgid "expression expected"
+msgstr "очікувавÑÑ Ð²Ð¸Ñ€Ð°Ð·"
+
+#: builtins/mapfile.def:172
+#, fuzzy, c-format
+msgid "%s: not an indexed array"
+msgstr "%s: не Ñ” маÑивом"
+
+#: builtins/mapfile.def:256 builtins/read.def:279
+#, c-format
+msgid "%s: invalid file descriptor specification"
+msgstr "%s: неправильно вказаний деÑкриптор файлу"
+
+#: builtins/mapfile.def:264 builtins/read.def:286
+#, c-format
+msgid "%d: invalid file descriptor: %s"
+msgstr "%d: неправильний деÑкриптор файлу: %s"
+
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
+msgid "%s: invalid line count"
+msgstr "%s: неправильна кількіÑÑ‚ÑŒ Ñ€Ñдків"
+
+#: builtins/mapfile.def:284
+#, c-format
+msgid "%s: invalid array origin"
+msgstr "%s: неправильний початковий індекÑ"
+
+#: builtins/mapfile.def:301
+#, c-format
+msgid "%s: invalid callback quantum"
+msgstr "%s: неправильний крок виклику функції"
+
+#: builtins/mapfile.def:333
+msgid "empty array variable name"
+msgstr "Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° змінної-маÑиву"
+
+#: builtins/mapfile.def:354
+msgid "array variable support required"
+msgstr "змінні-маÑиви не підтримуютьÑÑ"
+
+#: builtins/printf.def:394
+#, c-format
+msgid "`%s': missing format character"
+msgstr "`%s': пропущено Ñимвол у шаблоні"
+
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: неправильно вказаний термін чаÑу"
+
+#: builtins/printf.def:635
+#, c-format
+msgid "`%c': invalid format character"
+msgstr "`%c': невірний Ñимвол у шаблоні"
+
+#: builtins/printf.def:662
+#, c-format
+msgid "warning: %s: %s"
+msgstr "попередженнÑ: %s: %s"
+
+#: builtins/printf.def:840
+msgid "missing hex digit for \\x"
+msgstr "пропущено шіÑтнадцÑткову цифру у \\x"
+
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "пропущено шіÑтнадцÑткову цифру у \\x"
+
+#: builtins/pushd.def:195
+msgid "no other directory"
+msgstr "немає іншої директорії"
+
+#: builtins/pushd.def:462
+msgid "<no current directory>"
+msgstr "<немає поточної директорії>"
+
+#: builtins/pushd.def:506
+msgid "directory stack empty"
+msgstr "Ñтек директорій порожній"
+
+#: builtins/pushd.def:508
+msgid "directory stack index"
+msgstr "рівень Ñтеку директорій"
+
+#: builtins/pushd.def:683
+#, fuzzy
+msgid ""
+"Display the list of currently remembered directories. Directories\n"
+" find their way onto the list with the `pushd' command; you can get\n"
+" back up through the list with the `popd' command.\n"
+" \n"
+" Options:\n"
+" -c\tclear the directory stack by deleting all of the elements\n"
+" -l\tdo not print tilde-prefixed versions of directories relative\n"
+" \tto your home directory\n"
+" -p\tprint the directory stack with one entry per line\n"
+" -v\tprint the directory stack with one entry per line prefixed\n"
+" \twith its position in the stack\n"
+" \n"
+" Arguments:\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" -N\tDisplays the Nth entry counting from the right of the list shown "
+"by\n"
+"\tdirs when invoked without options, starting with zero."
+msgstr ""
+"Показує ÑпиÑок збережених директорій. Директорії\n"
+" додаютьÑÑ Ð´Ð¾ цього ÑпиÑку командою `pushd'; ви можете повернутиÑÑ\n"
+" назад по ÑпиÑку за допомогою команди `popd'.\n"
+" \n"
+" Параметри:\n"
+" -c\tочиÑтити ÑпиÑок директорій, вилучивши уÑÑ– його елементи\n"
+" -l\tне викориÑтовувати ~ Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ð¹, що знаходÑÑ‚ÑŒÑÑ ÑƒÑередині\n"
+" \tвашої домівки\n"
+" -p\tвиводити директорії по одній на Ñ€Ñдок\n"
+" -v\tвиводити директорії по одній на Ñ€Ñдок із вказаннÑм позиції у\n"
+" \tÑпиÑку\n"
+" \n"
+" Ðргументи:\n"
+" +N\tПоказує N-ну зліва директорію у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ\n"
+" \tdirs без аргументів, рахунок починаєтьÑÑ Ð· нулÑ.\n"
+" \n"
+" -N\tПоказує N-ну з ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–ÑŽ у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ\n"
+"\tdirs без аргументів, рахунок починаєтьÑÑ Ð· нулÑ."
+
+#: builtins/pushd.def:705
+#, fuzzy
+msgid ""
+"Adds a directory to the top of the directory stack, or rotates\n"
+" the stack, making the new top of the stack the current working\n"
+" directory. With no arguments, exchanges the top two directories.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when adding\n"
+" \tdirectories to the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the left of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" -N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the right of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" dir\tAdds DIR to the directory stack at the top, making it the\n"
+" \tnew current working directory.\n"
+" \n"
+" The `dirs' builtin displays the directory stack."
+msgstr ""
+"Додає директорію на вершину Ñтеку директорій, чи циклічно обертає\n"
+" Ñтек, вÑтановлюючи поточну робочу директорію відповідно до його нової\n"
+" вершини. Без аргументів мінÑÑ” міÑцÑми дві найвищих директорії.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе робити звичайного переходу у нову директорію при додаванні\n"
+" \tдиректорій до Ñтеку, проводити операції лише над Ñтеком.\n"
+" \n"
+" Ðргументи:\n"
+" +N\tЦиклічно обертає Ñтек так, щоб N-на директоріÑ, рахуючи\n"
+" \tзліва (починаючи з нулÑ) у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ `dirs'\n"
+" \tопинитьÑÑ Ð½Ð° вершині Ñтеку.\n"
+" \n"
+" -N\tЦиклічно обертає Ñтек так, щоб N-на директоріÑ, рахуючи\n"
+" \tз ÐºÑ–Ð½Ñ†Ñ (починаючи з нулÑ) у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ `dirs'\n"
+" \tопинитьÑÑ Ð½Ð° вершині Ñтеку.\n"
+" \n"
+" dir\tДодає DIR на вершину Ñтеку, й робить Ñ—Ñ— поточною робочою\n"
+" \tдиректорією.\n"
+" \n"
+" Вбудована команда `dirs' показує Ñтек директорій."
+
+#: builtins/pushd.def:730
+#, fuzzy
+msgid ""
+"Removes entries from the directory stack. With no arguments, removes\n"
+" the top directory from the stack, and changes to the new top directory.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when removing\n"
+" \tdirectories from the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRemoves the Nth entry counting from the left of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd +0'\n"
+" \tremoves the first directory, `popd +1' the second.\n"
+" \n"
+" -N\tRemoves the Nth entry counting from the right of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd -0'\n"
+" \tremoves the last directory, `popd -1' the next to last.\n"
+" \n"
+" The `dirs' builtin displays the directory stack."
+msgstr ""
+"Вилучає директорії зі Ñтеку збережених директорій. Без аргументів, вилучає\n"
+" верхню директорію у Ñтеку й змінює поточну директорію відповідно до "
+"нової\n"
+" вершини Ñтеку.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе робити звичайного переходу до нової директорії при вилученні\n"
+" \tдиректорій зі Ñтеку, проводити операції лише над Ñтеком.\n"
+" \n"
+" Ðргументи:\n"
+" +N\tВилучає N-ну зліва директорію у ÑпиÑку, що показуєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ "
+"`dirs'\n"
+" \t(рахунок починаєтьÑÑ Ð· нулÑ). Ðаприклад: `popd +0' вилучає першу "
+"директорію,\n"
+" \t`popd +1' другу.\n"
+" \n"
+" -N\tВилучає N-ну з ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–ÑŽ у ÑпиÑку, що показуєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ\n"
+" \t`dirs' (рахунок починаєтьÑÑ Ð· нулÑ). Ðаприклад: `popd -0' вилучає\n"
+" \tоÑтанню директорію, `popd -1' передоÑтанню.\n"
+" \n"
+" Вбудована команда `dirs' показує Ñтек директорій."
+
+#: builtins/read.def:252
+#, fuzzy, c-format
+msgid "%s: invalid timeout specification"
+msgstr "%s: неправильно вказаний термін чаÑу"
+
+#: builtins/read.def:588
+#, c-format
+msgid "read error: %d: %s"
+msgstr "помилка читаннÑ: %d: %s"
+
+#: builtins/return.def:73
+msgid "can only `return' from a function or sourced script"
+msgstr ""
+"`return' працює лише у функції чи Ñкрипті, запущеному за допомогою `source'"
+
+#: builtins/set.def:771
+msgid "cannot simultaneously unset a function and a variable"
+msgstr "не можна одночаÑно знищити Ñ– функцію Ñ– змінну"
+
+#: builtins/set.def:808
+#, c-format
+msgid "%s: cannot unset"
+msgstr "%s: не вдаєтьÑÑ Ð·Ð½Ð¸Ñ‰Ð¸Ñ‚Ð¸"
+
+#: builtins/set.def:815
+#, c-format
+msgid "%s: cannot unset: readonly %s"
+msgstr "%s: не вдаєтьÑÑ Ð·Ð½Ð¸Ñ‰Ð¸Ñ‚Ð¸: %s лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
+
+#: builtins/set.def:826
+#, c-format
+msgid "%s: not an array variable"
+msgstr "%s: не Ñ” маÑивом"
+
+#: builtins/setattr.def:186
+#, c-format
+msgid "%s: not a function"
+msgstr "%s: не є функцією"
+
+#: builtins/shift.def:71 builtins/shift.def:77
+msgid "shift count"
+msgstr "кількіÑÑ‚ÑŒ зÑувів"
+
+#: builtins/shopt.def:264
+msgid "cannot set and unset shell options simultaneously"
+msgstr "не можна одночаÑно вÑтановлювати й ÑкаÑовувати параметри оболонки"
+
+#: builtins/shopt.def:329
+#, c-format
+msgid "%s: invalid shell option name"
+msgstr "%s: неправильне Ñ–Ð¼â€™Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ оболонки"
+
+#: builtins/source.def:130
+msgid "filename argument required"
+msgstr "потрібна назва файлу"
+
+#: builtins/source.def:155
+#, c-format
+msgid "%s: file not found"
+msgstr "%s: файл не знайдено"
+
+#: builtins/suspend.def:101
+msgid "cannot suspend"
+msgstr "не вдаєтьÑÑ Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½Ð¸Ñ‚Ð¸"
+
+#: builtins/suspend.def:111
+msgid "cannot suspend a login shell"
+msgstr "не можна призупинити оболонку ÑеанÑу"
+
+#: builtins/type.def:234
+#, c-format
+msgid "%s is aliased to `%s'\n"
+msgstr "%s Ñ” пÑевдонімом до `%s'\n"
+
+#: builtins/type.def:255
+#, c-format
+msgid "%s is a shell keyword\n"
+msgstr "%s — це ключове Ñлово оболонки\n"
+
+#: builtins/type.def:274
+#, c-format
+msgid "%s is a function\n"
+msgstr "%s є функцією\n"
+
+#: builtins/type.def:296
+#, c-format
+msgid "%s is a shell builtin\n"
+msgstr "%s є вбудованою командою оболонки\n"
+
+#: builtins/type.def:317 builtins/type.def:391
+#, c-format
+msgid "%s is %s\n"
+msgstr "%s — це %s\n"
+
+# I know the difference between hash and cache, but here,
+# I think, this is more suitable...
+#: builtins/type.def:337
+#, c-format
+msgid "%s is hashed (%s)\n"
+msgstr "%s знаходитьÑÑ Ð² кеші (%s)\n"
+
+#: builtins/ulimit.def:376
+#, c-format
+msgid "%s: invalid limit argument"
+msgstr "%s: невірний аргумент обмеженнÑ"
+
+#: builtins/ulimit.def:402
+#, c-format
+msgid "`%c': bad command"
+msgstr "`%c': неправильна команда"
+
+#: builtins/ulimit.def:431
+#, c-format
+msgid "%s: cannot get limit: %s"
+msgstr "%s: не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ: %s"
+
+#: builtins/ulimit.def:457
+msgid "limit"
+msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ"
+
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#, c-format
+msgid "%s: cannot modify limit: %s"
+msgstr "%s: не вдаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ обмеженнÑ: %s"
+
+#: builtins/umask.def:118
+msgid "octal number"
+msgstr "віÑімкове чиÑло"
+
+#: builtins/umask.def:231
+#, c-format
+msgid "`%c': invalid symbolic mode operator"
+msgstr "`%c': невірний оператор у Ñимвольному режимі"
+
+#: builtins/umask.def:286
+#, c-format
+msgid "`%c': invalid symbolic mode character"
+msgstr "`%c': невірний Ñимвол у Ñимвольному режимі"
+
+#: error.c:90 error.c:321 error.c:323 error.c:325
+msgid " line "
+msgstr " Ñ€Ñдок "
+
+#: error.c:165
+#, c-format
+msgid "last command: %s\n"
+msgstr "оÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°: %s\n"
+
+#: error.c:173
+#, c-format
+msgid "Aborting..."
+msgstr "ПрипиненнÑ..."
+
+#: error.c:406
+msgid "unknown command error"
+msgstr "невідома помилка команди"
+
+#: error.c:407
+msgid "bad command type"
+msgstr "неправильний тип команди"
+
+#: error.c:408
+msgid "bad connector"
+msgstr "неправильний з’єднувальний оператор"
+
+#: error.c:409
+msgid "bad jump"
+msgstr "неправильний перехід"
+
+#: error.c:447
+#, c-format
+msgid "%s: unbound variable"
+msgstr "%s: неозначена змінна"
+
+#: eval.c:181
+#, c-format
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\aÑ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ вичерпано: автоматичний вихід\n"
+
+#: execute_cmd.c:504
+#, c-format
+msgid "cannot redirect standard input from /dev/null: %s"
+msgstr "не вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑпрÑмувати /dev/null на Ñтандартний ввід: %s"
+
+#: execute_cmd.c:1168
+#, c-format
+msgid "TIMEFORMAT: `%c': invalid format character"
+msgstr "TIMEFORMAT: `%c': невірний Ñимвол шаблону"
+
+#: execute_cmd.c:2121
+msgid "pipe error"
+msgstr "помилка каналу"
+
+#: execute_cmd.c:4640
+#, c-format
+msgid "%s: restricted: cannot specify `/' in command names"
+msgstr "%s: обмеженнÑ: не можна вказувати `/' у імені команди"
+
+#: execute_cmd.c:4735
+#, c-format
+msgid "%s: command not found"
+msgstr "%s: команду не знайдено"
+
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s — це %s\n"
+
+#: execute_cmd.c:4995
+#, c-format
+msgid "%s: %s: bad interpreter"
+msgstr "%s: %s: неправильний інтерпретатор"
+
+#: execute_cmd.c:5144
+#, c-format
+msgid "cannot duplicate fd %d to fd %d"
+msgstr "не вдаєтьÑÑ Ñтворити копію файлового деÑкриптору %d у %d"
+
+#: expr.c:256
+msgid "expression recursion level exceeded"
+msgstr "рівень Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ð°Ð·Ñ–Ð² перевищено"
+
+#: expr.c:280
+msgid "recursion stack underflow"
+msgstr "неÑтача Ñтеку рекурÑÑ–Ñ—"
+
+#: expr.c:422
+msgid "syntax error in expression"
+msgstr "ÑинтакÑична помилка у виразі"
+
+#: expr.c:463
+msgid "attempted assignment to non-variable"
+msgstr "Ñпроба Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ-змінної"
+
+#: expr.c:486 expr.c:491 expr.c:807
+msgid "division by 0"
+msgstr "Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° 0"
+
+#: expr.c:517
+msgid "bug: bad expassign token"
+msgstr "вада: неправильна лекÑема у виразі"
+
+#: expr.c:564
+msgid "`:' expected for conditional expression"
+msgstr "очікувалаÑÑ `:' умовного виразу"
+
+#: expr.c:832
+msgid "exponent less than 0"
+msgstr "екÑпонента менша за 0"
+
+#: expr.c:887
+msgid "identifier expected after pre-increment or pre-decrement"
+msgstr "пре-інкремент чи пре-декремент потребують ідентифікатор"
+
+#: expr.c:910
+msgid "missing `)'"
+msgstr "відÑÑƒÑ‚Ð½Ñ `)'"
+
+#: expr.c:959 expr.c:1282
+msgid "syntax error: operand expected"
+msgstr "ÑинтакÑична помилка: очікувавÑÑ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´"
+
+#: expr.c:1284
+msgid "syntax error: invalid arithmetic operator"
+msgstr "ÑинтакÑична помилка: невірний арифметичний оператор"
+
+#: expr.c:1308
+#, c-format
+msgid "%s%s%s: %s (error token is \"%s\")"
+msgstr "%s%s%s: %s (позначка помилки \"%s\")"
+
+#: expr.c:1366
+msgid "invalid arithmetic base"
+msgstr "невірна арифметична оÑнова"
+
+#: expr.c:1386
+msgid "value too great for base"
+msgstr "завелике Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ñнови"
+
+#: expr.c:1435
+#, c-format
+msgid "%s: expression error\n"
+msgstr "%s: помилка у виразі\n"
+
+#: general.c:61
+msgid "getcwd: cannot access parent directories"
+msgstr "getcwd: не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до директорій вищого рівнÑ"
+
+#: input.c:94 subst.c:5082
+#, c-format
+msgid "cannot reset nodelay mode for fd %d"
+msgstr "не вдаєтьÑÑ Ð¿ÐµÑ€ÐµÐ²Ñтановити режим без затримки файлового деÑкриптору %d"
+
+#: input.c:260
+#, c-format
+msgid "cannot allocate new file descriptor for bash input from fd %d"
+msgstr ""
+"не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ новий файловий деÑкриптор Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ bash з файлового "
+"деÑкриптору %d"
+
+#: input.c:268
+#, c-format
+msgid "save_bash_input: buffer already exists for new fd %d"
+msgstr "save_bash_input: Ð´Ð»Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файлового деÑкриптору %d вже Ñ–Ñнує буфер"
+
+#: jobs.c:468
+msgid "start_pipeline: pgrp pipe"
+msgstr "start_pipeline: pgrp pipe"
+
+#: jobs.c:889
+#, c-format
+msgid "forked pid %d appears in running job %d"
+msgstr ""
+"ідентифікатор відгалуженого процеÑу %d знайдено у працюючому завданні %d"
+
+#: jobs.c:1007
+#, c-format
+msgid "deleting stopped job %d with process group %ld"
+msgstr "Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð¾Ð³Ð¾ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ %d, що має групу процеÑів %ld"
+
+#: jobs.c:1112
+#, fuzzy, c-format
+msgid "add_process: process %5ld (%s) in the_pipeline"
+msgstr "add_process: Ð¿Ñ€Ð¾Ñ†ÐµÑ %5ld (%s) у the_pipeline"
+
+#: jobs.c:1115
+#, c-format
+msgid "add_process: pid %5ld (%s) marked as still alive"
+msgstr ""
+"add_process: ідентифікатор процеÑу %5ld (%s) вважаєтьÑÑ Ð²Ñе ще працюючим"
+
+#: jobs.c:1430
+#, c-format
+msgid "describe_pid: %ld: no such pid"
+msgstr "describe_pid: %ld: ідентифікатор процеÑу не Ñ–Ñнує"
+
+#: jobs.c:1445
+#, c-format
+msgid "Signal %d"
+msgstr "Сигнал %d"
+
+#: jobs.c:1459 jobs.c:1484
+msgid "Done"
+msgstr "Завершено"
+
+#: jobs.c:1464 siglist.c:123
+msgid "Stopped"
+msgstr "Зупинено"
+
+#: jobs.c:1468
+#, c-format
+msgid "Stopped(%s)"
+msgstr "Зупинено(%s)"
+
+#: jobs.c:1472
+msgid "Running"
+msgstr "Працює"
+
+#: jobs.c:1486
+#, c-format
+msgid "Done(%d)"
+msgstr "Зроблено(%d)"
+
+#: jobs.c:1488
+#, c-format
+msgid "Exit %d"
+msgstr "Вихід %d"
+
+#: jobs.c:1491
+msgid "Unknown status"
+msgstr "Ðевідомий Ñтан"
+
+#: jobs.c:1578
+#, c-format
+msgid "(core dumped) "
+msgstr "(збережено знімок оперативної пам’ÑÑ‚Ñ–)"
+
+#: jobs.c:1597
+#, c-format
+msgid " (wd: %s)"
+msgstr " (РД: %s)"
+
+#: jobs.c:1805
+#, c-format
+msgid "child setpgid (%ld to %ld)"
+msgstr "зміна групи дочірнього процеÑу (%ld на %ld)"
+
+#: jobs.c:2133 nojobs.c:585
+#, c-format
+msgid "wait: pid %ld is not a child of this shell"
+msgstr "wait: Ð¿Ñ€Ð¾Ñ†ÐµÑ %ld не Ñ” відгалуженим від цієї оболонки"
+
+#: jobs.c:2360
+#, c-format
+msgid "wait_for: No record of process %ld"
+msgstr "wait_for: Ðема запиÑу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу %ld"
+
+#: jobs.c:2637
+#, c-format
+msgid "wait_for_job: job %d is stopped"
+msgstr "wait_for_job: Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ %d зупинене"
+
+#: jobs.c:2859
+#, c-format
+msgid "%s: job has terminated"
+msgstr "%s: Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð¾ÑÑ"
+
+#: jobs.c:2868
+#, c-format
+msgid "%s: job %d already in background"
+msgstr "%s: Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ %d вже працює в фоні"
+
+#: jobs.c:3089
+msgid "waitchld: turning on WNOHANG to avoid indefinite block"
+msgstr ""
+
+#: jobs.c:3538
+#, c-format
+msgid "%s: line %d: "
+msgstr "%s: Ñ€Ñдок %d: "
+
+#: jobs.c:3552 nojobs.c:814
+#, c-format
+msgid " (core dumped)"
+msgstr " (збережено знімок оперативної пам’ÑÑ‚Ñ–)"
+
+#: jobs.c:3564 jobs.c:3577
+#, c-format
+msgid "(wd now: %s)\n"
+msgstr "(тепер РД: %s)\n"
+
+#: jobs.c:3609
+msgid "initialize_job_control: getpgrp failed"
+msgstr "initialize_job_control: помилка getpgrp"
+
+#: jobs.c:3669
+#, fuzzy
+msgid "initialize_job_control: line discipline"
+msgstr "initialize_job_control: line discipline"
+
+#: jobs.c:3679
+msgid "initialize_job_control: setpgid"
+msgstr "initialize_job_control: setpgid"
+
+#: jobs.c:3707
+#, c-format
+msgid "cannot set terminal process group (%d)"
+msgstr "не вдаєтьÑÑ Ð²Ñтановити групу процеÑу Ð´Ð»Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ð°Ð»Ñƒ (%d)"
+
+#: jobs.c:3712
+msgid "no job control in this shell"
+msgstr "Ñ†Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ° не може керувати завданнÑми"
+
+#: lib/malloc/malloc.c:296
+#, c-format
+msgid "malloc: failed assertion: %s\n"
+msgstr "malloc: умова не виконуєтьÑÑ: %s\n"
+
+#: lib/malloc/malloc.c:312
+#, c-format
+msgid ""
+"\r\n"
+"malloc: %s:%d: assertion botched\r\n"
+msgstr ""
+"\r\n"
+"malloc: %s:%d: потрібна умова не виконуєтьÑÑ\r\n"
+
+#: lib/malloc/malloc.c:313
+msgid "unknown"
+msgstr "невідомий"
+
+#: lib/malloc/malloc.c:797
+msgid "malloc: block on free list clobbered"
+msgstr "malloc: зайнÑтий блок у ÑпиÑку вільних"
+
+#: lib/malloc/malloc.c:874
+msgid "free: called with already freed block argument"
+msgstr "free: аргумент є вже звільненим блоком"
+
+#: lib/malloc/malloc.c:877
+msgid "free: called with unallocated block argument"
+msgstr "free: блок ще не виділено"
+
+#: lib/malloc/malloc.c:896
+msgid "free: underflow detected; mh_nbytes out of range"
+msgstr ""
+"free: виÑвлено перехід за нижню границю блоку; mh_nbytes не вкладаєтьÑÑ Ñƒ "
+"рамки"
+
+#: lib/malloc/malloc.c:902
+msgid "free: start and end chunk sizes differ"
+msgstr "free: розмір у запиÑах на початку та в кінці блоку відрізнÑєтьÑÑ"
+
+#: lib/malloc/malloc.c:1001
+msgid "realloc: called with unallocated block argument"
+msgstr "realloc: блок ще не виділено"
+
+#: lib/malloc/malloc.c:1016
+msgid "realloc: underflow detected; mh_nbytes out of range"
+msgstr ""
+"realloc: виÑвлено перехід за нижню границю блоку; mh_nbytes не вкладаєтьÑÑ Ñƒ "
+"рамки"
+
+#: lib/malloc/malloc.c:1022
+msgid "realloc: start and end chunk sizes differ"
+msgstr "realloc: розмір у запиÑах на початку та в кінці блоку відрізнÑєтьÑÑ"
+
+#: lib/malloc/table.c:177
+#, fuzzy, c-format
+msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
+msgstr "register_alloc: Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð° FIND_ALLOC?\n"
+
+#: lib/malloc/table.c:184
+#, c-format
+msgid "register_alloc: %p already in table as allocated?\n"
+msgstr "register_alloc: %p вже позначений Ñк виділений у таблиці?\n"
+
+#: lib/malloc/table.c:220
+#, c-format
+msgid "register_free: %p already in table as free?\n"
+msgstr "register_free: %p вже позначений Ñк вільний у таблиці?\n"
+
+#: lib/sh/fmtulong.c:101
+msgid "invalid base"
+msgstr "неправильна оÑнова"
+
+#: lib/sh/netopen.c:168
+#, c-format
+msgid "%s: host unknown"
+msgstr "%s: невідомий хоÑÑ‚"
+
+#: lib/sh/netopen.c:175
+#, c-format
+msgid "%s: invalid service"
+msgstr "%s: неправильна Ñлужба"
+
+#: lib/sh/netopen.c:306
+#, c-format
+msgid "%s: bad network path specification"
+msgstr "%s: неправильно вказаний мережевий шлÑÑ…"
+
+#: lib/sh/netopen.c:346
+msgid "network operations not supported"
+msgstr "мережеві операції не підтримуютьÑÑ"
+
+#: locale.c:192
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s)"
+msgstr ""
+
+#: locale.c:194
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
+msgstr ""
+
+#: locale.c:247
+#, fuzzy, c-format
+msgid "setlocale: %s: cannot change locale (%s)"
+msgstr "xrealloc: %s:%d: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів"
+
+#: locale.c:249
+#, fuzzy, c-format
+msgid "setlocale: %s: cannot change locale (%s): %s"
+msgstr "xrealloc: %s:%d: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів"
+
+#: mailcheck.c:433
+msgid "You have mail in $_"
+msgstr "ПриÑÑƒÑ‚Ð½Ñ Ð¿Ð¾ÑˆÑ‚Ð° у $_"
+
+#: mailcheck.c:458
+msgid "You have new mail in $_"
+msgstr "Ðова пошта у $_"
+
+#: mailcheck.c:474
+#, c-format
+msgid "The mail in %s has been read\n"
+msgstr "Пошту у %s прочитано\n"
+
+#: make_cmd.c:323
+msgid "syntax error: arithmetic expression required"
+msgstr "ÑинтакÑична помилка: потрібен арифметичний вираз"
+
+#: make_cmd.c:325
+msgid "syntax error: `;' unexpected"
+msgstr "ÑинтакÑична помилка: неочікувана `;'"
+
+#: make_cmd.c:326
+#, c-format
+msgid "syntax error: `((%s))'"
+msgstr "ÑинтакÑична помилка: `((%s))'"
+
+#: make_cmd.c:575
+#, c-format
+msgid "make_here_document: bad instruction type %d"
+msgstr "make_here_document: неправильний тип інÑтрукції %d"
+
+#: make_cmd.c:659
+#, fuzzy, c-format
+msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
+msgstr "here-document з Ñ€Ñдка %d закінчено кінцем файлу (очікувалоÑÑ `%s')"
+
+#: make_cmd.c:756
+#, c-format
+msgid "make_redirection: redirection instruction `%d' out of range"
+msgstr "make_redirection: інÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ð¿ÐµÑ€ÐµÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ `%d' поза межами"
+
+#: parse.y:3173 parse.y:3444
+#, c-format
+msgid "unexpected EOF while looking for matching `%c'"
+msgstr "файл ÑкінчивÑÑ Ñ€Ð°Ð½Ñ–ÑˆÐµ, ніж було знайдено відповідний `%c'"
+
+#: parse.y:4025
+msgid "unexpected EOF while looking for `]]'"
+msgstr "файл ÑкінчивÑÑ Ñ€Ð°Ð½Ñ–ÑˆÐµ, ніж було знайдено `]]'"
+
+#: parse.y:4030
+#, c-format
+msgid "syntax error in conditional expression: unexpected token `%s'"
+msgstr "ÑинтакÑична помилка в умовному виразі: неочікувана лекÑема `%s'"
+
+#: parse.y:4034
+msgid "syntax error in conditional expression"
+msgstr "ÑинтакÑична помилка в умовному виразі"
+
+#: parse.y:4112
+#, c-format
+msgid "unexpected token `%s', expected `)'"
+msgstr "неочікувана лекÑема `%s', очікувалаÑÑ `)'"
+
+#: parse.y:4116
+msgid "expected `)'"
+msgstr "очікувалаÑÑ `)'"
+
+#: parse.y:4144
+#, c-format
+msgid "unexpected argument `%s' to conditional unary operator"
+msgstr "неочікуваний аргумент унарного умовного оператору `%s'"
+
+#: parse.y:4148
+msgid "unexpected argument to conditional unary operator"
+msgstr "неочікуваний аргумент унарного умовного оператору"
+
+#: parse.y:4194
+#, c-format
+msgid "unexpected token `%s', conditional binary operator expected"
+msgstr "неочікувана лекÑема `%s', очікувавÑÑ Ð±Ñ–Ð½Ð°Ñ€Ð½Ð¸Ð¹ умовний оператор"
+
+#: parse.y:4198
+msgid "conditional binary operator expected"
+msgstr "очікувавÑÑ Ð±Ñ–Ð½Ð°Ñ€Ð½Ð¸Ð¹ умовний оператор"
+
+#: parse.y:4220
+#, c-format
+msgid "unexpected argument `%s' to conditional binary operator"
+msgstr "неочікуваний аргумент бінарного умовного оператора `%s'"
+
+#: parse.y:4224
+msgid "unexpected argument to conditional binary operator"
+msgstr "неочікуваний аргумент бінарного умовного оператора"
+
+#: parse.y:4235
+#, c-format
+msgid "unexpected token `%c' in conditional command"
+msgstr "неочікувана лекÑема `%c' в умовній команді"
+
+#: parse.y:4238
+#, c-format
+msgid "unexpected token `%s' in conditional command"
+msgstr "неочікувана лекÑема `%s' в умовній команді"
+
+#: parse.y:4242
+#, c-format
+msgid "unexpected token %d in conditional command"
+msgstr "неочікувана лекÑема %d в умовній команді"
+
+#: parse.y:5566
+#, c-format
+msgid "syntax error near unexpected token `%s'"
+msgstr "ÑинтакÑична помилка коло неочікуваної лекÑеми `%s'"
+
+#: parse.y:5584
+#, c-format
+msgid "syntax error near `%s'"
+msgstr "ÑинтакÑична помилка коло `%s'"
+
+#: parse.y:5594
+msgid "syntax error: unexpected end of file"
+msgstr "ÑинтакÑична помилка: раптово ÑкінчивÑÑ Ñ„Ð°Ð¹Ð»"
+
+#: parse.y:5594
+msgid "syntax error"
+msgstr "ÑинтакÑична помилка"
+
+#: parse.y:5656
+#, c-format
+msgid "Use \"%s\" to leave the shell.\n"
+msgstr "ВикориÑтовуйте \"%s\", щоб вийти з оболонки.\n"
+
+#: parse.y:5818
+msgid "unexpected EOF while looking for matching `)'"
+msgstr "файл ÑкінчивÑÑ, перш ніж було знайдено відповідну `)'"
+
+#: pcomplete.c:1030
+#, c-format
+msgid "completion: function `%s' not found"
+msgstr "завершеннÑ: функцію `%s' не знайдено"
+
+#: pcomplib.c:182
+#, c-format
+msgid "progcomp_insert: %s: NULL COMPSPEC"
+msgstr "progcomp_insert: %s: NULL COMPSPEC"
+
+#: print_cmd.c:296
+#, c-format
+msgid "print_command: bad connector `%d'"
+msgstr "print_command: неправильний з’єднувальний оператор `%d'"
+
+#: print_cmd.c:368
+#, fuzzy, c-format
+msgid "xtrace_set: %d: invalid file descriptor"
+msgstr "%d: неправильний деÑкриптор файлу: %s"
+
+#: print_cmd.c:373
+msgid "xtrace_set: NULL file pointer"
+msgstr ""
+
+#: print_cmd.c:377
+#, c-format
+msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
+msgstr ""
+
+#: print_cmd.c:1478
+#, c-format
+msgid "cprintf: `%c': invalid format character"
+msgstr "cprintf: `%c': неправильний Ñимвол шаблону"
+
+#: redir.c:122
+msgid "file descriptor out of range"
+msgstr "деÑкриптор файлу поза можливими межами"
+
+#: redir.c:178
+#, c-format
+msgid "%s: ambiguous redirect"
+msgstr "%s: неоднозначне переÑпрÑмуваннÑ"
+
+#: redir.c:182
+#, c-format
+msgid "%s: cannot overwrite existing file"
+msgstr "%s: заборонено перезапиÑувати Ñ–Ñнуючі файли"
+
+#: redir.c:187
+#, c-format
+msgid "%s: restricted: cannot redirect output"
+msgstr "%s: обмеженнÑ: переÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ заборонене"
+
+#: redir.c:192
+#, c-format
+msgid "cannot create temp file for here-document: %s"
+msgstr "не вдаєтьÑÑ Ñтворити тимчаÑовий файл Ð´Ð»Ñ here-document: %s"
+
+#: redir.c:196
+#, fuzzy, c-format
+msgid "%s: cannot assign fd to variable"
+msgstr "%s: неможливо означити елемент маÑиву ÑпиÑком"
+
+#: redir.c:548
+msgid "/dev/(tcp|udp)/host/port not supported without networking"
+msgstr "/dev/(tcp|udp)/host/port не підтримуєтьÑÑ"
+
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
+msgid "redirection error: cannot duplicate fd"
+msgstr "помилка переÑпрÑмуваннÑ: не вдаєтьÑÑ Ñтворити копію деÑкриптора файлу"
+
+#: shell.c:333
+msgid "could not find /tmp, please create!"
+msgstr "не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ /tmp, будь лаÑка Ñтворіть його!"
+
+#: shell.c:337
+msgid "/tmp must be a valid directory name"
+msgstr "/tmp має бути назвою дійÑної директорії"
+
+#: shell.c:884
+#, c-format
+msgid "%c%c: invalid option"
+msgstr "%c%c: невірний параметр"
+
+#: shell.c:1652
+msgid "I have no name!"
+msgstr "У мене нема імені!"
+
+#: shell.c:1795
+#, c-format
+msgid "GNU bash, version %s-(%s)\n"
+msgstr "GNU bash, верÑÑ–Ñ %s-(%s)\n"
+
+#: shell.c:1796
+#, c-format
+msgid ""
+"Usage:\t%s [GNU long option] [option] ...\n"
+"\t%s [GNU long option] [option] script-file ...\n"
+msgstr ""
+"ВикориÑтовуйте:\t%s [довгий параметр GNU] [параметр] ...\n"
+"\t%s [довгий параметр GNU] [параметр] файл_Ñценарію ...\n"
+
+#: shell.c:1798
+msgid "GNU long options:\n"
+msgstr "Довгі параметри GNU:\n"
+
+#: shell.c:1802
+msgid "Shell options:\n"
+msgstr "Параметри оболонки:\n"
+
+#: shell.c:1803
+msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
+msgstr "\t-irsD чи -c команда чи -O параметр_shopt\t\t(тільки на початку)\n"
+
+#: shell.c:1818
+#, c-format
+msgid "\t-%s or -o option\n"
+msgstr "\t-%s чи -o параметр\n"
+
+#: shell.c:1824
+#, c-format
+msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
+msgstr ""
+"Введіть `%s -c \"help set\"', щоб отримати більше інформації про параметри "
+"оболонки.\n"
+
+#: shell.c:1825
+#, c-format
+msgid "Type `%s -c help' for more information about shell builtin commands.\n"
+msgstr ""
+"Введіть `%s -c help', щоб отримати більше інформації про вбудовані команди "
+"оболонки.\n"
+
+#: shell.c:1826
+#, c-format
+msgid "Use the `bashbug' command to report bugs.\n"
+msgstr ""
+"Щоб повідомити про помилку в програмі, викориÑтовуйте команду `bashbug'.\n"
+
+#: sig.c:638
+#, c-format
+msgid "sigprocmask: %d: invalid operation"
+msgstr "sigprocmask: %d: невірна операціÑ"
+
+#: siglist.c:48
+msgid "Bogus signal"
+msgstr "ÐеіÑнуючий Ñигнал"
+
+#: siglist.c:51
+msgid "Hangup"
+msgstr "ЗавиÑаннÑ"
+
+#: siglist.c:55
+msgid "Interrupt"
+msgstr "ПерериваннÑ"
+
+#: siglist.c:59
+msgid "Quit"
+msgstr "Вихід"
+
+#: siglist.c:63
+msgid "Illegal instruction"
+msgstr "Ðевірна інÑтрукціÑ"
+
+#: siglist.c:67
+msgid "BPT trace/trap"
+msgstr "ВідлагодженнÑ"
+
+#: siglist.c:75
+msgid "ABORT instruction"
+msgstr "ІнÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ ABORT"
+
+#: siglist.c:79
+msgid "EMT instruction"
+msgstr "ІнÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ EMT"
+
+#: siglist.c:83
+msgid "Floating point exception"
+msgstr "Помилка обчиÑлень з рухомою комою"
+
+#: siglist.c:87
+msgid "Killed"
+msgstr "Вбитий"
+
+#: siglist.c:91
+msgid "Bus error"
+msgstr "Помилка шини"
+
+#: siglist.c:95
+msgid "Segmentation fault"
+msgstr "Помилка адреÑуваннÑ"
+
+#: siglist.c:99
+msgid "Bad system call"
+msgstr "Ðевірний ÑиÑтемний виклик"
+
+#: siglist.c:103
+msgid "Broken pipe"
+msgstr "Зламаний канал"
+
+#: siglist.c:107
+msgid "Alarm clock"
+msgstr "Таймер"
+
+#: siglist.c:111
+msgid "Terminated"
+msgstr "Припинено"
+
+#: siglist.c:115
+msgid "Urgent IO condition"
+msgstr "Ðевідкладні події Ð’/Ð’"
+
+#: siglist.c:119
+msgid "Stopped (signal)"
+msgstr "Зупинено (Ñигнал)"
+
+#: siglist.c:127
+msgid "Continue"
+msgstr "ПродовженнÑ"
+
+#: siglist.c:135
+msgid "Child death or stop"
+msgstr "Зупинка чи Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу"
+
+#: siglist.c:139
+msgid "Stopped (tty input)"
+msgstr "Зупинено (ввід з терміналу)"
+
+#: siglist.c:143
+msgid "Stopped (tty output)"
+msgstr "Зупинено (вивід на термінал)"
+
+#: siglist.c:147
+msgid "I/O ready"
+msgstr "В/В готовий"
+
+#: siglist.c:151
+msgid "CPU limit"
+msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу CPU"
+
+#: siglist.c:155
+msgid "File limit"
+msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ файлу"
+
+#: siglist.c:159
+msgid "Alarm (virtual)"
+msgstr "Таймер (віртуальний)"
+
+#: siglist.c:163
+msgid "Alarm (profile)"
+msgstr "Таймер (профілюваннÑ)"
+
+#: siglist.c:167
+msgid "Window changed"
+msgstr "Зміна вікна"
+
+#: siglist.c:171
+msgid "Record lock"
+msgstr "Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ‚Ñ€Ð°Ñ‡ÐµÐ½Ð¾"
+
+#: siglist.c:175
+msgid "User signal 1"
+msgstr "Сигнал кориÑтувача 1"
+
+#: siglist.c:179
+msgid "User signal 2"
+msgstr "Сигнал кориÑтувача 2"
+
+#: siglist.c:183
+msgid "HFT input data pending"
+msgstr "Вхідні дані HFT очікують"
+
+#: siglist.c:187
+msgid "power failure imminent"
+msgstr "наближаєтьÑÑ Ð²Ñ‚Ñ€Ð°Ñ‚Ð° живленнÑ"
+
+#: siglist.c:191
+msgid "system crash imminent"
+msgstr "наближаєтьÑÑ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð° ÑитуаціÑ"
+
+#: siglist.c:195
+msgid "migrate process to another CPU"
+msgstr "перенеÑÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу на інший CPU"
+
+#: siglist.c:199
+msgid "programming error"
+msgstr "помилка програмуваннÑ"
+
+#: siglist.c:203
+msgid "HFT monitor mode granted"
+msgstr "Режим монітору HFT надано"
+
+#: siglist.c:207
+msgid "HFT monitor mode retracted"
+msgstr "Режим монітору HFT відкликано"
+
+#: siglist.c:211
+msgid "HFT sound sequence has completed"
+msgstr "Завершено звукову поÑлідовніÑÑ‚ÑŒ HFT"
+
+#: siglist.c:215
+msgid "Information request"
+msgstr "Інформаційний запит"
+
+#: siglist.c:223
+msgid "Unknown Signal #"
+msgstr "Ðевідомий Ñигнал â„–"
+
+#: siglist.c:225
+#, c-format
+msgid "Unknown Signal #%d"
+msgstr "Ðевідомий Ñигнал â„–%d"
+
+#: subst.c:1333 subst.c:1502
+#, c-format
+msgid "bad substitution: no closing `%s' in %s"
+msgstr "неправильна заміна: немає заключної `%s' у %s"
+
+#: subst.c:2795
+#, c-format
+msgid "%s: cannot assign list to array member"
+msgstr "%s: неможливо означити елемент маÑиву ÑпиÑком"
+
+#: subst.c:4979 subst.c:4995
+msgid "cannot make pipe for process substitution"
+msgstr "не вдаєтьÑÑ Ñтворити канал Ð´Ð»Ñ Ð¿Ñ–Ð´ÑтавлÑÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу"
+
+#: subst.c:5027
+msgid "cannot make child for process substitution"
+msgstr "не вдаєтьÑÑ Ñтворити дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð»Ñ Ð¿Ñ–Ð´ÑтавлÑÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу"
+
+#: subst.c:5072
+#, c-format
+msgid "cannot open named pipe %s for reading"
+msgstr "не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ іменований канал %s Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
+
+#: subst.c:5074
+#, c-format
+msgid "cannot open named pipe %s for writing"
+msgstr "не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ іменований канал %s Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу"
+
+#: subst.c:5092
+#, c-format
+msgid "cannot duplicate named pipe %s as fd %d"
+msgstr ""
+
+#: subst.c:5284
+msgid "cannot make pipe for command substitution"
+msgstr "не вдаєтьÑÑ Ñтворити канал Ð´Ð»Ñ Ð¿Ñ–Ð´ÑтавлÑÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
+
+#: subst.c:5322
+msgid "cannot make child for command substitution"
+msgstr "не вдаєтьÑÑ Ñтворити дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð´Ð»Ñ Ð¿Ñ–Ð´ÑтавлÑÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸"
+
+#: subst.c:5339
+msgid "command_substitute: cannot duplicate pipe as fd 1"
+msgstr ""
+"command_substitute: не вдаєтьÑÑ Ñтворити копію каналу із файловим "
+"деÑкриптором 1"
+
+#: subst.c:5859
+#, c-format
+msgid "%s: parameter null or not set"
+msgstr "%s: параметр нульової довжини чи не вказаний"
+
+#: subst.c:6125 subst.c:6140
+#, c-format
+msgid "%s: substring expression < 0"
+msgstr "%s: підрÑдок коротший за 0"
+
+#: subst.c:7271
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: неправильна заміна"
+
+#: subst.c:7347
+#, c-format
+msgid "$%s: cannot assign in this way"
+msgstr "$%s: не можна призначити таким чином"
+
+#: subst.c:7684
+msgid ""
+"future versions of the shell will force evaluation as an arithmetic "
+"substitution"
+msgstr ""
+
+#: subst.c:8149
+#, c-format
+msgid "bad substitution: no closing \"`\" in %s"
+msgstr "неправильна заміна: немає заключної \"`\" у %s"
+
+#: subst.c:9036
+#, c-format
+msgid "no match: %s"
+msgstr "нема відповідника: %s"
+
+#: test.c:146
+msgid "argument expected"
+msgstr "очікувавÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚"
+
+#: test.c:155
+#, c-format
+msgid "%s: integer expression expected"
+msgstr "%s: очікувавÑÑ Ñ‡Ð¸Ñловий вираз"
+
+#: test.c:263
+msgid "`)' expected"
+msgstr "очікувалаÑÑ `)'"
+
+#: test.c:265
+#, c-format
+msgid "`)' expected, found %s"
+msgstr "очікувалаÑÑ `)', отримано %s"
+
+#: test.c:280 test.c:698 test.c:701
+#, c-format
+msgid "%s: unary operator expected"
+msgstr "%s: очікувавÑÑ ÑƒÐ½Ð°Ñ€Ð½Ð¸Ð¹ оператор"
+
+#: test.c:449 test.c:741
+#, c-format
+msgid "%s: binary operator expected"
+msgstr "%s: очікувавÑÑ Ð±Ñ–Ð½Ð°Ñ€Ð½Ð¸Ð¹ оператор"
+
+#: test.c:816
+msgid "missing `]'"
+msgstr "відÑÑƒÑ‚Ð½Ñ `]'"
+
+#: trap.c:207
+msgid "invalid signal number"
+msgstr "неправильний номер Ñигналу"
+
+#: trap.c:337
+#, c-format
+msgid "run_pending_traps: bad value in trap_list[%d]: %p"
+msgstr "run_pending_traps: неправильне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ trap_list[%d]: %p"
+
+#: trap.c:341
+#, c-format
+msgid ""
+"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr ""
+"run_pending_traps: обробник Ñигналу Ñ” SIG_DFL, %d (%s) повторно надÑилаєтьÑÑ "
+"Ñобі"
+
+#: trap.c:393
+#, c-format
+msgid "trap_handler: bad signal %d"
+msgstr "trap_handler: неправильний Ñигнал %d"
+
+#: variables.c:363
+#, c-format
+msgid "error importing function definition for `%s'"
+msgstr "помилка Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— `%s'"
+
+#: variables.c:755
+#, c-format
+msgid "shell level (%d) too high, resetting to 1"
+msgstr "рівень оболонки (%d) занадто виÑокий, перевÑтановлено у 1"
+
+#: variables.c:1932
+#, fuzzy
+msgid "make_local_variable: no function context at current scope"
+msgstr ""
+"make_local_variable: немає контекÑту функції у поточному оточенні виконаннÑ"
+
+#: variables.c:3182
+#, fuzzy
+msgid "all_local_variables: no function context at current scope"
+msgstr ""
+"all_local_variables: немає контекÑту функції у поточному оточенні виконаннÑ"
+
+#: variables.c:3427
+#, fuzzy, c-format
+msgid "%s has null exportstr"
+msgstr "%s: параметр нульової довжини чи не вказаний"
+
+#: variables.c:3432 variables.c:3441
+#, c-format
+msgid "invalid character %d in exportstr for %s"
+msgstr "невірний Ñимвол %d у Ñ€Ñдку екÑпорту Ð´Ð»Ñ %s"
+
+#: variables.c:3447
+#, c-format
+msgid "no `=' in exportstr for %s"
+msgstr "немає `=' у Ñ€Ñдку екÑпорту Ð´Ð»Ñ %s"
+
+#: variables.c:3891
+msgid "pop_var_context: head of shell_variables not a function context"
+msgstr ""
+"pop_var_context: перший елемент shell_variables не Ñ” контекÑтом функції"
+
+#: variables.c:3904
+msgid "pop_var_context: no global_variables context"
+msgstr "pop_var_context: немає контекÑту global_variables"
+
+#: variables.c:3978
+msgid "pop_scope: head of shell_variables not a temporary environment scope"
+msgstr ""
+"pop_scope: перший елемент shell_variables не Ñ” тимчаÑовим оточеннÑм виконаннÑ"
+
+#: variables.c:4786
+#, fuzzy, c-format
+msgid "%s: %s: cannot open as FILE"
+msgstr "%s: не вдаєтьÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸: %s"
+
+#: variables.c:4791
+#, fuzzy, c-format
+msgid "%s: %s: invalid value for trace file descriptor"
+msgstr "%d: неправильний деÑкриптор файлу: %s"
+
+#: version.c:46
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+
+#: version.c:47
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+msgstr ""
+"Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ GPLv3+: GNU GPL верÑÑ–Ñ 3 чи новіша <http://gnu.org/licenses/gpl."
+"html>\n"
+
+#: version.c:86 version2.c:83
+#, c-format
+msgid "GNU bash, version %s (%s)\n"
+msgstr "GNU bash, верÑÑ–Ñ %s (%s)\n"
+
+#: version.c:91 version2.c:88
+#, c-format
+msgid "This is free software; you are free to change and redistribute it.\n"
+msgstr ""
+"Це вільне програмне забезпеченнÑ; ви можете його змінювати та "
+"розповÑюджувати.\n"
+
+#: version.c:92 version2.c:89
+#, c-format
+msgid "There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr "Ðе надаєтьÑÑ ÐІЯКИХ ГÐРÐÐТІЙ у межах, передбачених законом.\n"
+
+#: version2.c:86
+#, fuzzy, c-format
+msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2009 Free Software Foundation, Inc."
+
+#: version2.c:87
+#, fuzzy, c-format
+msgid ""
+"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+msgstr ""
+"Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ GPLv3+: GNU GPL верÑÑ–Ñ 3 чи новіша <http://gnu.org/licenses/gpl."
+"html>\n"
+
+#: xmalloc.c:91
+#, fuzzy, c-format
+msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr "xmalloc: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів (виділено %lu байтів)"
+
+#: xmalloc.c:93
+#, fuzzy, c-format
+msgid "%s: cannot allocate %lu bytes"
+msgstr "xmalloc: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів"
+
+#: xmalloc.c:163
+#, fuzzy, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr "xmalloc: %s:%d: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів (виділено %lu байтів)"
+
+#: xmalloc.c:165
+#, fuzzy, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes"
+msgstr "xmalloc: %s:%d: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів"
+
+#: builtins.c:43
+msgid "alias [-p] [name[=value] ... ]"
+msgstr "alias [-3] [ім’Ñ[=значеннÑ] ...]"
+
+#: builtins.c:47
+msgid "unalias [-a] name [name ...]"
+msgstr "unalias [-a] Ñ–Ð¼â€™Ñ [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:51
+msgid ""
+"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
+"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr ""
+"bind [-lpvsPVS] [-m keymap] [-f файл] [-q ім’Ñ] [-u ім’Ñ] [-r поÑлідовніÑÑ‚ÑŒ-"
+"клавіш] [-x поÑлідовніÑÑ‚ÑŒ-клавіш:команда-оболонки] [поÑлідовніÑÑ‚ÑŒ-клавіш:"
+"функціÑ-readline чи команда-readline]"
+
+#: builtins.c:54
+msgid "break [n]"
+msgstr "break [n]"
+
+#: builtins.c:56
+msgid "continue [n]"
+msgstr "continue [n]"
+
+#: builtins.c:58
+msgid "builtin [shell-builtin [arg ...]]"
+msgstr "builtin [вбудована-команда [аргумент ...]]"
+
+#: builtins.c:61
+msgid "caller [expr]"
+msgstr "caller [вираз]"
+
+#: builtins.c:64
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|-P] [директоріÑ]"
+
+#: builtins.c:66
+msgid "pwd [-LP]"
+msgstr "pwd [-LP]"
+
+#: builtins.c:68
+msgid ":"
+msgstr ":"
+
+#: builtins.c:70
+msgid "true"
+msgstr "true"
+
+#: builtins.c:72
+msgid "false"
+msgstr "false"
+
+#: builtins.c:74
+msgid "command [-pVv] command [arg ...]"
+msgstr "command [-pVv] команда [аргумент ...]"
+
+#: builtins.c:76
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFilrtux] [-p] [ім’Ñ[=значеннÑ] ...]"
+
+#: builtins.c:78
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFilrtux] [-p] ім’Ñ[=значеннÑ] ..."
+
+#: builtins.c:80
+msgid "local [option] name[=value] ..."
+msgstr "local [параметр] ім’Ñ[=значеннÑ] ..."
+
+#: builtins.c:83
+msgid "echo [-neE] [arg ...]"
+msgstr "echo [-neE] [аргумент ...]"
+
+#: builtins.c:87
+msgid "echo [-n] [arg ...]"
+msgstr "echo [-n] [аргумент ...]"
+
+#: builtins.c:90
+msgid "enable [-a] [-dnps] [-f filename] [name ...]"
+msgstr "enable [-a] [-dnps] [-f файл] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:92
+msgid "eval [arg ...]"
+msgstr "eval [аргумент ...]"
+
+#: builtins.c:94
+msgid "getopts optstring name [arg]"
+msgstr "getopts Ñ€Ñдок-параметрів Ñ–Ð¼â€™Ñ [аргумент]"
+
+#: builtins.c:96
+msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
+msgstr "exec [-cl] [-a ім’Ñ] [команда [аргументи ...]] [переÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ ...]"
+
+#: builtins.c:98
+msgid "exit [n]"
+msgstr "exit [n]"
+
+#: builtins.c:100
+msgid "logout [n]"
+msgstr "logout [n]"
+
+#: builtins.c:103
+msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
+msgstr ""
+"fc [-e редактор] [-lnr] [перший] [оÑтанній] чи fc -s [шаблон=заміна] "
+"[команда]"
+
+#: builtins.c:107
+msgid "fg [job_spec]"
+msgstr "fg [завданнÑ]"
+
+#: builtins.c:111
+msgid "bg [job_spec ...]"
+msgstr "bg [Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ ...]"
+
+#: builtins.c:114
+msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
+msgstr "hash [-lr] [-p шлÑÑ…] [-dt] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:117
+#, fuzzy
+msgid "help [-dms] [pattern ...]"
+msgstr "help [-ds] [шаблон ...]"
+
+#: builtins.c:121
+msgid ""
+"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
+"[arg...]"
+msgstr ""
+"history [-c] [-d позиціÑ] [n] чи history -anrw [файл] чи history -ps "
+"аргумент [аргумент ...]"
+
+#: builtins.c:125
+msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
+msgstr "jobs [-lnprs] [Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ ...] чи jobs -x команда [аргументи]"
+
+#: builtins.c:129
+msgid "disown [-h] [-ar] [jobspec ...]"
+msgstr "disown [-h] [-ar] [Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ ...]"
+
+#: builtins.c:132
+msgid ""
+"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
+"[sigspec]"
+msgstr ""
+"kill [-s Ñигнал | -n номер-Ñигналу | -Ñигнал] pid | Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ ... чи kill -l "
+"[Ñигнал]"
+
+#: builtins.c:134
+msgid "let arg [arg ...]"
+msgstr "let аргумент [аргумент ...]"
+
+#: builtins.c:136
+#, fuzzy
+msgid ""
+"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
+"prompt] [-t timeout] [-u fd] [name ...]"
+msgstr ""
+"read [-ers] [-a маÑив] [-d роздільник] [-i текÑÑ‚] [-n кількіÑÑ‚ÑŒ-Ñимволів] [-"
+"p запрошеннÑ] [-t ліміт-чаÑу] [-u деÑкриптор-файлу] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:138
+msgid "return [n]"
+msgstr "return [n]"
+
+#: builtins.c:140
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o параметр] [аргумент ...]"
+
+#: builtins.c:142
+msgid "unset [-f] [-v] [name ...]"
+msgstr "unset [-f] [-v] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:144
+msgid "export [-fn] [name[=value] ...] or export -p"
+msgstr "export [-fn] [ім’Ñ[=значеннÑ] ...] чи export -p"
+
+#: builtins.c:146
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonli [-af [ім’Ñ[=значеннÑ] ...] чи readonly -p"
+
+#: builtins.c:148
+msgid "shift [n]"
+msgstr "shift [n]"
+
+#: builtins.c:150
+msgid "source filename [arguments]"
+msgstr "source файл [аргументи]"
+
+#: builtins.c:152
+msgid ". filename [arguments]"
+msgstr ". файл [аргументи]"
+
+#: builtins.c:155
+msgid "suspend [-f]"
+msgstr "suspend [-f]"
+
+#: builtins.c:158
+msgid "test [expr]"
+msgstr "test [вираз]"
+
+#: builtins.c:160
+msgid "[ arg... ]"
+msgstr "[ аргумент... ]"
+
+#: builtins.c:162
+msgid "times"
+msgstr "times"
+
+#: builtins.c:164
+msgid "trap [-lp] [[arg] signal_spec ...]"
+msgstr "trap [-lp] [[аргумент] Ñигнал ...]"
+
+#: builtins.c:166
+msgid "type [-afptP] name [name ...]"
+msgstr "type [-afptP] Ñ–Ð¼â€™Ñ [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:169
+msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [обмеженнÑ]"
+
+#: builtins.c:172
+msgid "umask [-p] [-S] [mode]"
+msgstr "umask [-p] [-S] [режим-доÑтупу]"
+
+#: builtins.c:175
+msgid "wait [id]"
+msgstr "wait [ідентифікатор]"
+
+#: builtins.c:179
+msgid "wait [pid]"
+msgstr "wait [ідентифікатор-процеÑу]"
+
+#: builtins.c:182
+msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
+msgstr "for ІМ’Я [in СЛОВР... ] ; do КОМÐÐДИ; done"
+
+#: builtins.c:184
+msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
+msgstr "for (( вираз1; вираз2; вираз3 )); do КОМÐÐДИ; done"
+
+#: builtins.c:186
+msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
+msgstr "select ІМ’Я [in СЛОВР...;] do КОМÐÐДИ; done"
+
+#: builtins.c:188
+msgid "time [-p] pipeline"
+msgstr "time [-p] канал"
+
+#: builtins.c:190
+msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
+msgstr "case СЛОВО in [ШÐБЛОР[| ШÐБЛОÐ]...) КОМÐÐДИ ;;]... esac"
+
+#: builtins.c:192
+msgid ""
+"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
+"COMMANDS; ] fi"
+msgstr ""
+"if КОМÐÐДИ; then КОМÐÐДИ; [ elif КОМÐÐДИ; then КОМÐÐДИ; ]... [ else "
+"КОМÐÐДИ; ] fi"
+
+#: builtins.c:194
+msgid "while COMMANDS; do COMMANDS; done"
+msgstr "while КОМÐÐДИ; do КОМÐÐДИ; done"
+
+#: builtins.c:196
+msgid "until COMMANDS; do COMMANDS; done"
+msgstr "until КОМÐÐДИ; do КОМÐÐДИ; done"
+
+#: builtins.c:198
+msgid "coproc [NAME] command [redirections]"
+msgstr "coproc [ІМ’Я] команда [переÑпрÑмуваннÑ]"
+
+#: builtins.c:200
+msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
+msgstr "function Ñ–Ð¼â€™Ñ { КОМÐÐДИ ; } чи Ñ–Ð¼â€™Ñ () { КОМÐÐДИ ; }"
+
+#: builtins.c:202
+msgid "{ COMMANDS ; }"
+msgstr "{ КОМÐÐДИ ; }"
+
+#: builtins.c:204
+msgid "job_spec [&]"
+msgstr "Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ [&]"
+
+#: builtins.c:206
+msgid "(( expression ))"
+msgstr "(( вираз ))"
+
+#: builtins.c:208
+msgid "[[ expression ]]"
+msgstr "[[ вираз ]]"
+
+#: builtins.c:210
+msgid "variables - Names and meanings of some shell variables"
+msgstr "variables - Імена та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÑких змінних оболонки"
+
+#: builtins.c:213
+msgid "pushd [-n] [+N | -N | dir]"
+msgstr "pushd [-n] [+N | -N | директоріÑ]"
+
+#: builtins.c:217
+msgid "popd [-n] [+N | -N]"
+msgstr "popd [-n] [+N | -N]"
+
+#: builtins.c:221
+msgid "dirs [-clpv] [+N] [-N]"
+msgstr "dirs [-clpv] [+N] [-N]"
+
+#: builtins.c:224
+msgid "shopt [-pqsu] [-o] [optname ...]"
+msgstr "shopt [-pqsu] [-o] [назва-параметра ...]"
+
+#: builtins.c:226
+msgid "printf [-v var] format [arguments]"
+msgstr "printf [-v змінна] шаблон-Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ [аргументи]"
+
+#: builtins.c:229
+#, fuzzy
+msgid ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
+"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
+"suffix] [name ...]"
+msgstr ""
+"complete [-abcdefgjksuv] [-pr] [-o параметр] [-A діÑ] [-G шаблон-оболонки] [-"
+"W ÑпиÑок-Ñлів] [-F функціÑ] [-C команда] [-X шаблон-фільтруваннÑ] [-P "
+"префікÑ] [-S ÑуфікÑ] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:233
+msgid ""
+"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
+"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr ""
+"compgen [-abcdefgjksuv] [-o параметр] [-A діÑ] [-G шаблон-оболонки] [-W "
+"ÑпиÑок-Ñлів] [-F функціÑ] [-C команда] [-X шаблон-фільтруваннÑ] [-P "
+"префікÑ] [-S ÑуфікÑ] [Ñлово]"
+
+#: builtins.c:237
+#, fuzzy
+msgid "compopt [-o|+o option] [-DE] [name ...]"
+msgstr "compopt [-o|+o параметр] [Ñ–Ð¼â€™Ñ ...]"
+
+#: builtins.c:240
+msgid ""
+"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
+msgstr ""
+"mapfile [-n кількіÑÑ‚ÑŒ] [-O початок-відліку] [-s кількіÑÑ‚ÑŒ] [-t] [-u "
+"деÑкриптор] [-C обробник] [-c крок] [маÑив]"
+
+#: builtins.c:242
+msgid ""
+"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
+msgstr ""
+"readarray [-n кількіÑÑ‚ÑŒ] [-O початок-відліку] [-s кількіÑÑ‚ÑŒ] [-t] [-u "
+"деÑкриптор] [-C обробник] [-c крок] [маÑив]"
+
+#: builtins.c:254
+msgid ""
+"Define or display aliases.\n"
+" \n"
+" Without arguments, `alias' prints the list of aliases in the reusable\n"
+" form `alias NAME=VALUE' on standard output.\n"
+" \n"
+" Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+" A trailing space in VALUE causes the next word to be checked for\n"
+" alias substitution when the alias is expanded.\n"
+" \n"
+" Options:\n"
+" -p\tPrint all defined aliases in a reusable format\n"
+" \n"
+" Exit Status:\n"
+" alias returns true unless a NAME is supplied for which no alias has "
+"been\n"
+" defined."
+msgstr ""
+"Додає чи показує пÑевдоніми Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´.\n"
+" \n"
+" Викликана без аргументів, команда `alias' друкує ÑпиÑок пÑевдонімів у\n"
+" придатній до подальшого Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ñ– `alias ІМ’Я=ЗÐÐЧЕÐÐЯ'.\n"
+" \n"
+" Інакше вона додає пÑевдоніми Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ вказаного ІМЕÐІ, Ð´Ð»Ñ Ñкого "
+"надане\n"
+" ЗÐÐЧЕÐÐЯ. Пробіли в кінці ЗÐÐЧЕÐÐЯ дозволÑÑŽÑ‚ÑŒ увімкнути подальше "
+"розкриттÑ\n"
+" пÑевдонімів уÑередині цього пÑевдоніму під Ñ‡Ð°Ñ Ð¹Ð¾Ð³Ð¾ підÑтавлÑннÑ.\n"
+" \n"
+" Параметри:\n"
+" -p\tÐадрукувати уÑÑ– визначені пÑевдоніми у придатній до Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ "
+"формі.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо було вказане ІМ’Я, Ð´Ð»Ñ Ñкого нема\n"
+" пÑевдоніму."
+
+#: builtins.c:276
+msgid ""
+"Remove each NAME from the list of defined aliases.\n"
+" \n"
+" Options:\n"
+" -a\tremove all alias definitions.\n"
+" \n"
+" Return success unless a NAME is not an existing alias."
+msgstr ""
+"Вилучає уÑÑ– вказані ІМЕÐРзі ÑпиÑку визначених пÑевдонімів.\n"
+" \n"
+" Параметри:\n"
+" -a\tВилучити Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… пÑевдонімів.\n"
+" \n"
+" Код завершеннÑ:\n"
+" ЗавершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо ІМ’Я не Ñ” визначеним пÑевдонімом."
+
+#: builtins.c:289
+msgid ""
+"Set Readline key bindings and variables.\n"
+" \n"
+" Bind a key sequence to a Readline function or a macro, or set a\n"
+" Readline variable. The non-option argument syntax is equivalent to\n"
+" that found in ~/.inputrc, but must be passed as a single argument:\n"
+" e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" Options:\n"
+" -m keymap Use KEYMAP as the keymap for the duration of this\n"
+" command. Acceptable keymap names are emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+" vi-command, and vi-insert.\n"
+" -l List names of functions.\n"
+" -P List function names and bindings.\n"
+" -p List functions and bindings in a form that can be\n"
+" reused as input.\n"
+" -S List key sequences that invoke macros and their "
+"values\n"
+" -s List key sequences that invoke macros and their "
+"values\n"
+" in a form that can be reused as input.\n"
+" -V List variable names and values\n"
+" -v List variable names and values in a form that can\n"
+" be reused as input.\n"
+" -q function-name Query about which keys invoke the named function.\n"
+" -u function-name Unbind all keys which are bound to the named "
+"function.\n"
+" -r keyseq Remove the binding for KEYSEQ.\n"
+" -f filename Read key bindings from FILENAME.\n"
+" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+" \t\t\t\tKEYSEQ is entered.\n"
+" \n"
+" Exit Status:\n"
+" bind returns 0 unless an unrecognized option is given or an error occurs."
+msgstr ""
+"Ð’Ñтановлює Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–Ñˆ та змінні readline.\n"
+" \n"
+" Призначає функції чи макровизначенню readline поÑлідовніÑÑ‚ÑŒ клавіш чи\n"
+" вÑтановлює змінну readline. Ðргумент, що не відноÑÑÑ‚ÑŒÑÑ Ð´Ð¾ параметрів\n"
+" має ÑинтакÑÐ¸Ñ Ñ‚Ð°ÐºÐ¸Ð¹ же Ñк у ~/.inputrc, але мають бути вказані Ñк один\n"
+" аргумент, наприклад, bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" Параметри:\n"
+" -m набір ВикориÑтовувати ÐÐБІР призначень клавіш на чаÑ\n"
+" Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— команди. Ðазви Ñ–Ñнучих наборів: "
+"emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+" vi-command та vi-insert.\n"
+" -l ВивеÑти імена функцій.\n"
+" -P ВивеÑти імена функцій та Ñкі поÑлідовноÑÑ‚Ñ– клавіш "
+"їм\n"
+" призначено.\n"
+" -p ВивеÑти функції та Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ формі, придатній "
+"длÑ\n"
+" подальшого викориÑÑ‚Ð°Ð½Ð½Ñ Ñк ввід.\n"
+" -S ВивеÑти поÑлідовноÑÑ‚Ñ– клавіш, Ñкі запуÑкають\n"
+" макровизначеннÑ.\n"
+" -s ВивеÑти поÑлідовноÑÑ‚Ñ– клавіш, Ñкі запуÑкають\n"
+" Ð¼Ð°ÐºÑ€Ð¾Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ формі, придатній Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾\n"
+" викориÑÑ‚Ð°Ð½Ð½Ñ Ñк ввід.\n"
+" -V ВивеÑти імена та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ….\n"
+" -v ВивеÑти імена та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… у формі, що може\n"
+" бути надалі викориÑтана Ñк ввід.\n"
+" -q Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ ÐŸÐ¾ÐºÐ°Ð·Ð°Ñ‚Ð¸, Ñкі поÑлідовноÑÑ‚Ñ– клавіш запуÑкають цю\n"
+" функцію.\n"
+" -u Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð¡ÐºÐ°Ñувати уÑÑ– призначені цій функції "
+"поÑлідовноÑÑ‚Ñ–.\n"
+" -r поÑлідовніÑÑ‚ÑŒ СкаÑувати Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐŸÐžÐ¡Ð›Ð†Ð”ÐžÐ’ÐОСТІ.\n"
+" -f файл Прочитати Ð¿Ñ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–Ñˆ з ФÐЙЛУ.\n"
+" -x поÑлідовніÑÑ‚ÑŒ:команда-оболонки\tПри вводі ПОСЛІДОВÐОСТІ буде\n"
+" \t\t\t\tзапуÑкатиÑÑ ÐšÐžÐœÐÐДÐ-ОБОЛОÐКИ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказані правильні параметри та не\n"
+" виникло помилки під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:326
+msgid ""
+"Exit for, while, or until loops.\n"
+" \n"
+" Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing\n"
+" loops.\n"
+" \n"
+" Exit Status:\n"
+" The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+"Виходить з циклів for, while чи until.\n"
+" \n"
+" Перериває цикли FOR, WHILE чи UNTIL. Якщо вказано N, перериває\n"
+" N охоплюючих циклів.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо N менше за 1."
+
+#: builtins.c:338
+msgid ""
+"Resume for, while, or until loops.\n"
+" \n"
+" Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+" If N is specified, resumes the Nth enclosing loop.\n"
+" \n"
+" Exit Status:\n"
+" The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+"Переходить до наÑтупної ітерації циклів for, while чи until.\n"
+" \n"
+" Переходить до наÑтупної ітерації циклу for, while чи until.\n"
+" Якщо вказане N, перехід відбуваєтьÑÑ Ñƒ N-ному охоплюючому циклі.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо N менше 1."
+
+#: builtins.c:350
+msgid ""
+"Execute shell builtins.\n"
+" \n"
+" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
+" lookup. This is useful when you wish to reimplement a shell builtin\n"
+" as a shell function, but need to execute the builtin within the "
+"function.\n"
+" \n"
+" Exit Status:\n"
+" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
+" not a shell builtin.."
+msgstr ""
+"Виконує вбудовану команду оболонки.\n"
+" \n"
+" ЗапуÑкає ВБУДОВÐÐУ-КОМÐÐДУ з вказаними ÐРГУМЕÐТÐМИ, пошук команди не\n"
+" робитьÑÑ. Це може Ñтати в нагоді, Ñкщо ви хочете замінити вбудовану\n"
+" команду функцією оболонки, але вам треба запуÑкати вбудовану команду\n"
+" зÑередини цієї функції.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð’Ð‘Ð£Ð”ÐžÐ’ÐÐОЇ-КОМÐÐДИ або помилку, Ñкщо\n"
+" ВБУДОВÐÐÐ-КОМÐÐДРне Ñ” вбудованою командою оболонки."
+
+#: builtins.c:365
+#, fuzzy
+msgid ""
+"Return the context of the current subroutine call.\n"
+" \n"
+" Without EXPR, returns \"$line $filename\". With EXPR, returns\n"
+" \"$line $subroutine $filename\"; this extra information can be used to\n"
+" provide a stack trace.\n"
+" \n"
+" The value of EXPR indicates how many call frames to go back before the\n"
+" current one; the top frame is frame 0.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 unless the shell is not executing a shell function or EXPR\n"
+" is invalid."
+msgstr ""
+"Повертає контекÑÑ‚ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— підпрограми.\n"
+" \n"
+" Якщо ВИРÐЗ не вказано, виводить \"$line $filename\". Інакше виводить\n"
+" \"$line $subroutine $filename\"; цю додаткову інформацію можна\n"
+" викориÑтовувати Ð´Ð»Ñ Ð½Ð°Ð´Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°ÑÑƒÐ²Ð°Ð½Ð½Ñ Ñтеку.\n"
+" \n"
+" Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ визначає на Ñкільки рівнів викликів піднÑтиÑÑ Ð²Ñ–Ð´\n"
+" поточного; поточний рівень є нульовим.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо оболонка зараз не виконує функцію\n"
+" або Ñкщо ВИРÐЗ Ñ” неправильним."
+
+#: builtins.c:383
+#, fuzzy
+msgid ""
+"Change the shell working directory.\n"
+" \n"
+" Change the current directory to DIR. The default DIR is the value of "
+"the\n"
+" HOME shell variable.\n"
+" \n"
+" The variable CDPATH defines the search path for the directory "
+"containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon "
+"(:).\n"
+" A null directory name is the same as the current directory. If DIR "
+"begins\n"
+" with a slash (/), then CDPATH is not used.\n"
+" \n"
+" If the directory is not found, and the shell option `cdable_vars' is "
+"set,\n"
+" the word is assumed to be a variable name. If that variable has a "
+"value,\n"
+" its value is used for DIR.\n"
+" \n"
+" Options:\n"
+" -L\tforce symbolic links to be followed\n"
+" -P\tuse the physical directory structure without following symbolic\n"
+" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
+" \n"
+" The default is to follow symbolic links, as if `-L' were specified.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
+msgstr ""
+"Змінює робочу директорію оболонки.\n"
+" \n"
+" Змінює поточну директорію на ДИРЕКТОРІЮ. Якщо ДИРЕКТОРІЮ не вказано,\n"
+" беретьÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ HOME.\n"
+" \n"
+" Змінна CDPATH визначає набір директорій, в Ñких шукати ДИРЕКТОРІЮ.\n"
+" Директорії у цій змінній розділÑÑŽÑ‚ÑŒÑÑ Ð´Ð²Ð¾ÐºÑ€Ð°Ð¿ÐºÐ¾ÑŽ (:).\n"
+" Порожнє Ñ–Ð¼â€™Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ— означає поточну директорію. Якщо ДИРЕКТОРІЯ\n"
+" починаєтьÑÑ Ð· похилої риÑки (/), CDPATH не викориÑтовуєтьÑÑ.\n"
+" \n"
+" Якщо директорію не буде знайдено, при ввімкненому параметрі оболонки\n"
+" `cdable_vars', ДИРЕКТОРІЯ вважатиметьÑÑ Ñ–Ð¼ÐµÐ½ÐµÐ¼ змінної. Якщо змінна з\n"
+" таким іменем Ñ–Ñнуватиме, Ñ—Ñ— Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ викориÑтане заміÑÑ‚ÑŒ "
+"ДИРЕКТОРІЇ.\n"
+" \n"
+" Параметри:\n"
+" -L\tПереходити за Ñимволічними поÑиланнÑми.\n"
+" -P\tВикориÑтовувати фізичну Ñтруктуру директорій, не переходити за\n"
+" \tÑимволічними поÑиланнÑми.\n"
+" \n"
+" Зазвичай команда переходитиме за Ñимволічними поÑиланнÑми, Ñк ніби був\n"
+" вказаний параметр `-L'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо директорію змінити не вдалоÑÑ."
+
+#: builtins.c:414
+msgid ""
+"Print the name of the current working directory.\n"
+" \n"
+" Options:\n"
+" -L\tprint the value of $PWD if it names the current working\n"
+" \tdirectory\n"
+" -P\tprint the physical directory, without any symbolic links\n"
+" \n"
+" By default, `pwd' behaves as if `-L' were specified.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 unless an invalid option is given or the current directory\n"
+" cannot be read."
+msgstr ""
+"Виводить Ñ–Ð¼â€™Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— робочої директорії.\n"
+" \n"
+" Параметри:\n"
+" -L\tВивеÑти Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ $PWD, Ñкщо вона вказує поточну робочу "
+"директорію.\n"
+" -P\tВивеÑти фізичне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ—, без Ñимволічних "
+"поÑилань.\n"
+" \n"
+" Зазвичай `pwd' працює Ñк ніби вказано `-L'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано неправильний параметр чи\n"
+" не вдаєтьÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ доÑтуп до поточної робочої директорії."
+
+#: builtins.c:431
+msgid ""
+"Null command.\n"
+" \n"
+" No effect; the command does nothing.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"Ðічого не робить.\n"
+" \n"
+" Ðе має жодного ефекту; Ñ†Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° нічого не робить.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завжди уÑпішна."
+
+#: builtins.c:442
+msgid ""
+"Return a successful result.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"ЗавершуєтьÑÑ ÑƒÑпішно.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завжди уÑпішна."
+
+#: builtins.c:451
+msgid ""
+"Return an unsuccessful result.\n"
+" \n"
+" Exit Status:\n"
+" Always fails."
+msgstr ""
+"ЗавершуєтьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ð¾.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завжди завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾."
+
+#: builtins.c:460
+msgid ""
+"Execute a simple command or display information about commands.\n"
+" \n"
+" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
+" information about the specified COMMANDs. Can be used to invoke "
+"commands\n"
+" on disk when a function with the same name exists.\n"
+" \n"
+" Options:\n"
+" -p\tuse a default value for PATH that is guaranteed to find all of\n"
+" \tthe standard utilities\n"
+" -v\tprint a description of COMMAND similar to the `type' builtin\n"
+" -V\tprint a more verbose description of each COMMAND\n"
+" \n"
+" Exit Status:\n"
+" Returns exit status of COMMAND, or failure if COMMAND is not found."
+msgstr ""
+"ЗапуÑкає звичайну команду чи показує інформацію про команди.\n"
+" \n"
+" ЗапуÑкає КОМÐÐДУ з ÐРГУМЕÐТÐМИ, не роблÑчи пошуку Ñеред функцій "
+"оболонки,\n"
+" чи показує інформацію про вказані КОМÐÐДИ. Може викориÑтовуватиÑÑ Ð´Ð»Ñ\n"
+" запуÑку команд з диÑку, коли Ñ–Ñнує Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð· таким же іменем.\n"
+" \n"
+" Параметри:\n"
+" -p\tВикориÑтовувати Ñтандартне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ PATH, Ñке забезпечує\n"
+" \tÐ·Ð½Ð°Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… Ñтандартних утиліт.\n"
+" -v\tВивеÑти Ð¾Ð¿Ð¸Ñ ÐšÐžÐœÐÐД, подібний до виводу вбудованої команди "
+"`type'.\n"
+" -V\tВивеÑти більш багатоÑлівний Ð¾Ð¿Ð¸Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— з КОМÐÐД.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐšÐžÐœÐÐДИ або помилку, Ñкщо КОМÐÐДУ не "
+"буде\n"
+" знайдено."
+
+#: builtins.c:479
+#, fuzzy
+msgid ""
+"Set variable values and attributes.\n"
+" \n"
+" Declare variables and give them attributes. If no NAMEs are given,\n"
+" display the attributes and values of all variables.\n"
+" \n"
+" Options:\n"
+" -f\trestrict action or display to function names and definitions\n"
+" -F\trestrict display to function names only (plus line number and\n"
+" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
+" -p\tdisplay the attributes and value of each NAME\n"
+" \n"
+" Options which set attributes:\n"
+" -a\tto make NAMEs indexed arrays (if supported)\n"
+" -A\tto make NAMEs associative arrays (if supported)\n"
+" -i\tto make NAMEs have the `integer' attribute\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
+" -r\tto make NAMEs readonly\n"
+" -t\tto make NAMEs have the `trace' attribute\n"
+" -u\tto convert NAMEs to upper case on assignment\n"
+" -x\tto make NAMEs export\n"
+" \n"
+" Using `+' instead of `-' turns off the given attribute.\n"
+" \n"
+" Variables with the integer attribute have arithmetic evaluation (see\n"
+" the `let' command) performed when the variable is assigned a value.\n"
+" \n"
+" When used in a function, `declare' makes NAMEs local, as with the "
+"`local'\n"
+" command. The `-g' option suppresses this behavior.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"Ð’Ñтановлює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° влаÑтивоÑÑ‚Ñ– змінних.\n"
+" \n"
+" ОпиÑує змінні та вÑтановлює Ñ—Ñ… влаÑтивоÑÑ‚Ñ–. Якщо ІМЕÐРне вказані,\n"
+" показує влаÑтивоÑÑ‚Ñ– та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… змінних.\n"
+" \n"
+" Параметри:\n"
+" -f\tОбмежити поле дії лише іменами та визначеннÑми функцій.\n"
+" -F\tОбмежити показ лише іменами функцій (Ð¿Ð»ÑŽÑ Ð½Ð¾Ð¼ÐµÑ€ Ñ€Ñдку та\n"
+" \tфайл, звідки походить функціÑ, Ñкщо йде відлагодженнÑ).\n"
+" -p\tПоказати влаÑтивоÑÑ‚Ñ– та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з ІМЕÐ.\n"
+" \n"
+" Параметри, що вÑтановлюють влаÑтивоÑÑ‚Ñ–:\n"
+" -a\tЗробити ІМЕÐРіндекÑованими маÑивами (Ñкщо підтримуєтьÑÑ).\n"
+" -A\tЗробити ІМЕÐРаÑоціативними маÑивами (Ñкщо підтримуєтьÑÑ).\n"
+" -i\tÐадати ІМЕÐÐÐœ влаÑтивіÑÑ‚ÑŒ `ціле чиÑло'.\n"
+" -l\tПереводити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ нижнього регіÑтру при означенні ІМЕÐ.\n"
+" -r\tЗробити ІМЕÐРнезмінними (лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ).\n"
+" -t\tÐадати ІМЕÐÐÐœ влаÑтивіÑÑ‚ÑŒ `trace'.\n"
+" -u\tПереводити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð¾ верхнього регіÑтру при означенні ІМЕÐ.\n"
+" -x\tЕкÑпортувати ІМЕÐÐ.\n"
+" \n"
+" Замінивши `-' на `+' можна вимкнути відповідну влаÑтивіÑÑ‚ÑŒ.\n"
+" \n"
+" При означенні змінні з влаÑтивіÑÑ‚ÑŽ цілого чиÑла проводитьÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸Ñ‡Ð½Ðµ\n"
+" обчиÑÐ»ÐµÐ½Ð½Ñ (див. команду `let') значеннÑ.\n"
+" \n"
+" При викориÑтанні вÑередині функції, `declare' робить ІМЕÐРлокальними\n"
+" змінними, Ñк команда `local'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно Ñкщо вказані правильні параметри Ñ– не "
+"виникло\n"
+" помилки під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:517
+msgid ""
+"Set variable values and attributes.\n"
+" \n"
+" Obsolete. See `help declare'."
+msgstr ""
+"Ð’Ñтановлює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° влаÑтивоÑÑ‚Ñ– змінних.\n"
+" \n"
+" Команда вийшла з ужитку. ДивітьÑÑ `help declare'."
+
+#: builtins.c:525
+msgid ""
+"Define local variables.\n"
+" \n"
+" Create a local variable called NAME, and give it VALUE. OPTION can\n"
+" be any option accepted by `declare'.\n"
+" \n"
+" Local variables can only be used within a function; they are visible\n"
+" only to the function where they are defined and its children.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied, an error occurs,\n"
+" or the shell is not executing a function."
+msgstr ""
+"ОпиÑує локальні змінні.\n"
+" \n"
+" Створює локальну змінну ІМ’Я та призначає їй ЗÐÐЧЕÐÐЯ. ПÐРÐМЕТР може "
+"бути\n"
+" будь-Ñким параметром, що приймаєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ `declare'.\n"
+" \n"
+" Локальні змінні можуть викориÑтовуватиÑÑ Ð»Ð¸ÑˆÐµ уÑередині функції; Ñ—Ñ… "
+"видно\n"
+" лише у функції, де їх визначено та її нащадках.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано невірні параметри, Ñкщо\n"
+" трапилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° або Ñкщо оболонка зараз не виконує функцію."
+
+#: builtins.c:542
+msgid ""
+"Write arguments to the standard output.\n"
+" \n"
+" Display the ARGs on the standard output followed by a newline.\n"
+" \n"
+" Options:\n"
+" -n\tdo not append a newline\n"
+" -e\tenable interpretation of the following backslash escapes\n"
+" -E\texplicitly suppress interpretation of backslash escapes\n"
+" \n"
+" `echo' interprets the following backslash-escaped characters:\n"
+" \\a\talert (bell)\n"
+" \\b\tbackspace\n"
+" \\c\tsuppress further output\n"
+" \\e\tescape character\n"
+" \\f\tform feed\n"
+" \\n\tnew line\n"
+" \\r\tcarriage return\n"
+" \\t\thorizontal tab\n"
+" \\v\tvertical tab\n"
+" \\\\\tbackslash\n"
+" \\0nnn\tthe character whose ASCII code is NNN (octal). NNN can be\n"
+" \t0 to 3 octal digits\n"
+" \\xHH\tthe eight-bit character whose value is HH (hexadecimal). HH\n"
+" \tcan be one or two hex digits\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a write error occurs."
+msgstr ""
+"Друкує аргументи до Ñтандартного виводу.\n"
+" \n"
+" Виводить ÐРГУМЕÐТИ до Ñтандартного виводу з переводом Ñ€Ñдку в кінці.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе додавати Ñимвол нового Ñ€Ñдку в кінці.\n"
+" -e\tУвімкнути інтерпретацію нижченаведених поÑлідовноÑтей.\n"
+" -E\tЯвно заборонити інтерпретацію поÑлідовноÑтей.\n"
+" \n"
+" `echo' інтерпретує наÑтупні поÑлідовноÑÑ‚Ñ–, що починаютьÑÑ Ð·Ñ– зворотньої\n"
+" похилої риÑки:\n"
+" \\a\tÑигнал (дзвінок)\n"
+" \\b\tÐ¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ ÐºÑƒÑ€Ñору\n"
+" \\c\tне виводити вÑе, що далі\n"
+" \\e\tÑимвол escape\n"
+" \\f\tперехід на Ñ€Ñдок нижче\n"
+" \\n\tпочаток нового Ñ€Ñдку\n"
+" \\r\tÐ¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ початку Ñ€Ñдку\n"
+" \\t\tгоризонтальна табулÑціÑ\n"
+" \\v\tвертикальна табулÑціÑ\n"
+" \\\\\tÐ·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ñ Ð¿Ð¾Ñ…Ð¸Ð»Ð° риÑка\n"
+" \\0nnn\tÑимвол з віÑімковим ASCII-кодом NNN. NNN може мати від\n"
+" \tÐ½ÑƒÐ»Ñ Ð´Ð¾ трьох віÑімкових цифр\n"
+" \\xHH\tвоÑьмибітовий Ñимвол із шіÑтнадцÑтковим кодом HH. HH\n"
+" \tможе бути одною чи двома шіÑтнадцÑтковими цифрами\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо виникне помилка запиÑу."
+
+#: builtins.c:576
+msgid ""
+"Write arguments to the standard output.\n"
+" \n"
+" Display the ARGs on the standard output followed by a newline.\n"
+" \n"
+" Options:\n"
+" -n\tdo not append a newline\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a write error occurs."
+msgstr ""
+"Друкує аргументи до Ñтандартного виводу.\n"
+" \n"
+" Виводить ÐРГУМЕÐТИ до Ñтандартного виводу з переходом на новий Ñ€Ñдок.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе додавати Ñимвол нового Ñ€Ñдку в кінці.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° запиÑу."
+
+#: builtins.c:591
+msgid ""
+"Enable and disable shell builtins.\n"
+" \n"
+" Enables and disables builtin shell commands. Disabling allows you to\n"
+" execute a disk command which has the same name as a shell builtin\n"
+" without using a full pathname.\n"
+" \n"
+" Options:\n"
+" -a\tprint a list of builtins showing whether or not each is enabled\n"
+" -n\tdisable each NAME or display a list of disabled builtins\n"
+" -p\tprint the list of builtins in a reusable format\n"
+" -s\tprint only the names of Posix `special' builtins\n"
+" \n"
+" Options controlling dynamic loading:\n"
+" -f\tLoad builtin NAME from shared object FILENAME\n"
+" -d\tRemove a builtin loaded with -f\n"
+" \n"
+" Without options, each NAME is enabled.\n"
+" \n"
+" To use the `test' found in $PATH instead of the shell builtin\n"
+" version, type `enable -n test'.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is not a shell builtin or an error occurs."
+msgstr ""
+"Вмикає та вимикає вбудовані команди оболонки.\n"
+" \n"
+" Вмикає та вимикає вбудовані команди оболонки. Ð’Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ "
+"дозволÑÑ”\n"
+" вам запуÑкати команду з диÑку, що має таке ж Ñ–Ð¼â€™Ñ Ñк Ñ– вбудована "
+"команда\n"
+" оболонки без потреби вказувати повний шлÑÑ… до команди.\n"
+" \n"
+" Параметри:\n"
+" -a\tÐадрукувати ÑпиÑок вбудованих команд, вказуючи чи вони ввімкнені.\n"
+" -n\tВимкнути кожне з ІМЕРабо надрукувати ÑпиÑок вимкнених команд.\n"
+" -p\tÐадрукувати ÑпиÑок вбудованих команд у придатній Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾\n"
+" \tÐ²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ñ–.\n"
+" -s\tДрукувати лише назви `Ñпеціальних' команд Posix.\n"
+" \n"
+" Параметри, що контролюють динамічне завантаженнÑ:\n"
+" -f\tЗавантажити вбудовану команду ІМ’Я з колективного об’єктного "
+"ФÐЙЛУ.\n"
+" -d\tВилучити вбудовану команду, завантажену за допомогою -f.\n"
+" \n"
+" Без параметрів вмикає кожне з ІМЕÐ.\n"
+" \n"
+" Щоб викориÑтовувати `test', що знаходитьÑÑ Ð´ÐµÑÑŒ у $PATH заміÑÑ‚ÑŒ\n"
+" вбудованої у оболонку верÑÑ–Ñ—, введіть `enable -n test'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо ІМ’Я не Ñ” вбудованою командою\n"
+" оболонки або Ñкщо трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:619
+msgid ""
+"Execute arguments as a shell command.\n"
+" \n"
+" Combine ARGs into a single string, use the result as input to the "
+"shell,\n"
+" and execute the resulting commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns exit status of command or success if command is null."
+msgstr ""
+"Виконує аргументи Ñк команду оболонки.\n"
+" \n"
+" Об’єднує ÐРГУМЕÐТИ в один Ñ€Ñдок та виконує результат Ñк команди, "
+"введені\n"
+" до оболонки.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає результат Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸. Якщо отриманий Ñ€Ñдок "
+"команди\n"
+" Ñ” порожнім Ñ€Ñдком, команда завершуєтьÑÑ ÑƒÑпішно."
+
+#: builtins.c:631
+msgid ""
+"Parse option arguments.\n"
+" \n"
+" Getopts is used by shell procedures to parse positional parameters\n"
+" as options.\n"
+" \n"
+" OPTSTRING contains the option letters to be recognized; if a letter\n"
+" is followed by a colon, the option is expected to have an argument,\n"
+" which should be separated from it by white space.\n"
+" \n"
+" Each time it is invoked, getopts will place the next option in the\n"
+" shell variable $name, initializing name if it does not exist, and\n"
+" the index of the next argument to be processed into the shell\n"
+" variable OPTIND. OPTIND is initialized to 1 each time the shell or\n"
+" a shell script is invoked. When an option requires an argument,\n"
+" getopts places that argument into the shell variable OPTARG.\n"
+" \n"
+" getopts reports errors in one of two ways. If the first character\n"
+" of OPTSTRING is a colon, getopts uses silent error reporting. In\n"
+" this mode, no error messages are printed. If an invalid option is\n"
+" seen, getopts places the option character found into OPTARG. If a\n"
+" required argument is not found, getopts places a ':' into NAME and\n"
+" sets OPTARG to the option character found. If getopts is not in\n"
+" silent mode, and an invalid option is seen, getopts places '?' into\n"
+" NAME and unsets OPTARG. If a required argument is not found, a '?'\n"
+" is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+" printed.\n"
+" \n"
+" If the shell variable OPTERR has the value 0, getopts disables the\n"
+" printing of error messages, even if the first character of\n"
+" OPTSTRING is not a colon. OPTERR has the value 1 by default.\n"
+" \n"
+" Getopts normally parses the positional parameters ($0 - $9), but if\n"
+" more arguments are given, they are parsed instead.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if an option is found; fails if the end of options is\n"
+" encountered or an error occurs."
+msgstr ""
+"Ðналізує Ñ€Ñдок параметрів.\n"
+" \n"
+" Getopts викориÑтовуєтьÑÑ Ð¿Ñ–Ð´Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð°Ð¼Ð¸ оболонки Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ñƒ позиційних\n"
+" аргументів Ñк параметрів командного Ñ€Ñдку.\n"
+" \n"
+" РЯДОК-ПÐРÐМЕТРІВ міÑтить літери параметрів, Ñкі можуть бути вказані; "
+"Ñкщо\n"
+" за літерою іде двокрапка, цей параметр очікує аргументу, відокремленого\n"
+" від нього пробілом.\n"
+" \n"
+" ПіÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ запуÑку getopts кладе наÑтупний параметр до змінної "
+"оболонки\n"
+" $name, Ñтворюючи Ñ—Ñ—, Ñкщо треба. Ðомер наÑтупного неопрацьованого\n"
+" аргументу кладетьÑÑ Ð´Ð¾ змінної оболонки OPTIND. OPTIND вÑтановлюєтьÑÑ Ñƒ "
+"1\n"
+" кожного разу, Ñк запуÑкаєтьÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ° чи Ñкрипт. Якщо параметр очікує\n"
+" аргументу, getopts кладе аргумент до змінної оболонки OPTARG.\n"
+" \n"
+" Getopts може повідомлÑти про помилки двома ÑпоÑобами. Якщо першим "
+"Ñимволом\n"
+" РЯДКУ-ПÐРÐМЕТРІВ Ñ” двокрапка, getopts викориÑтовує `тихе' Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ "
+"про\n"
+" помилки. Ð’ такому режимі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки не виводÑÑ‚ÑŒÑÑ. Якщо "
+"буде\n"
+" знайдено неправильний параметр, getopts покладе його до OPTARG. Якщо не\n"
+" буде вказано очікуваний аргумент, getopts покладе ':' до NAME а Ñимвол\n"
+" параметру - до OPTARG. У `гучному' режимі, при невірному параметрі у "
+"NAME\n"
+" кладетьÑÑ '?' а OPTARG ÑкидаєтьÑÑ. Якщо потрібний аргумент не вказано, "
+"у\n"
+" NAME кладетьÑÑ '?', OPTARG ÑкидаєтьÑÑ Ð¹ друкуєтьÑÑ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтичне\n"
+" повідомленнÑ.\n"
+" \n"
+" Якщо змінна оболонки OPTERR вÑтановлена у 0, getopts не друкуватиме\n"
+" Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилки навіть у `гучному режимі'. Стандартне значеннÑ\n"
+" OPTERR — 1.\n"
+" \n"
+" Зазвичай getopts аналізує позиційні параметри ($0 - $9), але Ñкщо "
+"надано\n"
+" більше аргументів, заміÑÑ‚ÑŒ цього аналізуютьÑÑ Ð²Ð¾Ð½Ð¸.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо знайдено параметр; помилково, Ñкщо\n"
+" параметри ÑкінчилиÑÑ Ð°Ð±Ð¾ трапилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:673
+msgid ""
+"Replace the shell with the given command.\n"
+" \n"
+" Execute COMMAND, replacing this shell with the specified program.\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
+"specified,\n"
+" any redirections take effect in the current shell.\n"
+" \n"
+" Options:\n"
+" -a name\tpass NAME as the zeroth argument to COMMAND\n"
+" -c\t\texecute COMMAND with an empty environment\n"
+" -l\t\tplace a dash in the zeroth argument to COMMAND\n"
+" \n"
+" If the command cannot be executed, a non-interactive shell exits, "
+"unless\n"
+" the shell option `execfail' is set.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless COMMAND is not found or a redirection error "
+"occurs."
+msgstr ""
+"Заміщує оболонку вказаною командою.\n"
+" \n"
+" ЗапуÑкає КОМÐÐДУ, заміщаючи поточну оболонку вказаною програмою.\n"
+" ÐРГУМЕÐТИ передаютьÑÑ ÐšÐžÐœÐÐДІ. Якщо КОМÐÐДУ не вказано, будь-Ñкі\n"
+" переÑпрÑÐ¼ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°ÑтоÑовуютьÑÑ Ð´Ð¾ поточної оболонки.\n"
+" \n"
+" Параметри:\n"
+" -a ім’Ñ\tПередати ІМ’Я Ñк нульовий аргумент КОМÐÐДИ.\n"
+" -c\t\tЗапуÑтити КОМÐÐДУ з порожнім оточеннÑм.\n"
+" -l\t\tПоклаÑти риÑку до нульового аргументу КОМÐÐДИ.\n"
+" \n"
+" Якщо команду не вдаÑÑ‚ÑŒÑÑ Ð·Ð°Ð¿ÑƒÑтити, неінтерактивна оболонка "
+"завершуєтьÑÑ,\n"
+" Ñкщо тільки не вÑтановлено параметр оболонки `execfail'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо команду не буде знайдено або Ñкщо\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° переÑпрÑмуваннÑ."
+
+#: builtins.c:694
+msgid ""
+"Exit the shell.\n"
+" \n"
+" Exits the shell with a status of N. If N is omitted, the exit status\n"
+" is that of the last command executed."
+msgstr ""
+"Виходить з оболонки.\n"
+" \n"
+" Виходить з оболонки, повертаючи ÑÑ‚Ð°Ñ‚ÑƒÑ N. Якщо N не вказано, беретьÑÑ\n"
+" ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñтанньої запущеної команди."
+
+#: builtins.c:703
+msgid ""
+"Exit a login shell.\n"
+" \n"
+" Exits a login shell with exit status N. Returns an error if not "
+"executed\n"
+" in a login shell."
+msgstr ""
+"Виходить з оболонки ÑеанÑу.\n"
+" \n"
+" Виходить з оболонки ÑеанÑу зі ÑтатуÑом N. Повертає помилку, Ñкщо "
+"команду\n"
+" запущено не у оболонці ÑеанÑу."
+
+#: builtins.c:713
+msgid ""
+"Display or execute commands from the history list.\n"
+" \n"
+" fc is used to list or edit and re-execute commands from the history "
+"list.\n"
+" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+" string, which means the most recent command beginning with that\n"
+" string.\n"
+" \n"
+" Options:\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
+"EDITOR,\n"
+" \t\tthen vi\n"
+" -l \tlist lines instead of editing\n"
+" -n\tomit line numbers when listing\n"
+" -r\treverse the order of the lines (newest listed first)\n"
+" \n"
+" With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
+" re-executed after the substitution OLD=NEW is performed.\n"
+" \n"
+" A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+" runs the last command beginning with `cc' and typing `r' re-executes\n"
+" the last command.\n"
+" \n"
+" Exit Status:\n"
+" Returns success or status of executed command; non-zero if an error "
+"occurs."
+msgstr ""
+"Показує чи запуÑкає команди зі ÑпиÑку попередньо запущених.\n"
+" \n"
+" Fc викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ñƒ чи Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° подальшого повторного\n"
+" запуÑку команд з Ñ–Ñторії. ПЕРШИЙ та ОСТÐÐÐІЙ можуть вказувати діапазон\n"
+" або ПЕРШИЙ може бути Ñ€Ñдком, тоді він означатиме оÑтанню команду, що\n"
+" починалаÑÑ Ð· цього Ñ€Ñдка.\n"
+" \n"
+" Параметри:\n"
+" -e РЕДÐКТОР\tВказує редактор. Зазвичай це FCEDIT, EDITOR чи vi,\n"
+" \t\tщо перше буде знайдене.\n"
+" -l\tПоказати Ñ€Ñдки Ñ–Ñторії, заміÑÑ‚ÑŒ редагуваннÑ.\n"
+" -n\tÐе виводити номери Ñ€Ñдків у ÑпиÑку.\n"
+" -r\tПоказувати у зворотньому порÑдку (найновіші першими).\n"
+" \n"
+" У форматі `fc -s [шаблон=заміна ...] [команда]', КОМÐÐДРзапуÑкаєтьÑÑ\n"
+" піÑÐ»Ñ Ð·Ð°Ð¼Ñ–Ð½Ð¸ ШÐБЛОÐ=ЗÐМІÐÐ.\n"
+" \n"
+" При викориÑтанні цієї команди може бути зручним пÑевдонім r='fc -s' — "
+"тоді\n"
+" `r cc' запуÑтить оÑтанню команду, що починаєтьÑÑ Ð· `cc', а `r' повторно\n"
+" виконає оÑтанню команду.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð·Ñ– ÑтатуÑом запущених команд, або помилкою, Ñкщо\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:743
+#, fuzzy
+msgid ""
+"Move job to the foreground.\n"
+" \n"
+" Place the job identified by JOB_SPEC in the foreground, making it the\n"
+" current job. If JOB_SPEC is not present, the shell's notion of the\n"
+" current job is used.\n"
+" \n"
+" Exit Status:\n"
+" Status of command placed in foreground, or failure if an error occurs."
+msgstr ""
+"Переводить Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñƒ пріоритетний режим.\n"
+" \n"
+" Переводить ЗÐВДÐÐÐЯ у пріоритетний режим виконаннÑ, й робить його "
+"поточним\n"
+" завданнÑм. Якщо ЗÐВДÐÐÐЯ не вказане, беретьÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ, Ñке оболонка\n"
+" вважає поточним.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð·Ñ– ÑтатуÑом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ, що переведене\n"
+" у пріоритетний режим, або помилку, Ñкщо трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:758
+msgid ""
+"Move jobs to the background.\n"
+" \n"
+" Place the jobs identified by each JOB_SPEC in the background, as if "
+"they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's "
+"notion\n"
+" of the current job is used.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+"Переводить Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñƒ фоновий режим.\n"
+" \n"
+" Переводить кожне з ЗÐВДÐÐЬ у фоновий режим виконаннÑ, Ñк ніби Ñ—Ñ… "
+"запущено\n"
+" із `&'. Якщо ЗÐВДÐÐÐЯ не вказані, беретьÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ, що оболонка вважає\n"
+" поточним.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо контроль завдань не ввімкнено або "
+"Ñкщо\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:772
+msgid ""
+"Remember or display program locations.\n"
+" \n"
+" Determine and remember the full pathname of each command NAME. If\n"
+" no arguments are given, information about remembered commands is "
+"displayed.\n"
+" \n"
+" Options:\n"
+" -d\t\tforget the remembered location of each NAME\n"
+" -l\t\tdisplay in a format that may be reused as input\n"
+" -p pathname\tuse PATHNAME is the full pathname of NAME\n"
+" -r\t\tforget all remembered locations\n"
+" -t\t\tprint the remembered location of each NAME, preceding\n"
+" \t\teach location with the corresponding NAME if multiple\n"
+" \t\tNAMEs are given\n"
+" Arguments:\n"
+" NAME\t\tEach NAME is searched for in $PATH and added to the list\n"
+" \t\tof remembered commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is not found or an invalid option is given."
+msgstr ""
+"Запам’Ñтавує чи показує Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼.\n"
+" \n"
+" Визначає та запам’Ñтовує повний шлÑÑ… до кожної з вказаних програм. Якщо\n"
+" ІМЕÐРне вказані, показує інформацію про збережені шлÑхи.\n"
+" \n"
+" Параметри:\n"
+" -d\t\tВилучити з кешу Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð†ÐœÐ•Ð.\n"
+" -l\t\tПоказувати у форматі, що можна потім виконати.\n"
+" -p шлÑÑ…\tвикориÑтовувати ШЛЯХ Ñк повний шлÑÑ… до ІМЕÐІ.\n"
+" -r\t\tСпуÑтошити кеш.\n"
+" -t\t\tВивеÑти збережені Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð†ÐœÐ•Ð, вказуючи перед "
+"розташуваннÑм\n"
+" \t\tвідповідне ІМ’Я, Ñкщо вказано декілька ІМЕÐ.\n"
+" Ðргументи:\n"
+" ІМ’Я\t\tКожне з ІМЕРшукаєтьÑÑ Ñƒ $PATH та додаєтьÑÑ Ð´Ð¾ ÑпиÑку "
+"збережених\n"
+" \t\tкоманд.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо ІМ’Я не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ або Ñкщо\n"
+" вказано невірний параметр."
+
+#: builtins.c:797
+msgid ""
+"Display information about builtin commands.\n"
+" \n"
+" Displays brief summaries of builtin commands. If PATTERN is\n"
+" specified, gives detailed help on all commands matching PATTERN,\n"
+" otherwise the list of help topics is printed.\n"
+" \n"
+" Options:\n"
+" -d\toutput short description for each topic\n"
+" -m\tdisplay usage in pseudo-manpage format\n"
+" -s\toutput only a short usage synopsis for each topic matching\n"
+" \tPATTERN\n"
+" \n"
+" Arguments:\n"
+" PATTERN\tPattern specifiying a help topic\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless PATTERN is not found or an invalid option is "
+"given."
+msgstr ""
+"Показує інформацію про вбудовані команди.\n"
+" \n"
+" Показує коротку довідку з вбудованих команд. Якщо вказано ШÐБЛОÐ, надає\n"
+" детальну довідку з уÑÑ–Ñ… команд, що відповідають цьому ШÐБЛОÐУ. Якщо "
+"його\n"
+" не вказано, друкує ÑпиÑок пунктів довідки.\n"
+" \n"
+" Параметри:\n"
+" -d\tВивеÑти короткий Ð¾Ð¿Ð¸Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з пунктів.\n"
+" -m\tПоказати довідку у форматі, подібному до man(1).\n"
+" -s\tВивеÑти лише короткий Ð¾Ð¿Ð¸Ñ ÑинтакÑиÑу викориÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— з "
+"команд,\n"
+" \tщо відповідають ШÐБЛОÐУ\n"
+" \n"
+" Ðргументи:\n"
+" ШÐБЛОÐ\tШаблон, що визначає тему довідки.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾ Ñкщо ШÐБЛОРне знайдено або Ñкщо вказано\n"
+" невірний параметр."
+
+# WTF??? history list += history + history file ???
+#: builtins.c:821
+msgid ""
+"Display or manipulate the history list.\n"
+" \n"
+" Display the history list with line numbers, prefixing each modified\n"
+" entry with a `*'. An argument of N lists only the last N entries.\n"
+" \n"
+" Options:\n"
+" -c\tclear the history list by deleting all of the entries\n"
+" -d offset\tdelete the history entry at offset OFFSET.\n"
+" \n"
+" -a\tappend history lines from this session to the history file\n"
+" -n\tread all history lines not already read from the history file\n"
+" -r\tread the history file and append the contents to the history\n"
+" \tlist\n"
+" -w\twrite the current history to the history file\n"
+" \tand append them to the history list\n"
+" \n"
+" -p\tperform history expansion on each ARG and display the result\n"
+" \twithout storing it in the history list\n"
+" -s\tappend the ARGs to the history list as a single entry\n"
+" \n"
+" If FILENAME is given, it is used as the history file. Otherwise,\n"
+" if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+" \n"
+" If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+" as a format string for strftime(3) to print the time stamp associated\n"
+" with each displayed history entry. No time stamps are printed "
+"otherwise.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+"Показує чи змінює ÑпиÑок попередніх команд.\n"
+" \n"
+" Показує ÑпиÑок Ñ–Ñторії команд з номерами Ñ€Ñдків, вказуючи `*' перед "
+"кожним\n"
+" зміненим Ñ€Ñдком. Якщо вказано аргумент N, показує лише N оÑтанніх "
+"Ñ€Ñдків.\n"
+" \n"
+" Параметри:\n"
+" -c\tВилучити зі ÑпиÑку уÑÑ– збережені команди.\n"
+" -d позиціÑ\tВилучити Ñ€Ñдок у ПОЗИЦІЇ (відноÑній).\n"
+" \n"
+" -a\tДодати запиÑи з поточної ÑеÑÑ–Ñ— до файлу Ñ–Ñторії.\n"
+" -n\tДодати запиÑи, Ñких ще немає в ÑпиÑку з файлу Ñ–Ñторії.\n"
+" -r\tПрочитати файл Ñ–Ñторії та додати його вміÑÑ‚ до ÐºÑ–Ð½Ñ†Ñ ÑпиÑку.\n"
+" -w\tЗапиÑати поточну Ñ–Ñторію команд до файлу Ñ–Ñторії та додати\n"
+" \tÑ—Ñ… до ÐºÑ–Ð½Ñ†Ñ ÑпиÑку Ñ–Ñторії.\n"
+" \n"
+" -p\tЗробити Ñ€Ð¾Ð·ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ–Ñторії команд на кожному з ÐРГУМЕÐТІВ та\n"
+" \tпоказати результат (без Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñƒ ÑпиÑку Ñ–Ñторії команд).\n"
+" -s\tДодати ÐРГУМЕÐТИ до ÑпиÑку Ñ–Ñторії Ñк один запиÑ.\n"
+" \n"
+" Якщо вказаний ФÐЙЛ, його буде викориÑтано Ñк файл Ñ–Ñторії команд. "
+"Інакше,\n"
+" Ñкщо визначено $HISTFILE, беретьÑÑ Ñ—Ñ— значеннÑ, Ñкщо ні — ~/."
+"bash_history.\n"
+" \n"
+" Якщо змінна $HISTTIMEFORMAT має значеннÑ, відмінне від порожнього "
+"Ñ€Ñдку,\n"
+" Ñ—Ñ— буде викориÑтано Ñк шаблон strftime(3) Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ñƒ чаÑових позначок.\n"
+" Інакше чаÑові позначки не виводÑÑ‚ÑŒÑÑ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано вірні параметри та не "
+"виникло\n"
+" помилки під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:857
+msgid ""
+"Display status of jobs.\n"
+" \n"
+" Lists the active jobs. JOBSPEC restricts output to that job.\n"
+" Without options, the status of all active jobs is displayed.\n"
+" \n"
+" Options:\n"
+" -l\tlists process IDs in addition to the normal information\n"
+" -n\tlist only processes that have changed status since the last\n"
+" \tnotification\n"
+" -p\tlists process IDs only\n"
+" -r\trestrict output to running jobs\n"
+" -s\trestrict output to stopped jobs\n"
+" \n"
+" If -x is supplied, COMMAND is run after all job specifications that\n"
+" appear in ARGS have been replaced with the process ID of that job's\n"
+" process group leader.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs.\n"
+" If -x is used, returns the exit status of COMMAND."
+msgstr ""
+"Виводить Ñтан завдань.\n"
+" \n"
+" Показує ÑпиÑок активних завдань. ЗÐВДÐÐÐЯ обмежує вивід цим завданнÑм.\n"
+" Без параметрів показує Ñтан уÑÑ–Ñ… активних завдань.\n"
+" \n"
+" Параметри:\n"
+" -l\tДодатково виводити ідентифікатори процеÑів.\n"
+" -n\tПоказувати лише процеÑи, Ñтан Ñких змінивÑÑ Ð· чаÑу оÑтаннього\n"
+" \tзвідомленнÑ.\n"
+" -p\tПоказувати лише ідентифікатори процеÑів.\n"
+" -r\tОбмежити вивід працюючими завданнÑми.\n"
+" -s\tОбмежити вивід зупиненими завданнÑми.\n"
+" \n"
+" Якщо вказано -x, КОМÐÐДУ буде виконано піÑÐ»Ñ Ð·Ð°Ð¼Ñ–Ð½Ð¸ уÑÑ–Ñ… згадок про\n"
+" Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñƒ ÐРГУМЕÐТÐÐ¥ на ідентифікатори головних процеÑів відповідних\n"
+" завдань.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри та не\n"
+" виникло помилки під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ. При викориÑтанні -x команда\n"
+" завершуєтьÑÑ Ð·Ñ– ÑтатуÑом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐšÐžÐœÐÐДИ."
+
+#: builtins.c:884
+msgid ""
+"Remove jobs from current shell.\n"
+" \n"
+" Removes each JOBSPEC argument from the table of active jobs. Without\n"
+" any JOBSPECs, the shell uses its notion of the current job.\n"
+" \n"
+" Options:\n"
+" -a\tremove all jobs if JOBSPEC is not supplied\n"
+" -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
+" \tshell receives a SIGHUP\n"
+" -r\tremove only running jobs\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option or JOBSPEC is given."
+msgstr ""
+"Вилучає Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð· поточної оболонки.\n"
+" \n"
+" Вилучає кожне з ЗÐВДÐÐЬ з таблиці активних завдань. Якщо ЗÐВДÐÐÐЯ не\n"
+" вказано, беретьÑÑ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ, Ñке оболонка вважає поточним.\n"
+" \n"
+" Параметри:\n"
+" -a\tВилучити уÑÑ– завданнÑ, Ñкщо ЗÐВДÐÐÐЯ не вказані.\n"
+" -h\tПозначити ЗÐВДÐÐÐЯ так, щоб вони не отримали SIGHUP, Ñкщо "
+"оболонка\n"
+" \tотримає SIGHUP.\n"
+" -r\tВилучати лише працюючі завданнÑ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано неправильний параметр чи\n"
+" ЗÐВДÐÐÐЯ."
+
+#: builtins.c:903
+msgid ""
+"Send a signal to a job.\n"
+" \n"
+" Send the processes identified by PID or JOBSPEC the signal named by\n"
+" SIGSPEC or SIGNUM. If neither SIGSPEC nor SIGNUM is present, then\n"
+" SIGTERM is assumed.\n"
+" \n"
+" Options:\n"
+" -s sig\tSIG is a signal name\n"
+" -n sig\tSIG is a signal number\n"
+" -l\tlist the signal names; if arguments follow `-l' they are\n"
+" \tassumed to be signal numbers for which names should be listed\n"
+" \n"
+" Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
+" instead of process IDs, and allows processes to be killed if the limit\n"
+" on processes that you can create is reached.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+"ÐадіÑлати Ñигнал до завданнÑ.\n"
+" \n"
+" ÐадіÑлати процеÑу, вказаному за ідентифікатором процеÑу чи завданнÑ\n"
+" Ñигнал, вказаний за його номером чи назвою. Якщо не вказано ані "
+"першого,\n"
+" ані другого, буде надіÑлано SIGTERM.\n"
+" \n"
+" Параметри:\n"
+" -s Ñигнал\tСИГÐÐЛ Ñ” назвою Ñигналу.\n"
+" -n Ñигнал\tСИГÐÐЛ Ñ” номером Ñигналу.\n"
+" -l\tПерелічити назви Ñигналів; Ñкщо за -l ідуть іще аргументи, вони\n"
+" \tвважаютьÑÑ Ð½Ð¾Ð¼ÐµÑ€Ð°Ð¼Ð¸ Ñигналів, Ñкі треба показати.\n"
+" \n"
+" Kill Ñ” вбудованою командою з двох причин: це дозволÑÑ” вказувати\n"
+" ідентифікатори завдань заміÑÑ‚ÑŒ ідентифікаторів процеÑів та дозволÑÑ”\n"
+" вбивати процеÑи, навіть Ñкщо ви вичерпали ліміт процеÑів.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказані правильні аргументи та не\n"
+" трапилоÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:926
+#, fuzzy
+msgid ""
+"Evaluate arithmetic expressions.\n"
+" \n"
+" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
+" fixed-width integers with no check for overflow, though division by 0\n"
+" is trapped and flagged as an error. The following list of operators is\n"
+" grouped into levels of equal-precedence operators. The levels are "
+"listed\n"
+" in order of decreasing precedence.\n"
+" \n"
+" \tid++, id--\tvariable post-increment, post-decrement\n"
+" \t++id, --id\tvariable pre-increment, pre-decrement\n"
+" \t-, +\t\tunary minus, plus\n"
+" \t!, ~\t\tlogical and bitwise negation\n"
+" \t**\t\texponentiation\n"
+" \t*, /, %\t\tmultiplication, division, remainder\n"
+" \t+, -\t\taddition, subtraction\n"
+" \t<<, >>\t\tleft and right bitwise shifts\n"
+" \t<=, >=, <, >\tcomparison\n"
+" \t==, !=\t\tequality, inequality\n"
+" \t&\t\tbitwise AND\n"
+" \t^\t\tbitwise XOR\n"
+" \t|\t\tbitwise OR\n"
+" \t&&\t\tlogical AND\n"
+" \t||\t\tlogical OR\n"
+" \texpr ? expr : expr\n"
+" \t\t\tconditional operator\n"
+" \t=, *=, /=, %=,\n"
+" \t+=, -=, <<=, >>=,\n"
+" \t&=, ^=, |=\tassignment\n"
+" \n"
+" Shell variables are allowed as operands. The name of the variable\n"
+" is replaced by its value (coerced to a fixed-width integer) within\n"
+" an expression. The variable need not have its integer attribute\n"
+" turned on to be used in an expression.\n"
+" \n"
+" Operators are evaluated in order of precedence. Sub-expressions in\n"
+" parentheses are evaluated first and may override the precedence\n"
+" rules above.\n"
+" \n"
+" Exit Status:\n"
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
+msgstr ""
+"ОбчиÑлює арифметичні вирази.\n"
+" \n"
+" ОбчиÑлює кожен ÐРГУМЕÐТ Ñк арифметичний вираз. ОбчиÑÐ»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð¸Ñ‚ÑŒÑÑ Ñƒ\n"
+" цілих чиÑлах фікÑованої довжини й без перевірки переповненнÑ, але вÑе ж\n"
+" Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° 0 виÑвлÑєтьÑÑ Ñ‚Ð° вважаєтьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ. Ðижченаведений ÑпиÑок\n"
+" операторів згруповано за рівнÑми пріоритету. Їх перелічено у порÑдку\n"
+" ÑÐ¿Ð°Ð´Ð°Ð½Ð½Ñ Ð¿Ñ€Ñ–Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ñƒ.\n"
+" \n"
+" \tid++, id--\tпоÑÑ‚-інкремент та поÑÑ‚-декремент змінної\n"
+" \t++id, --id\tпре-інкремент та пре-декремент змінної\n"
+" \t-, +\t\tунарний Ð¼Ñ–Ð½ÑƒÑ Ñ‚Ð° плюÑ\n"
+" \t!, ~\t\tлогічна та побітова інверÑÑ–Ñ\n"
+" \t**\t\tпіднеÑÐµÐ½Ð½Ñ Ð´Ð¾ ÑтепенÑ\n"
+" \t*, /, %\t\tмноженнÑ, діленнÑ, залишок\n"
+" \t+, -\t\tдодаваннÑ, відніманнÑ\n"
+" \t<<, >>\t\tпобітовий зÑув вправо та вліво\n"
+" \t<=, >=, <, >\tпорівнÑннÑ\n"
+" \t==, !=\t\tрівніÑÑ‚ÑŒ, нерівніÑÑ‚ÑŒ\n"
+" \t&\t\tпобітове AND\n"
+" \t^\t\tпобітове XOR\n"
+" \t|\t\tпобітове OR\n"
+" \t&&\t\tлогічне AND\n"
+" \t||\t\tлогічне OR\n"
+" \tвираз ? вираз : вираз\n"
+" \t\t\tумовний оператор\n"
+" \t=, *=, /=, %=,\n"
+" \t+=, -=, <<=, >>=,\n"
+" \t&=, ^=, |=\tприÑвоєннÑ\n"
+" \n"
+" Змінні оболонки можуть виÑтупати операндами. Ðазву змінної буде "
+"замінено\n"
+" Ñ—Ñ— значеннÑм (приведеним до цілого чиÑла фікÑованої довжини) у виразі.\n"
+" Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ не потрібно вÑтановлювати влаÑтивіÑÑ‚ÑŒ змінної `ціле чиÑло'.\n"
+" \n"
+" Оператори обчиÑлюютьÑÑ Ð·Ð° пріоритетами. Вкладені вирази у дужках\n"
+" обчиÑлюютьÑÑ Ð¿ÐµÑ€ÑˆÐ¸Ð¼Ð¸ та можуть змінювати правила пріоритетів, наведені\n"
+" вище.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Якщо результатом обчиÑÐ»ÐµÐ½Ð½Ñ Ð¾Ñтаннього ÐРГУМЕÐТУ Ñ” 0, let повертає 1,\n"
+" інакше — 0."
+
+#: builtins.c:971
+#, fuzzy
+msgid ""
+"Read a line from the standard input and split it into fields.\n"
+" \n"
+" Reads a single line from the standard input, or from file descriptor FD\n"
+" if the -u option is supplied. The line is split into fields as with "
+"word\n"
+" splitting, and the first word is assigned to the first NAME, the second\n"
+" word to the second NAME, and so on, with any leftover words assigned to\n"
+" the last NAME. Only the characters found in $IFS are recognized as "
+"word\n"
+" delimiters.\n"
+" \n"
+" If no NAMEs are supplied, the line read is stored in the REPLY "
+"variable.\n"
+" \n"
+" Options:\n"
+" -a array\tassign the words read to sequential indices of the array\n"
+" \t\tvariable ARRAY, starting at zero\n"
+" -d delim\tcontinue until the first character of DELIM is read, rather\n"
+" \t\tthan newline\n"
+" -e\t\tuse Readline to obtain the line in an interactive shell\n"
+" -i text\tUse TEXT as the initial text for Readline\n"
+" -n nchars\treturn after reading NCHARS characters rather than waiting\n"
+" \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n"
+" \t\tcharacters are read before the delimiter\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, "
+"unless\n"
+" \t\tEOF is encountered or read times out, ignoring any delimiter\n"
+" -p prompt\toutput the string PROMPT without a trailing newline before\n"
+" \t\tattempting to read\n"
+" -r\t\tdo not allow backslashes to escape any characters\n"
+" -s\t\tdo not echo input coming from a terminal\n"
+" -t timeout\ttime out and return failure if a complete line of input "
+"is\n"
+" \t\tnot read withint TIMEOUT seconds. The value of the TMOUT\n"
+" \t\tvariable is the default timeout. TIMEOUT may be a\n"
+" \t\tfractional number. If TIMEOUT is 0, read returns success only\n"
+" \t\tif input is available on the specified file descriptor. The\n"
+" \t\texit status is greater than 128 if the timeout is exceeded\n"
+" -u fd\t\tread from file descriptor FD instead of the standard input\n"
+" \n"
+" Exit Status:\n"
+" The return code is zero, unless end-of-file is encountered, read times "
+"out,\n"
+" or an invalid file descriptor is supplied as the argument to -u."
+msgstr ""
+"Читає Ñ€Ñдок зі Ñтандартного вводу та розбиває його на полÑ.\n"
+" \n"
+" Зчитує один Ñ€Ñдок зі Ñтандартного вводу чи з ФÐЙЛОВОГО-ДЕСКРИПТОРУ, "
+"Ñкщо\n"
+" вказано параметр -u. РÑдок розбиваєтьÑÑ Ð½Ð° Ð¿Ð¾Ð»Ñ Ð¿Ð¾ Ñловах, перше Ñлово\n"
+" призначуєтьÑÑ Ð¿ÐµÑ€ÑˆÐ¾Ð¼Ñƒ ІМЕÐІ, друге Ñлово — другому ІМЕÐІ Ñ– так далі, "
+"Ñкщо\n"
+" залишатьÑÑ Ð½Ðµ єпризначені Ñлова, Ñ—Ñ… буде призначено оÑтанньому ІМЕÐІ. "
+"Як\n"
+" роздільники полів розпізнаютьÑÑ Ñимволи, вказані у змінній $IFS.\n"
+" \n"
+" Якщо ІМЕÐРне вказано, Ñ€Ñдок цілком буде збережено у змінній REPLY.\n"
+" \n"
+" Параметри:\n"
+" -a маÑив\tПризначити прочитані Ñлова поÑлідовним елементам ÐœÐСИВУ,\n"
+" \t\tпочинаючи з нульового.\n"
+" -d роздільник\tЧитати ввід доки не знайдетьÑÑ Ñимвол РОЗДІЛЬÐИК\n"
+" \t\t(заміÑÑ‚ÑŒ ÐºÑ–Ð½Ñ†Ñ Ñ€Ñдка, Ñк звичайно).\n"
+" -e\t\tВикориÑтовувати Readline Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ€Ñдку у інтерактивній\n"
+" \t\tоболонці.\n"
+" -i текÑÑ‚\tВказати початковий ТЕКСТ Ð´Ð»Ñ Readline.\n"
+" -n кількіÑÑ‚ÑŒ\tПрипинити піÑÐ»Ñ Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐšÐ†Ð›Ð¬ÐšÐžÐ¡Ð¢Ð† Ñимволів, заміÑÑ‚ÑŒ\n"
+" \t\tтого, щоб чекати на кінець Ñ€Ñдка.\n"
+" -p запрошеннÑ\tВивеÑти Ñ€Ñдок ЗÐПРОШЕÐÐЯ (без переводу Ñ€Ñдку в кінці)\n"
+" \t\tперед читаннÑм.\n"
+" -r\t\tÐе оброблÑти зворотню похилу риÑку Ñк знешкоджувач Ñимволів.\n"
+" -s\t\tÐе виводити отриманий ввід на термінал.\n"
+" -t ліміт-чаÑу\tПрипинити Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° вийти з помилкою Ñкщо за вказаний\n"
+" \t\tпроміжок чаÑу (в Ñекундах) не було прочитано Ñ€Ñдок цілком. ЗначеннÑ\n"
+" \t\tзмінної TMOUT Ñ” Ñтандартним значеннÑм Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð° чаÑом. ЛІМІТ-"
+"ЧÐСУ\n"
+" \t\tможе бути дробовим чиÑлом. Якщо ЛІМІТ-ЧÐСУ 0, read завершуєтьÑÑ\n"
+" \t\tуÑпішно, лише Ñкщо ввід вже наÑвний на вказаному файловому\n"
+" \t\tдеÑкрипторі. Якщо перевищено термін очікуваннÑ, код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ðµ\n"
+" \t\tбільшим за 128. -u файловий-деÑкриптор\tЧитати ввід з ФÐЙЛОВОГО-"
+"ДЕСКРИПТОРУ заміÑÑ‚ÑŒ\n"
+" \t\tÑтандартного вводу. \n"
+" Код завершеннÑ:\n"
+" Команда повертає помилку, Ñкщо знайдено кінець файлу, Ñкщо вичерпано "
+"чаÑ\n"
+" очікуваннÑ, або Ñкщо із -u вказано неправильний файловий деÑкриптор."
+
+#: builtins.c:1014
+msgid ""
+"Return from a shell function.\n"
+" \n"
+" Causes a function or sourced script to exit with the return value\n"
+" specified by N. If N is omitted, the return status is that of the\n"
+" last command executed within the function or script.\n"
+" \n"
+" Exit Status:\n"
+" Returns N, or failure if the shell is not executing a function or script."
+msgstr ""
+"ПовертаєтьÑÑ Ð· функції оболонки.\n"
+" \n"
+" Виходить з функції чи Ñценарію, виконаного за допомогою source зі "
+"вказаним\n"
+" кодом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ N. Якщо N не вказане, return повертає ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¾Ñтанньої\n"
+" виконаної вÑередині Ñценарію чи функції команди.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає N, або помилку, Ñкщо викликана не у функції чи Ñценарії."
+
+#: builtins.c:1027
+#, fuzzy
+msgid ""
+"Set or unset values of shell options and positional parameters.\n"
+" \n"
+" Change the value of shell attributes and positional parameters, or\n"
+" display the names and values of shell variables.\n"
+" \n"
+" Options:\n"
+" -a Mark variables which are modified or created for export.\n"
+" -b Notify of job termination immediately.\n"
+" -e Exit immediately if a command exits with a non-zero status.\n"
+" -f Disable file name generation (globbing).\n"
+" -h Remember the location of commands as they are looked up.\n"
+" -k All assignment arguments are placed in the environment for a\n"
+" command, not just those that precede the command name.\n"
+" -m Job control is enabled.\n"
+" -n Read commands but do not execute them.\n"
+" -o option-name\n"
+" Set the variable corresponding to option-name:\n"
+" allexport same as -a\n"
+" braceexpand same as -B\n"
+" emacs use an emacs-style line editing interface\n"
+" errexit same as -e\n"
+" errtrace same as -E\n"
+" functrace same as -T\n"
+" hashall same as -h\n"
+" histexpand same as -H\n"
+" history enable command history\n"
+" ignoreeof the shell will not exit upon reading EOF\n"
+" interactive-comments\n"
+" allow comments to appear in interactive commands\n"
+" keyword same as -k\n"
+" monitor same as -m\n"
+" noclobber same as -C\n"
+" noexec same as -n\n"
+" noglob same as -f\n"
+" nolog currently accepted but ignored\n"
+" notify same as -b\n"
+" nounset same as -u\n"
+" onecmd same as -t\n"
+" physical same as -P\n"
+" pipefail the return value of a pipeline is the status of\n"
+" the last command to exit with a non-zero status,\n"
+" or zero if no command exited with a non-zero "
+"status\n"
+" posix change the behavior of bash where the default\n"
+" operation differs from the Posix standard to\n"
+" match the standard\n"
+" privileged same as -p\n"
+" verbose same as -v\n"
+" vi use a vi-style line editing interface\n"
+" xtrace same as -x\n"
+" -p Turned on whenever the real and effective user ids do not match.\n"
+" Disables processing of the $ENV file and importing of shell\n"
+" functions. Turning this option off causes the effective uid and\n"
+" gid to be set to the real uid and gid.\n"
+" -t Exit after reading and executing one command.\n"
+" -u Treat unset variables as an error when substituting.\n"
+" -v Print shell input lines as they are read.\n"
+" -x Print commands and their arguments as they are executed.\n"
+" -B the shell will perform brace expansion\n"
+" -C If set, disallow existing regular files to be overwritten\n"
+" by redirection of output.\n"
+" -E If set, the ERR trap is inherited by shell functions.\n"
+" -H Enable ! style history substitution. This flag is on\n"
+" by default when the shell is interactive.\n"
+" -P If set, do not follow symbolic links when executing commands\n"
+" such as cd which change the current directory.\n"
+" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
+" - Assign any remaining arguments to the positional parameters.\n"
+" The -x and -v options are turned off.\n"
+" \n"
+" Using + rather than - causes these flags to be turned off. The\n"
+" flags can also be used upon invocation of the shell. The current\n"
+" set of flags may be found in $-. The remaining n ARGs are positional\n"
+" parameters and are assigned, in order, to $1, $2, .. $n. If no\n"
+" ARGs are given, all shell variables are printed.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given."
+msgstr ""
+"Ð’Ñтановлює та Ñкидає параметри оболонки та позиційні параметри.\n"
+" \n"
+" Змінює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей оболонки та позиційних параметрів чи "
+"показує\n"
+" імена та Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… оболонки.\n"
+" \n"
+" Параметри:\n"
+" -a ЕкÑпортувати змінні, Ñкі будуть змінюватиÑÑ Ñ‡Ð¸ ÑтворюватиÑÑ.\n"
+" -b Сповіщати про Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ негайно.\n"
+" -e Завершити роботу, Ñкщо одна з команд завершитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾ÑŽ.\n"
+" -f Вимкнути Ñ€Ð¾Ð·ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð² імен файлів (globbing).\n"
+" -h Запам’Ñтовувати Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ по мірі викориÑтаннÑ.\n"
+" -k ПереноÑити уÑÑ– аргументи-приÑÐ²Ð¾Ñ”Ð½Ð½Ñ Ð´Ð¾ Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸, не лише "
+"Ñ‚Ñ–,\n"
+" що йдуть перед іменем команди.\n"
+" -m Ввімкнути контроль завдань.\n"
+" -n Читати команди, але не виконувати їх.\n"
+" -o параметр\n"
+" Ð’Ñтановити параметр оболонки:\n"
+" allexport те Ñаме, що й -a\n"
+" braceexpand те Ñаме, що й -B\n"
+" emacs викориÑтовувати подібний до emacs інтерфейÑ\n"
+" редагуваннÑ\n"
+" errexit те Ñаме, що й -e\n"
+" errtrace те Ñаме, що й -E\n"
+" functrace те Ñаме, що й -T\n"
+" hashall те Ñаме, що й -h\n"
+" histexpand те Ñаме, що й -H\n"
+" history ввімкнути Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ–Ñторії команд\n"
+" ignoreeof не виходити з оболонки піÑÐ»Ñ Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÑ–Ð½Ñ†Ñ "
+"файлу\n"
+" interactive-comments\n"
+" дозволити коментарі у інтерактивній оболонці\n"
+" keyword те Ñаме, що й -k\n"
+" monitor те Ñаме, що й -m\n"
+" noclobber те Ñаме, що й -C\n"
+" noexec те Ñаме, що й -n\n"
+" noglob те Ñаме, що й -f\n"
+" nolog наразі приймаєтьÑÑ, але ігноруєтьÑÑ\n"
+" notify те Ñаме, що й -b\n"
+" nounset те Ñаме, що й -u\n"
+" onecmd те Ñаме, що й -t\n"
+" physical те Ñаме, що й -P\n"
+" pipefail кодом Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° команд Ñ” код "
+"завершеннÑ\n"
+" оÑтанньої команди, що завершилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, або\n"
+" нуль, Ñкщо уÑÑ– команди завершилиÑÑ ÑƒÑпішно\n"
+" posix змінити поведінку bash у ÑитуаціÑÑ…, де Ñ—Ñ— "
+"поведінка\n"
+" зазвичай відхилÑєтьÑÑ Ð²Ñ–Ð´ Ñтандарту Posix так, "
+"щоб\n"
+" вона відповідала Ñтандарту\n"
+" privileged те Ñаме, що й -p\n"
+" verbose те Ñаме, що й -v\n"
+" vi викориÑтовувати подібний до vi інтерфейÑ\n"
+" Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ñдку\n"
+" xtrace те Ñаме, що й -x\n"
+" -p Ввімкнений, Ñкщо дійÑний та ефективний ідентифікатори кориÑтувача "
+"не\n"
+" збігаютьÑÑ. Вимикає обробку файлу $ENV та Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¹\n"
+" оболонки. Ð’Ð¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ параметру вÑтановлює ефективні\n"
+" ідентифікатори кориÑтувача та групи у реальні.\n"
+" -t Завершити роботу піÑÐ»Ñ Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ñ–Ñ”Ñ— команди.\n"
+" -u ОброблÑти неозначені змінні Ñк помилку під Ñ‡Ð°Ñ Ñ—Ñ… підÑтавлÑннÑ.\n"
+" -v Друкувати Ñ€Ñдки вводу по мірі Ñ—Ñ… читаннÑ.\n"
+" -x Друкувати команди та їх аргументи при їх виконанні.\n"
+" -B Робити Ñ€Ð¾Ð·ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÑƒÐ¶Ð¾Ðº.\n"
+" -C Ð’Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ заборонÑÑ” Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ñ–Ñнуючих звичайних файлів\n"
+" переÑпрÑмуваннÑм виводу.\n"
+" -E Якщо ввімкнений, паÑтка ERR уÑпадковуєтьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñми оболонки.\n"
+" -H Ввімкнути підÑтавлÑÐ½Ð½Ñ Ñ–Ñторії за допомогою !. Цей параметр "
+"зазвичай\n"
+" ввімкнено у інтерактивних оболонках.\n"
+" -P Ðе переходити за Ñимволічними поÑиланнÑми при запуÑку команд,\n"
+" таких Ñк cd, Ñка змінює поточну директорію.\n"
+" -T Якщо ввімкнений, паÑтка DEBUG буде уÑпадковуватиÑÑ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñми\n"
+" оболонки.\n"
+" - Призначити аргументи, що залишилиÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ð¹Ð½Ð¸Ð¼ параметрам.\n"
+" Параметри -x та -v вимикаютьÑÑ.\n"
+" \n"
+" Вимкнути параметр можна вказавши + заміÑÑ‚ÑŒ -. Параметри можна змінювати\n"
+" й піÑÐ»Ñ Ð·Ð°Ð¿ÑƒÑку оболонки. Ðаразі ввімкнені параметри можна побачити у\n"
+" змінній $-. Залишкові аргументи вважаютьÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ð¹Ð½Ð¸Ð¼Ð¸ параметрами\n"
+" та призначаютьÑÑ Ð¿Ð¾ порÑдку відповідно до $1 $2, .. $n. Якщо ÐРГУМЕÐТИ "
+"не\n"
+" вказані, виводитьÑÑ ÑпиÑок уÑÑ–Ñ… змінних оболонки.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказані правильні параметри."
+
+#: builtins.c:1112
+msgid ""
+"Unset values and attributes of shell variables and functions.\n"
+" \n"
+" For each NAME, remove the corresponding variable or function.\n"
+" \n"
+" Options:\n"
+" -f\ttreat each NAME as a shell function\n"
+" -v\ttreat each NAME as a shell variable\n"
+" \n"
+" Without options, unset first tries to unset a variable, and if that "
+"fails,\n"
+" tries to unset a function.\n"
+" \n"
+" Some variables cannot be unset; also see `readonly'.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or a NAME is read-only."
+msgstr ""
+"Скидає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° параметри змінних та функцій оболонки.\n"
+" \n"
+" Вилучає змінні чи функції, вказані за ІМЕÐÐМИ.\n"
+" \n"
+" Параметри:\n"
+" -f\tІМЕÐÐ Ñ” функціÑми оболонки.\n"
+" -v\tІМЕÐÐ Ñ” змінними оболонки.\n"
+" \n"
+" Без параметрів, unset Ñпочатку намагаєтьÑÑ Ñкинути змінну, Ñкщо це не\n"
+" вдаÑÑ‚ÑŒÑÑ, тоді функцію.\n"
+" \n"
+" ДеÑкі змінні не можуть бути Ñкинутими; див. `readonly'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано неправильний параметр чи "
+"ІМ’Я\n"
+" доÑтупне лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ."
+
+#: builtins.c:1132
+msgid ""
+"Set export attribute for shell variables.\n"
+" \n"
+" Marks each NAME for automatic export to the environment of subsequently\n"
+" executed commands. If VALUE is supplied, assign VALUE before "
+"exporting.\n"
+" \n"
+" Options:\n"
+" -f\trefer to shell functions\n"
+" -n\tremove the export property from each NAME\n"
+" -p\tdisplay a list of all exported variables and functions\n"
+" \n"
+" An argument of `--' disables further option processing.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+"Вмикає влаÑтивіÑÑ‚ÑŒ екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ñ… оболонки.\n"
+" \n"
+" Позначає кожне з Ð†ÐœÐ•Ð Ð´Ð»Ñ ÐµÐºÑпорту у Ð¾Ñ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð¿ÑƒÑ‰ÐµÐ½Ð¸Ñ… надалі команд.\n"
+" Якщо вказане ЗÐÐЧЕÐÐЯ, призначає ЗÐÐЧЕÐÐЯ перед тим, Ñк екÑпортувати.\n"
+" \n"
+" Параметри:\n"
+" -f\tПрацювати з функціÑми оболонки.\n"
+" -n\tВимкнути влаÑтивіÑÑ‚ÑŒ екÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° ІМЕÐÐÐ¥.\n"
+" -p\tВивеÑти ÑпиÑок уÑÑ–Ñ… екÑпортованих змінних та функцій.\n"
+" \n"
+" Ðргумент `--' вимикає подальший аналіз параметрів.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри та ІМЕÐÐ."
+
+#: builtins.c:1151
+msgid ""
+"Mark shell variables as unchangeable.\n"
+" \n"
+" Mark each NAME as read-only; the values of these NAMEs may not be\n"
+" changed by subsequent assignment. If VALUE is supplied, assign VALUE\n"
+" before marking as read-only.\n"
+" \n"
+" Options:\n"
+" -a\trefer to indexed array variables\n"
+" -A\trefer to associative array variables\n"
+" -f\trefer to shell functions\n"
+" -p\tdisplay a list of all readonly variables and functions\n"
+" \n"
+" An argument of `--' disables further option processing.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+"Робить змінні оболонки незмінними.\n"
+" \n"
+" Позначає кожне з ІМЕРÑк незмінне; піÑÐ»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð†ÐœÐ•Ð Ð½Ðµ можуть\n"
+" бути змінені призначеннÑм. Якщо вказане ЗÐÐЧЕÐÐЯ, воно призначаєтьÑÑ, "
+"перш\n"
+" ніж змінну буде позначено незмінною.\n"
+" \n"
+" Параметри:\n"
+" -a\tПрацювати з індекÑованими маÑивами.\n"
+" -A\tПрацювати з аÑоціативними маÑивами.\n"
+" -f\tПрацювати з функціÑми оболонки.\n"
+" -p\tВивеÑти ÑпиÑок вÑÑ–Ñ… незмінних змінних та функцій.\n"
+" \n"
+" Ðргумент `--' вимикає подальший аналіз параметрів.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри та ІМЕÐÐ."
+
+#: builtins.c:1172
+msgid ""
+"Shift positional parameters.\n"
+" \n"
+" Rename the positional parameters $N+1,$N+2 ... to $1,$2 ... If N is\n"
+" not given, it is assumed to be 1.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless N is negative or greater than $#."
+msgstr ""
+"ЗÑуває позиційні параметри.\n"
+" \n"
+" Перейменовує позиційні параметри $N+1,$N+2 ... у $1,$2 ... Якщо N не\n"
+" вказане, беретьÑÑ 1.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо N менше за нуль чи більше за $#."
+
+#: builtins.c:1184 builtins.c:1199
+msgid ""
+"Execute commands from a file in the current shell.\n"
+" \n"
+" Read and execute commands from FILENAME in the current shell. The\n"
+" entries in $PATH are used to find the directory containing FILENAME.\n"
+" If any ARGUMENTS are supplied, they become the positional parameters\n"
+" when FILENAME is executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed in FILENAME; fails if\n"
+" FILENAME cannot be read."
+msgstr ""
+"Виконує команди з файлу у поточній оболонці.\n"
+" \n"
+" Читає та виконує команди з ФÐЙЛУ у поточній оболонці. Елементи $PATH\n"
+" викориÑтовуютьÑÑ Ð¿Ñ€Ð¸ пошуку ФÐЙЛУ. Якщо вказані ÐРГУМЕÐТИ, вони Ñтають\n"
+" позиційними параметрами при запуÑку ФÐЙЛУ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої команди, виконаної у ФÐЙЛІ, "
+"або\n"
+" помилку, Ñкщо ФÐЙЛ не вдаєтьÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸."
+
+#: builtins.c:1215
+msgid ""
+"Suspend shell execution.\n"
+" \n"
+" Suspend the execution of this shell until it receives a SIGCONT signal.\n"
+" Unless forced, login shells cannot be suspended.\n"
+" \n"
+" Options:\n"
+" -f\tforce the suspend, even if the shell is a login shell\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+"ПризупинÑÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸.\n"
+" \n"
+" ПризупинÑÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸ до Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñигналу SIGCONT. Зазвичай,\n"
+" оболонки ÑеанÑу не можуть бути призупинені.\n"
+" \n"
+" Параметри:\n"
+" -f\tПризупинити, навіть Ñкщо це оболонка ÑеанÑу.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо не ввімкнене ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñми чи\n"
+" Ñкщо трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:1231
+#, fuzzy
+msgid ""
+"Evaluate conditional expression.\n"
+" \n"
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
+" expressions are often used to examine the status of a file. There\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
+" \n"
+" File operators:\n"
+" \n"
+" -a FILE True if file exists.\n"
+" -b FILE True if file is block special.\n"
+" -c FILE True if file is character special.\n"
+" -d FILE True if file is a directory.\n"
+" -e FILE True if file exists.\n"
+" -f FILE True if file exists and is a regular file.\n"
+" -g FILE True if file is set-group-id.\n"
+" -h FILE True if file is a symbolic link.\n"
+" -L FILE True if file is a symbolic link.\n"
+" -k FILE True if file has its `sticky' bit set.\n"
+" -p FILE True if file is a named pipe.\n"
+" -r FILE True if file is readable by you.\n"
+" -s FILE True if file exists and is not empty.\n"
+" -S FILE True if file is a socket.\n"
+" -t FD True if FD is opened on a terminal.\n"
+" -u FILE True if the file is set-user-id.\n"
+" -w FILE True if the file is writable by you.\n"
+" -x FILE True if the file is executable by you.\n"
+" -O FILE True if the file is effectively owned by you.\n"
+" -G FILE True if the file is effectively owned by your group.\n"
+" -N FILE True if the file has been modified since it was last "
+"read.\n"
+" \n"
+" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
+" modification date).\n"
+" \n"
+" FILE1 -ot FILE2 True if file1 is older than file2.\n"
+" \n"
+" FILE1 -ef FILE2 True if file1 is a hard link to file2.\n"
+" \n"
+" String operators:\n"
+" \n"
+" -z STRING True if string is empty.\n"
+" \n"
+" -n STRING\n"
+" STRING True if string is not empty.\n"
+" \n"
+" STRING1 = STRING2\n"
+" True if the strings are equal.\n"
+" STRING1 != STRING2\n"
+" True if the strings are not equal.\n"
+" STRING1 < STRING2\n"
+" True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+" STRING1 > STRING2\n"
+" True if STRING1 sorts after STRING2 lexicographically.\n"
+" \n"
+" Other operators:\n"
+" \n"
+" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
+" ! EXPR True if expr is false.\n"
+" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+" \n"
+" arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,\n"
+" -lt, -le, -gt, or -ge.\n"
+" \n"
+" Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+" less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+" than ARG2.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
+" false or an invalid argument is given."
+msgstr ""
+"ПеревірÑÑ” умовний вираз.\n"
+" \n"
+" ЗавершуєтьÑÑ Ð· кодом 0 (Ñ–Ñтинний) чи 1 (хибний), в залежноÑÑ‚Ñ– від\n"
+" результату Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð’Ð˜Ð ÐЗУ. Вирази можуть бути унарними чи бінарними.\n"
+" Унарні вирази чаÑто викориÑтовуютьÑÑ Ð´Ð»Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð»Ð°ÑтивоÑтей файлу.\n"
+" Також Ñ” оператори Ð´Ð»Ñ Ñ€Ñдків та Ð´Ð»Ñ Ð¿Ð¾Ñ€Ñ–Ð²Ð½ÑÐ½Ð½Ñ Ñ‡Ð¸Ñел.\n"
+" \n"
+" Файлові оператори:\n"
+" \n"
+" -a файл ІÑтинний, Ñкщо файл Ñ–Ñнує.\n"
+" -b файл ІÑтинний, Ñкщо файл Ñ” блоковим приÑтроєм.\n"
+" -c файл ІÑтинний, Ñкщо файл Ñ” Ñимвольним приÑтроєм.\n"
+" -d файл ІÑтинний, Ñкщо файл Ñ” директорією.\n"
+" -e файл ІÑтинний, Ñкщо файл Ñ–Ñнує.\n"
+" -f файл ІÑтинний, Ñкщо файл Ñ–Ñнує та Ñ” звичайним файлом.\n"
+" -g файл ІÑтинний, Ñкщо файл має вÑтановлений біт `set-group-"
+"id'.\n"
+" -h файл ІÑтинний, Ñкщо файл Ñ” Ñимволічним поÑиланнÑм.\n"
+" -L файл ІÑтинний, Ñкщо файл Ñ” Ñимволічним поÑиланнÑм.\n"
+" -k файл ІÑтинний, Ñкщо файл має вÑтановленим біт `sticky'.\n"
+" -p файл ІÑтинний, Ñкщо файл Ñ” іменованим каналом.\n"
+" -r файл ІÑтинний, Ñкщо ви можете читати файл.\n"
+" -s файл ІÑтинний, Ñкщо файл Ñ–Ñнує Ñ– не Ñ” порожнім.\n"
+" -S файл ІÑтинний, Ñкщо файл Ñ” Ñокетом.\n"
+" -t деÑкриптор ІÑтинний, Ñкщо деÑкриптор відкритий у терміналі.\n"
+" -u файл ІÑтинний, Ñкщо файл має вÑтановлений біт `set-user-"
+"id'.\n"
+" -w файл ІÑтинний, Ñкщо ви можете запиÑувати до файлу.\n"
+" -x файл ІÑтинний, Ñкщо ви можете виконати файл.\n"
+" -O файл ІÑтинний, Ñкщо ви Ñ” влаÑником файлу.\n"
+" -G файл ІÑтинний, Ñкщо ваша група Ñ” влаÑником файлу.\n"
+" -N файл ІÑтинний, Ñкщо файл був змінений піÑÐ»Ñ Ð¾Ñтаннього\n"
+" читаннÑ\n"
+" \n"
+" файл1 -nt файл2 ІÑтинний, Ñкщо файл1 новіший за файл2 (за датою "
+"зміни).\n"
+" \n"
+" файл1 -ot файл2 ІÑтинний, Ñкщо файл1 Ñтаріший за файл2.\n"
+" \n"
+" файл1 -ef файл2 ІÑтинний, Ñкщо файл1 Ñ” жорÑтким поÑиланнÑм на файл2.\n"
+" \n"
+" Оператори з Ñ€Ñдками:\n"
+" \n"
+" -z Ñ€Ñдок ІÑтинний, Ñкщо Ñ€Ñдок порожній.\n"
+" \n"
+" -n Ñ€Ñдок\n"
+" Ñ€Ñдок ІÑтинний, Ñкщо Ñ€Ñдок не порожній.\n"
+" \n"
+" Ñ€Ñдок1 = Ñ€Ñдок2\n"
+" ІÑтинний, Ñкщо Ñ€Ñдки однакові.\n"
+" Ñ€Ñдок1 != Ñ€Ñдок2\n"
+" ІÑтинний, Ñкщо Ñ€Ñдки не однакові.\n"
+" Ñ€Ñдок1 < Ñ€Ñдок2\n"
+" ІÑтинний, Ñкщо при лекÑикографічному Ñортуванні Ñ€Ñдок1\n"
+" буде іти перед Ñ€Ñдком\n"
+" Ñ€Ñдок1 > Ñ€Ñдок2\n"
+" ІÑтинний, Ñкщо при лекÑикографічному Ñортуванні Ñ€Ñдок1\n"
+" ітиме піÑÐ»Ñ Ñ€Ñдка2.\n"
+" \n"
+" Інші оператори:\n"
+" \n"
+" -o параметр ІÑтинний, Ñкщо параметр оболонки ввімкнено.\n"
+" ! вираз ІÑтинний, Ñкщо вираз хибний.\n"
+" вираз1 -a вираз2 ІÑтинний, Ñкщо обидва вирази Ñ–Ñтинні.\n"
+" вираз1 -o вираз2 ІÑтинний, Ñкщо хоч один з виразів Ñ–Ñтинний.\n"
+" \n"
+" аргумент1 ОПЕРÐТОР аргумент2\n"
+" Ðрифметичне порівнÑннÑ. ОПЕРÐТОР може бути: -eq, -ne,\n"
+" -lt, -le, -gt, чи -ge.\n"
+" \n"
+" Ðрифметичні бінарні оператори Ñ–Ñтинні, Ñкщо аргумент1 рівний, не "
+"рівний,\n"
+" менший, менший чи рівний, більший, чи більший чи рівний аргументу2.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо ВИРÐЗ Ñ–Ñтинний; невдало, Ñкщо "
+"вказано\n"
+" невірний аргумент чи ВИРÐЗ хибний."
+
+#: builtins.c:1311
+msgid ""
+"Evaluate conditional expression.\n"
+" \n"
+" This is a synonym for the \"test\" builtin, but the last argument must\n"
+" be a literal `]', to match the opening `['."
+msgstr ""
+"ПеревірÑÑ” умовний вираз.\n"
+" \n"
+" Це Ñинонім до вбудованої команди \"test\", але на відміну від неї "
+"оÑтаннім\n"
+" аргументом має бути `]'."
+
+#: builtins.c:1320
+#, fuzzy
+msgid ""
+"Display process times.\n"
+" \n"
+" Prints the accumulated user and system times for the shell and all of "
+"its\n"
+" child processes.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"Показує Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу.\n"
+" \n"
+" Виводить збірний Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¸ та Ñ—Ñ— нащадків на рівні\n"
+" кориÑтувача та на рівні ÑиÑтеми.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завжди уÑпішна."
+
+#: builtins.c:1332
+#, fuzzy
+msgid ""
+"Trap signals and other events.\n"
+" \n"
+" Defines and activates handlers to be run when the shell receives "
+"signals\n"
+" or other conditions.\n"
+" \n"
+" ARG is a command to be read and executed when the shell receives the\n"
+" signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC\n"
+" is supplied) or `-', each specified signal is reset to its original\n"
+" value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+" shell and by the commands it invokes.\n"
+" \n"
+" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. "
+"If\n"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
+" \n"
+" If no arguments are supplied, trap prints the list of commands "
+"associated\n"
+" with each signal.\n"
+" \n"
+" Options:\n"
+" -l\tprint a list of signal names and their corresponding numbers\n"
+" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
+" \n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
+"number.\n"
+" Signal names are case insensitive and the SIG prefix is optional. A\n"
+" signal may be sent to the shell with \"kill -signal $$\".\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a SIGSPEC is invalid or an invalid option is "
+"given."
+msgstr ""
+"Ставить паÑтки на Ñигнали чи інші події.\n"
+" \n"
+" Визначає та активує обробники Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¸Ñ… оболонкою Ñигналів чи інших\n"
+" подій.\n"
+" \n"
+" ÐРГУМЕÐТ Ñ” командою, Ñку буде запущено оболонкою при отриманні\n"
+" СИГÐÐЛУ(ІВ). Якщо ÐРГУМЕÐТ не вказано (а СИГÐÐЛ вказано) або вказано\n"
+" `-' Ñк ÐРГУМЕÐТ, кожен вказаний СИГÐÐЛ вÑтановлюєтьÑÑ Ñƒ його\n"
+" початковий Ñтан. Якщо ÐРГУМЕÐТ Ñ” порожнім Ñ€Ñдком, СИГÐÐЛ(И) буде\n"
+" ігноруватиÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ¾ÑŽ та запущеними з неї командами.\n"
+" \n"
+" Якщо СИГÐÐЛ Ñ” EXIT (0), ÐРГУМЕÐТ буде виконано при виході з оболонки. "
+"Якщо\n"
+" СИГÐÐЛ Ñ” DEBUG, ÐРГУМЕÐТ буде виконуватиÑÑ Ð¿ÐµÑ€ÐµÐ´ кожною проÑтою "
+"командою.\n"
+" \n"
+" Якщо аргументи взагалі не вказані, trap надрукує ÑпиÑок команд,\n"
+" призначених до Ñигналів.\n"
+" \n"
+" Параметри:\n"
+" -l\tВивеÑти ÑпиÑок Ñигналів та Ñ—Ñ… номерів.\n"
+" -p\tПоказати команди, призначені СИГÐÐЛÐÐœ.\n"
+" \n"
+" Кожен з СИГÐÐЛІВ має бути або назвою Ñигналу з <signal.h> або номером\n"
+" номером Ñигналу. Ðазви Ñигналів нечутливі до регіÑтру літер, Ð¿Ñ€ÐµÑ„Ñ–ÐºÑ "
+"SIG\n"
+" не обов’Ñзковий. Сигнал можна надіÑлати оболонці за допомогою\n"
+" \"kill -signal $$\".\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказані правильні параметри та "
+"СИГÐÐЛИ."
+
+#: builtins.c:1368
+msgid ""
+"Display information about command type.\n"
+" \n"
+" For each NAME, indicate how it would be interpreted if used as a\n"
+" command name.\n"
+" \n"
+" Options:\n"
+" -a\tdisplay all locations containing an executable named NAME;\n"
+" \tincludes aliases, builtins, and functions, if and only if\n"
+" \tthe `-p' option is not also used\n"
+" -f\tsuppress shell function lookup\n"
+" -P\tforce a PATH search for each NAME, even if it is an alias,\n"
+" \tbuiltin, or function, and returns the name of the disk file\n"
+" \tthat would be executed\n"
+" -p\treturns either the name of the disk file that would be executed,\n"
+" \tor nothing if `type -t NAME' would not return `file'.\n"
+" -t\toutput a single word which is one of `alias', `keyword',\n"
+" \t`function', `builtin', `file' or `', if NAME is an alias, shell\n"
+" \treserved word, shell function, shell builtin, disk file, or not\n"
+" \tfound, respectively\n"
+" \n"
+" Arguments:\n"
+" NAME\tCommand name to be interpreted.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if all of the NAMEs are found; fails if any are not "
+"found."
+msgstr ""
+"Показує тип команди.\n"
+" \n"
+" Ð”Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ ІМЕÐІ показує, Ñк воно буде ÑприйнÑте, введене Ñк команда.\n"
+" \n"
+" Параметри:\n"
+" -a\tПоказати уÑÑ– можливі інтерпретації ІМЕÐІ; Ñкщо не вказано\n"
+" \tпараметр `-p', охоплює також пÑевдоніми, вбудовані команди, функції.\n"
+" -f\tÐе шукати Ñеред функцій оболонки.\n"
+" -P\tВиводити лише диÑкові команди, знайдені за PATH.\n"
+" -p\tВивеÑти лише Ñ–Ð¼â€™Ñ Ñ„Ð°Ð¹Ð»Ñƒ на диÑку, або нічого.\n"
+" -t\tВивеÑти одне Ñлово, що вказує тип — `alias', `keyword',\n"
+" \t`function', `builtin', `file' чи `', Ñкщо ІМ’Я відповідно Ñ”\n"
+" \tпÑевдонімом, зарезервованим Ñловом оболонки, функцією оболонки\n"
+" \tвбудованою командою оболонки, файлом на диÑку чи не знайдене.\n"
+" \n"
+" Ðргументи:\n"
+" ІМ’Я\tÐ†Ð¼â€™Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð´Ð»Ñ Ñ–Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚Ð°Ñ†Ñ–Ñ—.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо буде знайдено уÑÑ– ІМЕÐÐ; невдало, "
+"Ñкщо\n"
+" хоч одне з них не вдаÑÑ‚ÑŒÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸."
+
+#: builtins.c:1399
+msgid ""
+"Modify shell resource limits.\n"
+" \n"
+" Provides control over the resources available to the shell and "
+"processes\n"
+" it creates, on systems that allow such control.\n"
+" \n"
+" Options:\n"
+" -S\tuse the `soft' resource limit\n"
+" -H\tuse the `hard' resource limit\n"
+" -a\tall current limits are reported\n"
+" -b\tthe socket buffer size\n"
+" -c\tthe maximum size of core files created\n"
+" -d\tthe maximum size of a process's data segment\n"
+" -e\tthe maximum scheduling priority (`nice')\n"
+" -f\tthe maximum size of files written by the shell and its children\n"
+" -i\tthe maximum number of pending signals\n"
+" -l\tthe maximum size a process may lock into memory\n"
+" -m\tthe maximum resident set size\n"
+" -n\tthe maximum number of open file descriptors\n"
+" -p\tthe pipe buffer size\n"
+" -q\tthe maximum number of bytes in POSIX message queues\n"
+" -r\tthe maximum real-time scheduling priority\n"
+" -s\tthe maximum stack size\n"
+" -t\tthe maximum amount of cpu time in seconds\n"
+" -u\tthe maximum number of user processes\n"
+" -v\tthe size of virtual memory\n"
+" -x\tthe maximum number of file locks\n"
+" \n"
+" If LIMIT is given, it is the new value of the specified resource; the\n"
+" special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
+" current soft limit, the current hard limit, and no limit, respectively.\n"
+" Otherwise, the current value of the specified resource is printed. If\n"
+" no option is given, then -f is assumed.\n"
+" \n"
+" Values are in 1024-byte increments, except for -t, which is in seconds,\n"
+" -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
+" number of processes.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"Змінює Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€ÐµÑурÑів оболонки.\n"
+" \n"
+" ДозволÑÑ” керувати доÑтупними оболонці та Ñтвореним нею процеÑам "
+"реÑурÑами,\n"
+" Ñкщо це підтримуєтьÑÑ ÑиÑтемою.\n"
+" \n"
+" Параметри:\n"
+" -S\tВикориÑтовувати `soft' обмеженнÑ.\n"
+" -H\tВикориÑтовувати `hard' обмеженнÑ.\n"
+" -a\tÐадати звіт про поточні обмеженнÑ.\n"
+" -b\tРозмір буфера Ñокетів.\n"
+" -c\tМакÑимальний розмір файлу дампу пам’ÑÑ‚Ñ–.\n"
+" -d\tМакÑимальний розмір Ñегменту даних процеÑу.\n"
+" -e\tМакÑимальний пріоритет Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ (`nice').\n"
+" -f\tМакÑимальний розмір файлів, запиÑаних оболонкою та нащадками.\n"
+" -i\tМакÑимальна кількіÑÑ‚ÑŒ Ñигналів, що очікують обробки.\n"
+" -l\tМакÑимальний розмір, Ñкий Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¼Ð¾Ð¶Ðµ заблокувати в пам’ÑÑ‚Ñ–.\n"
+" -m\tМакÑимальний розмір резидентного набору.\n"
+" -n\tМакÑимальна кількіÑÑ‚ÑŒ відкритих файлових деÑкрипторів.\n"
+" -p\tРозмір буфера каналу.\n"
+" -q\tМакÑимальний розмір Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ чергах повідомлень POSIX\n"
+" \t(у байтах).\n"
+" -r\tМакÑимальний пріоритет Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñƒ реальному чаÑÑ–.\n"
+" -s\tМакÑимальний розмір Ñтеку.\n"
+" -t\tМакÑимальний Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑору (у Ñекундах).\n"
+" -u\tМакÑимальна кількіÑÑ‚ÑŒ процеÑів кориÑтувача.\n"
+" -v\tРозмір віртуальної пам’ÑÑ‚Ñ–.\n"
+" -x\tМакÑимальна кількіÑÑ‚ÑŒ блокувань файлів.\n"
+" \n"
+" Якщо вказане ОБМЕЖЕÐÐЯ, воно вÑтановлюєтьÑÑ Ñк нове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ\n"
+" викориÑÑ‚Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ реÑурÑу; Ñпеціальні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐžÐ‘ÐœÐ•Ð–Ð•ÐÐЯ `soft',\n"
+" `hard', та `unlimited' означають, відповідно, поточне м’Ñке обмеженнÑ,\n"
+" поточне жорÑтке Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° відÑутніÑÑ‚ÑŒ обмежень. Якщо ОБМЕЖЕÐÐЯ не\n"
+" вказане, виводитьÑÑ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ реÑурÑу. Якщо не вказано\n"
+" жодного параметру, беретьÑÑ -f.\n"
+" \n"
+" Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ змінюватиÑÑ Ñ–Ð· кроком у 1024 байти, за виключеннÑм -t,\n"
+" що вказуєтьÑÑ Ð² Ñекундах, -p, Ñке має крок 512 байтів та -u, що Ñ”\n"
+" кількіÑÑ‚ÑŽ процеÑів без кроку.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано неправильний параметр чи\n"
+" трапилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:1444
+msgid ""
+"Display or set file mode mask.\n"
+" \n"
+" Sets the user file-creation mask to MODE. If MODE is omitted, prints\n"
+" the current value of the mask.\n"
+" \n"
+" If MODE begins with a digit, it is interpreted as an octal number;\n"
+" otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
+" \n"
+" Options:\n"
+" -p\tif MODE is omitted, output in a form that may be reused as input\n"
+" -S\tmakes the output symbolic; otherwise an octal number is output\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless MODE is invalid or an invalid option is given."
+msgstr ""
+"Ð’Ñтановлює чи показує маÑку дозволів Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð².\n"
+" \n"
+" Ð’Ñтановлює ÐœÐСКУ дозволів Ð´Ð»Ñ Ñтворених файлів. Якщо ÐœÐСКУ не вказано,\n"
+" виводить поточне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñки.\n"
+" \n"
+" Якщо ÐœÐСКРпочинаєтьÑÑ Ð· цифри, вона вважаєтьÑÑ Ð²Ñ–Ñімковим чиÑлом;\n"
+" Ñкщо ні — вона має бути Ñ€Ñдком Ñимвольного режиму, подібним до того, що\n"
+" викориÑтовуєтьÑÑ chmod(1).\n"
+" \n"
+" Параметри:\n"
+" -p\tЯкщо ÐœÐСКУ не вказано, вивеÑти Ñ—Ñ— у формі, придатній Ð´Ð»Ñ "
+"виконаннÑ.\n"
+" -S\tВиводити у Ñимвольному режимі; інакше виводитьÑÑ Ð²Ñ–Ñімкове чиÑло.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильну ÐœÐСКУ та параметри."
+
+#: builtins.c:1464
+msgid ""
+"Wait for job completion and return exit status.\n"
+" \n"
+" Waits for the process identified by ID, which may be a process ID or a\n"
+" job specification, and reports its termination status. If ID is not\n"
+" given, waits for all currently active child processes, and the return\n"
+" status is zero. If ID is a a job specification, waits for all "
+"processes\n"
+" in the job's pipeline.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of ID; fails if ID is invalid or an invalid option "
+"is\n"
+" given."
+msgstr ""
+"Чекає Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ñ‚Ð° повертає його код завершеннÑ.\n"
+" \n"
+" Очікує Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ процеÑу, вказаного за ІДЕÐТИФІКÐТОРОМ, що може\n"
+" бути ідентифікатором процеÑу чи завданнÑ, та повертає його код "
+"завершеннÑ.\n"
+" Якщо ІДЕÐТИФІКÐТОР не вказано, очікує Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… активних дочірніх\n"
+" процеÑів та повертає код 0. Якщо ІДЕÐТИФІКÐТОР Ñ” завданнÑм, очікує на\n"
+" Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… процеÑів у ланцюжку завданнÑ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ завданнÑ; помилку, Ñкщо "
+"вказано\n"
+" неправильні параметри чи ІДЕÐТИФІКÐТОР."
+
+#: builtins.c:1482
+msgid ""
+"Wait for process completion and return exit status.\n"
+" \n"
+" Waits for the specified process and reports its termination status. If\n"
+" PID is not given, all currently active child processes are waited for,\n"
+" and the return code is zero. PID must be a process ID.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of ID; fails if ID is invalid or an invalid option "
+"is\n"
+" given."
+msgstr ""
+"Очікує на Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ процеÑу та повертає його код завершеннÑ.\n"
+" \n"
+" Очікує поки завершитьÑÑ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ Ð¿Ñ€Ð¾Ñ†ÐµÑ Ñ‚Ð° доповідає про його "
+"уÑпішніÑÑ‚ÑŒ.\n"
+" Якщо ІДЕÐТИФІКÐТОР-ПРОЦЕСУ не вказаний, очікує Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÑƒÑÑ–Ñ… дочірніх\n"
+" процеÑів й завершуєтьÑÑ Ð· кодом 0. ІДЕÐТИФІКÐТОР має бути "
+"ідентифікатором\n"
+" процеÑу.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ процеÑу; помилку, Ñкщо "
+"вказано\n"
+" неправильний ІДЕÐТИФІКÐТОР чи параметр."
+
+#: builtins.c:1497
+#, fuzzy
+msgid ""
+"Execute commands for each member in a list.\n"
+" \n"
+" The `for' loop executes a sequence of commands for each member in a\n"
+" list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+" assumed. For each element in WORDS, NAME is set to that element, and\n"
+" the COMMANDS are executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Виконує команди, підÑтавлÑючи по черзі елементи ÑпиÑку.\n"
+" \n"
+" Цикл `for' виконує поÑлідовніÑÑ‚ÑŒ команд Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ елементу ÑпиÑку.\n"
+" Якщо `in СЛОВР...;' не вказано, тоді беретьÑÑ `in \"$@\"'. ІМ’Я\n"
+" поÑлідовно вÑтановлюєтьÑÑ Ñƒ кожне зі СЛІВ та виконуютьÑÑ ÐšÐžÐœÐÐДИ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1511
+msgid ""
+"Arithmetic for loop.\n"
+" \n"
+" Equivalent to\n"
+" \t(( EXP1 ))\n"
+" \twhile (( EXP2 )); do\n"
+" \t\tCOMMANDS\n"
+" \t\t(( EXP3 ))\n"
+" \tdone\n"
+" EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is\n"
+" omitted, it behaves as if it evaluates to 1.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Ðрифметичний цикл.\n"
+" \n"
+" Те ж Ñаме, що й\n"
+" \t(( ВИРÐЗ1 ))\n"
+" \twhile (( ВИРÐЗ2 )); do\n"
+" \t\tКОМÐÐДИ\n"
+" \t\t(( ВИРÐЗ3 ))\n"
+" \tdone\n"
+" ВИРÐЗИ мають бути арифметичними виразами. Якщо будь-Ñкий з них не\n"
+" вказаний, цикл поводитьÑÑ, Ñк ніби його результатом Ñ” 1.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1529
+msgid ""
+"Select words from a list and execute commands.\n"
+" \n"
+" The WORDS are expanded, generating a list of words. The\n"
+" set of expanded words is printed on the standard error, each\n"
+" preceded by a number. If `in WORDS' is not present, `in \"$@\"'\n"
+" is assumed. The PS3 prompt is then displayed and a line read\n"
+" from the standard input. If the line consists of the number\n"
+" corresponding to one of the displayed words, then NAME is set\n"
+" to that word. If the line is empty, WORDS and the prompt are\n"
+" redisplayed. If EOF is read, the command completes. Any other\n"
+" value read causes NAME to be set to null. The line read is saved\n"
+" in the variable REPLY. COMMANDS are executed after each selection\n"
+" until a break command is executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Пропонує вибрати Ñлово та виконує відповідні команди.\n"
+" \n"
+" СЛОВРрозгортаютьÑÑ, утворюючи ÑпиÑок Ñлів. Отриманий ÑпиÑок Ñлів\n"
+" виводитьÑÑ Ð¿Ñ€Ð¾Ð½ÑƒÐ¼ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ð¼ до Ñтандартного виводу помилок. Якщо `in "
+"СЛОВÐ'\n"
+" не вказано, беретьÑÑ `in \"$@\"'. Тоді виводитьÑÑ Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ PS3 та зі\n"
+" Ñтандартного вводу зчитуєтьÑÑ Ñ€Ñдок. Якщо цей Ñ€Ñдок Ñ” чиÑлом, що вказує\n"
+" номер одного зі Ñлів, ІМ’Я вÑтановлюєтьÑÑ Ñƒ це Ñлово. Якщо Ñ€Ñдок "
+"порожній,\n"
+" СЛОВРта Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´ÑÑ‚ÑŒÑÑ Ð·Ð½Ð¾Ð². Якщо прочитано кінець файлу, "
+"команда\n"
+" завершуєтьÑÑ. Якщо Ñ€Ñдок міÑтить щоÑÑŒ інше, ІМЕÐІ призначаєтьÑÑ "
+"порожній\n"
+" Ñ€Ñдок. Прочитаний Ñ€Ñдок зберігаєтьÑÑ Ñƒ змінній REPLY. ПіÑÐ»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾\n"
+" Ð·Ñ‡Ð¸Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑŽÑ‚ÑŒÑÑ ÐšÐžÐœÐÐДИ. Команда продовжує Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ÐºÐ¸ не\n"
+" буде викликано команду break.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1550
+msgid ""
+"Report time consumed by pipeline's execution.\n"
+" \n"
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+" and system CPU time spent executing PIPELINE when it terminates.\n"
+" \n"
+" Options:\n"
+" -p\tprint the timing summary in the portable Posix format\n"
+" \n"
+" The value of the TIMEFORMAT variable is used as the output format.\n"
+" \n"
+" Exit Status:\n"
+" The return status is the return status of PIPELINE."
+msgstr ""
+"Доповідає про Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° команд.\n"
+" \n"
+" Виконує ЛÐÐЦЮЖОК та, по його завершенні, друкує звіт про Ñ‡Ð°Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора,\n"
+" витрачений кориÑтувачем, ÑиÑтемою та Ñумарно на Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð›ÐÐЦЮЖКÐ.\n"
+" \n"
+" Параметри:\n"
+" -p\tДрукує звіт у форматі, що відповідає Ñтандарту POSIX.\n"
+" \n"
+" Ð§Ð°Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒÑÑ Ñƒ форматі, вказаному у змінній TIMEFORMAT.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð›ÐÐЦЮЖКÐ-КОМÐÐД."
+
+#: builtins.c:1567
+#, fuzzy
+msgid ""
+"Execute commands based on pattern matching.\n"
+" \n"
+" Selectively execute COMMANDS based upon WORD matching PATTERN. The\n"
+" `|' is used to separate multiple patterns.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Вибірково виконує команди відповідно до шаблону.\n"
+" \n"
+" Вибірково виконує КОМÐÐДИ, в залежноÑÑ‚Ñ– від відповідноÑÑ‚Ñ– СЛОВР"
+"ШÐБЛОÐУ.\n"
+" Декілька шаблонів можуть бути вказані через `|'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1579
+msgid ""
+"Execute commands based on conditional.\n"
+" \n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then "
+"the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
+"is\n"
+" executed in turn, and if its exit status is zero, the corresponding\n"
+" `then COMMANDS' list is executed and the if command completes. "
+"Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of "
+"the\n"
+" entire construct is the exit status of the last command executed, or "
+"zero\n"
+" if no condition tested true.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Виконує команди відповідно до умови.\n"
+" \n"
+" КОМÐÐДИ з `if КОМÐÐДИ' виконуютьÑÑ, Ñ– Ñкщо Ñ—Ñ… код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹,\n"
+" виконуютьÑÑ ÐšÐžÐœÐÐДИ з `then КОМÐÐДИ'. Інакше в Ñвою чергу виконуютьÑÑ\n"
+" команди з `elif КОМÐÐДИ', Ñ– Ñкщо Ñ—Ñ… код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹, "
+"виконуютьÑÑ\n"
+" КОМÐÐДИ з відповідного `then КОМÐÐДИ'. Інакше виконуютьÑÑ ÐšÐžÐœÐÐДИ з\n"
+" `else КОМÐÐДИ'. Блоки elif та else не обов’Ñзкові.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди або нуль,\n"
+" Ñкщо жодна з перевірених умов не була Ñ–Ñтинною."
+
+#: builtins.c:1596
+msgid ""
+"Execute commands as long as a test succeeds.\n"
+" \n"
+" Expand and execute COMMANDS as long as the final command in the\n"
+" `while' COMMANDS has an exit status of zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Циклічно виконує команди поки виконуєтьÑÑ ÑƒÐ¼Ð¾Ð²Ð°.\n"
+" \n"
+" Виконуватиме КОМÐÐДИ, поки оÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° з КОМÐÐД у `while'\n"
+" не завершитьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1608
+msgid ""
+"Execute commands as long as a test does not succeed.\n"
+" \n"
+" Expand and execute COMMANDS as long as the final command in the\n"
+" `until' COMMANDS has an exit status which is not zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Виконує команди доки умову не буде виконано.\n"
+" \n"
+" Виконуватиме КОМÐÐДИ, поки оÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° з КОМÐÐД у `until'\n"
+" не завершитьÑÑ ÑƒÑпішно.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+# WTF? How can it return exit code of _asynchronous_ process...
+#: builtins.c:1620
+msgid ""
+"Create a coprocess named NAME.\n"
+" \n"
+" Execute COMMAND asynchronously, with the standard output and standard\n"
+" input of the command connected via a pipe to file descriptors assigned\n"
+" to indices 0 and 1 of an array variable NAME in the executing shell.\n"
+" The default NAME is \"COPROC\".\n"
+" \n"
+" Exit Status:\n"
+" Returns the exit status of COMMAND."
+msgstr ""
+"Створює ÑÐ¿Ñ–Ð²Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· іменем ІМ’Я.\n"
+" \n"
+" Починає аÑинхронне Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐšÐžÐœÐÐДИ, під’єднавши Ñ—Ñ— Ñтандартний ввід "
+"та\n"
+" вивід через канали до файлових деÑкрипторів, Ñкі приÑвоюютьÑÑ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°Ð¼ "
+"0\n"
+" та 1 змінної-маÑиву ІМ’Я.\n"
+" Стандартне Ñ–Ð¼â€™Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ— — \"COPROC\".\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐšÐžÐœÐÐДИ."
+
+#: builtins.c:1634
+msgid ""
+"Define shell function.\n"
+" \n"
+" Create a shell function named NAME. When invoked as a simple command,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is "
+"invoked,\n"
+" the arguments are passed to the function as $1...$n, and the function's\n"
+" name is in $FUNCNAME.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is readonly."
+msgstr ""
+"ОпиÑує функцію оболонки.\n"
+" \n"
+" Створює функцію оболонки з іменем ІМ’Я. Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð·Ð°Ð¿ÑƒÑкаєтьÑÑ Ñк "
+"звичайна\n"
+" команда з іменем ІМ’Я та поÑлідовно виконує КОМÐÐДИ. Ðргументи до "
+"команди\n"
+" призначаютьÑÑ Ð½Ð° Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¸Ð¼ $1...$n, а назва функції — "
+"змінній\n"
+" $FUNCNAME.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо ІМ’Я Ñ” незмінним."
+
+#: builtins.c:1648
+msgid ""
+"Group commands as a unit.\n"
+" \n"
+" Run a set of commands in a group. This is one way to redirect an\n"
+" entire set of commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"Групує команди в один блок.\n"
+" \n"
+" Виконує згрупований набір команд. Це один з методів Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ "
+"виводу\n"
+" групи команд.\n"
+" \n"
+" Код завершеннÑ:\n"
+" КонÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ‚Ð°Ñ” код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¾Ñтанньої виконаної команди."
+
+#: builtins.c:1660
+msgid ""
+"Resume job in foreground.\n"
+" \n"
+" Equivalent to the JOB_SPEC argument to the `fg' command. Resume a\n"
+" stopped or background job. JOB_SPEC can specify either a job name\n"
+" or a job number. Following JOB_SPEC with a `&' places the job in\n"
+" the background, as if the job specification had been supplied as an\n"
+" argument to `bg'.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the resumed job."
+msgstr ""
+"Продовжує Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð½Ð° передньому плані.\n"
+" \n"
+" Продовжує на передньому плані Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð¾Ð³Ð¾ чи фонового\n"
+" завданнÑ, Ñк це робить команда `fg'. ЗÐВДÐÐÐЯ може бути іменем чи "
+"номером\n"
+" завданнÑ. Якщо піÑÐ»Ñ Ð—ÐВДÐÐÐЯ вказано `&', Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÑƒÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ "
+"у\n"
+" фоні, тобто команда має ефект команди `bg'.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда повертає ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð¾Ð³Ð¾ завданнÑ."
+
+#: builtins.c:1675
+msgid ""
+"Evaluate arithmetic expression.\n"
+" \n"
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+" evaluation. Equivalent to \"let EXPRESSION\".\n"
+" \n"
+" Exit Status:\n"
+" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
+msgstr ""
+"ОбчиÑлює арифметичний вираз.\n"
+" \n"
+" ОбчиÑлює ВИРÐЗ відповідно до правил арифметичного розкриттÑ. Те ж Ñаме,\n"
+" що й \"let ВИРÐЗ\".\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо результат обчиÑÐ»ÐµÐ½Ð½Ñ Ð½ÐµÐ½ÑƒÐ»ÑŒÐ¾Ð²Ð¸Ð¹."
+
+#: builtins.c:1687
+msgid ""
+"Execute conditional command.\n"
+" \n"
+" Returns a status of 0 or 1 depending on the evaluation of the "
+"conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries "
+"used\n"
+" by the `test' builtin, and may be combined using the following "
+"operators:\n"
+" \n"
+" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
+" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
+" EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+" EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+" \n"
+" When the `==' and `!=' operators are used, the string to the right of\n"
+" the operator is used as a pattern and pattern matching is performed.\n"
+" When the `=~' operator is used, the string to the right of the operator\n"
+" is matched as a regular expression.\n"
+" \n"
+" The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+" determine the expression's value.\n"
+" \n"
+" Exit Status:\n"
+" 0 or 1 depending on value of EXPRESSION."
+msgstr ""
+"Виконує умовну команду.\n"
+" \n"
+" Повертає ÑÑ‚Ð°Ñ‚ÑƒÑ 0 чи 1, в залежноÑÑ‚Ñ– від результату обчиÑÐ»ÐµÐ½Ð½Ñ ÑƒÐ¼Ð¾Ð²Ð½Ð¾Ð³Ð¾\n"
+" ВИРÐЗУ. Вирази ÑкладаютьÑÑ Ð· тих Ñамих Ñкладових, що викориÑтовуютьÑÑ Ñƒ\n"
+" вбудованій команді `test', але можуть також комбінуватиÑÑ Ð·Ð° допомогою:\n"
+" \n"
+" ( ВИРÐЗ )\t\tПовертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð’Ð˜Ð ÐЗУ.\n"
+" ! ВИРÐЗ\t\tІÑтинний, Ñкщо ВИРÐЗ хибний.\n"
+" ВИРÐЗ1 && ВИРÐЗ2\tІÑтинний, Ñкщо обидва ВИРÐЗИ Ñ–Ñтинні.\n"
+" ВИРÐЗ1 || ВИРÐЗ2\tІÑтинний, Ñкщо хоч один з ВИРÐЗІВ Ñ–Ñтинний.\n"
+" \n"
+" Якщо заÑтоÑовуютьÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¸ `==' та `!=', Ñ€Ñдок з правої Ñторони\n"
+" вважаєтьÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼, й проводитьÑÑ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° на відповідніÑÑ‚ÑŒ цьому\n"
+" шаблону. При заÑтоÑуванні `=~' Ñ€Ñдок зліва вважаєтьÑÑ Ñ€ÐµÐ³ÑƒÐ»Ñрним\n"
+" виразом, відноÑно Ñкого перевірÑєтьÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð¹ Ñ€Ñдок.\n"
+" \n"
+" Оператори && та || не обчиÑлюють ВИРÐЗ2, Ñкщо ВИРÐЗУ1 доÑтатньо длÑ\n"
+" Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñƒ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо ВИРÐЗ Ñ–Ñтинний."
+
+#: builtins.c:1713
+#, fuzzy
+msgid ""
+"Common shell variable names and usage.\n"
+" \n"
+" BASH_VERSION\tVersion information for this Bash.\n"
+" CDPATH\tA colon-separated list of directories to search\n"
+" \t\tfor directories given as arguments to `cd'.\n"
+" GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+" \t\tbe ignored by pathname expansion.\n"
+" HISTFILE\tThe name of the file where your command history is stored.\n"
+" HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
+" HISTSIZE\tThe maximum number of history lines that a running\n"
+" \t\tshell can access.\n"
+" HOME\tThe complete pathname to your login directory.\n"
+" HOSTNAME\tThe name of the current host.\n"
+" HOSTTYPE\tThe type of CPU this version of Bash is running under.\n"
+" IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
+" \t\tcharacter as the sole input. If set, then the value\n"
+" \t\tof it is the number of EOF characters that can be seen\n"
+" \t\tin a row on an empty line before the shell will exit\n"
+" \t\t(default 10). When unset, EOF signifies the end of input.\n"
+" MACHTYPE\tA string describing the current system Bash is running on.\n"
+" MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+" MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+" \t\tfor new mail.\n"
+" OSTYPE\tThe version of Unix this version of Bash is running on.\n"
+" PATH\tA colon-separated list of directories to search when\n"
+" \t\tlooking for commands.\n"
+" PROMPT_COMMAND\tA command to be executed before the printing of each\n"
+" \t\tprimary prompt.\n"
+" PS1\t\tThe primary prompt string.\n"
+" PS2\t\tThe secondary prompt string.\n"
+" PWD\t\tThe full pathname of the current directory.\n"
+" SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+" TERM\tThe name of the current terminal type.\n"
+" TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+" \t\t`time' reserved word.\n"
+" auto_resume\tNon-null means a command word appearing on a line by\n"
+" \t\titself is first looked for in the list of currently\n"
+" \t\tstopped jobs. If found there, that job is foregrounded.\n"
+" \t\tA value of `exact' means that the command word must\n"
+" \t\texactly match a command in the list of stopped jobs. A\n"
+" \t\tvalue of `substring' means that the command word must\n"
+" \t\tmatch a substring of the job. Any other value means that\n"
+" \t\tthe command must be a prefix of a stopped job.\n"
+" histchars\tCharacters controlling history expansion and quick\n"
+" \t\tsubstitution. The first character is the history\n"
+" \t\tsubstitution character, usually `!'. The second is\n"
+" \t\tthe `quick substitution' character, usually `^'. The\n"
+" \t\tthird is the `history comment' character, usually `#'.\n"
+" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+" \t\tcommands should be saved on the history list.\n"
+msgstr ""
+"ВикориÑтовувані змінні оболонки.\n"
+" \n"
+" BASH_VERSION\tÐ†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ верÑÑ–ÑŽ Bash.\n"
+" CDPATH\tРозділений двокрапкою ÑпиÑок директорій, у Ñких оболонка буде\n"
+" \t\tшукати директорії, вказані команді `cd'.\n"
+" GLOBIGNORE\tРозділений двокрапкою ÑпиÑок шаблонів імен файлів, Ñкі "
+"будуть\n"
+" \t\tігноруватиÑÑ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ñ€Ð¾Ð·ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÑˆÐ»Ñхів.\n"
+" HISTFILE\tÐ†Ð¼â€™Ñ Ñ„Ð°Ð¹Ð»Ñƒ, де зберігаєтьÑÑ Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´.\n"
+" HISTFILESIZE\tÐайбільша дозволена кількіÑÑ‚ÑŒ запиÑів у файлі Ñ–Ñторії.\n"
+" HISTSIZE\tÐайбільша кількіÑÑ‚ÑŒ запиÑів, Ñкі може викориÑтовувати\n"
+" \t\tпрацююча оболонка.\n"
+" HOME\tПовний шлÑÑ… до вашої домівки.\n"
+" HOSTNAME\tÐ†Ð¼â€™Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— машини.\n"
+" HOSTTYPE\tТип процеÑора, на Ñкому виконуєтьÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ°.\n"
+" IGNOREEOF\tВизначає реакцію оболонки на Ñимвол ÐºÑ–Ð½Ñ†Ñ Ñ„Ð°Ð¹Ð»Ñƒ на вводі.\n"
+" \t\tЯкщо змінна визначена, Ñ—Ñ— Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” кількіÑÑ‚ÑŽ таких Ñимволів,\n"
+" \t\tщо можуть бути отримані під Ñ€Ñд й бути проігнорованими. Звичайне\n"
+" \t\tÐ·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ â€” 10. Якщо змінна не визначена, Ñимвол ÐºÑ–Ð½Ñ†Ñ Ñ„Ð°Ð¹Ð»Ñƒ\n"
+" \t\tозначатиме кінець вводу.\n"
+" MACHTYPE\tРÑдок, що опиÑує поточну ÑиÑтему, на Ñкій виконуєтьÑÑ Bash.\n"
+" MAILCHECK\tВизначає чаÑтоту перевірки пошти оболонкою.\n"
+" MAILPATH\tРозділений двокрапкою ÑпиÑок файлів, Ñкі оболонка буде\n"
+" \t\tперевірÑти на наÑвніÑÑ‚ÑŒ нової пошти.\n"
+" OSTYPE\tВаріант Unix, на Ñкому виконуєтьÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ð½ÐºÐ°.\n"
+" PATH\tРозділений двокрапкою ÑпиÑок директорій, де оболонка шукатиме\n"
+" \t\tвиконувані файли команд.\n"
+" PROMPT_COMMAND\tКоманда, Ñку оболонка буде виконувати перш ніж вивеÑти\n"
+" \t\tоÑновне Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ.\n"
+" PS1\t\tРÑдок оÑновного Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ.\n"
+" PS2\t\tРÑдок вторинного Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð²Ð²Ð¾Ð´Ñƒ.\n"
+" PWD\t\tПовний шлÑÑ… до поточної директорії.\n"
+" SHELLOPTS\tРозділений двокрапкою ÑпиÑок увімкнених параметрів оболонки.\n"
+" TERM\tТип поточного терміналу.\n"
+" TIMEFORMAT\tФормат виводу чаÑу командою `time'.\n"
+" auto_resume\tЯкщо вÑтановлена, введені команди, що ÑкладаютьÑÑ Ð·\n"
+" \t\tодного Ñлова, Ñпочатку будуть шукатиÑÑ Ñƒ ÑпиÑку наразі\n"
+" \t\tпризупинених завдань. Якщо таке Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð±ÑƒÐ´Ðµ знайдене, його буде\n"
+" \t\tпереведено на передній план. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— змінної `exact' означає,\n"
+" \t\tщо Ñлово має точно відповідати команді у ÑпиÑку завдань. ЗначеннÑ\n"
+" \t\t`substring' означає, що Ñлово має міÑтитиÑÑ Ñƒ команді завданнÑ.\n"
+" \t\tБудь-Ñке інше Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾Ð·Ð½Ð°Ñ‡Ð°Ñ”, що команда Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¼Ð°Ñ”\n"
+" \t\tпочинатиÑÑ Ð· вказаного Ñлова.\n"
+" histchars\tСимволи, що викориÑтовуютьÑÑ Ð´Ð»Ñ Ñ€Ð¾Ð·ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ–Ñторії та\n"
+" \t\tшвидкої заміни. Перший Ñимвол Ñ” Ñимволом підÑтавлÑÐ½Ð½Ñ Ñ–Ñторії,\n"
+" \t\tзазвичай це `!'. Другий — Ñимвол `швидкої заміни', зазичай `^'.\n"
+" \t\tТретій — Ñимвол `ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ Ñ–Ñторії', зазвичай це `#'.\n"
+" HISTIGNORE\tРозділений двокрапкою ÑпиÑок шаблонів, що викориÑтовуютьÑÑ\n"
+" \t\tпри визначенні, чи зберігати команду у ÑпиÑку Ñ–Ñторії.\n"
+
+#: builtins.c:1770
+msgid ""
+"Add directories to stack.\n"
+" \n"
+" Adds a directory to the top of the directory stack, or rotates\n"
+" the stack, making the new top of the stack the current working\n"
+" directory. With no arguments, exchanges the top two directories.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when adding\n"
+" \tdirectories to the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the left of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" -N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the right of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" dir\tAdds DIR to the directory stack at the top, making it the\n"
+" \tnew current working directory.\n"
+" \n"
+" The `dirs' builtin displays the directory stack.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid argument is supplied or the directory\n"
+" change fails."
+msgstr ""
+"Додає директорії до ÑпиÑку збережених директорій.\n"
+" \n"
+" Додає директорію на вершину Ñтеку директорій, чи циклічно обертає\n"
+" Ñтек, вÑтановлюючи поточну робочу директорію відповідно до його нової\n"
+" вершини. Без аргументів мінÑÑ” міÑцÑми дві найвищих директорії.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе робити звичайного переходу у нову директорію при додаванні\n"
+" \t\tдиректорій до Ñтеку, проводити операції лише над Ñтеком.\n"
+" \n"
+" Ðргументи:\n"
+" +N\tЦиклічно обертає Ñтек так, щоб N-на директоріÑ, рахуючи\n"
+" \t\tзліва (починаючи з нулÑ) у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ `dirs'\n"
+" \t\tопинилаÑÑ Ð½Ð° вершині Ñтеку.\n"
+" \n"
+" -N\tЦиклічно обертає Ñтек так, щоб N-на директоріÑ, рахуючи\n"
+" \t\tз ÐºÑ–Ð½Ñ†Ñ (починаючи з нулÑ) у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ `dirs'\n"
+" \t\tопинилаÑÑ Ð½Ð° вершині Ñтеку.\n"
+" \n"
+" ДИРЕКТОРІЯ\tДодає ДИРЕКТОРІЮ на вершину Ñтеку, й робить Ñ—Ñ— поточною\n"
+" \t\t\tробочою директорією.\n"
+" \n"
+" Вбудована команда `dirs' показує Ñтек директорій.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказаний неправильний аргумент чи\n"
+" Ñкщо не вдаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ поточну директорію."
+
+#: builtins.c:1804
+msgid ""
+"Remove directories from stack.\n"
+" \n"
+" Removes entries from the directory stack. With no arguments, removes\n"
+" the top directory from the stack, and changes to the new top directory.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when removing\n"
+" \tdirectories from the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRemoves the Nth entry counting from the left of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd +0'\n"
+" \tremoves the first directory, `popd +1' the second.\n"
+" \n"
+" -N\tRemoves the Nth entry counting from the right of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd -0'\n"
+" \tremoves the last directory, `popd -1' the next to last.\n"
+" \n"
+" The `dirs' builtin displays the directory stack.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid argument is supplied or the directory\n"
+" change fails."
+msgstr ""
+"Вилучає директорії зі ÑпиÑку збережених директорій.\n"
+" \n"
+" Вилучає директорії зі Ñтеку збережених директорій. Якщо аргументи не\n"
+" вказані, вилучає верхню директорію Ñтеку й змінює поточну директорію\n"
+" відповідно до нової вершини Ñтеку.\n"
+" \n"
+" Параметри:\n"
+" -n\tÐе робити звичайного переходу до нової директорії при вилученні\n"
+" \t\tдиректорій зі Ñтеку, проводити операції лише над Ñтеком.\n"
+" \n"
+" Ðргументи:\n"
+" +N\tВилучає N-ну зліва директорію у ÑпиÑку, що показуєтьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ\n"
+" \t\t`dirs' (рахунок починаєтьÑÑ Ð· нулÑ). Ðаприклад: `popd +0' вилучає\n"
+" \t\tпершу директорію, `popd +1' другу.\n"
+" \n"
+" -N\tВилучає N-ну з ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–ÑŽ у ÑпиÑку, що показуєтьÑÑ\n"
+" \t\tкомандою `dirs' (рахунок починаєтьÑÑ Ð· нулÑ). Ðаприклад: `popd -0'\n"
+" \t\tвилучає оÑтанню директорію, `popd -1' передоÑтанню.\n"
+" \n"
+" Вбудована команда `dirs' показує ÑпиÑок збережених директорій.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано невірний аргумент чи Ñкщо\n"
+" не вдаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ поточну директорію."
+
+#: builtins.c:1834
+msgid ""
+"Display directory stack.\n"
+" \n"
+" Display the list of currently remembered directories. Directories\n"
+" find their way onto the list with the `pushd' command; you can get\n"
+" back up through the list with the `popd' command.\n"
+" \n"
+" Options:\n"
+" -c\tclear the directory stack by deleting all of the elements\n"
+" -l\tdo not print tilde-prefixed versions of directories relative\n"
+" \tto your home directory\n"
+" -p\tprint the directory stack with one entry per line\n"
+" -v\tprint the directory stack with one entry per line prefixed\n"
+" \twith its position in the stack\n"
+" \n"
+" Arguments:\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" -N\tDisplays the Nth entry counting from the right of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"Показує ÑпиÑок збережених директорій.\n"
+" \n"
+" Показує ÑпиÑок збережених директорій. Директорії додаютьÑÑ Ð´Ð¾ цього "
+"ÑпиÑку\n"
+" командою `pushd'; ви можете повернутиÑÑ Ð½Ð°Ð·Ð°Ð´ по цьому ÑпиÑку за "
+"допомогою\n"
+" команди `popd'.\n"
+" \n"
+" Параметри:\n"
+" -c\tОчиÑтити ÑпиÑок директорій, вилучивши уÑÑ– його елементи.\n"
+" -l\tÐе викориÑтовувати ~ при виводі директорій, що знаходÑÑ‚ÑŒÑÑ\n"
+" \t\tуÑередині вашої домівки.\n"
+" -p\tВиводити директорії по одній на Ñ€Ñдок.\n"
+" -v\tВиводити директорії по одній на Ñ€Ñдок із вказаннÑм позиції у\n"
+" \t\tÑпиÑку.\n"
+" \n"
+" Ðргументи:\n"
+" +N\tПоказує N-ну зліва директорію у ÑпиÑку, що виводитьÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾ÑŽ\n"
+" \t\tdirs без аргументів, рахунок починаєтьÑÑ Ð· нулÑ.\n"
+" \n"
+" -N\tПоказує N-ну з ÐºÑ–Ð½Ñ†Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–ÑŽ у ÑпиÑку, що виводитьÑÑ\n"
+" \t\tкомандою dirs без аргументів, рахунок починаєтьÑÑ Ð· нулÑ. \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾, Ñкщо вказано неправильний параметр чи "
+"Ñкщо\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+
+#: builtins.c:1863
+msgid ""
+"Set and unset shell options.\n"
+" \n"
+" Change the setting of each shell option OPTNAME. Without any option\n"
+" arguments, list all shell options with an indication of whether or not "
+"each\n"
+" is set.\n"
+" \n"
+" Options:\n"
+" -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
+" -p\tprint each shell option with an indication of its status\n"
+" -q\tsuppress output\n"
+" -s\tenable (set) each OPTNAME\n"
+" -u\tdisable (unset) each OPTNAME\n"
+" \n"
+" Exit Status:\n"
+" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
+" given or OPTNAME is disabled."
+msgstr ""
+"Ð’Ñтановлює та Ñкидає параметри оболонки.\n"
+" \n"
+" Змінює Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐŸÐРÐМЕТРІВ. Якщо ПÐРÐМЕТРИ не вказані, виводить ÑпиÑок\n"
+" уÑÑ–Ñ… параметрів оболонки, вказуючи, чи параметр ввімкнений, чи ні.\n"
+" \n"
+" Параметри:\n"
+" -o\tПриймати лише ПÐРÐМЕТРИ, з Ñкими працює `set -o'.\n"
+" -p\tВивеÑти ÑпиÑок параметрів оболонки та Ñ—Ñ… поточний Ñтан.\n"
+" -q\tÐе виводити нічого.\n"
+" -s\tВвімкнути (вÑтановити) кожен з ПÐРÐМЕТРІВ.\n"
+" -u\tВимкнути (Ñкинути) кожен з ПÐРÐМЕТРІВ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо ПÐРÐМЕТР ввімкнено; невдало, Ñкщо\n"
+" вказано неправильні параметри чи ПÐРÐМЕТР вимкнено."
+
+#: builtins.c:1884
+#, fuzzy
+msgid ""
+"Formats and prints ARGUMENTS under control of the FORMAT.\n"
+" \n"
+" Options:\n"
+" -v var\tassign the output to shell variable VAR rather than\n"
+" \t\tdisplay it on the standard output\n"
+" \n"
+" FORMAT is a character string which contains three types of objects: "
+"plain\n"
+" characters, which are simply copied to standard output; character "
+"escape\n"
+" sequences, which are converted and copied to the standard output; and\n"
+" format specifications, each of which causes printing of the next "
+"successive\n"
+" argument.\n"
+" \n"
+" In addition to the standard format specifications described in printf"
+"(1)\n"
+" and printf(3), printf interprets:\n"
+" \n"
+" %b\texpand backslash escape sequences in the corresponding argument\n"
+" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or a write or "
+"assignment\n"
+" error occurs."
+msgstr ""
+"Форматує та виводить аргументи відповідно до шаблону.\n"
+" \n"
+" Параметри:\n"
+" -v змінна\tПризначити результат змінній оболонки, заміÑÑ‚ÑŒ того, щоб\n"
+" \t\tвивеÑти його у Ñтандартний вивід.\n"
+" \n"
+" ШÐБЛОРÑкладаєтьÑÑ Ð· Ñимволів, Ñкі можуть бути трьох типів:\n"
+" звичайні Ñимволи, Ñкі проÑто копіюютьÑÑ Ñƒ вивід; Ñпеціальні\n"
+" поÑлідовноÑÑ‚Ñ–, Ñкі інтерпретуютьÑÑ Ñ‚Ð° тоді копіюютьÑÑ Ñƒ вивід; та\n"
+" вказівки Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð¼Ñ–ÑÑ‚ÑŒ кожної з Ñких підÑтавлÑєтьÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ð½Ð¸Ð¹\n"
+" аргумент.\n"
+" \n"
+" Окрім Ñтандартних вказівок форматуваннÑ, опиÑаних у printf(1) та\n"
+" printf(3), printf також розуміє:\n"
+" \n"
+" %b\tІнтерпретувати Ñпеціальні поÑлідовноÑÑ‚Ñ– (що починаютьÑÑ Ð·Ñ–\n"
+" \t\tзворотньої похилої риÑки) у відповідному аргументі.\n"
+" %q\tВзÑти аргумент в лапки так, щоб його можна було викориÑтати Ñк\n"
+" \t\tввід оболонки\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾ лише Ñкщо вказано неправильний параметр "
+"або\n"
+" Ñкщо трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° запиÑу чи приÑвоєннÑ."
+
+#: builtins.c:1913
+#, fuzzy
+msgid ""
+"Specify how arguments are to be completed by Readline.\n"
+" \n"
+" For each NAME, specify how arguments are to be completed. If no "
+"options\n"
+" are supplied, existing completion specifications are printed in a way "
+"that\n"
+" allows them to be reused as input.\n"
+" \n"
+" Options:\n"
+" -p\tprint existing completion specifications in a reusable format\n"
+" -r\tremove a completion specification for each NAME, or, if no\n"
+" \tNAMEs are supplied, all completion specifications\n"
+" -D\tapply the completions and actions as the default for commands\n"
+" \twithout any specific completion defined\n"
+" -E\tapply the completions and actions to \"empty\" commands --\n"
+" \tcompletion attempted on a blank line\n"
+" \n"
+" When completion is attempted, the actions are applied in the order the\n"
+" uppercase-letter options are listed above. The -D option takes\n"
+" precedence over -E.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"Вказує, Ñк буде завершувати аргументи readline.\n"
+" \n"
+" Визначає Ñк завершувати аргументи Ð´Ð»Ñ Ð†ÐœÐ•Ð. Якщо параметри не вказані,\n"
+" будуть виведені Ñ–Ñнуючі вказівки Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² у формі,\n"
+" придатній Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾ виконаннÑ.\n"
+" \n"
+" Параметри:\n"
+" -p\tВивеÑти вказівки Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñƒ формі, придатній до виконаннÑ.\n"
+" -r\tВилучити вказівки Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Ð´Ð»Ñ Ð†ÐœÐ•Ð (або, Ñкщо\n"
+" \t\tІМЕÐРне вказані, уÑÑ– вказівки завершеннÑ).\n"
+" \n"
+" Коли робитьÑÑ Ñпроба завершеннÑ, дії виконуютьÑÑ Ñƒ порÑдку, в Ñкому\n"
+" вказані наведені вище параметри у верхньому регіÑтрі.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри та не\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:1941
+#, fuzzy
+msgid ""
+"Display possible completions depending on the options.\n"
+" \n"
+" Intended to be used from within a shell function generating possible\n"
+" completions. If the optional WORD argument is supplied, matches "
+"against\n"
+" WORD are generated.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"Виводить можливі Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñƒ залежноÑÑ‚Ñ– від параметрів.\n"
+" \n"
+" Команда призначена Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð·Ñередини функції Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ—\n"
+" можливих завершень. Якщо вказано необов’Ñзковий аргумент СЛОВО,\n"
+" генеруютьÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ, що відповідають цьому Ñлову.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри Ñ– не\n"
+" трапитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¸ під Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ."
+
+#: builtins.c:1956
+#, fuzzy
+msgid ""
+"Modify or display completion options.\n"
+" \n"
+" Modify the completion options for each NAME, or, if no NAMEs are "
+"supplied,\n"
+" the completion currently being executed. If no OPTIONs are given, "
+"print\n"
+" the completion options for each NAME or the current completion "
+"specification.\n"
+" \n"
+" Options:\n"
+" \t-o option\tSet completion option OPTION for each NAME\n"
+" \t-D\t\tChange options for the \"default\" command completion\n"
+" \t-E\t\tChange options for the \"empty\" command completion\n"
+" \n"
+" Using `+o' instead of `-o' turns off the specified option.\n"
+" \n"
+" Arguments:\n"
+" \n"
+" Each NAME refers to a command for which a completion specification must\n"
+" have previously been defined using the `complete' builtin. If no NAMEs\n"
+" are supplied, compopt must be called by a function currently generating\n"
+" completions, and the options for that currently-executing completion\n"
+" generator are modified.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or NAME does not\n"
+" have a completion specification defined."
+msgstr ""
+"Змінює чи показує параметри Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð².\n"
+" \n"
+" Змінює параметри Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ–Ð² Ð´Ð»Ñ Ð†ÐœÐ•Ð (Ñкщо ІМЕÐРне вказані,\n"
+" Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ, що наразі проводитьÑÑ). Якщо ПÐРÐМЕТРИ не вказані,\n"
+" виводить параметри Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ з ІМЕР(чи завершеннÑ, що\n"
+" наразі проводитьÑÑ).\n"
+" \n"
+" Параметри:\n"
+" \t-o параметр\tУвімкнути параметр Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²ÑÑ–Ñ… ІМЕÐ.\n"
+" \n"
+" Параметри можна вимикати, викориÑтовуючи `+o' заміÑÑ‚ÑŒ `-o'.\n"
+" \n"
+" Ðргументи:\n"
+" \n"
+" Кожне з ІМЕРвідповідає команді, Ð´Ð»Ñ Ñкої попередньо має бути вказано,\n"
+" Ñк завершувати Ñ—Ñ— аргументи за допомогою вбудованої команди `complete'.\n"
+" Якщо ІМЕÐРне вказані, compopt має виконуватиÑÑ ÑƒÑередині функції, що\n"
+" генерує ÑпиÑок завершень, тоді змінюютьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ– вказівки завершень,\n"
+" що відповідає цій функції.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ ÑƒÑпішно, Ñкщо вказано правильні параметри та\n"
+" вказівки завершень Ð´Ð»Ñ Ð†ÐœÐ•Ð Ñ–Ñнують."
+
+#: builtins.c:1986
+#, fuzzy
+msgid ""
+"Read lines from the standard input into an indexed array variable.\n"
+" \n"
+" Read lines from the standard input into the indexed array variable "
+"ARRAY, or\n"
+" from file descriptor FD if the -u option is supplied. The variable "
+"MAPFILE\n"
+" is the default ARRAY.\n"
+" \n"
+" Options:\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
+"copied.\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
+"index is 0.\n"
+" -s count \tDiscard the first COUNT lines read.\n"
+" -t\t\tRemove a trailing newline from each line read.\n"
+" -u fd\t\tRead lines from file descriptor FD instead of the standard "
+"input.\n"
+" -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n"
+" -c quantum\tSpecify the number of lines read between each call to "
+"CALLBACK.\n"
+" \n"
+" Arguments:\n"
+" ARRAY\t\tArray variable name to use for file data.\n"
+" \n"
+" If -C is supplied without -c, the default quantum is 5000. When\n"
+" CALLBACK is evaluated, it is supplied the index of the next array\n"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
+" \n"
+" If not supplied with an explicit origin, mapfile will clear ARRAY "
+"before\n"
+" assigning to it.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or ARRAY is readonly "
+"or\n"
+" not an indexed array."
+msgstr ""
+"Читає Ñ€Ñдки зі Ñтандартного вводу й заноÑить Ñ—Ñ… до маÑиву.\n"
+" \n"
+" Читає Ñ€Ñдки зі Ñтандартного вводу чи з ФÐЙЛОВОГО-ДЕСКРИПТОРУ, Ñкщо "
+"вказано\n"
+" параметр -u, й вÑтавлÑÑ” Ñ—Ñ… до вказаної змінної-маÑиву. Якщо назву "
+"змінної\n"
+" не вказано, викориÑтовуєтьÑÑ Ð·Ð¼Ñ–Ð½Ð½Ð° MAPFILE.\n"
+" \n"
+" Параметри:\n"
+" -n кількіÑÑ‚ÑŒ\tПрочитати вказану кількіÑÑ‚ÑŒ Ñ€Ñдків. Ðуль означає\n"
+" \t\t\tвідÑутніÑÑ‚ÑŒ обмеженнÑ.\n"
+" -O початок\tПочати вÑтавлÑти до маÑиву, починаючи з вказаного\n"
+" \t\t\tелементу маÑиву. Зазвичай відлік починаєтьÑÑ Ð· нулÑ.\n"
+" -s кількіÑÑ‚ÑŒ\tПропуÑтити вказану кількіÑÑ‚ÑŒ Ñ€Ñдків на початку\n"
+" \t\t\tфайлу.\n"
+" -t\t\tПрибирати Ñимвол переводу Ñ€Ñдку в кінці прочитаних\n"
+" \t\t\tз файлу Ñ€Ñдків.\n"
+" -u деÑкриптор\tЧитати Ñ€Ñдки з вказаного деÑкриптора заміÑÑ‚ÑŒ\n"
+" \t\t\tÑтандартного вводу\n"
+" -C обробник\tВиконувати вказаний обробник піÑÐ»Ñ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñдку.\n"
+" -c крок\t\tВикликати обробник лише піÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк буде прочитано\n"
+" \t\t\tвказану кількіÑÑ‚ÑŒ Ñ€Ñдків.\n"
+" \n"
+" Ðргументи:\n"
+" ÐœÐСИВ\t\tÐазва змінної-маÑиву Ð´Ð»Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… з файлу.\n"
+" \n"
+" Якщо вказано лише -C, без -c, обробник викликатиметьÑÑ Ñ–Ð· кроком 5000.\n"
+" Обробник викликаєтьÑÑ Ñ–Ð· параметром, що вказує наÑтупний елемент "
+"маÑиву,\n"
+" Ñкому буде призначено значеннÑ.\n"
+" \n"
+" Якщо початковий елемент не вказано, mapfile ÑпуÑтошить ÐœÐСИВ перш ніж\n"
+" починати приÑвоєннÑ.\n"
+" \n"
+" Код завершеннÑ:\n"
+" Команда завершуєтьÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾ лише Ñкщо вказано неправильний параметр "
+"або\n"
+" Ñкщо ÐœÐСИВ Ñ” незмінним."
+
+#: builtins.c:2020
+msgid ""
+"Read lines from a file into an array variable.\n"
+" \n"
+" A synonym for `mapfile'."
+msgstr ""
+"Читає Ñ€Ñдки з файлу до маÑиву.\n"
+" \n"
+" Синонім до `mapfile'."
+
+#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgstr ""
+#~ "xrealloc: не вдаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ розмір виділеного блоку до %lu байтів "
+#~ "(виділено %lu байтів)"
+
+#~ msgid "xrealloc: cannot allocate %lu bytes"
+#~ msgstr "xrealloc: не вдаєтьÑÑ Ð²Ð¸Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ %lu байтів"
+
+#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgstr ""
+#~ "xrealloc: %s:%d: не вдаєтьÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ розмір виділеного блоку до %lu "
+#~ "байтів (виділено %lu байтів)"
diff --git a/po/vi.gmo b/po/vi.gmo
index eb02d00..32b9890 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index beb59d8..2f4484e 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,14 +1,14 @@
# Vietnamese translation for BASH (Bourne Again SHell).
-# Copyright © 2009 Free Software Foundation, Inc.
+# Copyright © 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the bash package.
-# Clytie Siddall <clytie@riverland.net.au>, 2008-2009.
+# Clytie Siddall <clytie@riverland.net.au>, 2008, 2009, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: bash 4.0\n"
+"Project-Id-Version: bash 4.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
-"PO-Revision-Date: 2009-09-19 21:17+0930\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-02-11 19:42+0930\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"MIME-Version: 1.0\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "bad array subscript"
msgstr "sai mảng in thấp"
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr "%s: không thể chuyển đổi mảng theo số mũ sang mảng kết hợp"
@@ -41,35 +41,35 @@ msgstr "%s: không thể cấp phát cho chỉ số không thuộc số"
msgid "%s: %s: must use subscript when assigning associative array"
msgstr "%s: %s: phải sử dụng chữ thấp khi gán mảng kết hợp"
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr "%s: không thể tạo %s"
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr "bash_execute_unix_command: không tìm thấy sơ đồ phím cho câu lệnh"
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
"%s: ký tự khác khoảng trắng đầu tiên không phải là dấu sổ chéo ngược « / »"
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr "thiếu « %c » đóng trong %s"
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr "%s: thiếu dấu hai chấm định giới"
#: builtins/alias.def:132
-#, fuzzy, c-format
+#, c-format
msgid "`%s': invalid alias name"
-msgstr "« %s »: tên sơ đồ phím không hợp lệ"
+msgstr "« %s »: sai đặt tên bí danh"
#: builtins/bind.def:120 builtins/bind.def:123
msgid "line editing not enabled"
@@ -127,26 +127,11 @@ msgstr ""
"\n"
" Không có BTHỰC thì trà lại "
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "ChÆ°a đặt biến môi trÆ°á»ng HOME (nhà)"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "ChÆ°a đặt biến môi trÆ°á»ng OLDPWD (mật khẩu cÅ©)"
@@ -165,11 +150,11 @@ msgstr "cảnh báo :"
msgid "%s: usage: "
msgstr "%s: sử dụng:"
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "quá nhiá»u đối số"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s: tùy chá»n cần thiết má»™t đối số"
@@ -207,7 +192,7 @@ msgstr "số bát phân không hợp lệ"
msgid "invalid hex number"
msgstr "số thập lục không hợp lệ"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr "số không hợp lệ"
@@ -316,25 +301,25 @@ msgstr "cảnh báo: tùy chá»n « -C » có lẽ không hoạt Ä‘á»™ng nhÆ° mo
msgid "not currently executing completion function"
msgstr "hiện thá»i không thá»±c thi chức năng Ä‘iá»n nốt"
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "chỉ có thể được dùng trong một hàm"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr "không thể dùng « -f » để tạo hàm"
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s: hàm chỉ Ä‘á»c"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr "%s: không thể phá hủy biến mảng bằng cách này"
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr "%s: không thể chuyển đổi mảng kết hợp sang mảng theo số mũ"
@@ -363,29 +348,29 @@ msgstr "%s không phải được nạp động"
msgid "%s: cannot delete: %s"
msgstr "%s: không thể xoá: %s"
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr "%s: là thư mục"
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr "%s: không phải là tập tin chuẩn"
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr "%s: tập tin quá lớn"
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr "%s: không thể thực hiện tập tin nhị phân"
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr "%s: không thể thực hiện: %s"
@@ -413,11 +398,11 @@ msgstr "Vẫn có công việc đang chạy.\n"
msgid "no command found"
msgstr "không tìm thấy lệnh"
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr "đặc tả lịch sử"
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr "%s: không thể mở tập tin tạm thá»i: %s"
@@ -450,7 +435,7 @@ msgstr "chức năng tạo ký hiệu lộn xộn bị tắt"
msgid "%s: hash table empty\n"
msgstr "%s: bảng ký hiệu lộn xộn còn rỗng\n"
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, c-format
msgid "hits\tcommand\n"
msgstr "gá»i nhá»›\tlệnh\n"
@@ -518,76 +503,86 @@ msgstr "%s: inlib bị lỗi"
msgid "no other options allowed with `-x'"
msgstr "không cho phép dùng tùy chá»n thêm vá»›i « -x »"
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr "%s: đối số phải là mã số của tiến trình (PID) hoặc công việc"
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr "Lỗi không rõ"
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr "đợi biểu thức"
-#: builtins/mapfile.def:165
-#, fuzzy, c-format
+#: builtins/mapfile.def:172
+#, c-format
msgid "%s: not an indexed array"
-msgstr "%s: không phải biến mảng"
+msgstr "%s: không phải biến phụ lục"
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr "%s: sai xác định bộ mô tả tập tin"
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr "%d: bộ mô tả tập tin không hợp lệ: %s"
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, c-format
msgid "%s: invalid line count"
msgstr "%s: sai đếm dòng"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, c-format
msgid "%s: invalid array origin"
msgstr "%s: gốc mảng không hợp lệ"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, c-format
msgid "%s: invalid callback quantum"
msgstr "%s: lượng gá»i ngược không hợp lệ"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr "%s: tên biến mảng vẫn trống"
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr "cần thiết hỗ trợ biến mảng"
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr "« %s »: thiếu ký tự định dạng"
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: sai xác định quá hạn"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr "« %c »: ký tự định dạng không hợp lệ"
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, c-format
msgid "warning: %s: %s"
msgstr "cảnh báo : %s: %s"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr "thiếu chữ số thập phân cho \\x"
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "thiếu chữ số thập phân cho \\x"
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr "không có thư mục khác"
@@ -750,21 +745,21 @@ msgid "can only `return' from a function or sourced script"
msgstr ""
"chỉ có thể « return » (trở vá») từ má»™t hàm hoặc văn lệnh được gá»i từ nguồn"
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr "không thể hủy đặt đồng thá»i má»™t hàm VÀ má»™t biến"
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr "%s: không thể hủy đặt"
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr "%s: không thể hủy đặt: %s chỉ Ä‘á»c"
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr "%s: không phải biến mảng"
@@ -778,20 +773,20 @@ msgstr "%s: không phải hàm"
msgid "shift count"
msgstr "đếm dá»i"
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr "không thể đồng thá»i đặt và hủy đặt các tùy chá»n trình bao"
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr "%s: tên tùy chá»n trình bao không hợp lệ"
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr "cần thiết đối số tên tập tin"
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr "%s: không tìm thấy tập tin"
@@ -834,26 +829,26 @@ msgstr "%s là %s\n"
msgid "%s is hashed (%s)\n"
msgstr "%s có ký hiệu lộn xộn (%s)\n"
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr "%s: đối số giới hạn không hợp lệ"
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "« %c »: câu lệnh sai"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s: không thể lấy giới hạn: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr "giới hạn"
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s: không thể sửa đổi giới hạn: %s"
@@ -909,105 +904,110 @@ msgstr "%s: biến chưa tổ hợp"
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr "\tquá hạn trong khi đợi dữ liệu nhập nên tự động đăng xuất\n"
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr "không thể chuyển hướng đầu vào tiêu chuẩn từ « /dev/null »: %s"
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr "ÄỊNH DẠNG THỜI GIAN: « %c »: ký tá»± định dạng không hợp lệ"
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
msgid "pipe error"
msgstr "lỗi ống dẫn"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr "%s: bị hạn chế: không thể ghi rõ dấu sổ chéo « / » trong tên câu lệnh"
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s: không tìm thấy lệnh"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s là %s\n"
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr "%s: %s: bộ thông dịch sai"
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr "không thể nhân đôi fd %d tới fd %d"
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr "vượt quá giới hạn mức độ đệ quy của biểu thức"
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr "trán ngược đống đệ quy"
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "lỗi cú pháp trong biểu thức"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr "thử gán cho đồ không phải biến"
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr "chia cho không"
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr "lỗi (bug): hiệu bài ấn định biểu thức sai"
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr "đợi dấu hai chấm « : » cho biểu thức Ä‘iá»u kiện"
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr "số mũ nhỠhơn 0"
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr "đợi đồ nhận diện đằng sau tăng/giảm dần sẵn"
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr "thiếu dấu ngoặc đóng « ) »"
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr "lỗi cú pháp: đợi toán hạng"
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr "lá»—i cú pháp: toán tá»­ số há»c không hợp lệ"
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr "%s%s%s: %s (hiệu bài lỗi là « %s »)"
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr "cÆ¡ số (số há»c) không hợp lệ"
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr "cơ số có giá trị quá lớn"
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr "%s: lỗi biểu thức\n"
@@ -1016,165 +1016,165 @@ msgstr "%s: lỗi biểu thức\n"
msgid "getcwd: cannot access parent directories"
msgstr "getcwd: không thể truy cập thư mục cấp trên"
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr "không thể đặt lại chế độ nodelay (không hoãn) cho fd %d"
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr "không thể cấp phát bộ mô tả tập tin mớ cho dữ liệu nhập bash từ fd %d"
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr "save_bash_input: đã có bộ đệm cho fd mới %d"
# Nghĩa chữ ?
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr "start_pipeline: pgrp pipe"
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr "tiến trình con đã tạo (PID %d) xuất hiện trong công việc đang chạy %d"
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr "đang xoá công việc bị dừng chạy %d với nhóm tiến trình %ld"
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr "add_process: tiến trình %5ld (%s) trong the_pipeline"
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr "add_process: pid %5ld (%s) được đánh dấu vẫn hoạt động"
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr "describe_pid: %ld: không có PID (mã số tiến trình) như vậy"
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr "Tín hiệu %d"
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr "Hoàn tất"
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr "Bị dừng"
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr "Bị dừng(%s)"
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr "Äang chạy"
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr "Hoàn tất(%d)"
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr "Thoát %d"
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr "Không rõ trạng thái"
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr "(lõi bị đổ)"
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr " (wd: %s)"
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr "setpgid tiến trình con (%ld thành %ld)"
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr "wait: pid %ld không phải là tiến trình con của trình bao này"
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr "wait_for: Không có mục ghi vỠtiến trình %ld"
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr "wait_for_job: công việc %d bị dừng chạy"
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr "%s: công việc bị chấm dứt"
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr "%s: công việc %d đã chạy trong ná»n"
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
-msgstr ""
+msgstr "waitchld: đang bật WNOHANG để tránh bị chặn vô hạn"
-#: jobs.c:3508
+#: jobs.c:3538
#, c-format
msgid "%s: line %d: "
msgstr "%s: dòng %d:"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr " (lõi bị đổ)"
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr "(wd bây giá»: %s)\n"
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr "initialize_job_control: getpgrp bị lỗi"
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr "initialize_job_control: kỷ luật dòng"
# Nghĩa chữ : dừng dịch
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr "initialize_job_control: setpgid"
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr "không thể đặt nhóm tiến trình cuối cùng (%d)"
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr "không có Ä‘iá»u khiển công việc trong trình bao này"
@@ -1271,22 +1271,22 @@ msgstr "không hỗ trợ thao tác mạng"
#: locale.c:192
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s)"
-msgstr ""
+msgstr "setlocale: LC_ALL: không thể chuyển đổi miá»n địa phÆ°Æ¡ng (%s)"
#: locale.c:194
#, c-format
msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
-msgstr ""
+msgstr "setlocale: LC_ALL: không thể chuyển đổi miá»n địa phÆ°Æ¡ng (%s): %s"
#: locale.c:247
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s)"
-msgstr "xrealloc: %s:%d: không thể cấp phát %lu byte"
+msgstr "setlocale: %s: không thể chuyển đổi miá»n địa phÆ°Æ¡ng (%s)"
#: locale.c:249
-#, fuzzy, c-format
+#, c-format
msgid "setlocale: %s: cannot change locale (%s): %s"
-msgstr "xrealloc: %s:%d: không thể cấp phát %lu byte"
+msgstr "setlocale: %s: không thể chuyển đổi miá»n địa phÆ°Æ¡ng (%s): %s"
#: mailcheck.c:433
msgid "You have mail in $_"
@@ -1330,99 +1330,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection: chỉ dẫn chuyển hướng « %d » ở ngoại phạm vi"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr "gặp kết thúc tập tin bất thÆ°á»ng trong khi tìm « %c » tÆ°Æ¡ng ứng"
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr "gặp kết thúc tập tin bất thÆ°á»ng trong khi tìm « ]] »"
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr "gặp lá»—i cú pháp trong biểu thức Ä‘iá»u kiện: hiệu bài bất thÆ°á»ng « %s »"
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "gặp lá»—i cú pháp trong biểu thức Ä‘iá»u kiện"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr "gặp hiệu bài bất thÆ°á»ng « %s », còn mong đợi dấu ngoặc đóng « ) »"
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "đợi dấu đóng ngoặc « ) »"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr "đối số bất thÆ°á»ng « %s » tá»›i toán tá»­ nguyên phân Ä‘iá»u kiện"
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr "đối số bất thÆ°á»ng tá»›i toán tá»­ nguyên phân Ä‘iá»u kiện"
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr "hiệu bài bất thÆ°á»ng « %s » còn đợi toán tá»­ nhị phân Ä‘iá»u kiện"
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr "đợi toán tá»­ nhị phân Ä‘iá»u kiện"
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr "đối số bất thÆ°á»ng « %s » tá»›i toán tá»­ nhị phân Ä‘iá»u kiện"
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr "đối số bất thÆ°á»ng tá»›i toán tá»­ nhị phân Ä‘iá»u kiện"
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr "gặp hiệu bài bất thÆ°á»ng « %c » trong câu lệnh Ä‘iá»u kiện"
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr "gặp hiệu bài bất thÆ°á»ng « %s » trong câu lệnh Ä‘iá»u kiện"
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr "gặp hiệu bài bất thÆ°á»ng « %d » trong câu lệnh Ä‘iá»u kiện"
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr "gặp lá»—i cú pháp ở gần hiệu bài bất thÆ°á»ng « %s »"
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr "gặp lỗi cú pháp gần « %s »"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr "lá»—i cú pháp: kết thúc tập tin bất thÆ°á»ng"
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "lỗi cú pháp"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr "Dùng « %s » để rá»i trình bao.\n"
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
"gặp kết thúc tập tin bất thÆ°á»ng trong khi tìm dấu ngoặc đóng « ) » tÆ°Æ¡ng ứng"
@@ -1432,78 +1432,79 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr "completion: không tìm thấy hàm « %s »"
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr "progcomp_insert: %s: NULL COMPSPEC"
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr "print_command: bộ kết nối sai « %d »"
-#: print_cmd.c:363
-#, fuzzy, c-format
+#: print_cmd.c:368
+#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
-msgstr "%d: bộ mô tả tập tin không hợp lệ: %s"
+msgstr "xtrace_set: %d: sai đặt bộ mô tả tập tin"
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
-msgstr ""
+msgstr "xtrace_set: con trỠtập tin NULL (vô giá trị)"
-#: print_cmd.c:372
+# Nghĩa chữ ?
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
-msgstr ""
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr "cprintf: « %c »: ký tự định dạng không hợp lệ"
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr "bộ mô tả tập tin ở ngoại phạm vi"
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr "%s: lá»i chuyển hÆ°á»›ng mÆ¡ hồ"
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr "%s: không thể ghi đè lên tập tin đã có"
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr "%s: bị hạn chế: không thể chuyển hướng kết xuất"
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr "không thể tạo tập tin tạm thá»i cho tài liệu này: %s"
-#: redir.c:184
-#, fuzzy, c-format
+#: redir.c:196
+#, c-format
msgid "%s: cannot assign fd to variable"
-msgstr "%s: không thể gán danh sách cho bộ phận của mảng"
+msgstr "%s: không thể gán cho biến bộ bô tả tập tin"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
"/dev/(tcp|udp)/host/port không được hỗ trợ khi không có chức năng chạy mạng"
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr "gặp lỗi chuyển hướng nên không thể nhân đôi fd"
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr "không tìm thấy « /tmp », hãy tạo."
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr "« /tmp » phải là tên thư mục hợp lệ"
@@ -1512,16 +1513,16 @@ msgstr "« /tmp » phải là tên thư mục hợp lệ"
msgid "%c%c: invalid option"
msgstr "%c%c: tùy chá»n không hợp lệ"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "Không có tên."
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr "bash của GNU, phiên bản %s-(%s)\n"
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1530,43 +1531,43 @@ msgstr ""
"Sá»­ dụng:\t%s [tùy chá»n GNU dài] [tùy chá»n] ...\n"
"\t%s [tùy chá»n GNU dài] [tùy chá»n] tập-tin-văn-lệnh ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "Tùy chá»n GNU dài:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Tùy chá»n trình bao :\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD hoặc -c lệnh or -O shopt_option\t\t(chỉ cuá»™c gá»i)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s hoặc -o tùy chá»n\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr ""
"Gõ câu lệnh trợ giúp « %s -c \"help set\" » để xem thêm thông tin vỠcác tùy "
"chá»n trình bao.\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr ""
"Gõ câu lệnh trợ giúp « %s -c help » để xem thêm thông tin vỠcác câu lệnh "
"trình bao dựng sẵn.\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "Dùng lệnh « bashbug » để thông báo lỗi.\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d: thao tác không hợp lệ"
@@ -1740,83 +1741,85 @@ msgstr "Không rõ tín hiệu #"
msgid "Unknown Signal #%d"
msgstr "Không rõ tín hiệu #%d"
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr "sai thay thế: không có « %s » đóng trong %s"
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr "%s: không thể gán danh sách cho bộ phận của mảng"
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr "không thể tạo ống dẫn để thay thế tiến trình"
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr "không thể tạo tiến trình con để thay thế tiến trình"
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr "không thể mở ống dẫn đặt tên %s để Ä‘á»c"
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr "không thể mở ống dẫn đặt tên %s để ghi"
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr "không thể nhân đôi ống dẫn đặt tên %s thành fd %d"
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr "không thể tạo ống dẫn để thay thế lệnh"
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr "không thể tạo tiến trình con để thay thế lệnh"
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr "command_substitute: không thể nhân đôi ống dẫn thành fd 1"
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr "%s: tham số vô giá trị hoặc chưa được đặt"
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr "%s: biểu thức chuỗi phụ < 0"
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr "%s: sai thay thế"
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr "$%s: không thể gán bằng cách này"
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
+"phiên bản trình bao mới sẽ ép buộc ước lượng dưới dạng một hàm thay thế số "
+"há»c"
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr "sai thay thế: không có « ` » đóng trong %s"
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr "không khớp: %s"
@@ -1839,30 +1842,30 @@ msgstr "đợi dấu ngoặc đóng « ) »"
msgid "`)' expected, found %s"
msgstr "đợi dấu ngoặc đóng « ) », còn tìm %s"
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr "%s: đợi toán tử nguyên phân"
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr "%s: đợi toán tử nhị phân"
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr "thiếu dấu ngoặc vụ đóng « ] »"
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "số thứ tự tín hiệu không hợp lệ"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr "run_pending_traps: giá trị sai trong danh sách trap_list[%d]: %p"
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
@@ -1870,7 +1873,7 @@ msgstr ""
"run_pending_traps: bộ xử lý tín hiệu là SIG_DFL, đang gửi lại %d (%s) cho "
"mình"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler: tín hiệu sai %d"
@@ -1880,63 +1883,64 @@ msgstr "trap_handler: tín hiệu sai %d"
msgid "error importing function definition for `%s'"
msgstr "gặp lá»—i khi nhập lá»i xác định hàm cho « %s »"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr "cấp trình bao (%d) quá cao nên đặt lại thành 1"
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr "make_local_variable: không có ngữ cảnh hàm ở phạm vi hiện thá»i"
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr "all_local_variables: không có ngữ cảnh hàm ở phạm vi hiện thá»i"
-#: variables.c:3376
-#, fuzzy, c-format
+#: variables.c:3427
+#, c-format
msgid "%s has null exportstr"
-msgstr "%s: tham số vô giá trị hoặc chưa được đặt"
+msgstr "%s có chuỗi xuất (exportstr) vô giá trị"
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr "sai ký tự %d trong chuỗi exportstr cho %s"
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr "không có dấu bằng « = » trong chuỗi exportstr cho %s"
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
"pop_var_context: đầu của shell_variables (các biến trình bao) không phải là "
"ngữ cảnh hàm"
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
"pop_var_context: không có ngữ cảnh global_variables (các biến toàn cục)"
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
"pop_scope: đầu của shell_variables (các biến trình bao) không phải là phạm "
"vi môi trÆ°á»ng tạm thá»i"
-#: variables.c:4678
-#, fuzzy, c-format
+#: variables.c:4786
+#, c-format
msgid "%s: %s: cannot open as FILE"
-msgstr "%s: không thể mở : %s"
+msgstr "%s: %s: không thể mở dưới dạng TẬP_TIN"
-#: variables.c:4683
-#, fuzzy, c-format
+#: variables.c:4791
+#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
-msgstr "%d: bộ mô tả tập tin không hợp lệ: %s"
+msgstr "%s: %s: sai đặt giá trị cho bộ mô tả tập tin vết"
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr "Tác quyá»n © năm 2009 của Tổ chức Phần má»m Tá»± do."
#: version.c:47
@@ -1963,38 +1967,38 @@ msgid "There is NO WARRANTY, to the extent permitted by law.\n"
msgstr "KHÔNG BẢO ÄẢM GÃŒ CẢ, vá»›i Ä‘iá»u kiện được pháp luật cho phép.\n"
#: version2.c:86
-#, fuzzy, c-format
+#, c-format
msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
-msgstr "Tác quyá»n © năm 2009 của Tổ chức Phần má»m Tá»± do."
+msgstr "Tác quyá»n © năm 2009 của Tổ chức Phần má»m Tá»± do.\n"
#: version2.c:87
-#, fuzzy, c-format
+#, c-format
msgid ""
"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
"html>\n"
msgstr ""
-"Giấy phép GPLv3+: Giấy Phép Công Cộng GNU phiên bản 3 hay sau <http://gnu."
+"Giấy phép GPLv2+: Giấy Phép Công Cộng GNU phiên bản 2 hay sau <http://gnu."
"org/licenses/gpl.html>\n"
#: xmalloc.c:91
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: không thể cấp phát %lu byte (%lu byte đã cấp phát)"
+msgstr "%s: không thể cấp phát %lu byte (%lu byte được cấp phát)"
#: xmalloc.c:93
-#, fuzzy, c-format
+#, c-format
msgid "%s: cannot allocate %lu bytes"
-msgstr "xmalloc: không thể cấp phát %lu byte"
+msgstr "%s: không thể cấp phát %lu byte"
#: xmalloc.c:163
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s:%d: không thể cấp phát %lu byte (%lu byte đã cấp phát)"
+msgstr "%s: %s:%d: không thể cấp phát %lu byte (%lu byte được cấp phát)"
#: xmalloc.c:165
-#, fuzzy, c-format
+#, c-format
msgid "%s: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: không thể cấp phát %lu byte"
+msgstr "%s: %s:%d: không thể cấp phát %lu byte"
#: builtins.c:43
msgid "alias [-p] [name[=value] ... ]"
@@ -2030,7 +2034,8 @@ msgid "caller [expr]"
msgstr "caller [b_thức]"
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr "cd [-L|-P] [tmục]"
#: builtins.c:66
@@ -2054,11 +2059,13 @@ msgid "command [-pVv] command [arg ...]"
msgstr "command [-pVv] command [arg ...]"
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr "declare [-aAfFilrtux] [-p] [tên[=giá_trị] ...]"
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr "typeset [-aAfFilrtux] [-p] tên[=giá_trị] ..."
#: builtins.c:80
@@ -2117,9 +2124,8 @@ msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
msgstr "hash [-lr] [-p Ä‘Æ°á»ng_dẫn] [-dt] [tên ...]"
#: builtins.c:117
-#, fuzzy
msgid "help [-dms] [pattern ...]"
-msgstr "help [-ds] [mẫu ...]"
+msgstr "help [-dms] [mẫu ...]"
#: builtins.c:121
msgid ""
@@ -2158,13 +2164,12 @@ msgid "let arg [arg ...]"
msgstr "let đối_số [đối_số ...]"
#: builtins.c:136
-#, fuzzy
msgid ""
"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
"prompt] [-t timeout] [-u fd] [name ...]"
msgstr ""
-"read [-ers] [-a mảng] [-d giới_hạn] [-i văn_bản] [-n số_ký_tự] [-p nhắc] [-t "
-"thá»i_hạn] [-u fd] [tên ...]"
+"read [-ers] [-a mảng] [-d giới_hạn] [-i văn_bản] [-n số_ký_tự] [-N số_ký_tự] "
+"[-p nhắc] [-t thá»i_hạn] [-u fd] [tên ...]"
# nghĩa chữ
#: builtins.c:138
@@ -2172,7 +2177,8 @@ msgid "return [n]"
msgstr "return [n]"
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr "set [--abefhkmnptuvxBCHP] [-o tùy_chá»n] [đối_số ...]"
#: builtins.c:142
@@ -2187,7 +2193,8 @@ msgstr ""
"export -p"
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
"readonly [-af] [tên[=giá_trị] ...]\n"
"\thay\n"
@@ -2333,15 +2340,14 @@ msgid "printf [-v var] format [arguments]"
msgstr "printf [-v biến] định_dạng [đối_số]"
#: builtins.c:229
-#, fuzzy
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
-"complete [-abcdefgjksuv] [-pr] [-o tùy_chá»n] [-A hành_Ä‘á»™ng] [-G mẫu_glob] [-"
-"W danh_sách_từ] [-F hàm] [-C lệnh] [-X mẫu_lá»c] [-P tiá»n_tố] [-S hậu_tố] "
-"[tên ...]"
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o tùy_chá»n] [-A hành_Ä‘á»™ng] [-G "
+"mẫu_glob] [-W danh_sách_từ] [-F hàm] [-C lệnh] [-X mẫu_lá»c] [-P tiá»n_tố] [-"
+"S hậu_tố] [tên ...]"
#: builtins.c:233
msgid ""
@@ -2352,9 +2358,8 @@ msgstr ""
"danh_sách_từ] [-F hàm] [-C lệnh] [-X mẫu_lá»c] [-P tiá»n_tố] [-S hậu_tố] [từ]"
#: builtins.c:237
-#, fuzzy
msgid "compopt [-o|+o option] [-DE] [name ...]"
-msgstr "compopt [-o|+o tùy_chá»n] [tên ...]"
+msgstr "compopt [-o|+o tùy_chá»n] [-DE] [tên ...]"
#: builtins.c:240
msgid ""
@@ -2589,6 +2594,7 @@ msgstr ""
"\t\tB_THỨC cũng hợp lệ."
#: builtins.c:383
+#, fuzzy
msgid ""
"Change the shell working directory.\n"
" \n"
@@ -2614,11 +2620,15 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
"Chuyển đổi thư mục làm việc của trình bao.\n"
"\n"
@@ -2644,7 +2654,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại 0 nếu thư mục được chuyển đổi; không thì khác số không."
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2672,7 +2682,7 @@ msgstr ""
"\t\tTrả lại 0 nếu không Ä‘Æ°a ra tùy chá»n sai\n"
"\t\tvà nếu Ä‘á»c được thÆ° mục hiện thá»i."
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2688,7 +2698,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tLúc nào cũng thành công."
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2700,7 +2710,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tLúc nào cũng thành công."
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2712,7 +2722,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tLúc nào cũng không thành công."
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2746,7 +2756,8 @@ msgstr ""
"Trả lại trạng thái thoát của câu LỆNH, hoặc bị lỗi nếu không tìm thấy câu "
"LỆNH."
-#: builtins.c:476
+#: builtins.c:479
+#, fuzzy
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2757,6 +2768,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2776,7 +2789,7 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
@@ -2814,7 +2827,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hoặc gặp lá»—i."
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2824,7 +2837,7 @@ msgstr ""
"\n"
"\tQuá cũ. Xem « help declare »."
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2851,7 +2864,7 @@ msgstr ""
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i,\n"
"\tvà nếu trình bao đang chạy chức năng."
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2908,7 +2921,7 @@ msgstr ""
"\t\t\\v\tkhoảng tab theo chiá»u dá»c\n"
"\t\t\\\\\tgạch chéo ngược"
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2930,7 +2943,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không gặp lỗi ghi."
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2982,7 +2995,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu TÊN là một dựng sẵn trình bao, và không gặp lỗi."
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -3003,7 +3016,7 @@ msgstr ""
"\tTrả lại trạng thái thoát của câu lệnh,\n"
"\thay thành công nếu câu lệnh vô giá trị."
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -3089,7 +3102,7 @@ msgstr ""
"\tkhông thành công nếu gặp kết thúc các tùy chá»n,\n"
"\thoặc nếu gặp lỗi."
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -3130,7 +3143,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu tìm được câu LỆNH và không gặp lỗi chuyển hướng."
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -3143,7 +3156,7 @@ msgstr ""
"\tKhông đưa ra N thì trạng thái thoát\n"
"\tlà trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -3156,7 +3169,7 @@ msgstr ""
"\tThoát khá»i má»™t trình bao đăng nhập, vá»›i trạng thái thoát N.\n"
"\tTrả lại lỗi nếu không được thực thi trong trình bao đăng nhập."
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -3211,7 +3224,7 @@ msgstr ""
"\tTrả lại thành công hay trạng thái của câu lệnh được thực thi;\n"
"\t\tgặp lỗi thì khác số không."
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -3233,7 +3246,7 @@ msgstr ""
"\tTrạng thái của câu lệnh được nâng lên trước;\n"
"\tgặp lỗi thì không thành công."
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -3257,7 +3270,7 @@ msgstr ""
"\tTrả lại thành công nếu chức năng Ä‘iá»u khiển công việc được bật\n"
"\tvà không gặp lỗi."
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -3301,7 +3314,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu tìm được TÊN và không Ä‘Æ°a ra tùy chá»n sai."
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -3342,7 +3355,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu tìm được MẪU và không Ä‘Æ°a ra tùy chá»n sai."
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -3409,7 +3422,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không gặp tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -3453,7 +3466,7 @@ msgstr ""
"\tTrả lại thành công nếu không gặp tùy chá»n sai hay gặp lá»—i.\n"
"\tÄÆ°a ra « -x » thì trả lại trạng thái thoát của câu LỆNH."
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -3485,7 +3498,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay JOBSPEC sai."
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -3527,7 +3540,8 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:921
+#: builtins.c:926
+#, fuzzy
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -3569,7 +3583,7 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
"Äịnh giá biểu thức số há»c.\n"
"\n"
@@ -3612,8 +3626,7 @@ msgstr ""
"\tNếu Äá»I_Sá» cuối cùng được định giá thành 0 thì let trả lại 1;\n"
"\tkhông thì let trả lại 0."
-#: builtins.c:966
-#, fuzzy
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -3670,18 +3683,21 @@ msgstr ""
"\tvà từ còn lại nào được gán cho TÊN cuối cùng.\n"
"\tChỉ những ký tự được tìm trong $IFS được nhận ra là ký tự định giới từ.\n"
"\n"
-"\tKhông Ä‘Æ°a ra TÊN thì dòng được Ä‘á»c sẽ được ghi nhá»› vào biến REPLY (trả "
-"lá»i).\n"
+"\tKhông Ä‘Æ°a ra TÊN thì dòng được Ä‘á»c sẽ được ghi nhá»› vào biến REPLY (đáp "
+"ứng).\n"
"\n"
"\tTùy chá»n:\n"
-"\t\t-a MẢNG\tgán các từ được Ä‘á»c cho những số mÅ© tuần tá»±\n"
+"\t\t-a mảng\tgán các từ được Ä‘á»c cho những số mÅ© tuần tá»±\n"
"\t\t\tcủa biến mảng MẢNG, bắt đầu từ số không.\n"
"\t\t-d định_giá»›i\ttiếp tục đến khi Ä‘á»c ký tá»± đầu tiên của DELIM,\n"
"\t\t\thơn là ký tự dòng mới\n"
"\t\t-e\tdùng Readline để lấy dòng trong một trình bao tương tác\n"
"\t\t-i chuỗi\tdùng chuỗi này như là văn bản đầu tiên cho Readline\n"
-"\t\t-n số_ky_tá»±\ttrở vá» sau khi Ä‘á»c số các ký tá»± này,\n"
+"\t\t-n số_ky_tá»±\ttrả lại sau khi Ä‘á»c số các ký tá»± này,\n"
"\t\t\thơn là đợi một ký tự dòng mới\n"
+"\t\t-N số_ký_tá»±\ttrả lại chỉ sau khi Ä‘á»c chính xác số các ký tá»± này,\n"
+"\t\tnếu không gặp kết thúc tập tin (EOF) hay quá hạn Ä‘á»c, cÅ©ng bá» qua dấu "
+"tách nào\n"
"\t\t-p nhắc\txuất chuỗi NHẮC mà không có ký tự dòng mới theo sau,\n"
"\t\t\ttrÆ°á»›c khi thá»­ Ä‘á»c\n"
"\t\t-r\tđừng cho phép gạch chéo ngược thoát ký tự\n"
@@ -3697,10 +3713,10 @@ msgstr ""
"\n"
"\tTrạng thái thoát:\n"
"\tMã trả lại là số không, nếu không gặp kết thúc tập tin,\n"
-"\tkhông quá thá»i khi Ä‘á»c, và không Ä‘Æ°a ra bá»™ mô tả tập tin sai\n"
+"\thay quá hạn Ä‘á»c, hay Ä‘Æ°a ra bá»™ mô tả tập tin sai\n"
"\tlàm đối số tới « -u »."
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -3722,7 +3738,8 @@ msgstr ""
"\tTrả lại N, hoặc bị lỗi nếu trình bao không đang chạy\n"
"\t\tmột chức năng hay văn lệnh."
-#: builtins.c:1022
+#: builtins.c:1027
+#, fuzzy
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3791,6 +3808,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3885,7 +3905,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không gặp tùy chá»n sai."
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3918,7 +3938,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai, và TÊN không chỉ Ä‘á»c."
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3952,7 +3972,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay TÊN sai,"
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3988,7 +4008,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay TÊN sai."
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -4006,7 +4026,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu N không âm hay lớn hơn $#."
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -4033,7 +4053,7 @@ msgstr ""
"TÊN_TẬP_TIN;\n"
"\tkhông thành công nếu không thể Ä‘á»c TÊN_TẬP_TIN."
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -4058,14 +4078,18 @@ msgstr ""
"\tTrả lại thành công nếu chức năng Ä‘iá»u khiển công việc đã được bật, và "
"không gặp lỗi."
-#: builtins.c:1223
+#: builtins.c:1231
+#, fuzzy
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -4119,6 +4143,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -4213,7 +4238,7 @@ msgstr ""
"\tTrả lại thành công nếu B_THỨC định giá thành Äúng;\n"
"\tkhông thành công nếu B_THỨC định giá thành Sai hay đưa ra đối số sai."
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -4226,7 +4251,7 @@ msgstr ""
"\tnhưng đối số cuối cùng phải là một « ] » nghĩa chữ,\n"
"\tđổ tương ứng với « [ » mở."
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -4245,7 +4270,8 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tLúc nào cũng thành công."
-#: builtins.c:1320
+#: builtins.c:1332
+#, fuzzy
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -4261,7 +4287,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -4315,7 +4349,7 @@ msgstr ""
"\tTrả lại thành công nếu không Ä‘Æ°a ra ÄẶC_TẢ_TÃN_HIỆU sai\n"
"\thay tùy chá»n sai."
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -4374,7 +4408,7 @@ msgstr ""
"\tTráng thái thoát:\n"
"\tTrả lại thành công nếu tìm thấy tất cả các TÊN; không thì bị lỗi."
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -4462,7 +4496,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -4497,7 +4531,7 @@ msgstr ""
"\tTráng thái thoát:\n"
"\tTrả lại thành công nếu không có CHẾ_ÄỘ sai hay tùy chá»n sai."
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -4526,7 +4560,7 @@ msgstr ""
"\tTrả lại trạng thái của ID; không thành công nếu ID sai\n"
"\t\thoặc Ä‘Æ°a ra tùy chá»n sai."
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -4553,7 +4587,7 @@ msgstr ""
"\tkhông thành công nếu ID sai,\n"
"\thoặc nếu Ä‘Æ°a ra tùy chá»n sai."
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -4577,7 +4611,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -4606,7 +4640,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -4645,7 +4679,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -4676,7 +4710,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrạng thái trả lai là trạng thái trả lại của PIPELINE."
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -4695,7 +4729,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -4732,7 +4766,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -4751,7 +4785,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -4770,7 +4804,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -4793,7 +4827,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái thoát của câu LỆNH."
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -4817,7 +4851,7 @@ msgstr ""
"\tTráng thái thoát:\n"
"\tTrả lại thành công nếu TÊN không phải chỉ Ä‘á»c."
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -4836,7 +4870,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của câu lệnh cuối cùng được chạy."
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -4861,7 +4895,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại trạng thái của công việc đã tiếp tục lại."
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -4879,7 +4913,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại 1 nếu BIỂU_THỨC tính là 0; không thì trả lại 0."
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -4920,8 +4954,7 @@ msgstr ""
" \tB_THỨC1 || B_THỨC2\n"
"\tÄúng nếu má»™t của B_THỨC1 và B_THỨC2 là đúng; không thì sai\n"
" \n"
-"Khi dùng toán từ « == » và « != », chuỗi bên phải toán tử được dùng làm "
-"mẫu,\n"
+"Khi dùng toán từ « == » và « != », chuỗi bên phải toán tử được dùng làm mẫu,\n"
"\tvà thực hiện chức năng khớp mẫu.\n"
"Toán tử « && » và « || » không tính B_THỨC2 nếu B_THỨC1 là đủ\n"
"\tđể tính giá trị của biểu thức.\n"
@@ -4929,7 +4962,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\t0 hay 1 phụ thuộc vào giá trị của BIỂU_THỨC."
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -5035,7 +5068,7 @@ msgstr ""
"\tđược ùng để quyết định những câu lệnh nào nên được lưu\n"
"\tvào danh sách lịch sử.\n"
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -5089,7 +5122,7 @@ msgstr ""
"\tTrả lại thành công nếu không đưa ra đối số sai,\n"
"\tcũng không sai chuyển đổi thư mục."
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -5142,7 +5175,7 @@ msgstr ""
"\tTrả lại thành công nếu không đưa ra đối số sai,\n"
"\tcũng không sai chuyển đổi thư mục."
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -5198,7 +5231,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -5235,7 +5268,8 @@ msgstr ""
"\tTrả lại thành công nếu TÊN_TÙY_CHỌN được bật;\n"
"\tkhông thành công nếu Ä‘Æ°a ra tùy chá»n sai hay TÊN_TÙY_CHỌN bị tắt."
-#: builtins.c:1868
+#: builtins.c:1884
+#, fuzzy
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -5258,6 +5292,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -5286,8 +5323,7 @@ msgstr ""
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i kiểu ghi hay "
"gán."
-#: builtins.c:1895
-#, fuzzy
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -5324,6 +5360,10 @@ msgstr ""
"\t\t\tcó thể dùng lại được\n"
"\t\t-r\tgỡ bá» má»™t đặc tả Ä‘iá»n nốt cho má»—i TÊN,\n"
"\t\t\thoặc nếu không Ä‘Æ°a ra TÊN thì gỡ bá» tất cả các đặc tả Ä‘iá»n nốt\n"
+" -D\táp dụng các sự hoàn thành và hành động làm mặc định\n"
+"\t\tcho câu lệnh mà không xác định sự hoàn thành riêng\n"
+" -E\táp dụng các sự hoàn thành và hành động cho câu lệnh « trống »\n"
+"\t\t(empty) -- thử hoàn thành trên dòng trắng\n"
"\n"
"\tKhi chức năng Ä‘iá»n nốt được thá»­, những hành Ä‘á»™ng được làm\n"
"\t\ttheo thứ tá»± của những tùy chá»n chữ hoa bên trên.\n"
@@ -5331,7 +5371,7 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -5353,14 +5393,14 @@ msgstr ""
"\tTrạng thái thoát:\n"
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai hay gặp lá»—i."
-#: builtins.c:1938
+#: builtins.c:1956
#, fuzzy
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -5393,6 +5433,9 @@ msgstr ""
"\n"
"\tTùy chá»n\"\n"
"\t\t-o tùy_chá»n\tđặt tùy chá»n Ä‘iá»n nốt này đối vá»›i má»—i TÊN\n"
+" \t-D\t\tSá»­a đổi các tuỳ chá»n vá» sá»± Ä‘iá»n nốt câu lệnh « mặc định "
+"» (default)\n"
+" \t-E\t\tSá»­a đổi các tuỳ chá»n vá» sá»± Ä‘iá»n nốt câu lệnh « trống » (empty)\n"
"\n"
"\tDùng « +o » thay cho « -o » thì tắt tùy chá»n Ä‘Æ°a ra.\n"
"\n"
@@ -5408,7 +5451,7 @@ msgstr ""
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai,\n"
"\tvà TÊN có má»™t đặc tả Ä‘iá»n nốt được xác định."
-#: builtins.c:1968
+#: builtins.c:1986
#, fuzzy
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
@@ -5437,7 +5480,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -5448,7 +5492,7 @@ msgid ""
"or\n"
" not an indexed array."
msgstr ""
-"Äá»c các dòng từ đầu vào tiêu chuẩn vào má»™t biến mảng.\n"
+"Äá»c các dòng từ đầu vào tiêu chuẩn vào má»™t biến mảng phụ lục.\n"
"\n"
"\tÄá»c các dòng từ đầu vào tiêu chuẩn vào biến mảng MẢNG,\n"
"\thoặc từ bá»™ mô tả tập tin FD nếu Ä‘Æ°a ra tùy chá»n « -u ».\n"
@@ -5478,7 +5522,7 @@ msgstr ""
"\tTrả lại thành công nếu không Ä‘Æ°a ra tùy chá»n sai và MẢNG không phải chỉ "
"Ä‘á»c."
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
@@ -5488,12 +5532,23 @@ msgstr ""
"\n"
"\tÄồng nghÄ©a vá»›i « mapfile »."
-#~ msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-#~ msgstr "xrealloc: không thể cấp phát lại %lu byte (%lu byte đã cấp phát)"
-
-#~ msgid "xrealloc: cannot allocate %lu bytes"
-#~ msgstr "xrealloc: không thể cấp phát %lu byte"
-
-#~ msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". Cũng dùng BTHỨC thì trả lại\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
#~ msgstr ""
-#~ "xrealloc: %s:%d: không thể cấp phát lại %lu byte (%lu byte đã cấp phát)"
+#~ "; thông tin thêm này có thể được sử dụng\n"
+#~ "\tđể cung cấp một vết đống (stack trace).\n"
+#~ "\n"
+#~ "\tGiá trị của BTHỨC ngụ ý bao nhiêu khung gá»i cần lùi lại\n"
+#~ "\ttÆ°Æ¡ng đối vá»›i cái hiện thá»i; khung trên cùng là khung 0."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
new file mode 100644
index 0000000..2ccc4b1
--- /dev/null
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..a62ce7c
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,5316 @@
+# Chinese (Simplified) translation for bash package
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the bash package.
+# Xin Ye <alyex.ye@gmail.com>, 2010
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: bash 4.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
+"PO-Revision-Date: 2010-06-29 10:16+0800\n"
+"Last-Translator: Alex Ye <alyex.ye@gmail.com>\n"
+"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: arrayfunc.c:50
+msgid "bad array subscript"
+msgstr "å的数组下标"
+
+#: arrayfunc.c:313 builtins/declare.def:487
+#, c-format
+msgid "%s: cannot convert indexed to associative array"
+msgstr "%s: 无法将索引数组转化为关è”数组"
+
+#: arrayfunc.c:480
+#, c-format
+msgid "%s: invalid associative array key"
+msgstr "%s: 无效的关è”数组键"
+
+#: arrayfunc.c:482
+#, c-format
+msgid "%s: cannot assign to non-numeric index"
+msgstr "%s: 无法为éžæ•°å­—的索引赋值"
+
+#: arrayfunc.c:518
+#, c-format
+msgid "%s: %s: must use subscript when assigning associative array"
+msgstr "%s: %s: 为关è”数组赋值时必须使用下标"
+
+#: bashhist.c:387
+#, c-format
+msgid "%s: cannot create: %s"
+msgstr "%s: 无法创建: %s"
+
+#: bashline.c:3498
+msgid "bash_execute_unix_command: cannot find keymap for command"
+msgstr "bash_execute_unix_command: 无法为命令找到键映射"
+
+#: bashline.c:3584
+#, c-format
+msgid "%s: first non-whitespace character is not `\"'"
+msgstr "%s: 第一个éžç©ºå­—符ä¸æ˜¯ `\"'"
+
+#: bashline.c:3613
+#, c-format
+msgid "no closing `%c' in %s"
+msgstr "%2$s 中没有闭åˆçš„ `%1$c'"
+
+#: bashline.c:3647
+#, c-format
+msgid "%s: missing colon separator"
+msgstr "%s: 缺少冒å·åˆ†éš”符"
+
+#: builtins/alias.def:132
+#, c-format
+msgid "`%s': invalid alias name"
+msgstr "`%s': 无效的别å"
+
+#: builtins/bind.def:120 builtins/bind.def:123
+msgid "line editing not enabled"
+msgstr "行编辑未å¯ç”¨"
+
+#: builtins/bind.def:206
+#, c-format
+msgid "`%s': invalid keymap name"
+msgstr "`%s': 无效的键映射å"
+
+#: builtins/bind.def:245
+#, c-format
+msgid "%s: cannot read: %s"
+msgstr "%s: 无法读å–: %s"
+
+#: builtins/bind.def:260
+#, c-format
+msgid "`%s': cannot unbind"
+msgstr "`%s': 无法解除绑定"
+
+#: builtins/bind.def:295 builtins/bind.def:325
+#, c-format
+msgid "`%s': unknown function name"
+msgstr "`%s': 未知函数å"
+
+#: builtins/bind.def:303
+#, c-format
+msgid "%s is not bound to any keys.\n"
+msgstr "%s 未与任何键绑定。\n"
+
+#: builtins/bind.def:307
+#, c-format
+msgid "%s can be invoked via "
+msgstr "%s å¯ä»¥è¢«è°ƒç”¨ï¼Œé€šè¿‡"
+
+#: builtins/break.def:77 builtins/break.def:117
+msgid "loop count"
+msgstr "循环计数"
+
+#: builtins/break.def:137
+msgid "only meaningful in a `for', `while', or `until' loop"
+msgstr "仅在`for', `while', 或者`until' 循环中有æ„义"
+
+#: builtins/caller.def:133
+msgid ""
+"Returns the context of the current subroutine call.\n"
+" \n"
+" Without EXPR, returns "
+msgstr ""
+"返回当å‰å­ä¾‹ç¨‹è°ƒç”¨çš„上下文\n"
+" \n"
+" ä¸å¸¦ EXPR 时, 返回"
+
+#: builtins/cd.def:235
+msgid "HOME not set"
+msgstr "HOME 未设定"
+
+#: builtins/cd.def:247
+msgid "OLDPWD not set"
+msgstr "OLDPWD 未设定"
+
+#: builtins/common.c:101
+#, c-format
+msgid "line %d: "
+msgstr "第 %d 行:"
+
+#: builtins/common.c:139 error.c:261
+#, c-format
+msgid "warning: "
+msgstr "警告:"
+
+#: builtins/common.c:153
+#, c-format
+msgid "%s: usage: "
+msgstr "%s: 用法:"
+
+#: builtins/common.c:166 test.c:832
+msgid "too many arguments"
+msgstr "å‚数太多"
+
+#: builtins/common.c:191 shell.c:500 shell.c:782
+#, c-format
+msgid "%s: option requires an argument"
+msgstr "%s: 选项需è¦ä¸€ä¸ªå‚æ•°"
+
+#: builtins/common.c:198
+#, c-format
+msgid "%s: numeric argument required"
+msgstr "%s: 需è¦æ•°å­—å‚æ•°"
+
+#: builtins/common.c:205
+#, c-format
+msgid "%s: not found"
+msgstr "%s: 未找到"
+
+#: builtins/common.c:214 shell.c:795
+#, c-format
+msgid "%s: invalid option"
+msgstr "%s: 无效选项"
+
+#: builtins/common.c:221
+#, c-format
+msgid "%s: invalid option name"
+msgstr "%s: 无效的选项å"
+
+#: builtins/common.c:228 general.c:231 general.c:236
+#, c-format
+msgid "`%s': not a valid identifier"
+msgstr "`%s': ä¸æ˜¯æœ‰æ•ˆçš„标识符"
+
+#: builtins/common.c:238
+msgid "invalid octal number"
+msgstr "无效的八进制数"
+
+#: builtins/common.c:240
+msgid "invalid hex number"
+msgstr "无效的å六进制数"
+
+#: builtins/common.c:242 expr.c:1362
+msgid "invalid number"
+msgstr "无效数字"
+
+#: builtins/common.c:250
+#, c-format
+msgid "%s: invalid signal specification"
+msgstr "%s: 无效的信å·å£°æ˜Ž"
+
+#: builtins/common.c:257
+#, c-format
+msgid "`%s': not a pid or valid job spec"
+msgstr "`%s': ä¸æ˜¯æœ‰æ•ˆçš„进程å·æˆ–者任务声明"
+
+#: builtins/common.c:264 error.c:454
+#, c-format
+msgid "%s: readonly variable"
+msgstr "%s: åªè¯»å˜é‡"
+
+#: builtins/common.c:272
+#, c-format
+msgid "%s: %s out of range"
+msgstr "%s: %s 越界"
+
+#: builtins/common.c:272 builtins/common.c:274
+msgid "argument"
+msgstr "å‚æ•°"
+
+#: builtins/common.c:274
+#, c-format
+msgid "%s out of range"
+msgstr "%s 越界"
+
+#: builtins/common.c:282
+#, c-format
+msgid "%s: no such job"
+msgstr "%s: 无此任务"
+
+#: builtins/common.c:290
+#, c-format
+msgid "%s: no job control"
+msgstr "%s: 无任务控制"
+
+#: builtins/common.c:292
+msgid "no job control"
+msgstr "无任务控制"
+
+#: builtins/common.c:302
+#, c-format
+msgid "%s: restricted"
+msgstr "%s: å—é™çš„"
+
+#: builtins/common.c:304
+msgid "restricted"
+msgstr "å—é™çš„"
+
+#: builtins/common.c:312
+#, c-format
+msgid "%s: not a shell builtin"
+msgstr "%s: ä¸æ˜¯shell内建"
+
+#: builtins/common.c:321
+#, c-format
+msgid "write error: %s"
+msgstr "写错误: %s"
+
+#: builtins/common.c:329
+#, c-format
+msgid "error setting terminal attributes: %s"
+msgstr "设定终端属性时出错: %s"
+
+#: builtins/common.c:331
+#, c-format
+msgid "error getting terminal attributes: %s"
+msgstr "获å–终端属性时出错: %s"
+
+#: builtins/common.c:563
+#, c-format
+msgid "%s: error retrieving current directory: %s: %s\n"
+msgstr "%s: 获å–当å‰ç›®å½•æ—¶å‡ºé”™: %s: %s\n"
+
+#: builtins/common.c:629 builtins/common.c:631
+#, c-format
+msgid "%s: ambiguous job spec"
+msgstr "%s: 模糊的任务声明"
+
+#: builtins/complete.def:276
+#, c-format
+msgid "%s: invalid action name"
+msgstr "%s: 无效的动作å"
+
+#: builtins/complete.def:449 builtins/complete.def:644
+#: builtins/complete.def:853
+#, c-format
+msgid "%s: no completion specification"
+msgstr "%s: 没有补完声明"
+
+#: builtins/complete.def:696
+msgid "warning: -F option may not work as you expect"
+msgstr "警告: -F 选项å¯èƒ½ä¸åƒæ‚¨é¢„期的那样工作"
+
+#: builtins/complete.def:698
+msgid "warning: -C option may not work as you expect"
+msgstr "警告: -C 选项å¯èƒ½ä¸åƒæ‚¨é¢„期的那样工作"
+
+#: builtins/complete.def:826
+msgid "not currently executing completion function"
+msgstr "ç›®å‰ä¸åœ¨æ‰§è¡Œè¡¥å®ŒåŠŸèƒ½"
+
+#: builtins/declare.def:124
+msgid "can only be used in a function"
+msgstr "åªèƒ½åœ¨å‡½æ•°ä¸­ä½¿ç”¨"
+
+#: builtins/declare.def:366
+msgid "cannot use `-f' to make functions"
+msgstr "无法用 `-f' 生æˆå‡½æ•°"
+
+#: builtins/declare.def:378 execute_cmd.c:5105
+#, c-format
+msgid "%s: readonly function"
+msgstr "%s: åªè¯»å‡½æ•°"
+
+#: builtins/declare.def:474
+#, c-format
+msgid "%s: cannot destroy array variables in this way"
+msgstr "%s: 无法以这ç§æ–¹å¼æ‘§æ¯æ•°ç»„å˜é‡"
+
+#: builtins/declare.def:481
+#, c-format
+msgid "%s: cannot convert associative to indexed array"
+msgstr "%s: 无法将关è”数组转化为索引数组"
+
+#: builtins/enable.def:137 builtins/enable.def:145
+msgid "dynamic loading not available"
+msgstr "动æ€åŠ è½½ä¸å¯ç”¨"
+
+#: builtins/enable.def:312
+#, c-format
+msgid "cannot open shared object %s: %s"
+msgstr "无法打开共享对象 %s: %s"
+
+#: builtins/enable.def:335
+#, c-format
+msgid "cannot find %s in shared object %s: %s"
+msgstr "无法在共享对象 %2$s 中找到 %1$s: %3$s"
+
+#: builtins/enable.def:459
+#, c-format
+msgid "%s: not dynamically loaded"
+msgstr "%s: ä¸æ˜¯åŠ¨æ€åŠ è½½"
+
+#: builtins/enable.def:474
+#, c-format
+msgid "%s: cannot delete: %s"
+msgstr "%s: 无法删除: %s"
+
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
+#, c-format
+msgid "%s: is a directory"
+msgstr "%s: 是一个目录"
+
+#: builtins/evalfile.c:140
+#, c-format
+msgid "%s: not a regular file"
+msgstr "%s: ä¸æ˜¯å¸¸è§„文件"
+
+#: builtins/evalfile.c:148
+#, c-format
+msgid "%s: file is too large"
+msgstr "%s: 文件太大"
+
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
+#, c-format
+msgid "%s: cannot execute binary file"
+msgstr "%s: 无法执行二进制文件"
+
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
+#, c-format
+msgid "%s: cannot execute: %s"
+msgstr "%s: 无法执行: %s"
+
+#: builtins/exit.def:65
+#, c-format
+msgid "logout\n"
+msgstr "登出\n"
+
+#: builtins/exit.def:88
+msgid "not login shell: use `exit'"
+msgstr "ä¸æ˜¯ç™»å½•shell: 使用 `exit'"
+
+#: builtins/exit.def:120
+#, c-format
+msgid "There are stopped jobs.\n"
+msgstr "有åœæ­¢çš„任务。\n"
+
+#: builtins/exit.def:122
+#, c-format
+msgid "There are running jobs.\n"
+msgstr "有è¿è¡Œä¸­çš„任务。\n"
+
+#: builtins/fc.def:262
+msgid "no command found"
+msgstr "未找到命令"
+
+#: builtins/fc.def:312 builtins/fc.def:359
+msgid "history specification"
+msgstr "历å²å£°æ˜Ž"
+
+#: builtins/fc.def:380
+#, c-format
+msgid "%s: cannot open temp file: %s"
+msgstr "%s: 无法打开临时文件: %s"
+
+#: builtins/fg_bg.def:149 builtins/jobs.def:282
+msgid "current"
+msgstr "当å‰"
+
+#: builtins/fg_bg.def:158
+#, c-format
+msgid "job %d started without job control"
+msgstr "ä¸å¸¦ä»»åŠ¡æŽ§åˆ¶çš„情况下å¯åŠ¨äº†ä»»åŠ¡ %d"
+
+#: builtins/getopt.c:110
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: éžæ³•é€‰é¡¹ -- %c\n"
+
+#: builtins/getopt.c:111
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: 选项需è¦ä¸€ä¸ªå‚æ•° -- %c\n"
+
+#: builtins/hash.def:92
+msgid "hashing disabled"
+msgstr "哈希已ç¦ç”¨"
+
+#: builtins/hash.def:138
+#, c-format
+msgid "%s: hash table empty\n"
+msgstr "%s: 哈希表为空\n"
+
+#: builtins/hash.def:245
+#, c-format
+msgid "hits\tcommand\n"
+msgstr "命中\t命令\n"
+
+#: builtins/help.def:130
+#, c-format
+msgid "Shell commands matching keyword `"
+msgid_plural "Shell commands matching keywords `"
+msgstr[0] "Shell命令匹é…关键字`"
+
+#: builtins/help.def:168
+#, c-format
+msgid ""
+"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
+msgstr ""
+"没有与 `%s' 匹é…的帮助主题。å°è¯• `help help' 或者 `man -k %s' 或者 `info %"
+"s'。"
+
+#: builtins/help.def:185
+#, c-format
+msgid "%s: cannot open: %s"
+msgstr "%s: 无法打开: %s"
+
+#: builtins/help.def:337
+#, c-format
+msgid ""
+"These shell commands are defined internally. Type `help' to see this list.\n"
+"Type `help name' to find out more about the function `name'.\n"
+"Use `info bash' to find out more about the shell in general.\n"
+"Use `man -k' or `info' to find out more about commands not in this list.\n"
+"\n"
+"A star (*) next to a name means that the command is disabled.\n"
+"\n"
+msgstr ""
+"这些 shell 命令是内部定义的。请输入 `help' 以获å–一个列表.\n"
+"输入 `help å称' 以得到有关函数`å称'的更多信æ¯.\n"
+"使用 `info bash' æ¥èŽ·å¾—关于 shell 的更多一般性信æ¯\n"
+"使用 `man -k' 或 `info' æ¥èŽ·å–ä¸åœ¨åˆ—表中的命令的更多信æ¯.\n"
+"\n"
+"å称æ—è¾¹çš„æ˜Ÿå· (*) æ„味ç€è¯¥å‘½ä»¤è¢«ç¦ç”¨.\n"
+"\n"
+
+#: builtins/history.def:154
+msgid "cannot use more than one of -anrw"
+msgstr "最多åªèƒ½ä½¿ç”¨ -anrw 选项中的一个"
+
+#: builtins/history.def:186
+msgid "history position"
+msgstr "历å²ä½ç½®"
+
+#: builtins/history.def:365
+#, c-format
+msgid "%s: history expansion failed"
+msgstr "%s: 历å²æ‰©å±•å¤±è´¥"
+
+#: builtins/inlib.def:71
+#, c-format
+msgid "%s: inlib failed"
+msgstr "%s: inlib 失败"
+
+#: builtins/jobs.def:109
+msgid "no other options allowed with `-x'"
+msgstr "其他选项ä¸èƒ½ä¸Ž `-x' åŒæ—¶ä½¿ç”¨"
+
+#: builtins/kill.def:198
+#, c-format
+msgid "%s: arguments must be process or job IDs"
+msgstr "%s: å‚数必须是进程或任务 ID"
+
+#: builtins/kill.def:261
+msgid "Unknown error"
+msgstr "未知错误"
+
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
+msgid "expression expected"
+msgstr "期待表达å¼"
+
+#: builtins/mapfile.def:172
+#, c-format
+msgid "%s: not an indexed array"
+msgstr "%s: ä¸æ˜¯ä¸€ä¸ªç´¢å¼•æ•°ç»„"
+
+#: builtins/mapfile.def:256 builtins/read.def:279
+#, c-format
+msgid "%s: invalid file descriptor specification"
+msgstr "%s: 无效的文件æ述符声明"
+
+#: builtins/mapfile.def:264 builtins/read.def:286
+#, c-format
+msgid "%d: invalid file descriptor: %s"
+msgstr "%d: 无效的文件æ述符: %s"
+
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
+#, c-format
+msgid "%s: invalid line count"
+msgstr "%s: 无效的行数"
+
+#: builtins/mapfile.def:284
+#, c-format
+msgid "%s: invalid array origin"
+msgstr "%s: 无效的数组基数"
+
+#: builtins/mapfile.def:301
+#, c-format
+msgid "%s: invalid callback quantum"
+msgstr "%s: 无效的回调é‡å­"
+
+#: builtins/mapfile.def:333
+msgid "empty array variable name"
+msgstr "空数组å˜é‡å"
+
+#: builtins/mapfile.def:354
+msgid "array variable support required"
+msgstr "需è¦æ•°ç»„å˜é‡æ”¯æŒ"
+
+#: builtins/printf.def:394
+#, c-format
+msgid "`%s': missing format character"
+msgstr "`%s': 缺少格å¼å­—符"
+
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s: 无效的超时声明"
+
+#: builtins/printf.def:635
+#, c-format
+msgid "`%c': invalid format character"
+msgstr "`%c': 无效格å¼å­—符"
+
+#: builtins/printf.def:662
+#, c-format
+msgid "warning: %s: %s"
+msgstr "警告: %s: %s"
+
+#: builtins/printf.def:840
+msgid "missing hex digit for \\x"
+msgstr "使用了\\x但缺少å六进制数"
+
+#: builtins/printf.def:855
+#, fuzzy, c-format
+msgid "missing unicode digit for \\%c"
+msgstr "使用了\\x但缺少å六进制数"
+
+#: builtins/pushd.def:195
+msgid "no other directory"
+msgstr "无其他目录"
+
+#: builtins/pushd.def:462
+msgid "<no current directory>"
+msgstr "<无当å‰ç›®å½•>"
+
+#: builtins/pushd.def:506
+msgid "directory stack empty"
+msgstr "目录栈为空"
+
+#: builtins/pushd.def:508
+msgid "directory stack index"
+msgstr "目录栈索引"
+
+#: builtins/pushd.def:683
+msgid ""
+"Display the list of currently remembered directories. Directories\n"
+" find their way onto the list with the `pushd' command; you can get\n"
+" back up through the list with the `popd' command.\n"
+" \n"
+" Options:\n"
+" -c\tclear the directory stack by deleting all of the elements\n"
+" -l\tdo not print tilde-prefixed versions of directories relative\n"
+" \tto your home directory\n"
+" -p\tprint the directory stack with one entry per line\n"
+" -v\tprint the directory stack with one entry per line prefixed\n"
+" \twith its position in the stack\n"
+" \n"
+" Arguments:\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" -N\tDisplays the Nth entry counting from the right of the list shown "
+"by\n"
+"\tdirs when invoked without options, starting with zero."
+msgstr ""
+"显示当å‰è®°ä½çš„目录列表. 目录\n"
+" 通过 `pushd' 命令加入这个列表; 您å¯ä»¥\n"
+" 使用 `popd' 命令对列表进行é历.\n"
+" \n"
+" 选项:\n"
+" -c\t删除所有元素以清除目录栈\n"
+" -l\tä¸æ‰“å°ä¸Žå®¶ç›®å½•ç›¸å…³çš„以波浪å·\n"
+" \t为å‰ç¼€çš„目录\n"
+" -p\tæ¯è¡Œä¸€ä¸ªæ¡ç›®æ‰“å°ç›®å½•æ ˆ\n"
+" -v\t以栈ä½ç½®ä¸ºå‰ç¼€ï¼Œæ¯è¡Œä¸€ä¸ªæ¡ç›®\n"
+" \t打å°ç›®å½•æ ˆ\n"
+" \n"
+" å‚æ•°:\n"
+" +N\t以 dirs ä¸å¸¦é€‰é¡¹è¾“出的顺åºæ˜¾ç¤ºåˆ—表从左起第N个æ¡ç›®ï¼Œ\n"
+" \t从 0 开始.\n"
+" \n"
+" -N\t以 dirs ä¸å¸¦é€‰é¡¹è¾“出的顺åºæ˜¾ç¤ºåˆ—表从å³èµ·ç¬¬N个项目,\n"
+"\t从 0 开始."
+
+#: builtins/pushd.def:705
+msgid ""
+"Adds a directory to the top of the directory stack, or rotates\n"
+" the stack, making the new top of the stack the current working\n"
+" directory. With no arguments, exchanges the top two directories.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when adding\n"
+" \tdirectories to the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the left of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" -N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the right of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" dir\tAdds DIR to the directory stack at the top, making it the\n"
+" \tnew current working directory.\n"
+" \n"
+" The `dirs' builtin displays the directory stack."
+msgstr ""
+"在目录栈顶部加入一个目录, 或者轮转\n"
+" 目录栈, 是当å‰å·¥ä½œç›®å½•æˆä¸ºæ–°çš„栈顶\n"
+" ä¸å¸¦å‚数时,交æ¢æ ˆé¡¶çš„两个目录.\n"
+" \n"
+" 选项:\n"
+" -n\t抑制增加栈中目录时通常的改å˜ç›®å½•çš„æ“作,\n"
+" \t从而åªæœ‰æ ˆè¢«æ“作。\n"
+" \n"
+" å‚数:\n"
+" +N\t轮转栈使得第N个目录(`dirs' 的\n"
+" \t输出列表中左起,从0开始)\n"
+" \tå‡è‡³æ ˆé¡¶ã€‚\n"
+" \n"
+" -N\t轮转栈使得第N个目录(`dirs' 的\n"
+" \t输出列表中å³èµ·ï¼Œä»Ž0开始)\n"
+" \tå‡è‡³æ ˆé¡¶\n"
+" \n"
+" dir\t添加目录至栈顶,并\n"
+" \t使其æˆä¸ºæ–°çš„当å‰å·¥ä½œç›®å½•ã€‚\n"
+" \n"
+" `dirs' 内嵌命令显示目录栈."
+
+#: builtins/pushd.def:730
+msgid ""
+"Removes entries from the directory stack. With no arguments, removes\n"
+" the top directory from the stack, and changes to the new top directory.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when removing\n"
+" \tdirectories from the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRemoves the Nth entry counting from the left of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd +0'\n"
+" \tremoves the first directory, `popd +1' the second.\n"
+" \n"
+" -N\tRemoves the Nth entry counting from the right of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd -0'\n"
+" \tremoves the last directory, `popd -1' the next to last.\n"
+" \n"
+" The `dirs' builtin displays the directory stack."
+msgstr ""
+"从目录栈中删除æ¡ç›®ã€‚ä¸å¸¦å‚数时,删除\n"
+" 栈顶目录并改å˜è‡³æ–°çš„栈顶目录。\n"
+" \n"
+" 选项:\n"
+" -n\t抑制从栈中删除目录时通常的改å˜ç›®å½•æ“作,\n"
+" \t从而åªæœ‰æ ˆè¢«æ“作。\n"
+" \n"
+" å‚数:\n"
+" +N\t从 `dirs' 输出的列表中,\n"
+" \t删除左起第N个æ¡ç›®ï¼Œè®¡æ•°ä»Ž0开始。例如:`popd +0'\n"
+" \t删除第一个目录, `popd +1' 删除第二个。\n"
+" \n"
+" -N\t从 `dirs' 输出的列表中,\n"
+" \t删除å³èµ·ç¬¬N个æ¡ç›®ï¼Œè®¡æ•°ä»Ž0开始,例如:`popd -0'\n"
+" \t删除最åŽä¸€ä¸ªæ¡ç›®ï¼Œ `popd -1' 删除倒数第二个。\n"
+" \n"
+" `dirs' 内嵌å˜é‡æ˜¾ç¤ºç›®å½•æ ˆã€‚"
+
+#: builtins/read.def:252
+#, c-format
+msgid "%s: invalid timeout specification"
+msgstr "%s: 无效的超时声明"
+
+#: builtins/read.def:588
+#, c-format
+msgid "read error: %d: %s"
+msgstr "读错误: %d: %s"
+
+#: builtins/return.def:73
+msgid "can only `return' from a function or sourced script"
+msgstr "åªèƒ½ä»Žå‡½æ•°æˆ–者æºè„šæœ¬`返回'"
+
+#: builtins/set.def:771
+msgid "cannot simultaneously unset a function and a variable"
+msgstr "无法åŒæ—¶å设定一个函数和一个å˜é‡"
+
+#: builtins/set.def:808
+#, c-format
+msgid "%s: cannot unset"
+msgstr "%s: 无法å设定"
+
+#: builtins/set.def:815
+#, c-format
+msgid "%s: cannot unset: readonly %s"
+msgstr "%s: 无法å设定: åªè¯» %s"
+
+#: builtins/set.def:826
+#, c-format
+msgid "%s: not an array variable"
+msgstr "%s: ä¸æ˜¯æ•°ç»„å˜é‡"
+
+#: builtins/setattr.def:186
+#, c-format
+msgid "%s: not a function"
+msgstr "%s: ä¸æ˜¯å‡½æ•°"
+
+#: builtins/shift.def:71 builtins/shift.def:77
+msgid "shift count"
+msgstr "ä½ç§»è®¡æ•°"
+
+#: builtins/shopt.def:264
+msgid "cannot set and unset shell options simultaneously"
+msgstr "无法åŒæ—¶è®¾å®šå’Œå设定 shell 选项"
+
+#: builtins/shopt.def:329
+#, c-format
+msgid "%s: invalid shell option name"
+msgstr "%s: 无效的 shell 选项å"
+
+#: builtins/source.def:130
+msgid "filename argument required"
+msgstr "需è¦æ–‡ä»¶åå‚æ•°"
+
+#: builtins/source.def:155
+#, c-format
+msgid "%s: file not found"
+msgstr "%s: 没有找到文件"
+
+#: builtins/suspend.def:101
+msgid "cannot suspend"
+msgstr "无法挂起"
+
+#: builtins/suspend.def:111
+msgid "cannot suspend a login shell"
+msgstr "无法挂起一个登录shell"
+
+#: builtins/type.def:234
+#, c-format
+msgid "%s is aliased to `%s'\n"
+msgstr "%s 是 `%s' 的别å\n"
+
+#: builtins/type.def:255
+#, c-format
+msgid "%s is a shell keyword\n"
+msgstr "%s 是 shell 关键字\n"
+
+#: builtins/type.def:274
+#, c-format
+msgid "%s is a function\n"
+msgstr "%s 是函数\n"
+
+#: builtins/type.def:296
+#, c-format
+msgid "%s is a shell builtin\n"
+msgstr "%s 是 shell 内嵌\n"
+
+#: builtins/type.def:317 builtins/type.def:391
+#, c-format
+msgid "%s is %s\n"
+msgstr "%s 是 %s\n"
+
+#: builtins/type.def:337
+#, c-format
+msgid "%s is hashed (%s)\n"
+msgstr "%s 已被哈希 (%s)\n"
+
+#: builtins/ulimit.def:376
+#, c-format
+msgid "%s: invalid limit argument"
+msgstr "%s: 无效的 limit å‚æ•°"
+
+#: builtins/ulimit.def:402
+#, c-format
+msgid "`%c': bad command"
+msgstr "`%c': å的命令"
+
+#: builtins/ulimit.def:431
+#, c-format
+msgid "%s: cannot get limit: %s"
+msgstr "%s: æ— æ³•èŽ·å– limit 值: %s"
+
+#: builtins/ulimit.def:457
+msgid "limit"
+msgstr "limit"
+
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
+#, c-format
+msgid "%s: cannot modify limit: %s"
+msgstr "%s: 无法修改 limit 值: %s"
+
+#: builtins/umask.def:118
+msgid "octal number"
+msgstr "八进制数"
+
+#: builtins/umask.def:231
+#, c-format
+msgid "`%c': invalid symbolic mode operator"
+msgstr "`%c': 无效的符å·çŠ¶æ€è¿ç®—符"
+
+#: builtins/umask.def:286
+#, c-format
+msgid "`%c': invalid symbolic mode character"
+msgstr "`%c': 无效的符å·çŠ¶æ€å­—符"
+
+#: error.c:90 error.c:321 error.c:323 error.c:325
+msgid " line "
+msgstr "行"
+
+#: error.c:165
+#, c-format
+msgid "last command: %s\n"
+msgstr "上一个命令: %s\n"
+
+#: error.c:173
+#, c-format
+msgid "Aborting..."
+msgstr "放弃..."
+
+#: error.c:406
+msgid "unknown command error"
+msgstr "未知的命令错误"
+
+#: error.c:407
+msgid "bad command type"
+msgstr "å的命令类型"
+
+#: error.c:408
+msgid "bad connector"
+msgstr "åçš„æ¡ä»¶è¿žæŽ¥ç¬¦"
+
+#: error.c:409
+msgid "bad jump"
+msgstr "å的跳转"
+
+#: error.c:447
+#, c-format
+msgid "%s: unbound variable"
+msgstr "%s: 为绑定å˜é‡"
+
+#: eval.c:181
+#, c-format
+msgid "\atimed out waiting for input: auto-logout\n"
+msgstr "\a 等待输入超时:自动登出\n"
+
+#: execute_cmd.c:504
+#, c-format
+msgid "cannot redirect standard input from /dev/null: %s"
+msgstr "无法从 /dev/null é‡å®šå‘标准输入: %s"
+
+#: execute_cmd.c:1168
+#, c-format
+msgid "TIMEFORMAT: `%c': invalid format character"
+msgstr "时间格å¼: `%c': 无效的格å¼å­—符"
+
+#: execute_cmd.c:2121
+msgid "pipe error"
+msgstr "管é“错误"
+
+#: execute_cmd.c:4640
+#, c-format
+msgid "%s: restricted: cannot specify `/' in command names"
+msgstr "%s: å—é™çš„: 无法在命令å中使用 `/'"
+
+#: execute_cmd.c:4735
+#, c-format
+msgid "%s: command not found"
+msgstr "%s: 未找到命令"
+
+#: execute_cmd.c:4959
+#, fuzzy, c-format
+msgid "%s: %s"
+msgstr "%s 是 %s\n"
+
+#: execute_cmd.c:4995
+#, c-format
+msgid "%s: %s: bad interpreter"
+msgstr "%s: %s: å的解释器"
+
+#: execute_cmd.c:5144
+#, c-format
+msgid "cannot duplicate fd %d to fd %d"
+msgstr "无法å¤åˆ¶æ–‡ä»¶æ述符 %d 到 文件æ述符 %d"
+
+#: expr.c:256
+msgid "expression recursion level exceeded"
+msgstr "表达å¼é€’归层次越界"
+
+#: expr.c:280
+msgid "recursion stack underflow"
+msgstr "递归栈下溢"
+
+#: expr.c:422
+msgid "syntax error in expression"
+msgstr "表达å¼ä¸­æœ‰è¯­æ³•é”™è¯¯"
+
+#: expr.c:463
+msgid "attempted assignment to non-variable"
+msgstr "å°è¯•ç»™éžå˜é‡èµ‹å€¼"
+
+#: expr.c:486 expr.c:491 expr.c:807
+msgid "division by 0"
+msgstr "除0"
+
+#: expr.c:517
+msgid "bug: bad expassign token"
+msgstr "错误:å的表达å¼èµ‹å€¼ç¬¦å·"
+
+#: expr.c:564
+msgid "`:' expected for conditional expression"
+msgstr "æ¡ä»¶è¡¨è¾¾å¼æœŸå¾… `:'"
+
+#: expr.c:832
+msgid "exponent less than 0"
+msgstr "指数å°äºŽ0"
+
+#: expr.c:887
+msgid "identifier expected after pre-increment or pre-decrement"
+msgstr "预增符或预å‡ç¬¦åŽåº”跟有标识符"
+
+#: expr.c:910
+msgid "missing `)'"
+msgstr "缺少 `)'"
+
+#: expr.c:959 expr.c:1282
+msgid "syntax error: operand expected"
+msgstr "语法错误: 期待æ“作数"
+
+#: expr.c:1284
+msgid "syntax error: invalid arithmetic operator"
+msgstr "语法错误: 无效的算术è¿ç®—符"
+
+#: expr.c:1308
+#, c-format
+msgid "%s%s%s: %s (error token is \"%s\")"
+msgstr "%s%s%s: %s (错误符å·æ˜¯ \"%s\")"
+
+#: expr.c:1366
+msgid "invalid arithmetic base"
+msgstr "无效的算数进制"
+
+#: expr.c:1386
+msgid "value too great for base"
+msgstr "数值太大ä¸å¯ä¸ºç®—数进制的基"
+
+#: expr.c:1435
+#, c-format
+msgid "%s: expression error\n"
+msgstr "%s: 表达å¼é”™è¯¯\n"
+
+#: general.c:61
+msgid "getcwd: cannot access parent directories"
+msgstr "getcwd: 无法访问父目录"
+
+#: input.c:94 subst.c:5082
+#, c-format
+msgid "cannot reset nodelay mode for fd %d"
+msgstr "无法为文件æ述符 %d é‡ç½®nodelay模å¼"
+
+#: input.c:260
+#, c-format
+msgid "cannot allocate new file descriptor for bash input from fd %d"
+msgstr "无法从文件æ述符 %d 为 bash 的输入获å–一个新的文件æ述符"
+
+#: input.c:268
+#, c-format
+msgid "save_bash_input: buffer already exists for new fd %d"
+msgstr "save_bash_input: å·²ç»å­˜åœ¨æ–°çš„文件æ述符 %d 的缓冲区"
+
+#: jobs.c:468
+msgid "start_pipeline: pgrp pipe"
+msgstr "start_pipeline: 进程组管é“"
+
+#: jobs.c:889
+#, c-format
+msgid "forked pid %d appears in running job %d"
+msgstr "生æˆçš„è¿›ç¨‹å· %d 显示为è¿è¡Œä¸­çš„任务 %d"
+
+#: jobs.c:1007
+#, c-format
+msgid "deleting stopped job %d with process group %ld"
+msgstr "删除进程组 %2$ld 中已åœæ­¢çš„任务 %1$d"
+
+#: jobs.c:1112
+#, c-format
+msgid "add_process: process %5ld (%s) in the_pipeline"
+msgstr "add_process: 进程 %5ld(%s) 进入 the_pipeline"
+
+#: jobs.c:1115
+#, c-format
+msgid "add_process: pid %5ld (%s) marked as still alive"
+msgstr "add_process: è¿›ç¨‹å· %5ld(%s) 标注为ä»æ´»ç€"
+
+#: jobs.c:1430
+#, c-format
+msgid "describe_pid: %ld: no such pid"
+msgstr "describe_pid: %ld: 无此进程å·"
+
+#: jobs.c:1445
+#, c-format
+msgid "Signal %d"
+msgstr "ä¿¡å· %d"
+
+#: jobs.c:1459 jobs.c:1484
+msgid "Done"
+msgstr "完æˆ"
+
+#: jobs.c:1464 siglist.c:123
+msgid "Stopped"
+msgstr "å·²åœæ­¢"
+
+#: jobs.c:1468
+#, c-format
+msgid "Stopped(%s)"
+msgstr "å·²åœæ­¢ (%s)"
+
+#: jobs.c:1472
+msgid "Running"
+msgstr "è¿è¡Œä¸­"
+
+#: jobs.c:1486
+#, c-format
+msgid "Done(%d)"
+msgstr "å®Œæˆ (%d)"
+
+#: jobs.c:1488
+#, c-format
+msgid "Exit %d"
+msgstr "退出 %d"
+
+#: jobs.c:1491
+msgid "Unknown status"
+msgstr "未知状æ€"
+
+#: jobs.c:1578
+#, c-format
+msgid "(core dumped) "
+msgstr "(åæ ¸)"
+
+#: jobs.c:1597
+#, c-format
+msgid " (wd: %s)"
+msgstr "(工作目录:%s)"
+
+#: jobs.c:1805
+#, c-format
+msgid "child setpgid (%ld to %ld)"
+msgstr "å­è¿›ç¨‹ setpgid (%ld 到 %ld)"
+
+#: jobs.c:2133 nojobs.c:585
+#, c-format
+msgid "wait: pid %ld is not a child of this shell"
+msgstr "wait: è¿›ç¨‹å· %ld ä¸æ˜¯å½“å‰ shell çš„å­è¿›ç¨‹"
+
+#: jobs.c:2360
+#, c-format
+msgid "wait_for: No record of process %ld"
+msgstr "wiat_for: 没有进程 %ld 的记录"
+
+#: jobs.c:2637
+#, c-format
+msgid "wait_for_job: job %d is stopped"
+msgstr "wait_for_job: 任务 %d å·²åœæ­¢"
+
+#: jobs.c:2859
+#, c-format
+msgid "%s: job has terminated"
+msgstr "%s: 任务已ç»ç»ˆæ­¢"
+
+#: jobs.c:2868
+#, c-format
+msgid "%s: job %d already in background"
+msgstr "%s: 任务 %d 已在åŽå°"
+
+#: jobs.c:3089
+msgid "waitchld: turning on WNOHANG to avoid indefinite block"
+msgstr "waitchld: 打开 WNOHANG 以é¿å…æ— é™é˜»å¡ž"
+
+#: jobs.c:3538
+#, c-format
+msgid "%s: line %d: "
+msgstr "%s: 行 %d: "
+
+#: jobs.c:3552 nojobs.c:814
+#, c-format
+msgid " (core dumped)"
+msgstr "(åæ ¸)"
+
+#: jobs.c:3564 jobs.c:3577
+#, c-format
+msgid "(wd now: %s)\n"
+msgstr "(当å‰å·¥ä½œç›®å½•ï¼š%s)\n"
+
+#: jobs.c:3609
+msgid "initialize_job_control: getpgrp failed"
+msgstr "initialize_job_control: getpgrp 失败"
+
+#: jobs.c:3669
+msgid "initialize_job_control: line discipline"
+msgstr "initialize_job_control: 行规则"
+
+#: jobs.c:3679
+msgid "initialize_job_control: setpgid"
+msgstr "initialize_job_control: setpgid"
+
+#: jobs.c:3707
+#, c-format
+msgid "cannot set terminal process group (%d)"
+msgstr "无法设定终端进程组 (%d)"
+
+#: jobs.c:3712
+msgid "no job control in this shell"
+msgstr "此 shell 中无任务控制"
+
+#: lib/malloc/malloc.c:296
+#, c-format
+msgid "malloc: failed assertion: %s\n"
+msgstr "malloc: 断言失败: %s\n"
+
+#: lib/malloc/malloc.c:312
+#, c-format
+msgid ""
+"\r\n"
+"malloc: %s:%d: assertion botched\r\n"
+msgstr ""
+"\r\n"
+"malloc: %s:%d: 断言已修补\r\n"
+
+#: lib/malloc/malloc.c:313
+msgid "unknown"
+msgstr "未知"
+
+#: lib/malloc/malloc.c:797
+msgid "malloc: block on free list clobbered"
+msgstr "malloc: 空闲链表中的å—æŸå"
+
+#: lib/malloc/malloc.c:874
+msgid "free: called with already freed block argument"
+msgstr "free: 用已ç»é‡Šæ”¾çš„å—作为å‚数被调用"
+
+#: lib/malloc/malloc.c:877
+msgid "free: called with unallocated block argument"
+msgstr "free: 用未分é…çš„å—作为å‚数被调用"
+
+#: lib/malloc/malloc.c:896
+msgid "free: underflow detected; mh_nbytes out of range"
+msgstr "free: 检测到下溢; mh_nbytes越界"
+
+#: lib/malloc/malloc.c:902
+msgid "free: start and end chunk sizes differ"
+msgstr "free: 起始和终结å—大å°ä¸ä¸€è‡´"
+
+#: lib/malloc/malloc.c:1001
+msgid "realloc: called with unallocated block argument"
+msgstr "realloc: 用未分é…çš„å—作为å‚数被调用"
+
+#: lib/malloc/malloc.c:1016
+msgid "realloc: underflow detected; mh_nbytes out of range"
+msgstr "realloc: 检测到下溢; mh_nbytes越界"
+
+#: lib/malloc/malloc.c:1022
+msgid "realloc: start and end chunk sizes differ"
+msgstr "realloc: 起始和终结å—大å°ä¸ä¸€è‡´"
+
+#: lib/malloc/table.c:177
+#, c-format
+msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
+msgstr "register_alloc: 分é…表已ç»å……满了 FIND_ALLOC?\n"
+
+#: lib/malloc/table.c:184
+#, c-format
+msgid "register_alloc: %p already in table as allocated?\n"
+msgstr "register_alloc: %p 在表中显示为已分�\n"
+
+#: lib/malloc/table.c:220
+#, c-format
+msgid "register_free: %p already in table as free?\n"
+msgstr "register_free: %p 在表中显示为已释放?\n"
+
+#: lib/sh/fmtulong.c:101
+msgid "invalid base"
+msgstr "无效的基"
+
+#: lib/sh/netopen.c:168
+#, c-format
+msgid "%s: host unknown"
+msgstr "%s: 未知主机"
+
+#: lib/sh/netopen.c:175
+#, c-format
+msgid "%s: invalid service"
+msgstr "%s: 无效的æœåŠ¡"
+
+#: lib/sh/netopen.c:306
+#, c-format
+msgid "%s: bad network path specification"
+msgstr "%s: å的网络路径声明"
+
+#: lib/sh/netopen.c:346
+msgid "network operations not supported"
+msgstr "ä¸æ”¯æŒç½‘络æ“作"
+
+#: locale.c:192
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s)"
+msgstr "setlocale: LC_ALL: 无法改å˜åŒºåŸŸé€‰é¡¹ (%s)"
+
+#: locale.c:194
+#, c-format
+msgid "setlocale: LC_ALL: cannot change locale (%s): %s"
+msgstr "setlocale: LC_ALL: 无法改å˜åŒºåŸŸé€‰é¡¹ (%s): %s"
+
+#: locale.c:247
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s)"
+msgstr "setlocale: %s: 无法改å˜åŒºåŸŸé€‰é¡¹ (%s)"
+
+#: locale.c:249
+#, c-format
+msgid "setlocale: %s: cannot change locale (%s): %s"
+msgstr "setlocale: %s: 无法改å˜åŒºåŸŸé€‰é¡¹ (%s): %s"
+
+#: mailcheck.c:433
+msgid "You have mail in $_"
+msgstr "您在 $_ 中有邮件"
+
+#: mailcheck.c:458
+msgid "You have new mail in $_"
+msgstr "您在 $_ 中有新邮件"
+
+#: mailcheck.c:474
+#, c-format
+msgid "The mail in %s has been read\n"
+msgstr "%s 中的邮件已被阅读\n"
+
+#: make_cmd.c:323
+msgid "syntax error: arithmetic expression required"
+msgstr "语法错误: 需è¦ç®—数表达å¼"
+
+#: make_cmd.c:325
+msgid "syntax error: `;' unexpected"
+msgstr "语法错误: 期待 `;'"
+
+#: make_cmd.c:326
+#, c-format
+msgid "syntax error: `((%s))'"
+msgstr "语法错误: `((%s))'"
+
+#: make_cmd.c:575
+#, c-format
+msgid "make_here_document: bad instruction type %d"
+msgstr "make_here_document: å的指令类型 %d"
+
+#: make_cmd.c:659
+#, c-format
+msgid "here-document at line %d delimited by end-of-file (wanted `%s')"
+msgstr "ç«‹å³æ–‡æ¡£åœ¨ç¬¬ %d 行被文件结æŸç¬¦åˆ†éš” (éœ€è¦ `%s')"
+
+#: make_cmd.c:756
+#, c-format
+msgid "make_redirection: redirection instruction `%d' out of range"
+msgstr "make_redirection: é‡å®šå‘指令 `%d' 越界"
+
+#: parse.y:3173 parse.y:3444
+#, c-format
+msgid "unexpected EOF while looking for matching `%c'"
+msgstr "寻找匹é…çš„ `%c' 是é‡åˆ°äº†æœªé¢„期的文件结æŸç¬¦"
+
+#: parse.y:4025
+msgid "unexpected EOF while looking for `]]'"
+msgstr "寻找 `]]' 是é‡åˆ°äº†æœªé¢„期的文件结æŸç¬¦"
+
+#: parse.y:4030
+#, c-format
+msgid "syntax error in conditional expression: unexpected token `%s'"
+msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸­æœ‰è¯­æ³•é”™è¯¯: æœªé¢„æœŸçš„ç¬¦å· `%s'"
+
+#: parse.y:4034
+msgid "syntax error in conditional expression"
+msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸­æœ‰è¯­æ³•é”™è¯¯"
+
+#: parse.y:4112
+#, c-format
+msgid "unexpected token `%s', expected `)'"
+msgstr "æœªé¢„æœŸçš„ç¬¦å· `%s' ,期待 `)'"
+
+#: parse.y:4116
+msgid "expected `)'"
+msgstr "期待 `)'"
+
+#: parse.y:4144
+#, c-format
+msgid "unexpected argument `%s' to conditional unary operator"
+msgstr "一元æ¡ä»¶è¿ç®—符使用了未预期的å‚æ•° `%s'"
+
+#: parse.y:4148
+msgid "unexpected argument to conditional unary operator"
+msgstr "一元æ¡ä»¶è¿ç®—符使用了未预期的å‚æ•°"
+
+#: parse.y:4194
+#, c-format
+msgid "unexpected token `%s', conditional binary operator expected"
+msgstr "æœªé¢„æœŸçš„ç¬¦å· `%s',期待二元æ¡ä»¶è¿ç®—符"
+
+#: parse.y:4198
+msgid "conditional binary operator expected"
+msgstr "期待二元æ¡ä»¶è¿ç®—符"
+
+#: parse.y:4220
+#, c-format
+msgid "unexpected argument `%s' to conditional binary operator"
+msgstr "二元æ¡ä»¶è¿ç®—符使用了未预期的å‚æ•° `%s'"
+
+#: parse.y:4224
+msgid "unexpected argument to conditional binary operator"
+msgstr "二元æ¡ä»¶è¿ç®—符使用了未预期的å‚æ•°"
+
+#: parse.y:4235
+#, c-format
+msgid "unexpected token `%c' in conditional command"
+msgstr "æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· `%c'"
+
+#: parse.y:4238
+#, c-format
+msgid "unexpected token `%s' in conditional command"
+msgstr "æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· `%s'"
+
+#: parse.y:4242
+#, c-format
+msgid "unexpected token %d in conditional command"
+msgstr "æ¡ä»¶å‘½ä»¤ä¸­æœ‰æœªé¢„æœŸçš„ç¬¦å· %d"
+
+#: parse.y:5566
+#, c-format
+msgid "syntax error near unexpected token `%s'"
+msgstr "æœªé¢„æœŸçš„ç¬¦å· `%s' 附近有语法错误"
+
+#: parse.y:5584
+#, c-format
+msgid "syntax error near `%s'"
+msgstr "`%s' 附近有语法错误"
+
+#: parse.y:5594
+msgid "syntax error: unexpected end of file"
+msgstr "语法错误: 未预期的文件结尾"
+
+#: parse.y:5594
+msgid "syntax error"
+msgstr "语法错误"
+
+#: parse.y:5656
+#, c-format
+msgid "Use \"%s\" to leave the shell.\n"
+msgstr "使用 \"%s\" 退出 shell 。\n"
+
+#: parse.y:5818
+msgid "unexpected EOF while looking for matching `)'"
+msgstr "寻找匹é…çš„ `)' æ—¶é‡åˆ°äº†æœªé¢„期的文件结æŸç¬¦"
+
+#: pcomplete.c:1030
+#, c-format
+msgid "completion: function `%s' not found"
+msgstr "补完: 未找到函数 `%s'"
+
+#: pcomplib.c:182
+#, c-format
+msgid "progcomp_insert: %s: NULL COMPSPEC"
+msgstr "progcomp_insert: %s: 空的补完声明"
+
+#: print_cmd.c:296
+#, c-format
+msgid "print_command: bad connector `%d'"
+msgstr "print_command: åçš„æ¡ä»¶è¿žæŽ¥ç¬¦ `%d'"
+
+#: print_cmd.c:368
+#, c-format
+msgid "xtrace_set: %d: invalid file descriptor"
+msgstr "xtrace_set: %d: 无效的文件æ述符"
+
+#: print_cmd.c:373
+msgid "xtrace_set: NULL file pointer"
+msgstr "xtrace_set: 空的文件指针"
+
+#: print_cmd.c:377
+#, c-format
+msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
+msgstr "xtrace fd (%d) != fileno xtrace fp (%d)"
+
+#: print_cmd.c:1478
+#, c-format
+msgid "cprintf: `%c': invalid format character"
+msgstr "cprintf: `%c': 无效的格å¼å­—符"
+
+#: redir.c:122
+msgid "file descriptor out of range"
+msgstr "文件æ述符超出范围"
+
+#: redir.c:178
+#, c-format
+msgid "%s: ambiguous redirect"
+msgstr "%s: 模糊的é‡å®šå‘"
+
+#: redir.c:182
+#, c-format
+msgid "%s: cannot overwrite existing file"
+msgstr "%s: 无法覆盖已存在的文件"
+
+#: redir.c:187
+#, c-format
+msgid "%s: restricted: cannot redirect output"
+msgstr "%s: å—é™çš„: 无法é‡å®šå‘输出"
+
+#: redir.c:192
+#, c-format
+msgid "cannot create temp file for here-document: %s"
+msgstr "无法为立å³æ–‡æ¡£åˆ›å»ºä¸´æ—¶æ–‡ä»¶: %s"
+
+#: redir.c:196
+#, c-format
+msgid "%s: cannot assign fd to variable"
+msgstr "%s: 无法将文件æ述符赋值给å˜é‡"
+
+#: redir.c:548
+msgid "/dev/(tcp|udp)/host/port not supported without networking"
+msgstr "没有网络时ä¸æ”¯æŒ /dev/(tcp|udp)/host/port"
+
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
+msgid "redirection error: cannot duplicate fd"
+msgstr "é‡å®šå‘错误: 无法å¤åˆ¶æ–‡ä»¶æ述符"
+
+#: shell.c:333
+msgid "could not find /tmp, please create!"
+msgstr "无法找到 /tmp ,请创建"
+
+#: shell.c:337
+msgid "/tmp must be a valid directory name"
+msgstr "/tmp 必须为有效的目录å"
+
+#: shell.c:884
+#, c-format
+msgid "%c%c: invalid option"
+msgstr "%c%c: 无效的选项"
+
+#: shell.c:1652
+msgid "I have no name!"
+msgstr "没有åå­—ï¼"
+
+#: shell.c:1795
+#, c-format
+msgid "GNU bash, version %s-(%s)\n"
+msgstr "GNU bash,版本 %s-(%s)\n"
+
+#: shell.c:1796
+#, c-format
+msgid ""
+"Usage:\t%s [GNU long option] [option] ...\n"
+"\t%s [GNU long option] [option] script-file ...\n"
+msgstr ""
+"用法:\t%s [GNU 长选项] [选项] ...\n"
+"\t%s [GNU 长选项] [选项] 脚本文件 ...\n"
+
+#: shell.c:1798
+msgid "GNU long options:\n"
+msgstr "GNU 常选项:\n"
+
+#: shell.c:1802
+msgid "Shell options:\n"
+msgstr "Shell 选项:\n"
+
+#: shell.c:1803
+msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
+msgstr "\t-irsD 或 -c 命令 或 -O shopt选项\t\t(仅适åˆè°ƒç”¨)\n"
+
+#: shell.c:1818
+#, c-format
+msgid "\t-%s or -o option\n"
+msgstr "\t-%s 或 -o 选项\n"
+
+#: shell.c:1824
+#, c-format
+msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
+msgstr "请输入`%s -c \"help set\"' 以获得关于 shell 选项的更多信æ¯\n"
+
+#: shell.c:1825
+#, c-format
+msgid "Type `%s -c help' for more information about shell builtin commands.\n"
+msgstr "请输入 `%s -c help' 以获得关于 shell 内嵌命令的更多信æ¯.\n"
+
+#: shell.c:1826
+#, c-format
+msgid "Use the `bashbug' command to report bugs.\n"
+msgstr "请使用`bashbug' 命令æ¥æŠ¥å‘Šé”™è¯¯.\n"
+
+#: sig.c:638
+#, c-format
+msgid "sigprocmask: %d: invalid operation"
+msgstr "sigprocmask: %d: 无效的æ“作"
+
+#: siglist.c:48
+msgid "Bogus signal"
+msgstr "伪信å·"
+
+#: siglist.c:51
+msgid "Hangup"
+msgstr "挂断"
+
+#: siglist.c:55
+msgid "Interrupt"
+msgstr "中断"
+
+#: siglist.c:59
+msgid "Quit"
+msgstr "退出"
+
+#: siglist.c:63
+msgid "Illegal instruction"
+msgstr "éžæ³•çš„指令"
+
+#: siglist.c:67
+msgid "BPT trace/trap"
+msgstr "断点追踪/陷阱"
+
+#: siglist.c:75
+msgid "ABORT instruction"
+msgstr "放弃指令"
+
+#: siglist.c:79
+msgid "EMT instruction"
+msgstr "模拟器陷阱指令"
+
+#: siglist.c:83
+msgid "Floating point exception"
+msgstr "浮点数异常"
+
+#: siglist.c:87
+msgid "Killed"
+msgstr "å·²æ€æ­»"
+
+#: siglist.c:91
+msgid "Bus error"
+msgstr "总线错误"
+
+#: siglist.c:95
+msgid "Segmentation fault"
+msgstr "段错误"
+
+#: siglist.c:99
+msgid "Bad system call"
+msgstr "å的系统调用"
+
+#: siglist.c:103
+msgid "Broken pipe"
+msgstr "破裂的管é“"
+
+#: siglist.c:107
+msgid "Alarm clock"
+msgstr "闹钟"
+
+#: siglist.c:111
+msgid "Terminated"
+msgstr "已终止"
+
+#: siglist.c:115
+msgid "Urgent IO condition"
+msgstr "紧急输入输出情形"
+
+#: siglist.c:119
+msgid "Stopped (signal)"
+msgstr "å·²åœæ­¢(ä¿¡å·)"
+
+#: siglist.c:127
+msgid "Continue"
+msgstr "继续"
+
+#: siglist.c:135
+msgid "Child death or stop"
+msgstr "å­è¿›ç¨‹å·²æ­»æˆ–者åœæ­¢"
+
+#: siglist.c:139
+msgid "Stopped (tty input)"
+msgstr "å·²åœæ­¢ (tty 输入)"
+
+#: siglist.c:143
+msgid "Stopped (tty output)"
+msgstr "å·²åœæ­¢ (tty 输出)"
+
+#: siglist.c:147
+msgid "I/O ready"
+msgstr "输入输出准备完毕"
+
+#: siglist.c:151
+msgid "CPU limit"
+msgstr "CPU é™åˆ¶"
+
+#: siglist.c:155
+msgid "File limit"
+msgstr "文件é™åˆ¶"
+
+#: siglist.c:159
+msgid "Alarm (virtual)"
+msgstr "报警(虚拟)"
+
+#: siglist.c:163
+msgid "Alarm (profile)"
+msgstr "报警(总结)"
+
+#: siglist.c:167
+msgid "Window changed"
+msgstr "窗å£æ”¹å˜"
+
+#: siglist.c:171
+msgid "Record lock"
+msgstr "记录é”"
+
+#: siglist.c:175
+msgid "User signal 1"
+msgstr "用户定义信å·1"
+
+#: siglist.c:179
+msgid "User signal 2"
+msgstr "用户定义信å·2"
+
+#: siglist.c:183
+msgid "HFT input data pending"
+msgstr "HFT输入数æ®æŒ‚èµ·"
+
+#: siglist.c:187
+msgid "power failure imminent"
+msgstr "å³å°†åœç”µ"
+
+#: siglist.c:191
+msgid "system crash imminent"
+msgstr "系统å³å°†å´©æºƒ"
+
+#: siglist.c:195
+msgid "migrate process to another CPU"
+msgstr "è¿ç§»è¿›ç¨‹è‡³å¦ä¸€ä¸ªCPU"
+
+#: siglist.c:199
+msgid "programming error"
+msgstr "程åºé”™è¯¯"
+
+#: siglist.c:203
+msgid "HFT monitor mode granted"
+msgstr "HFT显示器模å¼æŽˆä¸Ž"
+
+#: siglist.c:207
+msgid "HFT monitor mode retracted"
+msgstr "HFT显示器模å¼æ’¤é”€"
+
+#: siglist.c:211
+msgid "HFT sound sequence has completed"
+msgstr "HFT声音åºåˆ—已完æˆ"
+
+#: siglist.c:215
+msgid "Information request"
+msgstr "状æ€è¯·æ±‚"
+
+#: siglist.c:223
+msgid "Unknown Signal #"
+msgstr "æœªçŸ¥ä¿¡å· #"
+
+#: siglist.c:225
+#, c-format
+msgid "Unknown Signal #%d"
+msgstr "æœªçŸ¥ä¿¡å· #%d"
+
+#: subst.c:1333 subst.c:1502
+#, c-format
+msgid "bad substitution: no closing `%s' in %s"
+msgstr "å的替æ¢:在 %2$s 中没有闭åˆçš„ `%1$s'"
+
+#: subst.c:2795
+#, c-format
+msgid "%s: cannot assign list to array member"
+msgstr "%s: 无法将链表赋值给数组æˆå‘˜"
+
+#: subst.c:4979 subst.c:4995
+msgid "cannot make pipe for process substitution"
+msgstr "无法为进程替æ¢åˆ›å»ºç®¡é“"
+
+#: subst.c:5027
+msgid "cannot make child for process substitution"
+msgstr "无法为进程替æ¢åˆ›å»ºå­è¿›ç¨‹"
+
+#: subst.c:5072
+#, c-format
+msgid "cannot open named pipe %s for reading"
+msgstr "无法打开命åç®¡é“ %s 进行读å–"
+
+#: subst.c:5074
+#, c-format
+msgid "cannot open named pipe %s for writing"
+msgstr "无法打开命åç®¡é“ %s 进行写入"
+
+#: subst.c:5092
+#, c-format
+msgid "cannot duplicate named pipe %s as fd %d"
+msgstr "无法将命åç®¡é“ %s 作为文件æ述符 %d å¤åˆ¶"
+
+#: subst.c:5284
+msgid "cannot make pipe for command substitution"
+msgstr "无法为命令替æ¢åˆ›å»ºç®¡é“"
+
+#: subst.c:5322
+msgid "cannot make child for command substitution"
+msgstr "无法为命令替æ¢åˆ›å»ºå­è¿›ç¨‹"
+
+#: subst.c:5339
+msgid "command_substitute: cannot duplicate pipe as fd 1"
+msgstr "command_substitute: 无法将管é“å¤åˆ¶ä¸ºæ–‡ä»¶æ述符1"
+
+#: subst.c:5859
+#, c-format
+msgid "%s: parameter null or not set"
+msgstr "%s: å‚数为空或未设置"
+
+#: subst.c:6125 subst.c:6140
+#, c-format
+msgid "%s: substring expression < 0"
+msgstr "%s: å­ä¸²è¡¨è¾¾å¼ < 0"
+
+#: subst.c:7271
+#, c-format
+msgid "%s: bad substitution"
+msgstr "%s: å的替æ¢"
+
+#: subst.c:7347
+#, c-format
+msgid "$%s: cannot assign in this way"
+msgstr "$%s: 无法这样赋值"
+
+#: subst.c:7684
+msgid ""
+"future versions of the shell will force evaluation as an arithmetic "
+"substitution"
+msgstr "未æ¥ç‰ˆæœ¬çš„ shell 会强制估值为算数替æ¢"
+
+#: subst.c:8149
+#, c-format
+msgid "bad substitution: no closing \"`\" in %s"
+msgstr "å的替æ¢:在 %s 中没有闭åˆçš„ \"`\""
+
+#: subst.c:9036
+#, c-format
+msgid "no match: %s"
+msgstr "没有匹é…: %s"
+
+#: test.c:146
+msgid "argument expected"
+msgstr "期待å‚æ•°"
+
+#: test.c:155
+#, c-format
+msgid "%s: integer expression expected"
+msgstr "%s: 期待整数表达å¼"
+
+#: test.c:263
+msgid "`)' expected"
+msgstr "期待 `)'"
+
+#: test.c:265
+#, c-format
+msgid "`)' expected, found %s"
+msgstr "期待`)' , 得到 %s"
+
+#: test.c:280 test.c:698 test.c:701
+#, c-format
+msgid "%s: unary operator expected"
+msgstr "%s: 期待一元表达å¼"
+
+#: test.c:449 test.c:741
+#, c-format
+msgid "%s: binary operator expected"
+msgstr "%s: 期待二元表达å¼"
+
+#: test.c:816
+msgid "missing `]'"
+msgstr "缺少 `]'"
+
+#: trap.c:207
+msgid "invalid signal number"
+msgstr "无效的信å·ç¼–å·"
+
+#: trap.c:337
+#, c-format
+msgid "run_pending_traps: bad value in trap_list[%d]: %p"
+msgstr "run_pending_traps: trap_list[%d] 中的å值: %p"
+
+#: trap.c:341
+#, c-format
+msgid ""
+"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
+msgstr "run_pending_traps: ä¿¡å·å¤„ç†å™¨æ˜¯ SIG_DFL, é‡æ–°å‘é€ %d (%s) 给自己"
+
+#: trap.c:393
+#, c-format
+msgid "trap_handler: bad signal %d"
+msgstr "trap_handler: åçš„ä¿¡å· %d"
+
+#: variables.c:363
+#, c-format
+msgid "error importing function definition for `%s'"
+msgstr "`%s' 函数定义导入错误"
+
+#: variables.c:755
+#, c-format
+msgid "shell level (%d) too high, resetting to 1"
+msgstr "shell 层次 (%d) 太高, é‡ç½®ä¸º 1"
+
+#: variables.c:1932
+msgid "make_local_variable: no function context at current scope"
+msgstr "make_local_variable: 当å‰ä½œç”¨åŸŸä¸­æ²¡æœ‰å‡½æ•°ä¸Šä¸‹æ–‡"
+
+#: variables.c:3182
+msgid "all_local_variables: no function context at current scope"
+msgstr "all_local_variables: 当å‰ä½œç”¨åŸŸä¸­æ²¡æœ‰å‡½æ•°ä¸Šä¸‹æ–‡"
+
+#: variables.c:3427
+#, c-format
+msgid "%s has null exportstr"
+msgstr "%s 有空的 exportstr"
+
+#: variables.c:3432 variables.c:3441
+#, c-format
+msgid "invalid character %d in exportstr for %s"
+msgstr "%2$s 的 exportstr 中有无效的字符 %1$d"
+
+#: variables.c:3447
+#, c-format
+msgid "no `=' in exportstr for %s"
+msgstr "%s 的 exportstr 中没有 `='"
+
+#: variables.c:3891
+msgid "pop_var_context: head of shell_variables not a function context"
+msgstr "pop_var_context: shell_variables 的头部ä¸æ˜¯å‡½æ•°ä¸Šä¸‹æ–‡"
+
+#: variables.c:3904
+msgid "pop_var_context: no global_variables context"
+msgstr "pop_var_context: 没有 global_variables 上下文"
+
+#: variables.c:3978
+msgid "pop_scope: head of shell_variables not a temporary environment scope"
+msgstr "pop_scope: shell_variables 的头部ä¸æ˜¯ä¸´æ—¶çŽ¯å¢ƒä½œç”¨åŸŸ"
+
+#: variables.c:4786
+#, c-format
+msgid "%s: %s: cannot open as FILE"
+msgstr "%s: %s: 无法作为文件打开"
+
+#: variables.c:4791
+#, c-format
+msgid "%s: %s: invalid value for trace file descriptor"
+msgstr "%s: %s: 追踪文件æ述符的值无效"
+
+#: version.c:46
+#, fuzzy
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
+msgstr "自由软件基金会 版æƒæ‰€æœ‰ 2009"
+
+#: version.c:47
+msgid ""
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+msgstr ""
+"许å¯è¯ GPLv3+: GNU GPL 许å¯è¯ç‰ˆæœ¬3或者更高 <http://gnu.org/licenses/gpl."
+"html>\n"
+
+#: version.c:86 version2.c:83
+#, c-format
+msgid "GNU bash, version %s (%s)\n"
+msgstr "GNU bash, 版本 %s (%s)\n"
+
+#: version.c:91 version2.c:88
+#, c-format
+msgid "This is free software; you are free to change and redistribute it.\n"
+msgstr "这是自由软件,您å¯ä»¥è‡ªç”±åœ°æ›´æ”¹å’Œé‡æ–°å‘布。\n"
+
+#: version.c:92 version2.c:89
+#, c-format
+msgid "There is NO WARRANTY, to the extent permitted by law.\n"
+msgstr "在法律å…许的范围内没有担ä¿.\n"
+
+#: version2.c:86
+#, c-format
+msgid "Copyright (C) 2009 Free Software Foundation, Inc.\n"
+msgstr "自由软件基金会 版æƒæ‰€æœ‰ 2009\n"
+
+#: version2.c:87
+#, c-format
+msgid ""
+"License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+msgstr ""
+"许å¯è¯ GPLv2+: GNU GPL 许å¯è¯ç‰ˆæœ¬2或者更高 <http://gnu.org/licenses/gpl."
+"html>\n"
+
+#: xmalloc.c:91
+#, c-format
+msgid "%s: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr "%s: æ— æ³•åˆ†é… %lu 字节 (%lu 字节已分é…)"
+
+#: xmalloc.c:93
+#, c-format
+msgid "%s: cannot allocate %lu bytes"
+msgstr "%s: æ— æ³•åˆ†é… %lu 字节"
+
+#: xmalloc.c:163
+#, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
+msgstr "%s: %s:%d: æ— æ³•åˆ†é… %lu 字节 (%lu 字节已分é…)"
+
+#: xmalloc.c:165
+#, c-format
+msgid "%s: %s:%d: cannot allocate %lu bytes"
+msgstr "%s: %s:%d: æ— æ³•åˆ†é… %lu 字节"
+
+#: builtins.c:43
+msgid "alias [-p] [name[=value] ... ]"
+msgstr "alias [-p] [å称[=值] ... ]"
+
+#: builtins.c:47
+msgid "unalias [-a] name [name ...]"
+msgstr "unalias [-a] å称 [å称 ...]"
+
+#: builtins.c:51
+msgid ""
+"bind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-"
+"x keyseq:shell-command] [keyseq:readline-function or readline-command]"
+msgstr ""
+"bind [-lpvsPVS] [-m 键映射] [-f 文件å] [-q å称] [-u å称] [-r é”®åºåˆ—] [-x "
+"é”®åºåˆ—:shell命令] [é”®åºåˆ—:行读å–函数 或 行读å–命令]"
+
+#: builtins.c:54
+msgid "break [n]"
+msgstr "break [n]"
+
+#: builtins.c:56
+msgid "continue [n]"
+msgstr "continue [n]"
+
+#: builtins.c:58
+msgid "builtin [shell-builtin [arg ...]]"
+msgstr "builtin [shell 内嵌 [å‚æ•° ...]]"
+
+#: builtins.c:61
+msgid "caller [expr]"
+msgstr "caller [表达å¼]"
+
+#: builtins.c:64
+#, fuzzy
+msgid "cd [-L|[-P [-e]]] [dir]"
+msgstr "cd [-L|-P] [目录]"
+
+#: builtins.c:66
+msgid "pwd [-LP]"
+msgstr "pwd [-LP]"
+
+#: builtins.c:68
+msgid ":"
+msgstr ":"
+
+#: builtins.c:70
+msgid "true"
+msgstr "真"
+
+#: builtins.c:72
+msgid "false"
+msgstr "伪"
+
+#: builtins.c:74
+msgid "command [-pVv] command [arg ...]"
+msgstr "command [-pVv] 命令 [å‚æ•° ...]"
+
+#: builtins.c:76
+#, fuzzy
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
+msgstr "declare [-aAfFilrtux] [-p] [å称[=值] ...]"
+
+#: builtins.c:78
+#, fuzzy
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
+msgstr "typeset [-aAfFilrtux] [-p] å称[=值] ..."
+
+#: builtins.c:80
+msgid "local [option] name[=value] ..."
+msgstr "local [option] å称[=值] ..."
+
+#: builtins.c:83
+msgid "echo [-neE] [arg ...]"
+msgstr "echo [-neE] [å‚æ•° ...]"
+
+#: builtins.c:87
+msgid "echo [-n] [arg ...]"
+msgstr "echo [-n] [å‚æ•° ...]"
+
+#: builtins.c:90
+msgid "enable [-a] [-dnps] [-f filename] [name ...]"
+msgstr "enable [-a] [-dnps] [-f 文件å] [å称 ...]"
+
+#: builtins.c:92
+msgid "eval [arg ...]"
+msgstr "eval [å‚æ•° ...]"
+
+#: builtins.c:94
+msgid "getopts optstring name [arg]"
+msgstr "getopts 选项字符串 å称 [å‚æ•°]"
+
+#: builtins.c:96
+msgid "exec [-cl] [-a name] [command [arguments ...]] [redirection ...]"
+msgstr "exec [-cl] [-a å称] [命令 [å‚æ•° ...]] [é‡å®šå‘ ...]"
+
+#: builtins.c:98
+msgid "exit [n]"
+msgstr "exit [n]"
+
+#: builtins.c:100
+msgid "logout [n]"
+msgstr "logout [n]"
+
+#: builtins.c:103
+msgid "fc [-e ename] [-lnr] [first] [last] or fc -s [pat=rep] [command]"
+msgstr "fc [-e 编辑器å] [-lnr] [起始] [终结] 或 fc -s [模å¼=替æ¢ä¸²] [命令]"
+
+#: builtins.c:107
+msgid "fg [job_spec]"
+msgstr "fg [任务声明]"
+
+#: builtins.c:111
+msgid "bg [job_spec ...]"
+msgstr "bg [任务声明 ...]"
+
+#: builtins.c:114
+msgid "hash [-lr] [-p pathname] [-dt] [name ...]"
+msgstr "hash [-lr] [-p 路径å] [-dt] [å称 ...]"
+
+#: builtins.c:117
+msgid "help [-dms] [pattern ...]"
+msgstr "help [-dms] [æ¨¡å¼ ...]"
+
+#: builtins.c:121
+msgid ""
+"history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg "
+"[arg...]"
+msgstr ""
+"history [-c] [-d å移é‡] [n] 或 history -anrw [文件å] 或 history -ps å‚æ•° "
+"[å‚æ•°...]"
+
+#: builtins.c:125
+msgid "jobs [-lnprs] [jobspec ...] or jobs -x command [args]"
+msgstr "jobs [-lnprs] [任务声明 ...] 或 jobs -x 命令 [å‚æ•°]"
+
+#: builtins.c:129
+msgid "disown [-h] [-ar] [jobspec ...]"
+msgstr "disown [-h] [-ar] [任务声明 ...]"
+
+#: builtins.c:132
+msgid ""
+"kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l "
+"[sigspec]"
+msgstr ""
+"kill [-s ä¿¡å·å£°æ˜Ž | -n ä¿¡å·ç¼–å· | -ä¿¡å·å£°æ˜Ž] è¿›ç¨‹å· | 任务声明 ... 或 kill -"
+"l [ä¿¡å·å£°æ˜Ž]"
+
+#: builtins.c:134
+msgid "let arg [arg ...]"
+msgstr "let å‚æ•° [å‚æ•° ...]"
+
+#: builtins.c:136
+msgid ""
+"read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p "
+"prompt] [-t timeout] [-u fd] [name ...]"
+msgstr ""
+"read [-ers] [-a 数组] [-d 分隔符] [-i 缓冲区文字] [-n 读å–字符数] [-N 读å–å­—"
+"符数] [-p æ示符] [-t 超时] [-u 文件æ述符] [å称 ...]"
+
+#: builtins.c:138
+msgid "return [n]"
+msgstr "return [n]"
+
+#: builtins.c:140
+#, fuzzy
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
+msgstr "set [--abefhkmnptuvxBCHP] [-o 选项å] [å‚æ•° ...]"
+
+#: builtins.c:142
+msgid "unset [-f] [-v] [name ...]"
+msgstr "unset [-f] [-v] [å称 ...]"
+
+#: builtins.c:144
+msgid "export [-fn] [name[=value] ...] or export -p"
+msgstr "export [-fn] [å称[=值] ...] 或 export -p"
+
+#: builtins.c:146
+#, fuzzy
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
+msgstr "readonly [-af] [å称[=值] ...] 或 readonly -p"
+
+#: builtins.c:148
+msgid "shift [n]"
+msgstr "shift [n]"
+
+#: builtins.c:150
+msgid "source filename [arguments]"
+msgstr "source 文件å [å‚æ•°]"
+
+#: builtins.c:152
+msgid ". filename [arguments]"
+msgstr ". 文件å [å‚æ•°]"
+
+#: builtins.c:155
+msgid "suspend [-f]"
+msgstr "suspend [-f]"
+
+#: builtins.c:158
+msgid "test [expr]"
+msgstr "test [表达å¼]"
+
+#: builtins.c:160
+msgid "[ arg... ]"
+msgstr "[ å‚æ•°... ]"
+
+#: builtins.c:162
+msgid "times"
+msgstr "times"
+
+#: builtins.c:164
+msgid "trap [-lp] [[arg] signal_spec ...]"
+msgstr "trap [-lp] [[å‚æ•°] ä¿¡å·å£°æ˜Ž ...]"
+
+#: builtins.c:166
+msgid "type [-afptP] name [name ...]"
+msgstr "type [-afptP] å称 [å称 ...]"
+
+#: builtins.c:169
+msgid "ulimit [-SHacdefilmnpqrstuvx] [limit]"
+msgstr "ulimit [-SHacdefilmnpqrstuvx] [é™åˆ¶]"
+
+#: builtins.c:172
+msgid "umask [-p] [-S] [mode]"
+msgstr "umask [-p] [-S] [模å¼]"
+
+#: builtins.c:175
+msgid "wait [id]"
+msgstr "wait [ç¼–å·]"
+
+#: builtins.c:179
+msgid "wait [pid]"
+msgstr "wait [进程å·]"
+
+#: builtins.c:182
+msgid "for NAME [in WORDS ... ] ; do COMMANDS; done"
+msgstr "for å称 [in è¯è¯­ ... ] ; do 命令; done"
+
+#: builtins.c:184
+msgid "for (( exp1; exp2; exp3 )); do COMMANDS; done"
+msgstr "for (( 表达å¼1; 表达å¼2; 表达å¼3 )); do 命令; done"
+
+#: builtins.c:186
+msgid "select NAME [in WORDS ... ;] do COMMANDS; done"
+msgstr "select NAME [in è¯è¯­ ... ;] do 命令; done"
+
+#: builtins.c:188
+msgid "time [-p] pipeline"
+msgstr "time [-p] 管é“"
+
+#: builtins.c:190
+msgid "case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac"
+msgstr "case è¯ in [æ¨¡å¼ [| 模å¼]...) 命令 ;;]... esac"
+
+#: builtins.c:192
+msgid ""
+"if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else "
+"COMMANDS; ] fi"
+msgstr "if 命令; then 命令; [ elif 命令; then 命令; ]... [ else 命令; ] fi"
+
+#: builtins.c:194
+msgid "while COMMANDS; do COMMANDS; done"
+msgstr "while 命令; do 命令; done"
+
+#: builtins.c:196
+msgid "until COMMANDS; do COMMANDS; done"
+msgstr "until 命令; do 命令; done"
+
+#: builtins.c:198
+msgid "coproc [NAME] command [redirections]"
+msgstr "coproc [å称] 命令 [é‡å®šå‘]"
+
+#: builtins.c:200
+msgid "function name { COMMANDS ; } or name () { COMMANDS ; }"
+msgstr "function å称 { 命令 ; } 或 name () { 命令 ; }"
+
+#: builtins.c:202
+msgid "{ COMMANDS ; }"
+msgstr "{ 命令 ; }"
+
+#: builtins.c:204
+msgid "job_spec [&]"
+msgstr "job_spec [&]"
+
+#: builtins.c:206
+msgid "(( expression ))"
+msgstr "(( è¡¨è¾¾å¼ ))"
+
+#: builtins.c:208
+msgid "[[ expression ]]"
+msgstr "[[ è¡¨è¾¾å¼ ]]"
+
+#: builtins.c:210
+msgid "variables - Names and meanings of some shell variables"
+msgstr "variables - 一些 shell å˜é‡çš„å称和å«ä¹‰"
+
+#: builtins.c:213
+msgid "pushd [-n] [+N | -N | dir]"
+msgstr "pushd [-n] [+N | -N | 目录]"
+
+#: builtins.c:217
+msgid "popd [-n] [+N | -N]"
+msgstr "popd [-n] [+N | -N]"
+
+#: builtins.c:221
+msgid "dirs [-clpv] [+N] [-N]"
+msgstr "dirs [-clpv] [+N] [-N]"
+
+#: builtins.c:224
+msgid "shopt [-pqsu] [-o] [optname ...]"
+msgstr "shopt [-pqsu] [-o] [选项å ...]"
+
+#: builtins.c:226
+msgid "printf [-v var] format [arguments]"
+msgstr "printf [-v var] æ ¼å¼ [å‚æ•°]"
+
+#: builtins.c:229
+msgid ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
+"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
+"suffix] [name ...]"
+msgstr ""
+"complete [-abcdefgjksuv] [-pr] [-DE] [-o 选项] [-A 动作] [-G 全局模å¼] [-W è¯"
+"语列表] [-F 函数] [-C 命令] [-X 过滤模å¼] [-P å‰ç¼€] [-S åŽç¼€] [å称 ...]"
+
+#: builtins.c:233
+msgid ""
+"compgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] "
+"[-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] [word]"
+msgstr ""
+"compgen [-abcdefgjksuv] [-o 选项] [-A 动作] [-G 全局模å¼] [-W è¯è¯­åˆ—表] [-"
+"F 函数] [-C 命令] [-X 过滤模å¼] [-P å‰ç¼€] [-S åŽç¼€] [è¯è¯­]"
+
+#: builtins.c:237
+msgid "compopt [-o|+o option] [-DE] [name ...]"
+msgstr "compopt [-o|+o 选项] [-DE] [å称 ...]"
+
+#: builtins.c:240
+msgid ""
+"mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
+msgstr ""
+"mapfile [-n 计数] [-O 起始åºå·] [-s 计数] [-t] [-u fd] [-C 回调] [-c é‡å­] "
+"[数组]"
+
+#: builtins.c:242
+msgid ""
+"readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c "
+"quantum] [array]"
+msgstr ""
+"readarray [-n 计数] [-O 起始åºå·] [-s 计数] [-t] [-u fd] [-C 回调] [-c é‡å­] "
+"[数组]"
+
+#: builtins.c:254
+msgid ""
+"Define or display aliases.\n"
+" \n"
+" Without arguments, `alias' prints the list of aliases in the reusable\n"
+" form `alias NAME=VALUE' on standard output.\n"
+" \n"
+" Otherwise, an alias is defined for each NAME whose VALUE is given.\n"
+" A trailing space in VALUE causes the next word to be checked for\n"
+" alias substitution when the alias is expanded.\n"
+" \n"
+" Options:\n"
+" -p\tPrint all defined aliases in a reusable format\n"
+" \n"
+" Exit Status:\n"
+" alias returns true unless a NAME is supplied for which no alias has "
+"been\n"
+" defined."
+msgstr ""
+"定义或显示别å。\n"
+" \n"
+" ä¸å¸¦å‚数时, `alias' 以å¯é‡ç”¨çš„æ ¼å¼\n"
+" `alias å称=值'在标准输出设备上打å°åˆ«å列表。\n"
+" \n"
+" å¦åˆ™ï¼Œå¯¹äºŽæ¯ä¸ªç»™å®šå€¼çš„å称定义一个别å。\n"
+" 值末尾的空格会使下一个è¯è¢«æ£€æµ‹\n"
+" 作为别å替æ¢å±•å¼€ã€‚\n"
+" \n"
+" 选项:\n"
+" -p\t以å¯é‡ç”¨çš„æ ¼å¼æ‰“å°æ‰€æœ‰çš„已定义的别å\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 除éžä¸€ä¸ªæ²¡æœ‰å®šä¹‰çš„å字被作为å‚æ•°æ供,å¦åˆ™ alias \n"
+" 返回值为真。"
+
+#: builtins.c:276
+msgid ""
+"Remove each NAME from the list of defined aliases.\n"
+" \n"
+" Options:\n"
+" -a\tremove all alias definitions.\n"
+" \n"
+" Return success unless a NAME is not an existing alias."
+msgstr ""
+"从别å定义列表中删除æ¯ä¸€ä¸ªâ€œå字‘。\n"
+" \n"
+" 选项:\n"
+" -a\t删除所有的别å定义.\n"
+" \n"
+" 返回æˆåŠŸï¼Œé™¤éžâ€œå字“ä¸æ˜¯ä¸€ä¸ªå·²å­˜åœ¨çš„别å。"
+
+#: builtins.c:289
+msgid ""
+"Set Readline key bindings and variables.\n"
+" \n"
+" Bind a key sequence to a Readline function or a macro, or set a\n"
+" Readline variable. The non-option argument syntax is equivalent to\n"
+" that found in ~/.inputrc, but must be passed as a single argument:\n"
+" e.g., bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" Options:\n"
+" -m keymap Use KEYMAP as the keymap for the duration of this\n"
+" command. Acceptable keymap names are emacs,\n"
+" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-"
+"move,\n"
+" vi-command, and vi-insert.\n"
+" -l List names of functions.\n"
+" -P List function names and bindings.\n"
+" -p List functions and bindings in a form that can be\n"
+" reused as input.\n"
+" -S List key sequences that invoke macros and their "
+"values\n"
+" -s List key sequences that invoke macros and their "
+"values\n"
+" in a form that can be reused as input.\n"
+" -V List variable names and values\n"
+" -v List variable names and values in a form that can\n"
+" be reused as input.\n"
+" -q function-name Query about which keys invoke the named function.\n"
+" -u function-name Unbind all keys which are bound to the named "
+"function.\n"
+" -r keyseq Remove the binding for KEYSEQ.\n"
+" -f filename Read key bindings from FILENAME.\n"
+" -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when\n"
+" \t\t\t\tKEYSEQ is entered.\n"
+" \n"
+" Exit Status:\n"
+" bind returns 0 unless an unrecognized option is given or an error occurs."
+msgstr ""
+"设定行读å–键绑定和å˜é‡ã€‚\n"
+" \n"
+" 绑定一个键åºåˆ—到一个行读å–函数或者å®ï¼Œæˆ–者设定一个\n"
+" 行读å–å˜é‡ã€‚éžé€‰é¡¹å‚数的语法和 ~/.inputrc 文件中的等\n"
+" åŒï¼Œä½†æ˜¯å¿…须作为一个å‚数被传递,\n"
+" 例如,bind '\"\\C-x\\C-r\": re-read-init-file'.\n"
+" \n"
+" 选项:\n"
+" -m 键映射 在此命令执行过程中使用指定的键映射。\n"
+" å¯ä»¥è¢«æŽ¥å—的键映射å字有 emacsã€\n"
+" emacs-standardã€emacs-metaã€emacs-ctlxã€viã€\n"
+" vi-moveã€vi-commandã€å’Œ vi-insert。\n"
+" -l 列出函数å称。\n"
+" -P 列出函数å称和绑定。\n"
+" -p 以å¯ä»¥é‡æ–°ç”¨ä½œè¾“入的格å¼åˆ—出函数å称和\n"
+" 绑定。\n"
+" -S 列出å¯ä»¥å¯åŠ¨å®çš„é”®åºåˆ—以åŠå®ƒä»¬çš„值\n"
+" -s 以å¯ä»¥é‡æ–°ç”¨ä½œè¾“入的格å¼åˆ—出å¯ä»¥å¯åŠ¨å®\n"
+" 的键以åŠå®ƒä»¬çš„值。\n"
+" -V 列出å˜é‡åæˆå’Œå®ƒä»¬çš„值\n"
+" -v 以å¯ä»¥é‡æ–°ç”¨ä½œè¾“入的格å¼åˆ—出å˜é‡çš„å称\n"
+" 和它们的值\n"
+" -q 函数å 查询指定的函数å¯ä»¥ç”±å“ªäº›é”®å¯åŠ¨ã€‚\n"
+" -u 函数å å绑定所有绑定至指定函数的键。\n"
+" -r é”®åºåˆ— å–消指定键åºåˆ—的绑定。\n"
+" -f 文件å 从指定文件中读å–键绑定。\n"
+" -x é”®åºåˆ—:shell命令\t当指定的键åºåˆ—被输入时,执行\n"
+" \t\t\t\t指定的shell命令\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 除éžä½¿ç”¨äº†æ— æ³•è¾¨è®¤çš„选项或者错误å‘生,å¦åˆ™è¿”回0."
+
+#: builtins.c:326
+msgid ""
+"Exit for, while, or until loops.\n"
+" \n"
+" Exit a FOR, WHILE or UNTIL loop. If N is specified, break N enclosing\n"
+" loops.\n"
+" \n"
+" Exit Status:\n"
+" The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+"退出 forã€whileã€æˆ– until 循环\n"
+" \n"
+" 退出一个 FORã€WHILE 或 UNTIL 循环。如果指定了N,则打破Né‡\n"
+" 循环\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 退出状æ€ä¸º0é™¤éž N ä¸å¤§äºŽæˆ–等于 1。"
+
+#: builtins.c:338
+msgid ""
+"Resume for, while, or until loops.\n"
+" \n"
+" Resumes the next iteration of the enclosing FOR, WHILE or UNTIL loop.\n"
+" If N is specified, resumes the Nth enclosing loop.\n"
+" \n"
+" Exit Status:\n"
+" The exit status is 0 unless N is not greater than or equal to 1."
+msgstr ""
+"继续 forã€whileã€æˆ– until 循环。\n"
+" \n"
+" ç»§ç»­å½“å‰ FORã€WHILE 或 UNTIL 循环的下一步。\n"
+" 如果指定了 N, 则继续当å‰çš„第 N é‡å¾ªçŽ¯ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 退出状æ€ä¸º 0 é™¤éž N ä¸å¤§äºŽæˆ–等于1。"
+
+#: builtins.c:350
+msgid ""
+"Execute shell builtins.\n"
+" \n"
+" Execute SHELL-BUILTIN with arguments ARGs without performing command\n"
+" lookup. This is useful when you wish to reimplement a shell builtin\n"
+" as a shell function, but need to execute the builtin within the "
+"function.\n"
+" \n"
+" Exit Status:\n"
+" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
+" not a shell builtin.."
+msgstr ""
+"执行 shell 内嵌。\n"
+" \n"
+" 带å‚æ•° ARGs 执行 SHELL-BUILTIN 内嵌,并且ä¸åšå‘½ä»¤æŸ¥è¯¢\n"
+" 在希望以 shell 函数的形å¼æ¥é‡æ–°å®žçŽ° shell 内嵌,\n"
+" 并且希望在函数之内执行该 shell 内嵌的情况下有用处。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 以 SHELL-BUILTIN 内嵌的退出状æ€ä¸ºå‡†ï¼Œæˆ–者如果 SHELL-BUILTINä¸æ˜¯ä¸€ä¸ª "
+"shell 内嵌时\n"
+" 为å‡ã€‚."
+
+#: builtins.c:365
+msgid ""
+"Return the context of the current subroutine call.\n"
+" \n"
+" Without EXPR, returns \"$line $filename\". With EXPR, returns\n"
+" \"$line $subroutine $filename\"; this extra information can be used to\n"
+" provide a stack trace.\n"
+" \n"
+" The value of EXPR indicates how many call frames to go back before the\n"
+" current one; the top frame is frame 0.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 unless the shell is not executing a shell function or EXPR\n"
+" is invalid."
+msgstr ""
+"返回当å‰å­è°ƒç”¨çš„上下文。\n"
+" \n"
+" ä¸å¸¦æœ‰ EXPR 时,返回 \"$line $filename\"。带有 EXPR 时,返回\n"
+" \"$line $subroutine $filename\";这个é¢å¤–çš„ä¿¡æ¯å¯ä»¥è¢«ç”¨äºŽæä¾›\n"
+" 栈追踪。\n"
+" \n"
+" EXPR 的值 显示了到当å‰è°ƒç”¨å¸§éœ€è¦å›žåŽ»å¤šå°‘个调用帧;顶部帧\n"
+" 是第 0 帧。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" é™¤éž shell ä¸åœ¨æ‰§è¡Œä¸€ä¸ª shell 函数或者 EXPR 无效,å¦åˆ™è¿”回结\n"
+" 果为0。"
+
+#: builtins.c:383
+#, fuzzy
+msgid ""
+"Change the shell working directory.\n"
+" \n"
+" Change the current directory to DIR. The default DIR is the value of "
+"the\n"
+" HOME shell variable.\n"
+" \n"
+" The variable CDPATH defines the search path for the directory "
+"containing\n"
+" DIR. Alternative directory names in CDPATH are separated by a colon "
+"(:).\n"
+" A null directory name is the same as the current directory. If DIR "
+"begins\n"
+" with a slash (/), then CDPATH is not used.\n"
+" \n"
+" If the directory is not found, and the shell option `cdable_vars' is "
+"set,\n"
+" the word is assumed to be a variable name. If that variable has a "
+"value,\n"
+" its value is used for DIR.\n"
+" \n"
+" Options:\n"
+" -L\tforce symbolic links to be followed\n"
+" -P\tuse the physical directory structure without following symbolic\n"
+" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
+" \n"
+" The default is to follow symbolic links, as if `-L' were specified.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
+msgstr ""
+"æ”¹å˜ shell 工作目录。\n"
+" \n"
+" 改å˜å½“å‰ç›®å½•è‡³ DIR 目录。默认的 DIR 目录是 shell å˜é‡ HOME\n"
+" 的值。\n"
+" \n"
+" å˜é‡ CDPATH 定义了å«æœ‰ DIR 的目录的æœç´¢è·¯å¾„。\n"
+" CDPATH å˜é‡ä¸­ä¸åŒçš„目录å称由分å·(:)分隔。\n"
+" 一个空的目录å称和当å‰ç›®å½•æ˜¯ä¸€æ ·çš„。如果 DIR å˜é‡ç”±\n"
+" æ–œæ  (/) 打头,则 CDPATH å˜é‡ä¸ä¼šè¢«ä½¿ç”¨ã€‚\n"
+" \n"
+" 如果路径找ä¸åˆ°ï¼Œå¹¶ä¸” shell 选项`cdable_vars' 被设定,\n"
+" 则å‚æ•°è¯è¢«å‡å®šä¸ºä¸€ä¸ªå˜é‡å。如果该å˜é‡æœ‰å€¼ï¼Œåˆ™å®ƒçš„值\n"
+" 被当作 DIR 目录。\n"
+" \n"
+" 选项:\n"
+" -L\t强制跟éšç¬¦å·é“¾æŽ¥ã€‚\n"
+" -P\t使用物ç†ç›®å½•ç»“构而ä¸è·Ÿéšç¬¦å·é“¾æŽ¥\n"
+" \n"
+" \n"
+" 默认情况下跟éšç¬¦å·é“¾æŽ¥ï¼Œå¦‚åŒæŒ‡å®š `-L'。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果目录改å˜åˆ™è¿”回0,å¦åˆ™éžé›¶ã€‚"
+
+#: builtins.c:414
+msgid ""
+"Print the name of the current working directory.\n"
+" \n"
+" Options:\n"
+" -L\tprint the value of $PWD if it names the current working\n"
+" \tdirectory\n"
+" -P\tprint the physical directory, without any symbolic links\n"
+" \n"
+" By default, `pwd' behaves as if `-L' were specified.\n"
+" \n"
+" Exit Status:\n"
+" Returns 0 unless an invalid option is given or the current directory\n"
+" cannot be read."
+msgstr ""
+"打å°å½“å‰å·¥ä½œç›®å½•çš„å字。\n"
+" \n"
+" 选项:\n"
+" -L\tæ‰“å° $PWD å˜é‡çš„值,如果它命å了当å‰çš„\n"
+" \t工作目录\n"
+" -P\t打å°å½“å‰çš„物ç†è·¯å¾„,ä¸å¸¦æœ‰ä»»ä½•çš„符å·é“¾æŽ¥\n"
+" \n"
+" 默认情况下,`pwd' 的行为和带 `-L' 选项一致\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 除éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–者当å‰ç›®å½•ä¸å¯è¯»ï¼Œå¦åˆ™\n"
+" 返回状æ€ä¸º0。"
+
+#: builtins.c:431
+msgid ""
+"Null command.\n"
+" \n"
+" No effect; the command does nothing.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"空的命令。\n"
+" \n"
+" 没有效果; 此命令ä¸åšä»»ä½•æ“作。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 总是æˆåŠŸã€‚"
+
+#: builtins.c:442
+msgid ""
+"Return a successful result.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"返回一个æˆåŠŸç»“果。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 总是æˆåŠŸ"
+
+#: builtins.c:451
+msgid ""
+"Return an unsuccessful result.\n"
+" \n"
+" Exit Status:\n"
+" Always fails."
+msgstr ""
+"返回一个ä¸æˆåŠŸçš„结果。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 总是失败。"
+
+#: builtins.c:460
+msgid ""
+"Execute a simple command or display information about commands.\n"
+" \n"
+" Runs COMMAND with ARGS suppressing shell function lookup, or display\n"
+" information about the specified COMMANDs. Can be used to invoke "
+"commands\n"
+" on disk when a function with the same name exists.\n"
+" \n"
+" Options:\n"
+" -p\tuse a default value for PATH that is guaranteed to find all of\n"
+" \tthe standard utilities\n"
+" -v\tprint a description of COMMAND similar to the `type' builtin\n"
+" -V\tprint a more verbose description of each COMMAND\n"
+" \n"
+" Exit Status:\n"
+" Returns exit status of COMMAND, or failure if COMMAND is not found."
+msgstr ""
+"执行一个简å•å‘½ä»¤æˆ–者显示命令的相关信æ¯ã€‚\n"
+" \n"
+" 带 ARGS å‚æ•°è¿è¡Œ COMMAND 命令且抑制 shell 函数查询,或显示\n"
+" 指定的 COMMAND 命令的信æ¯ã€‚å¯ä»¥åœ¨å­˜åœ¨ç›¸åŒå称的函数定义的\n"
+" 情况下被用于å¯åŠ¨ç£ç›˜ä¸Šçš„命令。\n"
+" \n"
+" 选项:\n"
+" -p\t使用 PATH å˜é‡çš„一个默认值以确ä¿æ‰€æœ‰çš„标准工具\n"
+" \t都能被找到。\n"
+" -v\tæ‰“å° COMMAND 命令的æ述,和 `type' 内嵌相似\n"
+" -V\t打å°æ¯ä¸ª COMMAND 命令的详细æè¿°\n"
+" \n"
+" 退出状æ€\n"
+" 返回 COMMAND 命令的返回状æ€ï¼Œæˆ–者当找ä¸åˆ° COMMAND 命令时失败。"
+
+#: builtins.c:479
+#, fuzzy
+msgid ""
+"Set variable values and attributes.\n"
+" \n"
+" Declare variables and give them attributes. If no NAMEs are given,\n"
+" display the attributes and values of all variables.\n"
+" \n"
+" Options:\n"
+" -f\trestrict action or display to function names and definitions\n"
+" -F\trestrict display to function names only (plus line number and\n"
+" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
+" -p\tdisplay the attributes and value of each NAME\n"
+" \n"
+" Options which set attributes:\n"
+" -a\tto make NAMEs indexed arrays (if supported)\n"
+" -A\tto make NAMEs associative arrays (if supported)\n"
+" -i\tto make NAMEs have the `integer' attribute\n"
+" -l\tto convert NAMEs to lower case on assignment\n"
+" -r\tto make NAMEs readonly\n"
+" -t\tto make NAMEs have the `trace' attribute\n"
+" -u\tto convert NAMEs to upper case on assignment\n"
+" -x\tto make NAMEs export\n"
+" \n"
+" Using `+' instead of `-' turns off the given attribute.\n"
+" \n"
+" Variables with the integer attribute have arithmetic evaluation (see\n"
+" the `let' command) performed when the variable is assigned a value.\n"
+" \n"
+" When used in a function, `declare' makes NAMEs local, as with the "
+"`local'\n"
+" command. The `-g' option suppresses this behavior.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"设定å˜é‡å€¼å’Œå±žæ€§ã€‚\n"
+" \n"
+" 声明å˜é‡å¹¶ä¸”赋予它们属性。如果没用给定å称,\n"
+" 则显示所有å˜é‡çš„属性和值。\n"
+" \n"
+" 选项:\n"
+" -f\té™åˆ¶åŠ¨ä½œæˆ–显示函数å称和定义\n"
+" -F\té™åˆ¶ä»…显示函数å称(以åŠè¡Œå·å’Œè°ƒè¯•æ—¶\n"
+" \tæºæ–‡ä»¶å)\n"
+" -p\t显示æ¯ä¸ª NAME å˜é‡çš„属性和值\n"
+" \n"
+" 设定属性的选项:\n"
+" -a\t使 NAME æˆä¸ºä¸‹æ ‡æ•°ç»„(如果支æŒï¼‰\n"
+" -A\t使 NAME æˆä¸ºå…³è”数组 (如果支æŒï¼‰\n"
+" -i\t使 NAME 带有 `integer' (整数)属性\n"
+" -l\tå°† NAME 在赋值时转为å°å†™\n"
+" -r\tå°† NAME å˜ä¸ºåªè¯»\n"
+" -t\t使 NAME 带有 `trace' (追踪)属性\n"
+" -u\t将 NAME 在赋值时转为大写\n"
+" -x\t将 NAME 导出\n"
+" \n"
+" 用 `+' 代替 `-' 会关闭指定选项。\n"
+" \n"
+" 带有整数属性的å˜é‡åœ¨èµ‹å€¼æ—¶å°†ä½¿ç”¨ç®—术估值(è§\n"
+" `let' 命令)\n"
+" \n"
+" 在函数中使用时,`declare' 使 NAME æˆä¸ºæœ¬åœ°å˜é‡ï¼Œå’Œ `local'\n"
+" 命令一致。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–者å‘生错误。"
+
+#: builtins.c:517
+msgid ""
+"Set variable values and attributes.\n"
+" \n"
+" Obsolete. See `help declare'."
+msgstr ""
+"设置å˜é‡çš„值和属性。\n"
+" \n"
+" 废弃。å‚è§ `help declare'。"
+
+#: builtins.c:525
+msgid ""
+"Define local variables.\n"
+" \n"
+" Create a local variable called NAME, and give it VALUE. OPTION can\n"
+" be any option accepted by `declare'.\n"
+" \n"
+" Local variables can only be used within a function; they are visible\n"
+" only to the function where they are defined and its children.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied, an error occurs,\n"
+" or the shell is not executing a function."
+msgstr ""
+"定义本地å˜é‡ã€‚\n"
+" \n"
+" 创建一个以 NAME 为å称的å˜é‡ï¼Œå¹¶ä¸”å°† VALUE 赋值给它。\n"
+" OPTION 选项å¯ä»¥æ˜¯ä»»ä½•èƒ½è¢« `declare' 接å—的选项。\n"
+" \n"
+" 本地å˜é‡åªèƒ½åœ¨å‡½æ•°å†…部被使用,它们åªèƒ½åœ¨å®šä¹‰å®ƒä»¬çš„函数内\n"
+" 部以åŠå­å‡½æ•°ä¸­å¯è§ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项ã€å‘生了错误或者 shell ä¸åœ¨\n"
+" 执行一个函数。"
+
+#: builtins.c:542
+msgid ""
+"Write arguments to the standard output.\n"
+" \n"
+" Display the ARGs on the standard output followed by a newline.\n"
+" \n"
+" Options:\n"
+" -n\tdo not append a newline\n"
+" -e\tenable interpretation of the following backslash escapes\n"
+" -E\texplicitly suppress interpretation of backslash escapes\n"
+" \n"
+" `echo' interprets the following backslash-escaped characters:\n"
+" \\a\talert (bell)\n"
+" \\b\tbackspace\n"
+" \\c\tsuppress further output\n"
+" \\e\tescape character\n"
+" \\f\tform feed\n"
+" \\n\tnew line\n"
+" \\r\tcarriage return\n"
+" \\t\thorizontal tab\n"
+" \\v\tvertical tab\n"
+" \\\\\tbackslash\n"
+" \\0nnn\tthe character whose ASCII code is NNN (octal). NNN can be\n"
+" \t0 to 3 octal digits\n"
+" \\xHH\tthe eight-bit character whose value is HH (hexadecimal). HH\n"
+" \tcan be one or two hex digits\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a write error occurs."
+msgstr ""
+"å°†å‚数写到标准输出。\n"
+" \n"
+" 在标准输出上显示 ARG å‚æ•°åŽè·Ÿä¸€ä¸ªæ¢è¡Œã€‚\n"
+" \n"
+" 选项:\n"
+" -n\tä¸è¦è¿½åŠ æ¢è¡Œ\n"
+" -e\tå¯ç”¨ä¸‹åˆ—åæ–œæ è½¬ä¹‰çš„解释\n"
+" -E\t显å¼åœ°æŠ‘制对于åæ–œæ è½¬ä¹‰çš„解释\n"
+" \n"
+" `echo' 对下列åæ–œæ å­—符进行转义:\n"
+" \\a\t警告(å“铃)\n"
+" \\b\t退格\n"
+" \\c\t抑制更多的输出\n"
+" \\e\t转义字符\n"
+" \\f\tæ ¼å¼æä¾›\n"
+" \\n\tæ¢è¡Œ\n"
+" \\r\t回车\n"
+" \\t\t横å‘制表符\n"
+" \\v\t纵å‘制表符\n"
+" \\\\\tåæ–œæ \n"
+" \\0nnn\t以 NNN (八进制)为 ASCII ç çš„字符。 NNN å¯ä»¥æ˜¯\n"
+" \t0到3个八进制数字\n"
+" \\xHH\t以 HH (å六进制)为值的八比特字符。HHå¯ä»¥æ˜¯\n"
+" \t一个或两个å六进制数字\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžæœ‰å†™é”™è¯¯å‘生。"
+
+#: builtins.c:576
+msgid ""
+"Write arguments to the standard output.\n"
+" \n"
+" Display the ARGs on the standard output followed by a newline.\n"
+" \n"
+" Options:\n"
+" -n\tdo not append a newline\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a write error occurs."
+msgstr ""
+"写å‚数至标准输出设备。\n"
+" \n"
+" 在标准输出设备上显示 ARGs å‚数和一个æ¢è¡Œã€‚\n"
+" \n"
+" 选项:\n"
+" -n\tä¸é™„加æ¢è¡Œ\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 除éžå†™é”™è¯¯å‘生,å¦åˆ™è¿”回æˆåŠŸã€‚"
+
+#: builtins.c:591
+msgid ""
+"Enable and disable shell builtins.\n"
+" \n"
+" Enables and disables builtin shell commands. Disabling allows you to\n"
+" execute a disk command which has the same name as a shell builtin\n"
+" without using a full pathname.\n"
+" \n"
+" Options:\n"
+" -a\tprint a list of builtins showing whether or not each is enabled\n"
+" -n\tdisable each NAME or display a list of disabled builtins\n"
+" -p\tprint the list of builtins in a reusable format\n"
+" -s\tprint only the names of Posix `special' builtins\n"
+" \n"
+" Options controlling dynamic loading:\n"
+" -f\tLoad builtin NAME from shared object FILENAME\n"
+" -d\tRemove a builtin loaded with -f\n"
+" \n"
+" Without options, each NAME is enabled.\n"
+" \n"
+" To use the `test' found in $PATH instead of the shell builtin\n"
+" version, type `enable -n test'.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is not a shell builtin or an error occurs."
+msgstr ""
+"å¯ç”¨å’Œç¦ç”¨ shell 内嵌。\n"
+" \n"
+" å¯ç”¨å’Œç¦ç”¨ shell 的内嵌命令。ç¦ç”¨ä½¿æ‚¨èƒ½å¤Ÿæ‰§è¡Œä¸€ä¸ªå’Œå†…嵌\n"
+" 命令åŒåçš„ç£ç›˜ä¸Šçš„命令,而无须使用完整的路径å。\n"
+" \n"
+" \n"
+" 选项:\n"
+" -a\t打å°ä¸€ä¸ªå†…嵌的列表,并显示其中æ¯ä¸€ä¸ªæ˜¯å¦å¯ç”¨\n"
+" -n\tç¦ç”¨æ¯ä¸€ä¸ª NAME 内嵌或者显示一个被ç¦ç”¨çš„内嵌的列表\n"
+" -p\t以å¯é‡ç”¨çš„æ ¼å¼æ‰“å°ä¸€ä¸ªå†…嵌的列表\n"
+" -s\t仅打å°Posix `special' 内嵌的å称\n"
+" \n"
+" 控制动æ€åŠ è½½çš„选项:\n"
+" -f\t从共享对象 FILENAME 文件中加载 NAME 内嵌\n"
+" -d\t删除以 -f 选项加载的内嵌\n"
+" \n"
+" ä¸å¸¦é€‰é¡¹æ—¶ï¼Œæ¯ä¸€ä¸ª NAME 内嵌都被å¯ç”¨ã€‚\n"
+" \n"
+" 如果è¦ä½¿ç”¨ $PATH 中找到的 `test' 而ä¸æ˜¯ shell 内嵌的版本,\n"
+" 输入 `enable -n test'。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éž NAME ä¸æ˜¯ä¸€ä¸ª shell 内嵌或者有错误å‘生。"
+
+#: builtins.c:619
+msgid ""
+"Execute arguments as a shell command.\n"
+" \n"
+" Combine ARGs into a single string, use the result as input to the "
+"shell,\n"
+" and execute the resulting commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns exit status of command or success if command is null."
+msgstr ""
+"å°†å‚数作为 shell 命令执行。\n"
+" \n"
+" å°† ARGs åˆæˆä¸€ä¸ªå­—符串,用结果作为 shell 的输入,\n"
+" 并且执行得到的命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 以命令的状æ€é€€å‡ºï¼Œæˆ–者在命令为空的情况下返回æˆåŠŸã€‚"
+
+#: builtins.c:631
+msgid ""
+"Parse option arguments.\n"
+" \n"
+" Getopts is used by shell procedures to parse positional parameters\n"
+" as options.\n"
+" \n"
+" OPTSTRING contains the option letters to be recognized; if a letter\n"
+" is followed by a colon, the option is expected to have an argument,\n"
+" which should be separated from it by white space.\n"
+" \n"
+" Each time it is invoked, getopts will place the next option in the\n"
+" shell variable $name, initializing name if it does not exist, and\n"
+" the index of the next argument to be processed into the shell\n"
+" variable OPTIND. OPTIND is initialized to 1 each time the shell or\n"
+" a shell script is invoked. When an option requires an argument,\n"
+" getopts places that argument into the shell variable OPTARG.\n"
+" \n"
+" getopts reports errors in one of two ways. If the first character\n"
+" of OPTSTRING is a colon, getopts uses silent error reporting. In\n"
+" this mode, no error messages are printed. If an invalid option is\n"
+" seen, getopts places the option character found into OPTARG. If a\n"
+" required argument is not found, getopts places a ':' into NAME and\n"
+" sets OPTARG to the option character found. If getopts is not in\n"
+" silent mode, and an invalid option is seen, getopts places '?' into\n"
+" NAME and unsets OPTARG. If a required argument is not found, a '?'\n"
+" is placed in NAME, OPTARG is unset, and a diagnostic message is\n"
+" printed.\n"
+" \n"
+" If the shell variable OPTERR has the value 0, getopts disables the\n"
+" printing of error messages, even if the first character of\n"
+" OPTSTRING is not a colon. OPTERR has the value 1 by default.\n"
+" \n"
+" Getopts normally parses the positional parameters ($0 - $9), but if\n"
+" more arguments are given, they are parsed instead.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if an option is found; fails if the end of options is\n"
+" encountered or an error occurs."
+msgstr ""
+"解æžé€‰é¡¹å‚数。\n"
+" \n"
+" Getopts 被 shell 过程用于解æžå¯å®šä½çš„å‚数作为选项。\n"
+" \n"
+" \n"
+" OPTSTRING 字符串包å«å¾…识别的选项字æ¯ï¼›å¦‚果一个字æ¯åŽé¢è·Ÿ\n"
+" ç€åˆ†å·ï¼Œåˆ™è¯¥é€‰é¡¹æœŸå¾…一个å‚数,而该å‚数应用空格与选项分开。\n"
+" \n"
+" \n"
+" æ¯æ¬¡å¯åŠ¨æ—¶ï¼Œgetopts 会将下一个选项放到 shell å˜é‡ $name\n"
+" 中,如果 name å˜é‡ä¸å­˜åœ¨åˆ™å…ˆå°†å…¶åˆå§‹åŒ–,而下一个待处\n"
+" ç†çš„å‚æ•°åºå·æ”¾å…¥ shell å˜é‡ OPTIND 中。OPTIND å˜é‡åœ¨æ¯\n"
+" 次 shell 或者 shell 脚本å¯åŠ¨æ—¶éƒ½è¢«åˆå§‹åŒ–为1。当一个选项è¦\n"
+" 求有一个å‚数时,getopts å°†å‚数放入 shell å˜é‡ OPTARG\n"
+" 中。\n"
+" \n"
+" getopts 有两ç§æŠ¥å‘Šé”™è¯¯çš„方法。如果 OPTSTRING å˜é‡çš„第\n"
+" 一个字符是冒å·ï¼Œgetopts 使用沉默错误报告。在这ç§æ¨¡å¼\n"
+" 下,ä¸ä¼šæ‰“å°é”™è¯¯æ¶ˆæ¯ã€‚如果看到了一个无效的选项,\n"
+" getopts 将找到的选项字符放至 OPTARG å˜é‡ä¸­ã€‚如果一个必\n"
+" 须的选项没有找到,getopts 放一个 ':' 到 NAME å˜é‡ä¸­å¹¶ä¸”设\n"
+" ç½® OPTARG å˜é‡ä¸ºæ‰¾åˆ°çš„选项字符。如果 getopts ä¸åœ¨æ²‰é»˜æ¨¡\n"
+" å¼ä¸­ï¼Œå¹¶ä¸”é‡åˆ°äº†ä¸€ä¸ªæ— æ•ˆçš„选项,getopts 放置一个 '?' 到 NAME \n"
+" å˜é‡ä¸­å¹¶ä¸”å设定 OPTARGå˜é‡ã€‚如果必须的选项没有找到,\n"
+" 一个'?'会被放入 NAMEå˜é‡ä¸­ï¼ŒOPTARG 将被å设定,并且会\n"
+" 打å°ä¸€ä¸ªè¯Šæ–­ä¿¡æ¯ã€‚\n"
+" \n"
+" 如果 shell å˜é‡ OPTERR 的值为0,getopts ç¦ç”¨\n"
+" 错误信æ¯çš„打å°ï¼Œå³ä½¿ OPTSTRING å˜é‡çš„第一个字符ä¸æ˜¯ä¸€\n"
+" 个冒å·ã€‚OPTERR 的默认值为1.\n"
+" \n"
+" Getopts 通常解æžå¯å®šä½çš„å‚数($0 - $9),ä¸è¿‡å¦‚æžœæ供了\n"
+" 更多的å‚数,它们å而会被解æžã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果一个选项被找到则返回æˆåŠŸï¼›å¦‚æžœé‡åˆ°äº†é€‰é¡¹çš„结尾或者\n"
+" 有错误å‘生则返回失败。"
+
+#: builtins.c:673
+msgid ""
+"Replace the shell with the given command.\n"
+" \n"
+" Execute COMMAND, replacing this shell with the specified program.\n"
+" ARGUMENTS become the arguments to COMMAND. If COMMAND is not "
+"specified,\n"
+" any redirections take effect in the current shell.\n"
+" \n"
+" Options:\n"
+" -a name\tpass NAME as the zeroth argument to COMMAND\n"
+" -c\t\texecute COMMAND with an empty environment\n"
+" -l\t\tplace a dash in the zeroth argument to COMMAND\n"
+" \n"
+" If the command cannot be executed, a non-interactive shell exits, "
+"unless\n"
+" the shell option `execfail' is set.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless COMMAND is not found or a redirection error "
+"occurs."
+msgstr ""
+"ä½¿ç”¨æŒ‡å®šå‘½ä»¤æ›¿æ¢ shell。\n"
+" \n"
+" 执行 COMMAND 命令,以指定的程åºæ›¿æ¢è¿™ä¸ª shell。\n"
+" ARGUMENTS å‚æ•°æˆä¸º COMMAND命令的å‚数。如果\n"
+" 没有指定COMMAND 命令,则任何的é‡å®šå‘åœ¨å½“å‰ shell 中生效。\n"
+" \n"
+" 选项:\n"
+" -a å称\t作为第0个å‚数传递给 COMMAND 命令\n"
+" -c\t\t在一个空环境中执行 COMMAND 命令\n"
+" -l\t\t在COMMAND 命令的第0个å‚数中加一个短线\n"
+" \n"
+" 如果命令ä¸èƒ½è¢«æ‰§è¡Œï¼Œåˆ™é€€å‡ºä¸€ä¸ªéžäº¤äº’å¼çš„ shell,除éž\n"
+" shell 选项`execfail' å·²ç»è®¾å®šã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éž COMMAND 命令没有找到或者出现一个é‡å®šå‘错误。"
+
+#: builtins.c:694
+msgid ""
+"Exit the shell.\n"
+" \n"
+" Exits the shell with a status of N. If N is omitted, the exit status\n"
+" is that of the last command executed."
+msgstr ""
+"退出shell。\n"
+" \n"
+" ä»¥çŠ¶æ€ N 退出 shell。 如果 N 被çœç•¥ï¼Œåˆ™é€€å‡ºçŠ¶æ€\n"
+" 为最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的退出状æ€ã€‚"
+
+#: builtins.c:703
+msgid ""
+"Exit a login shell.\n"
+" \n"
+" Exits a login shell with exit status N. Returns an error if not "
+"executed\n"
+" in a login shell."
+msgstr ""
+"退出一个登录 shell.\n"
+" \n"
+" ä»¥çŠ¶æ€ N 退出一个登录 shell。如果ä¸åœ¨ç™»å½• shell 中执行,则\n"
+" 返回一个错误。"
+
+#: builtins.c:713
+msgid ""
+"Display or execute commands from the history list.\n"
+" \n"
+" fc is used to list or edit and re-execute commands from the history "
+"list.\n"
+" FIRST and LAST can be numbers specifying the range, or FIRST can be a\n"
+" string, which means the most recent command beginning with that\n"
+" string.\n"
+" \n"
+" Options:\n"
+" -e ENAME\tselect which editor to use. Default is FCEDIT, then "
+"EDITOR,\n"
+" \t\tthen vi\n"
+" -l \tlist lines instead of editing\n"
+" -n\tomit line numbers when listing\n"
+" -r\treverse the order of the lines (newest listed first)\n"
+" \n"
+" With the `fc -s [pat=rep ...] [command]' format, COMMAND is\n"
+" re-executed after the substitution OLD=NEW is performed.\n"
+" \n"
+" A useful alias to use with this is r='fc -s', so that typing `r cc'\n"
+" runs the last command beginning with `cc' and typing `r' re-executes\n"
+" the last command.\n"
+" \n"
+" Exit Status:\n"
+" Returns success or status of executed command; non-zero if an error "
+"occurs."
+msgstr ""
+"从历å²åˆ—表中显示或者执行命令。\n"
+" \n"
+" fc 被用于从历å²åˆ—表中列出或者é‡æ–°ç¼–辑并执行命令。\n"
+" FIRST å’Œ LAST å˜é‡å¯ä»¥æ˜¯æ•°å­—用于指定范围,或者 FIRST å¯ä»¥æ˜¯\n"
+" 字符串,æ„味ç€ä»¥è¿™ä¸ªå­—符串打头的最近的一个命令。\n"
+" \n"
+" \n"
+" 选项:\n"
+" -e ENAME\t选择使用哪个编辑器。默认的是 FCEDIT, 然åŽæ˜¯ EDITOR,\n"
+" \t\t然åŽæ˜¯ vi\n"
+" -l \t列出行而ä¸ç¼–辑\n"
+" -n\t列举时çœç•¥è¡Œå·\n"
+" -r\tå转行的顺åºï¼ˆæœ€æ–°è¡Œåœ¨å‰ï¼‰\n"
+" \n"
+" 用 `fc -s [模å¼=æ›¿æ¢ ...] [命令]' çš„æ ¼å¼ï¼ŒCOMMAND 命令会在 OLD=NEW\n"
+" 替æ¢ä¹‹åŽè¢«é‡æ–°æ‰§è¡Œã€‚\n"
+" \n"
+" r='fc -s' 是一个有用的别å,这样的è¯è¾“å…¥ `r cc'会执行最åŽä¸€ä¸ªä»¥ `cc'\n"
+" 开头的命令,输入 `r'会é‡æ–°æ‰§è¡Œæœ€åŽä¸€ä¸ªå‘½ä»¤ã€‚\n"
+" \n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œæˆ–者执行的命令的状æ€ï¼›å¦‚果错误å‘生则返回éžé›¶ã€‚"
+
+#: builtins.c:743
+msgid ""
+"Move job to the foreground.\n"
+" \n"
+" Place the job identified by JOB_SPEC in the foreground, making it the\n"
+" current job. If JOB_SPEC is not present, the shell's notion of the\n"
+" current job is used.\n"
+" \n"
+" Exit Status:\n"
+" Status of command placed in foreground, or failure if an error occurs."
+msgstr ""
+"将任务移至å‰å°ã€‚\n"
+" \n"
+" 将以 JOB_SPEC 标识的任务放至å‰å°ï¼Œä½¿å…¶æˆä¸º\n"
+" 当å‰ä»»åŠ¡ã€‚如果 JOB_SPEC ä¸å­˜åœ¨ï¼Œshell 观念中的当å‰ä»»åŠ¡ \n"
+" 将被使用。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 放至å‰å°çš„命令状æ€ï¼Œæˆ–者当错误å‘生时为失败。"
+
+#: builtins.c:758
+msgid ""
+"Move jobs to the background.\n"
+" \n"
+" Place the jobs identified by each JOB_SPEC in the background, as if "
+"they\n"
+" had been started with `&'. If JOB_SPEC is not present, the shell's "
+"notion\n"
+" of the current job is used.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+"移动任务至åŽå°ã€‚\n"
+" \n"
+" å°† JOB_SPEC 标识的任务放至åŽå°ï¼Œå°±åƒå®ƒä»¬\n"
+" 是带 `&' å¯åŠ¨çš„一样。如果 JOB_SPEC ä¸å­˜åœ¨ï¼Œshell 观念中的\n"
+" 当å‰ä»»åŠ¡å°†ä¼šè¢«ä½¿ç”¨ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžä»»åŠ¡ç®¡ç†æ²¡æœ‰å¯ç”¨æˆ–者错误å‘生。"
+
+#: builtins.c:772
+msgid ""
+"Remember or display program locations.\n"
+" \n"
+" Determine and remember the full pathname of each command NAME. If\n"
+" no arguments are given, information about remembered commands is "
+"displayed.\n"
+" \n"
+" Options:\n"
+" -d\t\tforget the remembered location of each NAME\n"
+" -l\t\tdisplay in a format that may be reused as input\n"
+" -p pathname\tuse PATHNAME is the full pathname of NAME\n"
+" -r\t\tforget all remembered locations\n"
+" -t\t\tprint the remembered location of each NAME, preceding\n"
+" \t\teach location with the corresponding NAME if multiple\n"
+" \t\tNAMEs are given\n"
+" Arguments:\n"
+" NAME\t\tEach NAME is searched for in $PATH and added to the list\n"
+" \t\tof remembered commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is not found or an invalid option is given."
+msgstr ""
+"è®°ä½æˆ–显示程åºä½ç½®ã€‚\n"
+" \n"
+" 确定并记ä½æ¯ä¸€ä¸ªç»™å®š NAME å称的命令的完整路径。如果\n"
+" ä¸æä¾›å‚数,则显示已ç»è®°ä½çš„命令的信æ¯ã€‚\n"
+" \n"
+" 选项:\n"
+" -d\t\t忘记æ¯ä¸€ä¸ªå·²ç»è®°ä½çš„命令的ä½ç½®\n"
+" -l\t\t以å¯ä½œä¸ºè¾“å…¥é‡ç”¨çš„æ ¼å¼æ˜¾ç¤º\n"
+" -p pathname\t使用 pathname 路径作为 NAME 命令的全路径\n"
+" -r\t\t忘记所有记ä½çš„ä½ç½®\n"
+" -t\t\t打å°è®°ä½çš„æ¯ä¸€ä¸ª NAME å称的ä½ç½®ï¼Œå¦‚果指定了多个\n"
+" \t\tNAME å称,则æ¯ä¸ªä½ç½®å‰é¢ä¼šåŠ ä¸Šç›¸åº”çš„ NAME å称\n"
+" \t\t\n"
+" å‚数:\n"
+" NAME\t\tæ¯ä¸ª NAME å称会在 $PATH 路径å˜é‡ä¸­è¢«æœç´¢ï¼Œå¹¶\n"
+" \t\t且添加到记ä½çš„命令的列表中。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éž NAME 命令没有找到或者使用了无效的选项。"
+
+#: builtins.c:797
+msgid ""
+"Display information about builtin commands.\n"
+" \n"
+" Displays brief summaries of builtin commands. If PATTERN is\n"
+" specified, gives detailed help on all commands matching PATTERN,\n"
+" otherwise the list of help topics is printed.\n"
+" \n"
+" Options:\n"
+" -d\toutput short description for each topic\n"
+" -m\tdisplay usage in pseudo-manpage format\n"
+" -s\toutput only a short usage synopsis for each topic matching\n"
+" \tPATTERN\n"
+" \n"
+" Arguments:\n"
+" PATTERN\tPattern specifiying a help topic\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless PATTERN is not found or an invalid option is "
+"given."
+msgstr ""
+"显示内嵌命令的相关信æ¯ã€‚\n"
+" \n"
+" 显示内嵌命令的简略信æ¯ã€‚如果指定了 PATTERN 模å¼ï¼Œ\n"
+" ç»™å‡ºæ‰€æœ‰åŒ¹é… PATTERN 模å¼çš„命令的详细帮助,å¦åˆ™æ‰“\n"
+" å°ä¸€ä¸ªå¸®åŠ©ä¸»é¢˜åˆ—表\n"
+" \n"
+" 选项:\n"
+" -d\t输出æ¯ä¸ªä¸»é¢˜çš„简短æè¿°\n"
+" -m\t以伪 man 手册的格å¼æ˜¾ç¤ºä½¿ç”¨æ–¹æ³•\n"
+" -s\t为æ¯ä¸€ä¸ªåŒ¹é… PATTERN 模å¼çš„主题仅显示一个用法\n"
+" \t简介\n"
+" \n"
+" å‚数:\n"
+" PATTERN\tPattern 模å¼æŒ‡å®šä¸€ä¸ªå¸®åŠ©ä¸»é¢˜\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éž PATTERN 模å¼æ²¡æœ‰æ‰¾åˆ°æˆ–者使用了无效选项。"
+
+#: builtins.c:821
+msgid ""
+"Display or manipulate the history list.\n"
+" \n"
+" Display the history list with line numbers, prefixing each modified\n"
+" entry with a `*'. An argument of N lists only the last N entries.\n"
+" \n"
+" Options:\n"
+" -c\tclear the history list by deleting all of the entries\n"
+" -d offset\tdelete the history entry at offset OFFSET.\n"
+" \n"
+" -a\tappend history lines from this session to the history file\n"
+" -n\tread all history lines not already read from the history file\n"
+" -r\tread the history file and append the contents to the history\n"
+" \tlist\n"
+" -w\twrite the current history to the history file\n"
+" \tand append them to the history list\n"
+" \n"
+" -p\tperform history expansion on each ARG and display the result\n"
+" \twithout storing it in the history list\n"
+" -s\tappend the ARGs to the history list as a single entry\n"
+" \n"
+" If FILENAME is given, it is used as the history file. Otherwise,\n"
+" if $HISTFILE has a value, that is used, else ~/.bash_history.\n"
+" \n"
+" If the $HISTTIMEFORMAT variable is set and not null, its value is used\n"
+" as a format string for strftime(3) to print the time stamp associated\n"
+" with each displayed history entry. No time stamps are printed "
+"otherwise.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+"显示或æ“纵历å²åˆ—表。\n"
+" \n"
+" 带行å·æ˜¾ç¤ºåŽ†å²åˆ—表,将æ¯ä¸ªè¢«ä¿®æ”¹çš„æ¡ç›®åŠ ä¸Šå‰ç¼€ `*'。\n"
+" å‚æ•° N 会仅列出最åŽçš„ N 个æ¡ç›®ã€‚\n"
+" \n"
+" 选项:\n"
+" -c\t删除所有æ¡ç›®ä»Žè€Œæ¸…空历å²åˆ—表。\n"
+" -d å移é‡\t从指定ä½ç½®åˆ é™¤åŽ†å²åˆ—表。\n"
+" \n"
+" -a\t将当å‰ç»˜ç”»çš„历å²è¡Œè¿½åŠ åˆ°åŽ†å²æ–‡ä»¶ä¸­\n"
+" -n\t从历å²æ–‡ä»¶ä¸­è¯»å–所有未被读å–çš„è¡Œ\n"
+" -r\t读å–历å²æ–‡ä»¶å¹¶å°†å†…容追加到历å²åˆ—表中\n"
+" \t中\n"
+" -w\t将当å‰åŽ†å²å†™å…¥åˆ°åŽ†å²æ–‡ä»¶ä¸­\n"
+" \t并追加到历å²åˆ—表中\n"
+" \n"
+" -p\t对æ¯ä¸€ä¸ª ARG å‚数展开历å²å¹¶æ˜¾ç¤ºç»“æžœ\n"
+" \t而ä¸å­˜å‚¨åˆ°åŽ†å²åˆ—表中\n"
+" -s\t以å•æ¡è®°å½•è¿½åŠ  ARG 到历å²åˆ—表中\n"
+" \n"
+" 如果给定了 FILENAME 文件å,则它将被作为历å²æ–‡ä»¶ã€‚å¦åˆ™\n"
+" 如果 $HISTFILE å˜é‡æœ‰å€¼çš„è¯ä½¿ç”¨ä¹‹ï¼Œä¸ç„¶ä½¿ç”¨ ~/.bash_history 文件。\n"
+" \n"
+" 如果 $HISTTIMEFORMAT å˜é‡è¢«è®¾å®šå¹¶ä¸”ä¸ä¸ºç©ºï¼Œå®ƒçš„值会被用于\n"
+" strftime(3) çš„æ ¼å¼å­—符串æ¥æ‰“å°ä¸Žæ¯ä¸€ä¸ªæ˜¾ç¤ºçš„历å²æ¡ç›®æƒ³å…³è”çš„æ—¶\n"
+" 间戳,å¦åˆ™ä¸æ‰“å°æ—¶é—´æˆ³ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者å‘生错误。"
+
+#: builtins.c:857
+msgid ""
+"Display status of jobs.\n"
+" \n"
+" Lists the active jobs. JOBSPEC restricts output to that job.\n"
+" Without options, the status of all active jobs is displayed.\n"
+" \n"
+" Options:\n"
+" -l\tlists process IDs in addition to the normal information\n"
+" -n\tlist only processes that have changed status since the last\n"
+" \tnotification\n"
+" -p\tlists process IDs only\n"
+" -r\trestrict output to running jobs\n"
+" -s\trestrict output to stopped jobs\n"
+" \n"
+" If -x is supplied, COMMAND is run after all job specifications that\n"
+" appear in ARGS have been replaced with the process ID of that job's\n"
+" process group leader.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs.\n"
+" If -x is used, returns the exit status of COMMAND."
+msgstr ""
+"显示任务状æ€ã€‚\n"
+" \n"
+" 列出活动的任务。JPBSPEC é™åˆ¶ä»…输出指定的任务。\n"
+" ä¸å¸¦é€‰é¡¹æ—¶ï¼Œæ‰€æœ‰æ´»åŠ¨ä»»åŠ¡çš„状æ€éƒ½ä¼šæ˜¾ç¤ºã€‚\n"
+" \n"
+" 选项:\n"
+" -l\t在正常信æ¯åŸºç¡€ä¸Šåˆ—出进程å·\n"
+" -n\t列出上次通告之åŽæ”¹å˜äº†çŠ¶æ€çš„进程\n"
+" -p\t仅列出进程å·\n"
+" -r\té™åˆ¶ä»…输出è¿è¡Œä¸­çš„任务\n"
+" -s\té™åˆ¶ä»…输出åœæ­¢çš„任务\n"
+" \n"
+" 如果使用了 -x 选项,ARG å‚数中的所有任务声明会被替æ¢ä¸ºè¯¥ä»»åŠ¡\n"
+" 的进程组头领的进程å·ï¼Œç„¶åŽæ‰§è¡Œ COMMAND 命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者有错误å‘生。\n"
+" 如果使用 -x选项,则返回 COMMAND 命令的退出状æ€ã€‚"
+
+#: builtins.c:884
+msgid ""
+"Remove jobs from current shell.\n"
+" \n"
+" Removes each JOBSPEC argument from the table of active jobs. Without\n"
+" any JOBSPECs, the shell uses its notion of the current job.\n"
+" \n"
+" Options:\n"
+" -a\tremove all jobs if JOBSPEC is not supplied\n"
+" -h\tmark each JOBSPEC so that SIGHUP is not sent to the job if the\n"
+" \tshell receives a SIGHUP\n"
+" -r\tremove only running jobs\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option or JOBSPEC is given."
+msgstr ""
+"ä»Žå½“å‰ shell 中删除任务。\n"
+" \n"
+" 从活动任务表中删除æ¯ä¸€ä¸ª JOBSPEC å‚数。ä¸å¸¦ä»»ä½•\n"
+" JOBSPEC å‚数时,shell 使用观念中的当å‰ä»»åŠ¡ã€‚\n"
+" \n"
+" 选项:\n"
+" -a\t如果ä¸æä¾› JOBSPEC å‚数,则删除所有任务\n"
+" -h\t标识æ¯ä¸ª JOBSPEC 任务,从而当 shell 接收到 SIGHUP\n"
+" \tä¿¡å·æ—¶ä¸å‘é€ SIGHUP 给指定任务\n"
+" -r\t仅删除è¿è¡Œä¸­çš„任务\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 JOBSPEC 声明。"
+
+#: builtins.c:903
+msgid ""
+"Send a signal to a job.\n"
+" \n"
+" Send the processes identified by PID or JOBSPEC the signal named by\n"
+" SIGSPEC or SIGNUM. If neither SIGSPEC nor SIGNUM is present, then\n"
+" SIGTERM is assumed.\n"
+" \n"
+" Options:\n"
+" -s sig\tSIG is a signal name\n"
+" -n sig\tSIG is a signal number\n"
+" -l\tlist the signal names; if arguments follow `-l' they are\n"
+" \tassumed to be signal numbers for which names should be listed\n"
+" \n"
+" Kill is a shell builtin for two reasons: it allows job IDs to be used\n"
+" instead of process IDs, and allows processes to be killed if the limit\n"
+" on processes that you can create is reached.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or an error occurs."
+msgstr ""
+"å‘一个任务å‘é€ä¸€ä¸ªä¿¡å·ã€‚\n"
+" \n"
+" å‘以 PID 进程å·æˆ–者 JOBSPEC 任务声明指定的进程å‘é€ä¸€ä¸ªä»¥\n"
+" SIGSPEC ä¿¡å·å£°æ˜Žæˆ– SIGNUM ä¿¡å·ç¼–å·å‘½åçš„ä¿¡å·ã€‚如果没有指定\n"
+" SIGSPEC 或 SIGNUM,那么å‡å®šå‘é€ SIGTERM ä¿¡å·ã€‚\n"
+" \n"
+" 选项:\n"
+" -s sig\tSIG 是信å·å称\n"
+" -n sig\tSIG 是信å·ç¼–å·\n"
+" -l\t列出信å·å称;如果å‚æ•°åŽè·Ÿ `-l'则被å‡è®¾ä¸ºä¿¡å·ç¼–å·ï¼Œ\n"
+" \t而相应的信å·å称会被列出\n"
+" \n"
+" Kill æˆä¸º shell 内嵌有两个ç†ç”±ï¼šå®ƒå…许使用任务编å·è€Œä¸æ˜¯è¿›ç¨‹å·ï¼Œ\n"
+" 并且在å¯ä»¥åˆ›å»ºçš„进程数上é™è¾¾åˆ°æ˜¯å…许进程被æ€æ­»ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者有错误å‘生。"
+
+#: builtins.c:926
+#, fuzzy
+msgid ""
+"Evaluate arithmetic expressions.\n"
+" \n"
+" Evaluate each ARG as an arithmetic expression. Evaluation is done in\n"
+" fixed-width integers with no check for overflow, though division by 0\n"
+" is trapped and flagged as an error. The following list of operators is\n"
+" grouped into levels of equal-precedence operators. The levels are "
+"listed\n"
+" in order of decreasing precedence.\n"
+" \n"
+" \tid++, id--\tvariable post-increment, post-decrement\n"
+" \t++id, --id\tvariable pre-increment, pre-decrement\n"
+" \t-, +\t\tunary minus, plus\n"
+" \t!, ~\t\tlogical and bitwise negation\n"
+" \t**\t\texponentiation\n"
+" \t*, /, %\t\tmultiplication, division, remainder\n"
+" \t+, -\t\taddition, subtraction\n"
+" \t<<, >>\t\tleft and right bitwise shifts\n"
+" \t<=, >=, <, >\tcomparison\n"
+" \t==, !=\t\tequality, inequality\n"
+" \t&\t\tbitwise AND\n"
+" \t^\t\tbitwise XOR\n"
+" \t|\t\tbitwise OR\n"
+" \t&&\t\tlogical AND\n"
+" \t||\t\tlogical OR\n"
+" \texpr ? expr : expr\n"
+" \t\t\tconditional operator\n"
+" \t=, *=, /=, %=,\n"
+" \t+=, -=, <<=, >>=,\n"
+" \t&=, ^=, |=\tassignment\n"
+" \n"
+" Shell variables are allowed as operands. The name of the variable\n"
+" is replaced by its value (coerced to a fixed-width integer) within\n"
+" an expression. The variable need not have its integer attribute\n"
+" turned on to be used in an expression.\n"
+" \n"
+" Operators are evaluated in order of precedence. Sub-expressions in\n"
+" parentheses are evaluated first and may override the precedence\n"
+" rules above.\n"
+" \n"
+" Exit Status:\n"
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
+msgstr ""
+"估值算数表达å¼ã€‚\n"
+" \n"
+" å°†æ¯ä¸ª ARG å‚赛作为算数表达å¼æ¥ä¼°å€¼ã€‚估值的计算以等宽的整\n"
+" 数完æˆï¼Œä¸å¸¦æº¢å‡ºæ£€æµ‹ï¼Œä¸è¿‡é™¤ 0 是被置陷阱的并且会报一个错\n"
+" 误。下列æ“作符被按照相åŒçš„算数优先级组åˆã€‚列表的顺åºæŒ‰ç…§\n"
+" 优先级从高至低。\n"
+" \n"
+" \n"
+" \tid++, id--\tå˜é‡åŽç½®åŠ ï¼ŒåŽç½®å‡\n"
+" \t++id, --id\tå˜é‡å‰ç½®åŠ ï¼Œå‰ç½®å‡\n"
+" \t-, +\t\t一元å‡æ³•ï¼Œä¸€å…ƒåŠ æ³•\n"
+" \t!, ~\t\t逻辑和比特å–å\n"
+" \t**\t\t指数\n"
+" \t*, /, %\t\t乘法,除法,å–余数\n"
+" \t+, -\t\t增加,å‡å°‘\n"
+" \t<<, >>\t\tå‘左和å‘å³æ¯”特移ä½\n"
+" \t<=, >=, <, >\t比较\n"
+" \t==, !=\t\t等于,ä¸ç­‰äºŽ\n"
+" \t&\t\t比特与\n"
+" \t^\t\t比特异或\n"
+" \t|\t\t比特或\n"
+" \t&&\t\t逻辑与\n"
+" \t||\t\t逻辑或\n"
+" \texpr ? expr : expr\n"
+" \t\t\tæ¡ä»¶æ“作符\n"
+" \t=, *=, /=, %=,\n"
+" \t+=, -=, <<=, >>=,\n"
+" \t&=, ^=, |=\t赋值\n"
+" \n"
+" Shell å˜é‡å…许作为æ“作数。表达å¼ä¸­çš„å˜é‡çš„å称会被å–代\n"
+" 以值(强制转æ¢ä¸ºç­‰å®½çš„整数)。表达å¼ä¸­çš„å˜é‡ä¸éœ€è¦æ‰“å¼€\n"
+" 整数属性。\n"
+" \n"
+" \n"
+" æ“作符按照优先级进行估值。括å·ä¸­çš„å­è¡¨è¾¾å¼å°†è¢«å…ˆä¼°å€¼ï¼Œ\n"
+" 并有å¯èƒ½é‡è½½ä¸Šè¿°çš„表达å¼è§„则。\n"
+" \n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果最åŽä¸€ä¸ª ARG å‚数估值为0,则 let 返回1ï¼› å¦åˆ™ let 返回0。"
+
+#: builtins.c:971
+msgid ""
+"Read a line from the standard input and split it into fields.\n"
+" \n"
+" Reads a single line from the standard input, or from file descriptor FD\n"
+" if the -u option is supplied. The line is split into fields as with "
+"word\n"
+" splitting, and the first word is assigned to the first NAME, the second\n"
+" word to the second NAME, and so on, with any leftover words assigned to\n"
+" the last NAME. Only the characters found in $IFS are recognized as "
+"word\n"
+" delimiters.\n"
+" \n"
+" If no NAMEs are supplied, the line read is stored in the REPLY "
+"variable.\n"
+" \n"
+" Options:\n"
+" -a array\tassign the words read to sequential indices of the array\n"
+" \t\tvariable ARRAY, starting at zero\n"
+" -d delim\tcontinue until the first character of DELIM is read, rather\n"
+" \t\tthan newline\n"
+" -e\t\tuse Readline to obtain the line in an interactive shell\n"
+" -i text\tUse TEXT as the initial text for Readline\n"
+" -n nchars\treturn after reading NCHARS characters rather than waiting\n"
+" \t\tfor a newline, but honor a delimiter if fewer than NCHARS\n"
+" \t\tcharacters are read before the delimiter\n"
+" -N nchars\treturn only after reading exactly NCHARS characters, "
+"unless\n"
+" \t\tEOF is encountered or read times out, ignoring any delimiter\n"
+" -p prompt\toutput the string PROMPT without a trailing newline before\n"
+" \t\tattempting to read\n"
+" -r\t\tdo not allow backslashes to escape any characters\n"
+" -s\t\tdo not echo input coming from a terminal\n"
+" -t timeout\ttime out and return failure if a complete line of input "
+"is\n"
+" \t\tnot read withint TIMEOUT seconds. The value of the TMOUT\n"
+" \t\tvariable is the default timeout. TIMEOUT may be a\n"
+" \t\tfractional number. If TIMEOUT is 0, read returns success only\n"
+" \t\tif input is available on the specified file descriptor. The\n"
+" \t\texit status is greater than 128 if the timeout is exceeded\n"
+" -u fd\t\tread from file descriptor FD instead of the standard input\n"
+" \n"
+" Exit Status:\n"
+" The return code is zero, unless end-of-file is encountered, read times "
+"out,\n"
+" or an invalid file descriptor is supplied as the argument to -u."
+msgstr ""
+"从标准输入读å–一行并将其分为ä¸åŒçš„域。\n"
+" \n"
+" 从标准输入读å–å•ç‹¬çš„一行,或者如果使用了 -u 选项,从文件æ\n"
+" è¿° FD 中读å–。该行被分割æˆåŸŸï¼Œå¦‚åŒè¯è¯­åˆ†å‰²ä¸€æ ·ï¼Œå¹¶ä¸”\n"
+" 第一个è¯è¢«èµ‹å€¼ç»™ç¬¬ä¸€ä¸ª NAME å˜é‡ï¼Œç¬¬äºŒä¸ªè¯è¢«èµ‹å€¼ç»™ç¬¬äºŒä¸ª\n"
+" NAME å˜é‡ï¼Œå¦‚此继续,直到剩下所有的è¯è¢«èµ‹å€¼ç»™æœ€åŽä¸€ä¸ª\n"
+" NAME å˜é‡ã€‚åªæœ‰ $IFS å˜é‡ä¸­çš„字符被认作是è¯è¯­åˆ†éš”符。\n"
+" \n"
+" 如果没有æä¾› NAME å˜é‡ï¼Œåˆ™è¯»å–的行被存放在 REPLY å˜é‡ä¸­ã€‚\n"
+" \n"
+" 选项:\n"
+" -a array\tå°†è¯è¯­èµ‹å€¼ç»™ ARRAY 数组å˜é‡çš„åºåˆ—下标æˆå‘˜ï¼Œä»Ž\n"
+" \t\t零开始。\n"
+" -d delim\tæŒç»­è¯»å–直到读入 DELIM å˜é‡ä¸­çš„第一个字符,而ä¸æ˜¯\n"
+" \t\tæ¢è¡Œç¬¦\n"
+" -e\t\tåœ¨ä¸€ä¸ªäº¤äº’å¼ shell 中使用 readline 获å–è¡Œ\n"
+" -i text\t使用 TEXT 文本作为 readline çš„åˆå§‹æ–‡å­—\n"
+" -n nchars\tè¯»å– nchars 个字符之åŽè¿”回,而ä¸æ˜¯ç­‰åˆ°è¯»å–\n"
+" \t\tæ¢è¡Œç¬¦ï¼Œä½†æ˜¯åˆ†éš”符ä»ç„¶æœ‰æ•ˆï¼Œå¦‚æžœé‡åˆ°åˆ†éš”符之å‰è¯»\n"
+" \t\tå–了ä¸è¶³ nchars 个字符\n"
+" -N nchars\t在准确读å–了 nchars 个字符之åŽè¿”回,除éžé‡åˆ°\n"
+" \t\t了文件结æŸç¬¦æˆ–者读超时,任何的分隔符都被忽略\n"
+" -p prompt\t在å°è¯•è¯»å–之å‰è¾“出 PROMPT æ示符并且ä¸å¸¦\n"
+" \t\tæ¢è¡Œç¬¦\n"
+" -r\t\tä¸å…许åæ–œæ è½¬ä¹‰ä»»ä½•å­—符\n"
+" -s\t\tä¸æ˜¾ç¤ºç»ˆç«¯çš„任何输入\n"
+" -t timeout\t如果在 TIMEOUT 秒内没有读å–一个完整的行则\n"
+" \t\t超时并且返回失败。TMOUT å˜é‡çš„值是默认的超时时间。\n"
+" \t\tTIMEOUT å¯ä»¥æ˜¯å°æ•°ã€‚如果 TIMEOUT 是0,那么仅当在\n"
+" \t\t指定的文件æ述符上输入有效的时候,read æ‰è¿”回æˆåŠŸã€‚\n"
+" \t\t如果超过了超时时间,则返回状æ€ç å¤§äºŽ128\n"
+" -u fd\t\t从文件æ述符 FD 中读å–,而ä¸æ˜¯æ ‡å‡†è¾“å…¥\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回ç ä¸ºé›¶ï¼Œé™¤éžé‡åˆ°äº†æ–‡ä»¶ç»“æŸç¬¦ï¼Œè¯»è¶…时,或者无效的文\n"
+" 件æ述符作为å‚数传递给了 -u 选项。"
+
+#: builtins.c:1014
+msgid ""
+"Return from a shell function.\n"
+" \n"
+" Causes a function or sourced script to exit with the return value\n"
+" specified by N. If N is omitted, the return status is that of the\n"
+" last command executed within the function or script.\n"
+" \n"
+" Exit Status:\n"
+" Returns N, or failure if the shell is not executing a function or script."
+msgstr ""
+"从一个 shell 函数返回。\n"
+" \n"
+" 使一个函数或者被引用的脚本以指定的返回值 N 退出。\n"
+" 如果 N 被çœç•¥ï¼Œåˆ™è¿”回状æ€å°±æ˜¯\n"
+" 函数或脚本中的最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回 N,或者如果 shell ä¸åœ¨æ‰§è¡Œä¸€ä¸ªå‡½æ•°æˆ–引用脚本时,失败。"
+
+#: builtins.c:1027
+#, fuzzy
+msgid ""
+"Set or unset values of shell options and positional parameters.\n"
+" \n"
+" Change the value of shell attributes and positional parameters, or\n"
+" display the names and values of shell variables.\n"
+" \n"
+" Options:\n"
+" -a Mark variables which are modified or created for export.\n"
+" -b Notify of job termination immediately.\n"
+" -e Exit immediately if a command exits with a non-zero status.\n"
+" -f Disable file name generation (globbing).\n"
+" -h Remember the location of commands as they are looked up.\n"
+" -k All assignment arguments are placed in the environment for a\n"
+" command, not just those that precede the command name.\n"
+" -m Job control is enabled.\n"
+" -n Read commands but do not execute them.\n"
+" -o option-name\n"
+" Set the variable corresponding to option-name:\n"
+" allexport same as -a\n"
+" braceexpand same as -B\n"
+" emacs use an emacs-style line editing interface\n"
+" errexit same as -e\n"
+" errtrace same as -E\n"
+" functrace same as -T\n"
+" hashall same as -h\n"
+" histexpand same as -H\n"
+" history enable command history\n"
+" ignoreeof the shell will not exit upon reading EOF\n"
+" interactive-comments\n"
+" allow comments to appear in interactive commands\n"
+" keyword same as -k\n"
+" monitor same as -m\n"
+" noclobber same as -C\n"
+" noexec same as -n\n"
+" noglob same as -f\n"
+" nolog currently accepted but ignored\n"
+" notify same as -b\n"
+" nounset same as -u\n"
+" onecmd same as -t\n"
+" physical same as -P\n"
+" pipefail the return value of a pipeline is the status of\n"
+" the last command to exit with a non-zero status,\n"
+" or zero if no command exited with a non-zero "
+"status\n"
+" posix change the behavior of bash where the default\n"
+" operation differs from the Posix standard to\n"
+" match the standard\n"
+" privileged same as -p\n"
+" verbose same as -v\n"
+" vi use a vi-style line editing interface\n"
+" xtrace same as -x\n"
+" -p Turned on whenever the real and effective user ids do not match.\n"
+" Disables processing of the $ENV file and importing of shell\n"
+" functions. Turning this option off causes the effective uid and\n"
+" gid to be set to the real uid and gid.\n"
+" -t Exit after reading and executing one command.\n"
+" -u Treat unset variables as an error when substituting.\n"
+" -v Print shell input lines as they are read.\n"
+" -x Print commands and their arguments as they are executed.\n"
+" -B the shell will perform brace expansion\n"
+" -C If set, disallow existing regular files to be overwritten\n"
+" by redirection of output.\n"
+" -E If set, the ERR trap is inherited by shell functions.\n"
+" -H Enable ! style history substitution. This flag is on\n"
+" by default when the shell is interactive.\n"
+" -P If set, do not follow symbolic links when executing commands\n"
+" such as cd which change the current directory.\n"
+" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
+" - Assign any remaining arguments to the positional parameters.\n"
+" The -x and -v options are turned off.\n"
+" \n"
+" Using + rather than - causes these flags to be turned off. The\n"
+" flags can also be used upon invocation of the shell. The current\n"
+" set of flags may be found in $-. The remaining n ARGs are positional\n"
+" parameters and are assigned, in order, to $1, $2, .. $n. If no\n"
+" ARGs are given, all shell variables are printed.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given."
+msgstr ""
+"设定或å设定 shell 选项和ä½ç½®å‚数的值。\n"
+" \n"
+" æ”¹å˜ shell 选项和ä½ç½®å‚数的值,或者显示 shell å˜é‡çš„\n"
+" å称和值。\n"
+" \n"
+" 选项:\n"
+" -a 标记修改的或者创建的å˜é‡ä¸ºå¯¼å‡ºã€‚\n"
+" -b ç«‹å³é€šå‘Šä»»åŠ¡ç»ˆç»“。\n"
+" -e 如果一个命令以éžé›¶çŠ¶æ€é€€å‡ºï¼Œåˆ™ç«‹å³é€€å‡ºã€‚\n"
+" -f ç¦ç”¨æ–‡ä»¶å生æˆï¼ˆæ¨¡å¼åŒ¹é…)。\n"
+" -h 当查询命令时记ä½å®ƒä»¬çš„ä½ç½®\n"
+" -k 所有的赋值å‚数被放在命令的环境中,而ä¸ä»…仅是\n"
+" 命令å称之å‰çš„å‚数。\n"
+" -m å¯ç”¨ä»»åŠ¡æŽ§åˆ¶ã€‚\n"
+" -n 读å–命令但ä¸æ‰§è¡Œ\n"
+" -o 选项å\n"
+" 设定与选项å对应的å˜é‡ï¼š\n"
+" allexport 与 -a 相åŒ\n"
+" braceexpand 与 -B 相åŒ\n"
+" emacs 使用 emacs 风格的行编辑界é¢\n"
+" errexit 与 -e 相åŒ\n"
+" errtrace 与 -E 相åŒ\n"
+" functrace 与 -T 相åŒ\n"
+" hashall 与 -h 相åŒ\n"
+" histexpand 与 -H 相åŒ\n"
+" history å¯ç”¨å‘½ä»¤åŽ†å²\n"
+" ignoreeof shell 读å–文件结æŸç¬¦æ—¶ä¸ä¼šé€€å‡º\n"
+" interactive-comments\n"
+" å…许在交互å¼å‘½ä»¤ä¸­æ˜¾ç¤ºæ³¨é‡Š\n"
+" keyword 与 -k 相åŒ\n"
+" monitor 与 -m 相åŒ\n"
+" noclobber 与 -C 相åŒ\n"
+" noexec 与 -n 相åŒ\n"
+" noglob 与 -f 相åŒ\n"
+" nolog ç›®å‰å¯æŽ¥å—但是被忽略\n"
+" notify 与-b 相åŒ\n"
+" nounset 与 -u 相åŒ\n"
+" onecmd 与 -t 相åŒ\n"
+" physical 与 -P 相åŒ\n"
+" pipefail 管é“的返值是最åŽä¸€ä¸ªéžé›¶è¿”回值的命令的返回结果,\n"
+" 或者当所有命令都返回零是也为零。\n"
+" posix 改å˜é»˜è®¤æ—¶å’Œ Posix 标准ä¸åŒçš„ bash 行为\n"
+" 以匹é…标准\n"
+" privileged 与 -p 相åŒ\n"
+" verbose 与 -v 相åŒ\n"
+" vi 使用 vi 风格的行编辑界é¢\n"
+" xtrace 与 -x 相åŒ\n"
+" -p 无论何时当真实的有效的用户身份ä¸åŒ¹é…时打开。\n"
+" ç¦ç”¨å¯¹ $ENV 文件的处ç†ä»¥åŠå¯¼å…¥ shell 函数。\n"
+" 关闭此选项会导致有效的用户编å·å’Œç»„ç¼–å·è®¾å®š\n"
+" 为真实的用户编å·å’Œç»„ç¼–å·\n"
+" -t 读å–并执行一个命令之åŽé€€å‡ºã€‚\n"
+" -u 替æ¢æ—¶å°†ä¸ºè®¾å®šçš„å˜é‡å½“作错误对待。\n"
+" -v è¯»å– shell 输入行时将它们打å°ã€‚\n"
+" -x 执行命令时打å°å®ƒä»¬ä»¥åŠå‚数。\n"
+" -B shell 将执行花括å·æ‰©å±•ã€‚\n"
+" -C 设定之åŽç¦æ­¢ä»¥é‡å®šå‘输出的方å¼è¦†ç›–常\n"
+" 规文件。\n"
+" -E è®¾å®šä¹‹åŽ ERR 陷阱会被 shell 函数继承。\n"
+" -H å¯ç”¨ ! 风格的历å²æ›¿æ¢ã€‚当 shell 是交互å¼çš„\n"
+" 时候这个标识ä½é»˜è®¤æ‰“开。\n"
+" -P 设定之åŽç±»ä¼¼ cd 的会改å˜å½“å‰ç›®å½•çš„命令ä¸\n"
+" 追踪符å·é“¾æŽ¥ã€‚\n"
+" -T è®¾å®šä¹‹åŽ DEBUG 陷阱会被 shell 函数继承。\n"
+" - 任何剩余的å‚数会被赋值给ä½ç½®å‚数。\n"
+" -x 和 -v 选项已关闭。\n"
+" \n"
+" 使用 + 而ä¸æ˜¯ - 会使标志ä½è¢«å…³é—­ã€‚标志ä½ä¹Ÿå¯ä»¥åœ¨\n"
+" shell 被å¯åŠ¨æ—¶ä½¿ç”¨ã€‚当å‰çš„标志ä½è®¾å®šå¯ä»¥åœ¨ $- å˜\n"
+" é‡ä¸­æ‰¾åˆ°ã€‚剩余的 ARG å‚数是ä½ç½®å‚数并且是按照\n"
+" $1, $2, .. $n 的顺åºè¢«èµ‹å€¼çš„。如果没有给定 ARG\n"
+" å‚数,则打å°æ‰€æœ‰çš„ shell å˜é‡ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„å‚数。"
+
+#: builtins.c:1112
+msgid ""
+"Unset values and attributes of shell variables and functions.\n"
+" \n"
+" For each NAME, remove the corresponding variable or function.\n"
+" \n"
+" Options:\n"
+" -f\ttreat each NAME as a shell function\n"
+" -v\ttreat each NAME as a shell variable\n"
+" \n"
+" Without options, unset first tries to unset a variable, and if that "
+"fails,\n"
+" tries to unset a function.\n"
+" \n"
+" Some variables cannot be unset; also see `readonly'.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or a NAME is read-only."
+msgstr ""
+"å设定 shell å˜é‡å’Œå‡½æ•°çš„值和属性。\n"
+" \n"
+" 对æ¯ä¸€ä¸ª NAME å称,删除对应的å˜é‡æˆ–函数。\n"
+" \n"
+" 选项:\n"
+" -f\tå°†æ¯ä¸ª NAME å称当作函数对待\n"
+" -v\tå°†æ¯ä¸ª NAME å称当作å˜é‡å¯¹å¾…\n"
+" \n"
+" ä¸å¸¦é€‰é¡¹æ—¶ï¼Œunset 首先å°è¯•å设定一个å˜é‡ï¼Œå¦‚æžœ\n"
+" 失败,å†å°è¯•å设定一个函数。\n"
+" \n"
+" æŸäº›å˜é‡ä¸å¯ä»¥è¢«å设定;请查看 `readonly'。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 NAME å称为åªè¯»ã€‚"
+
+#: builtins.c:1132
+msgid ""
+"Set export attribute for shell variables.\n"
+" \n"
+" Marks each NAME for automatic export to the environment of subsequently\n"
+" executed commands. If VALUE is supplied, assign VALUE before "
+"exporting.\n"
+" \n"
+" Options:\n"
+" -f\trefer to shell functions\n"
+" -n\tremove the export property from each NAME\n"
+" -p\tdisplay a list of all exported variables and functions\n"
+" \n"
+" An argument of `--' disables further option processing.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+"为 shell å˜é‡è®¾å®šå¯¼å‡ºå±žæ€§ã€‚\n"
+" \n"
+" 标记æ¯ä¸ª NAME å称为自动导出到åŽç»­å‘½ä»¤æ‰§è¡Œçš„环境。如果æ供了 VALUE\n"
+" 则导出å‰å°† VALUE 作为赋值。\n"
+" \n"
+" 选项:\n"
+" -f\t指 shell 函数\n"
+" -n\t删除æ¯ä¸ª NAME å称的导出属性\n"
+" -p\t显示所有导出的å˜é‡å’Œå‡½æ•°çš„列表\n"
+" \n"
+" `--' çš„å‚æ•°ç¦ç”¨è¿›ä¸€æ­¥çš„选项处ç†ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 NAME å称。"
+
+#: builtins.c:1151
+msgid ""
+"Mark shell variables as unchangeable.\n"
+" \n"
+" Mark each NAME as read-only; the values of these NAMEs may not be\n"
+" changed by subsequent assignment. If VALUE is supplied, assign VALUE\n"
+" before marking as read-only.\n"
+" \n"
+" Options:\n"
+" -a\trefer to indexed array variables\n"
+" -A\trefer to associative array variables\n"
+" -f\trefer to shell functions\n"
+" -p\tdisplay a list of all readonly variables and functions\n"
+" \n"
+" An argument of `--' disables further option processing.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or NAME is invalid."
+msgstr ""
+"标记 shell å˜é‡ä¸ºä¸å¯æ”¹å˜ã€‚\n"
+" \n"
+" 标记æ¯ä¸€ä¸ª NAME å称为åªè¯»ï¼›è¿™äº› NAME å˜é‡çš„值将ä¸å¯ä»¥è¢«åŽç»­çš„赋值\n"
+" æ“作所改å˜ã€‚如果æ供了 VALUE,则在标记为åªè¯»ä¹‹å‰å°† VALUE 值赋给å˜é‡ã€‚\n"
+" \n"
+" 选项:\n"
+" -a\t指下标数组å˜é‡\n"
+" -A\t指关è”数组标é‡\n"
+" -f\t指 shell 函数\n"
+" -p\t显示åªè¯»å˜é‡å’Œå‡½æ•°åˆ—表\n"
+" \n"
+" `--' çš„å‚æ•°ç¦ç”¨è¿›ä¸€æ­¥çš„选项处ç†ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 NAME å称。"
+
+#: builtins.c:1172
+msgid ""
+"Shift positional parameters.\n"
+" \n"
+" Rename the positional parameters $N+1,$N+2 ... to $1,$2 ... If N is\n"
+" not given, it is assumed to be 1.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless N is negative or greater than $#."
+msgstr ""
+"移ä½ä½ç½®å‚数。\n"
+" \n"
+" é‡å‘½åä½ç½®å‚æ•° $N+1ã€$N+2 ... 到 $1ã€$2 ... 如果没有给定 N,\n"
+" 则å‡è®¾ä¸º1.\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éž N 为负或者大于 $#。"
+
+#: builtins.c:1184 builtins.c:1199
+msgid ""
+"Execute commands from a file in the current shell.\n"
+" \n"
+" Read and execute commands from FILENAME in the current shell. The\n"
+" entries in $PATH are used to find the directory containing FILENAME.\n"
+" If any ARGUMENTS are supplied, they become the positional parameters\n"
+" when FILENAME is executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed in FILENAME; fails if\n"
+" FILENAME cannot be read."
+msgstr ""
+"åœ¨å½“å‰ shell 中执行一个文件中的命令。\n"
+" \n"
+" åœ¨å½“å‰ shell 中读å–并执行 FILENAME 文件中的命令。$PATH å˜é‡ä¸­çš„\n"
+" æ¡ç›®è¢«ç”¨äºŽå¯»æ‰¾åŒ…å« FILENAME 文件的目录。如果æ供了任何的 ARGUMENTS\n"
+" å‚数,则它们将æˆä¸º FILENAME 文件执行时的ä½ç½®å‚数。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回 FILENAME 文件中最åŽä¸€ä¸ªå‘½ä»¤çš„状æ€ï¼›å¦‚æžœ FILENAME 文件ä¸å¯è¯»åˆ™å¤±è´¥ã€‚"
+
+#: builtins.c:1215
+msgid ""
+"Suspend shell execution.\n"
+" \n"
+" Suspend the execution of this shell until it receives a SIGCONT signal.\n"
+" Unless forced, login shells cannot be suspended.\n"
+" \n"
+" Options:\n"
+" -f\tforce the suspend, even if the shell is a login shell\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless job control is not enabled or an error occurs."
+msgstr ""
+"挂起 shell 执行。\n"
+" \n"
+" 挂起 shell 的执行直到收到 SIGCONT ä¿¡å·ã€‚\n"
+" 登录 shell ä¸å¯ä»¥è¢«æŒ‚起,除éžå¼ºåˆ¶æ‰§è¡Œã€‚\n"
+" \n"
+" 选项:\n"
+" -f\t强制挂起,å³ä½¿æ˜¯ç™»å½• shell。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžæ²¡æœ‰å¯ç”¨ä»»åŠ¡æŽ§åˆ¶æˆ–者有错误å‘生。"
+
+#: builtins.c:1231
+#, fuzzy
+msgid ""
+"Evaluate conditional expression.\n"
+" \n"
+" Exits with a status of 0 (true) or 1 (false) depending on\n"
+" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
+" expressions are often used to examine the status of a file. There\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
+" \n"
+" File operators:\n"
+" \n"
+" -a FILE True if file exists.\n"
+" -b FILE True if file is block special.\n"
+" -c FILE True if file is character special.\n"
+" -d FILE True if file is a directory.\n"
+" -e FILE True if file exists.\n"
+" -f FILE True if file exists and is a regular file.\n"
+" -g FILE True if file is set-group-id.\n"
+" -h FILE True if file is a symbolic link.\n"
+" -L FILE True if file is a symbolic link.\n"
+" -k FILE True if file has its `sticky' bit set.\n"
+" -p FILE True if file is a named pipe.\n"
+" -r FILE True if file is readable by you.\n"
+" -s FILE True if file exists and is not empty.\n"
+" -S FILE True if file is a socket.\n"
+" -t FD True if FD is opened on a terminal.\n"
+" -u FILE True if the file is set-user-id.\n"
+" -w FILE True if the file is writable by you.\n"
+" -x FILE True if the file is executable by you.\n"
+" -O FILE True if the file is effectively owned by you.\n"
+" -G FILE True if the file is effectively owned by your group.\n"
+" -N FILE True if the file has been modified since it was last "
+"read.\n"
+" \n"
+" FILE1 -nt FILE2 True if file1 is newer than file2 (according to\n"
+" modification date).\n"
+" \n"
+" FILE1 -ot FILE2 True if file1 is older than file2.\n"
+" \n"
+" FILE1 -ef FILE2 True if file1 is a hard link to file2.\n"
+" \n"
+" String operators:\n"
+" \n"
+" -z STRING True if string is empty.\n"
+" \n"
+" -n STRING\n"
+" STRING True if string is not empty.\n"
+" \n"
+" STRING1 = STRING2\n"
+" True if the strings are equal.\n"
+" STRING1 != STRING2\n"
+" True if the strings are not equal.\n"
+" STRING1 < STRING2\n"
+" True if STRING1 sorts before STRING2 "
+"lexicographically.\n"
+" STRING1 > STRING2\n"
+" True if STRING1 sorts after STRING2 lexicographically.\n"
+" \n"
+" Other operators:\n"
+" \n"
+" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
+" ! EXPR True if expr is false.\n"
+" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
+" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
+" \n"
+" arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,\n"
+" -lt, -le, -gt, or -ge.\n"
+" \n"
+" Arithmetic binary operators return true if ARG1 is equal, not-equal,\n"
+" less-than, less-than-or-equal, greater-than, or greater-than-or-equal\n"
+" than ARG2.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if EXPR evaluates to true; fails if EXPR evaluates to\n"
+" false or an invalid argument is given."
+msgstr ""
+"对æ¡ä»¶è¡¨è¾¾å¼è¿›è¡Œä¼°å€¼ã€‚\n"
+" \n"
+" æ ¹æ® EXPR 表达å¼çš„估值以状æ€0(真)或1(伪)退出。\n"
+" 表达å¼å¯ä»¥æ˜¯ä¸€å…ƒæˆ–者二元的。一元表达å¼é€šå¸¸ç”¨äºŽæ£€æµ‹\n"
+" 文件状æ€ã€‚åŒæ—¶è¿˜æœ‰å­—符串æ“作符和数字比较æ“作符。\n"
+" \n"
+" 文件æ“作符:\n"
+" \n"
+" -a 文件 如果文件存在则为真。\n"
+" -b 文件 如果文件为å—特殊文件则为真。\n"
+" -c 文件 如果文件为字符特殊文件则为真。\n"
+" -d 文件 如果文件为目录则为真。\n"
+" -e 文件 如果文件存在则为真。\n"
+" -f 文件 如果文件存在且为常规文件则为真。\n"
+" -g 文件 如果文件的组属性设置打开则为真。\n"
+" -h 文件 如果文件为符å·é“¾æŽ¥åˆ™ä¸ºçœŸã€‚\n"
+" -L 文件 如果文件为符å·é“¾æŽ¥åˆ™ä¸ºçœŸã€‚\n"
+" -k 文件 如果文件的粘滞ä½è®¾å®šåˆ™ä¸ºçœŸã€‚\n"
+" -p 文件 如果文件为命å管é“则为真。\n"
+" -r 文件 如果文件对于您是å¯è¯»çš„则为真。\n"
+" -s 文件 如果文件存在且ä¸ä¸ºç©ºåˆ™ä¸ºçœŸã€‚\n"
+" -S 文件 如果文件是套接字则为真。\n"
+" -t 文件æ述符 如果文件æ述符在一个终端上打开则为真。\n"
+" -u 文件 如果文件的用户数行设置打开则为真。\n"
+" -w 文件 如果文件对您是å¯å†™çš„则为真\n"
+" -x 文件 如果文件对您是å¯æ‰§è¡Œçš„则为真。\n"
+" -O 文件 如果文件是被您所有的则为真。\n"
+" -G 文件 如果文件被您的组所有则为真。\n"
+" -N 文件 如果文件上次被读å–之åŽä¿®æ”¹è¿‡åˆ™ä¸ºçœŸã€‚\n"
+" \n"
+" FILE1 -nt FILE2 如果 file1 文件新于 file2 文件则为真(根æ®\n"
+" 修改日期)。\n"
+" \n"
+" FILE1 -ot FILE2 如果 file1 文件旧于 file2 文件则为真。\n"
+" \n"
+" FILE1 -ef FILE2 如果 file1 文件是 file2 文件的硬链接则为真。\n"
+" \n"
+" 字符串æ“作符\n"
+" \n"
+" -z 字符串 如果字符串为空则为真。\n"
+" \n"
+" -n 字符串\n"
+" 字符串 如果字符串ä¸ä¸ºç©ºåˆ™ä¸ºçœŸã€‚\n"
+" \n"
+" STRING1 = STRING2\n"
+" 如果 string1 å’Œ string2 字符串相åŒåˆ™ä¸ºçœŸã€‚\n"
+" STRING1 != STRING2\n"
+" 如果 string1 å’Œ string2 字符串ä¸ç›¸åŒåˆ™ä¸ºçœŸã€‚\n"
+" STRING1 < STRING2\n"
+" å¦‚æžœæŒ‰å­—å…¸æŽ’åº string1 在 string2 串之å‰åˆ™ä¸ºçœŸã€‚\n"
+" STRING1 > STRING2\n"
+" å¦‚æžœæŒ‰å­—å…¸æŽ’åº string1 在 string2 串之å‰åˆ™ä¸ºçœŸã€‚\n"
+" \n"
+" 其他æ“作符:\n"
+" \n"
+" -o 选项 如果指定 shell 选项å¯ç”¨åˆ™ä¸ºçœŸã€‚\n"
+" ! EXPR å¦‚æžœè¡¨è¾¾å¼ expr 为å‡åˆ™ä¸ºçœŸã€‚\n"
+" EXPR1 -a EXPR2 如果 expr1 和 expr2 都为真则为真。\n"
+" EXPR1 -o EXPR2 如果 expr1 和 expr2 有一个为真则为真。\n"
+" \n"
+" arg1 OP arg2 算数测试。OPæ“作符å¯ä»¥æ˜¯ -eqã€-neã€\n"
+" -ltã€-leã€-gtã€æˆ– -ge 中的一个。\n"
+" \n"
+" 二元算数æ“作返回真,如果 ARG1 å‚数等于ã€ä¸ç­‰äºŽã€\n"
+" å°äºŽã€å°äºŽç­‰äºŽã€å¤§äºŽã€æˆ–者大于等于 ARG2 å‚数。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果 EXPR 表达å¼ä¼°å€¼ä¸ºçœŸåˆ™è¿”回æˆåŠŸï¼›å¦‚æžœ EXPR 表达å¼ä¼°å€¼\n"
+" 为å‡æˆ–者使用了无效的å‚数则返回失败。"
+
+#: builtins.c:1311
+msgid ""
+"Evaluate conditional expression.\n"
+" \n"
+" This is a synonym for the \"test\" builtin, but the last argument must\n"
+" be a literal `]', to match the opening `['."
+msgstr ""
+"估值æ¡ä»¶è¡¨è¾¾å¼ã€‚\n"
+" \n"
+" 是内嵌命令 \"test\" çš„åŒä¹‰è¯ï¼Œä½†æ˜¯æœ€åŽä¸€ä¸ªå‚数必须是\n"
+" 字符 `]',以匹é…起始的 `['。"
+
+#: builtins.c:1320
+msgid ""
+"Display process times.\n"
+" \n"
+" Prints the accumulated user and system times for the shell and all of "
+"its\n"
+" child processes.\n"
+" \n"
+" Exit Status:\n"
+" Always succeeds."
+msgstr ""
+"显示进程时间\n"
+" \n"
+" æ‰“å° shell åŠå…¶æ‰€æœ‰å­è¿›ç¨‹çš„累计用户空间和\n"
+" 系统空间执行时间。\n"
+" \n"
+" 退出状æ€\n"
+" 总是æˆåŠŸã€‚"
+
+#: builtins.c:1332
+#, fuzzy
+msgid ""
+"Trap signals and other events.\n"
+" \n"
+" Defines and activates handlers to be run when the shell receives "
+"signals\n"
+" or other conditions.\n"
+" \n"
+" ARG is a command to be read and executed when the shell receives the\n"
+" signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC\n"
+" is supplied) or `-', each specified signal is reset to its original\n"
+" value. If ARG is the null string each SIGNAL_SPEC is ignored by the\n"
+" shell and by the commands it invokes.\n"
+" \n"
+" If a SIGNAL_SPEC is EXIT (0) ARG is executed on exit from the shell. "
+"If\n"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
+" \n"
+" If no arguments are supplied, trap prints the list of commands "
+"associated\n"
+" with each signal.\n"
+" \n"
+" Options:\n"
+" -l\tprint a list of signal names and their corresponding numbers\n"
+" -p\tdisplay the trap commands associated with each SIGNAL_SPEC\n"
+" \n"
+" Each SIGNAL_SPEC is either a signal name in <signal.h> or a signal "
+"number.\n"
+" Signal names are case insensitive and the SIG prefix is optional. A\n"
+" signal may be sent to the shell with \"kill -signal $$\".\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless a SIGSPEC is invalid or an invalid option is "
+"given."
+msgstr ""
+"对信å·å’Œå…¶ä»–事件设陷阱。\n"
+" \n"
+" 定义一个处ç†å™¨ï¼Œåœ¨ shell 接收到信å·å’Œå…¶ä»–æ¡ä»¶ä¸‹æ‰§è¡Œã€‚\n"
+" \n"
+" ARG å‚数是当 shell 接收到 SIGNAL_SPEC ä¿¡å·æ—¶è¯»å–和执行的命令。\n"
+" 如果没有指定 ARG å‚数(并且åªç»™å‡ºä¸€ä¸ª SIGNAL_SPEC ä¿¡å·ï¼‰æˆ–者\n"
+" 或者 ARG å‚数为 `-',æ¯ä¸€ä¸ªæŒ‡å®šçš„å‚数会被é‡ç½®ä¸ºåŽŸå§‹å€¼ã€‚如果 ARG å‚æ•°\n"
+" 是一个空串,则æ¯ä¸€ä¸ª SIGNAL_SPEC ä¿¡å·ä¼šè¢« shell 和它å¯åŠ¨çš„命令忽略。\n"
+" \n"
+" 如果一个 SIGNAL_SPEC ä¿¡å·æ˜¯â€œé€€å‡ºâ€ (0) ,则 ARG 命令会在 shell 退出时被\n"
+" 执行。如果一个 SIGNAL_SPEC ä¿¡å·æ˜¯â€œè°ƒè¯•â€œï¼Œåˆ™ ARG命令会在æ¯ä¸€ä¸ªç®€å•å‘½\n"
+" 令之å‰æ‰§è¡Œã€‚\n"
+" \n"
+" 如果ä¸æä¾›å‚数,trap 打å°åˆ—表显示æ¯ä¸€ä¸ªä¸Žæ¯ä¸€ä¸ªä¿¡å·ç›¸å…³è”çš„\n"
+" 命令。\n"
+" \n"
+" 选项:\n"
+" -l\t打å°ä¸€ä¸ªä¿¡å·å称和它们对应的编å·çš„列表\n"
+" -p\t打å°ä¸Žæ¯ä¸ª SIGNAL_SPEC ä¿¡å·ç›¸å…³è”的陷阱命令\n"
+" \n"
+" æ¯ä¸€ä¸ª SIGNAL_SPEC ä¿¡å·å¯ä»¥æ˜¯ <signal.h> 中的信å·å称或者\n"
+" ä¿¡å·ç¼–å·ã€‚ä¿¡å·å称大å°å†™æ•æ„Ÿä¸”å¯ä»¥ä½¿ç”¨ SIG å‰ç¼€ã€‚ä¿¡å·å¯ä»¥ç”¨\n"
+" \"kill -signal $$\" å‘é€ç»™ shell。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 SIGSPEC。"
+
+#: builtins.c:1368
+msgid ""
+"Display information about command type.\n"
+" \n"
+" For each NAME, indicate how it would be interpreted if used as a\n"
+" command name.\n"
+" \n"
+" Options:\n"
+" -a\tdisplay all locations containing an executable named NAME;\n"
+" \tincludes aliases, builtins, and functions, if and only if\n"
+" \tthe `-p' option is not also used\n"
+" -f\tsuppress shell function lookup\n"
+" -P\tforce a PATH search for each NAME, even if it is an alias,\n"
+" \tbuiltin, or function, and returns the name of the disk file\n"
+" \tthat would be executed\n"
+" -p\treturns either the name of the disk file that would be executed,\n"
+" \tor nothing if `type -t NAME' would not return `file'.\n"
+" -t\toutput a single word which is one of `alias', `keyword',\n"
+" \t`function', `builtin', `file' or `', if NAME is an alias, shell\n"
+" \treserved word, shell function, shell builtin, disk file, or not\n"
+" \tfound, respectively\n"
+" \n"
+" Arguments:\n"
+" NAME\tCommand name to be interpreted.\n"
+" \n"
+" Exit Status:\n"
+" Returns success if all of the NAMEs are found; fails if any are not "
+"found."
+msgstr ""
+"显示命令类型的信æ¯ã€‚\n"
+" \n"
+" 对于æ¯ä¸€ä¸ª NAME å称,指示如果作为命令它将如何被解释。\n"
+" \n"
+" 选项:\n"
+" -a\t显示所有包å«å称为 NAME çš„å¯æ‰§è¡Œæ–‡ä»¶çš„ä½ç½®ï¼›\n"
+" \t包括别åã€å†…嵌和函数。仅当 `-p' 选项没有使用时\n"
+" -f\t抑制 shell 函数查询\n"
+" -P\t为æ¯ä¸ª NAME å称惊醒 PATH 路径æœç´¢ï¼Œå³ä½¿å®ƒæ˜¯åˆ«åã€\n"
+" \t内嵌或函数,并且返回将被执行的ç£ç›˜ä¸Šæ–‡ä»¶çš„å称。\n"
+" -p\t返回将被执行的ç£ç›˜ä¸Šæ–‡ä»¶çš„å称,或者当 `type -t NAME'\n"
+" \tä¸è¿”回 `file' 时,ä¸è¿”回任何值。\n"
+" -t\t返回下列è¯ä¸­çš„任何一个`alias'ã€`keyword'ã€\n"
+" \t`function'ã€`builtin'ã€`file'或者`',如果 NAME 是相应的\n"
+" \t一个别åã€shell ä¿ç•™å­—ã€shell 函数ã€shell 内嵌ã€\n"
+" \tç£ç›˜æ–‡ä»¶æˆ–没有找到。\n"
+" \n"
+" å‚数:\n"
+" NAME\tå°†è¦è§£æžçš„命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果所有的 NAME 命令都找到则返回æˆåŠŸï¼›ä»»ä½•æ‰¾ä¸åˆ°åˆ™å¤±è´¥ã€‚"
+
+#: builtins.c:1399
+msgid ""
+"Modify shell resource limits.\n"
+" \n"
+" Provides control over the resources available to the shell and "
+"processes\n"
+" it creates, on systems that allow such control.\n"
+" \n"
+" Options:\n"
+" -S\tuse the `soft' resource limit\n"
+" -H\tuse the `hard' resource limit\n"
+" -a\tall current limits are reported\n"
+" -b\tthe socket buffer size\n"
+" -c\tthe maximum size of core files created\n"
+" -d\tthe maximum size of a process's data segment\n"
+" -e\tthe maximum scheduling priority (`nice')\n"
+" -f\tthe maximum size of files written by the shell and its children\n"
+" -i\tthe maximum number of pending signals\n"
+" -l\tthe maximum size a process may lock into memory\n"
+" -m\tthe maximum resident set size\n"
+" -n\tthe maximum number of open file descriptors\n"
+" -p\tthe pipe buffer size\n"
+" -q\tthe maximum number of bytes in POSIX message queues\n"
+" -r\tthe maximum real-time scheduling priority\n"
+" -s\tthe maximum stack size\n"
+" -t\tthe maximum amount of cpu time in seconds\n"
+" -u\tthe maximum number of user processes\n"
+" -v\tthe size of virtual memory\n"
+" -x\tthe maximum number of file locks\n"
+" \n"
+" If LIMIT is given, it is the new value of the specified resource; the\n"
+" special LIMIT values `soft', `hard', and `unlimited' stand for the\n"
+" current soft limit, the current hard limit, and no limit, respectively.\n"
+" Otherwise, the current value of the specified resource is printed. If\n"
+" no option is given, then -f is assumed.\n"
+" \n"
+" Values are in 1024-byte increments, except for -t, which is in seconds,\n"
+" -p, which is in increments of 512 bytes, and -u, which is an unscaled\n"
+" number of processes.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"修改 shell 资æºé™åˆ¶ã€‚\n"
+" \n"
+" 在å…许此类控制的系统上,æ供对于 shell åŠå…¶åˆ›å»ºçš„进程所å¯ç”¨çš„\n"
+" 资æºçš„控制。\n"
+" \n"
+" 选项:\n"
+" -S\t使用 `soft'(软)资æºé™åˆ¶\n"
+" -H\t使用 `hard'(硬)资æºé™åˆ¶\n"
+" -a\t所有当å‰é™åˆ¶éƒ½è¢«æŠ¥å‘Š\n"
+" -b\t套接字缓存尺寸\n"
+" -c\t创建的核文件的最大尺寸\n"
+" -d\t一个进程的数æ®åŒºçš„最大尺寸\n"
+" -e\t最高的调度优先级(`nice')\n"
+" -f\t有 shell åŠå…¶å­è¿›ç¨‹å¯ä»¥å†™çš„最大文件尺寸\n"
+" -i\t最多的å¯ä»¥æŒ‚èµ·çš„ä¿¡å·æ•°\n"
+" -l\t一个进程å¯ä»¥é”定的最大内存尺寸\n"
+" -m\t最大的内存进驻尺寸\n"
+" -n\t最多的打开的文件æ述符个数\n"
+" -p\t管é“缓冲区尺寸\n"
+" -q\tPOSIX ä¿¡æ¯é˜Ÿåˆ—的最大字节数\n"
+" -r\t实时调度的最大优先级\n"
+" -s\t最大栈尺寸\n"
+" -t\t最大的CPU时间,以秒为å•ä½\n"
+" -u\t最大用户进程数\n"
+" -v\t虚拟内存尺寸\n"
+" -x\t最大的é”æ•°é‡\n"
+" \n"
+" 如果æ供了 LIMIT å˜é‡ï¼Œåˆ™å®ƒä¸ºæŒ‡å®šèµ„æºçš„新的值;特别的 LIMIT 值为\n"
+" `soft'ã€`hard'å’Œ`unlimited',分别表示当å‰çš„软é™åˆ¶ï¼Œç¡¬é™åˆ¶å’Œæ— é™åˆ¶ã€‚\n"
+" å¦åˆ™æ‰“å°æŒ‡å®šèµ„æºçš„当å‰é™åˆ¶å€¼ï¼Œä¸å¸¦é€‰é¡¹åˆ™å‡å®šä¸º -f\n"
+" \n"
+" å–值都是1024字节为å•ä½ï¼Œé™¤äº† -t 以秒为å•ä½ï¼Œ-p 以512字节为å•ä½ï¼Œ\n"
+" -u 以无范围的进程数é‡ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者错误å‘生。"
+
+#: builtins.c:1444
+msgid ""
+"Display or set file mode mask.\n"
+" \n"
+" Sets the user file-creation mask to MODE. If MODE is omitted, prints\n"
+" the current value of the mask.\n"
+" \n"
+" If MODE begins with a digit, it is interpreted as an octal number;\n"
+" otherwise it is a symbolic mode string like that accepted by chmod(1).\n"
+" \n"
+" Options:\n"
+" -p\tif MODE is omitted, output in a form that may be reused as input\n"
+" -S\tmakes the output symbolic; otherwise an octal number is output\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless MODE is invalid or an invalid option is given."
+msgstr ""
+"显示或设定文件模å¼æŽ©ç ã€‚\n"
+" \n"
+" 设定用户文件创建掩ç ä¸º MODE 模å¼ã€‚如果çœç•¥äº† MODE,则\n"
+" 打å°å½“å‰æŽ©ç çš„值。\n"
+" \n"
+" 如果MODE 模å¼ä»¥æ•°å­—开头,则被当作八进制数解æžï¼›å¦åˆ™æ˜¯ä¸€ä¸ª\n"
+" chmod(1) å¯æŽ¥æ”¶çš„符å·æ¨¡å¼ä¸²ã€‚\n"
+" \n"
+" 选项:\n"
+" -p\t如果çœç•¥ MDOE 模å¼ï¼Œä»¥å¯é‡ç”¨ä¸ºè¾“入的格å¼è¾“å…¥\n"
+" -S\t以符å·å½¢å¼è¾“出,å¦åˆ™ä»¥å…«è¿›åˆ¶æ•°æ ¼å¼è¾“出\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„ MODE 模å¼æˆ–者选项。"
+
+#: builtins.c:1464
+msgid ""
+"Wait for job completion and return exit status.\n"
+" \n"
+" Waits for the process identified by ID, which may be a process ID or a\n"
+" job specification, and reports its termination status. If ID is not\n"
+" given, waits for all currently active child processes, and the return\n"
+" status is zero. If ID is a a job specification, waits for all "
+"processes\n"
+" in the job's pipeline.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of ID; fails if ID is invalid or an invalid option "
+"is\n"
+" given."
+msgstr ""
+"等待任务完æˆå¹¶è¿”回退出状æ€ã€‚\n"
+" \n"
+" 等待以 ID ç¼–å·è¯†åˆ«çš„进程,其中ID å¯ä»¥æ˜¯è¿›ç¨‹ç¼–å·æˆ–者任务声明,\n"
+" 并报告它的终止状æ€ã€‚如果 ID 没有给出,则等待所有的当å‰æ´»è·ƒå­\n"
+" 进程,并且返回状æ€ä¸ºé›¶ã€‚如果 ID 是任务声明,等待任务管é“中的\n"
+" 所有进程。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回 ID 进程的状æ€ï¼›å¦‚果使用了无效的 ID 或者选项则失败。"
+
+#: builtins.c:1482
+msgid ""
+"Wait for process completion and return exit status.\n"
+" \n"
+" Waits for the specified process and reports its termination status. If\n"
+" PID is not given, all currently active child processes are waited for,\n"
+" and the return code is zero. PID must be a process ID.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of ID; fails if ID is invalid or an invalid option "
+"is\n"
+" given."
+msgstr ""
+"等待进程完æˆå¹¶ä¸”返回退出状æ€ã€‚\n"
+" \n"
+" 等待指定进程并报告它的终止状æ€ã€‚如果\n"
+" 没有æä¾›PID,则当å‰æ‰€æœ‰çš„活跃å­è¿›ç¨‹éƒ½ä¼šè¢«ç­‰å¾…,\n"
+" 并且返回ç ä¸ºé›¶ã€‚PID必须为进程å·ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回进程ID的状æ€ï¼›å¦‚æžœID是无效的进程å·æˆ–者指定了无效\n"
+" 的选项则失败。"
+
+#: builtins.c:1497
+msgid ""
+"Execute commands for each member in a list.\n"
+" \n"
+" The `for' loop executes a sequence of commands for each member in a\n"
+" list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is\n"
+" assumed. For each element in WORDS, NAME is set to that element, and\n"
+" the COMMANDS are executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"为列表中的æ¯ä¸ªæˆå‘˜æ‰§è¡Œå‘½ä»¤ã€‚\n"
+" \n"
+" `for' 循环为列表中的æ¯ä¸ªæˆå‘˜æ‰§è¡Œä¸€ç³»åˆ—的命令。如果没有\n"
+" `in WORDS ...;'则å‡å®šä½¿ç”¨ `in \"$@\"'。对于 WORDS 中的æ¯\n"
+" 个元素,NAME 被设定为该元素,并且执行 COMMANDS 命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1511
+msgid ""
+"Arithmetic for loop.\n"
+" \n"
+" Equivalent to\n"
+" \t(( EXP1 ))\n"
+" \twhile (( EXP2 )); do\n"
+" \t\tCOMMANDS\n"
+" \t\t(( EXP3 ))\n"
+" \tdone\n"
+" EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is\n"
+" omitted, it behaves as if it evaluates to 1.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"算术 for 循环。\n"
+" \n"
+" 等价于\n"
+" \t(( EXP1 ))\n"
+" \twhile (( EXP2 )); do\n"
+" \t\tCOMMANDS\n"
+" \t\t(( EXP3 ))\n"
+" \tdone\n"
+" EXP1ã€EXP2 å’Œ EXP3都是算术表达å¼ã€‚如果çœç•¥ä»»ä½•è¡¨è¾¾å¼ï¼Œ\n"
+" 则等åŒäºŽä½¿ç”¨äº†ä¼°å€¼ä¸º1的表达å¼ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1529
+msgid ""
+"Select words from a list and execute commands.\n"
+" \n"
+" The WORDS are expanded, generating a list of words. The\n"
+" set of expanded words is printed on the standard error, each\n"
+" preceded by a number. If `in WORDS' is not present, `in \"$@\"'\n"
+" is assumed. The PS3 prompt is then displayed and a line read\n"
+" from the standard input. If the line consists of the number\n"
+" corresponding to one of the displayed words, then NAME is set\n"
+" to that word. If the line is empty, WORDS and the prompt are\n"
+" redisplayed. If EOF is read, the command completes. Any other\n"
+" value read causes NAME to be set to null. The line read is saved\n"
+" in the variable REPLY. COMMANDS are executed after each selection\n"
+" until a break command is executed.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"从列表中选å–è¯å¹¶ä¸”执行命令。\n"
+" \n"
+" WORDS å˜é‡è¢«å±•å¼€ï¼Œç”Ÿæˆä¸€ä¸ªè¯çš„列表。展开的è¯é›†åˆè¢«æ‰“å°\n"
+" 在标准错误输出设备上,æ¯ä¸ªä»¥ä¸€ä¸ªæ•°å­—åšå‰ç¼€ã€‚如果没有 `in WORDS'\n"
+" 则å‡å®šä½¿ç”¨`in \"$@\"'。PS3æ示符会被显示并且从标准输入读入一行\n"
+" 如果该行由被显示的è¯å¯¹åº”的数字组æˆï¼Œåˆ™ NAME å˜é‡è¢«è®¾å®šä¸ºç›¸åº”\n"
+" çš„è¯ã€‚如果行为空,则 WORDS å˜é‡å’Œæ示符被é‡æ–°æ˜¾ç¤ºã€‚如果读å–了\n"
+" 文件结æŸç¬¦ï¼Œåˆ™å‘½ä»¤å®Œæˆã€‚读入任何其他的值会导致 NAME å˜é‡è¢«è®¾å®š\n"
+" 为空。读入的行被存放在å˜é‡ REPLY 中。COMMANDS 命令在æ¯æ¬¡é€‰æ‹©\n"
+" 之åŽæ‰§è¡Œç›´åˆ°æ‰§è¡Œä¸€ä¸ª break 命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1550
+msgid ""
+"Report time consumed by pipeline's execution.\n"
+" \n"
+" Execute PIPELINE and print a summary of the real time, user CPU time,\n"
+" and system CPU time spent executing PIPELINE when it terminates.\n"
+" \n"
+" Options:\n"
+" -p\tprint the timing summary in the portable Posix format\n"
+" \n"
+" The value of the TIMEFORMAT variable is used as the output format.\n"
+" \n"
+" Exit Status:\n"
+" The return status is the return status of PIPELINE."
+msgstr ""
+"报告管é“执行的消耗时间。\n"
+" \n"
+" 执行 PIPELINE å¹¶ä¸”æ‰“å° PIPELINE 终结时实际时间ã€ç”¨æˆ· CPU 时间和系统\n"
+" CPU 时间的总结。\n"
+" \n"
+" 选项:\n"
+" -p\t用å¯è¿ç§»çš„ POSIX æ ¼å¼æ‰“å°ç”¨æ—¶æ€»ç»“。\n"
+" \n"
+" TIMEFORMAT å˜é‡çš„值被作为输出格å¼ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回状æ€å³PIPELINE 的返回状æ€ã€‚"
+
+#: builtins.c:1567
+msgid ""
+"Execute commands based on pattern matching.\n"
+" \n"
+" Selectively execute COMMANDS based upon WORD matching PATTERN. The\n"
+" `|' is used to separate multiple patterns.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"基于模å¼åŒ¹é…æ¥æ‰§è¡Œå‘½ä»¤ã€‚\n"
+" \n"
+" 基于 PATTERN 模å¼åŒ¹é…çš„è¯ WORD,有选择的执行 COMMANDS 命令。\n"
+" `|' 用于分隔多个模å¼ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1579
+msgid ""
+"Execute commands based on conditional.\n"
+" \n"
+" The `if COMMANDS' list is executed. If its exit status is zero, then "
+"the\n"
+" `then COMMANDS' list is executed. Otherwise, each `elif COMMANDS' list "
+"is\n"
+" executed in turn, and if its exit status is zero, the corresponding\n"
+" `then COMMANDS' list is executed and the if command completes. "
+"Otherwise,\n"
+" the `else COMMANDS' list is executed, if present. The exit status of "
+"the\n"
+" entire construct is the exit status of the last command executed, or "
+"zero\n"
+" if no condition tested true.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"æ ¹æ®æ¡ä»¶æ‰§è¡Œå‘½ä»¤ã€‚\n"
+" \n"
+" `if COMMANDS'列表被执行。如果退出状æ€ä¸ºé›¶ï¼Œåˆ™æ‰§è¡Œ`then COMMANDS' \n"
+" 列表。å¦åˆ™æŒ‰é¡ºåºæ‰§è¡Œæ¯ä¸ª `elif COMMANDS'列表,并且如果它的退出状æ€ä¸º\n"
+" 零,则执行对应的 `then COMMANDS' 列表并且 if 命令终止。å¦åˆ™å¦‚果存在的\n"
+" 情况下,执行 `else COMMANDS'列表。整个结构的退出状æ€æ˜¯æœ€åŽä¸€ä¸ªæ‰§è¡Œ\n"
+" 的命令的状æ€ï¼Œæˆ–者如果没有æ¡ä»¶æµ‹è¯•ä¸ºçœŸçš„è¯ï¼Œä¸ºé›¶ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1596
+msgid ""
+"Execute commands as long as a test succeeds.\n"
+" \n"
+" Expand and execute COMMANDS as long as the final command in the\n"
+" `while' COMMANDS has an exit status of zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"åªè¦æµ‹è¯•æˆåŠŸå³æ‰§è¡Œå‘½ä»¤ã€‚\n"
+" \n"
+" åªè¦åœ¨ `while' COMMANDS 中的最终命令返回结果为0,则\n"
+" 展开并执行 COMMANDS 命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1608
+msgid ""
+"Execute commands as long as a test does not succeed.\n"
+" \n"
+" Expand and execute COMMANDS as long as the final command in the\n"
+" `until' COMMANDS has an exit status which is not zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"当测试ä¸åŒè¿‡æ—¶æ‰§è¡Œå‘½ä»¤ã€‚\n"
+" \n"
+" `until' COMMANDS 命令的最终命令返回状æ€ä¸ä¸º 0 时,\n"
+" 展开并执行 COMMANDS 命令。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1620
+msgid ""
+"Create a coprocess named NAME.\n"
+" \n"
+" Execute COMMAND asynchronously, with the standard output and standard\n"
+" input of the command connected via a pipe to file descriptors assigned\n"
+" to indices 0 and 1 of an array variable NAME in the executing shell.\n"
+" The default NAME is \"COPROC\".\n"
+" \n"
+" Exit Status:\n"
+" Returns the exit status of COMMAND."
+msgstr ""
+"创建一个以 NAME 为å的副进程。\n"
+" \n"
+" 异步执行 COMMANDS 命令,在执行 shell 中的数组å˜é‡ NAME\n"
+" çš„ 0 å·å’Œ 1 å·å…ƒç´ ä½œä¸ºæ–‡ä»¶æ述符,以一个管é“连接命令\n"
+" 分别作为命令的标准输出和输入设备。\n"
+" 默认的 NAME 是 \"COPROC\"。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回 COMMAND 命令的退出状æ€ã€‚"
+
+#: builtins.c:1634
+msgid ""
+"Define shell function.\n"
+" \n"
+" Create a shell function named NAME. When invoked as a simple command,\n"
+" NAME runs COMMANDs in the calling shell's context. When NAME is "
+"invoked,\n"
+" the arguments are passed to the function as $1...$n, and the function's\n"
+" name is in $FUNCNAME.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless NAME is readonly."
+msgstr ""
+"定义 shell 函数。\n"
+" \n"
+" 创建一个以 NAME 为åçš„ shell 函数。当作为一个简å•çš„命令å¯ç”¨æ—¶ï¼Œ\n"
+" NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令。当 NAME\n"
+" 被å¯ç”¨æ—¶ï¼Œå‚数作为 $1...$n 被传递给函数,函数的å字储存在å˜é‡\n"
+" $FUNCNAME 中。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸé™¤éž NAME 为åªè¯»ã€‚"
+
+#: builtins.c:1648
+msgid ""
+"Group commands as a unit.\n"
+" \n"
+" Run a set of commands in a group. This is one way to redirect an\n"
+" entire set of commands.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the last command executed."
+msgstr ""
+"将命令组åˆä¸ºä¸€ä¸ªå•å…ƒã€‚\n"
+" \n"
+" è¿è¡Œç»„中的命令集åˆã€‚这是对整个命令集åˆ\n"
+" åšé‡å®šå‘的方法之一。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回最åŽä¸€ä¸ªæ‰§è¡Œçš„命令的状æ€ã€‚"
+
+#: builtins.c:1660
+msgid ""
+"Resume job in foreground.\n"
+" \n"
+" Equivalent to the JOB_SPEC argument to the `fg' command. Resume a\n"
+" stopped or background job. JOB_SPEC can specify either a job name\n"
+" or a job number. Following JOB_SPEC with a `&' places the job in\n"
+" the background, as if the job specification had been supplied as an\n"
+" argument to `bg'.\n"
+" \n"
+" Exit Status:\n"
+" Returns the status of the resumed job."
+msgstr ""
+"在å‰å°ç»§ç»­ä»»åŠ¡\n"
+" \n"
+" 对于 JOB_SPEC å‚æ•°æ¥è¯´å’Œ `fg' 命令等åŒã€‚继续一个\n"
+" åœæ­¢çš„或者åŽå°ä»»åŠ¡ã€‚JOB_SPEC å¯ä»¥æŒ‡å®šä¸€ä¸ªä»»åŠ¡\n"
+" å字或任务å·ã€‚在 JOB_SPEC åŽåŠ ä¸Šä¸€ä¸ª `&' 将会把\n"
+" 任务放至åŽå°ï¼Œå°±åƒä»»åŠ¡å£°æ˜Žè¢«ä½œä¸º `bg' 命令的å‚æ•°\n"
+" 执行一样。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回被继续的任务的状æ€ã€‚"
+
+#: builtins.c:1675
+msgid ""
+"Evaluate arithmetic expression.\n"
+" \n"
+" The EXPRESSION is evaluated according to the rules for arithmetic\n"
+" evaluation. Equivalent to \"let EXPRESSION\".\n"
+" \n"
+" Exit Status:\n"
+" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
+msgstr ""
+"估值算术表达å¼ã€‚\n"
+" \n"
+" 表达å¼æŒ‰ç…§ç®—术法则进行估值。\n"
+" 等价于 \"let 表达å¼\".\n"
+" \n"
+" 退出状æ€\n"
+" 如果表达å¼ä¼°å€¼ä¸º0则返回 1ï¼›å¦åˆ™è¿”回0。"
+
+#: builtins.c:1687
+msgid ""
+"Execute conditional command.\n"
+" \n"
+" Returns a status of 0 or 1 depending on the evaluation of the "
+"conditional\n"
+" expression EXPRESSION. Expressions are composed of the same primaries "
+"used\n"
+" by the `test' builtin, and may be combined using the following "
+"operators:\n"
+" \n"
+" ( EXPRESSION )\tReturns the value of EXPRESSION\n"
+" ! EXPRESSION\t\tTrue if EXPRESSION is false; else false\n"
+" EXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false\n"
+" EXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false\n"
+" \n"
+" When the `==' and `!=' operators are used, the string to the right of\n"
+" the operator is used as a pattern and pattern matching is performed.\n"
+" When the `=~' operator is used, the string to the right of the operator\n"
+" is matched as a regular expression.\n"
+" \n"
+" The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to\n"
+" determine the expression's value.\n"
+" \n"
+" Exit Status:\n"
+" 0 or 1 depending on value of EXPRESSION."
+msgstr ""
+"执行æ¡ä»¶å‘½ä»¤ã€‚\n"
+" \n"
+" æ ¹æ®æ¡ä»¶è¡¨è¾¾å¼ EXPRESSION 的估值返回状æ€0或1。表达å¼æŒ‰ç…§\n"
+" `test' 内嵌的相åŒæ¡ä»¶ç»„æˆï¼Œæˆ–者å¯ä»¥æœ‰ä¸‹åˆ—æ“作符连接而æˆï¼š\n"
+" \n"
+" ( EXPRESSION )\t返回 EXPRESSION 表达å¼çš„值\n"
+" ! EXPRESSION\t\t如果 EXPRESSION表达å¼ä¸ºå‡åˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡\n"
+" EXPR1 && EXPR2\t如果 EXPR1 å’Œ EXPR2 表达å¼å‡ä¸ºçœŸåˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡\n"
+" EXPR1 || EXPR2\t如果 EXPR1 å’Œ EXPR2 表达å¼ä¸­æœ‰ä¸€ä¸ªä¸ºçœŸåˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸º"
+"å‡\n"
+" \n"
+" 当使用 `==' å’Œ `!=' æ“作符时,æ“作符å³è¾¹çš„字符串被用作模å¼å¹¶ä¸”执行一个\n"
+" 匹é…。当使用 `=~' æ“作符时,æ“作符å³è¾¹çš„字符串被当作正则表达å¼æ¥è¿›è¡Œ\n"
+" 匹é…。\n"
+" \n"
+" æ“作符 && å’Œ || å°†ä¸å¯¹ EXPR2 表达å¼è¿›è¡Œä¼°å€¼ï¼Œå¦‚æžœ EXPR1 表达å¼è¶³å¤Ÿç¡®å®š\n"
+" 整个表达å¼çš„值。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" æ ¹æ® EXPRESSION 的值为0或1。"
+
+#: builtins.c:1713
+msgid ""
+"Common shell variable names and usage.\n"
+" \n"
+" BASH_VERSION\tVersion information for this Bash.\n"
+" CDPATH\tA colon-separated list of directories to search\n"
+" \t\tfor directories given as arguments to `cd'.\n"
+" GLOBIGNORE\tA colon-separated list of patterns describing filenames to\n"
+" \t\tbe ignored by pathname expansion.\n"
+" HISTFILE\tThe name of the file where your command history is stored.\n"
+" HISTFILESIZE\tThe maximum number of lines this file can contain.\n"
+" HISTSIZE\tThe maximum number of history lines that a running\n"
+" \t\tshell can access.\n"
+" HOME\tThe complete pathname to your login directory.\n"
+" HOSTNAME\tThe name of the current host.\n"
+" HOSTTYPE\tThe type of CPU this version of Bash is running under.\n"
+" IGNOREEOF\tControls the action of the shell on receipt of an EOF\n"
+" \t\tcharacter as the sole input. If set, then the value\n"
+" \t\tof it is the number of EOF characters that can be seen\n"
+" \t\tin a row on an empty line before the shell will exit\n"
+" \t\t(default 10). When unset, EOF signifies the end of input.\n"
+" MACHTYPE\tA string describing the current system Bash is running on.\n"
+" MAILCHECK\tHow often, in seconds, Bash checks for new mail.\n"
+" MAILPATH\tA colon-separated list of filenames which Bash checks\n"
+" \t\tfor new mail.\n"
+" OSTYPE\tThe version of Unix this version of Bash is running on.\n"
+" PATH\tA colon-separated list of directories to search when\n"
+" \t\tlooking for commands.\n"
+" PROMPT_COMMAND\tA command to be executed before the printing of each\n"
+" \t\tprimary prompt.\n"
+" PS1\t\tThe primary prompt string.\n"
+" PS2\t\tThe secondary prompt string.\n"
+" PWD\t\tThe full pathname of the current directory.\n"
+" SHELLOPTS\tA colon-separated list of enabled shell options.\n"
+" TERM\tThe name of the current terminal type.\n"
+" TIMEFORMAT\tThe output format for timing statistics displayed by the\n"
+" \t\t`time' reserved word.\n"
+" auto_resume\tNon-null means a command word appearing on a line by\n"
+" \t\titself is first looked for in the list of currently\n"
+" \t\tstopped jobs. If found there, that job is foregrounded.\n"
+" \t\tA value of `exact' means that the command word must\n"
+" \t\texactly match a command in the list of stopped jobs. A\n"
+" \t\tvalue of `substring' means that the command word must\n"
+" \t\tmatch a substring of the job. Any other value means that\n"
+" \t\tthe command must be a prefix of a stopped job.\n"
+" histchars\tCharacters controlling history expansion and quick\n"
+" \t\tsubstitution. The first character is the history\n"
+" \t\tsubstitution character, usually `!'. The second is\n"
+" \t\tthe `quick substitution' character, usually `^'. The\n"
+" \t\tthird is the `history comment' character, usually `#'.\n"
+" HISTIGNORE\tA colon-separated list of patterns used to decide which\n"
+" \t\tcommands should be saved on the history list.\n"
+msgstr ""
+"常用 shell å˜é‡å称和使用。\n"
+" \n"
+" BASH_VERSION\tå½“å‰ Bash 的版本信æ¯ã€‚\n"
+" CDPATH\t用于 `cd' 命令å‚æ•°æœç´¢çš„分å·åˆ†éš”的目录列表\n"
+" GLOBIGNORE\t路径扩展时忽略的文件å匹é…模å¼åˆ—表,\n"
+" \t\t以分å·åˆ†éš”。\n"
+" HISTFILE\t您的命令历å²å­˜æ”¾çš„文件å称。\n"
+" HISTFILESIZE\t历å²æ–‡ä»¶æœ€å¤šå¯ä»¥ä¿å­˜çš„行数。\n"
+" HISTSIZE\t一个è¿è¡Œçš„ shell 最多å¯ä»¥è®¿é—®çš„历å²å‘½ä»¤è¡Œæ•°ã€‚\n"
+" HOME\t您的登录目录的完整路径。\n"
+" HOSTNAME\t当å‰ä¸»æœºçš„主机å。\n"
+" HOSTTYPE\t当å‰ç‰ˆæœ¬çš„ BASH 在其之上è¿è¡Œçš„ CPU 类型。\n"
+" IGNOREEOF\t控制 shell 收到文件结æŸç¬¦ä½œä¸ºå•ä¸€è¾“å…¥åŽçš„\n"
+" \t\t动作。如果设定这个å˜é‡ï¼Œåˆ™å®ƒçš„值是 shell 退出之å‰åœ¨\n"
+" \t\t一个空行上å¯ä»¥è¿žç»­çœ‹åˆ°çš„文件结æŸç¬¦æ•°é‡ï¼ˆé»˜è®¤ä¸º10)。\n"
+" \t\t未设定时,文件结æŸç¬¦æ ‡å¿—ç€è¾“入的结æŸã€‚\n"
+" MACHTYPE\tæ述当å‰è¿è¡Œ Bash 的系统的字符串。\n"
+" MAILCHECK\tBash 检测新邮件的频率,以秒为å•ä½ã€‚\n"
+" MAILPATH\tBash 从中检测新邮件的文件列表,以分å·åˆ†éš”。\n"
+" OSTYPE\tè¿è¡Œ Bash çš„ Unix 版本。\n"
+" PATH\t当寻找命令时æœç´¢çš„目录列表,以冒å·åˆ†éš”。\n"
+" PROMPT_COMMAND\t打å°æ¯ä¸€ä¸ªä¸»æ示符之å‰æ‰§è¡Œçš„命\n"
+" \t\t令。\n"
+" PS1\t\t主æ示符字符串。\n"
+" PS2\t\t从æ示符字符串。\n"
+" PWD\t\t当å‰ç›®å½•çš„完整路径。\n"
+" SHELLOPTS\tå·²å¯ç”¨çš„ shell 选项列表,以冒å·åˆ†éš”。\n"
+" TERM\t当å‰ç»ˆç«¯ç±»åž‹çš„å称。\n"
+" TIMEFORMAT\t以关键则 `time' 显示的时间统计信æ¯çš„输出\n"
+" \t\tæ ¼å¼ã€‚\n"
+" auto_resume\téžç©ºæ—¶ï¼Œä¸€ä¸ªå•ç‹¬çš„命令è¯ä¼šé¦–先被在当å‰\n"
+" \t\tåœæ­¢çš„任务列表中æœç´¢ã€‚如果找到则该任务被置于å‰å°ã€‚\n"
+" \t\t如果值为 `exact' 则æ„味ç€å‘½ä»¤è¯å¿…须精确匹é…åœæ­¢ä»»åŠ¡\n"
+" \t\t列表中的命令。如果值为 `substring' 则æ„味ç€å‘½ä»¤è¯å¿…\n"
+" \t\t须匹é…任务的一个å­å­—符串。任何其他的值æ„味ç€å‘½ä»¤è¯\n"
+" \t\t必须是åœæ­¢ä»»åŠ¡çš„一个å‰ç¼€ã€‚\n"
+" histchars\t控制历å²å±•å¼€å’Œå¿«é€Ÿæ›¿æ¢çš„字符。第一个字符是\n"
+" \t\t历å²æ›¿æ¢å­—符,通常是 `!'。第二个字符是快速替æ¢å­—符,\n"
+" \t\t通常是 `^'。第三个是历å²æ³¨é‡Šå­—符,通常是 `#'。\n"
+" HISTIGNORE\t用于决定哪些命令被存入历å²æ–‡ä»¶çš„模å¼\n"
+" \t\t列表,以冒å·åˆ†éš”。\n"
+
+#: builtins.c:1770
+msgid ""
+"Add directories to stack.\n"
+" \n"
+" Adds a directory to the top of the directory stack, or rotates\n"
+" the stack, making the new top of the stack the current working\n"
+" directory. With no arguments, exchanges the top two directories.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when adding\n"
+" \tdirectories to the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the left of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" -N\tRotates the stack so that the Nth directory (counting\n"
+" \tfrom the right of the list shown by `dirs', starting with\n"
+" \tzero) is at the top.\n"
+" \n"
+" dir\tAdds DIR to the directory stack at the top, making it the\n"
+" \tnew current working directory.\n"
+" \n"
+" The `dirs' builtin displays the directory stack.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid argument is supplied or the directory\n"
+" change fails."
+msgstr ""
+"将目录添加到栈中。\n"
+" \n"
+" 将目录添加到目录栈顶,或ç€æ—‹è½¬æ ˆç›´åˆ°å½“å‰å·¥ä½œç›®å½•æˆä¸º\n"
+" 新的栈顶。ä¸å¸¦å‚数时,交æ¢æ ˆé¡¶çš„两个目录。\n"
+" \n"
+" 选项:\n"
+" -n\t抑制添加目录至栈时通常的改å˜ç›®å½•æ“作,从而仅对栈\n"
+" \t进行æ“作。\n"
+" \n"
+" å‚数:\n"
+" +N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中左起,从零开始)\n"
+" \t将移动到栈顶。\n"
+" \n"
+" -N\t旋转栈从而第 N 个目录(`dirs' 显示的列表中å³èµ·ï¼Œä»Žé›¶å¼€å§‹ï¼‰\n"
+" \t将移动到栈顶。\n"
+" \n"
+" dir\tå°† DIR 目录添加到栈顶,并且使其æˆä¸ºå½“å‰å·¥ä½œç›®å½•ã€‚\n"
+" \n"
+" `dirs' 内嵌显示目录栈。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„å‚数或者目录转æ¢å¤±è´¥ã€‚"
+
+#: builtins.c:1804
+msgid ""
+"Remove directories from stack.\n"
+" \n"
+" Removes entries from the directory stack. With no arguments, removes\n"
+" the top directory from the stack, and changes to the new top directory.\n"
+" \n"
+" Options:\n"
+" -n\tSuppresses the normal change of directory when removing\n"
+" \tdirectories from the stack, so only the stack is manipulated.\n"
+" \n"
+" Arguments:\n"
+" +N\tRemoves the Nth entry counting from the left of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd +0'\n"
+" \tremoves the first directory, `popd +1' the second.\n"
+" \n"
+" -N\tRemoves the Nth entry counting from the right of the list\n"
+" \tshown by `dirs', starting with zero. For example: `popd -0'\n"
+" \tremoves the last directory, `popd -1' the next to last.\n"
+" \n"
+" The `dirs' builtin displays the directory stack.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid argument is supplied or the directory\n"
+" change fails."
+msgstr ""
+"从栈中删除目录。\n"
+" \n"
+" 从目录栈中删除æ¡ç›®ã€‚ä¸å¸¦å‚数时,删除栈顶目录,并改å˜è‡³æ–°çš„æ ˆ\n"
+" 顶目录。\n"
+" \n"
+" 选项:\n"
+" -n\t抑制从栈中删除目录时通常的目录å˜æ¢æ“作,从而仅对栈\n"
+" \t进行æ“作。\n"
+" \n"
+" å‚数:\n"
+" +N\t删除第 N 个目录(`dirs' 显示的目录列表中左起,从零开始)。\n"
+" \t例如: `popd +0' 删除第一个目录,popd +1' 删除第二个。\n"
+" \n"
+" -N\t删除第 N 个目录(`dirs' 显示的目录列表中å³èµ·ï¼Œä»Žé›¶å¼€å§‹ï¼‰ã€‚\n"
+" \t例如: `popd -0'删除最åŽä¸€ä¸ªç›®å½•ï¼Œï¼Œ`popd -1' 删除倒数第二个。\n"
+" \n"
+" `dirs' 内嵌显示目录栈。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„å‚数或者目录å˜æ¢å¤±è´¥ã€‚"
+
+#: builtins.c:1834
+msgid ""
+"Display directory stack.\n"
+" \n"
+" Display the list of currently remembered directories. Directories\n"
+" find their way onto the list with the `pushd' command; you can get\n"
+" back up through the list with the `popd' command.\n"
+" \n"
+" Options:\n"
+" -c\tclear the directory stack by deleting all of the elements\n"
+" -l\tdo not print tilde-prefixed versions of directories relative\n"
+" \tto your home directory\n"
+" -p\tprint the directory stack with one entry per line\n"
+" -v\tprint the directory stack with one entry per line prefixed\n"
+" \twith its position in the stack\n"
+" \n"
+" Arguments:\n"
+" +N\tDisplays the Nth entry counting from the left of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" -N\tDisplays the Nth entry counting from the right of the list shown "
+"by\n"
+" \tdirs when invoked without options, starting with zero.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"显示目录栈。\n"
+" \n"
+" 显示当å‰è®°ä½çš„目录列表。通过 `pushd' 命令å¯ä»¥å°†ç›®å½•å­˜å…¥åˆ—表\n"
+" 中;`popd' 命令å¯ç”¨äºŽé历列表。\n"
+" \n"
+" 选项:\n"
+" -c\t删除所有元素以清空目录栈\n"
+" -l\tä¸æ‰“å°ä¸Žä¸»ç›®å½•ç›¸å…³çš„波浪å·å‰ç¼€çš„目录\n"
+" -p\tæ¯è¡Œä¸€ä¸ªæ¡ç›®æ‰“å°ç›®å½•æ ˆ\n"
+" -v\tæ¯è¡Œä¸€ä¸ªæ¡ç›®ï¼Œä»¥æ ˆä¸­ä½ç½®ä¸ºå‰ç¼€æ‰“å°ç›®å½•æ ˆ\n"
+" \n"
+" å‚数:\n"
+" +N\t显示 dirs ä¸å¸¦é€‰é¡¹å¯åŠ¨æ—¶æ˜¾ç¤ºçš„目录列表左起中第\n"
+" \tN 个目录,从零开始。\n"
+" \n"
+" -N\t显示 dirs ä¸å¸¦é€‰é¡¹å¯åŠ¨æ—¶æ˜¾ç¤ºçš„目录列表å³èµ·ä¸­ç¬¬\n"
+" \tN 个目录,从零开始。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者å‘生错误。"
+
+#: builtins.c:1863
+msgid ""
+"Set and unset shell options.\n"
+" \n"
+" Change the setting of each shell option OPTNAME. Without any option\n"
+" arguments, list all shell options with an indication of whether or not "
+"each\n"
+" is set.\n"
+" \n"
+" Options:\n"
+" -o\trestrict OPTNAMEs to those defined for use with `set -o'\n"
+" -p\tprint each shell option with an indication of its status\n"
+" -q\tsuppress output\n"
+" -s\tenable (set) each OPTNAME\n"
+" -u\tdisable (unset) each OPTNAME\n"
+" \n"
+" Exit Status:\n"
+" Returns success if OPTNAME is enabled; fails if an invalid option is\n"
+" given or OPTNAME is disabled."
+msgstr ""
+"设定和å设定 shell 选项。\n"
+" \n"
+" 改å˜æ¯ä¸ª shell 选项 OPTNAME的设定。ä¸å¸¦å‚æ•°\n"
+" 时,列出所有 shell 选项并标注æ¯ä¸€ä¸ªé€‰é¡¹æ˜¯å¦è¢«\n"
+" 设定。\n"
+" \n"
+" 选项:\n"
+" -o\té™åˆ¶ OPTNAME 为定义用于`set -o' 的选项\n"
+" -p\t打å°æ¯ä¸ª shell 选项并标注它的状æ€ã€‚\n"
+" -q\t抑制输出\n"
+" -s\tå¯ç”¨ï¼ˆè®¾å®šï¼‰æ¯ä¸ª OPTNAME 选项\n"
+" -u\tç¦ç”¨ï¼ˆå设定)æ¯ä¸ª OPTNAME 选项\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 如果 OPTNAME 选项被å¯ç”¨åˆ™è¿”回æˆåŠŸï¼›å¦‚果是\n"
+" 无效的选项或OPTNAME 被ç¦ç”¨åˆ™å¤±è´¥ã€‚"
+
+#: builtins.c:1884
+#, fuzzy
+msgid ""
+"Formats and prints ARGUMENTS under control of the FORMAT.\n"
+" \n"
+" Options:\n"
+" -v var\tassign the output to shell variable VAR rather than\n"
+" \t\tdisplay it on the standard output\n"
+" \n"
+" FORMAT is a character string which contains three types of objects: "
+"plain\n"
+" characters, which are simply copied to standard output; character "
+"escape\n"
+" sequences, which are converted and copied to the standard output; and\n"
+" format specifications, each of which causes printing of the next "
+"successive\n"
+" argument.\n"
+" \n"
+" In addition to the standard format specifications described in printf"
+"(1)\n"
+" and printf(3), printf interprets:\n"
+" \n"
+" %b\texpand backslash escape sequences in the corresponding argument\n"
+" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or a write or "
+"assignment\n"
+" error occurs."
+msgstr ""
+"在 FORMAT å˜é‡çš„控制下格å¼åŒ–å¹¶æ‰“å° ARGUMENTS å‚数。\n"
+" \n"
+" 选项:\n"
+" -v var\t将输出赋值给 shell å˜é‡ VAR 而ä¸æ˜¾ç¤ºåœ¨æ ‡å‡†è¾“出上\n"
+" \n"
+" FORMAT å˜é‡æ˜¯åŒ…å«ä¸‰ç§å¯¹è±¡çš„字符串:简å•åœ°è¢«æ‹·è´åˆ°æ ‡å‡†è¾“出的普通字符;\n"
+" 被å˜æ¢ä¹‹åŽæ‹·è´åˆ°æ ‡å‡†è¾“入的转义字符;以åŠæ¯ä¸ªéƒ½ä¼šå½±å“到下个å‚数的打å°"
+"çš„ æ ¼å¼åŒ–声明。\n"
+" \n"
+" 在 printf(1)ã€printf(3) 中æ述的标准控制声明之外,printf解æžï¼š\n"
+"〠\n"
+" %b\t扩展对应å‚数中的åæ–œæ è½¬ä¹‰åºåˆ—\n"
+" %q\t以å¯ä½œä¸º shell 输入的格å¼å¼•ç”¨å‚æ•°\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者写或赋值错误å‘生。"
+
+#: builtins.c:1913
+msgid ""
+"Specify how arguments are to be completed by Readline.\n"
+" \n"
+" For each NAME, specify how arguments are to be completed. If no "
+"options\n"
+" are supplied, existing completion specifications are printed in a way "
+"that\n"
+" allows them to be reused as input.\n"
+" \n"
+" Options:\n"
+" -p\tprint existing completion specifications in a reusable format\n"
+" -r\tremove a completion specification for each NAME, or, if no\n"
+" \tNAMEs are supplied, all completion specifications\n"
+" -D\tapply the completions and actions as the default for commands\n"
+" \twithout any specific completion defined\n"
+" -E\tapply the completions and actions to \"empty\" commands --\n"
+" \tcompletion attempted on a blank line\n"
+" \n"
+" When completion is attempted, the actions are applied in the order the\n"
+" uppercase-letter options are listed above. The -D option takes\n"
+" precedence over -E.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"声明 readline 如何完æˆè¯»å–å‚数。\n"
+" \n"
+" 声明对于æ¯ä¸€ä¸ª NAME å称如何完æˆè¯»å–å‚数。如果ä¸å¸¦é€‰é¡¹ï¼Œ\n"
+" 现有的补完声明会以å¯ä»¥é‡ç”¨ä¸ºè¾“入的格å¼æ‰“å°å‡ºæ¥ã€‚\n"
+" \n"
+" 选项:\n"
+" -p\t以å¯é‡ç”¨çš„æ ¼å¼æ‰“å°çŽ°æœ‰çš„补完声明。\n"
+" -r\tr对于æ¯ä¸ª NAME å称删除补完声明,或者如果没有æä¾› NAME\n"
+" \tå称,删除所有的补完声明。\n"
+" -D\t对于没有补完声明定义的命令,设定默认的补完动作\n"
+" -E\t对于 \"empty\" 命令设定补完动作,—— 对于空行的补完。\n"
+" \n"
+" å°è¯•è¡¥å®Œæ—¶ï¼ŒæŒ‰ç…§ä¸Šè¿°å¤§å†™å­—æ¯é€‰é¡¹çš„顺åºè¿›è¡ŒåŠ¨ä½œã€‚-D 选项优先\n"
+" 级高于 -E 选项。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者错误å‘生。"
+
+#: builtins.c:1941
+msgid ""
+"Display possible completions depending on the options.\n"
+" \n"
+" Intended to be used from within a shell function generating possible\n"
+" completions. If the optional WORD argument is supplied, matches "
+"against\n"
+" WORD are generated.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or an error occurs."
+msgstr ""
+"ä¾æ®é€‰é¡¹æ˜¾ç¤ºå¯èƒ½çš„补完。\n"
+" \n"
+" æ„图在能产生å¯èƒ½çš„补完的 shell 函数内部使用。\n"
+" 如果æ供了å¯é€‰çš„ WORD å‚数,则产生按照 WORD\n"
+" 进行的匹é…。\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 除éžä½¿ç”¨äº†æ— æ•ˆé€‰é¡¹æˆ–者错误å‘生,å¦åˆ™è¿”回æˆåŠŸã€‚"
+
+#: builtins.c:1956
+#, fuzzy
+msgid ""
+"Modify or display completion options.\n"
+" \n"
+" Modify the completion options for each NAME, or, if no NAMEs are "
+"supplied,\n"
+" the completion currently being executed. If no OPTIONs are given, "
+"print\n"
+" the completion options for each NAME or the current completion "
+"specification.\n"
+" \n"
+" Options:\n"
+" \t-o option\tSet completion option OPTION for each NAME\n"
+" \t-D\t\tChange options for the \"default\" command completion\n"
+" \t-E\t\tChange options for the \"empty\" command completion\n"
+" \n"
+" Using `+o' instead of `-o' turns off the specified option.\n"
+" \n"
+" Arguments:\n"
+" \n"
+" Each NAME refers to a command for which a completion specification must\n"
+" have previously been defined using the `complete' builtin. If no NAMEs\n"
+" are supplied, compopt must be called by a function currently generating\n"
+" completions, and the options for that currently-executing completion\n"
+" generator are modified.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is supplied or NAME does not\n"
+" have a completion specification defined."
+msgstr ""
+"修改或显示补完选项。\n"
+" \n"
+" 修改æ¯ä¸ª NAME å称的补完选项,或者如果没有æä¾› NAME å称,\n"
+" 执行当å‰çš„补完。如果ä¸å¸¦é€‰é¡¹ï¼Œæ‰“å°æ¯ä¸ª NAME å称的补完选项或\n"
+" 当å‰çš„补完声明。\n"
+" \n"
+" 选项:\n"
+" \t-o option\t为æ¯ä¸ª NAME å称设定补完选项 option\n"
+" \t-D\t\t为 \"default\" 命令补完改å˜é€‰é¡¹\n"
+" \t-E\t\t为 \"empty\" 命令补完改å˜é€‰é¡¹\n"
+" \n"
+" 使用 `+o' 而ä¸æ˜¯ `-o' å¯ä»¥å…³é—­æŒ‡å®šçš„选项。\n"
+" \n"
+" å‚数:\n"
+" \n"
+" æ¯ä¸ª NAME å称都对应一个之å‰ä»¥é€šè¿‡ `complete' 内嵌定义了补完声明的\n"
+" 命令。如果ä¸æä¾› NAME å称,当å‰ç”Ÿæˆè¡¥å®Œçš„函数必须调用 compopt,\n"
+" 并且当å‰æ‰§è¡Œçš„补完生æˆå™¨é€‰é¡¹ä¼šè¢«ä¿®æ”¹ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项或者 NAME å称没有定义补完声明。"
+
+#: builtins.c:1986
+#, fuzzy
+msgid ""
+"Read lines from the standard input into an indexed array variable.\n"
+" \n"
+" Read lines from the standard input into the indexed array variable "
+"ARRAY, or\n"
+" from file descriptor FD if the -u option is supplied. The variable "
+"MAPFILE\n"
+" is the default ARRAY.\n"
+" \n"
+" Options:\n"
+" -n count\tCopy at most COUNT lines. If COUNT is 0, all lines are "
+"copied.\n"
+" -O origin\tBegin assigning to ARRAY at index ORIGIN. The default "
+"index is 0.\n"
+" -s count \tDiscard the first COUNT lines read.\n"
+" -t\t\tRemove a trailing newline from each line read.\n"
+" -u fd\t\tRead lines from file descriptor FD instead of the standard "
+"input.\n"
+" -C callback\tEvaluate CALLBACK each time QUANTUM lines are read.\n"
+" -c quantum\tSpecify the number of lines read between each call to "
+"CALLBACK.\n"
+" \n"
+" Arguments:\n"
+" ARRAY\t\tArray variable name to use for file data.\n"
+" \n"
+" If -C is supplied without -c, the default quantum is 5000. When\n"
+" CALLBACK is evaluated, it is supplied the index of the next array\n"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
+" \n"
+" If not supplied with an explicit origin, mapfile will clear ARRAY "
+"before\n"
+" assigning to it.\n"
+" \n"
+" Exit Status:\n"
+" Returns success unless an invalid option is given or ARRAY is readonly "
+"or\n"
+" not an indexed array."
+msgstr ""
+"从标准输入读å–行到下表数组å˜é‡ä¸­ã€‚\n"
+" \n"
+" 从标准输入读å–行到下表数组å˜é‡ ARRAY 中,或者如果使用了 -u 选项,\n"
+" 从文件æ述符 FD 中读å–。MAPFILE å˜é‡æ˜¯é»˜è®¤çš„ ARRAY å˜é‡ã€‚\n"
+" \n"
+" 选项:\n"
+" -n count\tæœ€å¤šæ‹·è´ COUNT 行,如果 COUNT 为0,则拷è´æ‰€æœ‰è¡Œã€‚\n"
+" -O origin\t从下表 ORIGIN 开始 赋值给 ARRAY å˜é‡ã€‚默认下表是0.\n"
+" -s count \t丢弃最先读å–çš„ COUNT 行。\n"
+" -t\t\t从读å–çš„æ¯è¡Œæœ«å°¾åˆ é™¤ä¸€ä¸ªæ¢è¡Œç¬¦ã€‚\n"
+" -u fd\t\t从文件æ述符 FD 中读å–行而ä¸æ˜¯æ ‡å‡†è¾“入。\n"
+" -C callback\tæ¯æ¬¡ QUANTUM 行读å–之åŽå¯¹ CALLBACK 回调进行估值。\n"
+" -c quantum\t定义æ¯æ¬¡è°ƒç”¨ CALLBACK 回调之间读å–的行数。\n"
+" \n"
+" å‚数:\n"
+" ARRAY\t\t存储数æ®ä½¿ç”¨çš„数组å˜é‡\n"
+" \n"
+" 如果使用了-C而没有-c,默认的é‡å­æ˜¯5000。当对 CALLBACK 估值时,\n"
+" 下一个将被赋值的数组元素的下标作为é¢å¤–å‚数被传递。\n"
+" \n"
+" 如果没有显å¼æŒ‡å®šèµ·å§‹ä¸‹æ ‡ï¼Œmapfile将在赋值å‰æ¸…空 ARRAY å˜é‡ã€‚\n"
+" \n"
+" 退出状æ€ï¼š\n"
+" 返回æˆåŠŸï¼Œé™¤éžä½¿ç”¨äº†æ— æ•ˆçš„选项,或者 ARRAY å˜é‡æ˜¯åªè¯»æˆ–者ä¸æ˜¯ä¸‹æ ‡æ•°ç»„。"
+
+#: builtins.c:2020
+msgid ""
+"Read lines from a file into an array variable.\n"
+" \n"
+" A synonym for `mapfile'."
+msgstr ""
+"从一个文件中读å–行到数组å˜é‡ä¸­\n"
+" \n"
+" 一个 `mapfile'çš„åŒä¹‰è¯ã€‚"
+
+#~ msgid ""
+#~ ". With EXPR, returns\n"
+#~ " "
+#~ msgstr ""
+#~ ". 带有 EXPR 时, 返回\n"
+#~ " "
+
+#~ msgid ""
+#~ "; this extra information can be used to\n"
+#~ " provide a stack trace.\n"
+#~ " \n"
+#~ " The value of EXPR indicates how many call frames to go back before "
+#~ "the\n"
+#~ " current one; the top frame is frame 0."
+#~ msgstr ""
+#~ "; 这个é¢å¤–ä¿¡æ¯å¯è¢«ç”¨äºŽ\n"
+#~ " æ供栈追踪.\n"
+#~ " \n"
+#~ " EXPR 的值显示了回到当å‰è°ƒç”¨å¸§ä¹‹å‰\n"
+#~ " 的调用帧书目; 栈顶帧是第0帧."
diff --git a/po/zh_TW.gmo b/po/zh_TW.gmo
index c3ca675..b965d5f 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 7a5d32b..38de844 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: bash-3.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-30 08:25-0500\n"
+"POT-Creation-Date: 2011-01-28 22:09-0500\n"
"PO-Revision-Date: 2008-08-20 20:12+0800\n"
"Last-Translator: Zi-You Dai <ioppooster@gmail.com>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -20,7 +20,7 @@ msgstr ""
msgid "bad array subscript"
msgstr ""
-#: arrayfunc.c:313 builtins/declare.def:481
+#: arrayfunc.c:313 builtins/declare.def:487
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
@@ -40,26 +40,26 @@ msgstr ""
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
-#: bashhist.c:383
+#: bashhist.c:387
#, c-format
msgid "%s: cannot create: %s"
msgstr ""
-#: bashline.c:3457
+#: bashline.c:3498
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
-#: bashline.c:3543
+#: bashline.c:3584
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
-#: bashline.c:3572
+#: bashline.c:3613
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
-#: bashline.c:3606
+#: bashline.c:3647
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -118,26 +118,11 @@ msgid ""
" Without EXPR, returns "
msgstr ""
-#: builtins/caller.def:135
-msgid ""
-". With EXPR, returns\n"
-" "
-msgstr ""
-
-#: builtins/caller.def:136
-msgid ""
-"; this extra information can be used to\n"
-" provide a stack trace.\n"
-" \n"
-" The value of EXPR indicates how many call frames to go back before the\n"
-" current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:215
+#: builtins/cd.def:235
msgid "HOME not set"
msgstr "HOME 沒有設置"
-#: builtins/cd.def:227
+#: builtins/cd.def:247
msgid "OLDPWD not set"
msgstr "OLDPWD 沒有設置"
@@ -156,11 +141,11 @@ msgstr "%s:警告:"
msgid "%s: usage: "
msgstr "%s:警告:"
-#: builtins/common.c:166 test.c:827
+#: builtins/common.c:166 test.c:832
msgid "too many arguments"
msgstr "太多引數"
-#: builtins/common.c:191 shell.c:499 shell.c:782
+#: builtins/common.c:191 shell.c:500 shell.c:782
#, c-format
msgid "%s: option requires an argument"
msgstr "%s:é¸é …需è¦ä¸€å€‹å¼•æ•¸"
@@ -200,7 +185,7 @@ msgstr "無效信號數"
msgid "invalid hex number"
msgstr "%s:無效的號碼"
-#: builtins/common.c:242 expr.c:1256
+#: builtins/common.c:242 expr.c:1362
msgid "invalid number"
msgstr ""
@@ -309,25 +294,25 @@ msgstr "警告: -C é¸é …å¯èƒ½ç„¡æ³•æŒ‰é æœŸå·¥ä½œ"
msgid "not currently executing completion function"
msgstr ""
-#: builtins/declare.def:122
+#: builtins/declare.def:124
msgid "can only be used in a function"
msgstr "åªèƒ½ç”¨åœ¨ä¸€å€‹å‡½æ•¸"
-#: builtins/declare.def:360
+#: builtins/declare.def:366
msgid "cannot use `-f' to make functions"
msgstr ""
-#: builtins/declare.def:372 execute_cmd.c:4937
+#: builtins/declare.def:378 execute_cmd.c:5105
#, c-format
msgid "%s: readonly function"
msgstr "%s:åªè®€å‡½æ•¸"
-#: builtins/declare.def:468
+#: builtins/declare.def:474
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr ""
-#: builtins/declare.def:475
+#: builtins/declare.def:481
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -356,29 +341,29 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr ""
-#: builtins/evalfile.c:134 builtins/hash.def:169 execute_cmd.c:4794
-#: shell.c:1452
+#: builtins/evalfile.c:135 builtins/hash.def:171 execute_cmd.c:4961
+#: shell.c:1457
#, c-format
msgid "%s: is a directory"
msgstr ""
-#: builtins/evalfile.c:139
+#: builtins/evalfile.c:140
#, c-format
msgid "%s: not a regular file"
msgstr ""
-#: builtins/evalfile.c:147
+#: builtins/evalfile.c:148
#, c-format
msgid "%s: file is too large"
msgstr ""
-#: builtins/evalfile.c:185 builtins/evalfile.c:203 execute_cmd.c:4864
-#: shell.c:1462
+#: builtins/evalfile.c:182 builtins/evalfile.c:200 execute_cmd.c:5032
+#: shell.c:1467
#, c-format
msgid "%s: cannot execute binary file"
msgstr ""
-#: builtins/exec.def:212
+#: builtins/exec.def:154 builtins/exec.def:156 builtins/exec.def:228
#, c-format
msgid "%s: cannot execute: %s"
msgstr ""
@@ -406,11 +391,11 @@ msgstr ""
msgid "no command found"
msgstr ""
-#: builtins/fc.def:349
+#: builtins/fc.def:312 builtins/fc.def:359
msgid "history specification"
msgstr ""
-#: builtins/fc.def:370
+#: builtins/fc.def:380
#, c-format
msgid "%s: cannot open temp file: %s"
msgstr ""
@@ -443,7 +428,7 @@ msgstr ""
msgid "%s: hash table empty\n"
msgstr ""
-#: builtins/hash.def:244
+#: builtins/hash.def:245
#, fuzzy, c-format
msgid "hits\tcommand\n"
msgstr "最後的命令: %s\n"
@@ -499,76 +484,86 @@ msgstr "%s:無效æœå‹™"
msgid "no other options allowed with `-x'"
msgstr ""
-#: builtins/kill.def:200
+#: builtins/kill.def:198
#, c-format
msgid "%s: arguments must be process or job IDs"
msgstr ""
-#: builtins/kill.def:263
+#: builtins/kill.def:261
msgid "Unknown error"
msgstr ""
-#: builtins/let.def:95 builtins/let.def:120 expr.c:501 expr.c:516
+#: builtins/let.def:95 builtins/let.def:120 expr.c:552 expr.c:567
msgid "expression expected"
msgstr ""
-#: builtins/mapfile.def:165
+#: builtins/mapfile.def:172
#, c-format
msgid "%s: not an indexed array"
msgstr ""
-#: builtins/mapfile.def:249 builtins/read.def:279
+#: builtins/mapfile.def:256 builtins/read.def:279
#, c-format
msgid "%s: invalid file descriptor specification"
msgstr ""
-#: builtins/mapfile.def:257 builtins/read.def:286
+#: builtins/mapfile.def:264 builtins/read.def:286
#, c-format
msgid "%d: invalid file descriptor: %s"
msgstr ""
-#: builtins/mapfile.def:266 builtins/mapfile.def:304
+#: builtins/mapfile.def:273 builtins/mapfile.def:311
#, fuzzy, c-format
msgid "%s: invalid line count"
msgstr "%s:無效é¸é …"
-#: builtins/mapfile.def:277
+#: builtins/mapfile.def:284
#, fuzzy, c-format
msgid "%s: invalid array origin"
msgstr "%s:無效é¸é …"
-#: builtins/mapfile.def:294
+#: builtins/mapfile.def:301
#, fuzzy, c-format
msgid "%s: invalid callback quantum"
msgstr "%s:無效的功能å稱"
-#: builtins/mapfile.def:326
+#: builtins/mapfile.def:333
msgid "empty array variable name"
msgstr ""
-#: builtins/mapfile.def:347
+#: builtins/mapfile.def:354
msgid "array variable support required"
msgstr ""
-#: builtins/printf.def:374
+#: builtins/printf.def:394
#, c-format
msgid "`%s': missing format character"
msgstr ""
-#: builtins/printf.def:551
+#: builtins/printf.def:448
+#, fuzzy, c-format
+msgid "`%c': invalid time format specification"
+msgstr "%s:無效的信號è¦æ ¼"
+
+#: builtins/printf.def:635
#, c-format
msgid "`%c': invalid format character"
msgstr ""
-#: builtins/printf.def:578
+#: builtins/printf.def:662
#, fuzzy, c-format
msgid "warning: %s: %s"
msgstr "%s:警告:"
-#: builtins/printf.def:757
+#: builtins/printf.def:840
msgid "missing hex digit for \\x"
msgstr ""
+#: builtins/printf.def:855
+#, c-format
+msgid "missing unicode digit for \\%c"
+msgstr ""
+
#: builtins/pushd.def:195
msgid "no other directory"
msgstr ""
@@ -669,21 +664,21 @@ msgstr ""
msgid "can only `return' from a function or sourced script"
msgstr ""
-#: builtins/set.def:768
+#: builtins/set.def:771
msgid "cannot simultaneously unset a function and a variable"
msgstr ""
-#: builtins/set.def:805
+#: builtins/set.def:808
#, c-format
msgid "%s: cannot unset"
msgstr ""
-#: builtins/set.def:812
+#: builtins/set.def:815
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr ""
-#: builtins/set.def:823
+#: builtins/set.def:826
#, c-format
msgid "%s: not an array variable"
msgstr ""
@@ -697,20 +692,20 @@ msgstr ""
msgid "shift count"
msgstr ""
-#: builtins/shopt.def:260
+#: builtins/shopt.def:264
msgid "cannot set and unset shell options simultaneously"
msgstr ""
-#: builtins/shopt.def:325
+#: builtins/shopt.def:329
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
-#: builtins/source.def:128
+#: builtins/source.def:130
msgid "filename argument required"
msgstr ""
-#: builtins/source.def:153
+#: builtins/source.def:155
#, c-format
msgid "%s: file not found"
msgstr ""
@@ -753,26 +748,26 @@ msgstr ""
msgid "%s is hashed (%s)\n"
msgstr ""
-#: builtins/ulimit.def:372
+#: builtins/ulimit.def:376
#, c-format
msgid "%s: invalid limit argument"
msgstr ""
-#: builtins/ulimit.def:398
+#: builtins/ulimit.def:402
#, c-format
msgid "`%c': bad command"
msgstr "`%c':壞的命令"
-#: builtins/ulimit.def:427
+#: builtins/ulimit.def:431
#, c-format
msgid "%s: cannot get limit: %s"
msgstr "%s:ä¸èƒ½å¾—到 limit: %s"
-#: builtins/ulimit.def:453
+#: builtins/ulimit.def:457
msgid "limit"
msgstr ""
-#: builtins/ulimit.def:465 builtins/ulimit.def:765
+#: builtins/ulimit.def:469 builtins/ulimit.def:769
#, c-format
msgid "%s: cannot modify limit: %s"
msgstr "%s:ä¸èƒ½ä¿®æ”¹ limit: %s"
@@ -828,106 +823,111 @@ msgstr ""
#: eval.c:181
#, c-format
-msgid "timed out waiting for input: auto-logout\n"
+msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
-#: execute_cmd.c:497
+#: execute_cmd.c:504
#, c-format
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
-#: execute_cmd.c:1162
+#: execute_cmd.c:1168
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
-#: execute_cmd.c:2075
+#: execute_cmd.c:2121
#, fuzzy
msgid "pipe error"
msgstr "寫入錯誤: %s"
-#: execute_cmd.c:4481
+#: execute_cmd.c:4640
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
-#: execute_cmd.c:4572
+#: execute_cmd.c:4735
#, c-format
msgid "%s: command not found"
msgstr "%s:命令找ä¸åˆ°"
-#: execute_cmd.c:4827
+#: execute_cmd.c:4959
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: execute_cmd.c:4995
#, c-format
msgid "%s: %s: bad interpreter"
msgstr ""
-#: execute_cmd.c:4976
+#: execute_cmd.c:5144
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
-#: expr.c:241
+#: expr.c:256
msgid "expression recursion level exceeded"
msgstr ""
-#: expr.c:265
+#: expr.c:280
msgid "recursion stack underflow"
msgstr ""
-#: expr.c:379
+#: expr.c:422
msgid "syntax error in expression"
msgstr "表é”語法錯誤"
-#: expr.c:419
+#: expr.c:463
msgid "attempted assignment to non-variable"
msgstr ""
-#: expr.c:440 expr.c:445 expr.c:756
+#: expr.c:486 expr.c:491 expr.c:807
msgid "division by 0"
msgstr ""
-#: expr.c:471
+#: expr.c:517
msgid "bug: bad expassign token"
msgstr ""
-#: expr.c:513
+#: expr.c:564
msgid "`:' expected for conditional expression"
msgstr ""
-#: expr.c:781
+#: expr.c:832
msgid "exponent less than 0"
msgstr ""
-#: expr.c:826
+#: expr.c:887
msgid "identifier expected after pre-increment or pre-decrement"
msgstr ""
-#: expr.c:854
+#: expr.c:910
msgid "missing `)'"
msgstr ""
-#: expr.c:897 expr.c:1176
+#: expr.c:959 expr.c:1282
msgid "syntax error: operand expected"
msgstr ""
-#: expr.c:1178
+#: expr.c:1284
msgid "syntax error: invalid arithmetic operator"
msgstr ""
-#: expr.c:1202
+#: expr.c:1308
#, c-format
msgid "%s%s%s: %s (error token is \"%s\")"
msgstr ""
-#: expr.c:1260
+#: expr.c:1366
msgid "invalid arithmetic base"
msgstr ""
-#: expr.c:1280
+#: expr.c:1386
msgid "value too great for base"
msgstr ""
-#: expr.c:1329
+#: expr.c:1435
#, c-format
msgid "%s: expression error\n"
msgstr ""
@@ -936,163 +936,163 @@ msgstr ""
msgid "getcwd: cannot access parent directories"
msgstr ""
-#: input.c:94 subst.c:4857
+#: input.c:94 subst.c:5082
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
-#: input.c:258
+#: input.c:260
#, c-format
msgid "cannot allocate new file descriptor for bash input from fd %d"
msgstr ""
-#: input.c:266
+#: input.c:268
#, c-format
msgid "save_bash_input: buffer already exists for new fd %d"
msgstr ""
-#: jobs.c:466
+#: jobs.c:468
msgid "start_pipeline: pgrp pipe"
msgstr ""
-#: jobs.c:887
+#: jobs.c:889
#, c-format
msgid "forked pid %d appears in running job %d"
msgstr ""
-#: jobs.c:1005
+#: jobs.c:1007
#, c-format
msgid "deleting stopped job %d with process group %ld"
msgstr ""
-#: jobs.c:1110
+#: jobs.c:1112
#, c-format
msgid "add_process: process %5ld (%s) in the_pipeline"
msgstr ""
-#: jobs.c:1113
+#: jobs.c:1115
#, c-format
msgid "add_process: pid %5ld (%s) marked as still alive"
msgstr ""
-#: jobs.c:1401
+#: jobs.c:1430
#, c-format
msgid "describe_pid: %ld: no such pid"
msgstr ""
-#: jobs.c:1416
+#: jobs.c:1445
#, c-format
msgid "Signal %d"
msgstr ""
-#: jobs.c:1430 jobs.c:1455
+#: jobs.c:1459 jobs.c:1484
msgid "Done"
msgstr ""
-#: jobs.c:1435 siglist.c:123
+#: jobs.c:1464 siglist.c:123
msgid "Stopped"
msgstr ""
-#: jobs.c:1439
+#: jobs.c:1468
#, c-format
msgid "Stopped(%s)"
msgstr ""
-#: jobs.c:1443
+#: jobs.c:1472
msgid "Running"
msgstr ""
-#: jobs.c:1457
+#: jobs.c:1486
#, c-format
msgid "Done(%d)"
msgstr ""
-#: jobs.c:1459
+#: jobs.c:1488
#, c-format
msgid "Exit %d"
msgstr ""
-#: jobs.c:1462
+#: jobs.c:1491
msgid "Unknown status"
msgstr ""
-#: jobs.c:1549
+#: jobs.c:1578
#, c-format
msgid "(core dumped) "
msgstr ""
-#: jobs.c:1568
+#: jobs.c:1597
#, c-format
msgid " (wd: %s)"
msgstr ""
-#: jobs.c:1776
+#: jobs.c:1805
#, c-format
msgid "child setpgid (%ld to %ld)"
msgstr ""
-#: jobs.c:2104 nojobs.c:585
+#: jobs.c:2133 nojobs.c:585
#, c-format
msgid "wait: pid %ld is not a child of this shell"
msgstr ""
-#: jobs.c:2331
+#: jobs.c:2360
#, c-format
msgid "wait_for: No record of process %ld"
msgstr ""
-#: jobs.c:2607
+#: jobs.c:2637
#, c-format
msgid "wait_for_job: job %d is stopped"
msgstr ""
-#: jobs.c:2829
+#: jobs.c:2859
#, c-format
msgid "%s: job has terminated"
msgstr ""
-#: jobs.c:2838
+#: jobs.c:2868
#, c-format
msgid "%s: job %d already in background"
msgstr ""
-#: jobs.c:3059
+#: jobs.c:3089
msgid "waitchld: turning on WNOHANG to avoid indefinite block"
msgstr ""
-#: jobs.c:3508
+#: jobs.c:3538
#, fuzzy, c-format
msgid "%s: line %d: "
msgstr "%s:警告:"
-#: jobs.c:3522 nojobs.c:814
+#: jobs.c:3552 nojobs.c:814
#, c-format
msgid " (core dumped)"
msgstr ""
-#: jobs.c:3534 jobs.c:3547
+#: jobs.c:3564 jobs.c:3577
#, c-format
msgid "(wd now: %s)\n"
msgstr ""
-#: jobs.c:3579
+#: jobs.c:3609
msgid "initialize_job_control: getpgrp failed"
msgstr ""
-#: jobs.c:3639
+#: jobs.c:3669
msgid "initialize_job_control: line discipline"
msgstr ""
-#: jobs.c:3649
+#: jobs.c:3679
msgid "initialize_job_control: setpgid"
msgstr ""
-#: jobs.c:3677
+#: jobs.c:3707
#, c-format
msgid "cannot set terminal process group (%d)"
msgstr ""
-#: jobs.c:3682
+#: jobs.c:3712
msgid "no job control in this shell"
msgstr ""
@@ -1244,99 +1244,99 @@ msgstr ""
msgid "make_redirection: redirection instruction `%d' out of range"
msgstr "make_redirection:é‡æ–°å°Žå‘指示 `%d' 超出範åœ"
-#: parse.y:3133 parse.y:3369
+#: parse.y:3173 parse.y:3444
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
-#: parse.y:3951
+#: parse.y:4025
msgid "unexpected EOF while looking for `]]'"
msgstr ""
-#: parse.y:3956
+#: parse.y:4030
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
-#: parse.y:3960
+#: parse.y:4034
msgid "syntax error in conditional expression"
msgstr "語法錯誤,在有æ¢ä»¶çš„表é”"
-#: parse.y:4038
+#: parse.y:4112
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
-#: parse.y:4042
+#: parse.y:4116
msgid "expected `)'"
msgstr "é æœŸ `)'"
-#: parse.y:4070
+#: parse.y:4144
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
-#: parse.y:4074
+#: parse.y:4148
msgid "unexpected argument to conditional unary operator"
msgstr ""
-#: parse.y:4120
+#: parse.y:4194
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
-#: parse.y:4124
+#: parse.y:4198
msgid "conditional binary operator expected"
msgstr ""
-#: parse.y:4146
+#: parse.y:4220
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
-#: parse.y:4150
+#: parse.y:4224
msgid "unexpected argument to conditional binary operator"
msgstr ""
-#: parse.y:4161
+#: parse.y:4235
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
-#: parse.y:4164
+#: parse.y:4238
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
-#: parse.y:4168
+#: parse.y:4242
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
-#: parse.y:5459
+#: parse.y:5566
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
-#: parse.y:5477
+#: parse.y:5584
#, c-format
msgid "syntax error near `%s'"
msgstr ""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error: unexpected end of file"
msgstr ""
-#: parse.y:5487
+#: parse.y:5594
msgid "syntax error"
msgstr "語法錯誤"
-#: parse.y:5549
+#: parse.y:5656
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr ""
-#: parse.y:5711
+#: parse.y:5818
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1345,77 +1345,77 @@ msgstr ""
msgid "completion: function `%s' not found"
msgstr ""
-#: pcomplib.c:179
+#: pcomplib.c:182
#, c-format
msgid "progcomp_insert: %s: NULL COMPSPEC"
msgstr ""
-#: print_cmd.c:290
+#: print_cmd.c:296
#, c-format
msgid "print_command: bad connector `%d'"
msgstr ""
-#: print_cmd.c:363
+#: print_cmd.c:368
#, c-format
msgid "xtrace_set: %d: invalid file descriptor"
msgstr ""
-#: print_cmd.c:368
+#: print_cmd.c:373
msgid "xtrace_set: NULL file pointer"
msgstr ""
-#: print_cmd.c:372
+#: print_cmd.c:377
#, c-format
msgid "xtrace fd (%d) != fileno xtrace fp (%d)"
msgstr ""
-#: print_cmd.c:1461
+#: print_cmd.c:1478
#, c-format
msgid "cprintf: `%c': invalid format character"
msgstr ""
-#: redir.c:110
+#: redir.c:122
msgid "file descriptor out of range"
msgstr ""
-#: redir.c:166
+#: redir.c:178
#, c-format
msgid "%s: ambiguous redirect"
msgstr ""
-#: redir.c:170
+#: redir.c:182
#, c-format
msgid "%s: cannot overwrite existing file"
msgstr ""
-#: redir.c:175
+#: redir.c:187
#, c-format
msgid "%s: restricted: cannot redirect output"
msgstr ""
-#: redir.c:180
+#: redir.c:192
#, c-format
msgid "cannot create temp file for here-document: %s"
msgstr ""
-#: redir.c:184
+#: redir.c:196
#, fuzzy, c-format
msgid "%s: cannot assign fd to variable"
msgstr "%s:åªè®€è®Šæ•¸"
-#: redir.c:544
+#: redir.c:548
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
-#: redir.c:1101
+#: redir.c:818 redir.c:930 redir.c:993 redir.c:1136
msgid "redirection error: cannot duplicate fd"
msgstr ""
-#: shell.c:332
+#: shell.c:333
msgid "could not find /tmp, please create!"
msgstr ""
-#: shell.c:336
+#: shell.c:337
msgid "/tmp must be a valid directory name"
msgstr ""
@@ -1424,16 +1424,16 @@ msgstr ""
msgid "%c%c: invalid option"
msgstr "%c%c:無效é¸é …"
-#: shell.c:1651
+#: shell.c:1652
msgid "I have no name!"
msgstr "我沒有åå­—ï¼"
-#: shell.c:1793
+#: shell.c:1795
#, c-format
msgid "GNU bash, version %s-(%s)\n"
msgstr ""
-#: shell.c:1794
+#: shell.c:1796
#, c-format
msgid ""
"Usage:\t%s [GNU long option] [option] ...\n"
@@ -1442,39 +1442,39 @@ msgstr ""
"用法:\t%s [GNU é•·é¸é …] [é¸é …] ...\n"
"\t%s [GNU é•·é¸é …] [é¸é …] script-file ...\n"
-#: shell.c:1796
+#: shell.c:1798
msgid "GNU long options:\n"
msgstr "GNU é•·é¸é …:\n"
-#: shell.c:1800
+#: shell.c:1802
msgid "Shell options:\n"
msgstr "Shell é¸é …:\n"
-#: shell.c:1801
+#: shell.c:1803
msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
msgstr "\t-irsD 或 -c 命令或 -O shopt_option\t\t(åªæœ‰å¼•ç”¨)\n"
-#: shell.c:1816
+#: shell.c:1818
#, c-format
msgid "\t-%s or -o option\n"
msgstr "\t-%s or -o é¸é …\n"
-#: shell.c:1822
+#: shell.c:1824
#, c-format
msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
msgstr "輸入 `%s -c \"help set\"' 更多訊æ¯é—œæ–¼ shell é¸é …。\n"
-#: shell.c:1823
+#: shell.c:1825
#, c-format
msgid "Type `%s -c help' for more information about shell builtin commands.\n"
msgstr "輸入 `%s -c help' 更多訊æ¯é—œæ–¼å…§å»º shell 命令。\n"
-#: shell.c:1824
+#: shell.c:1826
#, c-format
msgid "Use the `bashbug' command to report bugs.\n"
msgstr "使用 `bashbug' 命令報告臭蟲。\n"
-#: sig.c:626
+#: sig.c:638
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr "sigprocmask: %d:無效æ“作"
@@ -1650,83 +1650,83 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
-#: subst.c:1333 subst.c:1454
+#: subst.c:1333 subst.c:1502
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
-#: subst.c:2735
+#: subst.c:2795
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
-#: subst.c:4754 subst.c:4770
+#: subst.c:4979 subst.c:4995
msgid "cannot make pipe for process substitution"
msgstr ""
-#: subst.c:4802
+#: subst.c:5027
msgid "cannot make child for process substitution"
msgstr ""
-#: subst.c:4847
+#: subst.c:5072
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
-#: subst.c:4849
+#: subst.c:5074
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
-#: subst.c:4867
+#: subst.c:5092
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
-#: subst.c:5063
+#: subst.c:5284
msgid "cannot make pipe for command substitution"
msgstr ""
-#: subst.c:5097
+#: subst.c:5322
msgid "cannot make child for command substitution"
msgstr ""
-#: subst.c:5114
+#: subst.c:5339
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
-#: subst.c:5617
+#: subst.c:5859
#, c-format
msgid "%s: parameter null or not set"
msgstr ""
-#: subst.c:5907
+#: subst.c:6125 subst.c:6140
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
-#: subst.c:6965
+#: subst.c:7271
#, c-format
msgid "%s: bad substitution"
msgstr ""
-#: subst.c:7045
+#: subst.c:7347
#, c-format
msgid "$%s: cannot assign in this way"
msgstr ""
-#: subst.c:7374
+#: subst.c:7684
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
-#: subst.c:7839
+#: subst.c:8149
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr ""
-#: subst.c:8720
+#: subst.c:9036
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1749,36 +1749,36 @@ msgstr ""
msgid "`)' expected, found %s"
msgstr ""
-#: test.c:280 test.c:693 test.c:696
+#: test.c:280 test.c:698 test.c:701
#, c-format
msgid "%s: unary operator expected"
msgstr ""
-#: test.c:449 test.c:736
+#: test.c:449 test.c:741
#, c-format
msgid "%s: binary operator expected"
msgstr ""
-#: test.c:811
+#: test.c:816
msgid "missing `]'"
msgstr ""
-#: trap.c:203
+#: trap.c:207
msgid "invalid signal number"
msgstr "無效信號數"
-#: trap.c:327
+#: trap.c:337
#, c-format
msgid "run_pending_traps: bad value in trap_list[%d]: %p"
msgstr ""
-#: trap.c:331
+#: trap.c:341
#, c-format
msgid ""
"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
msgstr "run_pending_traps: 信號處ç†æ˜¯ SIG_DFL, resending %d (%s) to myself"
-#: trap.c:380
+#: trap.c:393
#, c-format
msgid "trap_handler: bad signal %d"
msgstr "trap_handler:壞的信號 %d"
@@ -1788,58 +1788,58 @@ msgstr "trap_handler:壞的信號 %d"
msgid "error importing function definition for `%s'"
msgstr "錯誤,輸入的函數定義為 `%s'"
-#: variables.c:748
+#: variables.c:755
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
-#: variables.c:1915
+#: variables.c:1932
msgid "make_local_variable: no function context at current scope"
msgstr ""
-#: variables.c:3159
+#: variables.c:3182
msgid "all_local_variables: no function context at current scope"
msgstr ""
-#: variables.c:3376
+#: variables.c:3427
#, c-format
msgid "%s has null exportstr"
msgstr ""
-#: variables.c:3381 variables.c:3390
+#: variables.c:3432 variables.c:3441
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
-#: variables.c:3396
+#: variables.c:3447
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
-#: variables.c:3835
+#: variables.c:3891
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
-#: variables.c:3848
+#: variables.c:3904
msgid "pop_var_context: no global_variables context"
msgstr ""
-#: variables.c:3922
+#: variables.c:3978
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
-#: variables.c:4678
+#: variables.c:4786
#, fuzzy, c-format
msgid "%s: %s: cannot open as FILE"
msgstr "%s:ä¸èƒ½è®€å–: %s"
-#: variables.c:4683
+#: variables.c:4791
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: version.c:46
-msgid "Copyright (C) 2009 Free Software Foundation, Inc."
+msgid "Copyright (C) 2011 Free Software Foundation, Inc."
msgstr ""
#: version.c:47
@@ -1926,7 +1926,7 @@ msgid "caller [expr]"
msgstr ""
#: builtins.c:64
-msgid "cd [-L|-P] [dir]"
+msgid "cd [-L|[-P [-e]]] [dir]"
msgstr ""
#: builtins.c:66
@@ -1950,11 +1950,11 @@ msgid "command [-pVv] command [arg ...]"
msgstr ""
#: builtins.c:76
-msgid "declare [-aAfFilrtux] [-p] [name[=value] ...]"
+msgid "declare [-aAfFgilrtux] [-p] [name[=value] ...]"
msgstr ""
#: builtins.c:78
-msgid "typeset [-aAfFilrtux] [-p] name[=value] ..."
+msgid "typeset [-aAfFgilrtux] [-p] name[=value] ..."
msgstr ""
#: builtins.c:80
@@ -2048,7 +2048,7 @@ msgid "return [n]"
msgstr ""
#: builtins.c:140
-msgid "set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]"
+msgid "set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]"
msgstr ""
#: builtins.c:142
@@ -2060,7 +2060,7 @@ msgid "export [-fn] [name[=value] ...] or export -p"
msgstr ""
#: builtins.c:146
-msgid "readonly [-af] [name[=value] ...] or readonly -p"
+msgid "readonly [-aAf] [name[=value] ...] or readonly -p"
msgstr ""
#: builtins.c:148
@@ -2381,14 +2381,18 @@ msgid ""
" -L\tforce symbolic links to be followed\n"
" -P\tuse the physical directory structure without following symbolic\n"
" \tlinks\n"
+" -e\tif the -P option is supplied, and the current working directory\n"
+" \tcannot be determined successfully, exit with a non-zero status\n"
" \n"
" The default is to follow symbolic links, as if `-L' were specified.\n"
" \n"
" Exit Status:\n"
-" Returns 0 if the directory is changed; non-zero otherwise."
+" Returns 0 if the directory is changed, and if $PWD is set successfully "
+"when\n"
+" -P is used; non-zero otherwise."
msgstr ""
-#: builtins.c:411
+#: builtins.c:414
msgid ""
"Print the name of the current working directory.\n"
" \n"
@@ -2404,7 +2408,7 @@ msgid ""
" cannot be read."
msgstr ""
-#: builtins.c:428
+#: builtins.c:431
msgid ""
"Null command.\n"
" \n"
@@ -2414,7 +2418,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:439
+#: builtins.c:442
msgid ""
"Return a successful result.\n"
" \n"
@@ -2422,7 +2426,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:448
+#: builtins.c:451
msgid ""
"Return an unsuccessful result.\n"
" \n"
@@ -2430,7 +2434,7 @@ msgid ""
" Always fails."
msgstr ""
-#: builtins.c:457
+#: builtins.c:460
msgid ""
"Execute a simple command or display information about commands.\n"
" \n"
@@ -2449,7 +2453,7 @@ msgid ""
" Returns exit status of COMMAND, or failure if COMMAND is not found."
msgstr ""
-#: builtins.c:476
+#: builtins.c:479
msgid ""
"Set variable values and attributes.\n"
" \n"
@@ -2460,6 +2464,8 @@ msgid ""
" -f\trestrict action or display to function names and definitions\n"
" -F\trestrict display to function names only (plus line number and\n"
" \tsource file when debugging)\n"
+" -g\tcreate global variables when used in a shell function; otherwise\n"
+" \tignored\n"
" -p\tdisplay the attributes and value of each NAME\n"
" \n"
" Options which set attributes:\n"
@@ -2479,20 +2485,20 @@ msgid ""
" \n"
" When used in a function, `declare' makes NAMEs local, as with the "
"`local'\n"
-" command.\n"
+" command. The `-g' option suppresses this behavior.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:512
+#: builtins.c:517
msgid ""
"Set variable values and attributes.\n"
" \n"
" Obsolete. See `help declare'."
msgstr ""
-#: builtins.c:520
+#: builtins.c:525
msgid ""
"Define local variables.\n"
" \n"
@@ -2507,7 +2513,7 @@ msgid ""
" or the shell is not executing a function."
msgstr ""
-#: builtins.c:537
+#: builtins.c:542
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2538,7 +2544,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:571
+#: builtins.c:576
msgid ""
"Write arguments to the standard output.\n"
" \n"
@@ -2551,7 +2557,7 @@ msgid ""
" Returns success unless a write error occurs."
msgstr ""
-#: builtins.c:586
+#: builtins.c:591
msgid ""
"Enable and disable shell builtins.\n"
" \n"
@@ -2578,7 +2584,7 @@ msgid ""
" Returns success unless NAME is not a shell builtin or an error occurs."
msgstr ""
-#: builtins.c:614
+#: builtins.c:619
msgid ""
"Execute arguments as a shell command.\n"
" \n"
@@ -2590,7 +2596,7 @@ msgid ""
" Returns exit status of command or success if command is null."
msgstr ""
-#: builtins.c:626
+#: builtins.c:631
msgid ""
"Parse option arguments.\n"
" \n"
@@ -2631,7 +2637,7 @@ msgid ""
" encountered or an error occurs."
msgstr ""
-#: builtins.c:668
+#: builtins.c:673
msgid ""
"Replace the shell with the given command.\n"
" \n"
@@ -2654,7 +2660,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:689
+#: builtins.c:694
msgid ""
"Exit the shell.\n"
" \n"
@@ -2662,7 +2668,7 @@ msgid ""
" is that of the last command executed."
msgstr ""
-#: builtins.c:698
+#: builtins.c:703
msgid ""
"Exit a login shell.\n"
" \n"
@@ -2671,7 +2677,7 @@ msgid ""
" in a login shell."
msgstr ""
-#: builtins.c:708
+#: builtins.c:713
msgid ""
"Display or execute commands from the history list.\n"
" \n"
@@ -2701,7 +2707,7 @@ msgid ""
"occurs."
msgstr ""
-#: builtins.c:738
+#: builtins.c:743
msgid ""
"Move job to the foreground.\n"
" \n"
@@ -2713,7 +2719,7 @@ msgid ""
" Status of command placed in foreground, or failure if an error occurs."
msgstr ""
-#: builtins.c:753
+#: builtins.c:758
msgid ""
"Move jobs to the background.\n"
" \n"
@@ -2727,7 +2733,7 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:767
+#: builtins.c:772
msgid ""
"Remember or display program locations.\n"
" \n"
@@ -2751,7 +2757,7 @@ msgid ""
" Returns success unless NAME is not found or an invalid option is given."
msgstr ""
-#: builtins.c:792
+#: builtins.c:797
msgid ""
"Display information about builtin commands.\n"
" \n"
@@ -2773,7 +2779,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:816
+#: builtins.c:821
msgid ""
"Display or manipulate the history list.\n"
" \n"
@@ -2807,7 +2813,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:852
+#: builtins.c:857
msgid ""
"Display status of jobs.\n"
" \n"
@@ -2831,7 +2837,7 @@ msgid ""
" If -x is used, returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:879
+#: builtins.c:884
msgid ""
"Remove jobs from current shell.\n"
" \n"
@@ -2848,7 +2854,7 @@ msgid ""
" Returns success unless an invalid option or JOBSPEC is given."
msgstr ""
-#: builtins.c:898
+#: builtins.c:903
msgid ""
"Send a signal to a job.\n"
" \n"
@@ -2870,7 +2876,7 @@ msgid ""
" Returns success unless an invalid option is given or an error occurs."
msgstr ""
-#: builtins.c:921
+#: builtins.c:926
msgid ""
"Evaluate arithmetic expressions.\n"
" \n"
@@ -2912,10 +2918,10 @@ msgid ""
" rules above.\n"
" \n"
" Exit Status:\n"
-" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise.."
+" If the last ARG evaluates to 0, let returns 1; let returns 0 otherwise."
msgstr ""
-#: builtins.c:966
+#: builtins.c:971
msgid ""
"Read a line from the standard input and split it into fields.\n"
" \n"
@@ -2963,7 +2969,7 @@ msgid ""
" or an invalid file descriptor is supplied as the argument to -u."
msgstr ""
-#: builtins.c:1009
+#: builtins.c:1014
msgid ""
"Return from a shell function.\n"
" \n"
@@ -2975,7 +2981,7 @@ msgid ""
" Returns N, or failure if the shell is not executing a function or script."
msgstr ""
-#: builtins.c:1022
+#: builtins.c:1027
msgid ""
"Set or unset values of shell options and positional parameters.\n"
" \n"
@@ -3044,6 +3050,9 @@ msgid ""
" -P If set, do not follow symbolic links when executing commands\n"
" such as cd which change the current directory.\n"
" -T If set, the DEBUG trap is inherited by shell functions.\n"
+" -- Assign any remaining arguments to the positional parameters.\n"
+" If there are no remaining arguments, the positional parameters\n"
+" are unset.\n"
" - Assign any remaining arguments to the positional parameters.\n"
" The -x and -v options are turned off.\n"
" \n"
@@ -3057,7 +3066,7 @@ msgid ""
" Returns success unless an invalid option is given."
msgstr ""
-#: builtins.c:1104
+#: builtins.c:1112
msgid ""
"Unset values and attributes of shell variables and functions.\n"
" \n"
@@ -3077,7 +3086,7 @@ msgid ""
" Returns success unless an invalid option is given or a NAME is read-only."
msgstr ""
-#: builtins.c:1124
+#: builtins.c:1132
msgid ""
"Set export attribute for shell variables.\n"
" \n"
@@ -3096,7 +3105,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1143
+#: builtins.c:1151
msgid ""
"Mark shell variables as unchangeable.\n"
" \n"
@@ -3116,7 +3125,7 @@ msgid ""
" Returns success unless an invalid option is given or NAME is invalid."
msgstr ""
-#: builtins.c:1164
+#: builtins.c:1172
msgid ""
"Shift positional parameters.\n"
" \n"
@@ -3127,7 +3136,7 @@ msgid ""
" Returns success unless N is negative or greater than $#."
msgstr ""
-#: builtins.c:1176 builtins.c:1191
+#: builtins.c:1184 builtins.c:1199
msgid ""
"Execute commands from a file in the current shell.\n"
" \n"
@@ -3141,7 +3150,7 @@ msgid ""
" FILENAME cannot be read."
msgstr ""
-#: builtins.c:1207
+#: builtins.c:1215
msgid ""
"Suspend shell execution.\n"
" \n"
@@ -3155,14 +3164,17 @@ msgid ""
" Returns success unless job control is not enabled or an error occurs."
msgstr ""
-#: builtins.c:1223
+#: builtins.c:1231
msgid ""
"Evaluate conditional expression.\n"
" \n"
" Exits with a status of 0 (true) or 1 (false) depending on\n"
" the evaluation of EXPR. Expressions may be unary or binary. Unary\n"
" expressions are often used to examine the status of a file. There\n"
-" are string operators as well, and numeric comparison operators.\n"
+" are string operators and numeric comparison operators as well.\n"
+" \n"
+" The behavior of test depends on the number of arguments. Read the\n"
+" bash manual page for the complete specification.\n"
" \n"
" File operators:\n"
" \n"
@@ -3216,6 +3228,7 @@ msgid ""
" Other operators:\n"
" \n"
" -o OPTION True if the shell option OPTION is enabled.\n"
+" -v VAR\t True if the shell variable VAR is set\n"
" ! EXPR True if expr is false.\n"
" EXPR1 -a EXPR2 True if both expr1 AND expr2 are true.\n"
" EXPR1 -o EXPR2 True if either expr1 OR expr2 is true.\n"
@@ -3232,7 +3245,7 @@ msgid ""
" false or an invalid argument is given."
msgstr ""
-#: builtins.c:1299
+#: builtins.c:1311
msgid ""
"Evaluate conditional expression.\n"
" \n"
@@ -3240,7 +3253,7 @@ msgid ""
" be a literal `]', to match the opening `['."
msgstr ""
-#: builtins.c:1308
+#: builtins.c:1320
msgid ""
"Display process times.\n"
" \n"
@@ -3252,7 +3265,7 @@ msgid ""
" Always succeeds."
msgstr ""
-#: builtins.c:1320
+#: builtins.c:1332
msgid ""
"Trap signals and other events.\n"
" \n"
@@ -3268,7 +3281,15 @@ msgid ""
" \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"
+" a SIGNAL_SPEC is DEBUG, ARG is executed before every simple command. "
+"If\n"
+" a SIGNAL_SPEC is RETURN, ARG is executed each time a shell function or "
+"a\n"
+" script run by the . or source builtins finishes executing. A "
+"SIGNAL_SPEC\n"
+" of ERR means to execute ARG each time a command's failure would cause "
+"the\n"
+" shell to exit when the -e option is enabled.\n"
" \n"
" If no arguments are supplied, trap prints the list of commands "
"associated\n"
@@ -3288,7 +3309,7 @@ msgid ""
"given."
msgstr ""
-#: builtins.c:1352
+#: builtins.c:1368
msgid ""
"Display information about command type.\n"
" \n"
@@ -3318,7 +3339,7 @@ msgid ""
"found."
msgstr ""
-#: builtins.c:1383
+#: builtins.c:1399
msgid ""
"Modify shell resource limits.\n"
" \n"
@@ -3362,7 +3383,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1428
+#: builtins.c:1444
msgid ""
"Display or set file mode mask.\n"
" \n"
@@ -3380,7 +3401,7 @@ msgid ""
" Returns success unless MODE is invalid or an invalid option is given."
msgstr ""
-#: builtins.c:1448
+#: builtins.c:1464
msgid ""
"Wait for job completion and return exit status.\n"
" \n"
@@ -3397,7 +3418,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1466
+#: builtins.c:1482
msgid ""
"Wait for process completion and return exit status.\n"
" \n"
@@ -3411,7 +3432,7 @@ msgid ""
" given."
msgstr ""
-#: builtins.c:1481
+#: builtins.c:1497
msgid ""
"Execute commands for each member in a list.\n"
" \n"
@@ -3424,7 +3445,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1495
+#: builtins.c:1511
msgid ""
"Arithmetic for loop.\n"
" \n"
@@ -3441,7 +3462,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1513
+#: builtins.c:1529
msgid ""
"Select words from a list and execute commands.\n"
" \n"
@@ -3461,7 +3482,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1534
+#: builtins.c:1550
msgid ""
"Report time consumed by pipeline's execution.\n"
" \n"
@@ -3477,7 +3498,7 @@ msgid ""
" The return status is the return status of PIPELINE."
msgstr ""
-#: builtins.c:1551
+#: builtins.c:1567
msgid ""
"Execute commands based on pattern matching.\n"
" \n"
@@ -3488,7 +3509,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1563
+#: builtins.c:1579
msgid ""
"Execute commands based on conditional.\n"
" \n"
@@ -3509,7 +3530,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1580
+#: builtins.c:1596
msgid ""
"Execute commands as long as a test succeeds.\n"
" \n"
@@ -3520,7 +3541,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1592
+#: builtins.c:1608
msgid ""
"Execute commands as long as a test does not succeed.\n"
" \n"
@@ -3531,7 +3552,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1604
+#: builtins.c:1620
msgid ""
"Create a coprocess named NAME.\n"
" \n"
@@ -3544,7 +3565,7 @@ msgid ""
" Returns the exit status of COMMAND."
msgstr ""
-#: builtins.c:1618
+#: builtins.c:1634
msgid ""
"Define shell function.\n"
" \n"
@@ -3558,7 +3579,7 @@ msgid ""
" Returns success unless NAME is readonly."
msgstr ""
-#: builtins.c:1632
+#: builtins.c:1648
msgid ""
"Group commands as a unit.\n"
" \n"
@@ -3569,7 +3590,7 @@ msgid ""
" Returns the status of the last command executed."
msgstr ""
-#: builtins.c:1644
+#: builtins.c:1660
msgid ""
"Resume job in foreground.\n"
" \n"
@@ -3583,7 +3604,7 @@ msgid ""
" Returns the status of the resumed job."
msgstr ""
-#: builtins.c:1659
+#: builtins.c:1675
msgid ""
"Evaluate arithmetic expression.\n"
" \n"
@@ -3594,7 +3615,7 @@ msgid ""
" Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise."
msgstr ""
-#: builtins.c:1671
+#: builtins.c:1687
msgid ""
"Execute conditional command.\n"
" \n"
@@ -3622,7 +3643,7 @@ msgid ""
" 0 or 1 depending on value of EXPRESSION."
msgstr ""
-#: builtins.c:1697
+#: builtins.c:1713
msgid ""
"Common shell variable names and usage.\n"
" \n"
@@ -3676,7 +3697,7 @@ msgid ""
" \t\tcommands should be saved on the history list.\n"
msgstr ""
-#: builtins.c:1754
+#: builtins.c:1770
msgid ""
"Add directories to stack.\n"
" \n"
@@ -3707,7 +3728,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1788
+#: builtins.c:1804
msgid ""
"Remove directories from stack.\n"
" \n"
@@ -3734,7 +3755,7 @@ msgid ""
" change fails."
msgstr ""
-#: builtins.c:1818
+#: builtins.c:1834
msgid ""
"Display directory stack.\n"
" \n"
@@ -3763,7 +3784,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1847
+#: builtins.c:1863
msgid ""
"Set and unset shell options.\n"
" \n"
@@ -3784,7 +3805,7 @@ msgid ""
" given or OPTNAME is disabled."
msgstr ""
-#: builtins.c:1868
+#: builtins.c:1884
msgid ""
"Formats and prints ARGUMENTS under control of the FORMAT.\n"
" \n"
@@ -3807,6 +3828,9 @@ msgid ""
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
" %q\tquote the argument in a way that can be reused as shell input\n"
+" %(fmt)T output the date-time string resulting from using FMT as a "
+"format\n"
+" string for strftime(3)\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is given or a write or "
@@ -3814,7 +3838,7 @@ msgid ""
" error occurs."
msgstr ""
-#: builtins.c:1895
+#: builtins.c:1913
msgid ""
"Specify how arguments are to be completed by Readline.\n"
" \n"
@@ -3841,7 +3865,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1923
+#: builtins.c:1941
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -3854,13 +3878,13 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
-#: builtins.c:1938
+#: builtins.c:1956
msgid ""
"Modify or display completion options.\n"
" \n"
" Modify the completion options for each NAME, or, if no NAMEs are "
"supplied,\n"
-" the completion currently begin executed. If no OPTIONs are givenm, "
+" the completion currently being executed. If no OPTIONs are given, "
"print\n"
" the completion options for each NAME or the current completion "
"specification.\n"
@@ -3885,7 +3909,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
-#: builtins.c:1968
+#: builtins.c:1986
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -3913,7 +3937,8 @@ msgid ""
" \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"
+" element to be assigned and the line to be assigned to that element\n"
+" as additional arguments.\n"
" \n"
" If not supplied with an explicit origin, mapfile will clear ARRAY "
"before\n"
@@ -3925,7 +3950,7 @@ msgid ""
" not an indexed array."
msgstr ""
-#: builtins.c:2001
+#: builtins.c:2020
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
diff --git a/print_cmd.c b/print_cmd.c
index e9e8038..4b3a233 100644
--- a/print_cmd.c
+++ b/print_cmd.c
@@ -1,6 +1,6 @@
/* print_command -- A way to make readable commands from a command tree. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -161,7 +161,7 @@ static void
make_command_string_internal (command)
COMMAND *command;
{
- char s[3], *op;
+ char s[3];
if (command == 0)
cprintf ("");
@@ -299,8 +299,7 @@ make_command_string_internal (command)
}
make_command_string_internal (command->value.Connection->second);
- if (deferred_heredocs)
- print_deferred_heredocs ("");
+ PRINT_DEFERRED_HEREDOCS ("");
printing_connection--;
break;
@@ -628,6 +627,7 @@ print_select_command (select_command)
newline ("do\n");
indentation += indentation_amount;
make_command_string_internal (select_command->action);
+ PRINT_DEFERRED_HEREDOCS ("");
semicolon ();
indentation -= indentation_amount;
newline ("done");
@@ -711,6 +711,7 @@ print_case_clauses (clauses)
indentation += indentation_amount;
make_command_string_internal (clauses->action);
indentation -= indentation_amount;
+ PRINT_DEFERRED_HEREDOCS ("");
if (clauses->flags & CASEPAT_FALLTHROUGH)
newline (";&");
else if (clauses->flags & CASEPAT_TESTNEXT)
@@ -744,10 +745,12 @@ print_until_or_while (while_command, which)
cprintf ("%s ", which);
skip_this_indent++;
make_command_string_internal (while_command->test);
+ PRINT_DEFERRED_HEREDOCS ("");
semicolon ();
cprintf (" do\n"); /* was newline ("do\n"); */
indentation += indentation_amount;
make_command_string_internal (while_command->action);
+ PRINT_DEFERRED_HEREDOCS ("");
indentation -= indentation_amount;
semicolon ();
newline ("done");
@@ -764,6 +767,7 @@ print_if_command (if_command)
cprintf (" then\n");
indentation += indentation_amount;
make_command_string_internal (if_command->true_case);
+ PRINT_DEFERRED_HEREDOCS ("");
indentation -= indentation_amount;
if (if_command->false_case)
@@ -772,6 +776,7 @@ print_if_command (if_command)
newline ("else\n");
indentation += indentation_amount;
make_command_string_internal (if_command->false_case);
+ PRINT_DEFERRED_HEREDOCS ("");
indentation -= indentation_amount;
}
semicolon ();
@@ -951,7 +956,7 @@ print_deferred_heredocs (cstring)
cprintf (" ");
print_heredoc_header (hdtail);
}
- if (cstring[0] != ';' || cstring[1])
+ if (cstring[0] && (cstring[0] != ';' || cstring[1]))
cprintf ("%s", cstring);
if (deferred_heredocs)
cprintf ("\n");
@@ -1060,10 +1065,9 @@ static void
print_redirection (redirect)
REDIRECT *redirect;
{
- int kill_leading, redirector, redir_fd;
+ int redirector, redir_fd;
WORD_DESC *redirectee, *redir_word;
- kill_leading = 0;
redirectee = redirect->redirectee.filename;
redir_fd = redirect->redirectee.dest;
@@ -1128,6 +1132,10 @@ print_redirection (redirect)
cprintf ("{%s}", redir_word->word);
else if (redirector != 0)
cprintf ("%d", redirector);
+#if 0
+ /* Don't need to check whether or not to requote, since original quotes
+ are still intact. The only thing that has happened is that $'...'
+ has been replaced with 'expanded ...'. */
if (ansic_shouldquote (redirect->redirectee.filename->word))
{
char *x;
@@ -1136,6 +1144,7 @@ print_redirection (redirect)
free (x);
}
else
+#endif
cprintf ("<<< %s", redirect->redirectee.filename->word);
break;
diff --git a/redir.c b/redir.c
index c7a69f7..921be8c 100644
--- a/redir.c
+++ b/redir.c
@@ -62,13 +62,14 @@ extern int errno;
int expanding_redir;
extern int posixly_correct;
+extern int last_command_exit_value;
extern REDIRECT *redirection_undo_list;
extern REDIRECT *exec_redirection_undo_list;
/* Static functions defined and used in this file. */
-static void add_undo_close_redirect __P((int));
static void add_exec_redirect __P((REDIRECT *));
static int add_undo_redirect __P((int, enum r_instruction, int));
+static int add_undo_close_redirect __P((int));
static int expandable_redirection_filename __P((REDIRECT *));
static int stdin_redirection __P((enum r_instruction, int));
static int undoablefd __P((int));
@@ -93,6 +94,17 @@ static REDIRECTEE rd;
Used to print a reasonable error message. */
static int heredoc_errno;
+#define REDIRECTION_ERROR(r, e, fd) \
+do { \
+ if ((r) < 0) \
+ { \
+ if (fd >= 0) \
+ close (fd); \
+ last_command_exit_value = EXECUTION_FAILURE;\
+ return ((e) == 0 ? EINVAL : (e));\
+ } \
+} while (0)
+
void
redirection_error (temp, error)
REDIRECT *temp;
@@ -437,7 +449,7 @@ here_document_to_fd (redirectee, ri)
/* In an attempt to avoid races, we close the first fd only after opening
the second. */
/* Make the document really temporary. Also make it the input. */
- fd2 = open (filename, O_RDONLY, 0600);
+ fd2 = open (filename, O_RDONLY|O_BINARY, 0600);
if (fd2 < 0)
{
@@ -453,14 +465,6 @@ here_document_to_fd (redirectee, ri)
if (unlink (filename) < 0)
{
r = errno;
-#if defined (__CYGWIN__)
- /* Under CygWin 1.1.0, the unlink will fail if the file is
- open. This hack will allow the previous action of silently
- ignoring the error, but will still leave the file there. This
- needs some kind of magic. */
- if (r == EACCES)
- return (fd2);
-#endif /* __CYGWIN__ */
close (fd2);
free (filename);
errno = r;
@@ -807,15 +811,24 @@ do_redirection_internal (redirect, flags)
if (flags & RX_ACTIVE)
{
if (redirect->rflags & REDIR_VARASSIGN)
- redirector = fcntl (fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ {
+ redirector = fcntl (fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ r = errno;
+ if (redirector < 0)
+ sys_error (_("redirection error: cannot duplicate fd"));
+ REDIRECTION_ERROR (redirector, r, fd);
+ }
if (flags & RX_UNDOABLE)
{
/* Only setup to undo it if the thing to undo is active. */
if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
- add_undo_redirect (redirector, ri, -1);
+ r = add_undo_redirect (redirector, ri, -1);
else
- add_undo_close_redirect (redirector);
+ r = add_undo_close_redirect (redirector);
+ if (r < 0 && (redirect->rflags & REDIR_VARASSIGN))
+ close (redirector);
+ REDIRECTION_ERROR (r, errno, fd);
}
#if defined (BUFFERED_INPUT)
@@ -910,7 +923,13 @@ do_redirection_internal (redirect, flags)
}
if (redirect->rflags & REDIR_VARASSIGN)
- redirector = fcntl (fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ {
+ redirector = fcntl (fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ r = errno;
+ if (redirector < 0)
+ sys_error (_("redirection error: cannot duplicate fd"));
+ REDIRECTION_ERROR (redirector, r, fd);
+ }
if (flags & RX_ACTIVE)
{
@@ -918,9 +937,12 @@ do_redirection_internal (redirect, flags)
{
/* Only setup to undo it if the thing to undo is active. */
if ((fd != redirector) && (fcntl (redirector, F_GETFD, 0) != -1))
- add_undo_redirect (redirector, ri, -1);
+ r = add_undo_redirect (redirector, ri, -1);
else
- add_undo_close_redirect (redirector);
+ r = add_undo_close_redirect (redirector);
+ if (r < 0 && (redirect->rflags & REDIR_VARASSIGN))
+ close (redirector);
+ REDIRECTION_ERROR (r, errno, fd);
}
#if defined (BUFFERED_INPUT)
@@ -964,7 +986,13 @@ do_redirection_internal (redirect, flags)
case r_move_input:
case r_move_output:
if ((flags & RX_ACTIVE) && (redirect->rflags & REDIR_VARASSIGN))
- redirector = fcntl (redir_fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ {
+ redirector = fcntl (redir_fd, F_DUPFD, SHELL_FD_BASE); /* XXX try this for now */
+ r = errno;
+ if (redirector < 0)
+ sys_error (_("redirection error: cannot duplicate fd"));
+ REDIRECTION_ERROR (redirector, r, -1);
+ }
if ((flags & RX_ACTIVE) && (redir_fd != redirector))
{
@@ -972,9 +1000,12 @@ do_redirection_internal (redirect, flags)
{
/* Only setup to undo it if the thing to undo is active. */
if (fcntl (redirector, F_GETFD, 0) != -1)
- add_undo_redirect (redirector, ri, redir_fd);
+ r = add_undo_redirect (redirector, ri, redir_fd);
else
- add_undo_close_redirect (redirector);
+ r = add_undo_close_redirect (redirector);
+ if (r < 0 && (redirect->rflags & REDIR_VARASSIGN))
+ close (redirector);
+ REDIRECTION_ERROR (r, errno, -1);
}
#if defined (BUFFERED_INPUT)
check_bash_input (redirector);
@@ -1046,8 +1077,12 @@ do_redirection_internal (redirect, flags)
return AMBIGUOUS_REDIRECT;
}
+ r = 0;
if ((flags & RX_UNDOABLE) && (fcntl (redirector, F_GETFD, 0) != -1))
- add_undo_redirect (redirector, ri, -1);
+ {
+ r = add_undo_redirect (redirector, ri, -1);
+ REDIRECTION_ERROR (r, errno, redirector);
+ }
#if defined (COPROCESS_SUPPORT)
coproc_fdchk (redirector);
@@ -1081,7 +1116,7 @@ do_redirection_internal (redirect, flags)
since we're going to use it later (e.g., make sure we don't save fd 0
to fd 10 if we have a redirection like 0<&10). If the value of fdbase
puts the process over its fd limit, causing fcntl to fail, we try
- again with SHELL_FD_BASE. */
+ again with SHELL_FD_BASE. Return 0 on success, -1 on error. */
static int
add_undo_redirect (fd, ri, fdbase)
int fd;
@@ -1132,7 +1167,7 @@ add_undo_redirect (fd, ri, fdbase)
above SHELL_FD_BASE, add a redirection to be undone if the exec builtin
causes redirections to be discarded. There needs to be a difference
between fds that are used to save other fds and then are the target of
- user redirctions and fds that are just the target of user redirections.
+ user redirections and fds that are just the target of user redirections.
We use the close-on-exec flag to tell the difference; fds > SHELL_FD_BASE
that have the close-on-exec flag set are assumed to be fds used internally
to save others. */
@@ -1163,8 +1198,8 @@ add_undo_redirect (fd, ri, fdbase)
}
/* Set up to close FD when we are finished with the current command
- and its redirections. */
-static void
+ and its redirections. Return 0 on success, -1 on error. */
+static int
add_undo_close_redirect (fd)
int fd;
{
@@ -1177,6 +1212,8 @@ add_undo_close_redirect (fd)
closer->flags |= RX_INTERNAL;
closer->next = redirection_undo_list;
redirection_undo_list = closer;
+
+ return 0;
}
static void
diff --git a/shell.c b/shell.c
index 8dadb0b..9e74f3b 100644
--- a/shell.c
+++ b/shell.c
@@ -1,6 +1,6 @@
/* shell.c -- GNU's idea of the POSIX shell specification. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -226,7 +226,6 @@ int posixly_correct = 1; /* Non-zero means posix.2 superset. */
int posixly_correct = 0; /* Non-zero means posix.2 superset. */
#endif
-
/* Some long-winded argument names. These are obviously new. */
#define Int 1
#define Charp 2
@@ -271,6 +270,8 @@ int subshell_argc;
char **subshell_argv;
char **subshell_envp;
+char *exec_argv0;
+
#if defined (BUFFERED_INPUT)
/* The file descriptor from which the shell is reading input. */
int default_buffered_input = -1;
@@ -525,21 +526,20 @@ main (argc, argv, env)
else
init_noninteractive ();
-#define CLOSE_FDS_AT_LOGIN
-#if defined (CLOSE_FDS_AT_LOGIN)
/*
* Some systems have the bad habit of starting login shells with lots of open
* file descriptors. For instance, most systems that have picked up the
* pre-4.0 Sun YP code leave a file descriptor open each time you call one
* of the getpw* functions, and it's set to be open across execs. That
- * means one for login, one for xterm, one for shelltool, etc.
+ * means one for login, one for xterm, one for shelltool, etc. There are
+ * also systems that open persistent FDs to other agents or files as part
+ * of process startup; these need to be set to be close-on-exec.
*/
if (login_shell && interactive_shell)
{
for (i = 3; i < 20; i++)
- close (i);
+ SET_CLOSE_ON_EXEC (i);
}
-#endif /* CLOSE_FDS_AT_LOGIN */
/* If we're in a strict Posix.2 mode, turn on interactive comments,
alias expansion in non-interactive shells, and other Posix.2 things. */
@@ -1415,7 +1415,12 @@ open_shell_script (script_name)
}
free (dollar_vars[0]);
- dollar_vars[0] = savestring (script_name);
+ dollar_vars[0] = exec_argv0 ? savestring (exec_argv0) : savestring (script_name);
+ if (exec_argv0)
+ {
+ free (exec_argv0);
+ exec_argv0 = (char *)NULL;
+ }
#if defined (ARRAY_VARS)
GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a);
@@ -1471,10 +1476,6 @@ open_shell_script (script_name)
not match with ours. */
fd = move_to_high_fd (fd, 1, -1);
-#if defined (__CYGWIN__) && defined (O_TEXT)
- setmode (fd, O_TEXT);
-#endif
-
#if defined (BUFFERED_INPUT)
default_buffered_input = fd;
SET_CLOSE_ON_EXEC (default_buffered_input);
@@ -1719,8 +1720,9 @@ shell_initialize ()
initialize_flags ();
/* Initialize the shell options. Don't import the shell options
- from the environment variable $SHELLOPTS if we are running in
- privileged or restricted mode or if the shell is running setuid. */
+ from the environment variables $SHELLOPTS or $BASHOPTS if we are
+ running in privileged or restricted mode or if the shell is running
+ setuid. */
#if defined (RESTRICTED_SHELL)
initialize_shell_options (privileged_mode||restricted||running_setuid);
initialize_bashopts (privileged_mode||restricted||running_setuid);
diff --git a/shell.h b/shell.h
index 5eb0caa..92685e1 100644
--- a/shell.h
+++ b/shell.h
@@ -55,6 +55,8 @@ extern int EOF_Reached;
/* Usage messages by builtins result in a return status of 2. */
#define EX_BADUSAGE 2
+#define EX_MISCERROR 2
+
/* Special exit statuses used by the shell, internally and externally. */
#define EX_RETRYFAIL 124
#define EX_WEXPCOMSUB 125
@@ -142,6 +144,8 @@ typedef struct _sh_parser_state_t {
/* Nothing right now for multibyte state, but might want something later. */
#endif
+ char **prompt_string_pointer;
+
/* history state affecting or modified by the parser */
int current_command_line_count;
#if defined (HISTORY)
diff --git a/sig.c b/sig.c
index a217b89..6bd1319 100644
--- a/sig.c
+++ b/sig.c
@@ -1,6 +1,6 @@
/* sig.c - interface for shell signal handlers and signal initialization. */
-/* Copyright (C) 1994-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -55,10 +55,15 @@
extern int last_command_exit_value;
extern int last_command_exit_signal;
extern int return_catch_flag;
-extern int loop_level, continuing, breaking;
+extern int loop_level, continuing, breaking, funcnest;
extern int executing_list;
extern int comsub_ignore_return;
extern int parse_and_execute_level, shell_initialized;
+#if defined (HISTORY)
+extern int history_lines_this_session;
+#endif
+
+extern void initialize_siglist ();
/* Non-zero after SIGINT. */
volatile int interrupt_state = 0;
@@ -214,7 +219,8 @@ static int termsigs_initialized = 0;
/* Initialize signals that will terminate the shell to do some
unwind protection. For non-interactive shells, we only call
- this when a trap is defined for EXIT (0). */
+ this when a trap is defined for EXIT (0) or when trap is run
+ to display signal dispositions. */
void
initialize_terminating_signals ()
{
@@ -248,7 +254,8 @@ initialize_terminating_signals ()
XSAFLAGS(i) = oact.sa_flags;
/* Don't do anything with signals that are ignored at shell entry
if the shell is not interactive. */
- if (!interactive_shell && XHANDLER (i) == SIG_IGN)
+ /* XXX - should we do this for interactive shells, too? */
+ if (interactive_shell == 0 && XHANDLER (i) == SIG_IGN)
{
sigaction (XSIG (i), &oact, &act);
set_signal_ignored (XSIG (i));
@@ -271,7 +278,8 @@ initialize_terminating_signals ()
XSAFLAGS(i) = 0;
/* Don't do anything with signals that are ignored at shell entry
if the shell is not interactive. */
- if (!interactive_shell && XHANDLER (i) == SIG_IGN)
+ /* XXX - should we do this for interactive shells, too? */
+ if (interactive_shell == 0 && XHANDLER (i) == SIG_IGN)
{
signal (XSIG (i), SIG_IGN);
set_signal_ignored (XSIG (i));
@@ -367,7 +375,7 @@ top_level_cleanup ()
#endif /* PROCESS_SUBSTITUTION */
run_unwind_protects ();
- loop_level = continuing = breaking = 0;
+ loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = 0;
}
@@ -418,7 +426,7 @@ throw_to_top_level ()
#endif /* PROCESS_SUBSTITUTION */
run_unwind_protects ();
- loop_level = continuing = breaking = 0;
+ loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = 0;
if (interactive && print_newline)
@@ -495,6 +503,10 @@ termsig_sighandler (sig)
/* XXX - should this also trigger when interrupt_immediately is set? */
if (terminate_immediately)
{
+#if defined (HISTORY)
+ /* XXX - will inhibit history file being written */
+ history_lines_this_session = 0;
+#endif
terminate_immediately = 0;
termsig_handler (sig);
}
@@ -536,7 +548,7 @@ termsig_handler (sig)
#endif /* PROCESS_SUBSTITUTION */
/* Reset execution context */
- loop_level = continuing = breaking = 0;
+ loop_level = continuing = breaking = funcnest = 0;
executing_list = comsub_ignore_return = return_catch_flag = 0;
run_exit_trap ();
@@ -650,12 +662,13 @@ set_signal_handler (sig, handler)
act.sa_handler = handler;
act.sa_flags = 0;
-#if 0
- if (sig == SIGALRM)
- act.sa_flags |= SA_INTERRUPT; /* XXX */
- else
+
+ /* XXX - bash-4.2 */
+ /* We don't want a child death to interrupt interruptible system calls, even
+ if we take the time to reap children */
+ if (sig == SIGCHLD)
act.sa_flags |= SA_RESTART; /* XXX */
-#endif
+
sigemptyset (&act.sa_mask);
sigemptyset (&oact.sa_mask);
sigaction (sig, &act, &oact);
diff --git a/subst.c b/subst.c
index 89c4d7b..145e937 100644
--- a/subst.c
+++ b/subst.c
@@ -4,7 +4,7 @@
/* ``Have a little faith, there's magic in the night. You ain't a
beauty, but, hey, you're alright.'' */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -42,6 +42,7 @@
#include "bashintl.h"
#include "shell.h"
+#include "parser.h"
#include "flags.h"
#include "jobs.h"
#include "execute_cmd.h"
@@ -51,6 +52,7 @@
#include "mailcheck.h"
#include "shmbutil.h"
+#include "typemax.h"
#include "builtins/getopt.h"
#include "builtins/common.h"
@@ -107,7 +109,7 @@ extern int errno;
/* Evaluates to 1 if C is one of the shell's special parameters for which an
indirect variable reference may be made. */
#define VALID_INDIR_PARAM(c) \
- ((c) == '#' || (c) == '?' || (c) == '@' || (c) == '*')
+ ((posixly_correct == 0 && (c) == '#') || (posixly_correct == 0 && (c) == '?') || (c) == '@' || (c) == '*')
/* Evaluates to 1 if C is one of the OP characters that follows the parameter
in ${parameter[:]OPword}. */
@@ -244,10 +246,8 @@ static wchar_t *remove_wpattern __P((wchar_t *, size_t, wchar_t *, int));
#endif
static char *remove_pattern __P((char *, char *, int));
-static int match_pattern_char __P((char *, char *));
static int match_upattern __P((char *, char *, int, char **, char **));
#if defined (HANDLE_MULTIBYTE)
-static int match_pattern_wchar __P((wchar_t *, wchar_t *));
static int match_wpattern __P((wchar_t *, char **, size_t, wchar_t *, int, char **, char **));
#endif
static int match_pattern __P((char *, char *, int, char **, char **));
@@ -259,7 +259,7 @@ static char *parameter_list_remove_pattern __P((int, char *, int, int));
#ifdef ARRAY_VARS
static char *array_remove_pattern __P((SHELL_VAR *, char *, int, char *, int));
#endif
-static char *parameter_brace_remove_pattern __P((char *, char *, char *, int, int));
+static char *parameter_brace_remove_pattern __P((char *, char *, int, char *, int, int, int));
static char *process_substitute __P((char *, int));
@@ -273,7 +273,7 @@ static int valid_brace_expansion_word __P((char *, int));
static int chk_atstar __P((char *, int, int *, int *));
static int chk_arithsub __P((const char *, int));
-static WORD_DESC *parameter_brace_expand_word __P((char *, int, int, int));
+static WORD_DESC *parameter_brace_expand_word __P((char *, int, int, int, arrayind_t *));
static WORD_DESC *parameter_brace_expand_indir __P((char *, int, int, int *, int *));
static WORD_DESC *parameter_brace_expand_rhs __P((char *, char *, int, int, int *, int *));
static void parameter_brace_expand_error __P((char *, char *));
@@ -283,16 +283,18 @@ static intmax_t parameter_brace_expand_length __P((char *));
static char *skiparith __P((char *, int));
static int verify_substring_values __P((SHELL_VAR *, char *, char *, int, intmax_t *, intmax_t *));
-static int get_var_and_type __P((char *, char *, int, SHELL_VAR **, char **));
+static int get_var_and_type __P((char *, char *, arrayind_t, int, int, SHELL_VAR **, char **));
static char *mb_substring __P((char *, int, int));
-static char *parameter_brace_substring __P((char *, char *, char *, int));
+static char *parameter_brace_substring __P((char *, char *, int, char *, int, int));
+
+static int shouldexp_replacement __P((char *));
static char *pos_params_pat_subst __P((char *, char *, char *, int));
-static char *parameter_brace_patsub __P((char *, char *, char *, int));
+static char *parameter_brace_patsub __P((char *, char *, int, char *, int, int));
static char *pos_params_casemod __P((char *, char *, int, int));
-static char *parameter_brace_casemod __P((char *, char *, int, char *, int));
+static char *parameter_brace_casemod __P((char *, char *, int, int, char *, int, int));
static WORD_DESC *parameter_brace_expand __P((char *, int *, int, int, int *, int *));
static WORD_DESC *param_expand __P((char *, int *, int, int *, int *, int *, int *, int));
@@ -608,7 +610,6 @@ unquoted_substring (substr, string)
{
case '\\':
sindex++;
-
if (string[sindex])
ADVANCE_CHAR (string, slen, sindex);
break;
@@ -785,6 +786,7 @@ string_extract_double_quoted (string, sindex, stripdq)
/* Process a character that was quoted by a backslash. */
if (pass_next)
{
+ /* XXX - take another look at this in light of Interp 221 */
/* Posix.2 sez:
``The backslash shall retain its special meaning as an escape
@@ -858,7 +860,7 @@ add_one_character:
if (string[i + 1] == LPAREN)
ret = extract_command_subst (string, &si, 0);
else
- ret = extract_dollar_brace_string (string, &si, 1, 0);
+ ret = extract_dollar_brace_string (string, &si, Q_DOUBLE_QUOTES, 0);
temp[j++] = '$';
temp[j++] = string[i + 1];
@@ -960,7 +962,7 @@ skip_double_quoted (string, slen, sind)
if (string[i + 1] == LPAREN)
ret = extract_command_subst (string, &si, SX_NOALLOC);
else
- ret = extract_dollar_brace_string (string, &si, 1, SX_NOALLOC);
+ ret = extract_dollar_brace_string (string, &si, Q_DOUBLE_QUOTES, SX_NOALLOC);
i = si + 1;
continue;
@@ -1264,17 +1266,15 @@ extract_delimited_string (string, sindex, opener, alt_opener, closer, flags)
continue;
}
-#if 0
- /* Process a nested command substitution, but only if we're parsing a
- command substitution. XXX - for bash-4.2 */
+ /* Process a nested command substitution, but only if we're parsing an
+ arithmetic substitution. */
if ((flags & SX_COMMAND) && string[i] == '$' && string[i+1] == LPAREN)
{
si = i + 2;
- t = extract_command_subst (string, &si, flags);
+ t = extract_command_subst (string, &si, flags|SX_NOALLOC);
i = si + 1;
continue;
}
-#endif
/* Process a nested OPENER. */
if (STREQN (string + i, opener, len_opener))
@@ -1370,7 +1370,7 @@ extract_dollar_brace_string (string, sindex, quoted, flags)
{
register int i, c;
size_t slen;
- int pass_character, nesting_level, si;
+ int pass_character, nesting_level, si, dolbrace_state;
char *result, *t;
DECLARE_MBSTATE;
@@ -1378,6 +1378,12 @@ extract_dollar_brace_string (string, sindex, quoted, flags)
nesting_level = 1;
slen = strlen (string + *sindex) + *sindex;
+ /* The handling of dolbrace_state needs to agree with the code in parse.y:
+ parse_matched_pair() */
+ dolbrace_state = 0;
+ if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+ dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM;
+
i = *sindex;
while (c = string[i])
{
@@ -1432,6 +1438,7 @@ extract_dollar_brace_string (string, sindex, quoted, flags)
continue;
}
+#if 0
/* Pass the contents of single-quoted and double-quoted strings
through verbatim. */
if (c == '\'' || c == '"')
@@ -1442,9 +1449,50 @@ extract_dollar_brace_string (string, sindex, quoted, flags)
/* skip_XXX_quoted leaves index one past close quote */
continue;
}
+#else /* XXX - bash-4.2 */
+ /* Pass the contents of double-quoted strings through verbatim. */
+ if (c == '"')
+ {
+ si = i + 1;
+ i = skip_double_quoted (string, slen, si);
+ /* skip_XXX_quoted leaves index one past close quote */
+ continue;
+ }
+
+ if (c == '\'')
+ {
+/*itrace("extract_dollar_brace_string: c == single quote flags = %d quoted = %d dolbrace_state = %d", flags, quoted, dolbrace_state);*/
+ if (posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)))
+ ADVANCE_CHAR (string, slen, i);
+ else
+ {
+ si = i + 1;
+ i = skip_single_quoted (string, slen, si);
+ }
+
+ continue;
+ }
+#endif
/* move past this character, which was not special. */
ADVANCE_CHAR (string, slen, i);
+
+ /* This logic must agree with parse.y:parse_matched_pair, since they
+ share the same defines. */
+ if (dolbrace_state == DOLBRACE_PARAM && c == '%' && (i - *sindex) > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if (dolbrace_state == DOLBRACE_PARAM && c == '#' && (i - *sindex) > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if (dolbrace_state == DOLBRACE_PARAM && c == '/' && (i - *sindex) > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if (dolbrace_state == DOLBRACE_PARAM && c == '^' && (i - *sindex) > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if (dolbrace_state == DOLBRACE_PARAM && c == ',' && (i - *sindex) > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if (dolbrace_state == DOLBRACE_PARAM && strchr ("#%^,~:-=?+/", c) != 0)
+ dolbrace_state = DOLBRACE_OP;
+ else if (dolbrace_state == DOLBRACE_OP && strchr ("#%^,~:-=?+/", c) == 0)
+ dolbrace_state = DOLBRACE_WORD;
}
if (c == 0 && nesting_level)
@@ -1645,7 +1693,7 @@ skip_to_delim (string, start, delims, flags)
{
int i, pass_next, backq, si, c, invert, skipquote, skipcmd;
size_t slen;
- char *temp;
+ char *temp, open[3];
DECLARE_MBSTATE;
slen = strlen (string + start) + start;
@@ -1728,6 +1776,25 @@ skip_to_delim (string, start, delims, flags)
continue;
}
#endif /* PROCESS_SUBSTITUTION */
+#if defined (EXTENDED_GLOB)
+ else if ((flags & SD_EXTGLOB) && extended_glob && string[i+1] == LPAREN && member (c, "?*+!@"))
+ {
+ si = i + 2;
+ if (string[si] == '\0')
+ CQ_RETURN(si);
+
+ open[0] = c;
+ open[1] = LPAREN;
+ open[2] = '\0';
+ temp = extract_delimited_string (string, &si, open, "(", ")", SX_NOALLOC); /* ) */
+
+ i = si;
+ if (string[i] == '\0') /* don't increment i past EOS in loop */
+ break;
+ i++;
+ continue;
+ }
+#endif
else if ((skipquote || invert) && (member (c, delims) == 0))
break;
else
@@ -2230,11 +2297,7 @@ string_list_dollar_at (list, quoted)
/* XXX -- why call quote_list if ifs == 0? we can get away without doing
it now that quote_escapes quotes spaces */
-#if 0
- tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0))
-#else
tlist = (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES|Q_PATQUOTE))
-#endif
? quote_list (list)
: list_quote_escapes (list);
@@ -2661,8 +2724,8 @@ do_assignment_internal (word, expand)
const WORD_DESC *word;
int expand;
{
- int offset, tlen, appendop, assign_list, aflags, retval;
- char *name, *value;
+ int offset, appendop, assign_list, aflags, retval;
+ char *name, *value, *temp;
SHELL_VAR *entry;
#if defined (ARRAY_VARS)
char *t;
@@ -2681,8 +2744,6 @@ do_assignment_internal (word, expand)
if (name[offset] == '=')
{
- char *temp;
-
if (name[offset - 1] == '+')
{
appendop = 1;
@@ -2691,7 +2752,6 @@ do_assignment_internal (word, expand)
name[offset] = 0; /* might need this set later */
temp = name + offset + 1;
- tlen = STRLEN (temp);
#if defined (ARRAY_VARS)
if (expand && (word->flags & W_COMPASSIGN))
@@ -2792,8 +2852,9 @@ do_assignment (string)
}
int
-do_word_assignment (word)
+do_word_assignment (word, flags)
WORD_DESC *word;
+ int flags;
{
return do_assignment_internal (word, 1);
}
@@ -3721,6 +3782,7 @@ mb_getcharlens (string, len)
#define RP_LONG_RIGHT 3
#define RP_SHORT_RIGHT 4
+/* Returns its first argument if nothing matched; new memory otherwise */
static char *
remove_upattern (param, pattern, op)
char *param, *pattern;
@@ -3789,10 +3851,11 @@ remove_upattern (param, pattern, op)
break;
}
- return (savestring (param)); /* no match, return original string */
+ return (param); /* no match, return original string */
}
#if defined (HANDLE_MULTIBYTE)
+/* Returns its first argument if nothing matched; new memory otherwise */
static wchar_t *
remove_wpattern (wparam, wstrlen, wpattern, op)
wchar_t *wparam;
@@ -3858,7 +3921,7 @@ remove_wpattern (wparam, wstrlen, wpattern, op)
break;
}
- return (wcsdup (wparam)); /* no match, return original string */
+ return (wparam); /* no match, return original string */
}
#endif /* HANDLE_MULTIBYTE */
@@ -3867,6 +3930,8 @@ remove_pattern (param, pattern, op)
char *param, *pattern;
int op;
{
+ char *xret;
+
if (param == NULL)
return (param);
if (*param == '\0' || pattern == NULL || *pattern == '\0') /* minor optimization */
@@ -3879,18 +3944,29 @@ remove_pattern (param, pattern, op)
size_t n;
wchar_t *wparam, *wpattern;
mbstate_t ps;
- char *xret;
n = xdupmbstowcs (&wpattern, NULL, pattern);
if (n == (size_t)-1)
- return (remove_upattern (param, pattern, op));
+ {
+ xret = remove_upattern (param, pattern, op);
+ return ((xret == param) ? savestring (param) : xret);
+ }
n = xdupmbstowcs (&wparam, NULL, param);
if (n == (size_t)-1)
{
free (wpattern);
- return (remove_upattern (param, pattern, op));
+ xret = remove_upattern (param, pattern, op);
+ return ((xret == param) ? savestring (param) : xret);
}
oret = ret = remove_wpattern (wparam, n, wpattern, op);
+ /* Don't bother to convert wparam back to multibyte string if nothing
+ matched; just return copy of original string */
+ if (ret == wparam)
+ {
+ free (wparam);
+ free (wpattern);
+ return (savestring (param));
+ }
free (wparam);
free (wpattern);
@@ -3905,36 +3981,9 @@ remove_pattern (param, pattern, op)
}
else
#endif
- return (remove_upattern (param, pattern, op));
-}
-
-/* Return 1 of the first character of STRING could match the first
- character of pattern PAT. Used to avoid n2 calls to strmatch(). */
-static int
-match_pattern_char (pat, string)
- char *pat, *string;
-{
- char c;
-
- if (*string == 0)
- return (0);
-
- switch (c = *pat++)
{
- default:
- return (*string == c);
- case '\\':
- return (*string == *pat);
- case '?':
- return (*pat == LPAREN ? 1 : (*string != '\0'));
- case '*':
- return (1);
- case '+':
- case '!':
- case '@':
- return (*pat == LPAREN ? 1 : (*string == c));
- case '[':
- return (*string != '\0');
+ xret = remove_upattern (param, pattern, op);
+ return ((xret == param) ? savestring (param) : xret);
}
}
@@ -3950,9 +3999,10 @@ match_upattern (string, pat, mtype, sp, ep)
int mtype;
char **sp, **ep;
{
- int c, len;
+ int c, len, mlen;
register char *p, *p1, *npat;
char *end;
+ int n1;
/* If the pattern doesn't match anywhere in the string, go ahead and
short-circuit right away. A minor optimization, saves a bunch of
@@ -3986,6 +4036,8 @@ match_upattern (string, pat, mtype, sp, ep)
len = STRLEN (string);
end = string + len;
+ mlen = umatchlen (pat, len);
+
switch (mtype)
{
case MATCH_ANY:
@@ -3993,7 +4045,22 @@ match_upattern (string, pat, mtype, sp, ep)
{
if (match_pattern_char (pat, p))
{
+#if 0
for (p1 = end; p1 >= p; p1--)
+#else
+ p1 = (mlen == -1) ? end : p + mlen;
+ /* p1 - p = length of portion of string to be considered
+ p = current position in string
+ mlen = number of characters consumed by match (-1 for entire string)
+ end = end of string
+ we want to break immediately if the potential match len
+ is greater than the number of characters remaining in the
+ string
+ */
+ if (p1 > end)
+ break;
+ for ( ; p1 >= p; p1--)
+#endif
{
c = *p1; *p1 = '\0';
if (strmatch (pat, p, FNMATCH_EXTFLAG) == 0)
@@ -4004,6 +4071,11 @@ match_upattern (string, pat, mtype, sp, ep)
return 1;
}
*p1 = c;
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
}
}
@@ -4014,7 +4086,11 @@ match_upattern (string, pat, mtype, sp, ep)
if (match_pattern_char (pat, string) == 0)
return (0);
+#if 0
for (p = end; p >= string; p--)
+#else
+ for (p = (mlen == -1) ? end : string + mlen; p >= string; p--)
+#endif
{
c = *p; *p = '\0';
if (strmatch (pat, string, FNMATCH_EXTFLAG) == 0)
@@ -4025,12 +4101,21 @@ match_upattern (string, pat, mtype, sp, ep)
return 1;
}
*p = c;
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
return (0);
case MATCH_END:
+#if 0
for (p = string; p <= end; p++)
+#else
+ for (p = end - ((mlen == -1) ? len : mlen); p <= end; p++)
+#endif
{
if (strmatch (pat, p, FNMATCH_EXTFLAG) == 0)
{
@@ -4038,7 +4123,11 @@ match_upattern (string, pat, mtype, sp, ep)
*ep = end;
return 1;
}
-
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
return (0);
@@ -4048,36 +4137,6 @@ match_upattern (string, pat, mtype, sp, ep)
}
#if defined (HANDLE_MULTIBYTE)
-/* Return 1 of the first character of WSTRING could match the first
- character of pattern WPAT. Wide character version. */
-static int
-match_pattern_wchar (wpat, wstring)
- wchar_t *wpat, *wstring;
-{
- wchar_t wc;
-
- if (*wstring == 0)
- return (0);
-
- switch (wc = *wpat++)
- {
- default:
- return (*wstring == wc);
- case L'\\':
- return (*wstring == *wpat);
- case L'?':
- return (*wpat == LPAREN ? 1 : (*wstring != L'\0'));
- case L'*':
- return (1);
- case L'+':
- case L'!':
- case L'@':
- return (*wpat == LPAREN ? 1 : (*wstring == wc));
- case L'[':
- return (*wstring != L'\0');
- }
-}
-
/* Match WPAT anywhere in WSTRING and return the match boundaries.
This returns 1 in case of a successful match, 0 otherwise. Wide
character version. */
@@ -4091,11 +4150,14 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
char **sp, **ep;
{
wchar_t wc, *wp, *nwpat, *wp1;
- int len;
-#if 0
- size_t n, n1; /* Apple's gcc seems to miscompile this badly */
-#else
- int n, n1;
+ size_t len;
+ int mlen;
+ int n, n1, n2, simple;
+
+ simple = (wpat[0] != L'\\' && wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'[');
+#if defined (EXTENDED_GLOB)
+ if (extended_glob)
+ simple |= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/
#endif
/* If the pattern doesn't match anywhere in the string, go ahead and
@@ -4104,8 +4166,6 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
characters) if the match is unsuccessful. To preserve the semantics
of the substring matches below, we make sure that the pattern has
`*' as first and last character, making a new pattern if necessary. */
- /* XXX - check this later if I ever implement `**' with special meaning,
- since this will potentially result in `**' at the beginning or end */
len = wcslen (wpat);
if (wpat[0] != L'*' || (wpat[0] == L'*' && wpat[1] == WLPAREN && extended_glob) || wpat[len - 1] != L'*')
{
@@ -4127,14 +4187,30 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
if (len == FNM_NOMATCH)
return (0);
+ mlen = wmatchlen (wpat, wstrlen);
+
+/* itrace("wmatchlen (%ls) -> %d", wpat, mlen); */
switch (mtype)
{
case MATCH_ANY:
for (n = 0; n <= wstrlen; n++)
{
- if (match_pattern_wchar (wpat, wstring + n))
+#if 1
+ n2 = simple ? (*wpat == wstring[n]) : match_pattern_wchar (wpat, wstring + n);
+#else
+ n2 = match_pattern_wchar (wpat, wstring + n);
+#endif
+ if (n2)
{
+#if 0
for (n1 = wstrlen; n1 >= n; n1--)
+#else
+ n1 = (mlen == -1) ? wstrlen : n + mlen;
+ if (n1 > wstrlen)
+ break;
+
+ for ( ; n1 >= n; n1--)
+#endif
{
wc = wstring[n1]; wstring[n1] = L'\0';
if (wcsmatch (wpat, wstring + n, FNMATCH_EXTFLAG) == 0)
@@ -4145,6 +4221,11 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
return 1;
}
wstring[n1] = wc;
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
}
}
@@ -4155,7 +4236,11 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
if (match_pattern_wchar (wpat, wstring) == 0)
return (0);
+#if 0
for (n = wstrlen; n >= 0; n--)
+#else
+ for (n = (mlen == -1) ? wstrlen : mlen; n >= 0; n--)
+#endif
{
wc = wstring[n]; wstring[n] = L'\0';
if (wcsmatch (wpat, wstring, FNMATCH_EXTFLAG) == 0)
@@ -4166,12 +4251,21 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
return 1;
}
wstring[n] = wc;
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
return (0);
case MATCH_END:
+#if 0
for (n = 0; n <= wstrlen; n++)
+#else
+ for (n = wstrlen - ((mlen == -1) ? wstrlen : mlen); n <= wstrlen; n++)
+#endif
{
if (wcsmatch (wpat, wstring + n, FNMATCH_EXTFLAG) == 0)
{
@@ -4179,6 +4273,11 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
*ep = indices[wstrlen];
return 1;
}
+#if 1
+ /* If MLEN != -1, we have a fixed length pattern. */
+ if (mlen != -1)
+ break;
+#endif
}
return (0);
@@ -4199,6 +4298,7 @@ match_pattern (string, pat, mtype, sp, ep)
size_t n;
wchar_t *wstring, *wpat;
char **indices;
+ size_t slen, plen, mslen, mplen;
#endif
if (string == 0 || *string == 0 || pat == 0 || *pat == 0)
@@ -4207,6 +4307,17 @@ match_pattern (string, pat, mtype, sp, ep)
#if defined (HANDLE_MULTIBYTE)
if (MB_CUR_MAX > 1)
{
+#if 0
+ slen = STRLEN (string);
+ mslen = MBSLEN (string);
+ plen = STRLEN (pat);
+ mplen = MBSLEN (pat);
+ if (slen == mslen && plen == mplen)
+#else
+ if (mbsmbchar (string) == 0 && mbsmbchar (pat) == 0)
+#endif
+ return (match_upattern (string, pat, mtype, sp, ep));
+
n = xdupmbstowcs (&wpat, NULL, pat);
if (n == (size_t)-1)
return (match_upattern (string, pat, mtype, sp, ep));
@@ -4382,9 +4493,11 @@ array_remove_pattern (var, pattern, patspec, varname, quoted)
#endif /* ARRAY_VARS */
static char *
-parameter_brace_remove_pattern (varname, value, patstr, rtype, quoted)
- char *varname, *value, *patstr;
- int rtype, quoted;
+parameter_brace_remove_pattern (varname, value, ind, patstr, rtype, quoted, flags)
+ char *varname, *value;
+ int ind;
+ char *patstr;
+ int rtype, quoted, flags;
{
int vtype, patspec, starsub;
char *temp1, *val, *pattern;
@@ -4395,7 +4508,7 @@ parameter_brace_remove_pattern (varname, value, patstr, rtype, quoted)
this_command_name = varname;
- vtype = get_var_and_type (varname, value, quoted, &v, &val);
+ vtype = get_var_and_type (varname, value, ind, quoted, flags, &v, &val);
if (vtype == -1)
return ((char *)NULL);
@@ -4549,6 +4662,15 @@ static struct temp_fifo *fifo_list = (struct temp_fifo *)NULL;
static int nfifo;
static int fifo_list_size;
+char *
+copy_fifo_list (sizep)
+ int *sizep;
+{
+ if (sizep)
+ *sizep = 0;
+ return (char *)NULL;
+}
+
static void
add_fifo_list (pathname)
char *pathname;
@@ -4565,6 +4687,19 @@ add_fifo_list (pathname)
}
void
+unlink_fifo (i)
+ int i;
+{
+ if ((fifo_list[i].proc == -1) || (kill(fifo_list[i].proc, 0) == -1))
+ {
+ unlink (fifo_list[i].file);
+ free (fifo_list[i].file);
+ fifo_list[i].file = (char *)NULL;
+ fifo_list[i].proc = -1;
+ }
+}
+
+void
unlink_fifo_list ()
{
int saved, i, j;
@@ -4601,12 +4736,44 @@ unlink_fifo_list ()
nfifo = 0;
}
+/* Take LIST, which is a bitmap denoting active FIFOs in fifo_list
+ from some point in the past, and close all open FIFOs in fifo_list
+ that are not marked as active in LIST. If LIST is NULL, close
+ everything in fifo_list. LSIZE is the number of elements in LIST, in
+ case it's larger than fifo_list_size (size of fifo_list). */
+void
+close_new_fifos (list, lsize)
+ char *list;
+ int lsize;
+{
+ int i;
+
+ if (list == 0)
+ {
+ unlink_fifo_list ();
+ return;
+ }
+
+ for (i = 0; i < lsize; i++)
+ if (list[i] == 0 && i < fifo_list_size && fifo_list[i].proc != -1)
+ unlink_fifo (i);
+
+ for (i = lsize; i < fifo_list_size; i++)
+ unlink_fifo (i);
+}
+
int
fifos_pending ()
{
return nfifo;
}
+int
+num_fifos ()
+{
+ return nfifo;
+}
+
static char *
make_named_pipe ()
{
@@ -4633,11 +4800,30 @@ static char *dev_fd_list = (char *)NULL;
static int nfds;
static int totfds; /* The highest possible number of open files. */
+char *
+copy_fifo_list (sizep)
+ int *sizep;
+{
+ char *ret;
+
+ if (nfds == 0 || totfds == 0)
+ {
+ if (sizep)
+ *sizep = 0;
+ return (char *)NULL;
+ }
+
+ if (sizep)
+ *sizep = totfds;
+ ret = (char *)xmalloc (totfds);
+ return (memcpy (ret, dev_fd_list, totfds));
+}
+
static void
add_fifo_list (fd)
int fd;
{
- if (!dev_fd_list || fd >= totfds)
+ if (dev_fd_list == 0 || fd >= totfds)
{
int ofds;
@@ -4662,6 +4848,24 @@ fifos_pending ()
return 0; /* used for cleanup; not needed with /dev/fd */
}
+int
+num_fifos ()
+{
+ return nfds;
+}
+
+void
+unlink_fifo (fd)
+ int fd;
+{
+ if (dev_fd_list[fd])
+ {
+ close (fd);
+ dev_fd_list[fd] = 0;
+ nfds--;
+ }
+}
+
void
unlink_fifo_list ()
{
@@ -4671,16 +4875,37 @@ unlink_fifo_list ()
return;
for (i = 0; nfds && i < totfds; i++)
- if (dev_fd_list[i])
- {
- close (i);
- dev_fd_list[i] = 0;
- nfds--;
- }
+ unlink_fifo (i);
nfds = 0;
}
+/* Take LIST, which is a snapshot copy of dev_fd_list from some point in
+ the past, and close all open fds in dev_fd_list that are not marked
+ as open in LIST. If LIST is NULL, close everything in dev_fd_list.
+ LSIZE is the number of elements in LIST, in case it's larger than
+ totfds (size of dev_fd_list). */
+void
+close_new_fifos (list, lsize)
+ char *list;
+ int lsize;
+{
+ int i;
+
+ if (list == 0)
+ {
+ unlink_fifo_list ();
+ return;
+ }
+
+ for (i = 0; i < lsize; i++)
+ if (list[i] == 0 && i < totfds && dev_fd_list[i])
+ unlink_fifo (i);
+
+ for (i = lsize; i < totfds; i++)
+ unlink_fifo (i);
+}
+
#if defined (NOTDEF)
print_dev_fd_list ()
{
@@ -4786,7 +5011,7 @@ process_substitute (string, open_for_read_in_child)
reset_terminating_signals (); /* XXX */
free_pushed_string_input ();
/* Cancel traps, in trap.c. */
- restore_original_signals ();
+ restore_original_signals (); /* XXX - what about special builtins? bash-4.2 */
setup_async_signals ();
subshell_environment |= SUBSHELL_COMSUB|SUBSHELL_PROCSUB;
}
@@ -4922,10 +5147,6 @@ read_comsub (fd, quoted, rflag)
for (skip_ctlesc = skip_ctlnul = 0, s = ifs_value; s && *s; s++)
skip_ctlesc |= *s == CTLESC, skip_ctlnul |= *s == CTLNUL;
-#ifdef __CYGWIN__
- setmode (fd, O_TEXT); /* we don't want CR/LF, we want Unix-style */
-#endif
-
/* Read the output of the command through the pipe. This may need to be
changed to understand multibyte characters in the future. */
while (1)
@@ -5079,9 +5300,13 @@ command_substitute (string, quoted)
last_asynchronous_pid = old_async_pid;
if (pid == 0)
- /* Reset the signal handlers in the child, but don't free the
- trap strings. */
- reset_signal_handlers ();
+ {
+ /* Reset the signal handlers in the child, but don't free the
+ trap strings. Set a flag noting that we have to free the
+ trap strings if we run trap to change a signal disposition. */
+ reset_signal_handlers ();
+ subshell_environment |= SUBSHELL_RESETTRAP;
+ }
#if defined (JOB_CONTROL)
/* XXX DO THIS ONLY IN PARENT ? XXX */
@@ -5132,6 +5357,13 @@ command_substitute (string, quoted)
(fildes[0] != fileno (stderr)))
close (fildes[0]);
+#ifdef __CYGWIN__
+ /* Let stdio know the fd may have changed from text to binary mode, and
+ make sure to preserve stdout line buffering. */
+ freopen (NULL, "w", stdout);
+ sh_setlinebuf (stdout);
+#endif /* __CYGWIN__ */
+
/* The currently executing shell is not interactive. */
interactive = 0;
@@ -5211,11 +5443,7 @@ command_substitute (string, quoted)
pipline, so what we are concerned about is whether or not that
pipeline was started in the background. A pipeline started in
the background should never get the tty back here. */
-#if 0
- if (interactive && pipeline_pgrp != (pid_t)0 && pipeline_pgrp != last_asynchronous_pid)
-#else
if (interactive && pipeline_pgrp != (pid_t)0 && (subshell_environment & SUBSHELL_ASYNC) == 0)
-#endif
give_terminal_to (pipeline_pgrp, 0);
#endif /* JOB_CONTROL */
@@ -5244,6 +5472,7 @@ array_length_reference (s)
char *akey;
char *t, c;
ARRAY *array;
+ HASH_TABLE *h;
SHELL_VAR *var;
var = array_variable_part (s, &t, &len);
@@ -5267,15 +5496,16 @@ array_length_reference (s)
v[*]. Return 0 for everything else. */
array = array_p (var) ? array_cell (var) : (ARRAY *)NULL;
+ h = assoc_p (var) ? assoc_cell (var) : (HASH_TABLE *)NULL;
if (ALL_ELEMENT_SUB (t[0]) && t[1] == ']')
{
if (assoc_p (var))
- return (assoc_num_elements (assoc_cell (var)));
+ return (h ? assoc_num_elements (h) : 0);
else if (array_p (var))
- return (array_num_elements (array));
+ return (array ? array_num_elements (array) : 0);
else
- return 1;
+ return (var_isset (var) ? 1 : 0);
}
if (assoc_p (var))
@@ -5393,20 +5623,25 @@ chk_atstar (name, quoted, quoted_dollar_atp, contains_dollar_at)
the shell, e.g., "@", "$", "*", etc. QUOTED, if non-zero, means that
NAME was found inside of a double-quoted expression. */
static WORD_DESC *
-parameter_brace_expand_word (name, var_is_special, quoted, pflags)
+parameter_brace_expand_word (name, var_is_special, quoted, pflags, indp)
char *name;
int var_is_special, quoted, pflags;
+ arrayind_t *indp;
{
WORD_DESC *ret;
char *temp, *tt;
intmax_t arg_index;
SHELL_VAR *var;
int atype, rflags;
+ arrayind_t ind;
ret = 0;
temp = 0;
rflags = 0;
+ if (indp)
+ *indp = INTMAX_MIN;
+
/* Handle multiple digit arguments, as in ${11}. */
if (legal_number (name, &arg_index))
{
@@ -5433,11 +5668,16 @@ parameter_brace_expand_word (name, var_is_special, quoted, pflags)
#if defined (ARRAY_VARS)
else if (valid_array_reference (name))
{
- temp = array_value (name, quoted, &atype);
+ temp = array_value (name, quoted, 0, &atype, &ind);
if (atype == 0 && temp)
- temp = (*temp && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
- ? quote_string (temp)
- : quote_escapes (temp);
+ {
+ temp = (*temp && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
+ ? quote_string (temp)
+ : quote_escapes (temp);
+ rflags |= W_ARRAYIND;
+ if (indp)
+ *indp = ind;
+ }
else if (atype == 1 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)))
rflags |= W_HASQUOTEDNULL;
}
@@ -5488,7 +5728,7 @@ parameter_brace_expand_indir (name, var_is_special, quoted, quoted_dollar_atp, c
char *temp, *t;
WORD_DESC *w;
- w = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND);
+ w = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND, 0);
t = w->word;
/* Have to dequote here if necessary */
if (t)
@@ -5505,7 +5745,7 @@ parameter_brace_expand_indir (name, var_is_special, quoted, quoted_dollar_atp, c
if (t == 0)
return (WORD_DESC *)NULL;
- w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted, 0);
+ w = parameter_brace_expand_word (t, SPECIAL_VAR(t, 0), quoted, 0, 0);
free (t);
return w;
@@ -5589,9 +5829,11 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat)
else
#endif /* ARRAY_VARS */
bind_variable (name, t1, 0);
- free (t1);
- w->word = temp;
+ /* From Posix group discussion Feb-March 2010. Issue 7 0000221 */
+ free (temp);
+
+ w->word = t1;
return w;
}
@@ -5638,34 +5880,6 @@ valid_length_expression (name)
legal_identifier (name + 1)); /* ${#PS1} */
}
-#if defined (HANDLE_MULTIBYTE)
-size_t
-mbstrlen (s)
- const char *s;
-{
- size_t clen, nc;
- mbstate_t mbs, mbsbak;
-
- nc = 0;
- memset (&mbs, 0, sizeof (mbs));
- mbsbak = mbs;
- while ((clen = mbrlen(s, MB_CUR_MAX, &mbs)) != 0)
- {
- if (MB_INVALIDCH(clen))
- {
- clen = 1; /* assume single byte */
- mbs = mbsbak;
- }
-
- s += clen;
- nc++;
- mbsbak = mbs;
- }
- return nc;
-}
-#endif
-
-
/* Handle the parameter brace expansion that requires us to return the
length of a parameter. */
static intmax_t
@@ -5699,7 +5913,7 @@ parameter_brace_expand_length (name)
break;
case '!':
if (last_asynchronous_pid == NO_PID)
- t = (char *)NULL;
+ t = (char *)NULL; /* XXX - error if set -u set? */
else
t = itos (last_asynchronous_pid);
break;
@@ -5721,6 +5935,8 @@ parameter_brace_expand_length (name)
if (legal_number (name + 1, &arg_index)) /* ${#1} */
{
t = get_dollar_var_value (arg_index);
+ if (t == 0 && unbound_vars_is_error)
+ return INTMAX_MIN;
number = MB_STRLEN (t);
FREE (t);
}
@@ -5731,6 +5947,8 @@ parameter_brace_expand_length (name)
t = assoc_reference (assoc_cell (var), "0");
else
t = array_reference (array_cell (var), 0);
+ if (t == 0 && unbound_vars_is_error)
+ return INTMAX_MIN;
number = MB_STRLEN (t);
}
#endif
@@ -5744,7 +5962,7 @@ parameter_brace_expand_length (name)
if (list)
dispose_words (list);
- number = MB_STRLEN (t);
+ number = t ? MB_STRLEN (t) : 0;
FREE (t);
}
}
@@ -5903,7 +6121,7 @@ verify_substring_values (v, value, substr, vtype, e1p, e2p)
free (temp1);
if (expok == 0)
return (0);
- if (*e2p < 0)
+ if ((vtype == VT_ARRAYVAR || vtype == VT_POSPARMS) && *e2p < 0)
{
internal_error (_("%s: substring expression < 0"), t);
return (0);
@@ -5915,7 +6133,17 @@ verify_substring_values (v, value, substr, vtype, e1p, e2p)
if (vtype != VT_ARRAYVAR)
#endif
{
- *e2p += *e1p; /* want E2 chars starting at E1 */
+ if (*e2p < 0)
+ {
+ *e2p += len;
+ if (*e2p < 0 || *e2p < *e1p)
+ {
+ internal_error (_("%s: substring expression < 0"), t);
+ return (0);
+ }
+ }
+ else
+ *e2p += *e1p; /* want E2 chars starting at E1 */
if (*e2p > len)
*e2p = len;
}
@@ -5929,13 +6157,18 @@ verify_substring_values (v, value, substr, vtype, e1p, e2p)
/* Return the type of variable specified by VARNAME (simple variable,
positional param, or array variable). Also return the value specified
by VARNAME (value of a variable or a reference to an array element).
+ QUOTED is the standard description of quoting state, using Q_* defines.
+ FLAGS is currently a set of flags to pass to array_value. If IND is
+ non-null and not INTMAX_MIN, and FLAGS includes AV_USEIND, IND is
+ passed to array_value so the array index is not computed again.
If this returns VT_VARIABLE, the caller assumes that CTLESC and CTLNUL
characters in the value are quoted with CTLESC and takes appropriate
steps. For convenience, *VALP is set to the dequoted VALUE. */
static int
-get_var_and_type (varname, value, quoted, varp, valp)
+get_var_and_type (varname, value, ind, quoted, flags, varp, valp)
char *varname, *value;
- int quoted;
+ arrayind_t ind;
+ int quoted, flags;
SHELL_VAR **varp;
char **valp;
{
@@ -5944,6 +6177,7 @@ get_var_and_type (varname, value, quoted, varp, valp)
#if defined (ARRAY_VARS)
SHELL_VAR *v;
#endif
+ arrayind_t lind;
/* This sets vtype to VT_VARIABLE or VT_POSPARMS */
vtype = (varname[0] == '@' || varname[0] == '*') && varname[1] == '\0';
@@ -5955,6 +6189,9 @@ get_var_and_type (varname, value, quoted, varp, valp)
if (valid_array_reference (varname))
{
v = array_variable_part (varname, &temp, (int *)0);
+ /* If we want to signal array_value to use an already-computed index,
+ set LIND to that index */
+ lind = (ind != INTMAX_MIN && (flags & AV_USEIND)) ? ind : 0;
if (v && (array_p (v) || assoc_p (v)))
{ /* [ */
if (ALL_ELEMENT_SUB (temp[0]) && temp[1] == ']')
@@ -5968,7 +6205,7 @@ get_var_and_type (varname, value, quoted, varp, valp)
else
{
vtype = VT_ARRAYMEMBER;
- *valp = array_value (varname, 1, (int *)NULL);
+ *valp = array_value (varname, Q_DOUBLE_QUOTES, flags, (int *)NULL, &lind);
}
*varp = v;
}
@@ -5985,7 +6222,7 @@ get_var_and_type (varname, value, quoted, varp, valp)
{
vtype = VT_ARRAYMEMBER;
*varp = v;
- *valp = array_value (varname, 1, (int *)NULL);
+ *valp = array_value (varname, Q_DOUBLE_QUOTES, flags, (int *)NULL, &lind);
}
}
else if ((v = find_variable (varname)) && (invisible_p (v) == 0) && (assoc_p (v) || array_p (v)))
@@ -6052,9 +6289,11 @@ mb_substring (string, s, e)
VARNAME. If VARNAME is an array variable, use the array elements. */
static char *
-parameter_brace_substring (varname, value, substr, quoted)
- char *varname, *value, *substr;
- int quoted;
+parameter_brace_substring (varname, value, ind, substr, quoted, flags)
+ char *varname, *value;
+ int ind;
+ char *substr;
+ int quoted, flags;
{
intmax_t e1, e2;
int vtype, r, starsub;
@@ -6067,7 +6306,7 @@ parameter_brace_substring (varname, value, substr, quoted)
oname = this_command_name;
this_command_name = varname;
- vtype = get_var_and_type (varname, value, quoted, &v, &val);
+ vtype = get_var_and_type (varname, value, ind, quoted, flags, &v, &val);
if (vtype == -1)
{
this_command_name = oname;
@@ -6139,26 +6378,52 @@ parameter_brace_substring (varname, value, substr, quoted)
/* */
/****************************************************************/
+static int
+shouldexp_replacement (s)
+ char *s;
+{
+ register char *p;
+
+ for (p = s; p && *p; p++)
+ {
+ if (*p == '\\')
+ p++;
+ else if (*p == '&')
+ return 1;
+ }
+ return 0;
+}
+
char *
pat_subst (string, pat, rep, mflags)
char *string, *pat, *rep;
int mflags;
{
- char *ret, *s, *e, *str;
- int rsize, rptr, l, replen, mtype;
+ char *ret, *s, *e, *str, *rstr, *mstr;
+ int rsize, rptr, l, replen, mtype, rxpand, rslen, mlen;
+
+ if (string == 0)
+ return (savestring (""));
mtype = mflags & MATCH_TYPEMASK;
+#if 0 /* bash-4.2 ? */
+ rxpand = (rep && *rep) ? shouldexp_replacement (rep) : 0;
+#else
+ rxpand = 0;
+#endif
+
/* Special cases:
* 1. A null pattern with mtype == MATCH_BEG means to prefix STRING
* with REP and return the result.
* 2. A null pattern with mtype == MATCH_END means to append REP to
* STRING and return the result.
+ * These don't understand or process `&' in the replacement string.
*/
if ((pat == 0 || *pat == 0) && (mtype == MATCH_BEG || mtype == MATCH_END))
{
replen = STRLEN (rep);
- l = strlen (string);
+ l = STRLEN (string);
ret = (char *)xmalloc (replen + l + 2);
if (replen == 0)
strcpy (ret, string);
@@ -6183,7 +6448,25 @@ pat_subst (string, pat, rep, mflags)
if (match_pattern (str, pat, mtype, &s, &e) == 0)
break;
l = s - str;
- RESIZE_MALLOCED_BUFFER (ret, rptr, (l + replen), rsize, 64);
+
+ if (rxpand)
+ {
+ int x;
+ mlen = e - s;
+ mstr = xmalloc (mlen + 1);
+ for (x = 0; x < mlen; x++)
+ mstr[x] = s[x];
+ mstr[mlen] = '\0';
+ rstr = strcreplace (rep, '&', mstr, 0);
+ rslen = strlen (rstr);
+ }
+ else
+ {
+ rstr = rep;
+ rslen = replen;
+ }
+
+ RESIZE_MALLOCED_BUFFER (ret, rptr, (l + rslen), rsize, 64);
/* OK, now copy the leading unmatched portion of the string (from
str to s) to ret starting at rptr (the current offset). Then copy
@@ -6196,11 +6479,14 @@ pat_subst (string, pat, rep, mflags)
}
if (replen)
{
- strncpy (ret + rptr, rep, replen);
- rptr += replen;
+ strncpy (ret + rptr, rstr, rslen);
+ rptr += rslen;
}
str = e; /* e == end of match */
+ if (rstr != rep)
+ free (rstr);
+
if (((mflags & MATCH_GLOBREP) == 0) || mtype != MATCH_ANY)
break;
@@ -6215,7 +6501,7 @@ pat_subst (string, pat, rep, mflags)
}
/* Now copy the unmatched portion of the input string */
- if (*str)
+ if (str && *str)
{
RESIZE_MALLOCED_BUFFER (ret, rptr, STRLEN(str) + 1, rsize, 64);
strcpy (ret + rptr, str);
@@ -6276,9 +6562,11 @@ pos_params_pat_subst (string, pat, rep, mflags)
and the string to substitute. QUOTED is a flags word containing
the type of quoting currently in effect. */
static char *
-parameter_brace_patsub (varname, value, patsub, quoted)
- char *varname, *value, *patsub;
- int quoted;
+parameter_brace_patsub (varname, value, ind, patsub, quoted, flags)
+ char *varname, *value;
+ int ind;
+ char *patsub;
+ int quoted, flags;
{
int vtype, mflags, starsub, delim;
char *val, *temp, *pat, *rep, *p, *lpatsub, *tt;
@@ -6289,7 +6577,7 @@ parameter_brace_patsub (varname, value, patsub, quoted)
this_command_name = varname;
- vtype = get_var_and_type (varname, value, quoted, &v, &val);
+ vtype = get_var_and_type (varname, value, ind, quoted, flags, &v, &val);
if (vtype == -1)
return ((char *)NULL);
@@ -6464,11 +6752,11 @@ pos_params_modcase (string, pat, modop, mflags)
to perform. QUOTED is a flags word containing the type of quoting
currently in effect. */
static char *
-parameter_brace_casemod (varname, value, modspec, patspec, quoted)
+parameter_brace_casemod (varname, value, ind, modspec, patspec, quoted, flags)
char *varname, *value;
- int modspec;
+ int ind, modspec;
char *patspec;
- int quoted;
+ int quoted, flags;
{
int vtype, starsub, modop, mflags, x;
char *val, *temp, *pat, *p, *lpat, *tt;
@@ -6479,7 +6767,7 @@ parameter_brace_casemod (varname, value, modspec, patspec, quoted)
this_command_name = varname;
- vtype = get_var_and_type (varname, value, quoted, &v, &val);
+ vtype = get_var_and_type (varname, value, ind, quoted, flags, &v, &val);
if (vtype == -1)
return ((char *)NULL);
@@ -6630,6 +6918,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
WORD_DESC *tdesc, *ret;
int t_index, sindex, c, tflag, modspec;
intmax_t number;
+ arrayind_t ind;
temp = temp1 = value = (char *)NULL;
var_is_set = var_is_null = var_is_special = check_nullness = 0;
@@ -6656,18 +6945,13 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
ret = 0;
tflag = 0;
+ ind = INTMAX_MIN;
+
/* If the name really consists of a special variable, then make sure
that we have the entire name. We don't allow indirect references
to special variables except `#', `?', `@' and `*'. */
- if ((sindex == t_index &&
- (string[t_index] == '-' ||
- string[t_index] == '?' ||
- string[t_index] == '#')) ||
- (sindex == t_index - 1 && string[sindex] == '!' &&
- (string[t_index] == '#' ||
- string[t_index] == '?' ||
- string[t_index] == '@' ||
- string[t_index] == '*')))
+ if ((sindex == t_index && VALID_SPECIAL_LENGTH_PARAM (string[t_index])) ||
+ (sindex == t_index - 1 && string[sindex] == '!' && VALID_INDIR_PARAM (string[t_index])))
{
t_index++;
free (name);
@@ -6762,6 +7046,13 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
}
number = parameter_brace_expand_length (name);
+ if (number == INTMAX_MIN && unbound_vars_is_error)
+ {
+ last_command_exit_value = EXECUTION_FAILURE;
+ err_unboundvar (name+1);
+ free (name);
+ return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
+ }
free (name);
*indexp = sindex;
@@ -6862,7 +7153,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
if (want_indir)
tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
else
- tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&PF_NOSPLIT2));
+ tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&PF_NOSPLIT2), &ind);
if (tdesc)
{
@@ -6886,7 +7177,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
{
/* Extract the contents of the ${ ... } expansion
according to the Posix.2 rules. */
- value = extract_dollar_brace_string (string, &sindex, quoted, 0);
+ value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0);
if (string[sindex] == RBRACE)
sindex++;
else
@@ -6897,10 +7188,25 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
*indexp = sindex;
+ /* All the cases where an expansion can possibly generate an unbound
+ variable error. */
+ if (want_substring || want_patsub || want_casemod || c == '#' || c == '%' || c == RBRACE)
+ {
+ if (var_is_set == 0 && unbound_vars_is_error && ((name[0] != '@' && name[0] != '*') || name[1]))
+ {
+ last_command_exit_value = EXECUTION_FAILURE;
+ err_unboundvar (name);
+ FREE (value);
+ FREE (temp);
+ free (name);
+ return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
+ }
+ }
+
/* If this is a substring spec, process it and add the result. */
if (want_substring)
{
- temp1 = parameter_brace_substring (name, temp, value, quoted);
+ temp1 = parameter_brace_substring (name, temp, ind, value, quoted, (tflag & W_ARRAYIND) ? AV_USEIND : 0);
FREE (name);
FREE (value);
FREE (temp);
@@ -6918,7 +7224,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
}
else if (want_patsub)
{
- temp1 = parameter_brace_patsub (name, temp, value, quoted);
+ temp1 = parameter_brace_patsub (name, temp, ind, value, quoted, (tflag & W_ARRAYIND) ? AV_USEIND : 0);
FREE (name);
FREE (value);
FREE (temp);
@@ -6939,7 +7245,7 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
#if defined (CASEMOD_EXPANSIONS)
else if (want_casemod)
{
- temp1 = parameter_brace_casemod (name, temp, modspec, value, quoted);
+ temp1 = parameter_brace_casemod (name, temp, ind, modspec, value, quoted, (tflag & W_ARRAYIND) ? AV_USEIND : 0);
FREE (name);
FREE (value);
FREE (temp);
@@ -6970,15 +7276,6 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
return &expand_wdesc_error;
case RBRACE:
- if (var_is_set == 0 && unbound_vars_is_error && ((name[0] != '@' && name[0] != '*') || name[1]))
- {
- last_command_exit_value = EXECUTION_FAILURE;
- err_unboundvar (name);
- FREE (value);
- FREE (temp);
- free (name);
- return (interactive_shell ? &expand_wdesc_error : &expand_wdesc_fatal);
- }
break;
case '#': /* ${param#[#]pattern} */
@@ -6988,9 +7285,10 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
FREE (value);
break;
}
- temp1 = parameter_brace_remove_pattern (name, temp, value, c, quoted);
+ temp1 = parameter_brace_remove_pattern (name, temp, ind, value, c, quoted, (tflag & W_ARRAYIND) ? AV_USEIND : 0);
free (temp);
free (value);
+ free (name);
ret = alloc_word_desc ();
ret->word = temp1;
@@ -7006,7 +7304,6 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
{
/* If the operator is `+', we don't want the value of the named
variable for anything, just the value of the right hand side. */
-
if (c == '+')
{
/* XXX -- if we're double-quoted and the named variable is "$@",
@@ -7020,6 +7317,11 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
FREE (temp);
if (value)
{
+ /* From Posix discussion on austin-group list. Issue 221
+ requires that backslashes escaping `}' inside
+ double-quoted ${...} be removed. */
+ if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+ quoted |= Q_DOLBRACE;
ret = parameter_brace_expand_rhs (name, value, c,
quoted,
quoted_dollar_atp,
@@ -7063,6 +7365,11 @@ parameter_brace_expand (string, indexp, quoted, pflags, quoted_dollar_atp, conta
if (contains_dollar_at)
*contains_dollar_at = 0;
+ /* From Posix discussion on austin-group list. Issue 221 requires
+ that backslashes escaping `}' inside double-quoted ${...} be
+ removed. */
+ if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
+ quoted |= Q_DOLBRACE;
ret = parameter_brace_expand_rhs (name, value, c, quoted,
quoted_dollar_atp,
contains_dollar_at);
@@ -7226,11 +7533,14 @@ param_expand (string, sindex, quoted, expanded_something,
is unset, the parameters are separated by ' '; if $IFS is
null, the parameters are concatenated. */
temp = (quoted & (Q_DOUBLE_QUOTES|Q_PATQUOTE)) ? string_list_dollar_star (list) : string_list (list);
- temp1 = quote_string (temp);
- if (*temp == 0)
- tflag |= W_HASQUOTEDNULL;
- free (temp);
- temp = temp1;
+ if (temp)
+ {
+ temp1 = quote_string (temp);
+ if (*temp == 0)
+ tflag |= W_HASQUOTEDNULL;
+ free (temp);
+ temp = temp1;
+ }
}
else
{
@@ -7879,7 +8189,13 @@ add_string:
else
tflag = 0;
- if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && ((sh_syntaxtab[c] & tflag) == 0))
+ /* From Posix discussion on austin-group list: Backslash escaping
+ a } in ${...} is removed. Issue 0000221 */
+ if ((quoted & Q_DOLBRACE) && c == RBRACE)
+ {
+ SCOPY_CHAR_I (twochars, CTLESC, c, string, sindex, string_size);
+ }
+ else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && ((sh_syntaxtab[c] & tflag) == 0))
{
SCOPY_CHAR_I (twochars, '\\', c, string, sindex, string_size);
}
@@ -7998,7 +8314,7 @@ add_twochars:
if (list->next)
{
#if 0
- if (quoted_dollar_at && word->flags & W_NOSPLIT2)
+ if (quoted_dollar_at && (word->flags & W_NOSPLIT2))
temp = string_list_internal (quote_list (list), " ");
else
#endif
@@ -8038,7 +8354,7 @@ add_twochars:
/* We do not want to add quoted nulls to strings that are only
partially quoted; we can throw them away. */
- if (temp == 0 && quoted_state == PARTIALLY_QUOTED)
+ if (temp == 0 && quoted_state == PARTIALLY_QUOTED && (word->flags & (W_NOSPLIT|W_NOSPLIT2)))
continue;
add_quoted_string:
@@ -8876,7 +9192,7 @@ shell_expand_word_list (tlist, eflags)
if (tlist->word->flags & W_ASSIGNASSOC)
make_internal_declare (tlist->word->word, "-A");
- t = do_word_assignment (tlist->word);
+ t = do_word_assignment (tlist->word, 0);
if (t == 0)
{
last_command_exit_value = EXECUTION_FAILURE;
@@ -8976,7 +9292,7 @@ expand_word_list_internal (list, eflags)
for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next)
{
this_command_name = (char *)NULL; /* no arithmetic errors */
- tint = do_word_assignment (temp_list->word);
+ tint = do_word_assignment (temp_list->word, 0);
/* Variable assignment errors in non-interactive shells
running in Posix.2 mode cause the shell to exit. */
if (tint == 0)
@@ -9025,6 +9341,7 @@ expand_word_list_internal (list, eflags)
if ((eflags & WEXP_VARASSIGN) && subst_assign_varlist)
{
sh_wassign_func_t *assign_func;
+ int is_special_builtin, is_builtin_or_func;
/* If the remainder of the words expand to nothing, Posix.2 requires
that the variable and environment assignments affect the shell's
@@ -9032,11 +9349,16 @@ expand_word_list_internal (list, eflags)
assign_func = new_list ? assign_in_env : do_word_assignment;
tempenv_assign_error = 0;
+ is_builtin_or_func = (new_list && new_list->word && (find_shell_builtin (new_list->word->word) || find_function (new_list->word->word)));
+ /* Posix says that special builtins exit if a variable assignment error
+ occurs in an assignment preceding it. */
+ is_special_builtin = (posixly_correct && new_list && new_list->word && find_special_builtin (new_list->word->word));
+
for (temp_list = subst_assign_varlist; temp_list; temp_list = temp_list->next)
{
this_command_name = (char *)NULL;
assigning_in_environment = (assign_func == assign_in_env);
- tint = (*assign_func) (temp_list->word);
+ tint = (*assign_func) (temp_list->word, is_builtin_or_func);
assigning_in_environment = 0;
/* Variable assignment errors in non-interactive shells running
in Posix.2 mode cause the shell to exit. */
@@ -9045,7 +9367,7 @@ expand_word_list_internal (list, eflags)
if (assign_func == do_word_assignment)
{
last_command_exit_value = EXECUTION_FAILURE;
- if (interactive_shell == 0 && posixly_correct)
+ if (interactive_shell == 0 && posixly_correct && is_special_builtin)
exp_jump_to_top_level (FORCE_EOF);
else
exp_jump_to_top_level (DISCARD);
diff --git a/subst.h b/subst.h
index 7628939..ae388fd 100644
--- a/subst.h
+++ b/subst.h
@@ -1,6 +1,6 @@
/* subst.h -- Names of externally visible functions in subst.c. */
-/* Copyright (C) 1993-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -30,7 +30,8 @@
decide whether to retain the backslash. Q_KEEP_BACKSLASH means
to unconditionally retain the backslash. Q_PATQUOTE means that we're
expanding a pattern ${var%#[#%]pattern} in an expansion surrounded
- by double quotes. */
+ by double quotes. Q_DOLBRACE means we are expanding a ${...} word, so
+ backslashes should also escape { and } and be removed. */
#define Q_DOUBLE_QUOTES 0x01
#define Q_HERE_DOCUMENT 0x02
#define Q_KEEP_BACKSLASH 0x04
@@ -38,6 +39,7 @@
#define Q_QUOTED 0x10
#define Q_ADDEDQUOTES 0x20
#define Q_QUOTEDNULL 0x40
+#define Q_DOLBRACE 0x80
/* Flag values controlling how assignment statements are treated. */
#define ASS_APPEND 0x01
@@ -45,14 +47,15 @@
#define ASS_MKASSOC 0x04
/* Flags for the string extraction functions. */
-#define SX_NOALLOC 0x01 /* just skip; don't return substring */
-#define SX_VARNAME 0x02 /* variable name; for string_extract () */
-#define SX_REQMATCH 0x04 /* closing/matching delimiter required */
-#define SX_COMMAND 0x08 /* extracting a shell script/command */
-#define SX_NOCTLESC 0x10 /* don't honor CTLESC quoting */
-#define SX_NOESCCTLNUL 0x20 /* don't let CTLESC quote CTLNUL */
-#define SX_NOLONGJMP 0x40 /* don't longjmp on fatal error */
-#define SX_ARITHSUB 0x80 /* extracting $(( ... )) (currently unused) */
+#define SX_NOALLOC 0x0001 /* just skip; don't return substring */
+#define SX_VARNAME 0x0002 /* variable name; for string_extract () */
+#define SX_REQMATCH 0x0004 /* closing/matching delimiter required */
+#define SX_COMMAND 0x0008 /* extracting a shell script/command */
+#define SX_NOCTLESC 0x0010 /* don't honor CTLESC quoting */
+#define SX_NOESCCTLNUL 0x0020 /* don't let CTLESC quote CTLNUL */
+#define SX_NOLONGJMP 0x0040 /* don't longjmp on fatal error */
+#define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */
+#define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */
/* Remove backslashes which are quoting backquotes from STRING. Modifies
STRING, and returns a pointer to it. */
@@ -121,7 +124,7 @@ extern char *strip_trailing_ifs_whitespace __P((char *, char *, int));
splitting on the result of expansion. */
extern int do_assignment __P((char *));
extern int do_assignment_no_expand __P((char *));
-extern int do_word_assignment __P((WORD_DESC *));
+extern int do_word_assignment __P((WORD_DESC *, int));
/* Append SOURCE to TARGET at INDEX. SIZE is the current amount
of space allocated to TARGET. SOURCE can be NULL, in which
@@ -251,7 +254,13 @@ extern WORD_DESC *command_substitute __P((char *, int));
extern char *pat_subst __P((char *, char *, char *, int));
extern int fifos_pending __P((void));
+extern int num_fifos __P((void));
extern void unlink_fifo_list __P((void));
+extern void unlink_fifo __P((int));
+
+extern char *copy_fifo_list __P((int *));
+extern void unlink_new_fifos __P((char *, int));
+extern void close_new_fifos __P((char *, int));
extern WORD_LIST *list_string_with_quotes __P((char *));
@@ -269,6 +278,7 @@ extern char *cond_expand_word __P((WORD_DESC *, int));
#define SD_INVERT 0x02 /* look for chars NOT in passed set */
#define SD_NOQUOTEDELIM 0x04 /* don't let single or double quotes act as delimiters */
#define SD_NOSKIPCMD 0x08 /* don't skip over $(, <(, or >( command/process substitution */
+#define SD_EXTGLOB 0x10 /* skip over extended globbing patterns if appropriate */
extern int skip_to_delim __P((char *, int, char *, int));
diff --git a/support/signames.c b/support/signames.c
index 137826f..abbcd1e 100644
--- a/support/signames.c
+++ b/support/signames.c
@@ -192,26 +192,34 @@ initialize_signames ()
#endif
/* SunOS5 */
-#if defined (SIGLWP) /* special signal used by thread library */
+#if defined (SIGLWP) /* Solaris: special signal used by thread library */
signal_names[SIGLWP] = "SIGLWP";
#endif
-#if defined (SIGFREEZE) /* special signal used by CPR */
+#if defined (SIGFREEZE) /* Solaris: special signal used by CPR */
signal_names[SIGFREEZE] = "SIGFREEZE";
#endif
-#if defined (SIGTHAW) /* special signal used by CPR */
+#if defined (SIGTHAW) /* Solaris: special signal used by CPR */
signal_names[SIGTHAW] = "SIGTHAW";
#endif
-#if defined (SIGCANCEL) /* thread cancellation signal used by libthread */
+#if defined (SIGCANCEL) /* Solaris: thread cancellation signal used by libthread */
signal_names[SIGCANCEL] = "SIGCANCEL";
#endif
-#if defined (SIGXRES) /* resource control exceeded */
+#if defined (SIGXRES) /* Solaris: resource control exceeded */
signal_names[SIGXRES] = "SIGXRES";
#endif
+#if defined (SIGJVM1) /* Solaris: Java Virtual Machine 1 */
+ signal_names[SIGJVM1] = "SIGJVM1";
+#endif
+
+#if defined (SIGJVM2) /* Solaris: Java Virtual Machine 2 */
+ signal_names[SIGJVM2] = "SIGJVM2";
+#endif
+
/* HP-UX */
#if defined (SIGDIL) /* DIL signal (?) */
signal_names[SIGDIL] = "SIGDIL";
diff --git a/test.c b/test.c
index 180940c..e0cc19d 100644
--- a/test.c
+++ b/test.c
@@ -2,7 +2,7 @@
/* Modified to run with the GNU shell Apr 25, 1988 by bfox. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -498,6 +498,7 @@ unary_test (op, arg)
{
intmax_t r;
struct stat stat_buf;
+ SHELL_VAR *v;
switch (op[1])
{
@@ -599,6 +600,10 @@ unary_test (op, arg)
case 'o': /* True if option `arg' is set. */
return (minus_o_option_value (arg) == 1);
+
+ case 'v':
+ v = find_variable (arg);
+ return (v && var_isset (v) ? TRUE : FALSE);
}
/* We can't actually get here, but this shuts up gcc. */
@@ -672,7 +677,7 @@ test_unop (op)
case 'a': case 'b': case 'c': case 'd': case 'e':
case 'f': case 'g': case 'h': case 'k': case 'n':
case 'o': case 'p': case 'r': case 's': case 't':
- case 'u': case 'w': case 'x': case 'z':
+ case 'u': case 'v': case 'w': case 'x': case 'z':
case 'G': case 'L': case 'O': case 'S': case 'N':
return (1);
}
diff --git a/tests/arith.right b/tests/arith.right
index 51d740e..94e5f61 100644
--- a/tests/arith.right
+++ b/tests/arith.right
@@ -191,14 +191,28 @@ ok
-7
7
7
+1
+1
+4
+5
+-3
+2
+4
+5000
+5000
+1
+0
+0
+1
+2147483649
8 12
-./arith.tests: line 274: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
-./arith.tests: line 278: a b: syntax error in expression (error token is "b")
-./arith.tests: line 279: ((: a b: syntax error in expression (error token is "b")
+./arith.tests: line 279: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
+./arith.tests: line 283: a b: syntax error in expression (error token is "b")
+./arith.tests: line 284: ((: a b: syntax error in expression (error token is "b")
42
42
42
42
42
42
-./arith.tests: line 290: b[c]d: syntax error in expression (error token is "d")
+./arith.tests: line 295: b[c]d: syntax error in expression (error token is "d")
diff --git a/tests/arith.tests b/tests/arith.tests
index 9e82bb1..86c24a4 100644
--- a/tests/arith.tests
+++ b/tests/arith.tests
@@ -262,6 +262,11 @@ echo $(( --7 ))
${THIS_SH} ./arith1.sub
${THIS_SH} ./arith2.sub
+${THIS_SH} ./arith3.sub
+${THIS_SH} ./arith4.sub
+
+# make sure arithmetic expansion handles ints > 2**31 - 1 using intmax_t
+echo $(( 2147483645 + 4 ))
x=4
y=7
diff --git a/tests/arith3.sub b/tests/arith3.sub
new file mode 100644
index 0000000..a510c73
--- /dev/null
+++ b/tests/arith3.sub
@@ -0,0 +1,45 @@
+RANDOM=42
+(( dice[RANDOM%6+1 + RANDOM%6+1]++ ))
+echo ${dice[5]}
+
+(( ++dice[RANDOM%6+1 + RANDOM%6+1] ))
+echo ${dice[6]}
+
+v=4
+DIND=20
+
+(( dice[DIND%6 + 1]=v ))
+echo ${dice[3]}
+
+RANDOM=42
+
+(( dice[RANDOM%6+1 + RANDOM%6+1]+=v ))
+echo ${dice[5]}
+
+(( dice[RANDOM%6+1 + RANDOM%6+1]-=v ))
+echo ${dice[6]}
+
+(( dice[RANDOM%6+1 + RANDOM%6+1]+=2 ))
+echo ${dice[11]}
+
+(( dice[RANDOM%6+1 + RANDOM%6+1]*=2 ))
+echo ${dice[11]}
+
+unset dice1 dice2
+RANDOM=42
+
+for i in {1..5000}; do ((dice1[$RANDOM%6+1 + $RANDOM%6+1]++)); done;
+unset t; for i in ${dice1[@]}; do ((t+=i)); done; echo $t
+
+foo="${dice1[@]}"
+
+RANDOM=42
+
+for i in {1..5000}; do ((dice2[RANDOM%6+1 + RANDOM%6+1]++)); done;
+unset t; for i in ${dice2[@]}; do ((t+=i)); done; echo $t
+
+bar="${dice2[@]}"
+
+if [ "$foo" != "$bar" ]; then
+ echo "random sequences differ"
+fi
diff --git a/tests/arith4.sub b/tests/arith4.sub
new file mode 100644
index 0000000..d74defa
--- /dev/null
+++ b/tests/arith4.sub
@@ -0,0 +1,10 @@
+x=$(( !!1 ))
+echo $x
+
+x=$(( -!+1 ))
+echo $x
+
+x=$(( +--+!!0 ))
+echo $x
+
+echo $(( !!+-+-~0 ))
diff --git a/tests/array.right b/tests/array.right
index fdc0793..94c64a7 100644
--- a/tests/array.right
+++ b/tests/array.right
@@ -312,3 +312,32 @@ argv[3] = <€>
argv[1] = <~>
argv[2] = <^?>
argv[3] = <€>
+Monday Tuesday Wednesday Thursday Friday Saturday Sunday
+Monday
+Monday
+Tuesday
+Monday
+Monday
+Tuesday
+Monday
+Tuesday
+Wednesday
+Monday
+Tuesday
+Wednesday
+monday, monday, tuesday
+wednesday, wednesday, thursday
+monday, monday, tuesday
+Wednesday, Wednesday, Thursday
+nday
+esday
+dnesday
+nday
+esday
+dnesday
+onday
+uesday
+ednesday
+onday
+uesday
+ednesday
diff --git a/tests/array.tests b/tests/array.tests
index 435ac15..3b6996d 100644
--- a/tests/array.tests
+++ b/tests/array.tests
@@ -386,3 +386,5 @@ ${THIS_SH} ./array7.sub
${THIS_SH} ./array8.sub
${THIS_SH} ./array9.sub
+
+${THIS_SH} ./array10.sub
diff --git a/tests/array10.sub b/tests/array10.sub
new file mode 100644
index 0000000..6d5a94c
--- /dev/null
+++ b/tests/array10.sub
@@ -0,0 +1,52 @@
+days=({Mon,Tues,Wednes,Thurs,Fri,Satur,Sun}day)
+echo ${days[@]}
+
+typeset -i count
+
+count=0
+echo ${days[${count}]}
+echo ${days[$((count++))]}
+echo ${days[$((count++))]}
+
+count=0
+echo ${days[count]}
+echo ${days[count++]}
+echo ${days[count++]}
+
+count=0
+echo ${days[$((count++))]/foo/bar}
+echo ${days[$((count++))]/foo/bar}
+echo ${days[$((count++))]/foo/bar}
+
+count=0
+echo ${days[count++]/foo/bar}
+echo ${days[count++]/foo/bar}
+echo ${days[count++]/foo/bar}
+
+count=0
+echo "${days[${count}],,}, ${days[$((count++))],,}, ${days[$((count++))],,}"
+echo "${days[${count}],,}, ${days[$((count++))],,}, ${days[$((count++))],,}"
+
+count=0
+echo "${days[${count}],,}, ${days[$((count++))],,}, ${days[$((count++))],,}"
+echo "${days[${count}]/foo/bar}, ${days[$((count++))]/foo/bar}, ${days[$((count++))]/foo/bar}"
+
+count=0
+echo ${days[$((count++))]:2}
+echo ${days[$((count++))]:2}
+echo ${days[$((count++))]:2}
+
+count=0
+echo ${days[count++]:2}
+echo ${days[count++]:2}
+echo ${days[count++]:2}
+
+count=0
+echo ${days[$((count++))]#?}
+echo ${days[$((count++))]#?}
+echo ${days[$((count++))]#?}
+
+count=0
+echo ${days[count++]#?}
+echo ${days[count++]#?}
+echo ${days[count++]#?}
diff --git a/tests/braces.right b/tests/braces.right
index a02bfc6..4017546 100644
--- a/tests/braces.right
+++ b/tests/braces.right
@@ -57,6 +57,7 @@ a-{bdef-g-c a-{bdef-i-c
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
+2147483645 2147483646 2147483647 2147483648 2147483649
10 8 6 4 2 0
10 8 6 4 2 0
-50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0
diff --git a/tests/braces.tests b/tests/braces.tests
index c2b153e..a80cf45 100644
--- a/tests/braces.tests
+++ b/tests/braces.tests
@@ -94,6 +94,9 @@ echo {a..z}
echo {a..z..2}
echo {z..a..-2}
+# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
+echo {2147483645..2147483649}
+
# unwanted zero-padding -- fixed post-bash-4.0
echo {10..0..2}
echo {10..0..-2}
diff --git a/tests/builtins.right b/tests/builtins.right
index 30e10ca..38f196a 100644
--- a/tests/builtins.right
+++ b/tests/builtins.right
@@ -138,4 +138,7 @@ a
b
-./builtins.tests: line 251: exit: status: numeric argument required
+before: f = 4
+inside
+after: f = 8 bar = 4
+./builtins.tests: line 254: exit: status: numeric argument required
diff --git a/tests/builtins.tests b/tests/builtins.tests
index 6d20ae9..7ce378e 100644
--- a/tests/builtins.tests
+++ b/tests/builtins.tests
@@ -247,6 +247,9 @@ kill -l ${sigone/SIG/}
# test behavior of shopt xpg_echo
${THIS_SH} ./builtins2.sub
+# test behavior of declare -g
+${THIS_SH} ./builtins3.sub
+
# this must be last -- it is a fatal error
exit status
diff --git a/tests/builtins3.sub b/tests/builtins3.sub
new file mode 100644
index 0000000..5596c56
--- /dev/null
+++ b/tests/builtins3.sub
@@ -0,0 +1,14 @@
+# declare -g added in bash-4.2
+f=4
+
+foo()
+{
+ declare -g f=8
+ declare -g bar=4
+
+ echo inside
+}
+
+echo before: f = $f
+foo
+echo after: f = $f bar = $bar
diff --git a/tests/comsub-posix.right b/tests/comsub-posix.right
index a24f25f..ab04c52 100644
--- a/tests/comsub-posix.right
+++ b/tests/comsub-posix.right
@@ -55,3 +55,19 @@ here-doc terminated with a parenthesis
./comsub-posix1.sub: command substitution: line 2: syntax error near unexpected token `)'
./comsub-posix1.sub: command substitution: line 2: ` if x; then echo foo )'
after
+swap32_posix is a function
+swap32_posix ()
+{
+ local funcname=swap32_posix;
+ local arg;
+ for arg in "$@";
+ do
+ echo $((
+ ($arg & 4278190080) >> 24 |
+ ($arg & 16711680) >> 8 |
+ ($arg & 65280) << 8 |
+ ($arg & 255) << 24
+ ));
+ done
+}
+yes
diff --git a/tests/comsub-posix.tests b/tests/comsub-posix.tests
index d45cbf2..bcfeede 100644
--- a/tests/comsub-posix.tests
+++ b/tests/comsub-posix.tests
@@ -198,9 +198,21 @@ eof
${THIS_SH} ./comsub-posix1.sub
+${THIS_SH} ./comsub-posix2.sub
+
+${THIS_SH} ./comsub-posix3.sub
+
# produced a parse error through bash-4.0-beta2
: $(echo foo)"
"
+# produced a parse error through bash-4.1
+unset x
+x=$(
+echo yes
+# a comment with " ' \
+)
+echo $x
+unset x
# fixed after bash-4.0 released
: $(case a in a) echo ;; # comment
diff --git a/tests/comsub-posix2.sub b/tests/comsub-posix2.sub
new file mode 100644
index 0000000..238745f
--- /dev/null
+++ b/tests/comsub-posix2.sub
@@ -0,0 +1,16 @@
+# problem with bash-4.x versions before bash-4.2. required posix interp
+swap32_posix()
+{
+ local funcname=swap32_posix
+ local arg
+ for arg in "$@"; do
+ echo $((
+ ($arg & 4278190080) >> 24 |
+ ($arg & 16711680) >> 8 |
+ ($arg & 65280) << 8 |
+ ($arg & 255) << 24
+ ))
+ done
+}
+
+type swap32_posix
diff --git a/tests/comsub-posix3.sub b/tests/comsub-posix3.sub
new file mode 100644
index 0000000..3a0e39a
--- /dev/null
+++ b/tests/comsub-posix3.sub
@@ -0,0 +1,22 @@
+# parsing errors before bash-4.2
+
+a=$(/bin/cat << EOF | wc -l
+a
+b
+c
+EOF
+)
+
+a=$(cat << EOF | wc -l
+a
+b
+c
+EOF
+)
+
+a=$(/bin/cat << EOF
+a
+b
+c
+EOF
+)
diff --git a/tests/errors.right b/tests/errors.right
index ae7bf29..7dd80c4 100644
--- a/tests/errors.right
+++ b/tests/errors.right
@@ -15,7 +15,7 @@ unset: usage: unset [-f] [-v] [name ...]
./errors.tests: line 52: unset: `/bin/sh': not a valid identifier
./errors.tests: line 55: unset: cannot simultaneously unset a function and a variable
./errors.tests: line 58: declare: -z: invalid option
-declare: usage: declare [-aAfFilrtux] [-p] [name[=value] ...]
+declare: usage: declare [-aAfFgilrtux] [-p] [name[=value] ...]
./errors.tests: line 60: declare: `-z': not a valid identifier
./errors.tests: line 61: declare: `/bin/sh': not a valid identifier
./errors.tests: line 65: declare: cannot use `-f' to make functions
@@ -69,7 +69,7 @@ source: usage: source filename [arguments]
./errors.tests: line 184: .: -i: invalid option
.: usage: . filename [arguments]
./errors.tests: line 187: set: -q: invalid option
-set: usage: set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
+set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
./errors.tests: line 190: enable: sh: not a shell builtin
./errors.tests: line 190: enable: bash: not a shell builtin
./errors.tests: line 193: shopt: cannot set and unset shell options simultaneously
@@ -77,7 +77,7 @@ set: usage: set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
./errors.tests: line 199: read: `/bin/sh': not a valid identifier
./errors.tests: line 202: VAR: readonly variable
./errors.tests: line 205: readonly: -x: invalid option
-readonly: usage: readonly [-af] [name[=value] ...] or readonly -p
+readonly: usage: readonly [-aAf] [name[=value] ...] or readonly -p
./errors.tests: line 208: eval: -i: invalid option
eval: usage: eval [arg ...]
./errors.tests: line 209: command: -i: invalid option
diff --git a/tests/exec.right b/tests/exec.right
index 86a099c..c51a253 100644
--- a/tests/exec.right
+++ b/tests/exec.right
@@ -10,7 +10,7 @@ after exec1.sub without args: 0
127
/bin/sh: /bin/sh: cannot execute binary file
126
-./execscript: line 39: /: is a directory
+./execscript: line 39: /: Is a directory
126
/: /: is a directory
126
@@ -20,8 +20,7 @@ after exec1.sub without args: 0
0
this is bashenv
./exec3.sub: line 3: /tmp/bash-notthere: No such file or directory
-./exec3.sub: line 3: exec: /tmp/bash-notthere: cannot execute: No such file or directory
-126
+127
./execscript: line 70: notthere: No such file or directory
127
./execscript: line 73: notthere: No such file or directory
@@ -52,4 +51,12 @@ this is ohio-state
1
testb
expand_aliases on
+1
+1
+1
+1
+0
+0
+0
+0
after
diff --git a/tests/exec9.sub b/tests/exec9.sub
new file mode 100644
index 0000000..b8d20b4
--- /dev/null
+++ b/tests/exec9.sub
@@ -0,0 +1,20 @@
+# make sure commands before the last one in the pipeline can't change $?
+false
+false | echo $?
+false
+(false) | echo $?
+
+false
+true | echo $?
+false
+(true) | echo $?
+
+true
+false | echo $?
+true
+(false) | echo $?
+
+true
+true | echo $?
+true
+(true) | echo $?
diff --git a/tests/execscript b/tests/execscript
index 3629c57..f1db527 100644
--- a/tests/execscript
+++ b/tests/execscript
@@ -109,6 +109,18 @@ ${THIS_SH} ./exec7.sub
${THIS_SH} -i ./exec8.sub
+${THIS_SH} ./exec9.sub
+
true | `echo true` &
echo after
+
+# Problem with bash at least back to version 3.0
+${THIS_SH} -c 'VAR=0; VAR=1 command exec; exit ${VAR}'
+
+# problem with bash through bash-4.1
+(
+ exec /var/empty/nosuch
+ echo bad
+) 2>/dev/null
+[ $? = 127 ] || echo FAIL: bad exit status $? at $LINENO
diff --git a/tests/exp.right b/tests/exp.right
index d46a2a1..959ded2 100644
--- a/tests/exp.right
+++ b/tests/exp.right
@@ -166,3 +166,7 @@ graph
yes
a
a
+ val
+val
+ val
+no arg passed
diff --git a/tests/exp.tests b/tests/exp.tests
index 1f4a35b..c97b48c 100644
--- a/tests/exp.tests
+++ b/tests/exp.tests
@@ -384,3 +384,5 @@ ${THIS_SH} ./exp1.sub
${THIS_SH} ./exp2.sub
${THIS_SH} ./exp3.sub
+
+${THIS_SH} ./exp4.sub
diff --git a/tests/exp4.sub b/tests/exp4.sub
new file mode 100644
index 0000000..d022ceb
--- /dev/null
+++ b/tests/exp4.sub
@@ -0,0 +1,10 @@
+f=" val" e=
+echo "$e"$f
+echo $e$f
+echo "$e""$f"
+
+if [[ "$1"x == x ]] ; then
+ echo "no arg passed"
+ exit 1
+fi
+echo "$1"x | cat -v
diff --git a/tests/func.right b/tests/func.right
index da8b45c..70bf123 100644
--- a/tests/func.right
+++ b/tests/func.right
@@ -153,4 +153,17 @@ expect 2 40
2 40
expect 5 20
5 20
+./func4.sub: line 10: foo: maximum function nesting level exceeded (100)
+1
+after: f = 100
+./func4.sub: line 10: foo: maximum function nesting level exceeded (100)
+1
+after: f = 100
+7
+after FUNCNEST reset: f = 201
+7
+after FUNCNEST unset: f = 201
+./func4.sub: line 10: foo: maximum function nesting level exceeded (20)
+1
+after FUNCNEST assign: f = 38
5
diff --git a/tests/func.tests b/tests/func.tests
index 23dff44..8701c2a 100644
--- a/tests/func.tests
+++ b/tests/func.tests
@@ -157,6 +157,9 @@ ${THIS_SH} ./func2.sub
# test for some posix-specific function behavior
${THIS_SH} ./func3.sub
+# FUNCNEST testing
+${THIS_SH} ./func4.sub
+
unset -f myfunction
myfunction() {
echo "bad shell function redirection"
diff --git a/tests/func4.sub b/tests/func4.sub
new file mode 100644
index 0000000..9c9c1b4
--- /dev/null
+++ b/tests/func4.sub
@@ -0,0 +1,39 @@
+# test FUNCNEST functionality -- bash-4.2
+FUNCNEST=100
+
+foo()
+{
+ (( f++ ))
+ if (( f > 200 )); then
+ return 7
+ fi
+ foo
+}
+
+f=0
+foo
+echo $?
+echo after: f = $f
+
+f=0
+foo
+echo $?
+echo after: f = $f
+
+f=0
+FUNCNEST=0
+foo
+echo $?
+echo after FUNCNEST reset: f = $f
+
+f=0
+unset FUNCNEST
+foo
+echo $?
+echo after FUNCNEST unset: f = $f
+
+FUNCNEST=20
+f=$(( FUNCNEST - 2 ))
+foo
+echo $?
+echo after FUNCNEST assign: f = $f
diff --git a/tests/histexp.tests b/tests/histexp.tests
index 721208c..dccbfe0 100644
--- a/tests/histexp.tests
+++ b/tests/histexp.tests
@@ -120,5 +120,5 @@ var2=var1
echo ${!var2}
# Bash-2.01[.1] fails this test -- it attempts history expansion after the
-# history_expansion_char
+# history_comment_char
echo ok 3 # !1200
diff --git a/tests/history.right b/tests/history.right
index cb58f98..3bac71a 100644
--- a/tests/history.right
+++ b/tests/history.right
@@ -140,7 +140,7 @@ three
one
two
three
-4.1
+4.2
echo ${BASH_VERSION%\.*}
-4.1
+4.2
echo ${BASH_VERSION%\.*}
diff --git a/tests/intl.right b/tests/intl.right
index 449d5b0..52c65e4 100644
--- a/tests/intl.right
+++ b/tests/intl.right
@@ -6,8 +6,14 @@ B
ok 1
ok 2
aéb
-0000000 141 303 251 142
+0000000 141 303 251 142
0000004
-абвгдежзиклмноп - 16
-абвгдежзиклмноп- 15
-абвгд- 5
+1,0000
+1.0000
+1.0000
+1.0000
+1.0000
+1,0000
diff --git a/tests/intl.tests b/tests/intl.tests
index cd919df..37518db 100644
--- a/tests/intl.tests
+++ b/tests/intl.tests
@@ -35,7 +35,11 @@ esac
set a b
printf '%s\n' "$*"
-printf '%s' "$*" | od -b
+# squeeze out blanks to avoid white space differences in od implementations
+printf '%s' "$*" | od -b | ( IFS=$' \t\n' ; while read line; do echo $line; done; )
# display differences make this problematic
${THIS_SH} ./intl1.sub
+
+# this tests both international handling in printf and temporary environments
+${THIS_SH} ./intl2.sub
diff --git a/tests/intl2.sub b/tests/intl2.sub
new file mode 100644
index 0000000..64961bc
--- /dev/null
+++ b/tests/intl2.sub
@@ -0,0 +1,11 @@
+unset LC_ALL LC_NUMERIC
+export LANG=de_DE.UTF-8
+printf '%.4f\n' 1
+
+LANG=C printf '%.4f\n' 1
+LANG=C /usr/bin/printf '%.4f\n' 1
+
+env LANG=C printf '%.4f\n' 1
+(LANG=C; printf '%.4f\n' 1)
+
+printf '%.4f\n' 1
diff --git a/tests/lastpipe.right b/tests/lastpipe.right
new file mode 100644
index 0000000..23fe089
--- /dev/null
+++ b/tests/lastpipe.right
@@ -0,0 +1,10 @@
+after 1: foo = a b c
+after 2: tot = 6
+after: 7
+last = c
+1 -- 142 1
+0 -- 0 1 0
+1 -- 0 0 1
+1 -- 0 0 1
+1 -- 0 1 0
+lastpipe1.sub returns 14
diff --git a/tests/lastpipe.tests b/tests/lastpipe.tests
new file mode 100644
index 0000000..13fa214
--- /dev/null
+++ b/tests/lastpipe.tests
@@ -0,0 +1,58 @@
+binfalse()
+{
+ $binfalse || return 1 # normalize return value
+}
+
+if [ -x /usr/bin/true ]; then
+ bintrue=/usr/bin/true
+elif [ -x /bin/true ]; then
+ bintrue=/bin/true
+else
+ bintrue=true
+fi
+if [ -x /usr/bin/false ]; then
+ binfalse=/usr/bin/false
+elif [ -x /bin/false ]; then
+ binfalse=/bin/false
+else
+ binfalse=true
+fi
+
+shopt -s lastpipe
+
+unset foo bar
+echo a b c | read foo
+echo after 1: foo = $foo
+
+unset tot
+declare -i tot
+printf "%d\n" 1 2 3 | while read foo; do tot+=$foo; done
+echo after 2: tot = $tot
+
+unset bar
+echo g h i | bar=7
+echo after: $bar
+
+unset foo last
+printf "%s\n" a b c | while read foo; do last=$foo; done
+echo last = $last
+
+exit 142 | false
+echo $? -- ${PIPESTATUS[@]}
+
+true | false | $bintrue
+echo $? -- ${PIPESTATUS[@]}
+
+true | $bintrue | false
+echo $? -- ${PIPESTATUS[@]}
+
+set -o pipefail
+true | $bintrue | false
+echo $? -- ${PIPESTATUS[@]}
+
+true | binfalse | true
+echo $? -- ${PIPESTATUS[@]}
+set +o pipefail
+
+${THIS_SH} ./lastpipe1.sub
+echo lastpipe1.sub returns $?
diff --git a/tests/lastpipe1.sub b/tests/lastpipe1.sub
new file mode 100644
index 0000000..43711e3
--- /dev/null
+++ b/tests/lastpipe1.sub
@@ -0,0 +1,5 @@
+# with lastpipe set, exit at the end of a pipeline exits
+# the calling shell
+shopt -s lastpipe
+exit 142 | exit 14
+echo after: $?
diff --git a/tests/mapfile.right b/tests/mapfile.right
index 1e73eb1..9fd4bb5 100644
--- a/tests/mapfile.right
+++ b/tests/mapfile.right
@@ -31,28 +31,49 @@ a[0] Abcdefghijklmnop
[e] abcdefghijklmnOp
[f] abcdefghijklmnoP
a
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-2
-5
-8
-11
-14
+0 [0] Abcdefghijklmnop
+
+1 [1] aBcdefghijklmnop
+
+2 [2] abCdefghijklmnop
+
+3 [3] abcDefghijklmnop
+
+4 [4] abcdEfghijklmnop
+
+5 [5] abcdeFghijklmnop
+
+6 [6] abcdefGhijklmnop
+
+7 [7] abcdefgHijklmnop
+
+8 [8] abcdefghIjklmnop
+
+9 [9] abcdefghiJklmnop
+
+10 [a] abcdefghijKlmnop
+
+11 [b] abcdefghijkLmnop
+
+12 [c] abcdefghijklMnop
+
+13 [d] abcdefghijklmNop
+
+14 [e] abcdefghijklmnOp
+
+15 [f] abcdefghijklmnoP
+
+16 a
+2 [2] abCdefghijklmnop
+
+5 [5] abcdeFghijklmnop
+
+8 [8] abcdefghIjklmnop
+
+11 [b] abcdefghijkLmnop
+
+14 [e] abcdefghijklmnOp
+
[0] Abcdefghijklmnop
[1] aBcdefghijklmnop
[2] abCdefghijklmnop
@@ -131,8 +152,13 @@ a
[28] aaa
[29] aaa
1 2 3 4 5
-foo 0
-foo 1
-foo 2
-foo 3
-foo 4
+foo 0 1
+
+foo 1 2
+
+foo 2 3
+
+foo 3 4
+
+foo 4 5
+
diff --git a/tests/new-exp.right b/tests/new-exp.right
index c86c546..ac0058f 100644
--- a/tests/new-exp.right
+++ b/tests/new-exp.right
@@ -233,7 +233,7 @@ argv[1] = <oneonetwo>
argv[1] = <onetwo>
argv[1] = <two>
argv[1] = <oneonetwo>
-./new-exp.tests: line 421: -2: substring expression < 0
+argv[1] = <a>
argv[1] = <defghi>
argv[1] = <efghi>
argv[1] = <e*docrine>
@@ -395,13 +395,13 @@ argv[6] = <w>
argv[7] = <x>
argv[8] = <y>
argv[9] = <z>
-./new-exp.tests: line 480: $9: unbound variable
-./new-exp.tests: line 481: 9: unbound variable
-./new-exp.tests: line 482: UNSET: unbound variable
-./new-exp.tests: line 483: UNSET: unbound variable
+./new-exp.tests: line 482: $9: unbound variable
+./new-exp.tests: line 483: 9: unbound variable
./new-exp.tests: line 484: UNSET: unbound variable
./new-exp.tests: line 485: UNSET: unbound variable
./new-exp.tests: line 486: UNSET: unbound variable
+./new-exp.tests: line 487: UNSET: unbound variable
+./new-exp.tests: line 488: UNSET: unbound variable
argv[1] = <5>
argv[1] = <#>
argv[1] = <#>
@@ -430,7 +430,7 @@ Case05---3---A:B:C---
Case06---1---A B C::---
Case07---3---A:B:C---
Case08---3---A:B:C---
-./new-exp.tests: line 506: ${$(($#-1))}: bad substitution
+./new-exp.tests: line 508: ${$(($#-1))}: bad substitution
argv[1] = <a>
argv[2] = <b>
argv[3] = <c>
@@ -447,7 +447,7 @@ argv[1] = <a>
argv[1] = <a>
argv[2] = <b>
argv[1] = <>
-./new-exp.tests: line 525: $(($# - 2)): substring expression < 0
+./new-exp.tests: line 527: $(($# - 2)): substring expression < 0
argv[1] = <bin>
argv[2] = <bin>
argv[3] = <ucb>
@@ -537,6 +537,28 @@ bar ()
{
echo < <(cat x1)
}
+start;ing0;ing1;ing2;ing3;ing4;ing5;ing6;ing7;ing8;ing9;ing10;ing11;ing12;ing13;ing14;ing15;ing16;ing17;ing18;ing19;ing20;ing21;ing22;ing23;ing24;ing25;ing26;ing27;ing28;ing29;ing30;ing31;ing32;ing33;ing34;ing35;ing36;ing37;ing38;ing39;ing40;ing41;ing42;ing43;ing44;ing45;ing46;ing47;ing48;ing49;ing50;ing51;ing52;ing53;ing54;ing55;ing56;ing57;ing58;ing59;ing60;ing61;ing62;ing63;ing64;ing65;ing66;ing67;ing68;ing69;ing70;ing71;ing72;ing73;ing74;ing75;ing76;ing77;ing78;ing79;ing80;ing81;ing82;ing83;ing84;ing85;ing86;ing87;ing88;ing89;ing90;ing91;ing92;ing93;ing94;ing95;ing96;ing97;ing98;ing99;ing100;ing101;ing102;ing103;ing104;ing105;ing106;ing107;ing108;ing109;ing110;ing111;ing112;ing113;ing114;ing115;ing116;ing117;ing118;ing119;ing120;ing121;ing122;ing123;ing124;ing125;ing126;ing127;ing128;ing129;ing130;ing131;ing132;ing133;ing134;ing135;ing136;ing137;ing138;ing139;ing140;ing141;ing142;ing143;ing144;ing145;ing146;ing147;ing148;ing149;ing150;ing151;ing152;ing153;ing154;ing155;ing156;ing157;ing158;ing159;ing160;ing161;ing162;ing163;ing164;ing165;ing166;ing167;ing168;ing169;ing170;ing171;ing172;ing173;ing174;ing175;ing176;ing177;ing178;ing179;ing180;ing181;ing182;ing183;ing184;ing185;ing186;ing187;ing188;ing189;ing190;ing191;ing192;ing193;ing194;ing195;ing196;ing197;ing198;ing199;ing200;ing201;ing202;ing203;ing204;ing205;ing206;ing207;ing208;ing209;ing210;ing211;ing212;ing213;ing214;ing215;ing216;ing217;ing218;ing219;ing220;ing221;ing222;ing223;ing224;ing225;ing226;ing227;ing228;ing229;ing230;ing231;ing232;ing233;ing234;ing235;ing236;ing237;ing238;ing239;ing240;ing241;ing242;ing243;ing244;ing245;ing246;ing247;ing248;ing249;ing250;ing251;ing252;ing253;ing254;ing255;ing256;ing257;ing258;ing259;ing260;ing261;ing262;ing263;ing264;ing265;ing266;ing267;ing268;ing269;ing270;ing271;ing272;ing273;ing274;ing275;ing276;ing277;ing278;ing279;ing280;ing281;ing282;ing283;ing284;ing285;ing286;ing287;ing288;ing289;ing290;ing291;ing292;ing293;ing294;ing295;ing296;ing297;ing298;ing299;ing300;ing301;ing302;ing303;ing304;ing305;ing306;ing307;ing308;ing309;ing310;ing311;ing312;ing313;ing314;ing315;ing316;ing317;ing318;ing319;ing320;ing321;ing322;ing323;ing324;ing325;ing326;ing327;ing328;ing329;ing330;ing331;ing332;ing333;ing334;ing335;ing336;ing337;ing338;ing339;ing340;ing341;ing342;ing343;ing344;ing345;ing346;ing347;ing348;ing349;ing350;ing351;ing352;ing353;ing354;ing355;ing356;ing357;ing358;ing359;ing360;ing361;ing362;ing363;ing364;ing365;ing366;ing367;ing368;ing369;ing370;ing371;ing372;ing373;ing374;ing375;ing376;ing377;ing378;ing379;ing380;ing381;ing382;ing383;ing384;ing385;ing386;ing387;ing388;ing389;ing390;ing391;ing392;ing393;ing394;ing395;ing396;ing397;ing398;ing399;ing400;ing401;ing402;ing403;ing404;ing405;ing406;ing407;ing408;ing409;ing410;ing411;ing412;ing413;ing414;ing415;ing416;ing417;ing418;ing419;ing420;ing421;ing422;ing423;ing424;ing425;ing426;ing427;ing428;ing429;ing430;ing431;ing432;ing433;ing434;ing435;ing436;ing437;ing438;ing439;ing440;ing441;ing442;ing443;ing444;ing445;ing446;ing447;ing448;ing449;ing450;ing451;ing452;ing453;ing454;ing455;ing456;ing457;ing458;ing459;ing460;ing461;ing462;ing463;ing464;ing465;ing466;ing467;ing468;ing469;ing470;ing471;ing472;ing473;ing474;ing475;ing476;ing477;ing478;ing479;ing480;ing481;ing482;ing483;ing484;ing485;ing486;ing487;ing488;ing489;ing490;ing491;ing492;ing493;ing494;ing495;ing496;ing497;ing498;ing499;ing500;ing501;ing502;ing503;ing504;ing505;ing506;ing507;ing508;ing509;ing510;ing511;ing512;ing513;ing514;ing515;ing516;ing517;ing518;ing519;ing520;ing521;ing522;ing523;ing524;ing525;ing526;ing527;ing528;ing529;ing530;ing531;ing532;ing533;ing534;ing535;ing536;ing537;ing538;ing539;ing540;ing541;ing542;ing543;ing544;ing545;ing546;ing547;ing548;ing549;ing550;ing551;ing552;ing553;ing554;ing555;ing556;ing557;ing558;ing559;ing560;ing561;ing562;ing563;ing564;ing565;ing566;ing567;ing568;ing569;ing570;ing571;ing572;ing573;ing574;ing575;ing576;ing577;ing578;ing579;ing580;ing581;ing582;ing583;ing584;ing585;ing586;ing587;ing588;ing589;ing590;ing591;ing592;ing593;ing594;ing595;ing596;ing597;ing598;ing599;ing600;ing601;ing602;ing603;ing604;ing605;ing606;ing607;ing608;ing609;ing610;ing611;ing612;ing613;ing614;ing615;ing616;ing617;ing618;ing619;ing620;ing621;ing622;ing623;ing624;ing625;ing626;ing627;ing628;ing629;ing630;ing631;ing632;ing633;ing634;ing635;ing636;ing637;ing638;ing639;ing640;ing641;ing642;ing643;ing644;ing645;ing646;ing647;ing648;ing649;ing650;ing651;ing652;ing653;ing654;ing655;ing656;ing657;ing658;ing659;ing660;ing661;ing662;ing663;ing664;ing665;ing666;ing667;ing668;ing669;ing670;ing671;ing672;ing673;ing674;ing675;ing676;ing677;ing678;ing679;ing680;ing681;ing682;ing683;ing684;ing685;ing686;ing687;ing688;ing689;ing690;ing691;ing692;ing693;ing694;ing695;ing696;ing697;ing698;ing699;ing700;ing701;ing702;ing703;ing704;ing705;ing706;ing707;ing708;ing709;ing710;ing711;ing712;ing713;ing714;ing715;ing716;ing717;ing718;ing719;ing720;ing721;ing722;ing723;ing724;ing725;ing726;ing727;ing728;ing729;ing730;ing731;ing732;ing733;ing734;ing735;ing736;ing737;ing738;ing739;ing740;ing741;ing742;ing743;ing744;ing745;ing746;ing747;ing748;ing749;ing750;ing751;ing752;ing753;ing754;ing755;ing756;ing757;ing758;ing759;ing760;ing761;ing762;ing763;ing764;ing765;ing766;ing767;ing768;ing769;ing770;ing771;ing772;ing773;ing774;ing775;ing776;ing777;ing778;ing779;ing780;ing781;ing782;ing783;ing784;ing785;ing786;ing787;ing788;ing789;ing790;ing791;ing792;ing793;ing794;ing795;ing796;ing797;ing798;ing799;ing800;ing801;ing802;ing803;ing804;ing805;ing806;ing807;ing808;ing809;ing810;ing811;ing812;ing813;ing814;ing815;ing816;ing817;ing818;ing819;ing820;ing821;ing822;ing823;ing824;ing825;ing826;ing827;ing828;ing829;ing830;ing831;ing832;ing833;ing834;ing835;ing836;ing837;ing838;ing839;ing840;ing841;ing842;ing843;ing844;ing845;ing846;ing847;ing848;ing849;ing850;ing851;ing852;ing853;ing854;ing855;ing856;ing857;ing858;ing859;ing860;ing861;ing862;ing863;ing864;ing865;ing866;ing867;ing868;ing869;ing870;ing871;ing872;ing873;ing874;ing875;ing876;ing877;ing878;ing879;ing880;ing881;ing882;ing883;ing884;ing885;ing886;ing887;ing888;ing889;ing890;ing891;ing892;ing893;ing894;ing895;ing896;ing897;ing898;ing899;ing900;ing901;ing902;ing903;ing904;ing905;ing906;ing907;ing908;ing909;ing910;ing911;ing912;ing913;ing914;ing915;ing916;ing917;ing918;ing919;ing920;ing921;ing922;ing923;ing924;ing925;ing926;ing927;ing928;ing929;ing930;ing931;ing932;ing933;ing934;ing935;ing936;ing937;ing938;ing939;ing940;ing941;ing942;ing943;ing944;ing945;ing946;ing947;ing948;ing949;ing950;ing951;ing952;ing953;ing954;ing955;ing956;ing957;ing958;ing959;ing960;ing961;ing962;ing963;ing964;ing965;ing966;ing967;ing968;ing969;ing970;ing971;ing972;ing973;ing974;ing975;ing976;ing977;ing978;ing979;ing980;ing981;ing982;ing983;ing984;ing985;ing986;ing987;ing988;ing989;ing990;ing991;ing992;ing993;ing994;ing995;ing996;ing997;ing998;ing999
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;ing0;ing1;ing2;ing3;ing4;ing5;ing6;ing7;ing8;ing9;ing10;ing11;ing12;ing13;ing14;ing15;ing16;ing17;ing18;ing19;ing20;ing21;ing22;ing23;ing24;ing25;ing26;ing27;ing28;ing29;ing30;ing31;ing32;ing33;ing34;ing35;ing36;ing37;ing38;ing39;ing40;ing41;ing42;ing43;ing44;ing45;ing46;ing47;ing48;ing49;ing50;ing51;ing52;ing53;ing54;ing55;ing56;ing57;ing58;ing59;ing60;ing61;ing62;ing63;ing64;ing65;ing66;ing67;ing68;ing69;ing70;ing71;ing72;ing73;ing74;ing75;ing76;ing77;ing78;ing79;ing80;ing81;ing82;ing83;ing84;ing85;ing86;ing87;ing88;ing89;ing90;ing91;ing92;ing93;ing94;ing95;ing96;ing97;ing98;ing99;ing100;ing101;ing102;ing103;ing104;ing105;ing106;ing107;ing108;ing109;ing110;ing111;ing112;ing113;ing114;ing115;ing116;ing117;ing118;ing119;ing120;ing121;ing122;ing123;ing124;ing125;ing126;ing127;ing128;ing129;ing130;ing131;ing132;ing133;ing134;ing135;ing136;ing137;ing138;ing139;ing140;ing141;ing142;ing143;ing144;ing145;ing146;ing147;ing148;ing149;ing150;ing151;ing152;ing153;ing154;ing155;ing156;ing157;ing158;ing159;ing160;ing161;ing162;ing163;ing164;ing165;ing166;ing167;ing168;ing169;ing170;ing171;ing172;ing173;ing174;ing175;ing176;ing177;ing178;ing179;ing180;ing181;ing182;ing183;ing184;ing185;ing186;ing187;ing188;ing189;ing190;ing191;ing192;ing193;ing194;ing195;ing196;ing197;ing198;ing199;ing200;ing201;ing202;ing203;ing204;ing205;ing206;ing207;ing208;ing209;ing210;ing211;ing212;ing213;ing214;ing215;ing216;ing217;ing218;ing219;ing220;ing221;ing222;ing223;ing224;ing225;ing226;ing227;ing228;ing229;ing230;ing231;ing232;ing233;ing234;ing235;ing236;ing237;ing238;ing239;ing240;ing241;ing242;ing243;ing244;ing245;ing246;ing247;ing248;ing249;ing250;ing251;ing252;ing253;ing254;ing255;ing256;ing257;ing258;ing259;ing260;ing261;ing262;ing263;ing264;ing265;ing266;ing267;ing268;ing269;ing270;ing271;ing272;ing273;ing274;ing275;ing276;ing277;ing278;ing279;ing280;ing281;ing282;ing283;ing284;ing285;ing286;ing287;ing288;ing289;ing290;ing291;ing292;ing293;ing294;ing295;ing296;ing297;ing298;ing299;ing300;ing301;ing302;ing303;ing304;ing305;ing306;ing307;ing308;ing309;ing310;ing311;ing312;ing313;ing314;ing315;ing316;ing317;ing318;ing319;ing320;ing321;ing322;ing323;ing324;ing325;ing326;ing327;ing328;ing329;ing330;ing331;ing332;ing333;ing334;ing335;ing336;ing337;ing338;ing339;ing340;ing341;ing342;ing343;ing344;ing345;ing346;ing347;ing348;ing349;ing350;ing351;ing352;ing353;ing354;ing355;ing356;ing357;ing358;ing359;ing360;ing361;ing362;ing363;ing364;ing365;ing366;ing367;ing368;ing369;ing370;ing371;ing372;ing373;ing374;ing375;ing376;ing377;ing378;ing379;ing380;ing381;ing382;ing383;ing384;ing385;ing386;ing387;ing388;ing389;ing390;ing391;ing392;ing393;ing394;ing395;ing396;ing397;ing398;ing399;ing400;ing401;ing402;ing403;ing404;ing405;ing406;ing407;ing408;ing409;ing410;ing411;ing412;ing413;ing414;ing415;ing416;ing417;ing418;ing419;ing420;ing421;ing422;ing423;ing424;ing425;ing426;ing427;ing428;ing429;ing430;ing431;ing432;ing433;ing434;ing435;ing436;ing437;ing438;ing439;ing440;ing441;ing442;ing443;ing444;ing445;ing446;ing447;ing448;ing449;ing450;ing451;ing452;ing453;ing454;ing455;ing456;ing457;ing458;ing459;ing460;ing461;ing462;ing463;ing464;ing465;ing466;ing467;ing468;ing469;ing470;ing471;ing472;ing473;ing474;ing475;ing476;ing477;ing478;ing479;ing480;ing481;ing482;ing483;ing484;ing485;ing486;ing487;ing488;ing489;ing490;ing491;ing492;ing493;ing494;ing495;ing496;ing497;ing498;ing499;ing500;ing501;ing502;ing503;ing504;ing505;ing506;ing507;ing508;ing509;ing510;ing511;ing512;ing513;ing514;ing515;ing516;ing517;ing518;ing519;ing520;ing521;ing522;ing523;ing524;ing525;ing526;ing527;ing528;ing529;ing530;ing531;ing532;ing533;ing534;ing535;ing536;ing537;ing538;ing539;ing540;ing541;ing542;ing543;ing544;ing545;ing546;ing547;ing548;ing549;ing550;ing551;ing552;ing553;ing554;ing555;ing556;ing557;ing558;ing559;ing560;ing561;ing562;ing563;ing564;ing565;ing566;ing567;ing568;ing569;ing570;ing571;ing572;ing573;ing574;ing575;ing576;ing577;ing578;ing579;ing580;ing581;ing582;ing583;ing584;ing585;ing586;ing587;ing588;ing589;ing590;ing591;ing592;ing593;ing594;ing595;ing596;ing597;ing598;ing599;ing600;ing601;ing602;ing603;ing604;ing605;ing606;ing607;ing608;ing609;ing610;ing611;ing612;ing613;ing614;ing615;ing616;ing617;ing618;ing619;ing620;ing621;ing622;ing623;ing624;ing625;ing626;ing627;ing628;ing629;ing630;ing631;ing632;ing633;ing634;ing635;ing636;ing637;ing638;ing639;ing640;ing641;ing642;ing643;ing644;ing645;ing646;ing647;ing648;ing649;ing650;ing651;ing652;ing653;ing654;ing655;ing656;ing657;ing658;ing659;ing660;ing661;ing662;ing663;ing664;ing665;ing666;ing667;ing668;ing669;ing670;ing671;ing672;ing673;ing674;ing675;ing676;ing677;ing678;ing679;ing680;ing681;ing682;ing683;ing684;ing685;ing686;ing687;ing688;ing689;ing690;ing691;ing692;ing693;ing694;ing695;ing696;ing697;ing698;ing699;ing700;ing701;ing702;ing703;ing704;ing705;ing706;ing707;ing708;ing709;ing710;ing711;ing712;ing713;ing714;ing715;ing716;ing717;ing718;ing719;ing720;ing721;ing722;ing723;ing724;ing725;ing726;ing727;ing728;ing729;ing730;ing731;ing732;ing733;ing734;ing735;ing736;ing737;ing738;ing739;ing740;ing741;ing742;ing743;ing744;ing745;ing746;ing747;ing748;ing749;ing750;ing751;ing752;ing753;ing754;ing755;ing756;ing757;ing758;ing759;ing760;ing761;ing762;ing763;ing764;ing765;ing766;ing767;ing768;ing769;ing770;ing771;ing772;ing773;ing774;ing775;ing776;ing777;ing778;ing779;ing780;ing781;ing782;ing783;ing784;ing785;ing786;ing787;ing788;ing789;ing790;ing791;ing792;ing793;ing794;ing795;ing796;ing797;ing798;ing799;ing800;ing801;ing802;ing803;ing804;ing805;ing806;ing807;ing808;ing809;ing810;ing811;ing812;ing813;ing814;ing815;ing816;ing817;ing818;ing819;ing820;ing821;ing822;ing823;ing824;ing825;ing826;ing827;ing828;ing829;ing830;ing831;ing832;ing833;ing834;ing835;ing836;ing837;ing838;ing839;ing840;ing841;ing842;ing843;ing844;ing845;ing846;ing847;ing848;ing849;ing850;ing851;ing852;ing853;ing854;ing855;ing856;ing857;ing858;ing859;ing860;ing861;ing862;ing863;ing864;ing865;ing866;ing867;ing868;ing869;ing870;ing871;ing872;ing873;ing874;ing875;ing876;ing877;ing878;ing879;ing880;ing881;ing882;ing883;ing884;ing885;ing886;ing887;ing888;ing889;ing890;ing891;ing892;ing893;ing894;ing895;ing896;ing897;ing898;ing899;ing900;ing901;ing902;ing903;ing904;ing905;ing906;ing907;ing908;ing909;ing910;ing911;ing912;ing913;ing914;ing915;ing916;ing917;ing918;ing919;ing920;ing921;ing922;ing923;ing924;ing925;ing926;ing927;ing928;ing929;ing930;ing931;ing932;ing933;ing934;ing935;ing936;ing937;ing938;ing939;ing940;ing941;ing942;ing943;ing944;ing945;ing946;ing947;ing948;ing949;ing950;ing951;ing952;ing953;ing954;ing955;ing956;ing957;ing958;ing959;ing960;ing961;ing962;ing963;ing964;ing965;ing966;ing967;ing968;ing969;ing970;ing971;ing972;ing973;ing974;ing975;ing976;ing977;ing978;ing979;ing980;ing981;ing982;ing983;ing984;ing985;ing986;ing987;ing988;ing989;ing990;ing991;ing992;ing993;ing994;ing995;ing996;ing997;ing998;ing999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+ing999
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+art;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string9
+start;ing0;ing1;ing2;ing3;ing4;ing5;ing6;ing7;ing8;ing9;ing10;ing11;ing12;ing13;ing14;ing15;ing16;ing17;ing18;ing19;ing20;ing21;ing22;ing23;ing24;ing25;ing26;ing27;ing28;ing29;ing30;ing31;ing32;ing33;ing34;ing35;ing36;ing37;ing38;ing39;ing40;ing41;ing42;ing43;ing44;ing45;ing46;ing47;ing48;ing49;ing50;ing51;ing52;ing53;ing54;ing55;ing56;ing57;ing58;ing59;ing60;ing61;ing62;ing63;ing64;ing65;ing66;ing67;ing68;ing69;ing70;ing71;ing72;ing73;ing74;ing75;ing76;ing77;ing78;ing79;ing80;ing81;ing82;ing83;ing84;ing85;ing86;ing87;ing88;ing89;ing90;ing91;ing92;ing93;ing94;ing95;ing96;ing97;ing98;ing99;ing100;ing101;ing102;ing103;ing104;ing105;ing106;ing107;ing108;ing109;ing110;ing111;ing112;ing113;ing114;ing115;ing116;ing117;ing118;ing119;ing120;ing121;ing122;ing123;ing124;ing125;ing126;ing127;ing128;ing129;ing130;ing131;ing132;ing133;ing134;ing135;ing136;ing137;ing138;ing139;ing140;ing141;ing142;ing143;ing144;ing145;ing146;ing147;ing148;ing149;ing150;ing151;ing152;ing153;ing154;ing155;ing156;ing157;ing158;ing159;ing160;ing161;ing162;ing163;ing164;ing165;ing166;ing167;ing168;ing169;ing170;ing171;ing172;ing173;ing174;ing175;ing176;ing177;ing178;ing179;ing180;ing181;ing182;ing183;ing184;ing185;ing186;ing187;ing188;ing189;ing190;ing191;ing192;ing193;ing194;ing195;ing196;ing197;ing198;ing199;ing200;ing201;ing202;ing203;ing204;ing205;ing206;ing207;ing208;ing209;ing210;ing211;ing212;ing213;ing214;ing215;ing216;ing217;ing218;ing219;ing220;ing221;ing222;ing223;ing224;ing225;ing226;ing227;ing228;ing229;ing230;ing231;ing232;ing233;ing234;ing235;ing236;ing237;ing238;ing239;ing240;ing241;ing242;ing243;ing244;ing245;ing246;ing247;ing248;ing249;ing250;ing251;ing252;ing253;ing254;ing255;ing256;ing257;ing258;ing259;ing260;ing261;ing262;ing263;ing264;ing265;ing266;ing267;ing268;ing269;ing270;ing271;ing272;ing273;ing274;ing275;ing276;ing277;ing278;ing279;ing280;ing281;ing282;ing283;ing284;ing285;ing286;ing287;ing288;ing289;ing290;ing291;ing292;ing293;ing294;ing295;ing296;ing297;ing298;ing299;ing300;ing301;ing302;ing303;ing304;ing305;ing306;ing307;ing308;ing309;ing310;ing311;ing312;ing313;ing314;ing315;ing316;ing317;ing318;ing319;ing320;ing321;ing322;ing323;ing324;ing325;ing326;ing327;ing328;ing329;ing330;ing331;ing332;ing333;ing334;ing335;ing336;ing337;ing338;ing339;ing340;ing341;ing342;ing343;ing344;ing345;ing346;ing347;ing348;ing349;ing350;ing351;ing352;ing353;ing354;ing355;ing356;ing357;ing358;ing359;ing360;ing361;ing362;ing363;ing364;ing365;ing366;ing367;ing368;ing369;ing370;ing371;ing372;ing373;ing374;ing375;ing376;ing377;ing378;ing379;ing380;ing381;ing382;ing383;ing384;ing385;ing386;ing387;ing388;ing389;ing390;ing391;ing392;ing393;ing394;ing395;ing396;ing397;ing398;ing399;ing400;ing401;ing402;ing403;ing404;ing405;ing406;ing407;ing408;ing409;ing410;ing411;ing412;ing413;ing414;ing415;ing416;ing417;ing418;ing419;ing420;ing421;ing422;ing423;ing424;ing425;ing426;ing427;ing428;ing429;ing430;ing431;ing432;ing433;ing434;ing435;ing436;ing437;ing438;ing439;ing440;ing441;ing442;ing443;ing444;ing445;ing446;ing447;ing448;ing449;ing450;ing451;ing452;ing453;ing454;ing455;ing456;ing457;ing458;ing459;ing460;ing461;ing462;ing463;ing464;ing465;ing466;ing467;ing468;ing469;ing470;ing471;ing472;ing473;ing474;ing475;ing476;ing477;ing478;ing479;ing480;ing481;ing482;ing483;ing484;ing485;ing486;ing487;ing488;ing489;ing490;ing491;ing492;ing493;ing494;ing495;ing496;ing497;ing498;ing499;ing500;ing501;ing502;ing503;ing504;ing505;ing506;ing507;ing508;ing509;ing510;ing511;ing512;ing513;ing514;ing515;ing516;ing517;ing518;ing519;ing520;ing521;ing522;ing523;ing524;ing525;ing526;ing527;ing528;ing529;ing530;ing531;ing532;ing533;ing534;ing535;ing536;ing537;ing538;ing539;ing540;ing541;ing542;ing543;ing544;ing545;ing546;ing547;ing548;ing549;ing550;ing551;ing552;ing553;ing554;ing555;ing556;ing557;ing558;ing559;ing560;ing561;ing562;ing563;ing564;ing565;ing566;ing567;ing568;ing569;ing570;ing571;ing572;ing573;ing574;ing575;ing576;ing577;ing578;ing579;ing580;ing581;ing582;ing583;ing584;ing585;ing586;ing587;ing588;ing589;ing590;ing591;ing592;ing593;ing594;ing595;ing596;ing597;ing598;ing599;ing600;ing601;ing602;ing603;ing604;ing605;ing606;ing607;ing608;ing609;ing610;ing611;ing612;ing613;ing614;ing615;ing616;ing617;ing618;ing619;ing620;ing621;ing622;ing623;ing624;ing625;ing626;ing627;ing628;ing629;ing630;ing631;ing632;ing633;ing634;ing635;ing636;ing637;ing638;ing639;ing640;ing641;ing642;ing643;ing644;ing645;ing646;ing647;ing648;ing649;ing650;ing651;ing652;ing653;ing654;ing655;ing656;ing657;ing658;ing659;ing660;ing661;ing662;ing663;ing664;ing665;ing666;ing667;ing668;ing669;ing670;ing671;ing672;ing673;ing674;ing675;ing676;ing677;ing678;ing679;ing680;ing681;ing682;ing683;ing684;ing685;ing686;ing687;ing688;ing689;ing690;ing691;ing692;ing693;ing694;ing695;ing696;ing697;ing698;ing699;ing700;ing701;ing702;ing703;ing704;ing705;ing706;ing707;ing708;ing709;ing710;ing711;ing712;ing713;ing714;ing715;ing716;ing717;ing718;ing719;ing720;ing721;ing722;ing723;ing724;ing725;ing726;ing727;ing728;ing729;ing730;ing731;ing732;ing733;ing734;ing735;ing736;ing737;ing738;ing739;ing740;ing741;ing742;ing743;ing744;ing745;ing746;ing747;ing748;ing749;ing750;ing751;ing752;ing753;ing754;ing755;ing756;ing757;ing758;ing759;ing760;ing761;ing762;ing763;ing764;ing765;ing766;ing767;ing768;ing769;ing770;ing771;ing772;ing773;ing774;ing775;ing776;ing777;ing778;ing779;ing780;ing781;ing782;ing783;ing784;ing785;ing786;ing787;ing788;ing789;ing790;ing791;ing792;ing793;ing794;ing795;ing796;ing797;ing798;ing799;ing800;ing801;ing802;ing803;ing804;ing805;ing806;ing807;ing808;ing809;ing810;ing811;ing812;ing813;ing814;ing815;ing816;ing817;ing818;ing819;ing820;ing821;ing822;ing823;ing824;ing825;ing826;ing827;ing828;ing829;ing830;ing831;ing832;ing833;ing834;ing835;ing836;ing837;ing838;ing839;ing840;ing841;ing842;ing843;ing844;ing845;ing846;ing847;ing848;ing849;ing850;ing851;ing852;ing853;ing854;ing855;ing856;ing857;ing858;ing859;ing860;ing861;ing862;ing863;ing864;ing865;ing866;ing867;ing868;ing869;ing870;ing871;ing872;ing873;ing874;ing875;ing876;ing877;ing878;ing879;ing880;ing881;ing882;ing883;ing884;ing885;ing886;ing887;ing888;ing889;ing890;ing891;ing892;ing893;ing894;ing895;ing896;ing897;ing898;ing899;ing900;ing901;ing902;ing903;ing904;ing905;ing906;ing907;ing908;ing909;ing910;ing911;ing912;ing913;ing914;ing915;ing916;ing917;ing918;ing919;ing920;ing921;ing922;ing923;ing924;ing925;ing926;ing927;ing928;ing929;ing930;ing931;ing932;ing933;ing934;ing935;ing936;ing937;ing938;ing939;ing940;ing941;ing942;ing943;ing944;ing945;ing946;ing947;ing948;ing949;ing950;ing951;ing952;ing953;ing954;ing955;ing956;ing957;ing958;ing959;ing960;ing961;ing962;ing963;ing964;ing965;ing966;ing967;ing968;ing969;ing970;ing971;ing972;ing973;ing974;ing975;ing976;ing977;ing978;ing979;ing980;ing981;ing982;ing983;ing984;ing985;ing986;ing987;ing988;ing989;ing990;ing991;ing992;ing993;ing994;ing995;ing996;ing997;ing998;ing999
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;ing0;ing1;ing2;ing3;ing4;ing5;ing6;ing7;ing8;ing9;ing10;ing11;ing12;ing13;ing14;ing15;ing16;ing17;ing18;ing19;ing20;ing21;ing22;ing23;ing24;ing25;ing26;ing27;ing28;ing29;ing30;ing31;ing32;ing33;ing34;ing35;ing36;ing37;ing38;ing39;ing40;ing41;ing42;ing43;ing44;ing45;ing46;ing47;ing48;ing49;ing50;ing51;ing52;ing53;ing54;ing55;ing56;ing57;ing58;ing59;ing60;ing61;ing62;ing63;ing64;ing65;ing66;ing67;ing68;ing69;ing70;ing71;ing72;ing73;ing74;ing75;ing76;ing77;ing78;ing79;ing80;ing81;ing82;ing83;ing84;ing85;ing86;ing87;ing88;ing89;ing90;ing91;ing92;ing93;ing94;ing95;ing96;ing97;ing98;ing99;ing100;ing101;ing102;ing103;ing104;ing105;ing106;ing107;ing108;ing109;ing110;ing111;ing112;ing113;ing114;ing115;ing116;ing117;ing118;ing119;ing120;ing121;ing122;ing123;ing124;ing125;ing126;ing127;ing128;ing129;ing130;ing131;ing132;ing133;ing134;ing135;ing136;ing137;ing138;ing139;ing140;ing141;ing142;ing143;ing144;ing145;ing146;ing147;ing148;ing149;ing150;ing151;ing152;ing153;ing154;ing155;ing156;ing157;ing158;ing159;ing160;ing161;ing162;ing163;ing164;ing165;ing166;ing167;ing168;ing169;ing170;ing171;ing172;ing173;ing174;ing175;ing176;ing177;ing178;ing179;ing180;ing181;ing182;ing183;ing184;ing185;ing186;ing187;ing188;ing189;ing190;ing191;ing192;ing193;ing194;ing195;ing196;ing197;ing198;ing199;ing200;ing201;ing202;ing203;ing204;ing205;ing206;ing207;ing208;ing209;ing210;ing211;ing212;ing213;ing214;ing215;ing216;ing217;ing218;ing219;ing220;ing221;ing222;ing223;ing224;ing225;ing226;ing227;ing228;ing229;ing230;ing231;ing232;ing233;ing234;ing235;ing236;ing237;ing238;ing239;ing240;ing241;ing242;ing243;ing244;ing245;ing246;ing247;ing248;ing249;ing250;ing251;ing252;ing253;ing254;ing255;ing256;ing257;ing258;ing259;ing260;ing261;ing262;ing263;ing264;ing265;ing266;ing267;ing268;ing269;ing270;ing271;ing272;ing273;ing274;ing275;ing276;ing277;ing278;ing279;ing280;ing281;ing282;ing283;ing284;ing285;ing286;ing287;ing288;ing289;ing290;ing291;ing292;ing293;ing294;ing295;ing296;ing297;ing298;ing299;ing300;ing301;ing302;ing303;ing304;ing305;ing306;ing307;ing308;ing309;ing310;ing311;ing312;ing313;ing314;ing315;ing316;ing317;ing318;ing319;ing320;ing321;ing322;ing323;ing324;ing325;ing326;ing327;ing328;ing329;ing330;ing331;ing332;ing333;ing334;ing335;ing336;ing337;ing338;ing339;ing340;ing341;ing342;ing343;ing344;ing345;ing346;ing347;ing348;ing349;ing350;ing351;ing352;ing353;ing354;ing355;ing356;ing357;ing358;ing359;ing360;ing361;ing362;ing363;ing364;ing365;ing366;ing367;ing368;ing369;ing370;ing371;ing372;ing373;ing374;ing375;ing376;ing377;ing378;ing379;ing380;ing381;ing382;ing383;ing384;ing385;ing386;ing387;ing388;ing389;ing390;ing391;ing392;ing393;ing394;ing395;ing396;ing397;ing398;ing399;ing400;ing401;ing402;ing403;ing404;ing405;ing406;ing407;ing408;ing409;ing410;ing411;ing412;ing413;ing414;ing415;ing416;ing417;ing418;ing419;ing420;ing421;ing422;ing423;ing424;ing425;ing426;ing427;ing428;ing429;ing430;ing431;ing432;ing433;ing434;ing435;ing436;ing437;ing438;ing439;ing440;ing441;ing442;ing443;ing444;ing445;ing446;ing447;ing448;ing449;ing450;ing451;ing452;ing453;ing454;ing455;ing456;ing457;ing458;ing459;ing460;ing461;ing462;ing463;ing464;ing465;ing466;ing467;ing468;ing469;ing470;ing471;ing472;ing473;ing474;ing475;ing476;ing477;ing478;ing479;ing480;ing481;ing482;ing483;ing484;ing485;ing486;ing487;ing488;ing489;ing490;ing491;ing492;ing493;ing494;ing495;ing496;ing497;ing498;ing499;ing500;ing501;ing502;ing503;ing504;ing505;ing506;ing507;ing508;ing509;ing510;ing511;ing512;ing513;ing514;ing515;ing516;ing517;ing518;ing519;ing520;ing521;ing522;ing523;ing524;ing525;ing526;ing527;ing528;ing529;ing530;ing531;ing532;ing533;ing534;ing535;ing536;ing537;ing538;ing539;ing540;ing541;ing542;ing543;ing544;ing545;ing546;ing547;ing548;ing549;ing550;ing551;ing552;ing553;ing554;ing555;ing556;ing557;ing558;ing559;ing560;ing561;ing562;ing563;ing564;ing565;ing566;ing567;ing568;ing569;ing570;ing571;ing572;ing573;ing574;ing575;ing576;ing577;ing578;ing579;ing580;ing581;ing582;ing583;ing584;ing585;ing586;ing587;ing588;ing589;ing590;ing591;ing592;ing593;ing594;ing595;ing596;ing597;ing598;ing599;ing600;ing601;ing602;ing603;ing604;ing605;ing606;ing607;ing608;ing609;ing610;ing611;ing612;ing613;ing614;ing615;ing616;ing617;ing618;ing619;ing620;ing621;ing622;ing623;ing624;ing625;ing626;ing627;ing628;ing629;ing630;ing631;ing632;ing633;ing634;ing635;ing636;ing637;ing638;ing639;ing640;ing641;ing642;ing643;ing644;ing645;ing646;ing647;ing648;ing649;ing650;ing651;ing652;ing653;ing654;ing655;ing656;ing657;ing658;ing659;ing660;ing661;ing662;ing663;ing664;ing665;ing666;ing667;ing668;ing669;ing670;ing671;ing672;ing673;ing674;ing675;ing676;ing677;ing678;ing679;ing680;ing681;ing682;ing683;ing684;ing685;ing686;ing687;ing688;ing689;ing690;ing691;ing692;ing693;ing694;ing695;ing696;ing697;ing698;ing699;ing700;ing701;ing702;ing703;ing704;ing705;ing706;ing707;ing708;ing709;ing710;ing711;ing712;ing713;ing714;ing715;ing716;ing717;ing718;ing719;ing720;ing721;ing722;ing723;ing724;ing725;ing726;ing727;ing728;ing729;ing730;ing731;ing732;ing733;ing734;ing735;ing736;ing737;ing738;ing739;ing740;ing741;ing742;ing743;ing744;ing745;ing746;ing747;ing748;ing749;ing750;ing751;ing752;ing753;ing754;ing755;ing756;ing757;ing758;ing759;ing760;ing761;ing762;ing763;ing764;ing765;ing766;ing767;ing768;ing769;ing770;ing771;ing772;ing773;ing774;ing775;ing776;ing777;ing778;ing779;ing780;ing781;ing782;ing783;ing784;ing785;ing786;ing787;ing788;ing789;ing790;ing791;ing792;ing793;ing794;ing795;ing796;ing797;ing798;ing799;ing800;ing801;ing802;ing803;ing804;ing805;ing806;ing807;ing808;ing809;ing810;ing811;ing812;ing813;ing814;ing815;ing816;ing817;ing818;ing819;ing820;ing821;ing822;ing823;ing824;ing825;ing826;ing827;ing828;ing829;ing830;ing831;ing832;ing833;ing834;ing835;ing836;ing837;ing838;ing839;ing840;ing841;ing842;ing843;ing844;ing845;ing846;ing847;ing848;ing849;ing850;ing851;ing852;ing853;ing854;ing855;ing856;ing857;ing858;ing859;ing860;ing861;ing862;ing863;ing864;ing865;ing866;ing867;ing868;ing869;ing870;ing871;ing872;ing873;ing874;ing875;ing876;ing877;ing878;ing879;ing880;ing881;ing882;ing883;ing884;ing885;ing886;ing887;ing888;ing889;ing890;ing891;ing892;ing893;ing894;ing895;ing896;ing897;ing898;ing899;ing900;ing901;ing902;ing903;ing904;ing905;ing906;ing907;ing908;ing909;ing910;ing911;ing912;ing913;ing914;ing915;ing916;ing917;ing918;ing919;ing920;ing921;ing922;ing923;ing924;ing925;ing926;ing927;ing928;ing929;ing930;ing931;ing932;ing933;ing934;ing935;ing936;ing937;ing938;ing939;ing940;ing941;ing942;ing943;ing944;ing945;ing946;ing947;ing948;ing949;ing950;ing951;ing952;ing953;ing954;ing955;ing956;ing957;ing958;ing959;ing960;ing961;ing962;ing963;ing964;ing965;ing966;ing967;ing968;ing969;ing970;ing971;ing972;ing973;ing974;ing975;ing976;ing977;ing978;ing979;ing980;ing981;ing982;ing983;ing984;ing985;ing986;ing987;ing988;ing989;ing990;ing991;ing992;ing993;ing994;ing995;ing996;ing997;ing998;ing999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+ing999
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+art;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string999
+start;string0;string1;string2;string3;string4;string5;string6;string7;string8;string9;string10;string11;string12;string13;string14;string15;string16;string17;string18;string19;string20;string21;string22;string23;string24;string25;string26;string27;string28;string29;string30;string31;string32;string33;string34;string35;string36;string37;string38;string39;string40;string41;string42;string43;string44;string45;string46;string47;string48;string49;string50;string51;string52;string53;string54;string55;string56;string57;string58;string59;string60;string61;string62;string63;string64;string65;string66;string67;string68;string69;string70;string71;string72;string73;string74;string75;string76;string77;string78;string79;string80;string81;string82;string83;string84;string85;string86;string87;string88;string89;string90;string91;string92;string93;string94;string95;string96;string97;string98;string99;string100;string101;string102;string103;string104;string105;string106;string107;string108;string109;string110;string111;string112;string113;string114;string115;string116;string117;string118;string119;string120;string121;string122;string123;string124;string125;string126;string127;string128;string129;string130;string131;string132;string133;string134;string135;string136;string137;string138;string139;string140;string141;string142;string143;string144;string145;string146;string147;string148;string149;string150;string151;string152;string153;string154;string155;string156;string157;string158;string159;string160;string161;string162;string163;string164;string165;string166;string167;string168;string169;string170;string171;string172;string173;string174;string175;string176;string177;string178;string179;string180;string181;string182;string183;string184;string185;string186;string187;string188;string189;string190;string191;string192;string193;string194;string195;string196;string197;string198;string199;string200;string201;string202;string203;string204;string205;string206;string207;string208;string209;string210;string211;string212;string213;string214;string215;string216;string217;string218;string219;string220;string221;string222;string223;string224;string225;string226;string227;string228;string229;string230;string231;string232;string233;string234;string235;string236;string237;string238;string239;string240;string241;string242;string243;string244;string245;string246;string247;string248;string249;string250;string251;string252;string253;string254;string255;string256;string257;string258;string259;string260;string261;string262;string263;string264;string265;string266;string267;string268;string269;string270;string271;string272;string273;string274;string275;string276;string277;string278;string279;string280;string281;string282;string283;string284;string285;string286;string287;string288;string289;string290;string291;string292;string293;string294;string295;string296;string297;string298;string299;string300;string301;string302;string303;string304;string305;string306;string307;string308;string309;string310;string311;string312;string313;string314;string315;string316;string317;string318;string319;string320;string321;string322;string323;string324;string325;string326;string327;string328;string329;string330;string331;string332;string333;string334;string335;string336;string337;string338;string339;string340;string341;string342;string343;string344;string345;string346;string347;string348;string349;string350;string351;string352;string353;string354;string355;string356;string357;string358;string359;string360;string361;string362;string363;string364;string365;string366;string367;string368;string369;string370;string371;string372;string373;string374;string375;string376;string377;string378;string379;string380;string381;string382;string383;string384;string385;string386;string387;string388;string389;string390;string391;string392;string393;string394;string395;string396;string397;string398;string399;string400;string401;string402;string403;string404;string405;string406;string407;string408;string409;string410;string411;string412;string413;string414;string415;string416;string417;string418;string419;string420;string421;string422;string423;string424;string425;string426;string427;string428;string429;string430;string431;string432;string433;string434;string435;string436;string437;string438;string439;string440;string441;string442;string443;string444;string445;string446;string447;string448;string449;string450;string451;string452;string453;string454;string455;string456;string457;string458;string459;string460;string461;string462;string463;string464;string465;string466;string467;string468;string469;string470;string471;string472;string473;string474;string475;string476;string477;string478;string479;string480;string481;string482;string483;string484;string485;string486;string487;string488;string489;string490;string491;string492;string493;string494;string495;string496;string497;string498;string499;string500;string501;string502;string503;string504;string505;string506;string507;string508;string509;string510;string511;string512;string513;string514;string515;string516;string517;string518;string519;string520;string521;string522;string523;string524;string525;string526;string527;string528;string529;string530;string531;string532;string533;string534;string535;string536;string537;string538;string539;string540;string541;string542;string543;string544;string545;string546;string547;string548;string549;string550;string551;string552;string553;string554;string555;string556;string557;string558;string559;string560;string561;string562;string563;string564;string565;string566;string567;string568;string569;string570;string571;string572;string573;string574;string575;string576;string577;string578;string579;string580;string581;string582;string583;string584;string585;string586;string587;string588;string589;string590;string591;string592;string593;string594;string595;string596;string597;string598;string599;string600;string601;string602;string603;string604;string605;string606;string607;string608;string609;string610;string611;string612;string613;string614;string615;string616;string617;string618;string619;string620;string621;string622;string623;string624;string625;string626;string627;string628;string629;string630;string631;string632;string633;string634;string635;string636;string637;string638;string639;string640;string641;string642;string643;string644;string645;string646;string647;string648;string649;string650;string651;string652;string653;string654;string655;string656;string657;string658;string659;string660;string661;string662;string663;string664;string665;string666;string667;string668;string669;string670;string671;string672;string673;string674;string675;string676;string677;string678;string679;string680;string681;string682;string683;string684;string685;string686;string687;string688;string689;string690;string691;string692;string693;string694;string695;string696;string697;string698;string699;string700;string701;string702;string703;string704;string705;string706;string707;string708;string709;string710;string711;string712;string713;string714;string715;string716;string717;string718;string719;string720;string721;string722;string723;string724;string725;string726;string727;string728;string729;string730;string731;string732;string733;string734;string735;string736;string737;string738;string739;string740;string741;string742;string743;string744;string745;string746;string747;string748;string749;string750;string751;string752;string753;string754;string755;string756;string757;string758;string759;string760;string761;string762;string763;string764;string765;string766;string767;string768;string769;string770;string771;string772;string773;string774;string775;string776;string777;string778;string779;string780;string781;string782;string783;string784;string785;string786;string787;string788;string789;string790;string791;string792;string793;string794;string795;string796;string797;string798;string799;string800;string801;string802;string803;string804;string805;string806;string807;string808;string809;string810;string811;string812;string813;string814;string815;string816;string817;string818;string819;string820;string821;string822;string823;string824;string825;string826;string827;string828;string829;string830;string831;string832;string833;string834;string835;string836;string837;string838;string839;string840;string841;string842;string843;string844;string845;string846;string847;string848;string849;string850;string851;string852;string853;string854;string855;string856;string857;string858;string859;string860;string861;string862;string863;string864;string865;string866;string867;string868;string869;string870;string871;string872;string873;string874;string875;string876;string877;string878;string879;string880;string881;string882;string883;string884;string885;string886;string887;string888;string889;string890;string891;string892;string893;string894;string895;string896;string897;string898;string899;string900;string901;string902;string903;string904;string905;string906;string907;string908;string909;string910;string911;string912;string913;string914;string915;string916;string917;string918;string919;string920;string921;string922;string923;string924;string925;string926;string927;string928;string929;string930;string931;string932;string933;string934;string935;string936;string937;string938;string939;string940;string941;string942;string943;string944;string945;string946;string947;string948;string949;string950;string951;string952;string953;string954;string955;string956;string957;string958;string959;string960;string961;string962;string963;string964;string965;string966;string967;string968;string969;string970;string971;string972;string973;string974;string975;string976;string977;string978;string979;string980;string981;string982;string983;string984;string985;string986;string987;string988;string989;string990;string991;string992;string993;string994;string995;string996;string997;string998;string9
argv[1] = </>
argv[1] = </>
-./new-exp.tests: line 576: ABXD: parameter unset
+./new-exp.tests: line 580: ABXD: parameter unset
diff --git a/tests/new-exp.tests b/tests/new-exp.tests
index 8c43b66..2817041 100644
--- a/tests/new-exp.tests
+++ b/tests/new-exp.tests
@@ -417,8 +417,10 @@ recho $c
c=${var:4}
expect nothing
recho $c
-expect '<./new-exp.tests: -2: substring expression < 0>'
+# as of bash-4.2, negative LENGTH means offset from the end
c=${var:0:-2}
+expect '<a>'
+recho $c
var=abcdefghi
c=${var:3:12}
@@ -565,6 +567,8 @@ ${THIS_SH} ./new-exp6.sub
${THIS_SH} ./new-exp7.sub
+${THIS_SH} ./new-exp8.sub
+
# problems with stray CTLNUL in bash-4.0-alpha
unset a
a=/a
diff --git a/tests/new-exp8.sub b/tests/new-exp8.sub
new file mode 100644
index 0000000..6cae6ab
--- /dev/null
+++ b/tests/new-exp8.sub
@@ -0,0 +1,95 @@
+pat1='str'
+pat2='[^;]'
+pat3='[[:alnum:]_]'
+pat4='[[:alnum:]][[fu]b'
+pat5='?tr'
+pat6='?tr\'
+pat7='[[:alnum:]]_'
+pat8='*tr'
+
+declare z="start"
+declare NUM=1000
+
+#----------------------------------
+# create a long string with ';'
+#----------------------------------
+for ((i=0; i<$NUM; i++)); do
+ z="$z;string$i"
+done
+
+#z="$z;string;foo"
+
+#------------------------------
+# delete everything except ';'
+#------------------------------
+
+# try different patterns here
+x="${z//$pat1}"
+echo $x
+x="${z//$pat2}"
+echo $x
+x="${z//$pat3}"
+echo $x
+x="${z//$pat4}"
+echo $x
+x="${z//$pat5}"
+echo $x
+x="${z//$pat6}"
+echo $x
+x="${z//$pat7}"
+echo $x
+x="${z//$pat8}"
+echo $x
+
+
+declare z="start"
+declare NUM=1000
+
+#----------------------------------
+# create a long string with ';'
+#----------------------------------
+for ((i=0; i<$NUM; i++)); do
+ z="$z;string$i"
+done
+
+#z="$z;string;foo"
+
+#------------------------------
+# delete everything except ';'
+#------------------------------
+
+# try different patterns here
+x="${z//[^;]}"
+echo $x
+x="${z/#[^;][^;]}"
+echo $x
+x="${z/%[^;][^;]}"
+echo $x
+
+export LANG=C LC_ALL=C LC_CTYPE=C
+
+# try different patterns here
+x="${z//$pat1}"
+echo $x
+x="${z//$pat2}"
+echo $x
+x="${z//$pat3}"
+echo $x
+x="${z//$pat4}"
+echo $x
+x="${z//$pat5}"
+echo $x
+x="${z//$pat6}"
+echo $x
+x="${z//$pat7}"
+echo $x
+x="${z//$pat8}"
+echo $x
+
+# try different patterns here
+x="${z//[^;]}"
+echo $x
+x="${z/#[^;][^;]}"
+echo $x
+x="${z/%[^;][^;]}"
+echo $x
diff --git a/tests/posixexp.right b/tests/posixexp.right
new file mode 100644
index 0000000..0ba6555
--- /dev/null
+++ b/tests/posixexp.right
@@ -0,0 +1,41 @@
+a
+b
+a b
+argv[1] = <a>
+argv[2] = <b>
+argv[3] = <x>
+argv[4] = <a>
+argv[5] = <b>
+argv[1] = <a\ b>
+argv[2] = <x>
+argv[3] = <a\ b>
+argv[1] = <foo 'bar' baz>
+argv[1] = <a b c d>
+argv[1] = <a b c d>
+argv[1] = <foo ax{{{}b c d{} bar>
+argv[2] = <}>
+argv[3] = <baz>
+argv[1] = <'foo'>
+argv[1] = <'foo'>
+argv[1] = <$a>
+argv[1] = <'foo'>
+argv[1] = <foo*bar>
+argv[1] = <foo*bar>
+argv[1] = <foo*bar'}>
+argv[1] = <x'>
+<.> <x> <.> <> <.> <x> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+<.> <w> <.> <> <.> <w> <.>
+<.> <w> <.> <> <.> <w> <.>
+<x> <.> <x> <.> <x> <.> <x> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+<x> <.> <w> <.> <x> <.> <w> <.>
+argv[1] = <'bar>
+argv[1] = <foo 'bar baz>
+argv[1] = <}z>
+argv[1] = <''z}>
+./posixexp.tests: line 77: unexpected EOF while looking for matching `}'
+./posixexp.tests: line 78: syntax error: unexpected end of file
diff --git a/tests/posixexp.tests b/tests/posixexp.tests
new file mode 100644
index 0000000..60be1c7
--- /dev/null
+++ b/tests/posixexp.tests
@@ -0,0 +1,77 @@
+unset a
+printf "%s\n" ${a:=a\ b}
+echo "$a"
+
+unset v
+recho ${v=a\ b} x ${v=c\ d}
+
+unset v
+recho "${v=a\ b}" x "${v=c\ d}"
+
+unset a v
+
+recho "foo ${IFS+'bar'} baz"
+recho "a ${IFS+b c} d"
+
+recho "a ${IFS+"b c"} d"
+
+u=x
+recho "foo ${IFS+a$u{{{\}b} c ${IFS+d{}} bar" ${IFS-e{}} baz
+
+a=foo
+recho "${IFS+'$a'}"
+recho "${IFS+"'$a'"}"
+
+recho ${IFS+'$a'}
+recho ${IFS+"'$a'"}
+
+unset a u
+x='foo*bar'
+
+recho "${x##"}"}"
+recho "${x##'}'}"
+recho "${x##'}"
+
+recho "${x:-'}'}"
+
+foo="x'a'y"
+recho "${foo%*'a'*}"
+unset x
+
+unset u
+v=w
+printf '<%s> ' ${u+x} . ${v+x} . "${u+x}" . "${v+x}" .; echo
+printf '<%s> ' ${u-x} . ${v-x} . "${u-x}" . "${v-x}" .; echo
+printf '<%s> ' ${u=x} . ${v=x} . "${u=x}" . "${v=x}" .; echo
+printf '<%s> ' ${u?x} . ${v?x} . "${u?x}" . "${v?x}" .; echo
+printf '<%s> ' ${u#x} . ${v#x} . "${u#x}" . "${v#x}" .; echo
+printf '<%s> ' ${u%x} . ${v%x} . "${u%x}" . "${v%x}" .; echo
+printf '<%s> ' ${u:+x} . ${v:+x} . "${u:+x}" . "${v:+x}" .; echo
+printf '<%s> ' ${u:-x} . ${v:-x} . "${u:-x}" . "${v:-x}" .; echo
+printf '<%s> ' ${u:=x} . ${v:=x} . "${u:=x}" . "${v:=x}" .; echo
+printf '<%s> ' ${u:?x} . ${v:?x} . "${u:?x}" . "${v:?x}" .; echo
+# these are invalid substitution operators
+#printf '<%s> ' ${u:#x} . ${v:#x} . "${u:#x}" . "${v:#x}" .; echo
+#printf '<%s> ' ${u:%x} . ${v:%x} . "${u:%x}" . "${v:%x}" .; echo
+
+unset foo
+set -o posix
+
+recho "${IFS+'bar}"
+recho "foo ${IFS+'bar} baz"
+
+recho ${IFS+'}'z}
+recho "${IFS+'}'z}"
+
+: ${TMPDIR:=/var/tmp}
+rm -f $TMPDIR/sh
+cp ${THIS_SH} $TMPDIR/sh
+THIS_SH=$TMPDIR/sh ${THIS_SH} ./posixexp1.sub || echo "sh posixexp1.sub: test $? failed"
+${THIS_SH} ./posixexp1.sub || echo "bash posixexp1.sub: test $? failed"
+
+THIS_SH=$TMPDIR/sh ${THIS_SH} ./posixexp2.sub || echo "sh posixexp2.sub: test $? failed"
+rm -f $TMPDIR/sh
+
+# this will be an error
+foo=bar
+echo "${foo:-"a}"
diff --git a/tests/posixexp1.sub b/tests/posixexp1.sub
new file mode 100644
index 0000000..ce0b29d
--- /dev/null
+++ b/tests/posixexp1.sub
@@ -0,0 +1,30 @@
+# $FreeBSD: src/tools/regression/bin/sh/expansion/set-u1.0,v 1.2 2010/10/12 18:20:38 obrien Exp $
+
+${THIS_SH} -uc 'unset foo; echo ${foo}' 2>/dev/null && exit 1
+${THIS_SH} -uc 'unset foo; echo $foo' 2>/dev/null && exit 1
+${THIS_SH} -uc 'foo=; echo $foo' >/dev/null || exit 2
+${THIS_SH} -uc 'foo=1; echo $foo' >/dev/null || exit 3
+# -/+/= are unaffected by set -u
+${THIS_SH} -uc 'unset foo; echo ${foo-}' >/dev/null || exit 4
+${THIS_SH} -uc 'unset foo; echo ${foo+}' >/dev/null || exit 5
+${THIS_SH} -uc 'unset foo; echo ${foo=}' >/dev/null || exit 6
+# length/trimming are affected
+${THIS_SH} -uc 'unset foo; echo ${#foo}' 2>/dev/null && exit 7
+${THIS_SH} -uc 'foo=; echo ${#foo}' >/dev/null || exit 8
+${THIS_SH} -uc 'unset foo; echo ${foo#?}' 2>/dev/null && exit 9
+${THIS_SH} -uc 'foo=1; echo ${foo#?}' >/dev/null || exit 10
+${THIS_SH} -uc 'unset foo; echo ${foo##?}' 2>/dev/null && exit 11
+${THIS_SH} -uc 'foo=1; echo ${foo##?}' >/dev/null || exit 12
+${THIS_SH} -uc 'unset foo; echo ${foo%?}' 2>/dev/null && exit 13
+${THIS_SH} -uc 'foo=1; echo ${foo%?}' >/dev/null || exit 14
+${THIS_SH} -uc 'unset foo; echo ${foo%%?}' 2>/dev/null && exit 15
+${THIS_SH} -uc 'foo=1; echo ${foo%%?}' >/dev/null || exit 16
+
+${THIS_SH} -uc 'echo $!' 2>/dev/null && exit 17
+${THIS_SH} -uc ':& echo $!' >/dev/null || exit 18
+${THIS_SH} -uc 'echo $#' >/dev/null || exit 19
+${THIS_SH} -uc 'echo $1' 2>/dev/null && exit 20
+${THIS_SH} -uc 'echo $1' ${THIS_SH} xnotthere >/dev/null || exit 21
+${THIS_SH} -uc 'echo $2' ${THIS_SH} xnotthere 2>/dev/null && exit 22
+${THIS_SH} -uc 'echo $2' ${THIS_SH} xnotthere ynotthere >/dev/null || exit 23
+exit 0
diff --git a/tests/posixexp2.right b/tests/posixexp2.right
new file mode 100644
index 0000000..08d3901
--- /dev/null
+++ b/tests/posixexp2.right
@@ -0,0 +1,40 @@
+1 }z
+2 ''z}
+3 foo 'bar baz
+4 foo b c baz
+5 foo b c baz
+6 }z
+7 }z
+8 ""z}
+9 "}"z
+10 foo bar} baz
+11 ''z}
+12 }z
+13 }z
+14 }z
+15 <foo abx{ {{{}b c d{} bar> <}> <baz> .
+16 hi there
+17 hi there
+18 hi there
+19 hi there
+20 hi there
+21 hi there
+22 hi there
+23 hi there
+24 'value'
+25 'value'
+26 $key
+27 'value'
+28 'x ~ x''x}"x}" #
+29 <foo> <abx{ {{> <{}b> <c> <d{}> <bar> <}> <baz> .
+30 <foo> <b\
+ar> <baz> .
+32 <foo> <bar> <baz> .
+33 <foo 'bar' baz> .
+34 <foo bar baz> .
+35 <a> <b> <x> <a> <b> .
+36 <a\ b> <x> <a\ b> .
+37 <a b> <x> <c d> .
+38 xay / x'a'y .
+39 x' / x' .
+40 < b c> .
diff --git a/tests/posixexp2.sub b/tests/posixexp2.sub
new file mode 100644
index 0000000..f48d088
--- /dev/null
+++ b/tests/posixexp2.sub
@@ -0,0 +1,21 @@
+
+x=a\ b
+[ "$x" = "${x?}" ] || exit 1
+set -- ${x?}
+{ [ "$#" = 2 ] && [ "$1" = a ] && [ "$2" = b ]; } || exit 1
+unset x
+(echo ${x?abcdefg}) 2>&1 | grep abcdefg >/dev/null || exit 1
+${THIS_SH} -c 'unset foo; echo ${foo?}' 2>/dev/null && exit 2
+${THIS_SH} -c 'foo=; echo ${foo:?}' 2>/dev/null && exit 3
+${THIS_SH} -c 'foo=; echo ${foo?}' >/dev/null || exit 4
+${THIS_SH} -c 'foo=1; echo ${foo:?}' >/dev/null || exit 5
+${THIS_SH} -c 'echo ${!?}' 2>/dev/null && exit 6
+${THIS_SH} -c ':& echo ${!?}' >/dev/null || exit 7
+${THIS_SH} -c 'echo ${#?}' >/dev/null || exit 8
+${THIS_SH} -c 'echo ${*?}' 2>/dev/null && exit 9
+${THIS_SH} -c 'echo ${*?}' ${THIS_SH} x >/dev/null || exit 10
+${THIS_SH} -c 'echo ${1?}' 2>/dev/null && exit 11
+${THIS_SH} -c 'echo ${1?}' ${THIS_SH} x >/dev/null || exit 12
+${THIS_SH} -c 'echo ${2?}' ${THIS_SH} x 2>/dev/null && exit 13
+${THIS_SH} -c 'echo ${2?}' ${THIS_SH} x y >/dev/null || exit 14
+exit 0
diff --git a/tests/posixexp2.tests b/tests/posixexp2.tests
new file mode 100644
index 0000000..57dd767
--- /dev/null
+++ b/tests/posixexp2.tests
@@ -0,0 +1,47 @@
+# From mksh
+
+set -o posix
+
+(echo 1 ${IFS+'}'z}) 2>&- || echo failed in 1
+(echo 2 "${IFS+'}'z}") 2>&- || echo failed in 2
+(echo 3 "foo ${IFS+'bar} baz") 2>&- || echo failed in 3
+(echo -n '4 '; printf '%s\n' "foo ${IFS+"b c"} baz") 2>&- || echo failed in 4
+(echo -n '5 '; printf '%s\n' "foo ${IFS+b c} baz") 2>&- || echo failed in 5
+(echo 6 ${IFS+"}"z}) 2>&- || echo failed in 6
+(echo 7 "${IFS+"}"z}") 2>&- || echo failed in 7
+(echo 8 "${IFS+\"}\"z}") 2>&- || echo failed in 8
+(echo 9 "${IFS+\"\}\"z}") 2>&- || echo failed in 9
+(echo 10 foo ${IFS+'bar} baz'}) 2>&- || echo failed in 10
+(echo 11 "$(echo "${IFS+'}'z}")") 2>&- || echo failed in 11
+(echo 12 "$(echo ${IFS+'}'z})") 2>&- || echo failed in 12
+(echo 13 ${IFS+\}z}) 2>&- || echo failed in 13
+(echo 14 "${IFS+\}z}") 2>&- || echo failed in 14
+u=x; (echo -n '15 '; printf '<%s> ' "foo ${IFS+a"b$u{ {"{{\}b} c ${IFS+d{}} bar" ${IFS-e{}} baz; echo .) 2>&- || echo failed in 15
+l=t; (echo 16 ${IFS+h`echo -n i ${IFS+$l}h`ere}) 2>&- || echo failed in 16
+l=t; (echo 17 ${IFS+h$(echo -n i ${IFS+$l}h)ere}) 2>&- || echo failed in 17
+l=t; (echo 18 "${IFS+h`echo -n i ${IFS+$l}h`ere}") 2>&- || echo failed in 18
+l=t; (echo 19 "${IFS+h$(echo -n i ${IFS+$l}h)ere}") 2>&- || echo failed in 19
+l=t; (echo 20 ${IFS+h`echo -n i "${IFS+$l}"h`ere}) 2>&- || echo failed in 20
+l=t; (echo 21 ${IFS+h$(echo -n i "${IFS+$l}"h)ere}) 2>&- || echo failed in 21
+l=t; (echo 22 "${IFS+h`echo -n i "${IFS+$l}"h`ere}") 2>&- || echo failed in 22
+l=t; (echo 23 "${IFS+h$(echo -n i "${IFS+$l}"h)ere}") 2>&- || echo failed in 23
+key=value; (echo -n '24 '; printf '%s\n' "${IFS+'$key'}") 2>&- || echo failed in 24
+key=value; (echo -n '25 '; printf '%s\n' "${IFS+"'$key'"}") 2>&- || echo failed in 25 # ksh93: “'$key'â€
+key=value; (echo -n '26 '; printf '%s\n' ${IFS+'$key'}) 2>&- || echo failed in 26
+key=value; (echo -n '27 '; printf '%s\n' ${IFS+"'$key'"}) 2>&- || echo failed in 27
+(echo -n '28 '; printf '%s\n' "${IFS+"'"x ~ x'}'x"'}"x}" #') 2>&- || echo failed in 28
+u=x; (echo -n '29 '; printf '<%s> ' foo ${IFS+a"b$u{ {"{ {\}b} c ${IFS+d{}} bar ${IFS-e{}} baz; echo .) 2>&- || echo failed in 29
+(echo -n '30 '; printf '<%s> ' ${IFS+foo 'b\
+ar' baz}; echo .) 2>&- || (echo failed in 30; echo failed in 31)
+(echo -n '32 '; printf '<%s> ' ${IFS+foo "b\
+ar" baz}; echo .) 2>&- || echo failed in 32
+(echo -n '33 '; printf '<%s> ' "${IFS+foo 'b\
+ar' baz}"; echo .) 2>&- || echo failed in 33
+(echo -n '34 '; printf '<%s> ' "${IFS+foo "b\
+ar" baz}"; echo .) 2>&- || echo failed in 34
+(echo -n '35 '; printf '<%s> ' ${v=a\ b} x ${v=c\ d}; echo .) 2>&- || echo failed in 35
+(echo -n '36 '; printf '<%s> ' "${v=a\ b}" x "${v=c\ d}"; echo .) 2>&- || echo failed in 36
+(echo -n '37 '; printf '<%s> ' ${v-a\ b} x ${v-c\ d}; echo .) 2>&- || echo failed in 37
+(echo 38 ${IFS+x'a'y} / "${IFS+x'a'y}" .) 2>&- || echo failed in 38
+foo="x'a'y"; (echo 39 ${foo%*'a'*} / "${foo%*'a'*}" .) 2>&- || echo failed in 39
+foo="a b c"; (echo -n '40 '; printf '<%s> ' "${foo#a}"; echo .) 2>&- || echo failed in 40
diff --git a/tests/posixpipe.right b/tests/posixpipe.right
new file mode 100644
index 0000000..8f6c9cb
--- /dev/null
+++ b/tests/posixpipe.right
@@ -0,0 +1,41 @@
+1
+0
+a
+real 0.00
+user 0.00
+sys 0.00
+1
+a
+real 0.00
+user 0.00
+sys 0.00
+1
+tfunc is a function
+tfunc ()
+{
+ time
+}
+1
+0
+1
+a
+real 0.00
+user 0.00
+sys 0.00
+0
+a
+real 0.00
+user 0.00
+sys 0.00
+0
+a
+real 0.00
+user 0.00
+sys 0.00
+0
+1
+0
+a
+real 0.00
+user 0.00
+sys 0.00
diff --git a/tests/posixpipe.tests b/tests/posixpipe.tests
new file mode 100644
index 0000000..a2f047a
--- /dev/null
+++ b/tests/posixpipe.tests
@@ -0,0 +1,43 @@
+# Test timed and negated pipelines in bash-4.2 and later
+export TIMEFORMAT=$'real %2R\nuser %2U\nsys %2S'
+
+!
+echo $?
+
+! !
+echo $?
+
+time ! echo a
+echo $?
+
+! time echo a
+echo $?
+
+tfunc()
+{
+ time
+}
+
+type tfunc
+
+! true
+echo $?
+! ! true
+echo $?
+! ! ! true
+echo $?
+
+time time echo a
+echo $?
+
+time time -p echo a
+echo $?
+time -p time echo a
+echo $?
+
+!
+echo $?
+! !
+echo $?
+
+time -p -- echo a
diff --git a/tests/printf.right b/tests/printf.right
index a6bb04d..065d2f7 100644
--- a/tests/printf.right
+++ b/tests/printf.right
Binary files differ
diff --git a/tests/printf.tests b/tests/printf.tests
index 3dd5248..9644cc2 100644
--- a/tests/printf.tests
+++ b/tests/printf.tests
@@ -308,4 +308,9 @@ shopt -s nullglob extglob
echo "x$(printf "%b" @(hugo))x"
printf -v var "%b" @(hugo); echo "x${var}x"
+# tests variable assignment with -v
+${THIS_SH} ./printf1.sub
+
${THIS_SH} ./printf2.sub
+
+${THIS_SH} ./printf3.sub
diff --git a/tests/printf1.sub b/tests/printf1.sub
new file mode 100644
index 0000000..52612d5
--- /dev/null
+++ b/tests/printf1.sub
@@ -0,0 +1,335 @@
+LC_ALL=C
+LC_NUMERIC=C
+
+unset vv
+
+# this should expand escape sequences in the format string, nothing else
+printf -v vv "\tone\n"
+printf "%s" "$vv"
+
+# this should not cut off output after the \c
+printf -v vv "one\ctwo\n"
+printf "%s" "$vv"
+
+# and unrecognized backslash escapes should have the backslash preserverd
+printf -v vv "4\.2\n"
+printf "%s" "$vv"
+
+printf -v vv "no newline " ; printf "%s" "$vv" ; printf -v vv "now newline\n"
+printf "%s" "$vv"
+
+# %% -> %
+printf -v vv "%%\n"
+printf "%s" "$vv"
+
+# this was a bug caused by pre-processing the string for backslash escapes
+# before doing the `%' format processing -- all versions before bash-2.04
+printf -v vv "\045"
+printf "%s" "$vv"
+echo
+printf -v vv "\045d\n"
+printf "%s" "$vv"
+
+# simple character output
+printf -v vv "%c\n" ABCD
+printf "%s" "$vv"
+
+# test simple string output
+printf -v vv "%s\n" unquoted
+printf "%s" "$vv"
+
+# test quoted string output
+printf -v vv "%s %q\n" unquoted quoted
+printf "%s" "$vv"
+printf -v vv "%s%10q\n" unquoted quoted
+printf "%s" "$vv"
+
+printf -v vv "%q\n" 'this&that'
+printf "%s" "$vv"
+
+# make sure the format string is reused to use up arguments
+printf -v vv "%d " 1 2 3 4 5
+printf "%s" "$vv"
+echo
+
+# make sure that extra format characters get null arguments
+printf -v vv "%s %d %d %d\n" onestring
+printf "%s" "$vv"
+
+printf -v vv "%s %d %u %4.2f\n" onestring
+printf "%s" "$vv"
+
+printf -v vv -- "--%s %s--\n" 4.2 ''
+printf "%s" "$vv"
+printf -v vv -- "--%s %s--\n" 4.2
+printf "%s" "$vv"
+
+# test %b escapes
+
+# 8 is a non-octal digit, so the `81' should be output
+#printf -v vv -- "--%b--\n" '\n\081'
+#printf "%s" "$vv"
+
+printf -v vv -- "--%b--\n" '\t\0101'
+printf "%s" "$vv"
+printf -v vv -- "--%b--\n" '\t\101'
+printf "%s" "$vv"
+
+# these should all display `A7'
+printf -v vv "%b\n" '\01017'
+printf "%s" "$vv"
+printf -v vv "%b\n" '\1017'
+printf "%s" "$vv"
+printf -v vv "%b\n" '\x417'
+printf "%s" "$vv"
+
+printf -v vv -- "--%b--\n" '\"abcd\"'
+printf "%s" "$vv"
+printf -v vv -- "--%b--\n" "\'abcd\'"
+printf "%s" "$vv"
+
+printf -v vv -- "--%b--\n" 'a\\x'
+printf "%s" "$vv"
+
+printf -v vv -- "--%b--\n" '\x'
+printf "%s" "$vv"
+
+Z1=$(printf -- "%b\n" '\a\b\e\f\r\v')
+Z2=$'\a\b\e\f\r\v'
+
+if [ "$Z1" != "$Z2" ]; then
+ printf "%s" "whoops: printf -v vv %b and $'' differ" >&2
+fi
+unset Z1 Z2
+
+printf -v vv -- "--%b--\n" ''
+printf "%s" "$vv"
+printf -v vv -- "--%b--\n"
+printf "%s" "$vv"
+
+# the stuff following the \c should be ignored, as well as the rest
+# of the format string
+printf -v vv -- "--%b--\n" '4.2\c5.4\n'
+printf "%s" "$vv"
+echo
+
+# unrecognized escape sequences should by displayed unchanged
+printf -v vv -- "--%b--\n" '4\.2'
+printf "%s" "$vv"
+
+# a bare \ should not be processed as an escape sequence
+printf -v vv -- "--%b--\n" '\'
+printf "%s" "$vv"
+
+# make sure extra arguments are ignored if the format string doesn't
+# actually use them
+printf -v vv "\n" 4.4 BSD
+printf "%s" "$vv"
+printf -v vv " " 4.4 BSD
+printf "%s" "$vv"
+echo
+
+# make sure that a fieldwidth and precision of `*' are handled right
+printf -v vv "%10.8s\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv "%*.*s\n" 10 8 4.4BSD
+printf "%s" "$vv"
+
+printf -v vv "%10.8q\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv "%*.*q\n" 10 8 4.4BSD
+printf "%s" "$vv"
+
+printf -v vv "%6b\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv "%*b\n" 6 4.4BSD
+printf "%s" "$vv"
+
+# we handle this crap with homemade code in printf -v vv.def
+printf -v vv "%10b\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv -- "--%-10b--\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv "%4.2b\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv "%.3b\n" 4.4BSD
+printf "%s" "$vv"
+printf -v vv -- "--%-8b--\n" 4.4BSD
+printf "%s" "$vv"
+
+# test numeric conversions -- these four lines should printf "%s" identically
+printf -v vv "%d %u %i 0%o 0x%x 0x%X\n" 255 255 255 255 255 255
+printf "%s" "$vv"
+printf -v vv "%d %u %i %#o %#x %#X\n" 255 255 255 255 255 255
+printf "%s" "$vv"
+
+printf -v vv "%ld %lu %li 0%o 0x%x 0x%X\n" 255 255 255 255 255 255
+printf "%s" "$vv"
+printf -v vv "%ld %lu %li %#o %#x %#X\n" 255 255 255 255 255 255
+printf "%s" "$vv"
+
+printf -v vv "%10d\n" 42
+printf "%s" "$vv"
+printf -v vv "%10d\n" -42
+printf "%s" "$vv"
+
+printf -v vv "%*d\n" 10 42
+printf "%s" "$vv"
+printf -v vv "%*d\n" 10 -42
+printf "%s" "$vv"
+
+# test some simple floating point formats
+printf -v vv "%4.2f\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%#4.2f\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%#4.1f\n" 4.2
+printf "%s" "$vv"
+
+printf -v vv "%*.*f\n" 4 2 4.2
+printf "%s" "$vv"
+printf -v vv "%#*.*f\n" 4 2 4.2
+printf "%s" "$vv"
+printf -v vv "%#*.*f\n" 4 1 4.2
+printf "%s" "$vv"
+
+printf -v vv "%E\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%e\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%6.1E\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%6.1e\n" 4.2
+printf "%s" "$vv"
+
+printf -v vv "%G\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%g\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%6.2G\n" 4.2
+printf "%s" "$vv"
+printf -v vv "%6.2g\n" 4.2
+printf "%s" "$vv"
+
+# test some of the more esoteric features of POSIX.1 printf -v vv
+printf -v vv "%d\n" "'string'"
+printf "%s" "$vv"
+printf -v vv "%d\n" '"string"'
+printf "%s" "$vv"
+
+printf -v vv "%#o\n" "'string'"
+printf "%s" "$vv"
+printf -v vv "%#o\n" '"string"'
+printf "%s" "$vv"
+
+printf -v vv "%#x\n" "'string'"
+printf "%s" "$vv"
+printf -v vv "%#X\n" '"string"'
+printf "%s" "$vv"
+
+printf -v vv "%6.2f\n" "'string'"
+printf "%s" "$vv"
+printf -v vv "%6.2f\n" '"string"'
+printf "%s" "$vv"
+
+# output from these two lines had better be the same
+printf -v vv -- "--%6.4s--\n" abcdefghijklmnopqrstuvwxyz
+printf "%s" "$vv"
+printf -v vv -- "--%6.4b--\n" abcdefghijklmnopqrstuvwxyz
+printf "%s" "$vv"
+
+# and these two also
+printf -v vv -- "--%12.10s--\n" abcdefghijklmnopqrstuvwxyz
+printf "%s" "$vv"
+printf -v vv -- "--%12.10b--\n" abcdefghijklmnopqrstuvwxyz
+printf "%s" "$vv"
+
+# tests for translating \' to ' and \\ to \
+# printf -v vv translates \' to ' in the format string...
+printf -v vv "\'abcd\'\n"
+printf "%s" "$vv"
+
+# but not when the %b format specification is used
+printf -v vv "%b\n" \\\'abcd\\\'
+printf "%s" "$vv"
+
+# but both translate \\ to \
+printf -v vv '\\abcd\\\n'
+printf "%s" "$vv"
+printf -v vv "%b\n" '\\abcd\\'
+printf "%s" "$vv"
+
+# this was reported as a bug in bash-2.03
+# these three lines should all printf "%s" `26'
+printf -v vv "%d\n" 0x1a
+printf "%s" "$vv"
+printf -v vv "%d\n" 032
+printf "%s" "$vv"
+printf -v vv "%d\n" 26
+printf "%s" "$vv"
+
+# error messages
+
+# this should be an overflow, but error messages vary between systems
+# printf -v vv "%lu\n" 4294967296
+
+# ...but we cannot use this because some systems (SunOS4, for example),
+# happily ignore overflow conditions in strtol(3)
+#printf -v vv "%ld\n" 4294967296
+
+printf -v vv "%10"
+printf -v vv "ab%Mcd\n"
+
+# this caused an infinite loop in older versions of printf -v vv
+printf -v vv "%y" 0
+
+# these should print a warning and `0', according to POSIX.2
+printf -v vv "%d\n" GNU
+printf "%s" "$vv"
+printf -v vv "%o\n" GNU
+printf "%s" "$vv"
+
+# failures in all bash versions through bash-2.05
+printf -v vv "%.0s" foo
+printf "%s" "$vv"
+printf -v vv "%.*s" 0 foo
+printf "%s" "$vv"
+
+printf -v vv '%.0b-%.0s\n' foo bar
+printf "%s" "$vv"
+printf -v vv '(%*b)(%*s)\n' -4 foo -4 bar
+printf "%s" "$vv"
+
+format='%'`printf '%0100384d' 0`'d\n'
+printf -v vv $format 0
+printf "%s" "$vv"
+
+# failures in all bash versions through bash-3.0 - undercounted characters
+unset vv
+printf -v vv " %s %s %s \n%n" ab cd ef vvv
+printf "%s" "$vv"
+echo $vvv
+
+# this doesn't work with printf -v vv(3) on all systems
+#printf -v vv "%'s\n" foo
+
+# test cases from an austin-group list discussion
+# prints ^G as an extension
+printf -v vv '%b\n' '\7'
+printf "%s" "$vv"
+
+# prints ^G
+printf -v vv '%b\n' '\0007'
+printf "%s" "$vv"
+
+# prints NUL then 7
+#printf -v vv '\0007\n'
+#printf "%s" "$vv"
+
+# prints no more than two hex digits
+printf -v vv '\x07e\n'
+printf "%s" "$vv"
+
+# additional backslash escapes
+printf -v vv '\"\?\n'
+printf "%s" "$vv"
diff --git a/tests/printf3.sub b/tests/printf3.sub
new file mode 100644
index 0000000..85a2705
--- /dev/null
+++ b/tests/printf3.sub
@@ -0,0 +1,53 @@
+LC_ALL=C
+LANG=C
+
+SHELLSTART=$(date +%s)
+SECS=1275250155
+export TZ=EST5EDT
+
+printf "%()T\n" $SECS
+printf "%(abde)Z\n" -1
+
+printf "%(%e-%b-%Y %T)T\n" $SECS
+
+printf -v v1 "%(%e-%b-%Y %T)T\n" $(date +%s)
+printf -v v2 "%(%e-%b-%Y %T)T\n" -1
+
+case $v1 in
+$v2) ;;
+*) echo "current time and -1 possible mismatch|$v1|$v2|" >&2 ;;
+esac
+unset v1 v2
+
+v1=$(date +%s)
+printf -v v2 "%(%s)T" -1
+
+case $v1 in
+$v2) ;;
+*) echo "current time mismatch:$v1|$v2|" >&2 ;;
+esac
+unset v1 v2
+
+printf "%(%x %X)T\n" $(( $SECS - 3600 ))
+
+printf -v v1 "%(%F %r)T\n" $SHELLSTART
+printf -v v2 "%(%F %r)T\n" -2
+
+case $v1 in
+$v2) ;;
+*) echo "shell start time and -2 possible mismatch|$v1|$v2|" >&2 ;;
+esac
+unset v1 v2
+
+printf "current time: %(%F %r)T\n" $SECS
+
+printf "epoch time: %(%F %r %z)T\n" 0
+printf "random time: %(%F %r %z)T\n" $SECS
+
+printf "local time: %(%a %b %e %H:%M:%S %Z %Y)T\n" $SECS
+
+# test fieldwidth, justification, precision
+printf "%-40.50(%a %b %e %H:%M:%S %Z %Y)T date-style time\n" $SECS
+
+# test fieldwidth, justification, precision, embedded parens
+printf "%-40.50(%x (foo) %X)T date-style time\n" $SECS
diff --git a/tests/read.right b/tests/read.right
index b463825..d9632a8 100644
--- a/tests/read.right
+++ b/tests/read.right
@@ -59,7 +59,7 @@ argv[1] = <>
argv[2] = <>
argv[3] = <>
FOO
- 0 0 0
+0 0 0
0
0
1
diff --git a/tests/read5.sub b/tests/read5.sub
index 58b992d..e35674e 100644
--- a/tests/read5.sub
+++ b/tests/read5.sub
@@ -32,5 +32,4 @@ else
fi
echo -n ${A[0]} | cat -vet
-echo -n ${A[0]} | wc
-
+echo -n ${A[0]} | wc | ( IFS=$' \t\n' ; while read line; do echo $line; done; )
diff --git a/tests/rsh.right b/tests/rsh.right
index 04c6971..022b2ca 100644
--- a/tests/rsh.right
+++ b/tests/rsh.right
@@ -7,7 +7,7 @@
./rsh.tests: line 21: /tmp/restricted: restricted: cannot redirect output
./rsh.tests: line 26: command: -p: restricted
./rsh.tests: line 28: set: +r: invalid option
-set: usage: set [--abefhkmnptuvxBCHP] [-o option-name] [arg ...]
+set: usage: set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
./rsh.tests: line 29: set: restricted: invalid option name
./rsh.tests: line 31: exec: restricted
./rsh.tests: after exec
diff --git a/tests/run-lastpipe b/tests/run-lastpipe
new file mode 100644
index 0000000..92ac030
--- /dev/null
+++ b/tests/run-lastpipe
@@ -0,0 +1,2 @@
+${THIS_SH} ./lastpipe.tests > /tmp/xx 2>&1
+diff /tmp/xx lastpipe.right && rm -f /tmp/xx
diff --git a/tests/run-minimal b/tests/run-minimal
index 0054cda..de98344 100644
--- a/tests/run-minimal
+++ b/tests/run-minimal
@@ -27,7 +27,7 @@ do
*.orig|*~) ;;
run-dollars|run-execscript|run-func|run-getopts|run-heredoc) echo $x ; sh $x ;;
run-ifs-tests|run-input-test|run-invert|run-more-exp|run-nquote) echo $x ; sh $x ;;
- run-ifs-posix|run-posix2|run-posixpat) echo $x ; sh $x ;;
+ run-ifs-posix|run-posix2|run-posixpat|run-posixpipe) echo $x ; sh $x ;;
run-precedence|run-quote|run-read|run-rhs-exp|run-strip|run-tilde) echo $x ; sh $x ;;
*) ;;
esac
diff --git a/tests/run-posixexp b/tests/run-posixexp
new file mode 100644
index 0000000..e5a1c3e
--- /dev/null
+++ b/tests/run-posixexp
@@ -0,0 +1,2 @@
+${THIS_SH} ./posixexp.tests > /tmp/xx 2>&1
+diff /tmp/xx posixexp.right && rm -f /tmp/xx
diff --git a/tests/run-posixexp2 b/tests/run-posixexp2
new file mode 100644
index 0000000..9a2890f
--- /dev/null
+++ b/tests/run-posixexp2
@@ -0,0 +1,2 @@
+${THIS_SH} ./posixexp2.tests > /tmp/xx 2>&1
+diff /tmp/xx posixexp2.right && rm -f /tmp/xx
diff --git a/tests/run-posixpipe b/tests/run-posixpipe
new file mode 100644
index 0000000..c574535
--- /dev/null
+++ b/tests/run-posixpipe
@@ -0,0 +1,2 @@
+${THIS_SH} ./posixpipe.tests > /tmp/xx 2>&1
+diff /tmp/xx posixpipe.right && rm -f /tmp/xx
diff --git a/tests/shopt.right b/tests/shopt.right
index 7bacc0e..4080503 100644
--- a/tests/shopt.right
+++ b/tests/shopt.right
@@ -11,6 +11,7 @@ shopt -s cmdhist
shopt -u compat31
shopt -u compat32
shopt -u compat40
+shopt -u compat41
shopt -u dirspell
shopt -u dotglob
shopt -u execfail
@@ -28,6 +29,7 @@ shopt -u histverify
shopt -s hostcomplete
shopt -u huponexit
shopt -s interactive_comments
+shopt -u lastpipe
shopt -u lithist
shopt -u login_shell
shopt -u mailwarn
@@ -65,6 +67,7 @@ shopt -u checkwinsize
shopt -u compat31
shopt -u compat32
shopt -u compat40
+shopt -u compat41
shopt -u dirspell
shopt -u dotglob
shopt -u execfail
@@ -77,6 +80,7 @@ shopt -u histappend
shopt -u histreedit
shopt -u histverify
shopt -u huponexit
+shopt -u lastpipe
shopt -u lithist
shopt -u login_shell
shopt -u mailwarn
@@ -96,6 +100,7 @@ checkwinsize off
compat31 off
compat32 off
compat40 off
+compat41 off
dirspell off
dotglob off
execfail off
@@ -108,6 +113,7 @@ histappend off
histreedit off
histverify off
huponexit off
+lastpipe off
lithist off
login_shell off
mailwarn off
diff --git a/tests/test.right b/tests/test.right
index c5d7c90..7fcd996 100644
--- a/tests/test.right
+++ b/tests/test.right
@@ -180,6 +180,12 @@ t -o allexport
1
t ! -o allexport
0
+t -v unset
+1
+t -v set
+0
+t -v set
+0
t xx -a yy
0
t xx -o ""
@@ -266,7 +272,7 @@ b ( 1 = 2
2
./test.tests: line 13: test: too many arguments
2
-./test.tests: line 406: [: missing `]'
+./test.tests: line 418: [: missing `]'
2
./test.tests: line 13: test: (: unary operator expected
2
diff --git a/tests/test.tests b/tests/test.tests
index 47ad9bb..47eef35 100644
--- a/tests/test.tests
+++ b/tests/test.tests
@@ -286,12 +286,24 @@ t -n abcd -a aaa
echo 't -n abcd -a -z aaa'
t -n abcd -a -z aaa
+# test set or unset shell options
set +o allexport
echo 't -o allexport'
t -o allexport
echo 't ! -o allexport'
t ! -o allexport
+#test set or unset shell variables
+unset unset
+echo 't -v unset'
+t -v unset
+set=
+echo 't -v set'
+t -v set
+set=set
+echo 't -v set'
+t -v set
+
echo 't xx -a yy'
t xx -a yy
echo 't xx -o ""'
diff --git a/tests/trap.right b/tests/trap.right
index c8417ac..d1879a4 100644
--- a/tests/trap.right
+++ b/tests/trap.right
@@ -53,6 +53,7 @@ trap -- 'echo aborting' SIGQUIT
trap -- 'echo aborting' SIGABRT
trap -- 'echo aborting' SIGTERM
0
+trap -- '' SIGUSR2
ERRTRAP
ERRTRAP
ERRTRAP
diff --git a/tests/trap.tests b/tests/trap.tests
index ded1d70..e9e10cc 100644
--- a/tests/trap.tests
+++ b/tests/trap.tests
@@ -90,4 +90,3 @@ trap
trap - SIGCHLD
wait
-
diff --git a/tests/type.right b/tests/type.right
index a628231..6dbce64 100644
--- a/tests/type.right
+++ b/tests/type.right
@@ -80,3 +80,19 @@ qux
bar
qux
+foo is a function
+foo ()
+{
+ rm -f a b c;
+ for f in a b c;
+ do
+ cat >> ${f} <<-EOF
+file
+EOF
+
+ done
+ grep . a b c
+}
+a:file
+b:file
+c:file
diff --git a/tests/type.tests b/tests/type.tests
index 6caa243..2df4efd 100644
--- a/tests/type.tests
+++ b/tests/type.tests
@@ -91,3 +91,5 @@ type f | cat -v
${THIS_SH} type1.sub
${THIS_SH} type2.sub
+
+${THIS_SH} type3.sub
diff --git a/tests/type3.sub b/tests/type3.sub
new file mode 100644
index 0000000..a90afef
--- /dev/null
+++ b/tests/type3.sub
@@ -0,0 +1,18 @@
+cd ${TMPDIR:-/tmp}
+
+foo() {
+ rm -f a b c
+ for f in a b c; do
+ cat <<-EOF >> ${f}
+ file
+ EOF
+ done
+ grep . a b c
+}
+
+type foo
+
+eval "$(type foo | sed 1d)"
+foo
+
+rm -f a b c
diff --git a/tests/vredir.right b/tests/vredir.right
index 0e3b24b..585a10e 100644
--- a/tests/vredir.right
+++ b/tests/vredir.right
@@ -86,3 +86,9 @@ swizzle ()
exec {stdin}<&$fd0-;
exec {stdout}>&$fd1-
}
+ok 1
+./vredir6.sub: redirection error: cannot duplicate fd: Invalid argument
+./vredir6.sub: line 10: /dev/null: Invalid argument
+./vredir6.sub: redirection error: cannot duplicate fd: Invalid argument
+./vredir6.sub: line 13: v: Invalid argument
+unset
diff --git a/tests/vredir.tests b/tests/vredir.tests
index df4fd8f..5158fe3 100644
--- a/tests/vredir.tests
+++ b/tests/vredir.tests
@@ -41,4 +41,6 @@ ${THIS_SH} ./vredir4.sub
${THIS_SH} ./vredir5.sub
+${THIS_SH} ./vredir6.sub
+
exit 0
diff --git a/tests/vredir6.sub b/tests/vredir6.sub
new file mode 100644
index 0000000..224b96a
--- /dev/null
+++ b/tests/vredir6.sub
@@ -0,0 +1,14 @@
+unset v
+exec {v}</dev/null
+
+if (( v >= 10 )); then echo ok 1; else echo bad 1; fi
+
+exec {v}<&-
+
+ulimit -n 6
+
+exec </dev/null
+
+unset v
+exec {v}</dev/null
+echo ${v-unset}
diff --git a/trap.c b/trap.c
index 27a8aca..86665e7 100644
--- a/trap.c
+++ b/trap.c
@@ -1,7 +1,7 @@
/* trap.c -- Not the trap command, but useful functions for manipulating
those objects. The trap command is in builtins/trap.def. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -113,9 +113,6 @@ int trap_saved_exit_value;
/* The (trapped) signal received while executing in the `wait' builtin */
int wait_signal_received;
-/* A value which can never be the target of a trap handler. */
-#define IMPOSSIBLE_TRAP_HANDLER (SigHandler *)initialize_traps
-
#define GETORIGSIG(sig) \
do { \
original_signals[sig] = (SigHandler *)set_signal_handler (sig, SIG_DFL); \
@@ -124,6 +121,13 @@ int wait_signal_received;
sigmodes[sig] |= SIG_HARD_IGNORE; \
} while (0)
+#define SETORIGSIG(sig,handler) \
+ do { \
+ original_signals[sig] = handler; \
+ if (original_signals[sig] == SIG_IGN) \
+ sigmodes[sig] |= SIG_HARD_IGNORE; \
+ } while (0)
+
#define GET_ORIGINAL_SIGNAL(sig) \
if (sig && sig < NSIG && original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER) \
GETORIGSIG(sig)
@@ -143,7 +147,7 @@ initialize_traps ()
{
pending_traps[i] = 0;
trap_list[i] = (char *)DEFAULT_SIG;
- sigmodes[i] = SIG_INHERITED;
+ sigmodes[i] = SIG_INHERITED; /* XXX - only set, not used */
original_signals[i] = IMPOSSIBLE_TRAP_HANDLER;
}
@@ -265,6 +269,9 @@ run_pending_traps ()
register int sig;
int old_exit_value, *token_state;
WORD_LIST *save_subst_varlist;
+#if defined (ARRAY_VARS)
+ ARRAY *ps;
+#endif
if (catch_flag == 0) /* simple optimization */
return;
@@ -273,6 +280,9 @@ run_pending_traps ()
/* Preserve $? when running trap. */
old_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+ ps = save_pipestatus_array ();
+#endif
for (sig = 1; sig < NSIG; sig++)
{
@@ -357,6 +367,9 @@ run_pending_traps ()
}
}
+#if defined (ARRAY_VARS)
+ restore_pipestatus_array (ps);
+#endif
last_command_exit_value = old_exit_value;
}
@@ -594,6 +607,24 @@ get_original_signal (sig)
GETORIGSIG (sig);
}
+void
+get_all_original_signals ()
+{
+ register int i;
+
+ for (i = 1; i < NSIG; i++)
+ GET_ORIGINAL_SIGNAL (i);
+}
+
+void
+set_original_signal (sig, handler)
+ int sig;
+ SigHandler *handler;
+{
+ if (sig > 0 && sig < NSIG && original_signals[sig] == (SigHandler *)IMPOSSIBLE_TRAP_HANDLER)
+ SETORIGSIG (sig, handler);
+}
+
/* Restore the default action for SIG; i.e., the action the shell
would have taken before you used the trap command. This is called
from trap_builtin (), which takes care to restore the handlers for
@@ -674,8 +705,14 @@ run_exit_trap ()
{
char *trap_command;
int code, function_code, retval;
+#if defined (ARRAY_VARS)
+ ARRAY *ps;
+#endif
trap_saved_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+ ps = save_pipestatus_array ();
+#endif
function_code = 0;
/* Run the trap only if signal 0 is trapped and not ignored, and we are not
@@ -715,6 +752,9 @@ run_exit_trap ()
return retval;
}
+#if defined (ARRAY_VARS)
+ restore_pipestatus_array (ps);
+#endif
return (trap_saved_exit_value);
}
@@ -737,6 +777,9 @@ _run_trap_internal (sig, tag)
int save_return_catch_flag, function_code, flags;
procenv_t save_return_catch;
WORD_LIST *save_subst_varlist;
+#if defined (ARRAY_VARS)
+ ARRAY *ps;
+#endif
trap_exit_value = function_code = 0;
/* Run the trap only if SIG is trapped and not ignored, and we are not
@@ -752,6 +795,9 @@ _run_trap_internal (sig, tag)
running_trap = sig + 1;
trap_saved_exit_value = last_command_exit_value;
+#if defined (ARRAY_VARS)
+ ps = save_pipestatus_array ();
+#endif
token_state = save_token_state ();
save_subst_varlist = subst_assign_varlist;
@@ -778,6 +824,9 @@ _run_trap_internal (sig, tag)
trap_exit_value = last_command_exit_value;
last_command_exit_value = trap_saved_exit_value;
+#if defined (ARRAY_VARS)
+ restore_pipestatus_array (ps);
+#endif
running_trap = 0;
sigmodes[sig] &= ~SIG_INPROGRESS;
@@ -888,7 +937,6 @@ run_interrupt_trap ()
_run_trap_internal (SIGINT, "interrupt trap");
}
-#ifdef INCLUDE_UNUSED
/* Free all the allocated strings in the list of traps and reset the trap
values to the default. Intended to be called from subshells that want
to complete work done by reset_signal_handlers upon execution of a
@@ -912,9 +960,9 @@ free_trap_string (sig)
change_signal (sig, (char *)DEFAULT_SIG);
sigmodes[sig] &= ~SIG_TRAPPED;
}
-#endif
-/* Reset the handler for SIG to the original value. */
+/* Reset the handler for SIG to the original value but leave the trap string
+ in place. */
static void
reset_signal (sig)
int sig;
@@ -979,7 +1027,8 @@ reset_or_restore_signal_handlers (reset)
}
/* Reset trapped signals to their original values, but don't free the
- trap strings. Called by the command substitution code. */
+ trap strings. Called by the command substitution code and other places
+ that create a "subshell environment". */
void
reset_signal_handlers ()
{
@@ -1049,6 +1098,13 @@ signal_is_ignored (sig)
return (sigmodes[sig] & SIG_IGNORED);
}
+int
+signal_is_hard_ignored (sig)
+ int sig;
+{
+ return (sigmodes[sig] & SIG_HARD_IGNORE);
+}
+
void
set_signal_ignored (sig)
int sig;
diff --git a/trap.h b/trap.h
index c34b7eb..8591ee2 100644
--- a/trap.h
+++ b/trap.h
@@ -1,6 +1,6 @@
/* trap.h -- data structures used in the trap mechanism. */
-/* Copyright (C) 1993-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -49,6 +49,9 @@
#define DSIG_SIGPREFIX 0x01 /* don't alllow `SIG' PREFIX */
#define DSIG_NOCASE 0x02 /* case-insensitive comparison */
+/* A value which can never be the target of a trap handler. */
+#define IMPOSSIBLE_TRAP_HANDLER (SigHandler *)initialize_traps
+
#define signal_object_p(x,f) (decode_signal (x,f) != NO_SIG)
#define TRAP_STRING(s) \
@@ -85,14 +88,17 @@ extern void free_trap_strings __P((void));
extern void reset_signal_handlers __P((void));
extern void restore_original_signals __P((void));
+extern void get_all_original_signals __P((void));
+
extern char *signal_name __P((int));
extern int decode_signal __P((char *, int));
extern void run_interrupt_trap __P((void));
extern int maybe_call_trap_handler __P((int));
+extern int signal_is_special __P((int));
extern int signal_is_trapped __P((int));
extern int signal_is_ignored __P((int));
-extern int signal_is_special __P((int));
+extern int signal_is_hard_ignored __P((int));
extern void set_signal_ignored __P((int));
extern int signal_in_progress __P((int));
diff --git a/unwind_prot.c b/unwind_prot.c
index 9e150a6..a477c03 100644
--- a/unwind_prot.c
+++ b/unwind_prot.c
@@ -48,6 +48,7 @@
#include "unwind_prot.h"
#include "quit.h"
#include "sig.h"
+#include "error.h" /* for internal_warning */
/* Structure describing a saved variable and the value to restore it to. */
typedef struct {
@@ -240,18 +241,24 @@ unwind_frame_discard_internal (tag, ignore)
char *tag, *ignore;
{
UNWIND_ELT *elt;
+ int found;
+ found = 0;
while (elt = unwind_protect_list)
{
unwind_protect_list = unwind_protect_list->head.next;
if (elt->head.cleanup == 0 && (STREQ (elt->arg.v, tag)))
{
uwpfree (elt);
+ found = 1;
break;
}
else
uwpfree (elt);
}
+
+ if (found == 0)
+ internal_warning ("unwind_frame_discard: %s: frame not found", tag);
}
/* Restore the value of a variable, based on the contents of SV.
@@ -269,17 +276,20 @@ unwind_frame_run_internal (tag, ignore)
char *tag, *ignore;
{
UNWIND_ELT *elt;
+ int found;
+ found = 0;
while (elt = unwind_protect_list)
{
unwind_protect_list = elt->head.next;
/* If tag, then compare. */
- if (!elt->head.cleanup)
+ if (elt->head.cleanup == 0)
{
if (tag && STREQ (elt->arg.v, tag))
{
uwpfree (elt);
+ found = 1;
break;
}
}
@@ -293,6 +303,8 @@ unwind_frame_run_internal (tag, ignore)
uwpfree (elt);
}
+ if (tag && found == 0)
+ internal_warning ("unwind_frame_run: %s: frame not found", tag);
}
static void
@@ -324,3 +336,22 @@ unwind_protect_mem (var, size)
{
without_interrupts (unwind_protect_mem_internal, var, (char *) &size);
}
+
+#if defined (DEBUG)
+#include <stdio.h>
+
+void
+print_unwind_protect_tags ()
+{
+ UNWIND_ELT *elt;
+
+ elt = unwind_protect_list;
+ while (elt)
+ {
+ unwind_protect_list = unwind_protect_list->head.next;
+ if (elt->head.cleanup == 0)
+ fprintf(stderr, "tag: %s\n", elt->arg.v);
+ elt = unwind_protect_list;
+ }
+}
+#endif
diff --git a/variables.c b/variables.c
index 14db401..cbb89c2 100644
--- a/variables.c
+++ b/variables.c
@@ -1,6 +1,6 @@
/* variables.c -- Functions for hacking shell variables. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -83,7 +83,7 @@ extern char **environ;
/* Variables used here and defined in other files. */
extern int posixly_correct;
-extern int line_number;
+extern int line_number, line_number_base;
extern int subshell_environment, indirection_level, subshell_level;
extern int build_version, patch_level;
extern int expanding_redir;
@@ -99,6 +99,7 @@ extern char *command_execution_string;
extern time_t shell_start_time;
extern int assigning_in_environment;
extern int executing_builtin;
+extern int funcnest_max;
#if defined (READLINE)
extern int no_line_editing;
@@ -158,7 +159,6 @@ static int export_env_size;
#if defined (READLINE)
static int winsize_assignment; /* currently assigning to LINES or COLUMNS */
-static int winsize_assigned; /* assigned to LINES or COLUMNS */
#endif
/* Some forward declarations. */
@@ -387,11 +387,14 @@ initialize_shell_variables (env, privmode)
#endif
{
temp_var = bind_variable (name, string, 0);
- if (legal_identifier (name))
- VSETATTR (temp_var, (att_exported | att_imported));
- else
- VSETATTR (temp_var, (att_exported | att_imported | att_invisible));
- array_needs_making = 1;
+ if (temp_var)
+ {
+ if (legal_identifier (name))
+ VSETATTR (temp_var, (att_exported | att_imported));
+ else
+ VSETATTR (temp_var, (att_exported | att_imported | att_invisible));
+ array_needs_making = 1;
+ }
}
name[char_index] = '=';
@@ -588,6 +591,10 @@ initialize_shell_variables (env, privmode)
/* Get the user's real and effective user ids. */
uidset ();
+ temp_var = find_variable ("BASH_XTRACEFD");
+ if (temp_var && imported_p (temp_var))
+ sv_xtracefd (temp_var->name);
+
/* Initialize the dynamic variables, and seed their values. */
initialize_dynamic_variables ();
}
@@ -1228,17 +1235,14 @@ static int seeded_subshell = 0;
static int
brand ()
{
-#if 0
- rseed = rseed * 1103515245 + 12345;
- return ((unsigned int)((rseed >> 16) & 32767)); /* was % 32768 */
-#else
/* From "Random number generators: good ones are hard to find",
Park and Miller, Communications of the ACM, vol. 31, no. 10,
October 1988, p. 1195. filtered through FreeBSD */
long h, l;
+ /* Can't seed with 0. */
if (rseed == 0)
- seedrand ();
+ rseed = 123459876;
h = rseed / 127773;
l = rseed % 127773;
rseed = 16807 * l - 2836 * h;
@@ -1247,7 +1251,6 @@ brand ()
rseed += 0x7fffffff;
#endif
return ((unsigned int)(rseed & 32767)); /* was % 32768 */
-#endif
}
/* Set the random number generator seed to SEED. */
@@ -1329,7 +1332,7 @@ assign_lineno (var, value, unused, key)
if (value == 0 || *value == '\0' || legal_number (value, &new_value) == 0)
new_value = 0;
- line_number = new_value;
+ line_number = line_number_base = new_value;
return var;
}
@@ -1791,6 +1794,20 @@ find_variable_internal (name, force_tempenv)
return (var->dynamic_value ? (*(var->dynamic_value)) (var) : var);
}
+SHELL_VAR *
+find_global_variable (name)
+ const char *name;
+{
+ SHELL_VAR *var;
+
+ var = var_lookup (name, global_variables);
+
+ if (var == 0)
+ return ((SHELL_VAR *)NULL);
+
+ return (var->dynamic_value ? (*(var->dynamic_value)) (var) : var);
+}
+
/* Look up the variable entry named NAME. Returns the entry or NULL. */
SHELL_VAR *
find_variable (name)
@@ -2371,7 +2388,7 @@ bind_int_variable (lhs, rhs)
#endif
v = bind_variable (lhs, rhs, 0);
- if (isint)
+ if (v && isint)
VSETATTR (v, att_integer);
return (v);
@@ -2470,8 +2487,9 @@ bind_function_def (name, value)
responsible for moving the main temporary env to one of the other
temporary environments. The expansion code in subst.c calls this. */
int
-assign_in_env (word)
+assign_in_env (word, flags)
WORD_DESC *word;
+ int flags;
{
int offset;
char *name, *temp, *value;
@@ -2529,8 +2547,13 @@ assign_in_env (word)
array_needs_making = 1;
+#if 0
if (ifsname (name))
setifs (var);
+else
+#endif
+ if (flags)
+ stupidly_hack_special_variables (name);
if (echo_command_at_execute)
/* The Korn shell prints the `+ ' in front of assignment statements,
@@ -2820,7 +2843,7 @@ delete_all_variables (hashed_vars)
if (!entry) \
{ \
entry = bind_variable (name, "", 0); \
- if (!no_invisible_vars) entry->attributes |= att_invisible; \
+ if (!no_invisible_vars && entry) entry->attributes |= att_invisible; \
} \
} \
while (0)
@@ -3250,6 +3273,9 @@ find_tempenv_variable (name)
return (temporary_env ? hash_lookup (name, temporary_env) : (SHELL_VAR *)NULL);
}
+char **tempvar_list;
+int tvlist_ind;
+
/* Push the variable described by (SHELL_VAR *)DATA down to the next
variable context from the temporary environment. */
static void
@@ -3285,6 +3311,9 @@ push_temp_var (data)
}
v->attributes |= var->attributes;
+ if (find_special_var (var->name) >= 0)
+ tempvar_list[tvlist_ind++] = savestring (var->name);
+
dispose_variable (var);
}
@@ -3298,24 +3327,46 @@ propagate_temp_var (data)
if (tempvar_p (var) && (var->attributes & att_propagate))
push_temp_var (data);
else
- dispose_variable (var);
+ {
+ if (find_special_var (var->name) >= 0)
+ tempvar_list[tvlist_ind++] = savestring (var->name);
+ dispose_variable (var);
+ }
}
/* Free the storage used in the hash table for temporary
environment variables. PUSHF is a function to be called
to free each hash table entry. It takes care of pushing variables
- to previous scopes if appropriate. */
+ to previous scopes if appropriate. PUSHF stores names of variables
+ that require special handling (e.g., IFS) on tempvar_list, so this
+ function can call stupidly_hack_special_variables on all the
+ variables in the list when the temporary hash table is destroyed. */
static void
dispose_temporary_env (pushf)
sh_free_func_t *pushf;
{
+ int i;
+
+ tempvar_list = strvec_create (HASH_ENTRIES (temporary_env) + 1);
+ tempvar_list[tvlist_ind = 0] = 0;
+
hash_flush (temporary_env, pushf);
hash_dispose (temporary_env);
temporary_env = (HASH_TABLE *)NULL;
+ tempvar_list[tvlist_ind] = 0;
+
array_needs_making = 1;
- sv_ifs ("IFS"); /* XXX here for now */
+#if 0
+ sv_ifs ("IFS"); /* XXX here for now -- check setifs in assign_in_env */
+#endif
+ for (i = 0; i < tvlist_ind; i++)
+ stupidly_hack_special_variables (tempvar_list[i]);
+
+ strvec_dispose (tempvar_list);
+ tempvar_list = 0;
+ tvlist_ind = 0;
}
void
@@ -4109,6 +4160,8 @@ static struct name_and_function special_vars[] = {
{ "COMP_WORDBREAKS", sv_comp_wordbreaks },
#endif
+ { "FUNCNEST", sv_funcnest },
+
{ "GLOBIGNORE", sv_globignore },
#if defined (HISTORY)
@@ -4280,6 +4333,22 @@ sv_mail (name)
}
}
+void
+sv_funcnest (name)
+ char *name;
+{
+ SHELL_VAR *v;
+ intmax_t num;
+
+ v = find_variable (name);
+ if (v == 0)
+ funcnest_max = 0;
+ else if (legal_number (value_cell (v), &num) == 0)
+ funcnest_max = 0;
+ else
+ funcnest_max = num;
+}
+
/* What to do when GLOBIGNORE changes. */
void
sv_globignore (name)
@@ -4347,7 +4416,7 @@ sv_winsize (name)
{
if (legal_number (value_cell (v), &xd) == 0)
return;
- winsize_assignment = winsize_assigned = 1;
+ winsize_assignment = 1;
d = xd; /* truncate */
if (name[0] == 'L') /* LINES */
rl_set_screen_size (d, -1);
@@ -4640,6 +4709,40 @@ set_pipestatus_array (ps, nproc)
}
}
}
+
+ARRAY *
+save_pipestatus_array ()
+{
+ SHELL_VAR *v;
+ ARRAY *a, *a2;
+
+ v = find_variable ("PIPESTATUS");
+ if (v == 0 || array_p (v) == 0 || array_cell (v) == 0)
+ return ((ARRAY *)NULL);
+
+ a = array_cell (v);
+ a2 = array_copy (array_cell (v));
+
+ return a2;
+}
+
+void
+restore_pipestatus_array (a)
+ ARRAY *a;
+{
+ SHELL_VAR *v;
+ ARRAY *a2;
+
+ v = find_variable ("PIPESTATUS");
+ /* XXX - should we still assign even if existing value is NULL? */
+ if (v == 0 || array_p (v) == 0 || array_cell (v) == 0)
+ return;
+
+ a2 = array_cell (v);
+ var_setarray (v, a);
+
+ array_dispose (a2);
+}
#endif
void
diff --git a/variables.h b/variables.h
index ec1bfdc..7041ca9 100644
--- a/variables.h
+++ b/variables.h
@@ -1,6 +1,6 @@
/* variables.h -- data structures for shell variables. */
-/* Copyright (C) 1987-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -235,6 +235,7 @@ extern FUNCTION_DEF *find_function_def __P((const char *));
extern SHELL_VAR *find_variable __P((const char *));
extern SHELL_VAR *find_variable_internal __P((const char *, int));
extern SHELL_VAR *find_tempenv_variable __P((const char *));
+extern SHELL_VAR *find_global_variable __P((const char *));
extern SHELL_VAR *copy_variable __P((SHELL_VAR *));
extern SHELL_VAR *make_local_variable __P((const char *));
extern SHELL_VAR *bind_variable __P((const char *, char *, int));
@@ -269,7 +270,7 @@ extern SHELL_VAR *bind_variable_value __P((SHELL_VAR *, char *, int));
extern SHELL_VAR *bind_int_variable __P((char *, char *));
extern SHELL_VAR *bind_var_to_int __P((char *, intmax_t));
-extern int assign_in_env __P((WORD_DESC *));
+extern int assign_in_env __P((WORD_DESC *, int));
extern int unbind_variable __P((const char *));
extern int unbind_func __P((const char *));
@@ -331,6 +332,8 @@ extern SHELL_VAR *make_new_assoc_variable __P((char *));
extern SHELL_VAR *make_local_assoc_variable __P((char *));
extern void set_pipestatus_array __P((int *, int));
+extern ARRAY *save_pipestatus_array __P((void));
+extern void restore_pipestatus_array __P((ARRAY *));
#endif
extern void set_pipestatus_from_exit __P((int));
@@ -350,6 +353,7 @@ extern int get_random_number __P((void));
extern void sv_ifs __P((char *));
extern void sv_path __P((char *));
extern void sv_mail __P((char *));
+extern void sv_funcnest __P((char *));
extern void sv_globignore __P((char *));
extern void sv_ignoreeof __P((char *));
extern void sv_strict_posix __P((char *));
diff --git a/version.c b/version.c
index b97fa06..6724e29 100644
--- a/version.c
+++ b/version.c
@@ -1,6 +1,6 @@
/* version.c -- distribution and version numbers. */
-/* Copyright (C) 1989-2009 Free Software Foundation, Inc.
+/* Copyright (C) 1989-2011 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -43,7 +43,7 @@ const char * const release_status = (char *)0;
#endif
const char * const sccs_version = SCCSVERSION;
-const char * const bash_copyright = N_("Copyright (C) 2009 Free Software Foundation, Inc.");
+const char * const bash_copyright = N_("Copyright (C) 2011 Free Software Foundation, Inc.");
const char * const bash_license = N_("License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n");
/* If == 31, shell compatible with bash-3.1, == 32 with bash-3.2, and so on */
diff --git a/y.tab.c b/y.tab.c
index d702554..d8280fc 100644
--- a/y.tab.c
+++ b/y.tab.c
@@ -88,30 +88,31 @@
BANG = 277,
TIME = 278,
TIMEOPT = 279,
- WORD = 280,
- ASSIGNMENT_WORD = 281,
- REDIR_WORD = 282,
- NUMBER = 283,
- ARITH_CMD = 284,
- ARITH_FOR_EXPRS = 285,
- COND_CMD = 286,
- AND_AND = 287,
- OR_OR = 288,
- GREATER_GREATER = 289,
- LESS_LESS = 290,
- LESS_AND = 291,
- LESS_LESS_LESS = 292,
- GREATER_AND = 293,
- SEMI_SEMI = 294,
- SEMI_AND = 295,
- SEMI_SEMI_AND = 296,
- LESS_LESS_MINUS = 297,
- AND_GREATER = 298,
- AND_GREATER_GREATER = 299,
- LESS_GREATER = 300,
- GREATER_BAR = 301,
- BAR_AND = 302,
- yacc_EOF = 303
+ TIMEIGN = 280,
+ WORD = 281,
+ ASSIGNMENT_WORD = 282,
+ REDIR_WORD = 283,
+ NUMBER = 284,
+ ARITH_CMD = 285,
+ ARITH_FOR_EXPRS = 286,
+ COND_CMD = 287,
+ AND_AND = 288,
+ OR_OR = 289,
+ GREATER_GREATER = 290,
+ LESS_LESS = 291,
+ LESS_AND = 292,
+ LESS_LESS_LESS = 293,
+ GREATER_AND = 294,
+ SEMI_SEMI = 295,
+ SEMI_AND = 296,
+ SEMI_SEMI_AND = 297,
+ LESS_LESS_MINUS = 298,
+ AND_GREATER = 299,
+ AND_GREATER_GREATER = 300,
+ LESS_GREATER = 301,
+ GREATER_BAR = 302,
+ BAR_AND = 303,
+ yacc_EOF = 304
};
#endif
/* Tokens. */
@@ -137,30 +138,31 @@
#define BANG 277
#define TIME 278
#define TIMEOPT 279
-#define WORD 280
-#define ASSIGNMENT_WORD 281
-#define REDIR_WORD 282
-#define NUMBER 283
-#define ARITH_CMD 284
-#define ARITH_FOR_EXPRS 285
-#define COND_CMD 286
-#define AND_AND 287
-#define OR_OR 288
-#define GREATER_GREATER 289
-#define LESS_LESS 290
-#define LESS_AND 291
-#define LESS_LESS_LESS 292
-#define GREATER_AND 293
-#define SEMI_SEMI 294
-#define SEMI_AND 295
-#define SEMI_SEMI_AND 296
-#define LESS_LESS_MINUS 297
-#define AND_GREATER 298
-#define AND_GREATER_GREATER 299
-#define LESS_GREATER 300
-#define GREATER_BAR 301
-#define BAR_AND 302
-#define yacc_EOF 303
+#define TIMEIGN 280
+#define WORD 281
+#define ASSIGNMENT_WORD 282
+#define REDIR_WORD 283
+#define NUMBER 284
+#define ARITH_CMD 285
+#define ARITH_FOR_EXPRS 286
+#define COND_CMD 287
+#define AND_AND 288
+#define OR_OR 289
+#define GREATER_GREATER 290
+#define LESS_LESS 291
+#define LESS_AND 292
+#define LESS_LESS_LESS 293
+#define GREATER_AND 294
+#define SEMI_SEMI 295
+#define SEMI_AND 296
+#define SEMI_SEMI_AND 297
+#define LESS_LESS_MINUS 298
+#define AND_GREATER 299
+#define AND_GREATER_GREATER 300
+#define LESS_GREATER 301
+#define GREATER_BAR 302
+#define BAR_AND 303
+#define yacc_EOF 304
@@ -399,6 +401,9 @@ int extended_quote = 1;
/* The number of lines read from input while creating the current command. */
int current_command_line_count;
+/* The number of lines in a command saved while we run parse_and_execute */
+int saved_command_line_count;
+
/* The token that currently denotes the end of parse. */
int shell_eof_token;
@@ -486,7 +491,7 @@ static REDIRECTEE redir;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 320 "/Users/chet/src/bash/src/parse.y"
+#line 323 "/Users/chet/src/bash/src/parse.y"
{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -497,7 +502,7 @@ typedef union YYSTYPE
PATTERN_LIST *pattern;
}
/* Line 187 of yacc.c. */
-#line 501 "y.tab.c"
+#line 506 "y.tab.c"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -510,7 +515,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
-#line 514 "y.tab.c"
+#line 519 "y.tab.c"
#ifdef short
# undef short
@@ -723,22 +728,22 @@ union yyalloc
#endif
/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 113
+#define YYFINAL 116
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 760
+#define YYLAST 659
/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 60
+#define YYNTOKENS 61
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 38
/* YYNRULES -- Number of rules. */
#define YYNRULES 167
/* YYNRULES -- Number of states. */
-#define YYNSTATES 344
+#define YYNSTATES 342
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
-#define YYMAXUTOK 303
+#define YYMAXUTOK 304
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -747,18 +752,18 @@ union yyalloc
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 50, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 51, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 48, 2,
- 58, 59, 2, 2, 2, 55, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 49,
- 54, 2, 53, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 49, 2,
+ 59, 60, 2, 2, 2, 56, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 50,
+ 55, 2, 54, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 56, 52, 57, 2, 2, 2, 2,
+ 2, 2, 2, 57, 53, 58, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -776,7 +781,7 @@ static const yytype_uint8 yytranslate[] =
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 51
+ 45, 46, 47, 48, 52
};
#if YYDEBUG
@@ -800,103 +805,103 @@ static const yytype_uint16 yyprhs[] =
558, 561, 563, 566, 570, 574, 578, 583, 588, 593,
598, 603, 605, 607, 609, 611, 613, 615, 616, 619,
621, 624, 627, 632, 637, 641, 645, 647, 649, 652,
- 655, 659, 663, 666, 671, 676, 678, 680
+ 655, 658, 661, 666, 671, 673, 675, 678
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int8 yyrhs[] =
{
- 61, 0, -1, 93, 90, -1, 50, -1, 1, 50,
- -1, 51, -1, 25, -1, 62, 25, -1, 53, 25,
- -1, 54, 25, -1, 28, 53, 25, -1, 28, 54,
- 25, -1, 27, 53, 25, -1, 27, 54, 25, -1,
- 34, 25, -1, 28, 34, 25, -1, 27, 34, 25,
- -1, 46, 25, -1, 28, 46, 25, -1, 27, 46,
- 25, -1, 45, 25, -1, 28, 45, 25, -1, 27,
- 45, 25, -1, 35, 25, -1, 28, 35, 25, -1,
- 27, 35, 25, -1, 42, 25, -1, 28, 42, 25,
- -1, 27, 42, 25, -1, 37, 25, -1, 28, 37,
- 25, -1, 27, 37, 25, -1, 36, 28, -1, 28,
- 36, 28, -1, 27, 36, 28, -1, 38, 28, -1,
- 28, 38, 28, -1, 27, 38, 28, -1, 36, 25,
- -1, 28, 36, 25, -1, 27, 36, 25, -1, 38,
- 25, -1, 28, 38, 25, -1, 27, 38, 25, -1,
- 38, 55, -1, 28, 38, 55, -1, 27, 38, 55,
- -1, 36, 55, -1, 28, 36, 55, -1, 27, 36,
- 55, -1, 43, 25, -1, 44, 25, -1, 25, -1,
- 26, -1, 63, -1, 63, -1, 65, 63, -1, 64,
- -1, 66, 64, -1, 66, -1, 68, -1, 68, 65,
- -1, 73, -1, 76, -1, 69, -1, 72, -1, 12,
- 87, 14, 87, 15, -1, 13, 87, 14, 87, 15,
- -1, 71, -1, 77, -1, 75, -1, 78, -1, 79,
- -1, 80, -1, 70, -1, 10, 25, 92, 14, 87,
- 15, -1, 10, 25, 92, 56, 87, 57, -1, 10,
- 25, 49, 92, 14, 87, 15, -1, 10, 25, 49,
- 92, 56, 87, 57, -1, 10, 25, 92, 21, 62,
- 91, 92, 14, 87, 15, -1, 10, 25, 92, 21,
- 62, 91, 92, 56, 87, 57, -1, 10, 25, 92,
- 21, 91, 92, 14, 87, 15, -1, 10, 25, 92,
- 21, 91, 92, 56, 87, 57, -1, 10, 30, 91,
- 92, 14, 87, 15, -1, 10, 30, 91, 92, 56,
- 87, 57, -1, 10, 30, 14, 87, 15, -1, 10,
- 30, 56, 87, 57, -1, 11, 25, 92, 14, 86,
- 15, -1, 11, 25, 92, 56, 86, 57, -1, 11,
- 25, 49, 92, 14, 86, 15, -1, 11, 25, 49,
- 92, 56, 86, 57, -1, 11, 25, 92, 21, 62,
- 91, 92, 14, 86, 15, -1, 11, 25, 92, 21,
- 62, 91, 92, 56, 86, 57, -1, 8, 25, 92,
- 21, 92, 9, -1, 8, 25, 92, 21, 84, 92,
- 9, -1, 8, 25, 92, 21, 82, 9, -1, 25,
- 58, 59, 92, 74, -1, 16, 25, 58, 59, 92,
- 74, -1, 16, 25, 92, 74, -1, 68, -1, 68,
- 65, -1, 58, 87, 59, -1, 17, 68, -1, 17,
- 68, 65, -1, 17, 25, 68, -1, 17, 25, 68,
- 65, -1, 17, 66, -1, 3, 87, 4, 87, 7,
- -1, 3, 87, 4, 87, 5, 87, 7, -1, 3,
- 87, 4, 87, 81, 7, -1, 56, 87, 57, -1,
- 29, -1, 18, 31, 19, -1, 6, 87, 4, 87,
- -1, 6, 87, 4, 87, 5, 87, -1, 6, 87,
- 4, 87, 81, -1, 83, -1, 84, 83, -1, 92,
- 85, 59, 87, -1, 92, 85, 59, 92, -1, 92,
- 58, 85, 59, 87, -1, 92, 58, 85, 59, 92,
- -1, 83, 39, -1, 84, 83, 39, -1, 83, 40,
- -1, 84, 83, 40, -1, 83, 41, -1, 84, 83,
- 41, -1, 25, -1, 85, 52, 25, -1, 92, 88,
- -1, 86, -1, 92, 89, -1, 89, 50, 92, -1,
- 89, 48, 92, -1, 89, 49, 92, -1, 89, 32,
- 92, 89, -1, 89, 33, 92, 89, -1, 89, 48,
- 92, 89, -1, 89, 49, 92, 89, -1, 89, 50,
- 92, 89, -1, 95, -1, 50, -1, 51, -1, 50,
- -1, 49, -1, 51, -1, -1, 92, 50, -1, 94,
- -1, 94, 48, -1, 94, 49, -1, 94, 32, 92,
- 94, -1, 94, 33, 92, 94, -1, 94, 48, 94,
- -1, 94, 49, 94, -1, 95, -1, 96, -1, 22,
- 96, -1, 97, 96, -1, 97, 22, 96, -1, 22,
- 97, 96, -1, 97, 91, -1, 96, 52, 92, 96,
- -1, 96, 47, 92, 96, -1, 67, -1, 23, -1,
- 23, 24, -1
+ 62, 0, -1, 94, 91, -1, 51, -1, 1, 51,
+ -1, 52, -1, 26, -1, 63, 26, -1, 54, 26,
+ -1, 55, 26, -1, 29, 54, 26, -1, 29, 55,
+ 26, -1, 28, 54, 26, -1, 28, 55, 26, -1,
+ 35, 26, -1, 29, 35, 26, -1, 28, 35, 26,
+ -1, 47, 26, -1, 29, 47, 26, -1, 28, 47,
+ 26, -1, 46, 26, -1, 29, 46, 26, -1, 28,
+ 46, 26, -1, 36, 26, -1, 29, 36, 26, -1,
+ 28, 36, 26, -1, 43, 26, -1, 29, 43, 26,
+ -1, 28, 43, 26, -1, 38, 26, -1, 29, 38,
+ 26, -1, 28, 38, 26, -1, 37, 29, -1, 29,
+ 37, 29, -1, 28, 37, 29, -1, 39, 29, -1,
+ 29, 39, 29, -1, 28, 39, 29, -1, 37, 26,
+ -1, 29, 37, 26, -1, 28, 37, 26, -1, 39,
+ 26, -1, 29, 39, 26, -1, 28, 39, 26, -1,
+ 39, 56, -1, 29, 39, 56, -1, 28, 39, 56,
+ -1, 37, 56, -1, 29, 37, 56, -1, 28, 37,
+ 56, -1, 44, 26, -1, 45, 26, -1, 26, -1,
+ 27, -1, 64, -1, 64, -1, 66, 64, -1, 65,
+ -1, 67, 65, -1, 67, -1, 69, -1, 69, 66,
+ -1, 74, -1, 77, -1, 70, -1, 73, -1, 12,
+ 88, 14, 88, 15, -1, 13, 88, 14, 88, 15,
+ -1, 72, -1, 78, -1, 76, -1, 79, -1, 80,
+ -1, 81, -1, 71, -1, 10, 26, 93, 14, 88,
+ 15, -1, 10, 26, 93, 57, 88, 58, -1, 10,
+ 26, 50, 93, 14, 88, 15, -1, 10, 26, 50,
+ 93, 57, 88, 58, -1, 10, 26, 93, 21, 63,
+ 92, 93, 14, 88, 15, -1, 10, 26, 93, 21,
+ 63, 92, 93, 57, 88, 58, -1, 10, 26, 93,
+ 21, 92, 93, 14, 88, 15, -1, 10, 26, 93,
+ 21, 92, 93, 57, 88, 58, -1, 10, 31, 92,
+ 93, 14, 88, 15, -1, 10, 31, 92, 93, 57,
+ 88, 58, -1, 10, 31, 14, 88, 15, -1, 10,
+ 31, 57, 88, 58, -1, 11, 26, 93, 14, 87,
+ 15, -1, 11, 26, 93, 57, 87, 58, -1, 11,
+ 26, 50, 93, 14, 87, 15, -1, 11, 26, 50,
+ 93, 57, 87, 58, -1, 11, 26, 93, 21, 63,
+ 92, 93, 14, 87, 15, -1, 11, 26, 93, 21,
+ 63, 92, 93, 57, 87, 58, -1, 8, 26, 93,
+ 21, 93, 9, -1, 8, 26, 93, 21, 85, 93,
+ 9, -1, 8, 26, 93, 21, 83, 9, -1, 26,
+ 59, 60, 93, 75, -1, 16, 26, 59, 60, 93,
+ 75, -1, 16, 26, 93, 75, -1, 69, -1, 69,
+ 66, -1, 59, 88, 60, -1, 17, 69, -1, 17,
+ 69, 66, -1, 17, 26, 69, -1, 17, 26, 69,
+ 66, -1, 17, 67, -1, 3, 88, 4, 88, 7,
+ -1, 3, 88, 4, 88, 5, 88, 7, -1, 3,
+ 88, 4, 88, 82, 7, -1, 57, 88, 58, -1,
+ 30, -1, 18, 32, 19, -1, 6, 88, 4, 88,
+ -1, 6, 88, 4, 88, 5, 88, -1, 6, 88,
+ 4, 88, 82, -1, 84, -1, 85, 84, -1, 93,
+ 86, 60, 88, -1, 93, 86, 60, 93, -1, 93,
+ 59, 86, 60, 88, -1, 93, 59, 86, 60, 93,
+ -1, 84, 40, -1, 85, 84, 40, -1, 84, 41,
+ -1, 85, 84, 41, -1, 84, 42, -1, 85, 84,
+ 42, -1, 26, -1, 86, 53, 26, -1, 93, 89,
+ -1, 87, -1, 93, 90, -1, 90, 51, 93, -1,
+ 90, 49, 93, -1, 90, 50, 93, -1, 90, 33,
+ 93, 90, -1, 90, 34, 93, 90, -1, 90, 49,
+ 93, 90, -1, 90, 50, 93, 90, -1, 90, 51,
+ 93, 90, -1, 96, -1, 51, -1, 52, -1, 51,
+ -1, 50, -1, 52, -1, -1, 93, 51, -1, 95,
+ -1, 95, 49, -1, 95, 50, -1, 95, 33, 93,
+ 95, -1, 95, 34, 93, 95, -1, 95, 49, 95,
+ -1, 95, 50, 95, -1, 96, -1, 97, -1, 22,
+ 96, -1, 98, 96, -1, 98, 92, -1, 22, 92,
+ -1, 97, 53, 93, 97, -1, 97, 48, 93, 97,
+ -1, 68, -1, 23, -1, 23, 24, -1, 23, 24,
+ 25, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 373, 373, 384, 393, 408, 418, 420, 424, 430,
- 436, 442, 448, 454, 460, 466, 472, 478, 484, 490,
- 496, 502, 508, 514, 521, 528, 535, 542, 549, 556,
- 562, 568, 574, 580, 586, 592, 598, 604, 610, 616,
- 622, 628, 634, 640, 646, 652, 658, 664, 670, 676,
- 682, 688, 696, 698, 700, 704, 708, 719, 721, 725,
- 727, 729, 745, 747, 751, 753, 755, 757, 759, 761,
- 763, 765, 767, 769, 771, 775, 780, 785, 790, 795,
- 800, 805, 810, 817, 822, 827, 832, 839, 844, 849,
- 854, 859, 864, 871, 876, 881, 888, 891, 894, 898,
- 900, 931, 938, 943, 960, 965, 982, 989, 991, 993,
- 998, 1002, 1006, 1010, 1012, 1014, 1018, 1019, 1023, 1025,
- 1027, 1029, 1033, 1035, 1037, 1039, 1041, 1043, 1047, 1049,
- 1058, 1066, 1067, 1073, 1074, 1081, 1085, 1087, 1089, 1096,
- 1098, 1100, 1104, 1105, 1108, 1110, 1112, 1116, 1117, 1126,
- 1139, 1155, 1170, 1172, 1174, 1181, 1184, 1188, 1190, 1196,
- 1202, 1208, 1214, 1234, 1236, 1259, 1263, 1265
+ 0, 376, 376, 387, 396, 411, 421, 423, 427, 433,
+ 439, 445, 451, 457, 463, 469, 475, 481, 487, 493,
+ 499, 505, 511, 517, 524, 531, 538, 545, 552, 559,
+ 565, 571, 577, 583, 589, 595, 601, 607, 613, 619,
+ 625, 631, 637, 643, 649, 655, 661, 667, 673, 679,
+ 685, 691, 699, 701, 703, 707, 711, 722, 724, 728,
+ 730, 732, 748, 750, 754, 756, 758, 760, 762, 764,
+ 766, 768, 770, 772, 774, 778, 783, 788, 793, 798,
+ 803, 808, 813, 820, 825, 830, 835, 842, 847, 852,
+ 857, 862, 867, 874, 879, 884, 891, 894, 897, 901,
+ 903, 934, 941, 946, 963, 968, 985, 992, 994, 996,
+ 1001, 1005, 1009, 1013, 1015, 1017, 1021, 1022, 1026, 1028,
+ 1030, 1032, 1036, 1038, 1040, 1042, 1044, 1046, 1050, 1052,
+ 1061, 1069, 1070, 1076, 1077, 1084, 1088, 1090, 1092, 1099,
+ 1101, 1103, 1107, 1108, 1111, 1113, 1115, 1119, 1120, 1129,
+ 1142, 1158, 1173, 1175, 1177, 1184, 1187, 1191, 1193, 1199,
+ 1205, 1222, 1242, 1244, 1267, 1271, 1273, 1275
};
#endif
@@ -908,22 +913,23 @@ static const char *const yytname[] =
"$end", "error", "$undefined", "IF", "THEN", "ELSE", "ELIF", "FI",
"CASE", "ESAC", "FOR", "SELECT", "WHILE", "UNTIL", "DO", "DONE",
"FUNCTION", "COPROC", "COND_START", "COND_END", "COND_ERROR", "IN",
- "BANG", "TIME", "TIMEOPT", "WORD", "ASSIGNMENT_WORD", "REDIR_WORD",
- "NUMBER", "ARITH_CMD", "ARITH_FOR_EXPRS", "COND_CMD", "AND_AND", "OR_OR",
- "GREATER_GREATER", "LESS_LESS", "LESS_AND", "LESS_LESS_LESS",
- "GREATER_AND", "SEMI_SEMI", "SEMI_AND", "SEMI_SEMI_AND",
- "LESS_LESS_MINUS", "AND_GREATER", "AND_GREATER_GREATER", "LESS_GREATER",
- "GREATER_BAR", "BAR_AND", "'&'", "';'", "'\\n'", "yacc_EOF", "'|'",
- "'>'", "'<'", "'-'", "'{'", "'}'", "'('", "')'", "$accept", "inputunit",
- "word_list", "redirection", "simple_command_element", "redirection_list",
- "simple_command", "command", "shell_command", "for_command",
- "arith_for_command", "select_command", "case_command", "function_def",
- "function_body", "subshell", "coproc", "if_command", "group_command",
- "arith_command", "cond_command", "elif_clause", "case_clause",
- "pattern_list", "case_clause_sequence", "pattern", "list",
- "compound_list", "list0", "list1", "simple_list_terminator",
- "list_terminator", "newline_list", "simple_list", "simple_list1",
- "pipeline_command", "pipeline", "timespec", 0
+ "BANG", "TIME", "TIMEOPT", "TIMEIGN", "WORD", "ASSIGNMENT_WORD",
+ "REDIR_WORD", "NUMBER", "ARITH_CMD", "ARITH_FOR_EXPRS", "COND_CMD",
+ "AND_AND", "OR_OR", "GREATER_GREATER", "LESS_LESS", "LESS_AND",
+ "LESS_LESS_LESS", "GREATER_AND", "SEMI_SEMI", "SEMI_AND",
+ "SEMI_SEMI_AND", "LESS_LESS_MINUS", "AND_GREATER", "AND_GREATER_GREATER",
+ "LESS_GREATER", "GREATER_BAR", "BAR_AND", "'&'", "';'", "'\\n'",
+ "yacc_EOF", "'|'", "'>'", "'<'", "'-'", "'{'", "'}'", "'('", "')'",
+ "$accept", "inputunit", "word_list", "redirection",
+ "simple_command_element", "redirection_list", "simple_command",
+ "command", "shell_command", "for_command", "arith_for_command",
+ "select_command", "case_command", "function_def", "function_body",
+ "subshell", "coproc", "if_command", "group_command", "arith_command",
+ "cond_command", "elif_clause", "case_clause", "pattern_list",
+ "case_clause_sequence", "pattern", "list", "compound_list", "list0",
+ "list1", "simple_list_terminator", "list_terminator", "newline_list",
+ "simple_list", "simple_list1", "pipeline_command", "pipeline",
+ "timespec", 0
};
#endif
@@ -936,31 +942,32 @@ static const yytype_uint16 yytoknum[] =
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 38, 59,
- 10, 303, 124, 62, 60, 45, 123, 125, 40, 41
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, 38,
+ 59, 10, 304, 124, 62, 60, 45, 123, 125, 40,
+ 41
};
# endif
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint8 yyr1[] =
{
- 0, 60, 61, 61, 61, 61, 62, 62, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
- 63, 63, 64, 64, 64, 65, 65, 66, 66, 67,
- 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
- 68, 68, 68, 68, 68, 69, 69, 69, 69, 69,
- 69, 69, 69, 70, 70, 70, 70, 71, 71, 71,
- 71, 71, 71, 72, 72, 72, 73, 73, 73, 74,
- 74, 75, 76, 76, 76, 76, 76, 77, 77, 77,
- 78, 79, 80, 81, 81, 81, 82, 82, 83, 83,
- 83, 83, 84, 84, 84, 84, 84, 84, 85, 85,
- 86, 87, 87, 88, 88, 88, 89, 89, 89, 89,
- 89, 89, 90, 90, 91, 91, 91, 92, 92, 93,
- 93, 93, 94, 94, 94, 94, 94, 95, 95, 95,
- 95, 95, 95, 96, 96, 96, 97, 97
+ 0, 61, 62, 62, 62, 62, 63, 63, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 65, 65, 65, 66, 66, 67, 67, 68,
+ 68, 68, 68, 68, 69, 69, 69, 69, 69, 69,
+ 69, 69, 69, 69, 69, 70, 70, 70, 70, 70,
+ 70, 70, 70, 71, 71, 71, 71, 72, 72, 72,
+ 72, 72, 72, 73, 73, 73, 74, 74, 74, 75,
+ 75, 76, 77, 77, 77, 77, 77, 78, 78, 78,
+ 79, 80, 81, 82, 82, 82, 83, 83, 84, 84,
+ 84, 84, 85, 85, 85, 85, 85, 85, 86, 86,
+ 87, 88, 88, 89, 89, 89, 90, 90, 90, 90,
+ 90, 90, 91, 91, 92, 92, 92, 93, 93, 94,
+ 94, 94, 95, 95, 95, 95, 95, 96, 96, 96,
+ 96, 96, 97, 97, 97, 98, 98, 98
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -982,7 +989,7 @@ static const yytype_uint8 yyr2[] =
2, 1, 2, 3, 3, 3, 4, 4, 4, 4,
4, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2, 2, 4, 4, 3, 3, 1, 1, 2, 2,
- 3, 3, 2, 4, 4, 1, 1, 2
+ 2, 2, 4, 4, 1, 1, 2, 3
};
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -991,100 +998,100 @@ static const yytype_uint8 yyr2[] =
static const yytype_uint8 yydefact[] =
{
0, 0, 147, 0, 0, 0, 147, 147, 0, 0,
- 0, 0, 166, 52, 53, 0, 0, 111, 0, 0,
+ 0, 0, 165, 52, 53, 0, 0, 111, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3, 5,
- 0, 0, 147, 147, 0, 54, 57, 59, 165, 60,
+ 0, 0, 147, 147, 0, 54, 57, 59, 164, 60,
64, 74, 68, 65, 62, 70, 63, 69, 71, 72,
73, 0, 149, 156, 157, 0, 4, 131, 0, 0,
147, 147, 0, 147, 0, 0, 147, 52, 106, 102,
- 0, 158, 0, 167, 0, 0, 0, 0, 0, 0,
+ 0, 145, 144, 146, 161, 158, 166, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 14, 23, 38, 32, 47,
- 29, 41, 35, 44, 26, 50, 51, 20, 17, 8,
- 9, 0, 0, 1, 52, 58, 55, 61, 142, 143,
- 2, 147, 147, 150, 151, 147, 147, 0, 145, 144,
- 146, 162, 159, 147, 148, 130, 132, 141, 0, 147,
- 0, 147, 147, 147, 147, 0, 147, 147, 0, 0,
- 104, 103, 112, 161, 147, 16, 25, 40, 34, 49,
- 31, 43, 37, 46, 28, 22, 19, 12, 13, 15,
- 24, 39, 33, 48, 30, 42, 36, 45, 27, 21,
- 18, 10, 11, 110, 101, 56, 0, 0, 154, 155,
- 0, 0, 160, 0, 147, 147, 147, 147, 147, 147,
- 0, 147, 0, 147, 0, 0, 0, 0, 147, 0,
- 147, 0, 0, 147, 99, 98, 105, 0, 152, 153,
- 0, 0, 164, 163, 147, 147, 107, 0, 0, 0,
- 134, 135, 133, 0, 116, 147, 0, 147, 147, 0,
- 6, 0, 147, 0, 85, 86, 147, 147, 147, 147,
- 0, 0, 0, 0, 66, 67, 0, 100, 96, 0,
- 0, 109, 136, 137, 138, 139, 140, 95, 122, 124,
- 126, 117, 0, 93, 128, 0, 0, 0, 0, 75,
- 7, 147, 0, 76, 0, 0, 0, 0, 87, 0,
- 147, 88, 97, 108, 147, 147, 147, 147, 123, 125,
- 127, 94, 0, 0, 147, 77, 78, 0, 147, 147,
- 83, 84, 89, 90, 0, 113, 0, 0, 0, 147,
- 129, 118, 119, 147, 147, 0, 0, 147, 147, 147,
- 115, 120, 121, 0, 0, 81, 82, 0, 0, 114,
- 79, 80, 91, 92
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 23,
+ 38, 32, 47, 29, 41, 35, 44, 26, 50, 51,
+ 20, 17, 8, 9, 0, 0, 1, 52, 58, 55,
+ 61, 142, 143, 2, 147, 147, 150, 151, 147, 147,
+ 160, 159, 147, 148, 130, 132, 141, 0, 147, 0,
+ 147, 147, 147, 147, 0, 147, 147, 0, 0, 104,
+ 103, 112, 167, 147, 16, 25, 40, 34, 49, 31,
+ 43, 37, 46, 28, 22, 19, 12, 13, 15, 24,
+ 39, 33, 48, 30, 42, 36, 45, 27, 21, 18,
+ 10, 11, 110, 101, 56, 0, 0, 154, 155, 0,
+ 0, 0, 147, 147, 147, 147, 147, 147, 0, 147,
+ 0, 147, 0, 0, 0, 0, 147, 0, 147, 0,
+ 0, 147, 99, 98, 105, 0, 152, 153, 0, 0,
+ 163, 162, 147, 147, 107, 0, 0, 0, 134, 135,
+ 133, 0, 116, 147, 0, 147, 147, 0, 6, 0,
+ 147, 0, 85, 86, 147, 147, 147, 147, 0, 0,
+ 0, 0, 66, 67, 0, 100, 96, 0, 0, 109,
+ 136, 137, 138, 139, 140, 95, 122, 124, 126, 117,
+ 0, 93, 128, 0, 0, 0, 0, 75, 7, 147,
+ 0, 76, 0, 0, 0, 0, 87, 0, 147, 88,
+ 97, 108, 147, 147, 147, 147, 123, 125, 127, 94,
+ 0, 0, 147, 77, 78, 0, 147, 147, 83, 84,
+ 89, 90, 0, 113, 0, 0, 0, 147, 129, 118,
+ 119, 147, 147, 0, 0, 147, 147, 147, 115, 120,
+ 121, 0, 0, 81, 82, 0, 0, 114, 79, 80,
+ 91, 92
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 34, 241, 35, 36, 117, 37, 38, 39, 40,
- 41, 42, 43, 44, 215, 45, 46, 47, 48, 49,
- 50, 227, 233, 234, 235, 276, 57, 58, 135, 136,
- 120, 131, 59, 51, 188, 137, 54, 55
+ -1, 34, 239, 35, 36, 120, 37, 38, 39, 40,
+ 41, 42, 43, 44, 213, 45, 46, 47, 48, 49,
+ 50, 225, 231, 232, 233, 274, 57, 58, 134, 135,
+ 123, 74, 59, 51, 187, 136, 54, 55
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -212
+#define YYPACT_NINF -208
static const yytype_int16 yypact[] =
{
- 318, -40, -212, 11, 10, 32, -212, -212, 34, 661,
- 39, 514, 52, 21, -212, 255, 706, -212, 65, 79,
- 47, 98, 55, 133, 134, 139, 151, 152, -212, -212,
- 156, 157, -212, -212, 142, -212, -212, 232, -212, 693,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, 49, 213, -212, -28, 367, -212, -212, 150, 416,
- -212, 135, -3, 137, 184, 194, 158, 31, 232, 693,
- 191, -28, 612, -212, 166, 199, 202, 69, 209, 128,
- 210, 214, 218, 219, 225, 227, 247, 165, 248, 181,
- 256, 257, 258, 259, 262, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, 237, 236, -212, -212, -212, -212, 693, -212, -212,
- -212, -212, -212, 465, 465, -212, -212, 612, -212, -212,
- -212, -212, -28, -212, -212, -212, 205, -212, -13, -212,
- 116, -212, -212, -212, -212, 117, -212, -212, 240, 53,
- 693, 693, -212, -28, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, -212, -212, -212, -212, 416, 416, 75, 75,
- 563, 563, -28, 15, -212, -212, -212, -212, -212, -212,
- 72, -212, 120, -212, 281, 249, 105, 118, -212, 279,
- -212, 290, 292, -212, 693, -212, 693, 53, -212, -212,
- 465, 465, -28, -28, -212, -212, -212, 303, 416, 416,
- 416, 416, 416, 302, 174, -212, 0, -212, -212, 297,
- -212, 179, -212, 263, -212, -212, -212, -212, -212, -212,
- 299, 416, 179, 265, -212, -212, 53, 693, -212, 308,
- 312, -212, -212, -212, 80, 80, 80, -212, -212, -212,
- -212, 224, 43, -212, -212, 300, 33, 309, 270, -212,
- -212, -212, 129, -212, 317, 276, 322, 282, -212, 205,
- -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
- -212, -212, 46, 313, -212, -212, -212, 149, -212, -212,
- -212, -212, -212, -212, 161, 115, 416, 416, 416, -212,
- -212, -212, 416, -212, -212, 327, 291, -212, -212, -212,
- -212, -212, 416, 334, 293, -212, -212, 336, 301, -212,
- -212, -212, -212, -212
+ 296, -35, -208, -2, 38, 10, -208, -208, 24, 546,
+ 31, 346, 51, 47, -208, 591, 604, -208, 56, 71,
+ -18, 112, 130, 115, 128, 136, 143, 154, -208, -208,
+ 157, 170, -208, -208, 111, -208, -208, 229, -208, 578,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -12, -3, -208, 48, 346, -208, -208, 208, 396,
+ -208, 73, 15, 163, 190, 201, 160, 107, 229, 578,
+ 204, -208, -208, -208, -208, -208, 195, 165, 202, 215,
+ 152, 216, 153, 222, 227, 236, 237, 244, 245, 253,
+ 158, 254, 171, 255, 256, 259, 261, 262, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -208, -208, -208, 231, 230, -208, -208, -208, -208,
+ 578, -208, -208, -208, -208, -208, 446, 446, -208, -208,
+ -208, -208, -208, -208, -208, 210, -208, 4, -208, 65,
+ -208, -208, -208, -208, 70, -208, -208, 232, 41, 578,
+ 578, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ -208, -208, -208, -208, -208, 396, 396, 23, 23, 496,
+ 496, 97, -208, -208, -208, -208, -208, -208, 85, -208,
+ 185, -208, 276, 235, 100, 110, -208, 268, -208, 280,
+ 283, -208, 578, -208, 578, 41, -208, -208, 446, 446,
+ 48, 48, -208, -208, -208, 295, 396, 396, 396, 396,
+ 396, 294, 161, -208, 19, -208, -208, 290, -208, 200,
+ -208, 252, -208, -208, -208, -208, -208, -208, 302, 396,
+ 200, 269, -208, -208, 41, 578, -208, 313, 324, -208,
+ -208, -208, 55, 55, 55, -208, -208, -208, -208, 192,
+ 34, -208, -208, 303, -19, 315, 278, -208, -208, -208,
+ 114, -208, 322, 286, 323, 287, -208, 210, -208, -208,
+ -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
+ 8, 320, -208, -208, -208, 117, -208, -208, -208, -208,
+ -208, -208, 119, 167, 396, 396, 396, -208, -208, -208,
+ 396, -208, -208, 337, 307, -208, -208, -208, -208, -208,
+ 396, 345, 308, -208, -208, 352, 312, -208, -208, -208,
+ -208, -208
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -212, -212, 148, -36, 1, -62, 350, -212, -5, -212,
- -212, -212, -212, -212, -211, -212, -212, -212, -212, -212,
- -212, 50, -212, 131, -212, 92, -194, -6, -212, -200,
- -212, -45, -48, -212, 5, 2, 12, 362
+ -208, -208, 164, -37, -31, -62, 368, -208, -5, -208,
+ -208, -208, -208, -208, -206, -208, -208, -208, -208, -208,
+ -208, 66, -208, 145, -208, 88, -173, -6, -208, -207,
+ -208, -45, -48, -208, 5, 3, 17, -208
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
@@ -1094,164 +1101,142 @@ static const yytype_int16 yypgoto[] =
#define YYTABLE_NINF -1
static const yytype_uint16 yytable[] =
{
- 64, 65, 53, 116, 69, 52, 258, 151, 199, 273,
- 56, 141, 138, 140, 250, 145, 253, 143, 149, 125,
- 224, 225, 226, 71, 126, 274, 111, 112, 262, 263,
- 264, 265, 266, 116, 2, 61, 60, 134, 115, 3,
- 62, 4, 5, 6, 7, 292, 128, 129, 130, 10,
- 134, 289, 301, 142, 286, 287, 2, 63, 275, 66,
- 17, 3, 150, 4, 5, 6, 7, 132, 274, 115,
- 70, 10, 97, 186, 187, 98, 73, 190, 191, 74,
- 101, 185, 17, 102, 153, 303, 237, 32, 216, 33,
- 95, 200, 304, 134, 157, 206, 207, 158, 303, 118,
- 119, 275, 99, 134, 96, 319, 217, 121, 122, 32,
- 103, 33, 194, 195, 116, 185, 264, 265, 266, 246,
- 329, 225, 134, 100, 159, 53, 53, 193, 238, 189,
- 201, 208, 248, 337, 338, 204, 205, 202, 209, 192,
- 211, 212, 113, 308, 214, 240, 228, 229, 230, 231,
- 232, 236, 257, 161, 133, 134, 162, 242, 104, 105,
- 251, 247, 251, 323, 106, 256, 134, 134, 134, 128,
- 129, 130, 203, 210, 249, 327, 107, 108, 116, 134,
- 185, 109, 110, 163, 139, 309, 144, 272, 53, 53,
- 171, 218, 219, 172, 282, 239, 281, 243, 146, 134,
- 251, 251, 222, 223, 280, 324, 175, 290, 147, 176,
- 152, 134, 214, 268, 269, 270, 148, 328, 259, 260,
- 173, 185, 53, 53, 155, 154, 189, 156, 128, 129,
- 130, 277, 278, 307, 160, 164, 177, 194, 195, 165,
- 284, 285, 314, 166, 167, 121, 122, 316, 317, 318,
- 168, 214, 169, 196, 197, 198, 322, 114, 14, 15,
- 16, 123, 124, 298, 299, 300, 18, 19, 20, 21,
- 22, 332, 170, 174, 23, 24, 25, 26, 27, 251,
- 251, 178, 179, 180, 181, 30, 31, 182, 315, 75,
- 76, 77, 78, 79, 183, 184, 244, 80, 321, 213,
- 81, 82, 325, 326, 240, 254, 245, 255, 83, 84,
- 261, 267, 279, 331, 288, 293, 294, 333, 334, 1,
- 283, 2, 291, 339, 305, 274, 3, 306, 4, 5,
- 6, 7, 310, 311, 8, 9, 10, 312, 320, 313,
- 11, 12, 335, 13, 14, 15, 16, 17, 336, 340,
- 341, 342, 18, 19, 20, 21, 22, 252, 343, 68,
- 23, 24, 25, 26, 27, 330, 271, 302, 28, 29,
- 2, 30, 31, 72, 32, 3, 33, 4, 5, 6,
- 7, 0, 0, 8, 9, 10, 0, 0, 0, 127,
+ 64, 65, 119, 53, 69, 52, 118, 150, 100, 256,
+ 130, 101, 137, 139, 75, 144, 56, 142, 148, 260,
+ 261, 262, 263, 264, 60, 197, 114, 115, 271, 140,
+ 124, 125, 119, 248, 301, 251, 63, 118, 102, 121,
+ 122, 302, 287, 299, 2, 272, 126, 127, 290, 3,
+ 66, 4, 5, 6, 7, 133, 124, 125, 131, 10,
+ 272, 301, 149, 70, 61, 71, 72, 73, 317, 62,
+ 133, 17, 141, 284, 285, 76, 185, 186, 273, 199,
+ 189, 190, 98, 184, 206, 133, 200, 214, 192, 193,
+ 198, 207, 133, 273, 204, 205, 128, 99, 32, 235,
+ 33, 129, 222, 223, 224, 215, 77, 262, 263, 264,
+ 2, 116, 119, 184, 244, 3, 133, 4, 5, 6,
+ 7, 133, 201, 138, 246, 10, 191, 208, 306, 53,
+ 53, 321, 188, 325, 202, 203, 133, 17, 103, 209,
+ 210, 107, 236, 212, 226, 227, 228, 229, 230, 234,
+ 255, 133, 335, 336, 108, 240, 104, 245, 249, 105,
+ 249, 133, 109, 254, 32, 133, 33, 247, 133, 110,
+ 133, 307, 327, 223, 322, 119, 326, 184, 156, 160,
+ 111, 157, 161, 112, 170, 270, 106, 171, 53, 53,
+ 216, 217, 280, 237, 279, 241, 113, 174, 249, 249,
+ 175, 266, 267, 268, 145, 288, 220, 221, 158, 162,
+ 212, 238, 132, 143, 172, 146, 257, 258, 184, 147,
+ 152, 53, 53, 151, 188, 153, 278, 176, 154, 275,
+ 276, 305, 296, 297, 298, 71, 72, 73, 282, 283,
+ 312, 155, 159, 192, 193, 314, 315, 316, 163, 212,
+ 71, 72, 73, 164, 320, 117, 14, 15, 16, 194,
+ 195, 196, 165, 166, 18, 19, 20, 21, 22, 330,
+ 167, 168, 23, 24, 25, 26, 27, 249, 249, 169,
+ 173, 177, 178, 30, 31, 179, 313, 180, 181, 182,
+ 183, 242, 211, 243, 238, 252, 319, 1, 253, 2,
+ 323, 324, 259, 265, 3, 277, 4, 5, 6, 7,
+ 281, 329, 8, 9, 10, 331, 332, 286, 11, 12,
+ 291, 337, 13, 14, 15, 16, 17, 289, 292, 272,
+ 303, 18, 19, 20, 21, 22, 304, 308, 310, 23,
+ 24, 25, 26, 27, 309, 311, 318, 28, 29, 2,
+ 30, 31, 333, 32, 3, 33, 4, 5, 6, 7,
+ 338, 300, 8, 9, 10, 334, 339, 340, 11, 12,
+ 341, 250, 13, 14, 15, 16, 17, 68, 269, 328,
+ 0, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 27, 0, 0, 71, 72, 73, 2,
+ 30, 31, 0, 32, 3, 33, 4, 5, 6, 7,
+ 0, 0, 8, 9, 10, 0, 0, 0, 11, 12,
0, 0, 13, 14, 15, 16, 17, 0, 0, 0,
0, 18, 19, 20, 21, 22, 0, 0, 0, 23,
- 24, 25, 26, 27, 0, 0, 128, 129, 130, 2,
+ 24, 25, 26, 27, 0, 0, 0, 133, 0, 2,
30, 31, 0, 32, 3, 33, 4, 5, 6, 7,
0, 0, 8, 9, 10, 0, 0, 0, 11, 12,
- 0, 13, 14, 15, 16, 17, 0, 0, 0, 0,
- 18, 19, 20, 21, 22, 0, 0, 0, 23, 24,
- 25, 26, 27, 0, 0, 0, 134, 0, 2, 30,
- 31, 0, 32, 3, 33, 4, 5, 6, 7, 0,
- 0, 8, 9, 10, 0, 0, 0, 11, 12, 0,
- 13, 14, 15, 16, 17, 0, 0, 0, 0, 18,
- 19, 20, 21, 22, 0, 0, 0, 23, 24, 25,
- 26, 27, 0, 0, 0, 0, 0, 2, 30, 31,
- 0, 32, 3, 33, 4, 5, 6, 7, 0, 0,
- 8, 9, 10, 0, 0, 0, 0, 12, 0, 13,
- 14, 15, 16, 17, 0, 0, 0, 0, 18, 19,
- 20, 21, 22, 0, 0, 0, 23, 24, 25, 26,
- 27, 0, 0, 0, 0, 0, 2, 30, 31, 0,
- 32, 3, 33, 4, 5, 6, 7, 0, 0, 8,
- 9, 10, 0, 0, 0, 0, 0, 0, 13, 14,
- 15, 16, 17, 0, 0, 0, 0, 18, 19, 20,
- 21, 22, 0, 0, 0, 23, 24, 25, 26, 27,
- 0, 0, 0, 134, 0, 2, 30, 31, 0, 32,
- 3, 33, 4, 5, 6, 7, 0, 0, 8, 9,
- 10, 0, 0, 0, 0, 0, 0, 13, 14, 15,
- 16, 17, 0, 0, 0, 0, 18, 19, 20, 21,
- 22, 0, 0, 0, 23, 24, 25, 26, 27, 0,
- 0, 0, 0, 0, 2, 30, 31, 0, 32, 3,
- 33, 4, 5, 6, 7, 0, 0, 0, 0, 10,
- 0, 0, 0, 0, 0, 0, 67, 14, 15, 16,
- 17, 0, 0, 0, 0, 18, 19, 20, 21, 22,
- 0, 0, 0, 23, 24, 25, 26, 27, 0, 0,
- 0, 0, 0, 0, 30, 31, 0, 32, 0, 33,
- 15, 16, 0, 0, 0, 0, 0, 18, 19, 20,
- 21, 22, 0, 0, 0, 23, 24, 25, 26, 27,
- 85, 86, 87, 88, 89, 0, 30, 31, 90, 0,
- 0, 91, 92, 0, 0, 0, 0, 0, 0, 93,
- 94
+ 0, 0, 13, 14, 15, 16, 17, 0, 0, 0,
+ 0, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 27, 0, 0, 0, 0, 0, 2,
+ 30, 31, 0, 32, 3, 33, 4, 5, 6, 7,
+ 0, 0, 8, 9, 10, 0, 0, 0, 0, 0,
+ 0, 0, 13, 14, 15, 16, 17, 0, 0, 0,
+ 0, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 27, 0, 0, 0, 133, 0, 2,
+ 30, 31, 0, 32, 3, 33, 4, 5, 6, 7,
+ 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 67, 14, 15, 16, 17, 0, 0, 0,
+ 0, 18, 19, 20, 21, 22, 0, 0, 0, 23,
+ 24, 25, 26, 27, 0, 0, 0, 0, 0, 0,
+ 30, 31, 0, 32, 0, 33, 15, 16, 0, 0,
+ 0, 0, 0, 18, 19, 20, 21, 22, 0, 0,
+ 0, 23, 24, 25, 26, 27, 78, 79, 80, 81,
+ 82, 0, 30, 31, 83, 0, 0, 84, 85, 88,
+ 89, 90, 91, 92, 0, 86, 87, 93, 0, 0,
+ 94, 95, 0, 0, 0, 0, 0, 0, 96, 97
};
static const yytype_int16 yycheck[] =
{
- 6, 7, 0, 39, 9, 0, 217, 69, 21, 9,
- 50, 14, 60, 61, 208, 63, 210, 62, 66, 47,
- 5, 6, 7, 11, 52, 25, 32, 33, 228, 229,
- 230, 231, 232, 69, 3, 25, 25, 50, 37, 8,
- 30, 10, 11, 12, 13, 256, 49, 50, 51, 18,
- 50, 251, 9, 56, 248, 249, 3, 25, 58, 25,
- 29, 8, 67, 10, 11, 12, 13, 55, 25, 68,
- 31, 18, 25, 121, 122, 28, 24, 125, 126, 58,
- 25, 117, 29, 28, 72, 52, 14, 56, 150, 58,
- 25, 139, 59, 50, 25, 143, 144, 28, 52, 50,
- 51, 58, 55, 50, 25, 59, 154, 32, 33, 56,
- 55, 58, 32, 33, 150, 151, 316, 317, 318, 14,
- 5, 6, 50, 25, 55, 123, 124, 133, 56, 124,
- 14, 14, 14, 327, 328, 141, 142, 21, 21, 127,
- 146, 147, 0, 14, 149, 25, 194, 195, 196, 197,
- 198, 199, 214, 25, 4, 50, 28, 202, 25, 25,
- 208, 56, 210, 14, 25, 213, 50, 50, 50, 49,
- 50, 51, 56, 56, 56, 14, 25, 25, 214, 50,
- 216, 25, 25, 55, 49, 56, 49, 235, 186, 187,
- 25, 186, 187, 28, 242, 201, 241, 203, 14, 50,
- 248, 249, 190, 191, 25, 56, 25, 252, 14, 28,
- 19, 50, 217, 39, 40, 41, 58, 56, 224, 225,
- 55, 257, 220, 221, 25, 59, 221, 25, 49, 50,
- 51, 237, 238, 281, 25, 25, 55, 32, 33, 25,
- 246, 247, 290, 25, 25, 32, 33, 295, 296, 297,
- 25, 256, 25, 48, 49, 50, 304, 25, 26, 27,
- 28, 48, 49, 39, 40, 41, 34, 35, 36, 37,
- 38, 319, 25, 25, 42, 43, 44, 45, 46, 327,
- 328, 25, 25, 25, 25, 53, 54, 25, 294, 34,
- 35, 36, 37, 38, 57, 59, 15, 42, 304, 59,
- 45, 46, 308, 309, 25, 15, 57, 15, 53, 54,
- 7, 9, 15, 319, 15, 7, 4, 323, 324, 1,
- 57, 3, 57, 329, 15, 25, 8, 57, 10, 11,
- 12, 13, 15, 57, 16, 17, 18, 15, 25, 57,
- 22, 23, 15, 25, 26, 27, 28, 29, 57, 15,
- 57, 15, 34, 35, 36, 37, 38, 209, 57, 9,
- 42, 43, 44, 45, 46, 315, 235, 275, 50, 51,
- 3, 53, 54, 11, 56, 8, 58, 10, 11, 12,
- 13, -1, -1, 16, 17, 18, -1, -1, -1, 22,
- -1, -1, 25, 26, 27, 28, 29, -1, -1, -1,
- -1, 34, 35, 36, 37, 38, -1, -1, -1, 42,
- 43, 44, 45, 46, -1, -1, 49, 50, 51, 3,
- 53, 54, -1, 56, 8, 58, 10, 11, 12, 13,
+ 6, 7, 39, 0, 9, 0, 37, 69, 26, 215,
+ 55, 29, 60, 61, 11, 63, 51, 62, 66, 226,
+ 227, 228, 229, 230, 26, 21, 32, 33, 9, 14,
+ 33, 34, 69, 206, 53, 208, 26, 68, 56, 51,
+ 52, 60, 249, 9, 3, 26, 49, 50, 254, 8,
+ 26, 10, 11, 12, 13, 51, 33, 34, 55, 18,
+ 26, 53, 67, 32, 26, 50, 51, 52, 60, 31,
+ 51, 30, 57, 246, 247, 24, 124, 125, 59, 14,
+ 128, 129, 26, 120, 14, 51, 21, 149, 33, 34,
+ 138, 21, 51, 59, 142, 143, 48, 26, 57, 14,
+ 59, 53, 5, 6, 7, 153, 59, 314, 315, 316,
+ 3, 0, 149, 150, 14, 8, 51, 10, 11, 12,
+ 13, 51, 57, 50, 14, 18, 132, 57, 14, 126,
+ 127, 14, 127, 14, 140, 141, 51, 30, 26, 145,
+ 146, 26, 57, 148, 192, 193, 194, 195, 196, 197,
+ 212, 51, 325, 326, 26, 200, 26, 57, 206, 29,
+ 208, 51, 26, 211, 57, 51, 59, 57, 51, 26,
+ 51, 57, 5, 6, 57, 212, 57, 214, 26, 26,
+ 26, 29, 29, 26, 26, 233, 56, 29, 185, 186,
+ 185, 186, 240, 199, 239, 201, 26, 26, 246, 247,
+ 29, 40, 41, 42, 14, 250, 189, 190, 56, 56,
+ 215, 26, 4, 50, 56, 14, 222, 223, 255, 59,
+ 25, 218, 219, 19, 219, 60, 26, 56, 26, 235,
+ 236, 279, 40, 41, 42, 50, 51, 52, 244, 245,
+ 288, 26, 26, 33, 34, 293, 294, 295, 26, 254,
+ 50, 51, 52, 26, 302, 26, 27, 28, 29, 49,
+ 50, 51, 26, 26, 35, 36, 37, 38, 39, 317,
+ 26, 26, 43, 44, 45, 46, 47, 325, 326, 26,
+ 26, 26, 26, 54, 55, 26, 292, 26, 26, 58,
+ 60, 15, 60, 58, 26, 15, 302, 1, 15, 3,
+ 306, 307, 7, 9, 8, 15, 10, 11, 12, 13,
+ 58, 317, 16, 17, 18, 321, 322, 15, 22, 23,
+ 7, 327, 26, 27, 28, 29, 30, 58, 4, 26,
+ 15, 35, 36, 37, 38, 39, 58, 15, 15, 43,
+ 44, 45, 46, 47, 58, 58, 26, 51, 52, 3,
+ 54, 55, 15, 57, 8, 59, 10, 11, 12, 13,
+ 15, 273, 16, 17, 18, 58, 58, 15, 22, 23,
+ 58, 207, 26, 27, 28, 29, 30, 9, 233, 313,
+ -1, 35, 36, 37, 38, 39, -1, -1, -1, 43,
+ 44, 45, 46, 47, -1, -1, 50, 51, 52, 3,
+ 54, 55, -1, 57, 8, 59, 10, 11, 12, 13,
-1, -1, 16, 17, 18, -1, -1, -1, 22, 23,
- -1, 25, 26, 27, 28, 29, -1, -1, -1, -1,
- 34, 35, 36, 37, 38, -1, -1, -1, 42, 43,
- 44, 45, 46, -1, -1, -1, 50, -1, 3, 53,
- 54, -1, 56, 8, 58, 10, 11, 12, 13, -1,
- -1, 16, 17, 18, -1, -1, -1, 22, 23, -1,
- 25, 26, 27, 28, 29, -1, -1, -1, -1, 34,
- 35, 36, 37, 38, -1, -1, -1, 42, 43, 44,
- 45, 46, -1, -1, -1, -1, -1, 3, 53, 54,
- -1, 56, 8, 58, 10, 11, 12, 13, -1, -1,
- 16, 17, 18, -1, -1, -1, -1, 23, -1, 25,
- 26, 27, 28, 29, -1, -1, -1, -1, 34, 35,
- 36, 37, 38, -1, -1, -1, 42, 43, 44, 45,
- 46, -1, -1, -1, -1, -1, 3, 53, 54, -1,
- 56, 8, 58, 10, 11, 12, 13, -1, -1, 16,
- 17, 18, -1, -1, -1, -1, -1, -1, 25, 26,
- 27, 28, 29, -1, -1, -1, -1, 34, 35, 36,
- 37, 38, -1, -1, -1, 42, 43, 44, 45, 46,
- -1, -1, -1, 50, -1, 3, 53, 54, -1, 56,
- 8, 58, 10, 11, 12, 13, -1, -1, 16, 17,
- 18, -1, -1, -1, -1, -1, -1, 25, 26, 27,
- 28, 29, -1, -1, -1, -1, 34, 35, 36, 37,
- 38, -1, -1, -1, 42, 43, 44, 45, 46, -1,
- -1, -1, -1, -1, 3, 53, 54, -1, 56, 8,
- 58, 10, 11, 12, 13, -1, -1, -1, -1, 18,
- -1, -1, -1, -1, -1, -1, 25, 26, 27, 28,
- 29, -1, -1, -1, -1, 34, 35, 36, 37, 38,
- -1, -1, -1, 42, 43, 44, 45, 46, -1, -1,
- -1, -1, -1, -1, 53, 54, -1, 56, -1, 58,
- 27, 28, -1, -1, -1, -1, -1, 34, 35, 36,
- 37, 38, -1, -1, -1, 42, 43, 44, 45, 46,
- 34, 35, 36, 37, 38, -1, 53, 54, 42, -1,
- -1, 45, 46, -1, -1, -1, -1, -1, -1, 53,
- 54
+ -1, -1, 26, 27, 28, 29, 30, -1, -1, -1,
+ -1, 35, 36, 37, 38, 39, -1, -1, -1, 43,
+ 44, 45, 46, 47, -1, -1, -1, 51, -1, 3,
+ 54, 55, -1, 57, 8, 59, 10, 11, 12, 13,
+ -1, -1, 16, 17, 18, -1, -1, -1, 22, 23,
+ -1, -1, 26, 27, 28, 29, 30, -1, -1, -1,
+ -1, 35, 36, 37, 38, 39, -1, -1, -1, 43,
+ 44, 45, 46, 47, -1, -1, -1, -1, -1, 3,
+ 54, 55, -1, 57, 8, 59, 10, 11, 12, 13,
+ -1, -1, 16, 17, 18, -1, -1, -1, -1, -1,
+ -1, -1, 26, 27, 28, 29, 30, -1, -1, -1,
+ -1, 35, 36, 37, 38, 39, -1, -1, -1, 43,
+ 44, 45, 46, 47, -1, -1, -1, 51, -1, 3,
+ 54, 55, -1, 57, 8, 59, 10, 11, 12, 13,
+ -1, -1, -1, -1, 18, -1, -1, -1, -1, -1,
+ -1, -1, 26, 27, 28, 29, 30, -1, -1, -1,
+ -1, 35, 36, 37, 38, 39, -1, -1, -1, 43,
+ 44, 45, 46, 47, -1, -1, -1, -1, -1, -1,
+ 54, 55, -1, 57, -1, 59, 28, 29, -1, -1,
+ -1, -1, -1, 35, 36, 37, 38, 39, -1, -1,
+ -1, 43, 44, 45, 46, 47, 35, 36, 37, 38,
+ 39, -1, 54, 55, 43, -1, -1, 46, 47, 35,
+ 36, 37, 38, 39, -1, 54, 55, 43, -1, -1,
+ 46, 47, -1, -1, -1, -1, -1, -1, 54, 55
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1259,40 +1244,40 @@ static const yytype_int16 yycheck[] =
static const yytype_uint8 yystos[] =
{
0, 1, 3, 8, 10, 11, 12, 13, 16, 17,
- 18, 22, 23, 25, 26, 27, 28, 29, 34, 35,
- 36, 37, 38, 42, 43, 44, 45, 46, 50, 51,
- 53, 54, 56, 58, 61, 63, 64, 66, 67, 68,
- 69, 70, 71, 72, 73, 75, 76, 77, 78, 79,
- 80, 93, 94, 95, 96, 97, 50, 86, 87, 92,
- 25, 25, 30, 25, 87, 87, 25, 25, 66, 68,
- 31, 96, 97, 24, 58, 34, 35, 36, 37, 38,
- 42, 45, 46, 53, 54, 34, 35, 36, 37, 38,
- 42, 45, 46, 53, 54, 25, 25, 25, 28, 55,
- 25, 25, 28, 55, 25, 25, 25, 25, 25, 25,
- 25, 87, 87, 0, 25, 64, 63, 65, 50, 51,
- 90, 32, 33, 48, 49, 47, 52, 22, 49, 50,
- 51, 91, 96, 4, 50, 88, 89, 95, 92, 49,
- 92, 14, 56, 91, 49, 92, 14, 14, 58, 92,
- 68, 65, 19, 96, 59, 25, 25, 25, 28, 55,
- 25, 25, 28, 55, 25, 25, 25, 25, 25, 25,
- 25, 25, 28, 55, 25, 25, 28, 55, 25, 25,
- 25, 25, 25, 57, 59, 63, 92, 92, 94, 94,
- 92, 92, 96, 87, 32, 33, 48, 49, 50, 21,
- 92, 14, 21, 56, 87, 87, 92, 92, 14, 21,
- 56, 87, 87, 59, 68, 74, 65, 92, 94, 94,
- 48, 49, 96, 96, 5, 6, 7, 81, 92, 92,
- 92, 92, 92, 82, 83, 84, 92, 14, 56, 87,
- 25, 62, 91, 87, 15, 57, 14, 56, 14, 56,
- 86, 92, 62, 86, 15, 15, 92, 65, 74, 87,
- 87, 7, 89, 89, 89, 89, 89, 9, 39, 40,
- 41, 83, 92, 9, 25, 58, 85, 87, 87, 15,
- 25, 91, 92, 57, 87, 87, 86, 86, 15, 89,
- 91, 57, 74, 7, 4, 48, 49, 50, 39, 40,
- 41, 9, 85, 52, 59, 15, 57, 92, 14, 56,
- 15, 57, 15, 57, 92, 87, 92, 92, 92, 59,
- 25, 87, 92, 14, 56, 87, 87, 14, 56, 5,
- 81, 87, 92, 87, 87, 15, 57, 86, 86, 87,
- 15, 57, 15, 57
+ 18, 22, 23, 26, 27, 28, 29, 30, 35, 36,
+ 37, 38, 39, 43, 44, 45, 46, 47, 51, 52,
+ 54, 55, 57, 59, 62, 64, 65, 67, 68, 69,
+ 70, 71, 72, 73, 74, 76, 77, 78, 79, 80,
+ 81, 94, 95, 96, 97, 98, 51, 87, 88, 93,
+ 26, 26, 31, 26, 88, 88, 26, 26, 67, 69,
+ 32, 50, 51, 52, 92, 96, 24, 59, 35, 36,
+ 37, 38, 39, 43, 46, 47, 54, 55, 35, 36,
+ 37, 38, 39, 43, 46, 47, 54, 55, 26, 26,
+ 26, 29, 56, 26, 26, 29, 56, 26, 26, 26,
+ 26, 26, 26, 26, 88, 88, 0, 26, 65, 64,
+ 66, 51, 52, 91, 33, 34, 49, 50, 48, 53,
+ 92, 96, 4, 51, 89, 90, 96, 93, 50, 93,
+ 14, 57, 92, 50, 93, 14, 14, 59, 93, 69,
+ 66, 19, 25, 60, 26, 26, 26, 29, 56, 26,
+ 26, 29, 56, 26, 26, 26, 26, 26, 26, 26,
+ 26, 29, 56, 26, 26, 29, 56, 26, 26, 26,
+ 26, 26, 58, 60, 64, 93, 93, 95, 95, 93,
+ 93, 88, 33, 34, 49, 50, 51, 21, 93, 14,
+ 21, 57, 88, 88, 93, 93, 14, 21, 57, 88,
+ 88, 60, 69, 75, 66, 93, 95, 95, 49, 50,
+ 97, 97, 5, 6, 7, 82, 93, 93, 93, 93,
+ 93, 83, 84, 85, 93, 14, 57, 88, 26, 63,
+ 92, 88, 15, 58, 14, 57, 14, 57, 87, 93,
+ 63, 87, 15, 15, 93, 66, 75, 88, 88, 7,
+ 90, 90, 90, 90, 90, 9, 40, 41, 42, 84,
+ 93, 9, 26, 59, 86, 88, 88, 15, 26, 92,
+ 93, 58, 88, 88, 87, 87, 15, 90, 92, 58,
+ 75, 7, 4, 49, 50, 51, 40, 41, 42, 9,
+ 86, 53, 60, 15, 58, 93, 14, 57, 15, 58,
+ 15, 58, 93, 88, 93, 93, 93, 60, 26, 88,
+ 93, 14, 57, 88, 88, 14, 57, 5, 82, 88,
+ 93, 88, 88, 15, 58, 87, 87, 88, 15, 58,
+ 15, 58
};
#define yyerrok (yyerrstatus = 0)
@@ -2107,7 +2092,7 @@ yyreduce:
switch (yyn)
{
case 2:
-#line 374 "/Users/chet/src/bash/src/parse.y"
+#line 377 "/Users/chet/src/bash/src/parse.y"
{
/* Case of regular command. Discard the error
safety net,and return the command just parsed. */
@@ -2121,7 +2106,7 @@ yyreduce:
break;
case 3:
-#line 385 "/Users/chet/src/bash/src/parse.y"
+#line 388 "/Users/chet/src/bash/src/parse.y"
{
/* Case of regular command, but not a very
interesting one. Return a NULL command. */
@@ -2133,7 +2118,7 @@ yyreduce:
break;
case 4:
-#line 394 "/Users/chet/src/bash/src/parse.y"
+#line 397 "/Users/chet/src/bash/src/parse.y"
{
/* Error during parsing. Return NULL command. */
global_command = (COMMAND *)NULL;
@@ -2151,7 +2136,7 @@ yyreduce:
break;
case 5:
-#line 409 "/Users/chet/src/bash/src/parse.y"
+#line 412 "/Users/chet/src/bash/src/parse.y"
{
/* Case of EOF seen by itself. Do ignoreeof or
not. */
@@ -2162,17 +2147,17 @@ yyreduce:
break;
case 6:
-#line 419 "/Users/chet/src/bash/src/parse.y"
+#line 422 "/Users/chet/src/bash/src/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
break;
case 7:
-#line 421 "/Users/chet/src/bash/src/parse.y"
+#line 424 "/Users/chet/src/bash/src/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
break;
case 8:
-#line 425 "/Users/chet/src/bash/src/parse.y"
+#line 428 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2181,7 +2166,7 @@ yyreduce:
break;
case 9:
-#line 431 "/Users/chet/src/bash/src/parse.y"
+#line 434 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2190,7 +2175,7 @@ yyreduce:
break;
case 10:
-#line 437 "/Users/chet/src/bash/src/parse.y"
+#line 440 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2199,7 +2184,7 @@ yyreduce:
break;
case 11:
-#line 443 "/Users/chet/src/bash/src/parse.y"
+#line 446 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2208,7 +2193,7 @@ yyreduce:
break;
case 12:
-#line 449 "/Users/chet/src/bash/src/parse.y"
+#line 452 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2217,7 +2202,7 @@ yyreduce:
break;
case 13:
-#line 455 "/Users/chet/src/bash/src/parse.y"
+#line 458 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2226,7 +2211,7 @@ yyreduce:
break;
case 14:
-#line 461 "/Users/chet/src/bash/src/parse.y"
+#line 464 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2235,7 +2220,7 @@ yyreduce:
break;
case 15:
-#line 467 "/Users/chet/src/bash/src/parse.y"
+#line 470 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2244,7 +2229,7 @@ yyreduce:
break;
case 16:
-#line 473 "/Users/chet/src/bash/src/parse.y"
+#line 476 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2253,7 +2238,7 @@ yyreduce:
break;
case 17:
-#line 479 "/Users/chet/src/bash/src/parse.y"
+#line 482 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2262,7 +2247,7 @@ yyreduce:
break;
case 18:
-#line 485 "/Users/chet/src/bash/src/parse.y"
+#line 488 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2271,7 +2256,7 @@ yyreduce:
break;
case 19:
-#line 491 "/Users/chet/src/bash/src/parse.y"
+#line 494 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2280,7 +2265,7 @@ yyreduce:
break;
case 20:
-#line 497 "/Users/chet/src/bash/src/parse.y"
+#line 500 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2289,7 +2274,7 @@ yyreduce:
break;
case 21:
-#line 503 "/Users/chet/src/bash/src/parse.y"
+#line 506 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2298,7 +2283,7 @@ yyreduce:
break;
case 22:
-#line 509 "/Users/chet/src/bash/src/parse.y"
+#line 512 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2307,7 +2292,7 @@ yyreduce:
break;
case 23:
-#line 515 "/Users/chet/src/bash/src/parse.y"
+#line 518 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2317,7 +2302,7 @@ yyreduce:
break;
case 24:
-#line 522 "/Users/chet/src/bash/src/parse.y"
+#line 525 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2327,7 +2312,7 @@ yyreduce:
break;
case 25:
-#line 529 "/Users/chet/src/bash/src/parse.y"
+#line 532 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2337,7 +2322,7 @@ yyreduce:
break;
case 26:
-#line 536 "/Users/chet/src/bash/src/parse.y"
+#line 539 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2347,7 +2332,7 @@ yyreduce:
break;
case 27:
-#line 543 "/Users/chet/src/bash/src/parse.y"
+#line 546 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2357,7 +2342,7 @@ yyreduce:
break;
case 28:
-#line 550 "/Users/chet/src/bash/src/parse.y"
+#line 553 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2367,7 +2352,7 @@ yyreduce:
break;
case 29:
-#line 557 "/Users/chet/src/bash/src/parse.y"
+#line 560 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2376,7 +2361,7 @@ yyreduce:
break;
case 30:
-#line 563 "/Users/chet/src/bash/src/parse.y"
+#line 566 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2385,7 +2370,7 @@ yyreduce:
break;
case 31:
-#line 569 "/Users/chet/src/bash/src/parse.y"
+#line 572 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2394,7 +2379,7 @@ yyreduce:
break;
case 32:
-#line 575 "/Users/chet/src/bash/src/parse.y"
+#line 578 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.dest = (yyvsp[(2) - (2)].number);
@@ -2403,7 +2388,7 @@ yyreduce:
break;
case 33:
-#line 581 "/Users/chet/src/bash/src/parse.y"
+#line 584 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2412,7 +2397,7 @@ yyreduce:
break;
case 34:
-#line 587 "/Users/chet/src/bash/src/parse.y"
+#line 590 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2421,7 +2406,7 @@ yyreduce:
break;
case 35:
-#line 593 "/Users/chet/src/bash/src/parse.y"
+#line 596 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.dest = (yyvsp[(2) - (2)].number);
@@ -2430,7 +2415,7 @@ yyreduce:
break;
case 36:
-#line 599 "/Users/chet/src/bash/src/parse.y"
+#line 602 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2439,7 +2424,7 @@ yyreduce:
break;
case 37:
-#line 605 "/Users/chet/src/bash/src/parse.y"
+#line 608 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = (yyvsp[(3) - (3)].number);
@@ -2448,7 +2433,7 @@ yyreduce:
break;
case 38:
-#line 611 "/Users/chet/src/bash/src/parse.y"
+#line 614 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2457,7 +2442,7 @@ yyreduce:
break;
case 39:
-#line 617 "/Users/chet/src/bash/src/parse.y"
+#line 620 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2466,7 +2451,7 @@ yyreduce:
break;
case 40:
-#line 623 "/Users/chet/src/bash/src/parse.y"
+#line 626 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2475,7 +2460,7 @@ yyreduce:
break;
case 41:
-#line 629 "/Users/chet/src/bash/src/parse.y"
+#line 632 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2484,7 +2469,7 @@ yyreduce:
break;
case 42:
-#line 635 "/Users/chet/src/bash/src/parse.y"
+#line 638 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2493,7 +2478,7 @@ yyreduce:
break;
case 43:
-#line 641 "/Users/chet/src/bash/src/parse.y"
+#line 644 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.filename = (yyvsp[(3) - (3)].word);
@@ -2502,7 +2487,7 @@ yyreduce:
break;
case 44:
-#line 647 "/Users/chet/src/bash/src/parse.y"
+#line 650 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.dest = 0;
@@ -2511,7 +2496,7 @@ yyreduce:
break;
case 45:
-#line 653 "/Users/chet/src/bash/src/parse.y"
+#line 656 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = 0;
@@ -2520,7 +2505,7 @@ yyreduce:
break;
case 46:
-#line 659 "/Users/chet/src/bash/src/parse.y"
+#line 662 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = 0;
@@ -2529,7 +2514,7 @@ yyreduce:
break;
case 47:
-#line 665 "/Users/chet/src/bash/src/parse.y"
+#line 668 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 0;
redir.dest = 0;
@@ -2538,7 +2523,7 @@ yyreduce:
break;
case 48:
-#line 671 "/Users/chet/src/bash/src/parse.y"
+#line 674 "/Users/chet/src/bash/src/parse.y"
{
source.dest = (yyvsp[(1) - (3)].number);
redir.dest = 0;
@@ -2547,7 +2532,7 @@ yyreduce:
break;
case 49:
-#line 677 "/Users/chet/src/bash/src/parse.y"
+#line 680 "/Users/chet/src/bash/src/parse.y"
{
source.filename = (yyvsp[(1) - (3)].word);
redir.dest = 0;
@@ -2556,7 +2541,7 @@ yyreduce:
break;
case 50:
-#line 683 "/Users/chet/src/bash/src/parse.y"
+#line 686 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2565,7 +2550,7 @@ yyreduce:
break;
case 51:
-#line 689 "/Users/chet/src/bash/src/parse.y"
+#line 692 "/Users/chet/src/bash/src/parse.y"
{
source.dest = 1;
redir.filename = (yyvsp[(2) - (2)].word);
@@ -2574,29 +2559,29 @@ yyreduce:
break;
case 52:
-#line 697 "/Users/chet/src/bash/src/parse.y"
+#line 700 "/Users/chet/src/bash/src/parse.y"
{ (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
break;
case 53:
-#line 699 "/Users/chet/src/bash/src/parse.y"
+#line 702 "/Users/chet/src/bash/src/parse.y"
{ (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
break;
case 54:
-#line 701 "/Users/chet/src/bash/src/parse.y"
+#line 704 "/Users/chet/src/bash/src/parse.y"
{ (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
break;
case 55:
-#line 705 "/Users/chet/src/bash/src/parse.y"
+#line 708 "/Users/chet/src/bash/src/parse.y"
{
(yyval.redirect) = (yyvsp[(1) - (1)].redirect);
}
break;
case 56:
-#line 709 "/Users/chet/src/bash/src/parse.y"
+#line 712 "/Users/chet/src/bash/src/parse.y"
{
register REDIRECT *t;
@@ -2608,27 +2593,27 @@ yyreduce:
break;
case 57:
-#line 720 "/Users/chet/src/bash/src/parse.y"
+#line 723 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
break;
case 58:
-#line 722 "/Users/chet/src/bash/src/parse.y"
+#line 725 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
break;
case 59:
-#line 726 "/Users/chet/src/bash/src/parse.y"
+#line 729 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
break;
case 60:
-#line 728 "/Users/chet/src/bash/src/parse.y"
+#line 731 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 61:
-#line 730 "/Users/chet/src/bash/src/parse.y"
+#line 733 "/Users/chet/src/bash/src/parse.y"
{
COMMAND *tc;
@@ -2647,72 +2632,72 @@ yyreduce:
break;
case 62:
-#line 746 "/Users/chet/src/bash/src/parse.y"
+#line 749 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 63:
-#line 748 "/Users/chet/src/bash/src/parse.y"
+#line 751 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 64:
-#line 752 "/Users/chet/src/bash/src/parse.y"
+#line 755 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 65:
-#line 754 "/Users/chet/src/bash/src/parse.y"
+#line 757 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 66:
-#line 756 "/Users/chet/src/bash/src/parse.y"
+#line 759 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
break;
case 67:
-#line 758 "/Users/chet/src/bash/src/parse.y"
+#line 761 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
break;
case 68:
-#line 760 "/Users/chet/src/bash/src/parse.y"
+#line 763 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 69:
-#line 762 "/Users/chet/src/bash/src/parse.y"
+#line 765 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 70:
-#line 764 "/Users/chet/src/bash/src/parse.y"
+#line 767 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 71:
-#line 766 "/Users/chet/src/bash/src/parse.y"
+#line 769 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 72:
-#line 768 "/Users/chet/src/bash/src/parse.y"
+#line 771 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 73:
-#line 770 "/Users/chet/src/bash/src/parse.y"
+#line 773 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 74:
-#line 772 "/Users/chet/src/bash/src/parse.y"
+#line 775 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 75:
-#line 776 "/Users/chet/src/bash/src/parse.y"
+#line 779 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2720,7 +2705,7 @@ yyreduce:
break;
case 76:
-#line 781 "/Users/chet/src/bash/src/parse.y"
+#line 784 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2728,7 +2713,7 @@ yyreduce:
break;
case 77:
-#line 786 "/Users/chet/src/bash/src/parse.y"
+#line 789 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2736,7 +2721,7 @@ yyreduce:
break;
case 78:
-#line 791 "/Users/chet/src/bash/src/parse.y"
+#line 794 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2744,7 +2729,7 @@ yyreduce:
break;
case 79:
-#line 796 "/Users/chet/src/bash/src/parse.y"
+#line 799 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2752,7 +2737,7 @@ yyreduce:
break;
case 80:
-#line 801 "/Users/chet/src/bash/src/parse.y"
+#line 804 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2760,7 +2745,7 @@ yyreduce:
break;
case 81:
-#line 806 "/Users/chet/src/bash/src/parse.y"
+#line 809 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2768,7 +2753,7 @@ yyreduce:
break;
case 82:
-#line 811 "/Users/chet/src/bash/src/parse.y"
+#line 814 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2776,7 +2761,7 @@ yyreduce:
break;
case 83:
-#line 818 "/Users/chet/src/bash/src/parse.y"
+#line 821 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2784,7 +2769,7 @@ yyreduce:
break;
case 84:
-#line 823 "/Users/chet/src/bash/src/parse.y"
+#line 826 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2792,7 +2777,7 @@ yyreduce:
break;
case 85:
-#line 828 "/Users/chet/src/bash/src/parse.y"
+#line 831 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2800,7 +2785,7 @@ yyreduce:
break;
case 86:
-#line 833 "/Users/chet/src/bash/src/parse.y"
+#line 836 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
if (word_top > 0) word_top--;
@@ -2808,7 +2793,7 @@ yyreduce:
break;
case 87:
-#line 840 "/Users/chet/src/bash/src/parse.y"
+#line 843 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2816,7 +2801,7 @@ yyreduce:
break;
case 88:
-#line 845 "/Users/chet/src/bash/src/parse.y"
+#line 848 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2824,7 +2809,7 @@ yyreduce:
break;
case 89:
-#line 850 "/Users/chet/src/bash/src/parse.y"
+#line 853 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2832,7 +2817,7 @@ yyreduce:
break;
case 90:
-#line 855 "/Users/chet/src/bash/src/parse.y"
+#line 858 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2840,7 +2825,7 @@ yyreduce:
break;
case 91:
-#line 860 "/Users/chet/src/bash/src/parse.y"
+#line 863 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2848,7 +2833,7 @@ yyreduce:
break;
case 92:
-#line 865 "/Users/chet/src/bash/src/parse.y"
+#line 868 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2856,7 +2841,7 @@ yyreduce:
break;
case 93:
-#line 872 "/Users/chet/src/bash/src/parse.y"
+#line 875 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2864,7 +2849,7 @@ yyreduce:
break;
case 94:
-#line 877 "/Users/chet/src/bash/src/parse.y"
+#line 880 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2872,7 +2857,7 @@ yyreduce:
break;
case 95:
-#line 882 "/Users/chet/src/bash/src/parse.y"
+#line 885 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
if (word_top > 0) word_top--;
@@ -2880,27 +2865,27 @@ yyreduce:
break;
case 96:
-#line 889 "/Users/chet/src/bash/src/parse.y"
+#line 892 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
break;
case 97:
-#line 892 "/Users/chet/src/bash/src/parse.y"
+#line 895 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
break;
case 98:
-#line 895 "/Users/chet/src/bash/src/parse.y"
+#line 898 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
break;
case 99:
-#line 899 "/Users/chet/src/bash/src/parse.y"
+#line 902 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 100:
-#line 901 "/Users/chet/src/bash/src/parse.y"
+#line 904 "/Users/chet/src/bash/src/parse.y"
{
COMMAND *tc;
@@ -2932,7 +2917,7 @@ yyreduce:
break;
case 101:
-#line 932 "/Users/chet/src/bash/src/parse.y"
+#line 935 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL;
@@ -2940,7 +2925,7 @@ yyreduce:
break;
case 102:
-#line 939 "/Users/chet/src/bash/src/parse.y"
+#line 942 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -2948,7 +2933,7 @@ yyreduce:
break;
case 103:
-#line 944 "/Users/chet/src/bash/src/parse.y"
+#line 947 "/Users/chet/src/bash/src/parse.y"
{
COMMAND *tc;
@@ -2968,7 +2953,7 @@ yyreduce:
break;
case 104:
-#line 961 "/Users/chet/src/bash/src/parse.y"
+#line 964 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -2976,7 +2961,7 @@ yyreduce:
break;
case 105:
-#line 966 "/Users/chet/src/bash/src/parse.y"
+#line 969 "/Users/chet/src/bash/src/parse.y"
{
COMMAND *tc;
@@ -2996,7 +2981,7 @@ yyreduce:
break;
case 106:
-#line 983 "/Users/chet/src/bash/src/parse.y"
+#line 986 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
(yyval.command)->flags |= CMD_WANT_SUBSHELL|CMD_COPROC_SUBSHELL;
@@ -3004,117 +2989,117 @@ yyreduce:
break;
case 107:
-#line 990 "/Users/chet/src/bash/src/parse.y"
+#line 993 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
break;
case 108:
-#line 992 "/Users/chet/src/bash/src/parse.y"
+#line 995 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
break;
case 109:
-#line 994 "/Users/chet/src/bash/src/parse.y"
+#line 997 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
break;
case 110:
-#line 999 "/Users/chet/src/bash/src/parse.y"
+#line 1002 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
break;
case 111:
-#line 1003 "/Users/chet/src/bash/src/parse.y"
+#line 1006 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
break;
case 112:
-#line 1007 "/Users/chet/src/bash/src/parse.y"
+#line 1010 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(2) - (3)].command); }
break;
case 113:
-#line 1011 "/Users/chet/src/bash/src/parse.y"
+#line 1014 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
break;
case 114:
-#line 1013 "/Users/chet/src/bash/src/parse.y"
+#line 1016 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
break;
case 115:
-#line 1015 "/Users/chet/src/bash/src/parse.y"
+#line 1018 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
break;
case 117:
-#line 1020 "/Users/chet/src/bash/src/parse.y"
+#line 1023 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
break;
case 118:
-#line 1024 "/Users/chet/src/bash/src/parse.y"
+#line 1027 "/Users/chet/src/bash/src/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
break;
case 119:
-#line 1026 "/Users/chet/src/bash/src/parse.y"
+#line 1029 "/Users/chet/src/bash/src/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
break;
case 120:
-#line 1028 "/Users/chet/src/bash/src/parse.y"
+#line 1031 "/Users/chet/src/bash/src/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
break;
case 121:
-#line 1030 "/Users/chet/src/bash/src/parse.y"
+#line 1033 "/Users/chet/src/bash/src/parse.y"
{ (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
break;
case 122:
-#line 1034 "/Users/chet/src/bash/src/parse.y"
+#line 1037 "/Users/chet/src/bash/src/parse.y"
{ (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 123:
-#line 1036 "/Users/chet/src/bash/src/parse.y"
+#line 1039 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 124:
-#line 1038 "/Users/chet/src/bash/src/parse.y"
+#line 1041 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 125:
-#line 1040 "/Users/chet/src/bash/src/parse.y"
+#line 1043 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 126:
-#line 1042 "/Users/chet/src/bash/src/parse.y"
+#line 1045 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
break;
case 127:
-#line 1044 "/Users/chet/src/bash/src/parse.y"
+#line 1047 "/Users/chet/src/bash/src/parse.y"
{ (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
break;
case 128:
-#line 1048 "/Users/chet/src/bash/src/parse.y"
+#line 1051 "/Users/chet/src/bash/src/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
break;
case 129:
-#line 1050 "/Users/chet/src/bash/src/parse.y"
+#line 1053 "/Users/chet/src/bash/src/parse.y"
{ (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
break;
case 130:
-#line 1059 "/Users/chet/src/bash/src/parse.y"
+#line 1062 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = (yyvsp[(2) - (2)].command);
if (need_here_doc)
@@ -3123,14 +3108,14 @@ yyreduce:
break;
case 132:
-#line 1068 "/Users/chet/src/bash/src/parse.y"
+#line 1071 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = (yyvsp[(2) - (2)].command);
}
break;
case 134:
-#line 1075 "/Users/chet/src/bash/src/parse.y"
+#line 1078 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(1) - (3)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (3)].command), (COMMAND *)NULL, '&');
@@ -3140,17 +3125,17 @@ yyreduce:
break;
case 136:
-#line 1086 "/Users/chet/src/bash/src/parse.y"
+#line 1089 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
break;
case 137:
-#line 1088 "/Users/chet/src/bash/src/parse.y"
+#line 1091 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
break;
case 138:
-#line 1090 "/Users/chet/src/bash/src/parse.y"
+#line 1093 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(1) - (4)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '&');
@@ -3160,37 +3145,37 @@ yyreduce:
break;
case 139:
-#line 1097 "/Users/chet/src/bash/src/parse.y"
+#line 1100 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
break;
case 140:
-#line 1099 "/Users/chet/src/bash/src/parse.y"
+#line 1102 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
break;
case 141:
-#line 1101 "/Users/chet/src/bash/src/parse.y"
+#line 1104 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 144:
-#line 1109 "/Users/chet/src/bash/src/parse.y"
+#line 1112 "/Users/chet/src/bash/src/parse.y"
{ (yyval.number) = '\n'; }
break;
case 145:
-#line 1111 "/Users/chet/src/bash/src/parse.y"
+#line 1114 "/Users/chet/src/bash/src/parse.y"
{ (yyval.number) = ';'; }
break;
case 146:
-#line 1113 "/Users/chet/src/bash/src/parse.y"
+#line 1116 "/Users/chet/src/bash/src/parse.y"
{ (yyval.number) = yacc_EOF; }
break;
case 149:
-#line 1127 "/Users/chet/src/bash/src/parse.y"
+#line 1130 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = (yyvsp[(1) - (1)].command);
if (need_here_doc)
@@ -3206,7 +3191,7 @@ yyreduce:
break;
case 150:
-#line 1140 "/Users/chet/src/bash/src/parse.y"
+#line 1143 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(1) - (2)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (2)].command), (COMMAND *)NULL, '&');
@@ -3225,7 +3210,7 @@ yyreduce:
break;
case 151:
-#line 1156 "/Users/chet/src/bash/src/parse.y"
+#line 1159 "/Users/chet/src/bash/src/parse.y"
{
(yyval.command) = (yyvsp[(1) - (2)].command);
if (need_here_doc)
@@ -3241,17 +3226,17 @@ yyreduce:
break;
case 152:
-#line 1171 "/Users/chet/src/bash/src/parse.y"
+#line 1174 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
break;
case 153:
-#line 1173 "/Users/chet/src/bash/src/parse.y"
+#line 1176 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
break;
case 154:
-#line 1175 "/Users/chet/src/bash/src/parse.y"
+#line 1178 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(1) - (3)].command)->type == cm_connection)
(yyval.command) = connect_async_list ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), '&');
@@ -3261,31 +3246,31 @@ yyreduce:
break;
case 155:
-#line 1182 "/Users/chet/src/bash/src/parse.y"
+#line 1185 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
break;
case 156:
-#line 1185 "/Users/chet/src/bash/src/parse.y"
+#line 1188 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 157:
-#line 1189 "/Users/chet/src/bash/src/parse.y"
+#line 1192 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
case 158:
-#line 1191 "/Users/chet/src/bash/src/parse.y"
+#line 1194 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(2) - (2)].command))
- (yyvsp[(2) - (2)].command)->flags |= CMD_INVERT_RETURN;
+ (yyvsp[(2) - (2)].command)->flags ^= CMD_INVERT_RETURN; /* toggle */
(yyval.command) = (yyvsp[(2) - (2)].command);
}
break;
case 159:
-#line 1197 "/Users/chet/src/bash/src/parse.y"
+#line 1200 "/Users/chet/src/bash/src/parse.y"
{
if ((yyvsp[(2) - (2)].command))
(yyvsp[(2) - (2)].command)->flags |= (yyvsp[(1) - (2)].number);
@@ -3294,50 +3279,53 @@ yyreduce:
break;
case 160:
-#line 1203 "/Users/chet/src/bash/src/parse.y"
+#line 1206 "/Users/chet/src/bash/src/parse.y"
{
- if ((yyvsp[(3) - (3)].command))
- (yyvsp[(3) - (3)].command)->flags |= (yyvsp[(1) - (3)].number)|CMD_INVERT_RETURN;
- (yyval.command) = (yyvsp[(3) - (3)].command);
- }
- break;
+ ELEMENT x;
- case 161:
-#line 1209 "/Users/chet/src/bash/src/parse.y"
- {
- if ((yyvsp[(3) - (3)].command))
- (yyvsp[(3) - (3)].command)->flags |= (yyvsp[(2) - (3)].number)|CMD_INVERT_RETURN;
- (yyval.command) = (yyvsp[(3) - (3)].command);
+ /* 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;
+ (yyval.command) = make_simple_command (x, (COMMAND *)NULL);
+ (yyval.command)->flags |= (yyvsp[(1) - (2)].number);
+ /* XXX - let's cheat and push a newline back */
+ if ((yyvsp[(2) - (2)].number) == '\n')
+ token_to_read = '\n';
}
break;
- case 162:
-#line 1215 "/Users/chet/src/bash/src/parse.y"
+ case 161:
+#line 1223 "/Users/chet/src/bash/src/parse.y"
{
ELEMENT x;
- /* Boy, this is unclean. `time' by itself can
- time a null command. We cheat and push a
+ /* This is just as unclean. Posix says that `!'
+ by itself should be equivalent to `false'.
+ We cheat and push a
newline back if the list_terminator was a newline
to avoid the double-newline problem (one to
terminate this, one to terminate the command) */
x.word = 0;
x.redirect = 0;
(yyval.command) = make_simple_command (x, (COMMAND *)NULL);
- (yyval.command)->flags |= (yyvsp[(1) - (2)].number);
+ (yyval.command)->flags |= CMD_INVERT_RETURN;
/* XXX - let's cheat and push a newline back */
if ((yyvsp[(2) - (2)].number) == '\n')
token_to_read = '\n';
}
break;
- case 163:
-#line 1235 "/Users/chet/src/bash/src/parse.y"
+ case 162:
+#line 1243 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
break;
- case 164:
-#line 1237 "/Users/chet/src/bash/src/parse.y"
+ case 163:
+#line 1245 "/Users/chet/src/bash/src/parse.y"
{
/* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
COMMAND *tc;
@@ -3362,24 +3350,29 @@ yyreduce:
}
break;
- case 165:
-#line 1260 "/Users/chet/src/bash/src/parse.y"
+ case 164:
+#line 1268 "/Users/chet/src/bash/src/parse.y"
{ (yyval.command) = (yyvsp[(1) - (1)].command); }
break;
- case 166:
-#line 1264 "/Users/chet/src/bash/src/parse.y"
+ case 165:
+#line 1272 "/Users/chet/src/bash/src/parse.y"
{ (yyval.number) = CMD_TIME_PIPELINE; }
break;
+ case 166:
+#line 1274 "/Users/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
case 167:
-#line 1266 "/Users/chet/src/bash/src/parse.y"
+#line 1276 "/Users/chet/src/bash/src/parse.y"
{ (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
break;
/* Line 1267 of yacc.c. */
-#line 3383 "y.tab.c"
+#line 3376 "y.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -3593,7 +3586,7 @@ yyreturn:
}
-#line 1268 "/Users/chet/src/bash/src/parse.y"
+#line 1278 "/Users/chet/src/bash/src/parse.y"
/* Initial size to allocate for tokens, and the
@@ -3751,11 +3744,11 @@ yy_readline_get ()
give_terminal_to (shell_pgrp, 0);
#endif /* JOB_CONTROL */
- old_sigint = (SigHandler *)NULL;
+ old_sigint = (SigHandler *)IMPOSSIBLE_TRAP_HANDLER;
if (signal_is_ignored (SIGINT) == 0)
{
- old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
interrupt_immediately++;
+ old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
}
terminate_immediately = 1;
@@ -3763,10 +3756,11 @@ yy_readline_get ()
current_readline_prompt : "");
terminate_immediately = 0;
- if (signal_is_ignored (SIGINT) == 0 && old_sigint)
+ if (signal_is_ignored (SIGINT) == 0)
{
interrupt_immediately--;
- set_signal_handler (SIGINT, old_sigint);
+ if (old_sigint != IMPOSSIBLE_TRAP_HANDLER)
+ set_signal_handler (SIGINT, old_sigint);
}
#if 0
@@ -3965,6 +3959,9 @@ typedef struct stream_saver {
/* The globally known line number. */
int line_number = 0;
+/* The line number offset set by assigning to LINENO. Not currently used. */
+int line_number_base = 0;
+
#if defined (COND_COMMAND)
static int cond_lineno;
static int cond_token;
@@ -4286,6 +4283,7 @@ read_a_line (remove_quoted_newline)
}
else if (c == '\\' && remove_quoted_newline)
{
+ QUIT;
peekc = yy_getc ();
if (peekc == '\n')
{
@@ -4387,6 +4385,7 @@ STRING_INT_ALIST word_token_alist[] = {
/* other tokens that can be returned by read_token() */
STRING_INT_ALIST other_token_alist[] = {
/* Multiple-character tokens with special values */
+ { "--", TIMEIGN },
{ "-p", TIMEOPT },
{ "&&", AND_AND },
{ "||", OR_OR },
@@ -4607,7 +4606,7 @@ shell_getc (remove_quoted_newline)
shell_input_line = expansions;
shell_input_line_len = shell_input_line ?
strlen (shell_input_line) : 0;
- if (!shell_input_line_len)
+ if (shell_input_line_len == 0)
current_command_line_count--;
/* We have to force the xrealloc below because we don't know
@@ -4632,7 +4631,7 @@ shell_getc (remove_quoted_newline)
else
{
char *hdcs;
- hdcs = history_delimiting_chars ();
+ hdcs = history_delimiting_chars (shell_input_line);
if (hdcs && hdcs[0] == ';')
maybe_add_history (shell_input_line);
}
@@ -4672,6 +4671,7 @@ shell_getc (remove_quoted_newline)
}
}
+next_alias_char:
uc = shell_input_line[shell_input_line_index];
if (uc)
@@ -4684,7 +4684,7 @@ shell_getc (remove_quoted_newline)
Do it transparently; just return the next character of the string popped
to. */
pop_alias:
- if (!uc && (pushed_string_list != (STRING_SAVER *)NULL))
+ if (uc == 0 && (pushed_string_list != (STRING_SAVER *)NULL))
{
pop_string ();
uc = shell_input_line[shell_input_line_index];
@@ -4698,21 +4698,28 @@ pop_alias:
if (SHOULD_PROMPT ())
prompt_again ();
line_number++;
- /* XXX - what do we do here if we're expanding an alias whose definition
- ends with a newline? Recall that we inhibit the appending of a
- space in mk_alexpansion() if newline is the last character. */
-#if 0 /* XXX - bash-4.2 (jonathan@claggett.org) */
+ /* What do we do here if we're expanding an alias whose definition
+ includes an escaped newline? If that's the last character in the
+ alias expansion, we just pop the pushed string list (recall that
+ we inhibit the appending of a space in mk_alexpansion() if newline
+ is the last character). If it's not the last character, we need
+ to consume the quoted newline and move to the next character in
+ the expansion. */
if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
{
uc = 0;
goto pop_alias;
}
-#endif
-
- goto restart_read;
+ else if (expanding_alias () && shell_input_line[shell_input_line_index+1] != '\0')
+ {
+ shell_input_line_index++; /* skip newline */
+ goto next_alias_char; /* and get next character */
+ }
+ else
+ goto restart_read;
}
- if (!uc && shell_input_line_terminator == EOF)
+ if (uc == 0 && shell_input_line_terminator == EOF)
return ((shell_input_line_index != 0) ? '\n' : EOF);
return (uc);
@@ -4919,11 +4926,9 @@ mk_alexpansion (s)
l = strlen (s);
r = xmalloc (l + 2);
strcpy (r, s);
-#if 0 /* XXX - bash-4.2 */
- if (r[l -1] != ' ' && r[l -1] != '\n')
-#else
- if (r[l -1] != ' ')
-#endif
+ /* If the last character in the alias is a newline, don't add a trailing
+ space to the expansion. Works with shell_getc above. */
+ if (r[l - 1] != ' ' && r[l - 1] != '\n')
r[l++] = ' ';
r[l] = '\0';
return r;
@@ -4968,6 +4973,20 @@ static int
time_command_acceptable ()
{
#if defined (COMMAND_TIMING)
+ int i;
+
+ if (posixly_correct && shell_compatibility_level > 41)
+ {
+ /* Quick check of the rest of the line to find the next token. If it
+ begins with a `-', Posix says to not return `time' as the token.
+ This was interp 267. */
+ i = shell_input_line_index;
+ while (i < shell_input_line_len && (shell_input_line[i] == ' ' || shell_input_line[i] == '\t'))
+ i++;
+ if (shell_input_line[i] == '-')
+ return 0;
+ }
+
switch (last_read_token)
{
case 0:
@@ -4981,6 +5000,10 @@ time_command_acceptable ()
case ELSE:
case '{': /* } */
case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+ case TIMEOPT: /* time -p time pipeline */
+ case TIMEIGN: /* time -p -- ... */
return 1;
default:
return 0;
@@ -5007,6 +5030,7 @@ time_command_acceptable ()
`}' is recognized if there is an unclosed `{' present.
`-p' is returned as TIMEOPT if the last read token was TIME.
+ `--' is returned as TIMEIGN if the last read token was TIMEOPT.
']]' is returned as COND_END if the parser is currently parsing
a conditional expression ((parser_state & PST_CONDEXPR) != 0)
@@ -5092,13 +5116,9 @@ special_case_tokens (tokstr)
/* 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 */
+ /* Handle -- after `time -p'. */
+ if (last_read_token == TIMEOPT && tokstr[0] == '-' && tokstr[1] == '-' && !tokstr[2])
+ return (TIMEIGN);
#endif
#if defined (COND_COMMAND) /* [[ */
@@ -5383,12 +5403,13 @@ tokword:
* 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 */
+#define P_FIRSTCLOSE 0x0001
+#define P_ALLOWESC 0x0002
+#define P_DQUOTE 0x0004
+#define P_COMMAND 0x0008 /* parsing a command, so look for comments */
+#define P_BACKQUOTE 0x0010 /* parsing a backquoted command substitution */
+#define P_ARRAYSUB 0x0020 /* parsing a [...] array subscript for assignment */
+#define P_DOLBRACE 0x0040 /* parsing a ${...} construct */
/* Lexical state while parsing a grouping construct or $(...). */
#define LEX_WASDOL 0x001
@@ -5436,6 +5457,9 @@ parse_matched_pair (qc, open, close, lenp, flags)
int nestlen, ttranslen, start_lineno;
char *ret, *nestret, *ttrans;
int retind, retsize, rflags;
+ int dolbrace_state;
+
+ dolbrace_state = (flags & P_DOLBRACE) ? DOLBRACE_PARAM : 0;
/*itrace("parse_matched_pair[%d]: open = %c close = %c flags = %d", line_number, open, close, flags);*/
count = 1;
@@ -5453,7 +5477,7 @@ parse_matched_pair (qc, open, close, lenp, flags)
start_lineno = line_number;
while (count)
{
- ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+ ch = shell_getc (qc != '\'' && (tflags & (LEX_PASSNEXT)) == 0);
if (ch == EOF)
{
@@ -5546,14 +5570,42 @@ parse_matched_pair (qc, open, close, lenp, flags)
if MBTEST(ch == '\\') /* backslashes */
tflags |= LEX_PASSNEXT;
-#if 0
+ /* Based on which dolstate is currently in (param, op, or word),
+ decide what the op is. We're really only concerned if it's % or
+ #, so we can turn on a flag that says whether or not we should
+ treat single quotes as special when inside a double-quoted
+ ${...}. This logic must agree with subst.c:extract_dollar_brace_string
+ since they share the same defines. */
+ if (flags & P_DOLBRACE)
+ {
+ /* ${param%[%]word} */
+ if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '%' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param#[#]word} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '#' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param/[/]pat/rep} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '/' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param^[^]pat} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == '^' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ /* ${param,[,]pat} */
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && ch == ',' && retind > 1)
+ dolbrace_state = DOLBRACE_QUOTE;
+ else if MBTEST(dolbrace_state == DOLBRACE_PARAM && strchr ("#%^,~:-=?+/", ch) != 0)
+ dolbrace_state = DOLBRACE_OP;
+ else if MBTEST(dolbrace_state == DOLBRACE_OP && strchr ("#%^,~:-=?+/", ch) == 0)
+ dolbrace_state = DOLBRACE_WORD;
+ }
+
/* The big hammer. Single quotes aren't special in double quotes. The
- problem is that Posix says the single quotes are semi-special:
+ problem is that Posix used to say the single quotes are semi-special:
within a double-quoted ${...} construct "an even number of
unescaped double-quotes or single-quotes, if any, shall occur." */
- if MBTEST(open == '{' && (flags & P_DQUOTE) && ch == '\'') /* } */
+ /* This was changed in Austin Group Interp 221 */
+ if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
continue;
-#endif
/* Could also check open == '`' if we want to parse grouping constructs
inside old-style command substitution. */
@@ -5628,7 +5680,7 @@ parse_dollar_word:
if (ch == '(') /* ) */
nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
else if (ch == '[') /* ] */
nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
@@ -5663,6 +5715,13 @@ parse_comsub (qc, open, close, lenp, flags)
char *ret, *nestret, *ttrans, *heredelim;
int retind, retsize, rflags, hdlen;
+ /* Posix interp 217 says arithmetic expressions have precedence, so
+ assume $(( introduces arithmetic expansion and parse accordingly. */
+ peekc = shell_getc (0);
+ shell_ungetc (peekc);
+ if (peekc == '(')
+ return (parse_matched_pair (qc, open, close, lenp, 0));
+
/*itrace("parse_comsub: qc = `%c' open = %c close = %c", qc, open, close);*/
count = 1;
tflags = LEX_RESWDOK;
@@ -5687,7 +5746,7 @@ parse_comsub (qc, open, close, lenp, flags)
while (count)
{
comsub_readchar:
- ch = shell_getc (qc != '\'' && (tflags & LEX_PASSNEXT) == 0);
+ ch = shell_getc (qc != '\'' && (tflags & (LEX_INCOMMENT|LEX_PASSNEXT)) == 0);
if (ch == EOF)
{
@@ -5811,7 +5870,7 @@ eof_error:
}
/* Skip whitespace */
- if MBTEST(shellblank (ch) && lex_rwlen == 0)
+ if MBTEST(shellblank (ch) && (tflags & LEX_HEREDELIM) == 0 && lex_rwlen == 0)
{
/* Add this character. */
RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
@@ -6063,7 +6122,7 @@ eof_error:
if (ch == '(') /* ) */
nestret = parse_comsub (0, '(', ')', &nestlen, (rflags|P_COMMAND) & ~P_DQUOTE);
else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
+ nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|P_DOLBRACE|rflags);
else if (ch == '[') /* ] */
nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
@@ -6086,8 +6145,7 @@ eof_error:
return ret;
}
-/* XXX - this needs to handle functionality like subst.c:no_longjmp_on_fatal_error;
- maybe extract_command_subst should handle it. */
+/* Recursively call the parser to parse a $(...) command substitution. */
char *
xparse_dolparen (base, string, indp, flags)
char *base;
@@ -6711,7 +6769,7 @@ read_token_word (character)
((peek_char == '{' || peek_char == '[') && character == '$')) /* ) ] } */
{
if (peek_char == '{') /* } */
- ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE);
+ ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE|P_DOLBRACE);
else if (peek_char == '(') /* ) */
{
/* XXX - push and pop the `(' as a delimiter for use by
@@ -7046,6 +7104,7 @@ reserved_word_acceptable (toksym)
case THEN:
case TIME:
case TIMEOPT:
+ case TIMEIGN:
case COPROC:
case UNTIL:
case WHILE:
@@ -7056,6 +7115,8 @@ reserved_word_acceptable (toksym)
if (last_read_token == WORD && token_before_that == COPROC)
return 1;
#endif
+ if (last_read_token == WORD && token_before_that == FUNCTION)
+ return 1;
return 0;
}
}
@@ -7116,20 +7177,35 @@ static const int no_semi_successors[] = {
/* 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. */
+ history entry. LINE is the line we're about to add; it helps
+ make some more intelligent decisions in certain cases. */
char *
-history_delimiting_chars ()
+history_delimiting_chars (line)
+ const char *line;
{
+ static int last_was_heredoc = 0; /* was the last entry the start of a here document? */
register int i;
+ if ((parser_state & PST_HEREDOC) == 0)
+ last_was_heredoc = 0;
+
if (dstack.delimiter_depth != 0)
return ("\n");
/* We look for current_command_line_count == 2 because we are looking to
add the first line of the body of the here document (the second line
- of the command). */
+ of the command). We also keep LAST_WAS_HEREDOC as a private sentinel
+ variable to note when we think we added the first line of a here doc
+ (the one with a "<<" somewhere in it) */
if (parser_state & PST_HEREDOC)
- return (current_command_line_count == 2 ? "\n" : "");
+ {
+ if (last_was_heredoc)
+ {
+ last_was_heredoc = 0;
+ return "\n";
+ }
+ return (current_command_line_count == 2 ? "\n" : "");
+ }
/* First, handle some special cases. */
/*(*/
@@ -7152,6 +7228,15 @@ history_delimiting_chars ()
else if (token_before_that == WORD && two_tokens_ago == FUNCTION)
return " "; /* function def using `function name' without `()' */
+ /* If we're not in a here document, but we think we're about to parse one,
+ and we would otherwise return a `;', return a newline to delimit the
+ line with the here-doc delimiter */
+ else if ((parser_state & PST_HEREDOC) == 0 && current_command_line_count > 1 && last_read_token == '\n' && strstr (line, "<<"))
+ {
+ last_was_heredoc = 1;
+ return "\n";
+ }
+
else if (token_before_that == WORD && two_tokens_ago == FOR)
{
/* Tricky. `for i\nin ...' should not have a semicolon, but
@@ -7481,7 +7566,7 @@ decode_prompt_string (string)
{
t = strrchr (t_string, '/');
if (t)
- strcpy (t_string, t + 1);
+ memmove (t_string, t + 1, strlen (t)); /* strlen(t) to copy NULL */
}
}
#undef ROOT_PATH
@@ -7768,7 +7853,7 @@ static void
report_syntax_error (message)
char *message;
{
- char *msg;
+ char *msg, *p;
if (message)
{
@@ -7784,6 +7869,12 @@ report_syntax_error (message)
parser's complaining about by looking at current_token. */
if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token)))
{
+ if (ansic_shouldquote (msg))
+ {
+ p = ansic_quote (msg, 0, NULL);
+ free (msg);
+ msg = p;
+ }
parser_error (line_number, _("syntax error near unexpected token `%s'"), msg);
free (msg);
@@ -8093,10 +8184,6 @@ 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)
@@ -8108,6 +8195,8 @@ save_parser_state (ps)
ps->input_line_terminator = shell_input_line_terminator;
ps->eof_encountered = eof_encountered;
+ ps->prompt_string_pointer = prompt_string_pointer;
+
ps->current_command_line_count = current_command_line_count;
#if defined (HISTORY)
@@ -8119,11 +8208,7 @@ save_parser_state (ps)
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;
+ ps->pipestatus = save_pipestatus_array ();
#endif
ps->last_shell_builtin = last_shell_builtin;
@@ -8139,10 +8224,6 @@ void
restore_parser_state (ps)
sh_parser_state_t *ps;
{
-#if defined (ARRAY_VARS)
- SHELL_VAR *v;
-#endif
-
if (ps == 0)
return;
@@ -8156,6 +8237,8 @@ restore_parser_state (ps)
shell_input_line_terminator = ps->input_line_terminator;
eof_encountered = ps->eof_encountered;
+ prompt_string_pointer = ps->prompt_string_pointer;
+
current_command_line_count = ps->current_command_line_count;
#if defined (HISTORY)
@@ -8167,12 +8250,7 @@ restore_parser_state (ps)
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);
- }
+ restore_pipestatus_array (ps->pipestatus);
#endif
last_shell_builtin = ps->last_shell_builtin;
diff --git a/y.tab.h b/y.tab.h
index 13e8550..0de3853 100644
--- a/y.tab.h
+++ b/y.tab.h
@@ -61,30 +61,31 @@
BANG = 277,
TIME = 278,
TIMEOPT = 279,
- WORD = 280,
- ASSIGNMENT_WORD = 281,
- REDIR_WORD = 282,
- NUMBER = 283,
- ARITH_CMD = 284,
- ARITH_FOR_EXPRS = 285,
- COND_CMD = 286,
- AND_AND = 287,
- OR_OR = 288,
- GREATER_GREATER = 289,
- LESS_LESS = 290,
- LESS_AND = 291,
- LESS_LESS_LESS = 292,
- GREATER_AND = 293,
- SEMI_SEMI = 294,
- SEMI_AND = 295,
- SEMI_SEMI_AND = 296,
- LESS_LESS_MINUS = 297,
- AND_GREATER = 298,
- AND_GREATER_GREATER = 299,
- LESS_GREATER = 300,
- GREATER_BAR = 301,
- BAR_AND = 302,
- yacc_EOF = 303
+ TIMEIGN = 280,
+ WORD = 281,
+ ASSIGNMENT_WORD = 282,
+ REDIR_WORD = 283,
+ NUMBER = 284,
+ ARITH_CMD = 285,
+ ARITH_FOR_EXPRS = 286,
+ COND_CMD = 287,
+ AND_AND = 288,
+ OR_OR = 289,
+ GREATER_GREATER = 290,
+ LESS_LESS = 291,
+ LESS_AND = 292,
+ LESS_LESS_LESS = 293,
+ GREATER_AND = 294,
+ SEMI_SEMI = 295,
+ SEMI_AND = 296,
+ SEMI_SEMI_AND = 297,
+ LESS_LESS_MINUS = 298,
+ AND_GREATER = 299,
+ AND_GREATER_GREATER = 300,
+ LESS_GREATER = 301,
+ GREATER_BAR = 302,
+ BAR_AND = 303,
+ yacc_EOF = 304
};
#endif
/* Tokens. */
@@ -110,37 +111,38 @@
#define BANG 277
#define TIME 278
#define TIMEOPT 279
-#define WORD 280
-#define ASSIGNMENT_WORD 281
-#define REDIR_WORD 282
-#define NUMBER 283
-#define ARITH_CMD 284
-#define ARITH_FOR_EXPRS 285
-#define COND_CMD 286
-#define AND_AND 287
-#define OR_OR 288
-#define GREATER_GREATER 289
-#define LESS_LESS 290
-#define LESS_AND 291
-#define LESS_LESS_LESS 292
-#define GREATER_AND 293
-#define SEMI_SEMI 294
-#define SEMI_AND 295
-#define SEMI_SEMI_AND 296
-#define LESS_LESS_MINUS 297
-#define AND_GREATER 298
-#define AND_GREATER_GREATER 299
-#define LESS_GREATER 300
-#define GREATER_BAR 301
-#define BAR_AND 302
-#define yacc_EOF 303
+#define TIMEIGN 280
+#define WORD 281
+#define ASSIGNMENT_WORD 282
+#define REDIR_WORD 283
+#define NUMBER 284
+#define ARITH_CMD 285
+#define ARITH_FOR_EXPRS 286
+#define COND_CMD 287
+#define AND_AND 288
+#define OR_OR 289
+#define GREATER_GREATER 290
+#define LESS_LESS 291
+#define LESS_AND 292
+#define LESS_LESS_LESS 293
+#define GREATER_AND 294
+#define SEMI_SEMI 295
+#define SEMI_AND 296
+#define SEMI_SEMI_AND 297
+#define LESS_LESS_MINUS 298
+#define AND_GREATER 299
+#define AND_GREATER_GREATER 300
+#define LESS_GREATER 301
+#define GREATER_BAR 302
+#define BAR_AND 303
+#define yacc_EOF 304
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 320 "/Users/chet/src/bash/src/parse.y"
+#line 323 "/Users/chet/src/bash/src/parse.y"
{
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -151,7 +153,7 @@ typedef union YYSTYPE
PATTERN_LIST *pattern;
}
/* Line 1489 of yacc.c. */
-#line 155 "y.tab.h"
+#line 157 "y.tab.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1